WasteX EDI protocol v1.08

Annex to the Description

BMK_Logo_srgb_EN

Federal Ministry for Climate Action, Environment, Energy, Mobility, Innovation and Technology (BMK)

Stubenbastei 5, 1010 Vienna, Austria

edm-logo


Contents

Introduction

Specification description

Files and folders of the specification package

Files and folders

Description

Codelists

Introduction on the static and dynamic usage of codelists

Codelists which the specification uses statically

Codelists which the specification uses dynamically

Web service operations (from wastex_webservice.wsdl)

Inputs and Outputs of the web service operations (from wastex_webservice_types.xsd)

Message formats (from wastex_message.xsd)

Formal validation rules (from wastex_formalvalidationrules.sch)

References

Specification history of changes

History of changes

Detailed changes (diff) compared to version 1.07

Introduction

Disclaimer

	WasteX v1.08 - simple EDI for waste shipments

	Copyright (C) 2023 Environment Agency Austria
	Commissioned by the Austrian Federal Ministry of Environment (BMK)

	Contact: edm-helpdesk@umweltbundesamt.at

	Licensed under the EUPL, Version 1.2 or – as soon they will be approved
	by the European Commission – subsequent versions of the EUPL (the "Licence");

	You may not use this work except in compliance with the Licence.

	You may obtain a copy of the Licence at: http://joinup.ec.europa.eu/software/page/eupl

	Unless required by applicable law or agreed to in writing, work distributed under the licence is distributed
	on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

	See the Licence for the specific language governing permissions and limitations under the Licence.

Specification description

In this version of the specification package, the WasteX description consists of these two parts:

  1. Main description document in PDF format
  2. This annex in [HTML] format

The main description in PDF format provides background information and explanations on numerous details, such as authentication and handling of outages.

This annex to the description contains detailed definitions of the web service operations and the [XML] formats. The specification authors have generated the majority of contents in this annex in an automated way, including from the annotated [WSDL] and [XSD] files contained in the specification package. Annotated [WSDL] and [XSD] files contain textual descriptions of the web service operations and data elements.

Files and folders of the specification package

Files and folders

NameSizeModified
xml_example_msg
xml_example_service_input_output
z_descr_img
z_val_a_xml_example_msg_base
z_val_b_xml_example_msg_ruletest
z_val_c_results
svrl.xsd6 KB
wastex_doc.pdf685 KB
wastex_doc_annex.html637 KB
wastex_formalvalidationrules.sch102 KB
wastex_formalvalidationrules.xsl215 KB
wastex_message.xsd26 KB
wastex_message_annot.xsd187 KB
wastex_webservice.wsdl4 KB
wastex_webservice_annot.wsdl11 KB
wastex_webservice_types.xsd6 KB
wastex_webservice_types_annot.xsd22 KB

Description

xml_example_msg/

Contains exactly one sample message for each of the types of messages defined in the specification package.

The sample messages follows these criteria:

    1. The sample messages contain data which, on the one hand, is fictitious (invented, arbitrarily determined) but, on the other hand, has similarities with data actually occurring in practice.
    2. The examples use a large number of [XML] data elements to illustrate their use

xml_example_service_input_output/

Contains exactly one sample input and sample output for each operation of the packaging 3.0 web service. Also contains an example [SOAP] fault.

z_descr_img/

For the folders whose names begin with "z_", it is usually not useful to look through them individually. Rather, the description links to contents of these folders.

The folder z_descr_img contains the image files used in this [HTML] description.

z_val_a_xml_example_msg_base/; z_val_b_xml_example_msg_ruletest/; z_val_c_results/

The files in these folders relate to the formal validation rules. The specification package contains a specification of formal validation rules in Schematron file wastex_formalvalidationrules.sch. Section Formal validation rules (from wastex_formalvalidationrules.sch) describes the formal validation rules via example rule violations and contains links to the contents of these folders.

The folder z_val_a_xml_example_msg_base/ contains sample input for the formal validations. These are the sample messages from the folder xml_example_msg/, enriched with so-called ValidationContext. Software receiving a message reads data related to the message at its receiving end of the transmission, e.g. company master data, reference data, or data from previously transmitted messages. The software passes this data as ValidationContext to the formal validation. For the files contained in the folder z_val_a_xml_example_msg_base/, both message contents and ValidationContext contain fictitious data. The folder z_val_a_xml_example_msg_base/ contains sample input that satisfies all formal validation rules and thus does not trigger any validation report entries.

The folder z_val_a_xml_example_msg_ruletest/ also contains sample input for the formal validation rules. The specification authors have designed these sample files as modifications of the sample files from z_val_a_xml_example_msg_base/ to specifically trigger or not trigger certain formal validation rules.

The folder z_val_c_results/ contains the results of applying the formal validation rules defined in the Schematron file wastex_formalvalidationrules.sch to the [XML] sample files from the two folders z_val_a_xml_example_msg_base/ and z_val_a_xml_example_msg_ruletest/. The results are available in the Schematron Validation Report Language (SVRL) [XML] data format, as well as in a [HTML] representation. In section Formal validation rules (from wastex_formalvalidationrules.sch), this description provides an overview of the formal validation rules specified in Schematron file wastex_formalvalidationrules.sch by means of a compilation of validation results from z_val_c_results/.

svrl.xsd

Defines the Schematron Validation Report Language (SVRL) data format for formal validation reports in the formal language [XSD].

wastex_message.xsd and wastex_message_annot.xsdusesvrl.xsd, so they have a dependency on svrl.xsd. When copying the files wastex_message.xsd or wastex_message_annot.xsd, it is therefore necessary in most cases to also copy the file svrl.xsd into the target directory.

wastex_doc.pdf

The instructions for the correct application of the WasteX specification.

wastex_doc_annex.html

Annex to the interface description. Describes web service operations, inputs and outputs, message formats and formal validation rules in detail. The specification authors have created many of the contents of this description annex in an automated way, such as from the annotated WSDL and XSD files contained in the specification.

wastex_formalvalidationrules.sch

"Source code" of the formal validations rules defined for the WasteX EDI protocol in the formal language [Schematron].

The specification authors use [SchXslt] to create the wastex_formalvalidationrules.xsl file from this source text.

By providing this "source code", the formal validation rules that the WasteX web service applies to business-to-authority-transmissions are open and transparent. For example, IT staff working on a WasteX web service connection can search the Schematron source code of the formal validation rules for errors.

wastex_formalvalidationrules.xsl

XSLT instance with which a WasteX web service applies formal validation to received messages. For this purpose, the WasteX web service first enriches a received message with a ValidationContext - this is data read out on the web service (recipient) side - and applies the transformation wastex_formalvalidationrules.xsl to this "enriched message". This transformation provides the formal validation protocol in SVRL (Schematron Validation Report Languagee) format, which the WasteX web service delivers to the web service clients as part of signal messages.

The specification authors have generated wastex_formalvalidationrules.xsl automatically from the "Schematron source code" wastex_formalvalidationrules.sch via [SchXslt].

The WasteX web service applies the Schematron based formal validation to received messages only in the case that the received message and the web service operation input comply with the [XML] formats (XML Schema Definitions) defined in this specification - see wastex_message.xsd and wastex_webservice_types.xsd.

wastex_message.xsd; wastex_message_annot.xsd

Defines, via formal language [XSD], the [XML] message formats used in the WasteX EDI protocol. When receiving messages, a WasteX web service checks these messages - as part of the validation of operation inputs - for validity with respect to the message format defined by wastex_message.xsd. Such validity is a technical prerequisite for a WasteX web service to be able to process transmitted messages.

Conversely, software connected to a WasteX web service can rely on the validity of messages delivered by the web service in operation outputs with respect to the XML message formats defined via wastex_message.xsd, and can conduct XML Schema validation for ascertaining this validity.

wastex_message.xsd differs from wastex_message_annot.xsd only by omitting the annotations (description texts). The two files are therefore equivalent in content, i.e., they define the same set of valid XML data instances. The specification authors have generated the Message formats (from wastex_message.xsd) section of this description in an automated way from the file wastex_message_annot.xsd.

wastex_webservice_types.xsd; wastex_webservice_types_annot.xsd

Defines, via formal language [XSD], the [XML] formats for inputs and outputs of WasteX web service operations. Has a direct dependency on wastex_message.xsd, and thus also an indirect dependency on svrl.xsd.

The validity of operation inputs with respect to the XML formats defined in wastex_webservice_types.xsd is a technical prerequisite for a WasteX web service to successfully process a web service interaction.

Conversely, software connected to a WasteX web service can rely on the validity of web service operation outputs with respect to the XML formats defined in wastex_webservice_types.xsd, and can conduct XML Schema validation for ascertaining this validity.

wastex_webservice.wsdl; wastex_webservice_types_annot.xsd

Describes the operations of a WasteX web service and its inputs and outputs in the formal language [WSDL]. Uses wastex_webservice_types.xsd directly, and thus wastex_message.xsd and svrl.xsd indirectly.

Software developers may for example use the WSDL instance with [SOAP] tools such as SoapUI to automatically generate web service interactions for all WasteX web service operations.

Codelists

Introduction on the static and dynamic usage of codelists

Static usage

The following characterises the static use of codelists by this specification:

Dynamic usage

The following characterises the dynamic use of codelists by this specification:

Example

The WasteX specification uses ↗codelist 3862, the list of countries, dynamically. This is because new countries can come into existence, and existing countries can vanish (such as when two countries unite into one new country) independent of any changes to the Waste Shipment Regulation or other waste shipment specific provisions. Hence software with waste shipment data exchange capabilities must be quickly and efficiently adaptable to new sets of countries.

Codelists which the specification uses statically

Codelists which the specification uses dynamically

Web service operations (from wastex_webservice.wsdl)

Introduction

Description of the web service operations defined by ↗wastex_webservice.wsdl. wastex_webservice.wsdl describes the web service operations with the standardised formal language ↗Web Services Description Language (WSDL) 2.0.

This description is auto-generated from ↗wastex_webservice_annot.wsdl. As an alternative to using this description it is therefore possible to use the annotated WSDL file directly, such as with a text editor.

Contents

Operations

ShareMessage

InitSync

QueryUpdate

Operations

ShareMessage

The ShareMessage operation serves the following purposes:

Note 1: Web service clients may implement a unidirectional connection with edm.gv.at. Such clients do not share signal messages with edm.gv.at.

Note 2: The ShareMessage operation exhibits an ASYNCHRONOUS behaviour upon transmitting a USER MESSAGE. It exhibits a synchronous behaviour upon transmitting a signal message. When receiving a USER MESSAGE, the edm.gv.at WasteX web service reacts by sharing a signal message with the client. It is however not the ShareMessage output which contains the Signal Message. Instead, the web service client needs to poll the edm.gv.at WasteX web service for getting access to the Signal Message. The web service client polls using the QueryUpdate operation.

Example: It may take the edm.gv.at WasteX web service 7 minutes to create and disseminate a signal message in response to a received user message. If the web service client polls every 5 minutes, then it is only the second or third polling instance after disseminating the user message by which the web service client receives the corresponding signal message.

Note 3: The use of the ShareMessage operation for the transmission of corrections or additions is NOT different from the use for the initial transmission to the competent authority. The web service automatically interprets transmitted content as correction or addition, for example if all of message type, notification number and serial number correspond to those of an already submitted movement announcement.

Note 4: The use of the ShareMessage operation for the transmission of corrections or additions also does NOT differ from the use for the initial transmission in the sense that the operation expects COMPLETE messages. In the case of corrections and additions, web service clients must transmit complete messages contents, potentially including contents that have not changed since the previous transmission.

Port Type

WasteMovementServicePortType

Input

🠖wxt:ShareMessageRequest

The input of the ShareMessage operation essentially consists of the User Message (UserMessage element) with the contents to transmit to the authority or the signal message (SignalMessage element) to share with edm.gv.at.

Output

🠖wxt:ShareMessageResponse

The output of the ShareMessage operation is essentially empty. Upon sharing a user message, web service clients access the edm.gv.at WasteX web service's reaction by polling, using the QueryUpdate operation.

Note: Even with regular processing of a ShareMessage user message sharing call, i.e., if the web service does NOT react with a SOAP fault but with ShareMessageResponse, it is possible that the transmission to the authority was NOT successful. An example for this is the case when the formal validation of the transmitted data leads to an automatic rejection. The SignalID value from the Signal Message indicates whether or not the transmission to the authority was successful (ACCEPTED for successful, REJECTED for unsuccessful).

Fault

If an error occurs during the processing of the ShareMessage call, the web service responds with a SOAP 1.2 Fault. The web service may use one or more of the following fault elements defined in SOAP 1.2 to describe the error in more detail:

  • Code/Value
  • Code/Subcode/Value
  • Reason/Text

InitSync

The InitSync operation translates a timestamp into an ID that the web service client can use as input to the first QueryUpdate call in a sequence of QueryUpdate calls.

Note: The InitSync operation is for the use on rare occasions, such as the initalisation or re-initialisation of polling. Once the web service client has initialised polling, it uses the QueryUpdate operation only, such as in 5 or 10 minute intervals. There the web service client uses the ID found in the output of one QueryUpdate call as input to the next QueryUpdate call.

Port Type

WasteMovementServicePortType

Input

🠖wxt:InitSyncRequest

The input of the InitSync operation essentially consists of a timestamp. With this timestamp the web service client indicates its interest in polling all updates "newer" than the timestamp.

Output

🠖wxt:InitSyncResponse

The output of the InitSync operation essentially consists of an update UUID that best matches the timestamp criterion from the InitSync input. The web service client typically uses this update UUID in the first of a sequence of QueryUpdate polling calls.

Fault

If an error occurs during the processing of the InitSync call, the web service responds with a SOAP 1.2 Fault. The web service may use one or more of the following fault elements defined in SOAP 1.2 to describe the error in more detail:

  • Code/Value
  • Code/Subcode/Value
  • Reason/Text

QueryUpdate

Synchronise a client with updates available at the web service, i.e., poll for updates.

Note 1: The edm.gv.at WasteX web service handles access rights: Web service clients only get to know about selected updates, those which they are allowed to access. The web service determines access rights based on the following:

Note 2: See the web service description for permitted polling frequencies.

Port Type

WasteMovementServicePortType

Input

🠖wxt:QueryUpdateRequest

The input of the QueryUpdate operation essentially consists of the UUID of the latest update already known to the web service client.

Note: The web service client takes this UUID from the output of the most recent preceding QueryUpdate call(s), except upon (re-)initialising synchronisation, when it takes this UUID from the output of an InitSync call.

Output

🠖wxt:QueryUpdateResponse

The output of the QueryUpdate operation essentially consists of an ordered list of updates, in ascending order by occurrence timestamp. Each update is either a User Message or a Signal Message.

Note 1: If there are no updates available for the web service client at the edm.gv.at WasteX web service, then the QueryUpdate output contains 0 updates, i.e., no Update element.

Note 2: If there are updates available, then the web service client uses the update UUID from the last (most recent) Update element contained in the QueryUpdate output as input to the subsequent QueryUpdate call.

Fault

If an error occurs during the processing of the QueryUpdate call, the web service responds with a SOAP 1.2 Fault. The web service may use one or more of the following fault elements defined in SOAP 1.2 to describe the error in more detail:

  • Code/Value
  • Code/Subcode/Value
  • Reason/Text

Inputs and Outputs of the web service operations (from wastex_webservice_types.xsd)

Introduction

Description of the data formats defined by the XML Schema Definition wastex_webservice_types.xsd. The description covers:

  1. Syntax: Data element names, structures, substructures and data types with value ranges (sets of supported values)
  2. Semantics: Definition of each data element content's meaning and interpretation

This description is auto-generated from wastex_webservice_types_annot.xsd. As an alternative to using this description it is therefore possible to use the annotated XSD file directly, e.g. with an XML Schema tool or a text editor.

Contents

Structures

ShareMessageRequestType

ShareMessageResponseType

InitSyncRequestType

InitSyncResponseType

QueryUpdateRequestType

QueryUpdateResponseType

FailureResponseType

Substructures

SignalMessageType

UpdateEventType

UserMessageType

Data types

FailureTypeIdentifierContentType

IndicatorContentType

PredeterminedScopeReferenceIdentifierType

Token64Type

UUIDIdentifierContentType

VersionIdentifierType

Structures

ShareMessageRequestType

ShareMessageRequestType Schema diagram

Input to the ShareMessage operation.

Name/Typemin..maxDefinition

ClientInterfaceVersionID

wxt:VersionIdentifierType

1..1

AUTO

Constant passed by the client to the web service, indicating the version of the web service specification implemented at client side.

ClientVersionID

wxt:PredeterminedScopeReferenceIdentifierType

1..1

AUTO

Version of the client software conducting the web service operation call.

Note: This is solely for debugging purposes in cases of impaired operation.

TransactionUUID

wxt:UUIDIdentifierContentType

1..1

AUTO

A Version 4 (random) Universally Unique Identifier (UUID) in canonical representation generated by the web service client specifically for this web service operation call.

Note 1: This serves as a reference, such as in signalling the reception status (backward sharing).

Note 2: A new UUID is needed for each new operation call. This includes cases in which the call is effectively used for updating previously transmitted information, or for re-attempting a previously failed operation call.

Note 3: If the client provides a UUID that has already been used before the operation call will typically fail (SOAP fault).

The set of supported values: Character strings that are a canonical representation of a version 4 (random) Universally Unique Identifier (UUID). Note that each such character string consists of exactly 36 characters. Any character string of a length other than 36 is hence not one of the supported values.

Example value: 113f2554-3048-4306-9eb6-baa6d234f88f

UserMessage

wxt:UserMessageType

0..1

The message to be shared.

Note 1: A user message is a message containing waste shipment related information shared by one party at one point in time, such as movement announcement or confirmation of waste receipt.

Note 2: The purpose of sharing the respective message can be one of the following:

1. Initial sharing of information, i.e., sharing of information that has not yet been shared previously.

2. Update of information

Example: In this example a movement announcement for a particular combination of notification number and sequential number is shared two times:

1. The first time, in this example 8 days prior to the planned shipment start date, for actually announcing the shipment to competent authorities and the consignee.

2. Later on a second time, in this example 4 days prior to the planned shipment start date, in order to add or correct information compared to the initially transmitted announcement.

SignalMessage

wxt:SignalMessageType

0..1

The message to be shared.

Note: A signal message is an EDI node's automatically generated reaction to receiving a user message. It could for example be an acknowledgement of receiving the message.

ShareMessageRequestType usage occurrences: 🠖ShareMessage

ShareMessageResponseType

ShareMessageResponseType Schema diagram

Output of the ShareMessage operation.

Note: The ShareMessage operation works asnychronously. As a result, clients do not receive status information on a ShareMessage call in the response to that call. Instead, the client gets status information either as response to the QueryUpdate (polling) operation, or as SOAP fault information.

Name/Typemin..maxDefinition

ServiceInterfaceVersionID

wxt:VersionIdentifierType

1..1

Constant passed by the web service to the client, indicating the version of the web service specification implemented at web service side.

ServiceVersionID

wxt:PredeterminedScopeReferenceIdentifierType

1..1

Version of the web service instance software.

Note: This is solely for debugging purposes in cases of impaired operation.

ShareMessageResponseType usage occurrences: 🠖ShareMessage

InitSyncRequestType

InitSyncRequestType Schema diagram

Input to the InitSync operation.

Name/Typemin..maxDefinition

ClientInterfaceVersionID

wxt:VersionIdentifierType

1..1

Constant passed by the client to the web service, indicating the version of the web service specification implemented at client side.

ClientVersionID

wxt:PredeterminedScopeReferenceIdentifierType

1..1

Version of the client software conducting the web service operation call.

Note: This is solely for debugging purposes in cases of impaired operation.

StartFromUTCTimestamp

🠖wxm:TimestampContentType

1..1

A UTC timestamp indicating the reference point in time for updates to query from the web service, for querying updates "newer" than indicated by the timestamp.

Note: EDI web service nodes following this specification are NOT required to keep updates for more than 7 weeks. Older updates may not be available anymore. Setting the timestamp further in the past may not yield additional updates.

InitSyncRequestType usage occurrences: 🠖InitSync

InitSyncResponseType

InitSyncResponseType Schema diagram

Output of the InitSync operation.

Name/Typemin..maxDefinition

ServiceInterfaceVersionID

wxt:VersionIdentifierType

1..1

Constant passed by the web service to the client, indicating the version of the web service specification implemented at web service side.

ServiceVersionID

wxt:PredeterminedScopeReferenceIdentifierType

1..1

Version of the web service instance software.

Note: This is solely for debugging purposes in cases of impaired operation.

UpdateUUID

🠖wxm:UUIDIdentifierContent

1..1

A Version 4 (random) Universally Unique Identifier (UUID) used by the web service for the appropriate update given the UTC timestamp in the InitSync input. This UUID is meant to be used as initial input in a new sequence of QueryUpdate calls.

Example value: da626250-f25c-44eb-9928-c48ff7608450

InitSyncResponseType usage occurrences: 🠖InitSync

QueryUpdateRequestType

QueryUpdateRequestType Schema diagram

Input to the QueryUpdate operation.

Name/Typemin..maxDefinition

ClientInterfaceVersionID

wxt:VersionIdentifierType

1..1

Constant passed by the client to the web service, indicating the version of the web service specification implemented at client side.

ClientVersionID

wxt:PredeterminedScopeReferenceIdentifierType

1..1

Version of the client software conducting the web service operation call.

Note: This is solely for debugging purposes in cases of impaired operation.

UpdateRangeStartUUID

wxt:UUIDIdentifierContentType

1..1

The lower bound (exclusive) of the ID range of updates to be queried.

Note 1: In the regular case this must be the transaction UUID of the latest update known to the client from a previous QueryUpdate operation call. In the special re-sync or init-sync case this must be a transaction UUID retrieved by a InitSync call. The update with that transaction UUID will NOT be included in the response to the QueryUpdate operation call.

Note 2: Web services following this specification are NOT required to keep updates for more than 7 weeks. Older updates may not be available anymore.

Example value: da626250-f25c-44eb-9928-c48ff7608450

QueryUpdateRequestType usage occurrences: 🠖QueryUpdate

QueryUpdateResponseType

QueryUpdateResponseType Schema diagram

Output of the QueryUpdate operation.

Name/Typemin..maxDefinition

ServiceInterfaceVersionID

wxt:VersionIdentifierType

1..1

Constant passed by the web service to the client, indicating the version of the web service specification implemented at web service side.

ServiceVersionID

wxt:PredeterminedScopeReferenceIdentifierType

1..1

Version of the web service instance software.

Note: This is solely for debugging purposes in cases of impaired operation.

AdditionalUpdatesIndicator

wxt:IndicatorContentType

1..1

An indication of whether or not updates in addition to those contained in this response are immediately available from the web service. 'true' means that additional updates are immediately available.

Note: This is meant to be used to keep the byte size of the response to each QueryUpdate call reasonably low. In this specification, the web service is meant to deliver a maximum of 256 updates at once.

Update

wxt:UpdateEventType

0..256

One or more updates the web service delivers to the web service client.

A single update is one of the following:

1. User message, such as confirmation of waste receipt

2. Signal message, i.e., i.e., an EDI node's automatically generated reaction - such as acknowledgement - to receiving a user message

Note 1: The web service informs the client only about those updates to which the client / database instance is allowed to have access. See the specification PDF.

Note 2: The order of Update elements in the QueryUpdate response reflects the chronological order.

QueryUpdateResponseType usage occurrences: 🠖QueryUpdate

FailureResponseType

FailureResponseType Schema diagram

Information on an exceptional error that occurred during the processing of an operation call and led to terminating/aborting the processing.

Note: This information is meant to be used in testing and debugging, and is not meant to be displayed to common users.

Name/Typemin..maxDefinition

FailureTypeID

wxt:FailureTypeIdentifierContentType

0..1

The type of failure.

FailureResponseType usage occurrences: 🠖InitSync, 🠖QueryUpdate, 🠖ShareMessage

Substructures

SignalMessageType

SignalMessageType Schema diagram

A signal message, i.e., an EDI node's automatically generated reaction to receiving a user message.

Note: When the EDI works as expected, then this message serves as an acknowledgement of receipt. Both upon successful receipt of a message as well as upon the rejection of a message, a signal message can contain validation report information meant to be displayed to users.

Name/Typemin..maxDefinition

wxm:WasteMovementSignalMessage

🠖wxm:WasteMovementSignalMessage

1..1

Results of the validation of a waste shipment user message at a receiving EDI node.

SignalMessageType usage occurrences: ShareMessageRequestType, UpdateEventType

UpdateEventType

UpdateEventType Schema diagram

Information on an event, such as new messages being available from the web service.

Name/Typemin..maxDefinition

UpdateUUID

wxt:UUIDIdentifierContentType

1..1

A Version 4 (random) Universally Unique Identifier (UUID) used by the web service for this update.

Note 1: The order of Update elements in the QueryUpdate response reflects the chronological order of updates. If there are updates available to a web service client in a call to the QueryUpdate operation, then the number of Update elements contained in the response is greater than or equal to 1, and the web service client uses the UpdateUUID of the LAST Update element contained in the response as input to the UpdateRangeStartUUID element in subsequent calls of the QueryUpdate operation.

Note 2: For updates initiated by a client to this web service, such as through a ShareMessage call, the UUID used by the web service for the update is the transaction UUID passed by the client to the web service.

Example value: 71ffe8e5-5978-482a-9558-f262397783ef

UpdateUTCTimestamp

🠖wxm:TimestampContentType

1..1

A UTC time stamp created by the web service and assigned to this update.

UserMessage

wxt:UserMessageType

0..1

A message containing waste shipment related information shared by one party at one point in time, such as a movement announcement or a confirmation of waste receipt.

SignalMessage

wxt:SignalMessageType

0..1

An EDI node's automatically generated reaction to receiving a user message.

Examples:

  • Acknowledgement of receiving the message
  • Information about rejecting the received message

UpdateEventType usage occurrences: QueryUpdateResponseType

UserMessageType

UserMessageType Schema diagram

A user message, i.e., waste shipment related information shared by one party at one point in time, such as a movement announcement.

Name/Typemin..maxDefinition

wxm:WasteMovementUserMessage

🠖wxm:WasteMovementUserMessage

1..1

The user message, i.e., waste shipment related information shared by one party at one point in time, such as movement announcement or confirmation of waste receipt.

UserMessageType usage occurrences: ShareMessageRequestType, UpdateEventType

Data types

FailureTypeIdentifierContentType

Name/Typemin..maxDefinition

FailureTypeIdentifierContentType

xs:token

1..1

Enumeration of failure types.

The set of supported values:

  • NOT_AUTHORIZED: The web service client is not authorized to invoke the specific web service operation
  • TOO_FREQUENT_CALLS: The number of calls (requests) by the web service client exceeds a limit on the maximum number allowed per unit of time

FailureTypeIdentifierContentType usage occurrences: FailureResponseType

IndicatorContentType

Name/Typemin..maxDefinition

IndicatorContentType

xs:boolean

1..1

Yes/No value (Yes: property applies; No: property does not apply).

IndicatorContentType usage occurrences: QueryUpdateResponseType

PredeterminedScopeReferenceIdentifierType

Name/Typemin..maxDefinition

PredeterminedScopeReferenceIdentifierType

wxt:Token64Type

1..1

Reference with an identifier from an identification scheme that is predetermined and therefore not explicitely contained in the data.

PredeterminedScopeReferenceIdentifierType usage occurrences: InitSyncRequestType, InitSyncResponseType, QueryUpdateRequestType, QueryUpdateResponseType, ShareMessageRequestType, ShareMessageResponseType

Token64Type

Name/Typemin..maxDefinition

Token64Type

xs:token

1..1

String consisting of a maximum of 64 characters and a minimum of 1 character, which does not contain carriage return (#xD), line feed (#xA) or tab (#x9), does not begin or end with a space, and does not contain two or more consecutive spaces.

Token64Type usage occurrences: PredeterminedScopeReferenceIdentifierType

UUIDIdentifierContentType

Name/Typemin..maxDefinition

UUIDIdentifierContentType

xs:string

1..1

A Universally Unique Identifier (UUID) in canonical representation.

The set of supported values: Character strings that are a canonical representation of a version 4 (random) Universally Unique Identifier (UUID). Note that each such character string consists of exactly 36 characters. Any character string of a length other than 36 is hence not one of the supported values.

Example value: aeca8c2d-523a-431a-812e-abd8a2475722

UUIDIdentifierContentType usage occurrences: QueryUpdateRequestType, ShareMessageRequestType, UpdateEventType

VersionIdentifierType

Name/Typemin..maxDefinition

VersionIdentifierType

xs:token

1..1

Version information.

The following properties must apply:

  • maximum of 8 characters
  • composed of the following parts: "major Version", followed by a dot (#x2E), followed by the "minor Version"
  • both "major Version" and "minor Version" consist exclusively of digits. "minor Version" consists of exactly 2 digits

VersionIdentifierType usage occurrences: InitSyncRequestType, InitSyncResponseType, QueryUpdateRequestType, QueryUpdateResponseType, ShareMessageRequestType, ShareMessageResponseType

Message formats (from wastex_message.xsd)

Introduction

Description of the data formats defined by the XML Schema Definition wastex_message.xsd. The description covers:

  1. Syntax: Data element names, structures, substructures and data types with value ranges (sets of supported values)
  2. Semantics: Definition of each data element content's meaning and interpretation

This description is auto-generated from wastex_message_annot.xsd. As an alternative to using this description it is therefore possible to use the annotated XSD file directly, e.g. with an XML Schema tool or a text editor.

Contents

Structures

WasteMovementUserMessage

WasteMovementSignalMessage

MessageValidationContext

DatabaseInstancePartyCollection

WithdrawalMarkCollection

Substructures

MovementAnnouncement

MovementAnnouncementStatus

CarrierConfirmation

ConfirmationOfWasteReceipt

ConfirmationOfWasteTreatment

AnnouncementIdentity

CarrierEconomicOperator

CountryList

CountryListElement

DatabaseInstancePartyList

EconomicOperator

EconomicOperatorSite

EconomicOperatorSiteIdentity

FormalValidationReport

LatestCarrierConfirmation

LatestConfirmationOfWasteReceipt

LatestConfirmationOfWasteTreatment

LatestMovementAnnouncement

LatestNotification

LatestTransportMovement

MassValueAssignmentStatement

NationalRoute

NotificationCountry

TransportMovement

ValidationNodeAggregatedChangeData

ValidationNodeAggregatedContentData

ValidationNodeIndividualData

ValidationNodeReferenceData

VolumeValueAssignmentStatement

WithdrawalMarkList

Data types

CountContent

CountIdentifierContent

CountryIdentifierContent

CountryTwoLetterIdentifierContent

DateContent

DescriptionContent

EconomicOperatorIdentifier

EconomicOperatorRegisterIdentifierContent

IndicatorContent

MassNumericValue

MassUnitIdentifierContent

MovementAnnouncementStatusIdentifierContent

MaxLen1000TextContent

MovementAnnouncementUpdateStatusIdentifierContent

NameContent

PackageTypeIdentifierContent

PartyIdentifier

PartyRegisterIdentifierContent

PostalAreaIdentifierContent

QuantificationTypeIdentifierContent

RelaxedIdentifierContent

RemarkContent

ShortNameContent

SignalIdentifierContent

TimestampContentType

TransportModeIdentifierContent

TreatmentScopeIdentifierContent

UserMessageTypeIdentifierContent

UUIDIdentifierContent

ValidationResultIdentifierContent

ValueContent

VersionIdentifier

VolumeNumericValue

VolumeUnitIdentifierContent

Structures

WasteMovementUserMessage

WasteMovementUserMessage Schema diagram

Waste shipment related information provided by one party at one point in time.

This can be either:

Note: With the Austrian EDM WasteX interface, the Austrian Competent Authority for shipments of waste cannot currently accept/access carrier confirmations. See validation 🠖R725. Sharing carrier confirmations by EDI with the Austrian competent authority will be enabled in future revisions of the EDM WasteX interface.

Name/Typemin..maxDefinition

MessageUUID

UUIDIdentifierContent

1..1

A Version 4 (random) Universally Unique Identifier (UUID) in canonical representation assigned to this particular message instance by the software upon the message creation (marshalling).

Note 1: This element is mainly for debugging purposes.

Note 2: The WasteX EDI protocol does NOT expect or require software to implement message receipt related logic based on the message UUID.

Note 3: Software with a role in WasteX EDI shall NOT display this information to regular users, and must not let regular users edit this information.

The set of supported lexical representations and values: Character strings that are a canonical representation of a version 4 (random) Universally Unique Identifier (UUID). Note that each such character string consists of exactly 36 characters. Any character string of a length other than 36 is hence not one of the supported values.

Example value: »7870d594-fbb4-49c3-ac23-39a5cf82df80«

MessageCreationUTCTimestamp

TimestampContentType

1..1

A UTC timestamp indicating the point in time when software generated (marshalled) this message XML instance.

Note 1: This element is mainly for debugging purposes.

Note 2: Software with a role in WasteX EDI shall NOT display this information to regular users, and must not let regular users edit this information.

Note 3: This message element is subject to WasteX formal validation. For example, validation 🠖R114 automatically rejects a received user message if the message creation timestamp lies in the future.

Supported lexical representations and values:

  • The xs:dateTime constraints apply. For example, the month component consists of two decimal digits, where 01 stands for January and 12 for December
  • Contains the year, month, day, hour, minute, second, fractional second and timezone components
  • The accuracy is such that the fractions of a second component consists of exactly 6 decimal digits. This means that the fractional second component must contain trailing zeros if needed for 6 decimal digit accuracy. Note that this is an intentional deviation from xs:dateTime canonical representations, as canonical representations do not contain trailing zeros
  • The time zone is UTC

Example value: »2022-10-25T11:01:35.524380Z«

MessageCreationDataFormatVersionID

VersionIdentifier

1..1

Identification of the WasteX data format version with which the message creation software's message creation implementation complies.

Note 1: Software with a role in WasteX EDI must not let regular users edit this information.

Note 2: In "forwarding" scenarios (information dissemination over multiple data interchange nodes) this information must remain unchanged.

Note 3: This is a static value written by the message creation software. It is NOT an indication of whether or not the specific message actually uses "new" message format features, such as "new" message elements.

Example: For the software creating the user message, the implementation of the user message creation complies with v1.04 of the data format specification. The user message therefore contains a MessageCreationDataFormatVersionID value of 1.04. The particular user message MAY however, by coincidence, comply with lower versions of the data format, such as 1.02, as the user message may not use any of the data elements and values introduced with newer versions of the format.

Note 4: See the data format description PDF document for more information on the handling of data format versions and version transformations.

Supported lexical representations and values:

  • Contains a maximum of 8 characters
  • Has the following structure: "Major Version", followed by a dot (#x2E), followed by "Minor Version"
  • Both "Major Version" and "Minor Version" consist exclusively of decimal digits. "Minor Version" consists of exactly 2 digits

Example value: »1.01«

MessageTransformationDataFormatVersionID

VersionIdentifier

0..1

Identification of the WasteX data format version to which the original message was converted in the electronic data interchange.

Note 1: Software with a role in WasteX EDI must not let regular users edit this information.

Note 2: Software must newly include this element in a generated user message if and only it applies a version transformation.

Note 3: Software with a role in WasteX EDI applies version transformation if and only if the recipient node in a data interchange does not support the version of the data format in which the message is available at the sender node, but supports a lower version only. Consequently, for each user message that features a MessageTransformationDataFormatVersionID, the MessageTransformationDataFormatVersionID must be lower than the MessageCreationDataFormatVersionID.

Note 4: See the data format description PDF document for more information on the handling of data format versions and version transformations.

Supported lexical representations and values:

  • Contains a maximum of 8 characters
  • Has the following structure: "Major Version", followed by a dot (#x2E), followed by "Minor Version"
  • Both "Major Version" and "Minor Version" consist exclusively of decimal digits. "Minor Version" consists of exactly 2 digits

Example value: »1.00«

MessageCreationPartyID

EconomicOperatorIdentifier

1..1

Identification of the party that assembles/administrates/fills in the waste shipment information contained in the message.

Note 1: In "forwarding" scenarios (information dissemination over multiple data interchange nodes), this information must remain unchanged.

Note 2: In the forwarding of information, the message sender is different from the message creator.

Note 3: The WSR defines who has to provide which information to whom at which point in the processes.

Note 4: A party may instruct someone else to prepare and send the information for him. For example, a provider of waste shipment related services may prepare and send the movement announcement for the notifier. In this example the service provider acts on behalf of the notifier (represents the notifier). In such a case of representation, it is always the INFORMATION ON THE REPRESENTED PARTY (in the example: the notifier) that is expected in the data element, and NEVER information on the representative.

Note 5: It is a sender side responsibility to ascertain that the party identified as message creator has actually created the message. See the interface description PDF for more details.

Note 6: In the representation case described in note 4, it is also a sender side responsibility to ascertain that the represented party has authorized the representing party with its representation.

Note 7: In user interfaces users typically must not be able to edit this information. It is information derived from aspects such as the following: The authenticated user (natural person), whom the authenticated user is authorized to represent, and whom the authenticated user actually represents.

Note 8: This message element is subject to WasteX formal validation. For example, validation 🠖R279, 🠖R497 and 🠖R967 automatically reject a received user message if the message creation party does not match one of the parties with the respective role, such as notifier, carrier or waste treatment party, identified within the message and/or identified in the notification data at the validating EDI node.

Supported lexical representations and values:

  • Contains a maximum of 64 characters
  • Contains at least 1 character
  • The character string is a so-called token: This is a string that does not contain carriage return (#xD), line feed (#xA) or tabulator (#x9) characters, does not start or end with spaces (#x20) and does not contain a sequence of two or more consecutive spaces

Example value: »9110015228588« in combination with @registerID attribute »GLN.AT« for the identification of company »Remondis Austria GmbH«

MovementAnnouncement

MovementAnnouncement

0..1

Announcement of an individual shipment of waste, in accordance with Article 16(b) of the WSR ("prior information regarding actual start of shipment").

MovementAnnouncementStatus

MovementAnnouncementStatus

0..1

Status of the announcement of an individual shipment of waste, in accordance with Article 16(b) of the WSR ("prior information regarding actual start of shipment"). With a MovementAnnouncementStatus message, a party (notifier) informs about the CANCELLATION of a previously announced shipment of waste.

CarrierConfirmation

CarrierConfirmation

0..1

Carrier's confirmation of taking charge of a shipment of waste, in accordance with Article 16 of the WSR, as well as Annex IB block 8 and Annex IC paragraphs 6 and 32.

ConfirmationOfWasteReceipt

ConfirmationOfWasteReceipt

0..1

Confirmation of the receipt of an individual shipment of waste, in accordance with Article 16(d) or Article 15(c) of the WSR.

ConfirmationOfWasteTreatment

ConfirmationOfWasteTreatment

0..1

Confirmation of the completion of the treatment of an individual shipment of waste, in accordance with Article 16(e), Article 15(e) or Article 15(d) of the WSR.

Note: The WasteX protocol does NOT support the exchange of information on the completion of the treatment of waste at INDIVDUAL subsequent treatment facilities.

InformationFromVersionTransformationText

MaxLen1000TextContent

0..1

Textual content generated by software in the translation of a data instance compliant with a higher version of the data format to a data instance compliant with a lower version of the data format.

Note 1: Software with a role in WasteX EDI must not let regular users edit this information.

Note 2: This can contain codified information, such as recovery disposal codes, textual information automatically created from codified information (in English), or the reproduction of textual information (in the natural language that has been used for the textual information). Therefore this element can contain a mix of natural languages.

Fictitious example: If in v1.81 of the data format there is a new data element TreatmentTypeID which v1.80 of the data format did not contain, then the translation of a data instance from version 1.81 of the data format to version 1.80 of the data format removes the TreatmentTypeID element, but writes textual information on the treatment in the InformationFromVersionTransformationText data element.

Note 3: Software newly fills this element if and only if it conducts a version transformation whereby information would get lost without inclusion in InformationFromVersionTransformationText.

Note 4: See the data format description PDF document for more information on the handling of data format versions and version transformations.

Supported lexical representations and values:

  • The character string contains a maximum of 1000 characters
  • The character string contains at least 1 character

Example value: »Treatment type (TreatmentTypeID): Regeneration of acids or bases (R6)«

WasteMovementUserMessage usage occurrences: MessageValidationContext, 🠖UserMessageType

WasteMovementSignalMessage

WasteMovementSignalMessage Schema diagram

Information related to the processing and validation of a WasteMovementUserMessage at an electronic data interchange (EDI) node.

Note: It is software that automatically generates ALL the contents in a waste movement signal message. There is no direct involvement of users in the generation of a waste movement signal message.

Name/Typemin..maxDefinition

SignalMessageUUID

UUIDIdentifierContent

1..1

A Version 4 (random) Universally Unique Identifier (UUID) in canonical representation assigned to this particular message instance by the software upon the message creation (marshalling).

Note 1: This element is mainly for debugging purposes.

Note 2: The WasteX EDI protocol does NOT expect or require software to implement any message receipt related logic based on the message UUID.

Note 3: Software with a role in WasteX EDI shall NOT display this information to regular users, and must not let regular users edit this information.

The set of supported lexical representations and values: Character strings that are a canonical representation of a version 4 (random) Universally Unique Identifier (UUID). Note that each such character string consists of exactly 36 characters. Any character string of a length other than 36 is hence not one of the supported values.

Example value: »2987137d-5379-4f2b-950c-1f4387fddfdd«

SignalMessageCreationUTCTimestamp

TimestampContentType

1..1

A UTC timestamp indicating the point in time when software generated (marshalled) this signal message XML instance.

Note 1: This element is mainly for debugging purposes.

Note 2: Software with a role in WasteX EDI shall NOT display this information to regular users, and must not let regular users edit this information.

Supported lexical representations and values:

  • The xs:dateTime constraints apply. For example, the month component consists of two decimal digits, where 01 stands for January and 12 for December
  • Contains the year, month, day, hour, minute, second, fractional second and timezone components
  • The accuracy is such that the fractions of a second component consists of exactly 6 decimal digits. This means that the fractional second component must contain trailing zeros if needed for 6 decimal digit accuracy. Note that this is an intentional deviation from xs:dateTime canonical representations, as canonical representations do not contain trailing zeros
  • The time zone is UTC

Example value: »2022-10-25T11:01:35.524380Z«

ValidationNodeName

ShortNameContent

1..1

A short name by which the node that conducted the validation of a waste movement message is known to users.

Note: This name should be the same as the one that occurs in validation report texts for referring to the node conducting the validation (see also MessageValidationContext/ValidationNodeName in the validation context data format).

Supported lexical representations and values:

  • Contains a maximum of 50 characters
  • Contains at least 1 character
  • The character string is a so-called token: This is a string that does not contain carriage return (#xD), line feed (#xA) or tabulator (#x9) characters, does not start or end with spaces (#x20) and does not contain a sequence of two or more consecutive spaces

Example values:

  • »IMSOC (EU)«
  • »edm.gv.at«

SignalMessageCreationDataFormatVersionID

VersionIdentifier

1..1

Identification of the WasteX data format version with which the message creation software's signal message creation implementation complies.

Note 1: Software with a role in WasteX EDI must not let regular users edit this information.

Note 2: In "forwarding" scenarios (information dissemination over multiple data interchange nodes) this information must remain unchanged.

Note 3: This is a static value written by the message creation software. It is NOT an indication of whether or not the specific message actually uses "new" message format features, such as "new" message elements.

Example: For the software creating the signal message, the implementation of the signal message creation complies with v1.04 of the data format specification. The message therefore contains a SignalMessageCreationDataFormatVersionID value of 1.04. The particular message MAY however, by coincidence, comply with lower versions of the data format, such as 1.02, as the signal message may not use any of the data elements and values introduced with newer versions of the format.

Note 4: See the data format description PDF document for more information on the handling of data format versions and version transformations.

Supported lexical representations and values:

  • Contains a maximum of 8 characters
  • Has the following structure: "Major Version", followed by a dot (#x2E), followed by "Minor Version"
  • Both "Major Version" and "Minor Version" consist exclusively of decimal digits. "Minor Version" consists of exactly 2 digits

Example value: »1.01«

SignalMessageTransformationDataFormatVersionID

VersionIdentifier

0..1

Identification of the data format version to which the original message was converted in the electronic data interchange.

Note 1: Software with a role in WasteX EDI must not let regular users edit this information.

Note 2: Software must newly include this element in a generated signal message if and only it applies a version transformation.

Note 3: Software with a role in WasteX EDI applies version transformation if and only if the recipient node in a data interchange does not support the version of the data format in which the message is available at the sender node, but supports a lower version only. Consequently, for each signal message that features a SignalMessageTransformationDataFormatVersionID, the SignalMessageTransformationDataFormatVersionID must be lower than the SignalMessageCreationDataFormatVersionID.

Note 4: See the data format description PDF document for more information on the handling of data format versions and version transformations.

Supported lexical representations and values:

  • Contains a maximum of 8 characters
  • Has the following structure: "Major Version", followed by a dot (#x2E), followed by "Minor Version"
  • Both "Major Version" and "Minor Version" consist exclusively of decimal digits. "Minor Version" consists of exactly 2 digits

Example value: »1.00«

ReferredAnnouncementIdentity

AnnouncementIdentity

1..1

The announcement identity referred to in the validated waste movement user message.

Note: The EDI node conducting the formal validation copies the announcement identity (notification number and serial number) contained in the validated waste movement user message to this element of the signal message.

ReferredUserMessageUUID

UUIDIdentifierContent

1..1

A Version 4 (random) Universally Unique Identifier (UUID) in canonical representation which refers to the waste movement user message to which this validation result applies.

Note: The EDI node conducting the formal validation copies the message UUID contained in the validated waste movement user message, originally assigned by the software that created the waste movement user message, to this element of the signal message.

The set of supported lexical representations and values: Character strings that are a canonical representation of a version 4 (random) Universally Unique Identifier (UUID). Note that each such character string consists of exactly 36 characters. Any character string of a length other than 36 is hence not one of the supported values.

Example value: »7870d594-fbb4-49c3-ac23-39a5cf82df80«

ReferredUserMessageTypeID

UserMessageTypeIdentifierContent

1..1

The type of the validated waste movement user message.

Note: The EDI node conducting the formal validation fills this element based on which of the MovementAnnouncement, MovementAnnouncementStatus, CarrierConfirmation, ConfirmationOfWasteReceipt or ConfirmationOfWasteTreatment elements is used in the validated waste movement user message.

The set of supported lexical representations and values:

  • MA: Movement Announcement
  • MAS: Movement Announcement Status
  • CC: Carrier Confirmation
  • COWR: Confirmation of Waste Receipt
  • COWT: Confirmation of Waste Treatment

ReferredTransactionUUID

UUIDIdentifierContent

0..1

A Version 4 (random) Universally Unique Identifier (UUID) in canonical representation which refers to the transaction that triggered the waste movement user message validation.

Note 1: The EDI node conducting the formal validation copies the transaction UUID from the transaction by which it received the validated waste movement user message.

Note 2: The WasteX message format is designed to be reusable across different EDI protocols. Whether or not there are transaction UUIDs used for the transaction of WasteX waste movement user messages depends on the type of EDI protocol used for the exchange of the messages. For example, in an extremely basic usage of the messages they could be transferred by email. In that case there wouldn't be any transaction UUID to which the signal message could refer.

The set of supported lexical representations and values: Character strings that are a canonical representation of a version 4 (random) Universally Unique Identifier (UUID). Note that each such character string consists of exactly 36 characters. Any character string of a length other than 36 is hence not one of the supported values.

Example value: »113f2554-3048-4306-9eb6-baa6d234f88f«

SignalID

SignalIdentifierContent

1..1

The overall result of receiving a user message at an EDI node.

The set of supported lexical representations and values:

  • ACCEPTED: The receiving EDI node accepted the received message. It is accessible to parties/users at the receiving side.
  • REJECTED: The receiving EDI node had to reject the received message. At the receiving side, for users it is as if the transmission never happened. In particular, contents of the transmitted user message are not accessible to users at the receiving side.

Note 1: In the »REJECTED« case, for users on the receiving side of the user message transmission it is as if the transmission never happened. Consequently, in this case the sending side needs to initiate any potential further actions.

Note 2: An exception occurring at the EDI node receiving a user message MAY be the cause for the »REJECTED« case.

ReceiverFailureIndicator

IndicatorContent

0..1

The indication of whether or not the rejection of the received user message is caused by the EDI node receiving the user message.

Note 1: A signal message MUST contain a ReceiverFailureIndicator if the SignalID is set to »REJECTED«. It MUST NOT contain a ReceiverFailureIndicator in other cases.

Note 2: With a ReceiverFailureIndicator set to »true«, an EDI node receiving a user message attributes rejection to the receiver side. Example: Rejection caused by the unavailability of a database or service at the receiving EDI node. A signal message with a ReceiverFailureIndicator set to »true« is comparable with a SOAP 1.2 Fault with a Fault/Code set to value »soap12:Receiver«.

With a ReceiverFailureIndicator set to »false«, an EDI node receiving a user message attributes rejection to the receiver side. stands for an automated message rejection that the receiving EDI node attributes to the receiver side, indicating that it occurs independent of the sender, including independent of a sent messages's contents. An example for a rejection reason attributed to the receiver side is a rejection caused by the unavailability of a database or service at the receiving EDI node.

Note 3: With a ReceiverFailureIndicator set to »false«, an EDI node receiving a user message attributes rejection to the sender side. Example: Rejection caused by unacceptable content contained in the transmitted message, such as negative mass values or message contents that contradict each other (inconsistencies).

Note 4: Part of formal validation is consistency checks between contents of transmitted messages and contents of receiver side databases. Important potential causes of such inconsistencies: (a) contents of the transmitted message, (b) contents of a receiver side database, or (c) a combination of the two. In most cases software will need to leave it to users to figure out which of these causes applies. Not least for this reason, the purpose of ReceiverFailureIndicator value is providing LIKELIHOOD information with regard to the need of involving the receiver side, guiding the sender side with regard to dealing with transmission issues:

  • ReceiverFailureIndicator set to »true«: The receiving EDI node is RELATIVELY CERTAIN that the sender side will need to involve the receiver side for resolving the transmission issue. This guides the sender side into immediately getting in touch with the receiver side for resolving the issue, without first attempting to resolve the issue on their own
  • ReceiverFailureIndicator set to »false«: The receiving EDI node is NOT CERTAIN that the sender side will need to involve the receiver side, i.e., the sender side may be able to resolve the issue on its own, or it may need to get in touch with the receiver side. This guides the sender side into first attempting to resolve the issue on their own, and only when this attempt fails to get in touch with the receiver side for resolving the issue

The set of supported lexical representations and values:

  • »true«, »1«
  • »false«, »0«

SignalDescription

DescriptionContent

0..1

A natural language description of the signal.

Note 1: This element is for natural language content NOT resulting from formal message validation, as the latter is contained in the element MessageFormalValidationReport.

Note 2: Like the natural language texts in MessageFormalValidationReport, any such SignalDescription text is meant to be displayed to users.

Supported lexical representations and values:

  • The character string contains a maximum of 1000 characters
  • The character string contains at least 1 character

Example value: »Internal error at edm.gv.at, contact IT support«

MessageFormalValidationResultID

ValidationResultIdentifierContent

0..1

The overall result from a formal validation of a WasteX waste movement user message by a receiving EDI node (see also EUDIN ↗codelist 6099).

The set of supported lexical representations and values:

  • OK: The formal validation of the user message DOES NOT yield any hints and indications to users and DOES NOT lead to automatic message rejection
  • INFO: The formal validation of the shared user message DOES yield hints and indications to users and does DOES NOT lead to automatic message rejection. Even though there are hints and indications, the message and the actions/objects it describes MAY be entirely correct
  • WARNING: The formal validation of the shared user message DOES yield hints and indications to users and does DOES NOT lead to automatic message rejection. There is CERTAINTY that the message and/or the actions/objects it describes are NOT entirely correct
  • ERROR: The formal validation of the shared user message DOES yield hints and indications to users and does DOES lead to automatic message REJECTION. There is CERTAINTY that the message and/or the actions/objects it describes are NOT entirely correct

Note 1: If the signal is rejection of the user message, and if the rejection is NOT caused by the formal validation, then there MUST NOT be a MessageFormalValidationResultID element in the signal message.

Note 2: On the combination of INFO, WARNING and ERROR elements in the validation report entries (MessageFormalValidationReport element) and the resulting overall result (MessageFormalValidationResultID):

  • OK: The validation report is "empty", i.e., it contains neither INFO, WARNING nor ERROR entries
  • INFO: The validation report contains at least one INFO entry. It contains neither WARNING nor ERROR entries
  • WARNING: The validation report contains at least one WARNING entry. It does NOT contain ERROR entries. In addition to WARNING entries, it may also contain INFO entries
  • ERROR: The validation report contains at least one ERROR entry. In addition to ERROR entries it may also contain INFO and/or WARNING entries

Note 3: A message validation ERROR status leads to the rejection of a received message. A message validation ERROR status in element MessageFormalValidationResultID can therefore only occur in combination with content REJECTED in element SignalID.

Note 4: The opposite implication of Note 3 does NOT apply. A rejection may occur for other reasons than an ERROR resulting from formal user message validation, such as the database not being available. Therefore REJECTED values in SignalID can occur WITHOUT an ERROR value in MessageFormalValidationResultID.

MessageFormalValidationReport

FormalValidationReport

0..1

The detailed validation results in Schematron Validation Report Language (SVRL) format.

Note 1: If the signal is rejection of the user message, and if the rejection is NOT caused by the formal validation, then there MUST NOT be a MessageFormalValidationReport element in the signal message.

Note 2: The WasteX specification recommends XSLT processing - using the WasteX formal validation XSLT - for implementing message validation at EDI nodes. EDI nodes MAY however implement formal validation in a different way. Independent of the way of implementing formal validation, EDI nodes MUST represent validation results in SVRL format for WasteX EDI.

WasteMovementSignalMessage usage occurrences: 🠖SignalMessageType

MessageValidationContext

MessageValidationContext Schema diagram

A WasteX message together with contextual information, such as from the notification, used as basis for formal validation of the WasteX message.

Note 1: The WasteX EDI protocol does NOT use this structure, i.e., this structure does NOT occur in the inputs and outputs of a WasteX web service. Accordingly, this structure does not play a direct role for the implementation of a connection to a WasteX web service. It does however play a role in the implementation of formal validation at a WasteX EDI node.

Note 2: A WasteX EDI node fills a validation context XML structure in preparation for formal validation of a received WasteX user message. A WasteX EDI node fills the first element in the MessageValidationContext XML structure, WasteMovementUserMessage, with the received user message. It fills the other elements with data from other sources, such as constants or configuration information (e.g. ValidationNodeProtocolVersionID) or data from a database at the validating EDI node (e.g. ValidationNodeIndividualData).

Note 3: The following is a general principle for the MessageValidationContext XML structure and formal validation based on MessageValidationContext instances. It applies to all non-repeatable elements from the validation context other than elements from the received WasteX user message, i.e., other than sub-elements of WasteMovementUserMessage. The principle is that formal validation uses the available elements and "ignores" missing elements. This means that formal validation is "tolerant" with respect to content missing from the validation context. It is "tolerant" in the sense that formal validation rules which depend on a specific valdiation context element do not trigger if the validation context instance does not contain this respective element. The main aim of this "tolerant" and "graceful" behaviour is simplifying the implementation and testing of formal validation in EDI nodes. It makes it possible to implement the generation of validation context data step by step, element by element, and to verify the correct functioning of formal validation at each of these steps - the principle assures that formal validation reports only contain meaningful content in each of these steps.

Note 4: For the implementation of generating a MessageValidationContext instance it is important to note that validating EDI nodes must fill certain validation context elements dependent on contents from the received WasteX user message. For example, an EDI node must fill the elements NotificationInDatabaseIndicator and Notification under ValidationNodeIndividualData with data based on notification/consent information available at the validating EDI node's database FOR A SPECIFIC NOTIFICATION, namely the notification the received user message references in element AnnouncementIdentity/NotificationID. The definition texts for the validation context elements explain any such interdependencies in detail.

Note 5: Several of the definition texts for validation context elements contain Pseudo-SQL statements. These Pseudo-SQL statements illustrate how an EDI node may access the data needed for filling the respective validation context element. Actual query expressions used in WasteX EDI node implementations depend on the technological means and the database model used at the EDI node. Notation in Pseudo-SQL statements:

Name/Typemin..maxDefinition

WasteMovementUserMessage

WasteMovementUserMessage

1..1

A WasteX user message that the validating EDI node includes in the validation context XML instance for subsequently applying WasteX formal validation on the message.

Note: It is a prerequisite for applying WasteX formal validation to a WasteX user message that the user message is valid with respect to the WasteX XML Schema Definition (XSD). EDI nodes MUST NOT apply WasteX formal validation (XSL transformation of a validation context XML instance) to user messages that are not valid with respect to the WasteX XML Schema Definition. Applying WasteX formal validation (XSL transformation of a validation context XML instance) to a WasteX user message which violates the WasteX Schema Definition yields undefined behaviour and results.

InteractingEDINodeID

RelaxedIdentifierContent

0..1

The ID of the 'external' EDI node out of whose interaction with the validating EDI node the WasteX user message included in the WasteMovementUserMessage element originates.

Note: For the WasteX "Basic" EDI protocol, the validating EDI node must fill this with the ID part (first part) from the credentials content contained in authentication related HTTP headers.

Supported lexical representations and values:

  • Contains a maximum of 64 characters
  • Contains at least 1 character
  • The character string is a so-called token: This is a string that does not contain carriage return (#xD), line feed (#xA) or tabulator (#x9) characters, does not start or end with spaces (#x20) and does not contain a sequence of two or more consecutive spaces

Example value: »AXIANS.CLOUD«

EDIInteractionUTCTimestamp

TimestampContentType

0..1

A UTC timestamp generated by the validating EDI node for the point in time of receiving the shared user message (contained in the validation context in the WasteMovementUserMessage element).

Supported lexical representations and values:

  • The xs:dateTime constraints apply. For example, the month component consists of two decimal digits, where 01 stands for January and 12 for December
  • Contains the year, month, day, hour, minute, second, fractional second and timezone components
  • The accuracy is such that the fractions of a second component consists of exactly 6 decimal digits. This means that the fractional second component must contain trailing zeros if needed for 6 decimal digit accuracy. Note that this is an intentional deviation from xs:dateTime canonical representations, as canonical representations do not contain trailing zeros
  • The time zone is UTC

Example value: »2022-10-25T11:03:51.821450Z«

ValidationNodeName

ShortNameContent

0..1

A short name users know/recognize the EDI node that prepares and conducts the formal validation of a WasteX user message.

Note: This name is used in validation report texts for referring to the node conducting the validation, and therefore for giving users an idea on the origin of validation report content.

Supported lexical representations and values:

  • Contains a maximum of 50 characters
  • Contains at least 1 character
  • The character string is a so-called token: This is a string that does not contain carriage return (#xD), line feed (#xA) or tabulator (#x9) characters, does not start or end with spaces (#x20) and does not contain a sequence of two or more consecutive spaces

Example values:

  • »edm.gv.at«
  • »IMSOC (EU)«

ValidationNodeProtocolVersionID

VersionIdentifier

0..1

The version of the WasteX (Basic) protocol that the validating EDI node implements.

Supported lexical representations and values:

  • Contains a maximum of 8 characters
  • Has the following structure: "Major Version", followed by a dot (#x2E), followed by "Minor Version"
  • Both "Major Version" and "Minor Version" consist exclusively of decimal digits. "Minor Version" consists of exactly 2 digits

Example value: »1.01«

ValidationNodeIndividualData

ValidationNodeIndividualData

0..1

Individual records of data available in the database at the EDI node prior to receiving a WasteX message and related to that message, i.e., related to the notification number and serial number contained in the message.

Examples:

  • Notification information
  • Movement announcement, confirmation of waste receipt, etc. information that already exists at the EDI node for the combination of notification number and serial number prior to receiving the message

ValidationNodeAggregatedContentData

ValidationNodeAggregatedContentData

0..1

An aggregation of RECORD CONTENTS available at the EDI node database prior to the receipt of the new message (contained in the validation context), for records related to the newly received message, such as by referring to the same consent.

Note 1: "Record" refers to database records on movement announcements, confirmations of waste receipt, and the like.

Note 2: Unless specified differently for the individual data element, the aggeragtion must take into account ALL records matching the specified criteria, including records unrelated to WasteX EDI, such as records created via a GUI entry.

ValidationNodeAggregatedChangeData

ValidationNodeAggregatedChangeData

0..1

An aggregation of record CHANGES that occurred at the EDI node database prior to the receipt of the new message (contained in the validation context), for records related to newly received message, such as records referring to the same notification number, serial number and content type.

Note 1: "Record" refers to database records on movement announcements, confirmations of waste receipt, and the like.

Note 2: In order for an EDI node to be capable of aggregating record change information, it must - in the absence of other solutions - keep a log on record entries and updates. Aggregating record change information does however NOT depend on the archiving of records/contents, such as the archiving of the original movement announcements contents when there is an update/correction of the movement announcement.

Note 3: Unless specified differently for the individual data element, the aggeragtion must take into account ALL record changes matching the specified criteria, including changes unrelated to WasteX EDI, such as changes via a GUI.

ValidationNodeReferenceData

ValidationNodeReferenceData

0..1

Reference data used at the EDI node receiving a WasteX message and conducting the validation.

Example:

  • ISO 3166-1 list of countries (local copy used at the EDI node reveiving the message and conducting the validation)

DatabaseInstancePartyCollection

DatabaseInstancePartyCollection Schema diagram

Identification of parties which use a specific registered database instances.

Note: This is intended to be used as an "allow list" for EDI. Operators of EDI node A send such a list to operators of another EDI node B, so that EDI node B can accept EDI node A to "represent" certain parties.

Name/Typemin..maxDefinition

DatabaseInstancePartyList

DatabaseInstancePartyList

1..4096

Each DatabaseInstancePartyList element contains the list of parties which use one specific database instance.

WithdrawalMarkCollection

WithdrawalMarkCollection Schema diagram

TODO Identification of waste movement announcements for which all exchanged data shall be marked as withdrawn by EDI partners, potentially including confirmations of waste receipt and confirmations of waste treatment.

Note 1: Exchanging a WithdrawalMarkCollection XML instance serves the purpose of letting EDI partners know of an erroneous use of notification number and waste shipment announcement serial number combinations in EDI transmissions.

Note 2: Evidently, WasteX EDI partners avoid erroneous use of notification number and waste shipment announcement serial number combinations to the greatest extent possible in the first place, as any such erroneous usage results in significant mis-information of partners with potentially severe consequences.

Note 3: The erroneous use of ID combinations can lead to one of the following:

Examples: todo The following two examples illustrate the two cases of Note 3. In both examples, EDI partners exchange information in relation to notifications »AT 1«, »AT 2« and »AT 3«. The EDI partners have already correctly exchanged the following number of movement announcements for the notifications: 64 for »AT 1«, 0 for »AT 2«, 32 for »AT 3«.

Note 3: The EDI protocol does NOT use this structure, i.e. this structure does NOT occur in the inputs and outputs of a WasteX web service. Accordingly, this structure does not play a direct role for the implementation of a connection to a WasteX web service.

With WasteX, EDI partners exchange WithdrawalMarkCollection XML instances (a) only upon the special occasion of "undoing" erroneous EDI transmissions, and (b) only "manually", such as by e-mail.

Name/Typemin..maxDefinition

WithdrawalMarkList

WithdrawalMarkList

1..16384

Each WithdrawalMarkList element contains the list of serial numbers to mark as withdrawn for one specific notification.

Substructures

MovementAnnouncement

MovementAnnouncement Schema diagram

Announcement of an individual shipment of waste, in accordance with Article 16(b) of the WSR ("prior information regarding actual start of shipment").

Note 1: A party (notifier) can update a previously transmitted announcement by disseminating a new WasteX MovementAnnouncement message with the same combination of notification number and serial number as in the originally transmitted announcement.

Note 2: The WSR expects economic operators to only transmit final information to competent authorities, rather than transmitting updates and corrections incrementally or in real-time. This also applies to WasteX EDI transmissions. Competent authorities expect economic operators to use EDI transmissions such that updates and corrections are the exception rather than the rule. Even though the WasteX EDI protocol defines few hard limits on updates and corrections, failure to comply with these principles can result in competent authorities' countermeasures directed at economic operators and/or developers/operators of WasteX EDI nodes. See also formal validation 🠖R342.

Name/Typemin..maxDefinition

AnnouncementIdentity

AnnouncementIdentity

1..1

A tuple of identifiers by which the notifier announces/announced the individual shipment of waste to competent authorities. Pursuant to the WSR, this tuple consists of (a) the notification number identifying the notification and consent(s), and (b) a serial number. The notifier uses serial number 1 for the first individual shipment of waste announced for a specific notification/consent, and increments the serial number for each subsequent announced shipment of waste under the same consent.

Note: This message element is subject to WasteX formal validation. For example, validation 🠖R170 automatically triggers a warning if the serial number exceeds the total intended/consented number of shipments according to the corresponding notification/consent data at the validating EDI node.

MovementUUID

UUIDIdentifierContent

0..1

A Version 4 (random) Universally Unique Identifier (UUID) in canonical representation, identifying the individual shipment of waste.

Note 1: This data element serves the following purpose:

Multiple announcements may be needed for what economic operators regard as a single shipment of waste under their commercial contracts, due to constraints on the way competent authorities expect movement announcements to be used. For example, a planned shipment of waste may be delayed by two weeks. Competent authorities may require the cancellation of the original movement announcement in that case, and the issuance of a new movement announcement with a new serial number. Via the movement UUID it is possible to transmit information expressing that different announcements refer to the same shipment of waste from the economic operators' point of view.

Note 2: This information is typically not of relevance to competent authorities.

Note 3: Software with a role in WasteX EDI shall NOT display this information to regular users, and must not let regular users edit this information.

The set of supported lexical representations and values: Character strings that are a canonical representation of a version 4 (random) Universally Unique Identifier (UUID). Note that each such character string consists of exactly 36 characters. Any character string of a length other than 36 is hence not one of the supported values.

Example value: »45c35151-f38b-42d4-ac3e-0a6d2659dbe6«

WasteProductionPartySite

EconomicOperatorSiteIdentity

0..256

The waste production/generation party and site from which the shipped waste originates.

Note 1: Corresponds to block 9 of Annex IB WSR.

Note 2: Each party and site must correspond to a waste production party and site combination from the notification. See formal validation 🠖R259.

WasteMass

MassValueAssignmentStatement

0..1

The mass of waste to be shipped.

UN03000214

Note 1: Corresponds to block 5 of Annex IB WSR.

Note 2: The MovementAnnouncement message contains the mass of waste intended to be shipped according to the notifier. A MovementAnnouncement message MUST NOT contain the received mass of waste, such as the mass determined at the end of a shipment via a weighbridge. This applies to all MovementAnnouncement message EDI, independent of the point in time at which the EDI transmission occurs - before, during or after the shipment (note that under regular circumstances parties conduct MovementAnnouncement message EDI before the shipment only, but not during or after the shipment). Likewise, this applies to both initial EDI transmissions and update transmissions of MovementAnnouncement messages. With WasteX, it is only messages of type ConfirmationOfWasteReceipt that contain the "received mass of waste". In particular, when a notifier eventually learns about the received mass of waste for a shipment, such as by the consignee's or facility's dissemination of a WasteX ConfirmationOfWasteReceiptMessage, the notifier MUST NOT disseminate an updated MovementAnnouncement message in which it replaces the "mass of waste intended to be shipped" with the "received mass of waste".

Example: A notifier intends to ship 20t of waste in a single shipment, and announces this with a MovementAnnouncement message. A facility receives 17t of waste for that shipment, and dissmeninates this information with a ConfirmationOfWasteReceiptMessage. The notifier MUST NOT disseminate an updated MovementAnnouncement message which updates/corrects the mast of waste to be shipped from 20t to 17t.

Note 3: This message element is subject to WasteX formal validation. For example, validation 🠖R207 automatically triggers a warning if the total mass of waste announced/received exceeds the total mass of waste notified/consented, and 🠖R530 and 🠖R557 automatically trigger an error if the waste mass value is negative or zero respectively.

Example value: NumericValue »20« with @unitID attribute »t« and QuantificationTypeID »E« for "Estimated"

WasteVolume

VolumeValueAssignmentStatement

0..1

The volume of waste to be shipped.

UN03000215

Note 1: Corresponds to block 5 of Annex IB WSR.

Note 2: Compare notes on WasteMass: This element contains the volume of waste intended to be shipped according to the notifier. It MUST NOT contain the received volume of waste. This also applies to the transmission of MovementAnnouncement message updates.

Note 3: This message element is subject to WasteX formal validation. For example, validation 🠖R837 automatically triggers a warning if the total volume of waste announced/received exceeds the total volume of waste notified/consented.

Example value: NumericValue »55« with @unitID attribute »m3« and QuantificationTypeID »C« for "Calculated"

PackageCount

CountContent

0..1

The total number of packages in the specified shipment of waste.

UN01005138

Note 1: Corresponds to block 7 of Annex IB WSR.

Note 2: This message element is subject to WasteX formal validation. For example, validation 🠖R837 automatically triggers a warning if the MovementAnnouncement message lacks the total number of packages.

Supported lexical representations and values:

  • The character string is a valid xs:integer lexical representation, i.e., it consists of a finite-length sequence of decimal digits (#x30-#x39) with an optional leading sign, representing an integer value
  • The character string contains at most 8 decimal digits
  • The integer value is greater or equal to 0 (validation 🠖R808)

Example value: »20«

PackageTypeID

PackageTypeIdentifierContent

0..16

The types of packages used in the specified shipment of waste (see also EUDIN ↗codelist 6524).

UN01005139

Note 1: Corresponds to block 7 of Annex IB WSR.

Note 2: Each movement announcement MUST contain package type information. See formal validation 🠖R378.

Note 3: Each package type MUST NOT occur more than once within a single movement announcement message. See formal validation 🠖R519.

Note 4: The WasteX movement announcement data format does NOT contain a package description on purpose. The notification rather than the movement announcement shall contain detailed information on package types, especially with "other" package types. In case there is a need for additional package information in relation to the individual shipment, the WasteX movement announcement message Remark element shall carry such information.

Note 5: This message element is subject to WasteX formal validation. For example, validation 🠖R479 automatically rejects a received user message if a package type is not among the notified and consented package types according to the notification/consent data at the validating EDI node.

The set of supported lexical representations and values:

  • 1: Drum
  • 2: Wooden Barrel
  • 3: Jerrican
  • 4: Box
  • 5: Bag
  • 6: Composite packaging
  • 7: Pressure receptacle
  • 8: Bulk
  • 9: Other

StartDate

DateContent

0..1

The day at which the shipment will start/depart according to the notifier's plans.

UN03000223

Note 1: Corresponds to block 6 of Annex IB WSR.

Note 2: Each movement announcement MUST contain a start date. See formal validation 🠖R439.

Note 3: This identifies the LOCAL departure date at the departure location.

Note 4: This message element is subject to WasteX formal validation. For example, validation 🠖R158 and 🠖R576 automatically trigger a warning if the shipment start date is not within the consented shipment period according to the corresponding notification/consent data at the validating EDI node.

Supported lexical representations and values:

  • The xs:date constraints apply. For example, the month component consists of two decimal digits, where 01 stands for January and 12 for December
  • Contains the year, month and day components
  • Does NOT contain a timezone component

Example value: »2022-10-31«

TransportMovement

TransportMovement

0..256

The transport movements for the shipment of waste, with information on the carriers.

UN03000226

Note 1: Corresponds to block 8 of Annex IB WSR.

Note 2: Each movement announcement MUST contain data on carriers. See formal validation 🠖R798.

Note 3: This message element is subject to WasteX formal validation. For example, validation 🠖R732 automatically triggers a warning for every combination of carrier and transport mode in the movement announcement not consented according to the corresponding notification/consent data at the validating EDI node.

NationalRoute

NationalRoute

0..128

Countries with their points of entry and points of exit for the shipment of waste.

UN03000238

Note 1: As required by Annex II, Part 2 (5) of the WSR.

Note 2: The order of entries must reflect the order of traversing the countries. In particular, the first entry must be for the country of dispatch, and the last entry for the country of destination.

Note 3: For countries of transit and the country of destination, the movement announcement message MUST contain point of entry information, whereas it MUST NOT contain point of entry information for the country of dispatch. See formal validation 🠖R686 and 🠖R606. Likeweise, for countries of dispatch and countries of transit the movement announcement message MUST contain point of exit information, whereas it MUST NOT contain point of exit information for the country of destination. See formal validation 🠖R705 and 🠖R959.

Note 4: The names of point of exit/entry must be specified such that the combination of point of exit from one country and the point of entry from the subsequent country uniquely identifies a border-crossing.

Note 5: This message element is subject to WasteX formal validation. For example, validation 🠖R824 automatically rejects a movement announcement if it refers to a country which the corresponding notification/consent data at the validating EDI node does not list as country of dispatch/transit/destination, and validation 🠖R446 automatically rejects a movement announcement if two consecutive countries are identical.

Example: Country »040« (AT, Austria) with point of exit »Kufstein« and subsequent country »276« (DE, Germany) with point of entry »Kiefersfelden«.

Remark

RemarkContent

0..1

A remark by the originator/creator of this waste shipment announcement related information.

Note 1: Corresponds largely to block 16 of Annex IB WSR.

Note 2: It is on purpose that the WasteX message format does NOT support providing language metdata, such as ISO 639 language codes like »en« for English or »de« for German. With WasteX EDI, parties must provide natural language information in a single language appropriate for all the other parties related to the shipment, economic operators and competent authorities. If a waste shipment passes through different language areas, then in many cases competent authorities expect waste shipment parties to provide textual information in English.

Supported lexical representations and values:

  • The character string contains a maximum of 1000 characters
  • The character string contains at least 1 character

Example value: »Multimodal - rail from Verona to Leipzig.«

MovementAnnouncement usage occurrences: WasteMovementUserMessage

MovementAnnouncementStatus

MovementAnnouncementStatus Schema diagram

Status of the announcement of an individual shipment of waste, in accordance with Article 16(b) of the WSR ("prior information regarding actual start of shipment"). With a MovementAnnouncementStatus message, a party (notifier) informs about the CANCELLATION of a previously announced shipment of waste.

Note: Parties can NOT undo cancellations via WasteX EDI. See the WasteX specification PDF, in particular the "regular data operations principle", for the reasoning behind this WasteX EDI design.

Name/Typemin..maxDefinition

AnnouncementIdentity

AnnouncementIdentity

1..1

A tuple of identifiers by which the notifier announces/announced the individual shipment of waste to competent authorities. Pursuant to the WSR, this tuple consists of (a) the notification number identifying the notification and consent(s), and (b) a serial number. The notifier uses serial number 1 for the first individual shipment of waste announced for a specific notification/consent, and increments the serial number for each subsequent announced shipment of waste under the same consent.

Note: This message element is subject to WasteX formal validation. For example, validation 🠖R688 automatically triggers a warning if the validating EDI node does not have a movement announcement in its database for the combination of notification number and serial number.

StatusID

MovementAnnouncementUpdateStatusIdentifierContent

1..1

The status of the movement announcement.

The set of supported lexical representations and values:

  • CANCELLED: The (previously announced) individual shipment of waste will not take place.

Remark

RemarkContent

0..1

A remark by the originator/creator of this waste shipment announcement status related information.

Note 1: This would typically contain an explanation of the reasons for a cancellation.

Note 2: It is on purpose that the WasteX message format does NOT support providing language metdata, such as ISO 639 language codes like »en« for English or »de« for German. With WasteX EDI, parties must provide natural language information in a single language appropriate for all the other parties related to the shipment, economic operators and competent authorities. If a waste shipment passes through different language areas, then in many cases competent authorities expect waste shipment parties to provide textual information in English.

MovementAnnouncementStatus usage occurrences: WasteMovementUserMessage

CarrierConfirmation

CarrierConfirmation Schema diagram

Carrier's confirmation of taking charge of a shipment of waste, in accordance with Article 16 of the WSR, as well as Annex IB block 8 and Annex IC paragraphs 6 and 32.

Name/Typemin..maxDefinition

AnnouncementIdentity

AnnouncementIdentity

1..1

Identification of shipment of waste by notification number and serial number of the announcement.

Note: The carrier confirms taking charge of one specific shipment of waste that has previously been announced by the notifier.

CarrierConfirmationUUID

UUIDIdentifierContent

1..1

A Version 4 (random) Universally Unique Identifier (UUID) in canonical representation, identifying the carrier's confirmation.

Note 1: For a single shipment of waste (under one notification number and one serial number), one carrier may cover multiple transport legs, even with the same mode of transport. This means that there can be multiple carrier confirmations by a single carrier for a single shipment of waste. Whether a transmitted carrier confirmation is an additional confirmation, or an update to a previously transmitted confirmation, is determined by the carrier confirmation UUID (same UUID: update; different UUID: additional confirmation).

Note 2: The notification number and serial number used in combination with a Carrier Confirmation UUID is fixed (frozen) with the first Carrier Confirmation containing this combination of IDs. Subsequently, the Carrier Confirmation UUID cannot be used with a different notification number or a different serial number.

Note 3: Software with a role in WasteX EDI shall NOT display this information to regular users, and must not let regular users edit this information.

The set of supported lexical representations and values: Character strings that are a canonical representation of a version 4 (random) Universally Unique Identifier (UUID). Note that each such character string consists of exactly 36 characters. Any character string of a length other than 36 is hence not one of the supported values.

Example value: »5e7d1d2e-d896-4f49-914a-31850e5195aa«

CarrierPartyID

EconomicOperatorIdentifier

1..1

The carrier taking charge of the shipment of waste.

UN03000313

Note 1: Corresponds to block 8 of Annex IB WSR.

Note 2: The carrier must correspond to a carrier specified in the notification and in the movement announcement.

TransportModeID

TransportModeIdentifierContent

0..1

The mode of transport used by the carrier for moving the shipment of waste (see also EUDIN ↗codelist 8149).

UN03000312

Note: Corresponds to block 8 of Annex IB WSR. Referred to as "means of transport" in the WSR.

The set of supported lexical representations and values:

  • R: Road
  • T: Train/rail
  • S: Sea
  • A: Air
  • W: Inland waterways

TransportMeansID

RelaxedIdentifierContent

0..1

An identification number from the registration of the transport means used by the carrier for moving the shipment of waste.

Example: Identifier from the license plate of a truck.

Note: The WSR does not require transport means IDs to be specified.

Date

DateContent

0..1

The day at which the carrier took charge of the shipment of waste.

Note: Corresponds to block 8 of Annex IB WSR. Referred to as "date of transfer" in the WSR.

Remark

RemarkContent

0..1

A remark by the originator/creator of this confirmation, i.e., by the carrier.

Note 1: Corresponds largely to block 16 of Annex IB WSR.

Note 2: It is on purpose that the WasteX message format does NOT support providing language metdata, such as ISO 639 language codes like »en« for English or »de« for German. With WasteX EDI, parties must provide natural language information in a single language appropriate for all the other parties related to the shipment, economic operators and competent authorities. If a waste shipment passes through different language areas, then in many cases competent authorities expect waste shipment parties to provide textual information in English.

CarrierConfirmation usage occurrences: WasteMovementUserMessage

ConfirmationOfWasteReceipt

ConfirmationOfWasteReceipt Schema diagram

Confirmation of the receipt of waste, in accordance with Article 16(d) or Article 15(c) of the WSR.

Note: Corresponds largely to WSR Annex IB Block 18 or Block 17 in the case of confirmation by a consignee that is not a disposal/recovery facility.

Name/Typemin..maxDefinition

AnnouncementIdentity

AnnouncementIdentity

1..1

Identification of the shipment announcement to which the waste receipt confirmation refers.

Note: The recipient confirms the receipt of one specific shipment of waste that has previously been announced by the notifier.

ReceiverPartySite

EconomicOperatorSiteIdentity

1..1

Party by which the waste shipment was received and, for receipt at treatment facilities, site at which the waste shipment was received.

ReceiptDate

DateContent

0..1

The day at which the shipped waste arrived at the recipient, i.e. at which the recipient took charge of the shipped waste.

UN01005199

ReceivedWasteMass

MassValueAssignmentStatement

0..1

The mass of waste received for the specified shipment.

UN01005202

ReceivedWasteVolume

VolumeValueAssignmentStatement

0..1

The volume of waste received for the specified shipment.

UN01005203

RejectionIndicator

IndicatorContent

0..1

The indication of whether or not the received waste is rejected by the recipient.

UN01005200

Note: This indication is expected to be set to true for full rejection only. Partial rejection cannot be expressed with structured data in this data format, but rather needs to be described through natural language text - see Remark element.

PlannedTreatmentCompletionDate

DateContent

0..1

The day at which the treatment (recovery or disposal) of waste is expected to be completed at the treatment facility that received the waste.

UN01005181

Note 1: If only an interim treatment operation is applied at the facility, this date refers to the completion of the interim treatment, but not to the completion of subsequent treatment operations.

Note 2: In both of the following two cases the data instance is expected to NOT contain the date at which the treatment is expected to be completed:

1. The recipt of waste is confirmed by a party other than a waste treatment facility

2. The recipient expresses full rejection of the received waste by providing a RejectionIndicator set to true.

Remark

RemarkContent

0..1

A remark by the originator/creator of this receipt of waste information on the receipt of waste.

Note 1: Corresponds largely to block 16 of Annex IB WSR.

Note 2: It is on purpose that the WasteX message format does NOT support providing language metdata, such as ISO 639 language codes like »en« for English or »de« for German. With WasteX EDI, parties must provide natural language information in a single language appropriate for all the other parties related to the shipment, economic operators and competent authorities. If a waste shipment passes through different language areas, then in many cases competent authorities expect waste shipment parties to provide textual information in English.

ConfirmationOfWasteReceipt usage occurrences: WasteMovementUserMessage

ConfirmationOfWasteTreatment

ConfirmationOfWasteTreatment Schema diagram

Confirmation of the completion of treatment of waste, in accordance with Article 16(e), Article 15(e) or Article 15(d) of the WSR.

Note: Corresponds largely to WSR Annex IB Block 19.

Name/Typemin..maxDefinition

AnnouncementIdentity

AnnouncementIdentity

0..1

Identification of the shipment announcement to which the waste treatment confirmation refers.

Note: The facility confirms the treatment of one specific shipment of waste that has previously been announced by the notifier.

TreatmentPartySite

EconomicOperatorSiteIdentity

0..1

The treatment party and site most relevant with respect to the described treatment of the shipped waste.

Note 1: For the confirmation of the completion of treatment for a shipment NOT entailing subsequent treatment, pursuant to WSR Art. 16(e), this must be the one treatment party and site specified in the notification.

Note 2: For the confirmation of the completion of an interim treatment, pursuant to WSR Art. 15(d), this must be the treatment party and site that has carried out the interim treatment.

Note 3: For the confirmation of the completion of the entire treatment in the country of destination, pursuant to WSR Art. 15(e), this should typically be the party and site carrying out the first non-interim treatment.

ScopeID

TreatmentScopeIdentifierContent

1..1

The scope of the waste treatment confirmed for the specified shipment of waste:

The set of supported lexical representations and values:

  • ENTIRE: The entire treatment in the country of destination, including all subsequent treatment (if any). Applies to confirmations pursuant to WSR Art. 16(e) and Art. 15(e).
  • FACILITY: The treatment at one particular treatment facility, not including any subsequent treatment, and not covering the entire treatment in the country of destination. Applies to confirmations pursuant to WSR Art. 15(d).

Note 1: For Art. 15(e), »ENTIRE« refers to the certification described in Annex 4 Paragraph 5 of the Correspondents' Guidelines No 3: "Once the interim disposal or recovery facility has obtained the last certificate(s) from a subsequent non-interim facility, it is to certify the following: “The non-interim disposal or recovery of the waste shipped under the notification referred to in block 1 and the shipment(s) referred to in block 2 and delivered for subsequent interim or non-interim recovery or disposal in the country of destination has been completed.”"

Note 2: The WasteX protocol does NOT support the exchange of information on the completion of the treatment of waste at INDIVDUAL subsequent treatment facilities.

TreatmentCompletionDate

DateContent

0..1

The day at which the described treatment (recovery or disposal) of the waste from the specified shipment has been completed.

UN01005144

Note: Depending on the scope of the described treatment, as indicated in the ScopeID element, this is either (a) the date at which the entire treatment in the country of destination has been completed, or (b) the date at which the treatment at a single treatment facility has been completed, without taking any subsequent treatment into account.

Remark

RemarkContent

0..1

A remark by the originator/creator of this treatment of waste related information.

Note 1: Corresponds largely to block 16 of Annex IB WSR.

Note 2: It is on purpose that the WasteX message format does NOT support providing language metdata, such as ISO 639 language codes like »en« for English or »de« for German. With WasteX EDI, parties must provide natural language information in a single language appropriate for all the other parties related to the shipment, economic operators and competent authorities. If a waste shipment passes through different language areas, then in many cases competent authorities expect waste shipment parties to provide textual information in English.

ConfirmationOfWasteTreatment usage occurrences: WasteMovementUserMessage

AnnouncementIdentity

AnnouncementIdentity Schema diagram

Identification of a movement announcement, consisting of notification number and serial number.

Name/Typemin..maxDefinition

NotificationID

RelaxedIdentifierContent

1..1

The identifier of the notification/consent as assigned by the competent authority of dispatch

Supported lexical representations and values:

  • Contains a maximum of 64 characters
  • Contains at least 1 character
  • The character string is a so-called token: This is a string that does not contain carriage return (#xD), line feed (#xA) or tabulator (#x9) characters, does not start or end with spaces (#x20) and does not contain a sequence of two or more consecutive spaces

Example value: »AT 034567«

SequenceNumberID

CountIdentifierContent

1..1

The serial number (sequential number) of the announced shipment for the specified notification.

Example: Serial number 1 must be assigned to the first shipment announcement for a specific notification, serial number 2 to the second announced shipment, etc.

Supported lexical representations and values:

  • The character string is a valid xs:integer lexical representation, i.e., it consists of a finite-length sequence of decimal digits (#x30-#x39) with an optional leading sign
  • The character string contains at most 8 decimal digits
  • The character string is a canonical lexical representation for xs:integer, i.e., it does not contain a »+« sign and its sequence of decimal digits does not contain leading zeros. Note: This is to ensure the uniformity of serial number lexical representations, and thus to help avoiding identification issues, such as treating announcements for serial numbers »7« and »07« as different announcements
  • The integer value is greater or equal to 1 (validation 🠖R602)

Note: Even though this element uses solely xs:integer compliant lexical presentations, the base for this element is xs:string, so that it is simple for software to remain in control over the actual lexical representation generated at message creation (marshalling).

Example value: »17«

AnnouncementIdentity usage occurrences: CarrierConfirmation, ConfirmationOfWasteReceipt, ConfirmationOfWasteTreatment, MovementAnnouncement, MovementAnnouncementStatus, WasteMovementSignalMessage

CarrierEconomicOperator

CarrierEconomicOperator Schema diagram

Information on a carrier.

Name/Typemin..maxDefinition

PartyID

EconomicOperatorIdentifier

0..1

The WasteX relevant ID of the economic operator.

RecipientSpecificPartyID

EconomicOperatorRegisterIdentifierContent

0..1

An ID of the economic operator specific to the message transmission recipient.

Note: For the edm.gv.at web service, this is the GLN used as main party identifier in edm.gv.at.

PartyName

NameContent

1..1

The economic operator's name, such as the registered company name.

PartyAddressText

DescriptionContent

0..1

The registered office address of the economic operator, provided as single string.

Example: "Saatwinkler Damm 42/43, 13627 Berlin, Germany"

TransportModeID

TransportModeIdentifierContent

0..5

The modes of transport consented for this carrier (see also EUDIN ↗codelist 8149).

The set of supported lexical representations and values:

  • R: Road
  • T: Train/rail
  • S: Sea
  • A: Air
  • W: Inland waterways

CarrierEconomicOperator usage occurrences: LatestNotification

CountryList

CountryList Schema diagram

A list of countries identified by ISO 3166-1 3-digit codes.

Name/Typemin..maxDefinition

ListElement

CountryListElement

0..512

An element of the list of countries.

CountryList usage occurrences: ValidationNodeReferenceData

CountryListElement

CountryListElement Schema diagram

An entry in a reference list of country codes.

Name/Typemin..maxDefinition

CountryID

CountryIdentifierContent

1..1

An ISO 3166-1 3-digit country code.

Examples:

  • 040: Austria
  • 056: Belgium
  • 276: Germany
  • 380: Italy
  • 756: Switzerland

CountryTwoLetterID

CountryTwoLetterIdentifierContent

0..1

The ISO 3166-1 two letter country code ("alpha-2").

Examples:

  • AT: Austria
  • BE: Belgium
  • DE: Germany
  • IT: Italy
  • CH: Switzerland

ValidityStartDate

DateContent

0..1

The date at which the entry becomes valid, i.e., at which the country comes into existence according to ISO 3166-1.

Note: The ValidityStartDate MUST be omitted for entries to which no start of validity is recorded.

ValidityEndDate

DateContent

0..1

The date at which the entry becomes invalid, i.e., at which the country ceases to exist according to ISO 3166-1.

Note: The ValidityEndDate MUST be omitted for entries to which no end of validity is recorded.

CountryListElement usage occurrences: CountryList

DatabaseInstancePartyList

DatabaseInstancePartyList Schema diagram

Identification of parties which use a specific registered database instance.

Note: This is intended to be used as an "allow list" for EDI. Operators of EDI node A send such a list to operators of another EDI node B, so that EDI node B can accept EDI node A to "represent" certain parties.

Name/Typemin..maxDefinition

DatabaseInstanceRegistrationID

RelaxedIdentifierContent

1..1

An identifier by which the database instance is registered at other EDI nodes.

PartyID

PartyIdentifier

1..16384

Identification of parties using the specified database instance.

DatabaseInstancePartyList usage occurrences: DatabaseInstancePartyCollection

EconomicOperator

EconomicOperator Schema diagram

Information on an economic operator.

Name/Typemin..maxDefinition

PartyID

EconomicOperatorIdentifier

0..1

The WasteX relevant ID of the economic operator.

RecipientSpecificPartyID

EconomicOperatorRegisterIdentifierContent

0..1

An ID of the economic operator specific to the message transmission recipient.

Note: For the edm.gv.at web service, this is the GLN used as main party identifier in edm.gv.at.

PartyName

NameContent

1..1

The economic operator's name, such as the registered company name.

PartyAddressText

DescriptionContent

0..1

The registered office address of the economic operator, provided as single string.

Example: "Saatwinkler Damm 42/43, 13627 Berlin, Germany"

EconomicOperator usage occurrences: LatestNotification

EconomicOperatorSite

EconomicOperatorSite Schema diagram

Information on an economic operator in combination with a site.

Note: Site is either a waste production site or a waste treatment site.

Name/Typemin..maxDefinition

PartyID

EconomicOperatorIdentifier

0..1

The WasteX relevant ID of the economic operator.

RecipientSpecificPartyID

EconomicOperatorRegisterIdentifierContent

0..1

An ID of the economic operator specific to the message transmission recipient.

Note: For the edm.gv.at web service, this is the GLN used as main party identifier in edm.gv.at.

PartyName

NameContent

1..1

The economic operator's name, such as the registered company name.

PartyAddressText

DescriptionContent

0..1

The registered office address of the economic operator, provided as single string.

Example: "Saatwinkler Damm 42/43, 13627 Berlin, Germany"

SitePostalAreaID

PostalAreaIdentifierContent

1..1

The post code of the area within which the site is located.

Example: "13627"

SiteName

NameContent

0..1

The name of the site.

SiteAddressText

DescriptionContent

0..1

The site address, provided as single string.

Example: "Saatwinkler Damm 42/43, 13627 Berlin, Germany"

EconomicOperatorSite usage occurrences: LatestNotification

EconomicOperatorSiteIdentity

EconomicOperatorSiteIdentity Schema diagram

Identification of an economic operator in combination with a site.

Examples:

Name/Typemin..maxDefinition

PartyID

EconomicOperatorIdentifier

1..1

An identification of the party.

Supported lexical representations and values:

  • Contains a maximum of 64 characters
  • Contains at least 1 character
  • The character string is a so-called token: This is a string that does not contain carriage return (#xD), line feed (#xA) or tabulator (#x9) characters, does not start or end with spaces (#x20) and does not contain a sequence of two or more consecutive spaces

Example value: »DE140462045« in combination with @registerID attribute »VAT.EU« for the identification of company »P-D Industriegesellschaft mbH, Wilsdruffer Straße 11, 01723 Wilsdruff, Germany«

SitePostalAreaID

PostalAreaIdentifierContent

0..1

The post code of the area within which the site is located.

Supported lexical representations and values:

  • Contains a maximum of 10 characters
  • Contains at least 1 character
  • The character string is a so-called token: This is a string that does not contain carriage return (#xD), line feed (#xA) or tabulator (#x9) characters, does not start or end with spaces (#x20) and does not contain a sequence of two or more consecutive spaces

Example value: »02699« for a »P-D Industriegesellschaft mbH« site located in »Wetro-Siedlung 13-22, 02699 Puschwitz, Germany«

EconomicOperatorSiteIdentity usage occurrences: ConfirmationOfWasteReceipt, ConfirmationOfWasteTreatment, MovementAnnouncement

FormalValidationReport

FormalValidationReport Schema diagram

Results of the formal validation of a WasteX user message in Schematron Validation Report Language format.

Name/Typemin..maxDefinition

svrl:schematron-output

svrl:schematron-output

1..1

Results of the formal validation of a WasteX user message in Schematron Validation Report Language format.

Note: SVRL supports rich text formatting in validation report texts (svrl:text elements), e.g. emph elements to highlight certain words in the text. The WasteX EDI protocol does NOT make use of such rich text formatting, i.e. all validation report texts are plain text without markup. For this reason, and to simplify the implementation of WasteX EDI, WasteX uses an svrl.xsd Schema Definition adapted in order to NOT support rich text markup.

FormalValidationReport usage occurrences: WasteMovementSignalMessage

LatestCarrierConfirmation

LatestCarrierConfirmation Schema diagram

Latest carrier confirmation available at the EDI node for the notification number, serial number and carrier confirmation UUID referred to in the validation context message.

Name/Typemin..maxDefinition

TransportModeID

TransportModeIdentifierContent

0..1

The mode of transport used by the carrier for moving the shipment of waste (see also EUDIN ↗codelist 8149).

UN03000312

Note: Corresponds to block 8 of Annex IB WSR. Referred to as "means of transport" in the WSR.

The set of supported lexical representations and values:

  • R: Road
  • T: Train/rail
  • S: Sea
  • A: Air
  • W: Inland waterways

Pseudo-SQL: select TRANSPORT_MODE_ID from CARRIER_CONFIRMATION where NOTIFICATION_NR=//AnnouncementIdentity/NotificationID and SEQUENCE_NUMBER_ID=//AnnouncementIdentity/SequenceNumberID and CONFIRMATION_UUID=msg.CarrierConfirmationUUID

Date

DateContent

0..1

The day at which the carrier took charge of the shipment of waste.

Note: Corresponds to block 8 of Annex IB WSR. Referred to as "date of transfer" in the WSR.

Pseudo-SQL: select DATE from CARRIER_CONFIRMATION where NOTIFICATION_NR=//AnnouncementIdentity/NotificationID and SEQUENCE_NUMBER_ID=//AnnouncementIdentity/SequenceNumberID and CONFIRMATION_UUID=msg.CarrierConfirmationUUID

LatestCarrierConfirmation usage occurrences: ValidationNodeIndividualData

LatestConfirmationOfWasteReceipt

LatestConfirmationOfWasteReceipt Schema diagram

Latest confirmation of waste receipt information available at the EDI node for the notification number and serial number referred to in the validation context message.

Name/Typemin..maxDefinition

ReceiptDate

DateContent

0..1

The day at which the shipped waste arrived at the recipient, as specified in the confirmation of waste receipt with the combination of notification number and serial number to which the message in the validation context refers.

Pseudo-SQL: select RECEIPT_DATE from CONFIRMATION_OF_RECEIPT where NOTIFICATION_NR=//AnnouncementIdentity/NotificationID and SEQUENCE_NUMBER_ID=//AnnouncementIdentity/SequenceNumberID

ReceivedWasteMass

MassValueAssignmentStatement

0..1

The mass of waste received, as specified in the confirmation of waste receipt with the combination of notification number and serial number to which the message in the validation context refers.

Pseudo-SQL: select RECEIVED_WASTE_MASS from CONFIRMATION_OF_RECEIPT where NOTIFICATION_NR=//AnnouncementIdentity/NotificationID and SEQUENCE_NUMBER_ID=//AnnouncementIdentity/SequenceNumberID

ReceivedWasteVolume

VolumeValueAssignmentStatement

0..1

The volume of waste received, as specified in the confirmation of waste receipt with the combination of notification number and serial number to which the message in the validation context refers.

Pseudo-SQL: select RECEIVED_WASTE_VOLUME from CONFIRMATION_OF_RECEIPT where NOTIFICATION_NR=//AnnouncementIdentity/NotificationID and SEQUENCE_NUMBER_ID=//AnnouncementIdentity/SequenceNumberID

RejectionIndicator

IndicatorContent

0..1

The indication of whether or not the received waste is rejected by the recipient, as specified in the confirmation of waste receipt with the combination of notification number and serial number to which the message in the validation context refers.

Pseudo-SQL: select REJECTION_INDICATOR from CONFIRMATION_OF_RECEIPT where NOTIFICATION_NR=//AnnouncementIdentity/NotificationID and SEQUENCE_NUMBER_ID=//AnnouncementIdentity/SequenceNumberID

PlannedTreatmentCompletionDate

DateContent

0..1

The day at which the treatment (recovery or disposal) of waste is expected to be completed at the treatment facility that received the waste, as specified in the confirmation of waste receipt with the combination of notification number and serial number to which the message in the validation context refers.

Pseudo-SQL: select TREATMENT_COMPLETION_DATE from CONFIRMATION_OF_RECEIPT where NOTIFICATION_NR=//AnnouncementIdentity/NotificationID and SEQUENCE_NUMBER_ID=//AnnouncementIdentity/SequenceNumberID

LatestConfirmationOfWasteReceipt usage occurrences: ValidationNodeIndividualData

LatestConfirmationOfWasteTreatment

LatestConfirmationOfWasteTreatment Schema diagram

Latest confirmation of waste treatment information available at the EDI node for the notification number and serial number referred to in the validation context message.

Name/Typemin..maxDefinition

TreatmentCompletionDate

DateContent

0..1

The day at which the treatment (recovery or disposal) of the waste has been completed, as specified in the confirmation of waste treatment with the combination of notification number and serial number to which the message in the validation context refers.

Pseudo-SQL: select TREATMENT_COMPLETION_DATE from CONFIRMATION_OF_TREATMENT where NOTIFICATION_NR=//AnnouncementIdentity/NotificationID and SEQUENCE_NUMBER_ID=//AnnouncementIdentity/SequenceNumberID and SCOPE_ID="ENTIRE"/"FACILITY"

LatestConfirmationOfWasteTreatment usage occurrences: ValidationNodeIndividualData

LatestMovementAnnouncement

LatestMovementAnnouncement Schema diagram

Latest movement announcement information available at the EDI node for the notification number and serial number referred to in the validation context message.

Name/Typemin..maxDefinition

StatusID

MovementAnnouncementStatusIdentifierContent

0..1

The status of the movement announcement with the combination of notification number and serial number to which the message in the validation context refers.

Note: Status information recorded in the database at the EDI node must be mapped to one of the three values supported in this data format.

The set of supported lexical representations and values:

  • ACTIVE: Default. The movement announcement is active.
  • CANCELLED: The announced movement has been cancelled.
  • WITHDRAWN: Transmissions for the combination of notification and serial number have been withdrawn.

Pseudo-SQL: select STATUS_ID from MOVEMENT_ANNOUNCEMENT where NOTIFICATION_NR=//AnnouncementIdentity/NotificationID and SEQUENCE_NUMBER_ID=//AnnouncementIdentity/SequenceNumberID

WasteMass

MassValueAssignmentStatement

0..1

The mass of waste to be shipped as specified in the movement announcement with the combination of notification number and serial number to which the message in the validation context refers.

Pseudo-SQL: select WASTE_MASS from MOVEMENT_ANNOUNCEMENT where NOTIFICATION_NR=//AnnouncementIdentity/NotificationID and SEQUENCE_NUMBER_ID=//AnnouncementIdentity/SequenceNumberID

WasteVolume

VolumeValueAssignmentStatement

0..1

The volume of waste to be shipped as specified in the movement announcement with the combination of notification number and serial number to which the message in the validation context refers.

Pseudo-SQL: select WASTE_VOLUME from MOVEMENT_ANNOUNCEMENT where NOTIFICATION_NR=//AnnouncementIdentity/NotificationID and SEQUENCE_NUMBER_ID=//AnnouncementIdentity/SequenceNumberID

StartDate

DateContent

0..1

The shipment start date specified in the movement announcement for the combination of notification number and serial number to which the message in the validation context refers.

Pseudo-SQL: select START_DATE from MOVEMENT_ANNOUNCEMENT where NOTIFICATION_NR=//AnnouncementIdentity/NotificationID and SEQUENCE_NUMBER_ID=//AnnouncementIdentity/SequenceNumberID

TransportMovement

LatestTransportMovement

0..256

The transport movements specified in the movement announcement for the combination of notification number and serial number to which the message in the validation context refers.

Pseudo-SQL: select TRANSPORT_MOVEMENT from MOVEMENT_ANNOUNCEMENT where NOTIFICATION_NR=//AnnouncementIdentity/NotificationID and SEQUENCE_NUMBER_ID=//AnnouncementIdentity/SequenceNumberID

LatestMovementAnnouncement usage occurrences: ValidationNodeIndividualData

LatestNotification

LatestNotification Schema diagram

Latest notification information available at the EDI node for the notification number referred to in the validation context message.

Name/Typemin..maxDefinition

MovementPermissionStatusIndicator

IndicatorContent

0..1

An indication of whether or not a status is recorded for the notification under which waste shipments are actually permitted. "true" stands for a status under which waste shipments can be conducted, if the conditions set by competent authorities are met.

Pseudo-SQL: select case when EFFECTIVE_STATE in ('CONSENTED','TACIT_CONSENT') then 1 else 0 end as MOVEMENT_PERMISSION_STATUS from NOTIFICATION where NOTIFICATION_NR=//AnnouncementIdentity/NotificationID

Example: A movement announcement may refer to a notification DE 123. The database at the EDI node receiving this message may actually contain information on a notification 123. The data on notification 123 in the database may however indicate a status in which shipments of waste are not permitted under the notification. The data may for example indicate that the notification has been submitted to CAs, but that there are not yet consents from all involved CAs. In such a case the MovementPermissionStatusIndicator will be set to false.

ValidityStartDate

DateContent

0..1

The start date of the period of validity for this notification, i.e., the first day at which shipments are permitted according to the authorities' consent.

Note: Effective validity start date as derived from the individual CAs' consents, corresponding to block 20 of Annex IA WSR (»consent valid from«).

Pseudo-SQL: select VALIDITY_START_DATE from NOTIFICATION where NOTIFICATION_NR=//AnnouncementIdentity/NotificationID

ValidityEndDate

DateContent

0..1

The end date of the period of validity for this notification, i.e., the last day at which shipments are permitted according to the authorities' consent.

Note: Effective validity end date as derived from the individual CAs' consents, corresponding to block 20 of Annex IA WSR (»consent valid until«).

Pseudo-SQL: select VALIDITY_END_DATE from NOTIFICATION where NOTIFICATION_NR=//AnnouncementIdentity/NotificationID

WasteMass

MassNumericValue

0..1

The maximum amount of waste to be shipped (sum over all individual shipments) as consented by the authorities for the notification.

Note: Corresponds to block 5 of Annex IA WSR.

Pseudo-SQL: select WASTE_MASS from NOTIFICATION where NOTIFICATION_NR=//AnnouncementIdentity/NotificationID

WasteVolume

VolumeNumericValue

0..1

The maximum total volume of waste to be shipped (sum over all individual shipments) consented by the authorities for the notification.

Pseudo-SQL: select WASTE_VOLUME from NOTIFICATION where NOTIFICATION_NR=//AnnouncementIdentity/NotificationID

PackageTypeID

PackageTypeIdentifierContent

0..16

The types of packages consented by the authorities for the notification (see also EUDIN ↗codelist 6524).

Pseudo-SQL: select PACKAGE_TYPE_ID from NOTIFICATION_PACKAGE where NOTIFICATION_NR=//AnnouncementIdentity/NotificationID

The set of supported lexical representations and values:

  • 1: Drum
  • 2: Wooden Barrel
  • 3: Jerrican
  • 4: Box
  • 5: Bag
  • 6: Composite packaging
  • 7: Pressure receptacle
  • 8: Bulk
  • 9: Other

MovementCount

CountContent

0..1

The maximum total number of waste shipments as consented by the authorities in the notification.

Note: Corresponds to block 4 of Annex IA WSR.

Pseudo-SQL: select MOVEMENT_COUNT from NOTIFICATION where NOTIFICATION_NR=//AnnouncementIdentity/NotificationID

Country

NotificationCountry

0..128

The consented countries of dispatch, transit and destination.

Note: The first entry must identify the country of dispatch. That last entry must identify the country of destination. All other entries must identify transit countries.

PartyIdentifierCompleteIndicator

IndicatorContent

0..1

An indication whether or not the following applies: In the database at the validating EDI node, for all parties from the notification/consent, the identifier required for matching party references from WasteX messages, such as VAT.EU, is available in the database. "true" stands for the availability of all identifiers, "false" stands for missing identifiers.

Note 1: The validating EDI node shall set this to false if and only if it has to omit parties and/or party-site-combinations from the notification validation context (WasteProductionPartySite, NotifierParty, CarrierParty, ConsigneeParty, WasteTreatmentPartySite, SubsequentWasteTreatmentPartySite) due to missing WasteX relevant IDs.

Note 2: This must only be filled by validating EDI nodes that require a matching with parties from the notification. PartyIdentifierCompleteIndicator set to "false" automatically leads to the rejection of transmitted WasteX messages, INDEPENDENT of whether or not individual look-ups (carrier, waste producer, etc.) fail.

WasteProductionPartySite

EconomicOperatorSite

0..256

The waste producers and waste production sites as specified in the notification.

Note 1: Corresponds to block 9 of Annex IA and Annex IC, point 20 of the WSR: »If the waste has been produced by more than one producer, append a list providing the requested information for each producer«.

Note 2: The combination of PartyID and SitePostalAreaID must be unique within all waste production party/sites.

Pseudo-SQL: select distinct WASTE_PRODUCTION_PARTY_SITE from NOTIFICATION where NOTIFICATION_NR=//AnnouncementIdentity/NotificationID

NotifierParty

EconomicOperator

0..1

The notifier as specified in the notification.

Note: Corresponds to block 1 of Annex IA WSR.

Pseudo-SQL: select NOTIFIER_PARTY from NOTIFICATION where NOTIFICATION_NR=//AnnouncementIdentity/NotificationID

CarrierParty

CarrierEconomicOperator

0..256

The carriers as specified in the notification.

Note: Corresponds to block 8 of Annex IA and Annex IC, point 19 of the WSR: »If more than one carrier is involved, append to the notification document a complete list giving the required information for each carrier«.

Pseudo-SQL: select distinct CARRIER_PARTY from NOTIFICATION where NOTIFICATION_NR=//AnnouncementIdentity/NotificationID

ConsigneeParty

EconomicOperator

0..1

The consignee as specified in the notification.

Note: Corresponds to block 2 of Annex IA WSR.

Pseudo-SQL: select CONSIGNEE_PARTY from NOTIFICATION where NOTIFICATION_NR=//AnnouncementIdentity/NotificationID

WasteTreatmentPartySite

EconomicOperatorSite

0..1

The waste treatment parties and waste treatment sites as specified in the notification.

Note 1: Corresponds to block 10 of Annex IA WSR.

Note 2: In case of treatment at subsequent facilities in the country of destination, this is the first interim treatment facility from which - after interim treatment - the waste is moved to subsequent treatment facilities. In cases without treatment at subsequent facilities this is the one (non-interim) facility from the notification in the country of destination.

Note 3: The combination of PartyID and SitePostalAreaID must be unique within all waste treatment party/sites (both WasteTreatmentPartySite and SubsequentWasteTreatmentPartySite).

Pseudo-SQL: select WASTE_TREATMENT_PARTY_SITE from NOTIFICATION where NOTIFICATION_NR=//AnnouncementIdentity/NotificationID

SubsequentWasteTreatmentPartySite

EconomicOperatorSite

0..256

Waste treatment parties and waste treatment sites at which subsequent treatment is carried out, as specified in the notification.

Note 1: Corresponds to Annex IC, point 21 of the WSR: »In the case of subsequent treatment, information on the subsequent facility or facilities, where any subsequent interim treatment operation or operations takes or take place or may take place should be provided in an annex«.

Note 2: The combination of PartyID and SitePostalAreaID must be unique within all waste treatment party/sites (both WasteTreatmentPartySite and SubsequentWasteTreatmentPartySite).

Pseudo-SQL: select distinct SUBSEQUENT_WASTE_TREATMENT_PARTY_SITE from NOTIFICATION where NOTIFICATION_NR=//AnnouncementIdentity/NotificationID

AnnouncemenEaseIndicator

IndicatorContent

0..1

An indication of whether or not all competent authorities have agreed to a simplified handling of movement announcements for the notification. "true" stands for authorities accepting simplified handling. Under a simplified handling, competent authorities accept the transmission of movement announcements up until the start of the shipment rather than up until 3 or 1 working days prior to the shipment.

Pseudo-SQL: select case when ANNOUNCEMENT_EASE_INDICATOR from NOTIFICATION where NOTIFICATION_NR=//AnnouncementIdentity/NotificationID

LatestNotification usage occurrences: ValidationNodeIndividualData

LatestTransportMovement

Details on a single transport movement, such as carrier and mode of transport.

Name/Typemin..maxDefinition

CarrierPartyID

EconomicOperatorIdentifier

0..1

The WasteX relevant ID of the carrier conducting the transport movement.

UN03000313

Note 1: Corresponds to block 8 of Annex IB WSR.

Note 2: This message element is subject to WasteX formal validation. For example, validation 🠖R521 automatically rejects a received user message if a carrier party is not among the notified and consented carriers according to the corresponding notification/consent data at the validating EDI node.

Supported lexical representations and values:

  • Contains a maximum of 64 characters
  • Contains at least 1 character
  • The character string is a so-called token: This is a string that does not contain carriage return (#xD), line feed (#xA) or tabulator (#x9) characters, does not start or end with spaces (#x20) and does not contain a sequence of two or more consecutive spaces

Example value: »DE188158403« in combination with @registerID attribute »VAT.EU« for the identification of carrier »DB Cargo AG, Rheinstraße 2, 55116 Mainz, Germany«

RecipientSpecificCarrierPartyID

EconomicOperatorRegisterIdentifierContent

0..1

A carrier ID specific to the message transmission recipient.

Note: For the edm.gv.at web service, this is the GLN used as main party identifier in edm.gv.at.

TransportModeID

TransportModeIdentifierContent

0..1

The mode of transport for this transport movement (see also EUDIN ↗codelist 8149).

UN03000312

Note 1: According to the WSR the carriers provide mode of transport information. The WasteX message format makes it however possible that the notifier provides mode of transport information in advance.

Note 2: This message element is subject to WasteX formal validation. For example, validation 🠖R732 automatically triggers a warning if a combination of carrier party and transport mode is not among the notified and consented carrier and transport mode combinations according to the corresponding notification/consent data at the validating EDI node.

The set of supported lexical representations and values:

  • R: Road
  • T: Train/rail
  • S: Sea
  • A: Air
  • W: Inland waterways

LatestTransportMovement usage occurrences: LatestMovementAnnouncement

MassValueAssignmentStatement

MassValueAssignmentStatement Schema diagram

A mass value assignment statement, e.g. "has a mass of 20t".

Name/Typemin..maxDefinition

NumericValue

MassNumericValue

1..1

The mass expressed as a numeric value in combination with a unit in attribute @unitID, e.g. "20t".

Note 1: Due to the use of a numeric data type, the precision/uncertainty of results (significant digits) CANNOT be expressed via the notation of the numeric value. For example, the two literals 30.00 and 30.0 are interpreted as the same numerical value.

Supported lexical representations and values for the NumericValue content:

  • The string complies with a lexical presentation defined for xs:decimal
  • In particular, the string OPTIONALLY contains a decimal separator according to xs:decimal syntax
  • In particular, according to xs:decimal syntax, the decimal separator is the dot (#x2E), and NOT the comma (#x2C), the latter of which is common in German-speaking countries
  • In particular, the string according to xs:decimal syntax does NOT contain any thousands separators or other digit grouping characters
  • In particular, the string according to xs:decimal syntax OPTIONALLY contains a "+"/"-" sign, where strings without a sign are equivalent to strings with a "+" sign
  • The string contains at least 1 decimal digit (0-9)
  • The string contains a maximum of 25 decimal digits (0-9)
  • The string contains a maximum of 5 fractional digits, i.e. of the total number of digits, a maximum of 5 digits is BEHIND a decimal separator character
  • The value is greater than 0 (validation 🠖R530 and 🠖R557)

Example value: »20.1«

Note 2: A case sensitive ISO/UCUM code identifies the unit in attribute @unitID, e.g. "t". See EUDIN ↗codelist 9184.

The set of supported values for attribute @unitID:

  • t: metric ton

QuantificationTypeID

QuantificationTypeIdentifierContent

0..1

The type of quantification used for determining the waste mass (see also EUDIN ↗codelist 7299).

The set of supported lexical representations and values:

  • M: Measurement
  • C: Calculation
  • E: Estimation

MassValueAssignmentStatement usage occurrences: ConfirmationOfWasteReceipt, LatestConfirmationOfWasteReceipt, LatestMovementAnnouncement, MovementAnnouncement

NationalRoute

NationalRoute Schema diagram

Details on the section of a transport route within a particular country.

Name/Typemin..maxDefinition

CountryID

CountryIdentifierContent

1..1

The country within which this route section lies, identified by an ISO 3166-1 3-digit code.

UN01005197

Note 1: EUDIN ↗codelist 3862, which reproduces the entries of ISO 3166-1, defines the set of supported values.

Note 2: The WasteX specification uses the ↗codelist 3862 dynamically. This means that developers must prepare software reading and writing WasteX compliant data instances for changes in the codelist, especially the addition of entries, independent of any changes to the WasteX message format. The latest version of the EUDIN ↗codelist 3862 is available from edm.gv.at and through a codelist web service. See the WasteX specification PDF for more details.

Note 3: The WasteX specification uses ISO 3166-1 3-digit codes instead of the more commonly known two-letter codes as ISO ascertains uniqueness over longer periods of time, such as multiple years, only for the 3-digit codes. Such uniqueness does not in all cases apply to two-letter codes. For example, ISO has assigned the two-letter code CS to both Czechoslovakia (until 1993) and to Serbia and Montenegro (from 2003 to 2006).

Note 4: This message element is subject to WasteX formal validation. For example, validation 🠖R824 automatically rejects a movement announcement if it refers to a country which the corresponding notification/consent data at the validating EDI node does not list as country of dispatch/transit/destination.

Example value: »276« for Germany.

EntryPointName

NameContent

0..1

The name of the point of entry into the country specified in CountryID.

UN01005160/UN01005223

Note: The message MUST contain point of entry information for countries of transit and country of destination, and MUST NOT contain point of entry information for the country of dispatch. See formal validation 🠖R686 and 🠖R606.

Supported lexical representations and values:

  • Contains a maximum of 120 characters
  • Contains at least 1 character
  • The character string is a so-called token: This is a string that does not contain carriage return (#xD), line feed (#xA) or tabulator (#x9) characters, does not start or end with spaces (#x20) and does not contain a sequence of two or more consecutive spaces

Example value: »Kiefersfelden«

ExitPointName

NameContent

0..1

The name of the point of exit from the country specified in CountryID.

UN01005161/UN01005223

Note: The message MUST contain point of exit information for the country of dispatch and countries of transit, and MUST NOT contain point of exit information for the country of destination. See formal validation 🠖R705 and 🠖R959.

Supported lexical representations and values:

  • Contains a maximum of 120 characters
  • Contains at least 1 character
  • The character string is a so-called token: This is a string that does not contain carriage return (#xD), line feed (#xA) or tabulator (#x9) characters, does not start or end with spaces (#x20) and does not contain a sequence of two or more consecutive spaces

Example value: »Kufstein«

NationalRoute usage occurrences: MovementAnnouncement

NotificationCountry

NotificationCountry Schema diagram

Details of a notification/consent on a particular country (country of dispatch, transit or destination).

Name/Typemin..maxDefinition

CountryID

CountryIdentifierContent

1..1

The country identified by an ISO 3166-1 3-digit code.

Example: Code "276" for Germany.

Note: The set of supported values is defined by EUDIN ↗codelist 3862, which reproduces the entries of ISO 3166-1.

EntryPointName

NameContent

0..32

The names of consented points of entry into the respective country.

ExitPointName

NameContent

0..32

The names of consented points of exit from the respective country.

NotificationCountry usage occurrences: LatestNotification

TransportMovement

TransportMovement Schema diagram

Details on a single transport movement, such as carrier and mode of transport.

Name/Typemin..maxDefinition

CarrierPartyID

EconomicOperatorIdentifier

0..1

The WasteX relevant ID of the carrier conducting the transport movement.

UN03000313

Note 1: Corresponds to block 8 of Annex IB WSR.

Note 2: This message element is subject to WasteX formal validation. For example, validation 🠖R521 automatically rejects a received user message if a carrier party is not among the notified and consented carriers according to the corresponding notification/consent data at the validating EDI node.

Supported lexical representations and values:

  • Contains a maximum of 64 characters
  • Contains at least 1 character
  • The character string is a so-called token: This is a string that does not contain carriage return (#xD), line feed (#xA) or tabulator (#x9) characters, does not start or end with spaces (#x20) and does not contain a sequence of two or more consecutive spaces

Example value: »DE188158403« in combination with @registerID attribute »VAT.EU« for the identification of carrier »DB Cargo AG, Rheinstraße 2, 55116 Mainz, Germany«

TransportModeID

TransportModeIdentifierContent

0..1

The mode of transport for this transport movement (see also EUDIN ↗codelist 8149).

UN03000312

Note 1: According to the WSR the carriers provide mode of transport information. The WasteX message format makes it however possible that the notifier provides mode of transport information in advance.

Note 2: This message element is subject to WasteX formal validation. For example, validation 🠖R732 automatically triggers a warning if a combination of carrier party and transport mode is not among the notified and consented carrier and transport mode combinations according to the corresponding notification/consent data at the validating EDI node.

The set of supported lexical representations and values:

  • R: Road
  • T: Train/rail
  • S: Sea
  • A: Air
  • W: Inland waterways

TransportMovement usage occurrences: MovementAnnouncement

ValidationNodeAggregatedChangeData

ValidationNodeAggregatedChangeData Schema diagram

An aggregation of record CHANGES that occurred at an EDI node database.

Name/Typemin..maxDefinition

ShipmentRecordContentUpdateCount

CountContent

0..1

The number of record content updates (not counting record entry and record status updates) in the EDI node database, prior to the receipt of the new message (contained in the validation context), for the combination of the following:

1. notification number EQUAL to that of the message in the validation context

2. serial number EQUAL to that of the message in the validation context

3. type of content EQUAL to that of the validation context message (see also the note below on status update messages)

Note 1: For newly received status update messages, this element must be filled for the underlying content message type. For example, for a newly received "MovementAnnouncementStatus" message, this element must be filled for "MovementAnnouncement" records. See also the pseudo SQL below. Analogously, the EDI node must interpret/log status updates as interactions on records of the underlying content type.

Note 2: This aggregation must take into account ALL records matching the above criteria, independent of entry through data interface or GUI, and independent of origin.

Pseudo-SQL: select COUNT(*) from RECORD_CHANGE_LOG where NOTIFICATION_NR=//AnnouncementIdentity/NotificationID and SEQUENCE_NUMBER_ID=//AnnouncementIdentity/SequenceNumberID and INTERACTION_TYPE_ID="content_update" and RECORD_TYPE_ID=replace(local-name(//MessageCreationPartyID/following-sibling::*),'Status','')

ShipmentRecordEarliestUTCTimestamp

TimestampContentType

0..1

The timestamp of the earliest record interaction (initial entry) at the EDI node database, prior to the receipt of the new message, for records with a combination of the following:

a. notification number EQUAL to that of the message in the validation context

b. serial number EQUAL to that of the message in the validation context

c. type of content EQUAL to that of the validation context message (see also the note below on status update messages)

Note 1: For newly received status update messages, this element must be filled for the underlying content message type. For example, for a newly received "MovementAnnouncementStatus" message, this element must be filled for "MovementAnnouncement" records. See also the pseudo SQL below. Analogously, the EDI node must interpret/log status updates as interactions on records of the underlying content type.

Note 2: This aggregation must take into account ALL records matching the above criteria, independent of entry through data interface or GUI, and independent of origin.

Pseudo-SQL (assuming logging of record entries/updates in the EDI node DB): select min(UTCTIMESTAMP) from RECORD_CHANGE_LOG where NOTIFICATION_NR=//AnnouncementIdentity/NotificationID and SEQUENCE_NUMBER_ID=//AnnouncementIdentity/SequenceNumberID and CONTENT_TYPE_ID=replace(local-name(//MessageCreationPartyID/following-sibling::*),'Status','')

Supported lexical representations and values:

  • The xs:dateTime constraints apply. For example, the month component consists of two decimal digits, where 01 stands for January and 12 for December
  • Contains the year, month, day, hour, minute, second, fractional second and timezone components
  • The accuracy is such that the fractions of a second component consists of exactly 6 decimal digits. This means that the fractional second component must contain trailing zeros if needed for 6 decimal digit accuracy. Note that this is an intentional deviation from xs:dateTime canonical representations, as canonical representations do not contain trailing zeros
  • The time zone is UTC

Example value: »2022-04-21T11:01:35.524380Z«

ShipmentRecordLatestUTCTimestamp

TimestampContentType

0..1

The timestamp of the latest record interaction (latest update, or initial entry if there are no updates) at the EDI node database, prior to the receipt of the new message, for records with a combination of the following:

a. notification number EQUAL to that of the message in the validation context

b. serial number EQUAL to that of the message in the validation context

c. type of content EQUAL to that of the validation context message (see also the note below on status update messages)

Note 1: For newly received status update messages, this element must be filled for the underlying content message type. For example, for a newly received "MovementAnnouncementStatus" message, this element must be filled for "MovementAnnouncement" records. See also the pseudo SQL below. Analogously, the EDI node must interpret/log status updates as interactions on records of the underlying content type.

Note 2: This aggregation must take into account ALL records matching the above criteria, independent of entry through data interface or GUI, and independent of origin.

Note 3: If there is exactly one record interaction (initial entry) that matches the criteria listed above, then the records' latest timestamp equals the earliest timestamp.

Pseudo-SQL: select max(UTCTIMESTAMP) from RECORD_CHANGE_LOG where NOTIFICATION_NR=//AnnouncementIdentity/NotificationID and SEQUENCE_NUMBER_ID=//AnnouncementIdentity/SequenceNumberID and CONTENT_TYPE_ID=replace(local-name(//MessageCreationPartyID/following-sibling::*),'Status','')

Supported lexical representations and values:

  • The xs:dateTime constraints apply. For example, the month component consists of two decimal digits, where 01 stands for January and 12 for December
  • Contains the year, month, day, hour, minute, second, fractional second and timezone components
  • The accuracy is such that the fractions of a second component consists of exactly 6 decimal digits. This means that the fractional second component must contain trailing zeros if needed for 6 decimal digit accuracy. Note that this is an intentional deviation from xs:dateTime canonical representations, as canonical representations do not contain trailing zeros
  • The time zone is UTC

Example value: »2022-10-25T11:01:35.524380Z«

SoftwareProductInteractionCount

CountContent

0..1

The number of EDI node interactions to which ALL of the following applies:

1. The interaction is by an external EDI node, and the software product part of that EDI node's ID EQUALS that of the EDI node that submitted the message contained in the validation context

2. The content type, such as movement announcement, EQUALS that of the message contained in the validation context (see also the note below on status update messages)

3. The interaction timestamp is greater than or equal to the receipt timestamp of the validation context message minus 60 days

Note 1: For newly received status update messages, this element must be filled for the underlying content message type. For example, for a newly received "MovementAnnouncementStatus" message, this element must be filled for "MovementAnnouncement" records. See also the pseudo SQL below. Analogously, the EDI node must interpret/log status updates as interactions on records of the underlying content type.

Note 2: This aggregation must take into account ALL record interactions matching the above criteria, independent of origin party, notification number and serial number.

Pseudo-SQL: select count(*) from RECORD_CHANGE_LOG where CONTENT_TYPE_ID=replace(local-name(//MessageCreationPartyID/following-sibling::*),'Status','') and substr(EDI_NODE_ID,1,instr(EDI_NODE_ID,'.')-1)=substring-before(InteractingEDINodeID,'.') AND UTCTIMESTAMP>=adjust-dateTime-to-timezone(current-dateTime(), xs:dayTimeDuration('PT0H'))-xs:dayTimeDuration('P60D')

SoftwareProductContentUpdateCount

CountContent

0..1

This content of this element is similarly defined as that of SoftwareProductInteractionCount. The sole difference: In contrast to SoftwareProductInteractionCount, rather than counting all interactions, SoftwareProductContentUpdateCount only counts interactions of type "content update".

Pseudo-SQL: select count(*) from RECORD_CHANGE_LOG where CONTENT_TYPE_ID=replace(local-name(//MessageCreationPartyID/following-sibling::*),'Status','') and substr(EDI_NODE_ID,1,instr(EDI_NODE_ID,'.')-1)=substring-before(InteractingEDINodeID,'.') AND UTCTIMESTAMP>=adjust-dateTime-to-timezone(current-dateTime(), xs:dayTimeDuration('PT0H'))-xs:dayTimeDuration('P60D') and INTERACTION_TYPE_ID="content_update"

SoftwareProductStatusUpdateCount

CountContent

0..1

This content of this element is similarly defined as that of SoftwareProductInteractionCount. The sole difference: In contrast to SoftwareProductInteractionCount, rather than counting all interactions, SoftwareProductStatusUpdateCount only counts interactions of type "status update".

Note 1: In its current version, the EDI protocol supports status updates only for movement announcements. For content types other than movement announcement (status), this element shall not be provided.

Note 2: In its current version, the only type of status update the EDI protocol supports is the cancellation (of movement announcements). This count is hence a count of cancellations.

Note 3: This count must only include successful status updates (cancellations). The count must not include unsuccessful cancellation attempts, such as the cancellation of previosuly cancelled announcements.

Pseudo-SQL: select count(*) from RECORD_CHANGE_LOG where CONTENT_TYPE_ID=replace(local-name(//MessageCreationPartyID/following-sibling::*),'Status','') and substr(EDI_NODE_ID,1,instr(EDI_NODE_ID,'.')-1)=substring-before(InteractingEDINodeID,'.') AND UTCTIMESTAMP>=adjust-dateTime-to-timezone(current-dateTime(), xs:dayTimeDuration('PT0H'))-xs:dayTimeDuration('P60D') and INTERACTION_TYPE_ID="status_update"

CreationPartyInteractionCount

CountContent

0..1

This content of this element is similarly defined as that of SoftwareProductInteractionCount. The sole difference: In contrast to SoftwareProductInteractionCount, rather than counting all interactions related to a specific EDI node, CreationPartyInteractionCount counts the interactions related to a specific message/record creation party.

Pseudo-SQL: select count(*) from RECORD_CHANGE_LOG where CONTENT_TYPE_ID=replace(local-name(//MessageCreationPartyID/following-sibling::*),'Status','') and CREATION_PARTY_ID=//MessageCreationPartyID AND UTCTIMESTAMP>=adjust-dateTime-to-timezone(current-dateTime(), xs:dayTimeDuration('PT0H'))-xs:dayTimeDuration('P60D')

CreationPartyContentUpdateCount

CountContent

0..1

This content of this element is similarly defined as that of CreationPartyInteractionCount. The sole difference: In contrast to CreationPartyInteractionCount, rather than counting all interactions, CreationPartyContentUpdateCount only counts interactions of type "content update".

Pseudo-SQL: select count(*) from RECORD_CHANGE_LOG where CONTENT_TYPE_ID=replace(local-name(//MessageCreationPartyID/following-sibling::*),'Status','') and CREATION_PARTY_ID=//MessageCreationPartyID AND UTCTIMESTAMP>=adjust-dateTime-to-timezone(current-dateTime(), xs:dayTimeDuration('PT0H'))-xs:dayTimeDuration('P60D') and INTERACTION_TYPE_ID="content_update"

CreationPartyStatusUpdateCount

CountContent

0..1

This content of this element is similarly defined as that of CreationPartyInteractionCount. The sole difference: In contrast to CreationPartyInteractionCount, rather than counting all interactions, CreationPartyStatusUpdateCount only counts interactions of type "status update". See also the notes on SoftwareProductStatusUpdateCount.

Pseudo-SQL: select count(*) from RECORD_CHANGE_LOG where CONTENT_TYPE_ID=replace(local-name(//MessageCreationPartyID/following-sibling::*),'Status','') and CREATION_PARTY_ID=//MessageCreationPartyID AND UTCTIMESTAMP>=adjust-dateTime-to-timezone(current-dateTime(), xs:dayTimeDuration('PT0H'))-xs:dayTimeDuration('P60D') and INTERACTION_TYPE_ID="status_update"

ValidationNodeAggregatedChangeData usage occurrences: MessageValidationContext

ValidationNodeAggregatedContentData

ValidationNodeAggregatedContentData Schema diagram

An aggregation of DATA (record CONTENTS) available in the database at a WasteX EDI node.

Name/Typemin..maxDefinition

TotalWasteMass

MassNumericValue

0..1

The total mass of shipped waste as calculated from "active" movement announcements and waste receipt confirmations with a notification number EQUAL to that from the message in the validation context and a serial number NOT EQUAL to the serial number from the message in the validation context.

Note 1: "active" refers to a state of not being cancelled, not being withdrawn, etc, and to the availability of at least one of the types of messages (MA, CaC, CoWR, CoWD) for the respective serial number.

Note 2: The received mass of waste has precedence over the announced mass of waste. I.e., for all shipments for which a received mass of waste is available, it is the received mass of waste that is used in the sum. See also the Pseudo-SQL statement below.

Pseudo-SQL: select sum(case when WASTE_MASS_RECEIVED is not null then WASTE_MASS_RECEIVED else WASTE_MASS_ANNOUNCED) from SHIPMENT where NOTIFICATION_NR=//AnnouncementIdentity/NotificationID and SEQUENCE_NUMBER_ID!=//AnnouncementIdentity/SequenceNumberID and STATUS_ID="active"

TotalWasteVolume

VolumeNumericValue

0..1

The total volume of shipped waste as calculated from "active" movement announcements and waste receipt confirmations with a notification number EQUAL to that from the message in the validation context and a serial number NOT EQUAL to the serial number from the message in the validation context.

Note 1: "active" refers to a state of not being cancelled, not being withdrawn, etc, and to the availability of at least one of the types of messages (MA, CaC, CoWR, CoWD) for the respective serial number.

Note 2: The received volume of waste has precedence over the announced volume of waste. I.e., for all shipments for which a received volume of waste is available, it is the received volume of waste that is used in the sum. See also the Pseudo-SQL statement below.

Pseudo-SQL: select sum(case when WASTE_VOLUME_RECEIVED is not null then WASTE_VOLUME_RECEIVED else WASTE_VOLUME_ANNOUNCED) from SHIPMENT where NOTIFICATION_NR=//AnnouncementIdentity/NotificationID and SEQUENCE_NUMBER_ID!=//AnnouncementIdentity/SequenceNumberID and STATUS_ID="active"

MovementCount

CountContent

0..1

The total number of "active" shipments (serial numbers) with a notification number EQUAL to that from the message in the validation context and with a serial number NOT EQUAL to the serial number from the message in the validation context.

Note: "active" refers to a state of not being cancelled, not being withdrawn, etc, and to the availability of at least one of the types of messages (MA, CaC, CoWR, CoWD) for the respective serial number.

Pseudo-SQL: select count(SEQUENCE_NUMBER_ID) from SHIPMENT where NOTIFICATION_NR=//AnnouncementIdentity/NotificationID and SEQUENCE_NUMBER_ID!=//AnnouncementIdentity/SequenceNumberID and STATUS_ID="active"

MaximumSequenceNumberID

CountContent

0..1

The highest already-used serial number occuring in shipment data (MA, CaC, CoWR, CoWT) with a notification number EQUAL to that from the message in the validation context and a serial number LOWER THAN the serial number to which the message in the validation context refers.

Note 1: "Highest" refers to numerical ordering of the serial numbers.

Note 2: In contrast to many of the other aggregated values, the calculation MUST take "inactive" shipments, such as cancelled shipments, into account.

Note 3: A serial number counts as "already used" when at least one of MA, CaC, CoWR, CoWT is available for that serial number.

Pseudo-SQL: select max(SEQUENCE_NUMBER_ID) from SHIPMENT where NOTIFICATION_NR=//AnnouncementIdentity/NotificationID and SEQUENCE_NUMBER_ID<//AnnouncementIdentity/SequenceNumberID

ValidationNodeAggregatedContentData usage occurrences: MessageValidationContext

ValidationNodeIndividualData

ValidationNodeIndividualData Schema diagram

Individual records of data available in the database at an EDI node prior to receiving a WasteX message and related to that message, i.e., related to the notification number and serial number contained in the message.

Examples:

Name/Typemin..maxDefinition

NotificationInDatabaseIndicator

IndicatorContent

0..1

The indication of whether or not a notification with the notification number contained in the received message is found at the data interchange node conducting the validation. "true" stands for found in the database.

Pseudo-SQL: select count(*) from NOTIFICATION where NOTIFICATION_NR=//AnnouncementIdentity/NotificationID

Notification

LatestNotification

0..1

Latest notification information read from the database at the EDI node, for the notification to which the WasteX message refers.

MovementAnnouncementInDatabaseIndicator

IndicatorContent

0..1

The indication of whether or not a movement announcement with the combination of notification number and serial number as contained in the received message is found at the data interchange node conducting the validation. "true" stands for found in the database.

Pseudo-SQL: select count(*) from MOVEMENT_ANNOUNCEMENT where NOTIFICATION_NR=//AnnouncementIdentity/NotificationID and SEQUENCE_NUMBER_ID=//AnnouncementIdentity/SequenceNumberID

MovementAnnouncement

LatestMovementAnnouncement

0..1

Latest movement announcement information read from the database at the EDI node for the notification number and serial number referred to in the validation context message.

CarrierConfirmationInDatabaseCount

CountContent

0..1

The number of distinct carrier confirmations, with the combination of notification number and serial number as contained in the received message, found in the database at the data interchange node conducting the validation.

Pseudo-SQL: select count(distinct CONFIRMATION_UUID) from CARRIER_CONFIRMATION where NOTIFICATION_NR=//AnnouncementIdentity/NotificationID and SEQUENCE_NUMBER_ID=//AnnouncementIdentity/SequenceNumberID

CarrierConfirmation

LatestCarrierConfirmation

0..1

Latest carrier confirmation read from the database at the EDI node for the notification number, serial number and carrier confirmation UUID referred to in the validation context message.

ConfirmationOfWasteReceiptInDatabaseIndicator

IndicatorContent

0..1

The indication of whether or not a confirmation of waste receipt with the combination of notification number and serial number contained in the received message is found at the data interchange node conducting the validation. "true" stands for found in the database.

Pseudo-SQL: select count(*) from CONFIRMATION_OF_RECEIPT where NOTIFICATION_NR=//AnnouncementIdentity/NotificationID and SEQUENCE_NUMBER_ID=//AnnouncementIdentity/SequenceNumberID

ConfirmationOfWasteReceipt

LatestConfirmationOfWasteReceipt

0..1

Latest confirmation of waste receipt information read from the database at the EDI node for the notification number and serial number referred to in the validation context message.

FacilityConfirmationOfWasteTreatmentInDatabaseIndicator

IndicatorContent

0..1

The indication of whether or not a confirmation of the completion of interim waste treatment at the facility NOT covering subsequent treatment, with the combination of notification number and serial number as contained in the received message, is found at the data interchange node conducting the validation. "true" stands for found in the database.

Pseudo-SQL: select count(*) from CONFIRMATION_OF_TREATMENT where NOTIFICATION_NR=//AnnouncementIdentity/NotificationID and SEQUENCE_NUMBER_ID=//AnnouncementIdentity/SequenceNumberID and SCOPE_ID="FACILITY"

FacilityConfirmationOfWasteTreatment

LatestConfirmationOfWasteTreatment

0..1

Latest confirmation of waste treatment information read from the database at the EDI node for the notification number and serial number referred to in the validation context message, and for a SCOPE_ID matching the "FACILITY" value, i.e., for the completion of interim treatment NOT covering subsequent treatment.

EntireConfirmationOfWasteTreatmentInDatabaseIndicator

IndicatorContent

0..1

The indication of whether or not a confirmation of the completion of the ENTIRE waste treatment in the country of destination, with the combination of notification number and serial number as contained in the received message, is found at the data interchange node conducting the validation. "true" stands for found in the database.

Pseudo-SQL: select count(*) from CONFIRMATION_OF_TREATMENT where NOTIFICATION_NR=//AnnouncementIdentity/NotificationID and SEQUENCE_NUMBER_ID=//AnnouncementIdentity/SequenceNumberID and SCOPE_ID="ENTIRE"

EntireConfirmationOfWasteTreatment

LatestConfirmationOfWasteTreatment

0..1

Latest confirmation of waste treatment information read from the database at the EDI node for the notification number and serial number referred to in the validation context message, and for a SCOPE_ID matching the "ENTIRE" value, i.e., for the completion of all non-interim recovery or disposal in the country of destination.

ValidationNodeIndividualData usage occurrences: MessageValidationContext

ValidationNodeReferenceData

ValidationNodeReferenceData Schema diagram

Reference data used at the EDI node receiving a WasteX message and conducting the validation.

Example:

Name/Typemin..maxDefinition

CountryList

CountryList

0..1

The list of ISO 3166-1 3-digit country codes "known" at the validating node. "Known" means that software can look these codes up and for example translate them into country names, such as for displaying these names in user interfaces.

Note 1: The set of values supported in the WasteX message format is defined by EUDIN ↗codelist 3862, which reproduces the entries of ISO 3166-1. Nodes in the exchange of WasteX messages should therefore keep country codelists in synch with EUDIN ↗codelist 3862. A codelist web service is available for this synchronisation.

Note 2: In the WasteX message formats, country IDs only occur in Movement Announcement messages in relation to point of exit and point of entry for each country. Therefore, for message types other than Movement Announcement, there is no need to fill the ValidationNodeCountryIDList element.

Note 3: An EDI node conducting formal validation via XSL transformation MAY increase the validation efficiency by filling the validation context ValidationNodeCountryIDList element only with values that occur BOTH in the validated message AND in the list of values "known" to the validating EDI node (intersection of the two sets of values). The pseudo-sql below illustrates the non-optimized version, in which the element is filled with ALL values "known" to the validating EDI node.

Pseudo-SQL: select ISO3611_3DIGIT_ID, VALIDITY_START_DATE, VALIDITY_END_DATE from REF_COUNTRIES

ValidationNodeReferenceData usage occurrences: MessageValidationContext

VolumeValueAssignmentStatement

VolumeValueAssignmentStatement Schema diagram

A volume value assignment statement, e.g. "80 m³".

Name/Typemin..maxDefinition

NumericValue

VolumeNumericValue

1..1

The volume expressed as number in combination with a unit, e.g. "80m³".

Note 1: Due to the use of a numeric data type, the precision/uncertainty of results (significant digits) CANNOT be expressed via the notation of the numeric value. For example, the two literals 30.00 and 30.0 are interpreted as the same numerical value.

Supported lexical representations and values for the NumericValue content:

  • The string complies with a lexical presentation defined for xs:decimal
  • In particular, the string OPTIONALLY contains a decimal separator according to xs:decimal syntax
  • In particular, according to xs:decimal syntax, the decimal separator is the dot (#x2E), and NOT the comma (#x2C), which is common in German-speaking countries
  • In particular, the string according to xs:decimal syntax does NOT contain any thousands separators or other digit grouping characters
  • In particular, the string according to xs:decimal syntax OPTIONALLY contains a "+"/"-" sign, where strings without a sign are equivalent to strings with a "+" sign
  • The string contains at least 1 decimal digit (0-9)
  • The string contains a maximum of 25 decimal digits (0-9)
  • The string contains a maximum of 5 fractional digits, i.e. of the total number of digits, a maximum of 5 digits is BEHIND a decimal separator character
  • The value is greater than 0 (validation 🠖R530 and 🠖R557)

Example value: »80.1«

Note 2: A case sensitive ISO/UCUM code identifies the unit in attribute @unitID, e.g. "m3". See EUDIN ↗codelist 4472.

The set of supported values for attribute @unitID:

  • m3: cubic meter

QuantificationTypeID

QuantificationTypeIdentifierContent

0..1

The type of quantification used for determining the waste volume (see also EUDIN ↗codelist 7299):

The set of supported lexical representations and values:

  • M: Measurement
  • C: Calculation
  • E: Estimation

VolumeValueAssignmentStatement usage occurrences: ConfirmationOfWasteReceipt, LatestConfirmationOfWasteReceipt, LatestMovementAnnouncement, MovementAnnouncement

WithdrawalMarkList

WithdrawalMarkList Schema diagram

Identification of waste movement announcements for which all exchanged data should be marked as withdrawn by an EDI partner, potentially including confirmations of waste receipt and confirmations of waste treatment.

Note 1: This serves the purpose of letting EDI partners know that certain IDs, especially waste shipment announcement serial numbers, have been used erronously in EDI transmissions.

Note 2: As erronous use of identifiers is expected to prevented as much as possible in the first place, marking EDI transmissions as withdrawn should occur in rare exceptions only.

Name/Typemin..maxDefinition

NotificationID

RelaxedIdentifierContent

1..1

The identifier of the notification as assigned by the competent authority of dispatch

Note: The identified notification is the permit for the announced shipment of waste.

SequenceNumberID

CountIdentifierContent

1..16384

The serial number (sequential number) of the announced shipment for the specified notification.

Example: Serial number 1 must be assigned to the first shipment announcement for a specific notification, serial number 2 to the second announced shipment, etc.

WithdrawalMarkList usage occurrences: WithdrawalMarkCollection

Data types

CountContent

Name/Typemin..maxDefinition

CountContent

xs:integer

1..1

Number (decimal).

The following properties must apply:

  • Integer
  • maximum 8 digits
  • non-negative (see formal validation rules)

CountContent usage occurrences: LatestNotification, MovementAnnouncement, ValidationNodeAggregatedChangeData, ValidationNodeAggregatedContentData, ValidationNodeIndividualData

CountIdentifierContent

Name/Typemin..maxDefinition

CountIdentifierContent

xs:nonNegativeInteger

1..1

A sequential number used as an identifier.

The following properties must apply:

  • Integer
  • maximum 8 digits
  • non-negative

CountIdentifierContent usage occurrences: AnnouncementIdentity, WithdrawalMarkList

CountryIdentifierContent

Name/Typemin..maxDefinition

CountryIdentifierContent

xs:string

1..1

Identification of a country via an ISO 3166-1 3-digit-identifier.

Examples:

  • 040: Austria
  • 056: Belgium
  • 276: Germany
  • 380: Italy
  • 756: Switzerland

CountryIdentifierContent usage occurrences: CountryListElement, NationalRoute, NotificationCountry

CountryTwoLetterIdentifierContent

Name/Typemin..maxDefinition

CountryTwoLetterIdentifierContent

xs:string

1..1

Identification of a country via an ISO 3166-1 two-letter identifier ("alpha-2").

Examples:

  • AT: Austria
  • BE: Belgium
  • DE: Germany
  • IT: Italy
  • CH: Switzerland

CountryTwoLetterIdentifierContent usage occurrences: CountryListElement

DateContent

Name/Typemin..maxDefinition

DateContent

xs:date

1..1

Date, i.e. identification of a day, without time zone indication.

Note: This date datatype is used for providing local dates. For example, for the date of receipt of waste, this is the current local date at the location where the waste was received at the point in time when the waste was received.

DateContent usage occurrences: CarrierConfirmation, ConfirmationOfWasteReceipt, ConfirmationOfWasteTreatment, CountryListElement, LatestCarrierConfirmation, LatestConfirmationOfWasteReceipt, LatestConfirmationOfWasteTreatment, LatestMovementAnnouncement, LatestNotification, MovementAnnouncement

DescriptionContent

Name/Typemin..maxDefinition

DescriptionContent

xs:string

1..1

Description text.

The following properties must apply to description texts:

  • The string consists of a maximum of 1000 characters.
  • The character string consists of at least 1 character.

DescriptionContent usage occurrences: CarrierEconomicOperator, EconomicOperator, EconomicOperatorSite, WasteMovementSignalMessage

EconomicOperatorIdentifier

Name/Typemin..maxDefinition

EconomicOperatorIdentifier

RelaxedIdentifierContent

1..1

Identification of an economic operator, together with the identification of the type of identifier in the registerID attribute.

Example: Identification of a legal entity such as a company.

Note 1: This datatype is not used for the identification of competent authorities. There is a separate identifier datatype for this purpose.

Note 2: In this data format the type of identifiers to use for parties is determined by the country in which the legal entity has its registered office.

Example: Economic operators that have their registered office in Austria must be identified by GLN.AT, the Austrian public administration Global Location Number ("GLN der öffentlichen Verwaltung"). The full information on which types of identifiers MUST be used in which cases is provided in the data format description document (PDF).

@registerID

EconomicOperatorRegisterIdentifierContent

1..1

Identification of the registration process through which the identifier has been assigned to the party.

Note: In this data format the type of identifiers to use for parties is determined by the country in which the legal entity has its registered office. This means that the set of supported register identifiers (see below) determines the set of countries supported in the data format. Only legal entities that have their registered office in one of these countries can be referenced in the data instances. This data format can only be used for data interchange if all the companies involved in the shipments have their registered office in one of the supported countries. The list of supported registers and thus countries will be extended with coming versions of the data format.

Examples of supported values (see EUDIN ↗codelist 2237 for the full list):

  • FL.LI: Fürstentum Liechtenstein Handelsregister company identifier, lookup under https://www.oera.li
  • GLN.AT: Austrian public administration Global Location Number. Lookup under https://gepir.gs1.org or https://firmen.wko.at
  • UID.CH: Swiss "Unternehmens-Identifikationsnummer" (UID, company identification number), lookup under https://www.uid.admin.ch/Search.aspx
  • VAT.EU: EU Value Added Tax (VAT) identification number. Lookup under https://ec.europa.eu/taxation_customs/vies/
  • VAT.GB: British Value Added Tax (VAT) identification number. Lookup under https://www.tax.service.gov.uk/check-vat-number/enter-vat-details

EconomicOperatorIdentifier usage occurrences: CarrierConfirmation, CarrierEconomicOperator, EconomicOperator, EconomicOperatorSite, EconomicOperatorSiteIdentity, LatestTransportMovement, TransportMovement, WasteMovementUserMessage

EconomicOperatorRegisterIdentifierContent

Name/Typemin..maxDefinition

EconomicOperatorRegisterIdentifierContent

xs:string

1..1

Identification of a registration process through which an identifier has been assigned to an economic operator (EUDIN ↗codelist 2237).

Example values:

  • FL.LI: Fürstentum Liechtenstein Handelsregister company identifier, lookup under https://www.oera.li
  • GLN.AT: Austrian public administration Global Location Number. Lookup under https://gepir.gs1.org or https://firmen.wko.at
  • UID.CH: Swiss "Unternehmens-Identifikationsnummer" (UID, company identification number), lookup under https://www.uid.admin.ch/Search.aspx
  • VAT.EU: EU Value Added Tax (VAT) identification number. Lookup under https://ec.europa.eu/taxation_customs/vies/
  • VAT.GB: British Value Added Tax (VAT) identification number. Lookup under https://www.tax.service.gov.uk/check-vat-number/enter-vat-details

EconomicOperatorRegisterIdentifierContent usage occurrences: CarrierEconomicOperator, EconomicOperator, EconomicOperatorIdentifier, EconomicOperatorSite, LatestTransportMovement

IndicatorContent

Name/Typemin..maxDefinition

IndicatorContent

xs:boolean

1..1

Yes/No value (Yes: property applies; No: property does not apply).

IndicatorContent usage occurrences: ConfirmationOfWasteReceipt, LatestConfirmationOfWasteReceipt, LatestNotification, ValidationNodeIndividualData, WasteMovementSignalMessage

MassNumericValue

Name/Typemin..maxDefinition

MassNumericValue

ValueContent

1..1

A mass quantity expressed as numerical value in combination with a metrological unit, such as in "20t".

@unitID

MassUnitIdentifierContent

1..1

The metrological unit to which the numerical value refers in the specification of the mass.

Note: The metrological unit is expressed by a case sensitive Unified Code for Units of Measure (UCUM).

The set of supported lexical representations and values:

  • t: tonne (metric)

MassNumericValue usage occurrences: LatestNotification, MassValueAssignmentStatement, ValidationNodeAggregatedContentData

MassUnitIdentifierContent

Name/Typemin..maxDefinition

MassUnitIdentifierContent

xs:string

1..1

Enumeration of quantity units for mass quantities.

Note: The metrological unit is expressed by a case sensitive Unified Code for Units of Measure (UCUM).

The set of supported lexical representations and values:

  • t: tonne (metric)

MassUnitIdentifierContent usage occurrences: MassNumericValue

MovementAnnouncementStatusIdentifierContent

Name/Typemin..maxDefinition

MovementAnnouncementStatusIdentifierContent

xs:string

1..1

Movement announcement status enumeration:

  • ACTIVE: Default. The movement announcement is active.
  • CANCELLED: The announced movement has been cancelled (it will not take place).
  • WITHDRAWN: Transmissions for the combination of notification and serial number have been withdrawn.

MovementAnnouncementStatusIdentifierContent usage occurrences: LatestMovementAnnouncement

MaxLen1000TextContent

Name/Typemin..maxDefinition

MaxLen1000TextContent

xs:string

1..1

Text consisting of a maximum of 1000 characters.

The following properties must apply:

  • The string consists of a maximum of 1000 characters.
  • The string consists of at least 1 character.

MaxLen1000TextContent usage occurrences: WasteMovementUserMessage

MovementAnnouncementUpdateStatusIdentifierContent

Name/Typemin..maxDefinition

MovementAnnouncementUpdateStatusIdentifierContent

xs:string

1..1

Movement announcement status enumeration:

  • CANCELLED: Announced movement is cancelled (the movement will not take place).

MovementAnnouncementUpdateStatusIdentifierContent usage occurrences: MovementAnnouncementStatus

NameContent

Name/Typemin..maxDefinition

NameContent

xs:token

1..1

Name.

The following properties must apply to names:

  • The string consists of a maximum of 120 characters.
  • The character string consists of at least 1 character.
  • The character string is a so-called token: This is a character string that does not contain carriage return (#xD), line feed (#xA) or tabulator (#x9) characters, that does not begin or end with spaces (#x20), and that does not contain a sequence of two or more consecutive spaces.

NameContent usage occurrences: CarrierEconomicOperator, EconomicOperator, EconomicOperatorSite, NationalRoute, NotificationCountry

PackageTypeIdentifierContent

Name/Typemin..maxDefinition

PackageTypeIdentifierContent

xs:string

1..1

Enumeration of types of packages, pursuant to WSR Annex IA and IB.

See also EUDIN ↗codelist 6524.

Note: In the definition of this data format, the list of types of packages is defined as a static list on purpose. This means that new codes can only be supported through updates of the data format specification, and are not supported independent of the data format specification.

The set of supported lexical representations and values:

  • 1: Drum
  • 2: Wooden Barrel
  • 3: Jerrican
  • 4: Box
  • 5: Bag
  • 6: Composite packaging
  • 7: Pressure receptacle
  • 8: Bulk
  • 9: Other

PackageTypeIdentifierContent usage occurrences: LatestNotification, MovementAnnouncement

PartyIdentifier

Name/Typemin..maxDefinition

PartyIdentifier

RelaxedIdentifierContent

1..1

Identification of a party, together with the identification of the type of identifier in the registerID attribute.

Example: Identification of a legal entity such as a company.

Note 1: This datatype is used for both economic operators and competent authorities.

Note 2: In this data format the type of identifiers to use for economic operators is determined by the country in which the legal entity has its registered office.

Example: Economic operators that have their registered office in Austria must be identified by GLN.AT, the Austrian public administration Global Location Number ("GLN der öffentlichen Verwaltung"). The full information on which types of identifiers MUST be used in which cases is provided in the data format description document (PDF).

@registerID

PartyRegisterIdentifierContent

1..1

Identification of the registration process through which the identifier has been assigned to the party.

The set of supported values for authorities:

  • EUDIN: The party identifier content must be from the EUDIN ↗codelist 8630 of competent authorities, lookup under eudin.org

Examples of supported values for economic operators (see EUDIN ↗codelist 2237 for the full list):

  • FL.LI: Fürstentum Liechtenstein Handelsregister company identifier, lookup under https://www.oera.li
  • GLN.AT: Austrian public administration Global Location Number. Lookup under https://gepir.gs1.org or https://firmen.wko.at
  • UID.CH: Swiss "Unternehmens-Identifikationsnummer" (UID, company identification number), lookup under https://www.uid.admin.ch/Search.aspx
  • VAT.EU: EU Value Added Tax (VAT) identification number. Lookup under https://ec.europa.eu/taxation_customs/vies/
  • VAT.GB: British Value Added Tax (VAT) identification number. Lookup under https://www.tax.service.gov.uk/check-vat-number/enter-vat-details

PartyIdentifier usage occurrences: DatabaseInstancePartyList

PartyRegisterIdentifierContent

Name/Typemin..maxDefinition

PartyRegisterIdentifierContent

xs:string

1..1

Identification of a registration process through which an identifier has been assigned to a party.

The set of supported values for authorities:

  • EUDIN: The party identifier content must be from the EUDIN ↗codelist 8630 of competent authorities, lookup under eudin.org

Examples of supported values for economic operators (see EUDIN ↗codelist 2237 for the full list):

  • FL.LI: Fürstentum Liechtenstein Handelsregister company identifier, lookup under https://www.oera.li
  • GLN.AT: Austrian public administration Global Location Number. Lookup under https://gepir.gs1.org or https://firmen.wko.at
  • UID.CH: Swiss "Unternehmens-Identifikationsnummer" (UID, company identification number), lookup under https://www.uid.admin.ch/Search.aspx
  • VAT.EU: EU Value Added Tax (VAT) identification number. Lookup under https://ec.europa.eu/taxation_customs/vies/
  • VAT.GB: British Value Added Tax (VAT) identification number. Lookup under https://www.tax.service.gov.uk/check-vat-number/enter-vat-details

PartyRegisterIdentifierContent usage occurrences: PartyIdentifier

PostalAreaIdentifierContent

Name/Typemin..maxDefinition

PostalAreaIdentifierContent

xs:token

1..1

Postcode.

The following properties must apply to postcodes:

  • The character string consists of a maximum of 10 characters.
  • The character string consists of at least 1 character.
  • The character string is a token. A token is a string that does not contain carriage return (#xD), line feed (#xA) or tab (#x9) characters, does not begin or end with spaces (#x20), and does not contain a sequence of two or more consecutive spaces.

PostalAreaIdentifierContent usage occurrences: EconomicOperatorSite, EconomicOperatorSiteIdentity

QuantificationTypeIdentifierContent

Name/Typemin..maxDefinition

QuantificationTypeIdentifierContent

xs:string

1..1

Enumeration of types of quantification.

See also EUDIN ↗codelist 7299.

The set of supported lexical representations and values:

  • M: Measurement
  • C: Calculation
  • E: Estimation

QuantificationTypeIdentifierContent usage occurrences: MassValueAssignmentStatement, VolumeValueAssignmentStatement

RelaxedIdentifierContent

Name/Typemin..maxDefinition

RelaxedIdentifierContent

xs:token

1..1

Value range to which all tokens consisting of a maximum of 64 characters belong. Exception: The string consisting of 0 characters.

Note: A token is a string that does not contain carriage return (#xD), line feed (#xA) or tab (#x9) characters, does not begin or end with spaces (#x20), and does not contain a sequence of two or more consecutive spaces.

RelaxedIdentifierContent usage occurrences: AnnouncementIdentity, CarrierConfirmation, DatabaseInstancePartyList, EconomicOperatorIdentifier, MessageValidationContext, PartyIdentifier, WithdrawalMarkList

RemarkContent

Name/Typemin..maxDefinition

RemarkContent

xs:string

1..1

Remark text.

The following properties must apply to annotation texts:

  • The string consists of a maximum of 1000 characters.
  • The character string consists of at least 1 character.

RemarkContent usage occurrences: CarrierConfirmation, ConfirmationOfWasteReceipt, ConfirmationOfWasteTreatment, MovementAnnouncement, MovementAnnouncementStatus

ShortNameContent

Name/Typemin..maxDefinition

ShortNameContent

xs:token

1..1

Short name.

The following properties must apply to short names:

  • The string consists of a maximum of 50 characters.
  • The character string consists of at least 1 character.
  • The character string is a so-called token: This is a character string that does not contain carriage return (#xD), line feed (#xA) or tabulator (#x9) characters, that does not begin or end with spaces (#x20), and that does not contain a sequence of two or more consecutive spaces.

ShortNameContent usage occurrences: MessageValidationContext, WasteMovementSignalMessage

SignalIdentifierContent

Name/Typemin..maxDefinition

SignalIdentifierContent

xs:string

1..1

Enumeration of signals sent by an EDI node as a response to receiving a user message.

The set of supported lexical representations and values:

  • ACCEPTED: The receiving EDI node accepted the received message. It is accessible to parties/users at the receiving side.
  • REJECTED: The receiving EDI node had to reject the received message. At the receiving side, for users it is as if the transmission never happened.

SignalIdentifierContent usage occurrences: WasteMovementSignalMessage

TimestampContentType

Name/Typemin..maxDefinition

TimestampContentType

xs:dateTime

1..1

Timestamp (date and time), with fraction of a second, with time zone indication for UTC.

Note: This information is generated automatically by software. Users must not be able to edit this information.

TimestampContentType usage occurrences: MessageValidationContext, ValidationNodeAggregatedChangeData, WasteMovementSignalMessage, WasteMovementUserMessage, 🠖InitSyncRequestType, 🠖UpdateEventType

TransportModeIdentifierContent

Name/Typemin..maxDefinition

TransportModeIdentifierContent

xs:string

1..1

Enumeration of modes of transport, pursuant to WSR Annex IA and IB.

Ssee also EUDIN ↗codelist 8149.

The set of supported lexical representations and values:

  • R: Road
  • T: Train/rail
  • S: Sea
  • A: Air
  • W: Inland waterways

TransportModeIdentifierContent usage occurrences: CarrierConfirmation, CarrierEconomicOperator, LatestCarrierConfirmation, LatestTransportMovement, TransportMovement

TreatmentScopeIdentifierContent

Name/Typemin..maxDefinition

TreatmentScopeIdentifierContent

xs:string

1..1

Enumeration of scopes of waste treatment.

The set of supported lexical representations and values:

  • ENTIRE: The entire treatment in the country of destination, including all subsequent treatment (if any).
  • FACILITY: The treatment at one particular treatment facility, not including any subsequent treatment, and not covering the entire treatment in the country of destination.

TreatmentScopeIdentifierContent usage occurrences: ConfirmationOfWasteTreatment

UserMessageTypeIdentifierContent

Name/Typemin..maxDefinition

UserMessageTypeIdentifierContent

xs:string

1..1

Enumeration of types of WasteX waste movement user messages.

The set of supported lexical representations and values:

  • MA: Movement Announcement
  • MAS: Movement Announcement Status
  • CC: Carrier Confirmation
  • COWR: Confirmation of Waste Receipt
  • COWT: Confirmation of Waste Treatment

UserMessageTypeIdentifierContent usage occurrences: WasteMovementSignalMessage

UUIDIdentifierContent

Name/Typemin..maxDefinition

UUIDIdentifierContent

xs:string

1..1

A Universally Unique Identifier (UUID) in canonical representation.

The set of supported lexical representations and values: Character strings that are a canonical representation of a version 4 (random) Universally Unique Identifier (UUID). Note that each such character string consists of exactly 36 characters. Any character string of a length other than 36 is hence not one of the supported values.

Example value: »aeca8c2d-523a-431a-812e-abd8a2475722«

UUIDIdentifierContent usage occurrences: CarrierConfirmation, MovementAnnouncement, WasteMovementSignalMessage, WasteMovementUserMessage, 🠖InitSyncResponseType

ValidationResultIdentifierContent

Name/Typemin..maxDefinition

ValidationResultIdentifierContent

xs:string

1..1

Enumeration of results of waste movement user message validation.

The set of supported lexical representations and values:

  • OK: The receiving EDI node accepted the received message. It is accessible to parties/users at the receiving side. The formal validation did not yield any hints at aspects that should be reviewed by users. The validation report is "empty", i.e., it contains neither INFO, WARNING nor ERROR entries.
  • INFO: The receiving EDI node accepted the received message. It is accessible to parties/users at the receiving side. The formal validation yielded hints at aspects for which it is recommended that they are reviewed by users, both at the sending and the receiving side. These are probabilistic aspects, such as data constellations that do not occur frequently in entirely correct messages. It is NOT CERTAIN that there is something missing/wrong with the message content or message transmission. The validation report contains neither WARNING nor ERROR entries.
  • WARNING: The receiving EDI node accepted the received message. It is accessible to parties/users at the receiving side. As opposed to the INFO status, it is CERTAIN that the message content/transmission is not entirely correct. For example, information required as per the WSR may be missing in the message. It is recommended that the validation report is reviewed by users both on the sending and the receiving side. The validation report does not contain ERROR entries, but may also contain INFO entries.
  • ERROR: The receiving EDI node had to reject the received message. At the receiving side, for users it is as if the transmission never happened. The validation report should therefore be looked into by users at the sending side. Interventions, such as the addition or correction of data may be needed at the sending side (example: correction of receipt date), the receiving side (example: entering a notification into the database), or both, before a re-transmission can be conducted successfully. In addition to ERROR entries, the validation report may also contain INFO and/or WARNING entries.

ValidationResultIdentifierContent usage occurrences: WasteMovementSignalMessage

ValueContent

Name/Typemin..maxDefinition

ValueContent

xs:decimal

1..1

Decimal number, e.g. measured, calculated or fixed value.

The following properties must apply:

  • consisting of a maximum of 25 decimal digits
  • of which a maximum of 5 decimal places

ValueContent usage occurrences: MassNumericValue, VolumeNumericValue

VersionIdentifier

Name/Typemin..maxDefinition

VersionIdentifier

xs:token

1..1

Version information.

The version information consists of a maximum of 8 characters.

It is composed of the following parts: "Major Version", followed by a dot (#x2E), followed by the "Minor Version". Both "Major Version" and "Minor Version" consist exclusively of digits. "Minor Version" consists of exactly 2 digits.

VersionIdentifier usage occurrences: MessageValidationContext, WasteMovementSignalMessage, WasteMovementUserMessage

VolumeNumericValue

Name/Typemin..maxDefinition

VolumeNumericValue

ValueContent

1..1

A volume expressed as numerical value in combination with a metrological unit, such as in "80m³".

@unitID

VolumeUnitIdentifierContent

1..1

The metrological unit to which the numerical value refers in the specification of the volume.

Note: The metrological unit is expressed by a case sensitive Unified Code for Units of Measure (UCUM).

The set of supported lexical representations and values:

  • m3: cubic meter

VolumeNumericValue usage occurrences: LatestNotification, ValidationNodeAggregatedContentData, VolumeValueAssignmentStatement

VolumeUnitIdentifierContent

Name/Typemin..maxDefinition

VolumeUnitIdentifierContent

xs:string

1..1

Enumeration of quantity units for volume quantities.

Note: The metrological unit is expressed by a case sensitive Unified Code for Units of Measure (UCUM).

The set of supported lexical representations and values:

  • m3: cubic meter

VolumeUnitIdentifierContent usage occurrences: VolumeNumericValue

Formal validation rules (from wastex_formalvalidationrules.sch)

Introduction

Description of the formal validation rules that the WasteX web service applies to User Message transmissions.

Contains one or more sample validation protocol entries for each of the defined formal validation rules.

The interface specification authors have created this description in an automated way, based on the sample XML files included in the specification package and the formal validation rules defined per Schematron file wastex_formalvalidationrules.sch.

Each of the validation report entries contains a link to the respective validation result in Schematron Validation Report Language (SVRL) format. These SVRL instances result from applying wastex_formalvalidationrules.xsl to the respective linked sample user messages. Applying an additional XSL transformation yields the HTML representations.

WasteX web services deliver the results of formal validation in SVRL format, as part of Signal Messages in the MessageFormalValidationReport element.

The specification authors have conducted all XSL transfromations with the ↗Saxon XSLT processor.

Validation result summary generated 2023-04-27, 15:28

Validated XML FileIDs of violated rulesResult IDMain validation report entry textValidation report HTML and SVRL files
example_A_MovementAnnouncement.xmlOK.html / .xml
example_B_MovementAnnouncementStatus.xmlOK.html / .xml
example_C_CarrierConfirmation.xmlOK.html / .xml
example_D_ConfirmationOfWasteReceipt.xmlOK.html / .xml
example_E_ConfirmationOfWasteTreatment.xmlOK.html / .xml
OK_aa_A_MovementAnnouncement.xmlOK.html / .xml
OK_ab_A_MovementAnnouncement.xmlOK.html / .xml
OK_ac_A_MovementAnnouncement.xmlOK.html / .xml
OK_ad_C_CarrierConfirmation.xmlOK.html / .xml
violate_R011a_C_CarrierConfirmation.xmlR011WARNINGThe carrier confirmation message refers to the combination of notification number »IT 347203« and serial number »3«. The transmission of the carrier confirmation message is late because for this combination of notification number and serial number the database at »EDM.GV.AT« already contains the following: confirmation of waste receipt, confirmation of the completion of waste treatment..html / .xml
violate_R013a_A_MovementAnnouncement.xmlR013WARNINGThe movement announcement message refers to the combination of notification number »IT 347203« and serial number »4«. The transmission of the movement announcement message is late because for this combination of notification number and serial number the database at »EDM.GV.AT« already contains the following: carrier confirmation, confirmation of waste receipt, confirmation of the completion of waste treatment..html / .xml
violate_R017a_A_MovementAnnouncement.xmlR017ERRORThe movement announcement message for the combination of notification number »IT 347203« and serial number »4« lacks information on the waste production (WasteProductionPartySite elements)..html / .xml
violate_R044a_A_MovementAnnouncement.xmlR044INFOIn the route information with points of exit and points of entry (NationalRoute elements) contained in the movement announcement message for the combination of notification number »IT 347203« and serial number »4« the following countries, represented with their ISO 3166-1 3-digit codes and two-letter-codes, occur more than once: 380 (IT)..html / .xml
violate_R044b_A_MovementAnnouncement.xmlR044INFOIn the route information with points of exit and points of entry (NationalRoute elements) contained in the movement announcement message for the combination of notification number »IT 347203« and serial number »4« the following countries, represented with their ISO 3166-1 3-digit codes and two-letter-codes, occur more than once: 380 (IT), 040 (AT)..html / .xml
violate_R044c_A_MovementAnnouncement.xmlR044INFOIn the route information with points of exit and points of entry (NationalRoute elements) contained in the movement announcement message for the combination of notification number »IT 347203« and serial number »4« the following countries, represented with their ISO 3166-1 3-digit codes, occur more than once: 380, 040..html / .xml
violate_R047a_D_ConfirmationOfWasteReceipt.xmlR047ERRORThe confirmation of waste receipt message for the combination of notification number »IT 347203« and serial number »3« lacks the waste receipt date (ReceiptDate element)..html / .xml
violate_R060a_C_CarrierConfirmation.xmlR060ERRORThe carrier confirmation message for the combination of notification number »IT 347203« and serial number »3« lacks transport mode information (TransportModeID element)..html / .xml
violate_R066a_A_MovementAnnouncement.xmlR066ERRORThe movement announcement message for the combination of notification number »IT 347203« and serial number »4« contains country entry point and exit point information for a single country only..html / .xml
violate_R074a_D_ConfirmationOfWasteReceipt.xmlR074ERRORThe confirmation of waste receipt message for the combination of notification number »IT 347203« and serial number »3« contains the planned date of waste treatment completion »2023-04-23«. The message also contains the waste receipt date »2023-04-27«. According to this data, the treatment is completed 4 days before waste receipt. This error triggers for a waste treatment completion that is 2 or more days before waste receipt, leaving 1 day tolerance for time zone date progression differences..html / .xml
violate_R081a_A_MovementAnnouncement.xmlR081ERRORThe movement announcement message for the combination of notification number »IT 347203« and serial number »4« lacks the post code (SitePostalAreaID element) for waste production site no. 1, which refers to the waste production party with ID »IT02795790241« (»VAT.EU«)..html / .xml
violate_R081b_A_MovementAnnouncement.xmlR081ERRORThe movement announcement message for the combination of notification number »IT 347203« and serial number »4« lacks the post code (SitePostalAreaID element) for waste production site no. 2, which refers to the waste production party with ID »IT02795790241« (»VAT.EU«)..html / .xml
violate_R085a_A_MovementAnnouncement.xmlR085ERRORThe movement announcement message for the combination of notification number »IT 347203« and serial number »4« refers to a waste production party with ID »IT02795790241« (»VAT.EU«) in combination with a production site with post code »25071«. The notification/consent entry for »IT 347203« in the database at »EDM.GV.AT« contains multiple waste production party and site combinations matching this party ID and site post code. As a result, the movement announcement does not uniquely reference a waste production entry of the notification..html / .xml
violate_R100a_D_ConfirmationOfWasteReceipt.xmlR100ERRORThe confirmation of waste receipt message refers to notification number »IT 347203« and serial number »3«. In the database at »EDM.GV.AT« the movement announcement for this combination of notification number and serial number is recorded as cancelled. As a result, »EDM.GV.AT« cannot accept new messages referring to this combination of notification number and serial number..html / .xml
violate_R112a_A_MovementAnnouncement.xmlR112ERRORThe movement announcement message for the combination of notification number »IT 347203« and serial number »4« lacks the exit point name (ExitPointName element) for route part no. 1 in country IT (ID »380«)..html / .xml
violate_R114a_E_ConfirmationOfWasteTreatment.xmlR114ERRORThe confirmation of waste treatment message for the combination of notification number »IT 347203« and serial number »3« contains creation timestamp »2023-04-29T13:28:27.415427Z« which lies in the future, i.e., it is greater than message receipt timestamp »2023-04-27T13:28:26.273487Z«..html / .xml
violate_R118a_A_MovementAnnouncement.xmlR118ERRORIn the movement announcement message for the combination of notification number »IT 347203« and serial number »4« the following combinations of waste production party ID and waste production site postcode (WasteProductionPartySite elements) occur more than once: IT02795790241, 25071..html / .xml
violate_R129a_E_ConfirmationOfWasteTreatment.xmlR129ERRORThe confirmation of waste treatment message for the combination of notification number »IT 347203« and serial number »3« lacks treatment party and site information (TreatmentPartySite element)..html / .xml
violate_R136a_D_ConfirmationOfWasteReceipt.xmlR136ERRORThe confirmation of waste receipt message for the combination of notification number »IT 347203« and serial number »3« lacks the post code for the waste receipt site (SitePostalAreaID element)..html / .xml
violate_R148a_C_CarrierConfirmation.xmlR148WARNINGThe carrier confirmation message for the combination of notification number »IT 347203« and serial number »3« refers to the carrier party with ID »IT00623920212« (»VAT.EU«). This does not match any of the carriers in the movement announcement information for the combination of notification number »IT 347203« and serial number »3« in the database at »EDM.GV.AT«. Note that for party IDs to match, the transmitted message must contain the correct type of ID (WasteX relevant ID or recipient specific ID), and »EDM.GV.AT« must contain unique party IDs with the correct types as well..html / .xml
violate_R158a_A_MovementAnnouncement.xmlR158WARNINGThe movement announcement message for the combination of notification number »IT 347203« and serial number »4« contains shipment start date »2023-05-01«. The notification/consent entry for »IT 347203« in the database at »EDM.GV.AT« defines »2023-04-28« as the last day at which shipments are permitted. According to these records, the shipment will take place after the consented shipment period..html / .xml
violate_R170a_A_MovementAnnouncement.xmlR170WARNINGThe movement announcement message refers to notification number »IT 347203« and serial number »1001«. In the database at »EDM.GV.AT« the notification/consent entry for »IT 347203« the total consented number of shipments is »1000«, which the serial number »1001« exceeds..html / .xml
violate_R200a_D_ConfirmationOfWasteReceipt.xmlR200WARNINGThe confirmation of waste receipt message for the combination of notification number »IT 347203« and serial number »3« contains creation timestamp »2023-04-19T13:28:27.564030Z«. According to this message creation timestamp and the message receipt timestamp »2023-04-27T13:28:26.226612Z« more than 7 days have elapsed between message creation and message receipt. This warning triggers for time differences of 5 or more days..html / .xml
violate_R207a_A_MovementAnnouncement.xmlR207WARNINGThe movement announcement message for the combination of notification number »IT 347203« and serial number »4« refers to 25.0t of waste. According to the notification in the database at »EDM.GV.AT« the total consented amount of waste is 10,000.0t. According to the shipment information in the database at »EDM.GV.AT« a total of 9,990.0t has already been announced or confirmed in receipt previously. As a result, the movement announcement exceeds the total consented amount of waste..html / .xml
violate_R219a_A_MovementAnnouncement.xmlR219ERROR2023-04-25The movement announcement message for the combination of notification number »IT 347203« and serial number »4« contains shipment start date »2023-04-23«. The message receipt timestamp is »2023-04-27T13:28:26.088980Z«, which means that more than 4 days have elapsed between shipment start date and message receipt. This error triggers for a time difference of more than 1 day. Note that pursuant to provisions such as the WSR the information must be exchanged as an announcement, i.e., BEFORE the start of the shipment..html / .xml
violate_R226a_E_ConfirmationOfWasteTreatment.xmlR226ERRORThe confirmation of waste treatment message for the combination of notification number »IT 347203« and serial number »3« refers to treatment at one facility, NOT including subsequent treatment (value »FACILITY« in element ScopeID). According to the notification/consent entry for »IT 347203« in the database at »EDM.GV.AT«, there is NO subsequent treatment of waste for shipments under this consent. Confirmations of the completion of waste treatment must therefore refer to the completion of the ENTIRE treatment in the country of destination (Art. 16(e) WSR), by featuring the value »ENTIRE« in the ScopeID element..html / .xml
violate_R241a_A_MovementAnnouncement.xmlR241INFOThe movement announcement message for the combination of notification number »IT 347203« and serial number »4« refers to an entry point name »Kiefersfelden« for country DE (ID »276«). This does not match any of the entry point names - »Achenpass« - from the notification/consent entry for »IT 347203« in the database at »EDM.GV.AT«..html / .xml
violate_R247a_A_MovementAnnouncement.xmlR247ERRORIn the movement announcement message for the combination of notification number »IT 347203« and serial number »4« the first part of the route information refers to the country AT (ID »040«). The notification/consent entry for »IT 347203« in the database at »EDM.GV.AT« contains country of dispatch IT (ID »380«). The route must start in the country of dispatch..html / .xml
violate_R249a_D_ConfirmationOfWasteReceipt.xmlR249ERRORThe confirmation of waste receipt message for the combination of notification number »IT 347203« and serial number »3« lacks information on the received volume of waste (ReceivedWasteVolume element), despite the notification/consent entry for »IT 347203« in the database at »EDM.GV.AT« containing a consented maximum total volume of waste..html / .xml
violate_R253a_C_CarrierConfirmation.xmlR253ERRORThe carrier confirmation message for the combination of notification number »IT 347203« and serial number »3« contains transfer date »2023-03-26«. The message receipt timestamp is »2023-04-27T13:28:26.174753Z«, which means that more than 32 days have elapsed between transfer date and message receipt. This error triggers for a time difference of more than 30 days. Note that there are many provisions in practice, such as WSR or consent provisions, that can require transmissions sooner than within 30 days..html / .xml
violate_R253b_D_ConfirmationOfWasteReceipt.xmlR253ERRORThe confirmation of waste receipt message for the combination of notification number »IT 347203« and serial number »3« contains waste receipt date »2023-03-26«. The message receipt timestamp is »2023-04-27T13:28:26.226612Z«, which means that more than 32 days have elapsed between waste receipt date and message receipt. This error triggers for a time difference of more than 30 days. Note that there are many provisions in practice, such as WSR or consent provisions, that can require transmissions sooner than within 30 days..html / .xml
violate_R253c_E_ConfirmationOfWasteTreatment.xmlR253ERRORThe confirmation of waste treatment message for the combination of notification number »IT 347203« and serial number »3« contains treatment completion date »2023-03-26«. The message receipt timestamp is »2023-04-27T13:28:26.273487Z«, which means that more than 32 days have elapsed between treatment completion date and message receipt. This error triggers for a time difference of more than 30 days. Note that there are many provisions in practice, such as WSR or consent provisions, that can require transmissions sooner than within 30 days..html / .xml
violate_R259a_A_MovementAnnouncement.xmlR259ERRORThe movement announcement message for the combination of notification number »IT 347203« and serial number »4« refers to a waste production party with ID »IT02244220212« (»VAT.EU«) in combination with a production site with post code »25071«. This does not match any of the waste production party-site-combinations in the notification/consent entry for »IT 347203« in the database at »EDM.GV.AT«. Note that for party IDs to match, the transmitted message must contain the correct type of ID (WasteX relevant ID or recipient specific ID), and »EDM.GV.AT« must contain unique party IDs with the correct types as well..html / .xml
violate_R259b_A_MovementAnnouncement.xmlR259ERRORThe movement announcement message for the combination of notification number »IT 347203« and serial number »4« refers to a waste production party with ID »IT02795790241« (»VAT.EU«) in combination with a production site with post code »25070«. This does not match any of the waste production party-site-combinations in the notification/consent entry for »IT 347203« in the database at »EDM.GV.AT«. Note that for party IDs to match, the transmitted message must contain the correct type of ID (WasteX relevant ID or recipient specific ID), and »EDM.GV.AT« must contain unique party IDs with the correct types as well..html / .xml
violate_R279a_D_ConfirmationOfWasteReceipt.xmlR279ERRORThe confirmation of waste receipt message for the combination of notification number »IT 347203« and serial number »3« refers to the waste receiver party with ID »IT02244220212« (»VAT.EU«). This does not match the message creation party with ID »DE140462045« (»VAT.EU«)..html / .xml
violate_R305a_E_ConfirmationOfWasteTreatment.xmlR305ERRORThe confirmation of waste treatment message for the combination of notification number »IT 347203« and serial number »3« refers to the completion of the ENTIRE treatment in the country of destination (value »ENTIRE« in element ScopeID). According to the notification/consent entry for »IT 347203« in the database at »EDM.GV.AT«, there is subsequent treatment of waste for shipments under this consent. This version of the WasteX specification does NOT support confirmations of the completion of subsequent treatment (Art. 15(e) WSR), but rather supports confirmations of the completion of interim treatment only (Art. 15(d) WSR). For the confirmation of the completion of interim treatment, the ScopeID element must feature the value »FACILITY«..html / .xml
violate_R307a_D_ConfirmationOfWasteReceipt.xmlR307WARNINGThe confirmation of waste receipt message for the combination of notification number »IT 347203« and serial number »3« lacks the planned date of completing waste treatment (PlannedTreatmentCompletionDate element)..html / .xml
violate_R323a_C_CarrierConfirmation.xmlR323ERRORThe carrier confirmation message for the combination of notification number »IT 347203« and serial number »3« contains transfer date »2023-05-01« which lies in the future, i.e., it is greater than message receipt timestamp »2023-04-27T13:28:26.174753Z«..html / .xml
violate_R323b_D_ConfirmationOfWasteReceipt.xmlR323ERRORThe confirmation of waste receipt message for the combination of notification number »IT 347203« and serial number »3« contains waste receipt date »2023-04-29« which lies in the future, i.e., it is greater than message receipt timestamp »2023-04-27T13:28:26.226612Z«..html / .xml
violate_R323c_E_ConfirmationOfWasteTreatment.xmlR323ERRORThe confirmation of waste treatment message for the combination of notification number »IT 347203« and serial number »3« contains treatment completion date »2023-04-29« which lies in the future, i.e., it is greater than message receipt timestamp »2023-04-27T13:28:26.273487Z«..html / .xml
violate_R342a_A_MovementAnnouncement.xmlR342INFOThe movement announcement message refers to notification number »IT 347203« and serial number »4«. Content of the respective type already exists in the database at »EDM.GV.AT« and has been updated at least once prior to the receipt of the new message. The WasteX protocol expects single transmissions of 'final' information as the standard case, and the avoidance of update/correction-transmissions to the greatest extent possible..html / .xml
violate_R356a_C_CarrierConfirmation.xmlR356ERRORThe carrier confirmation message for the combination of notification number »IT 347203« and serial number »3« refers to the carrier with ID »IT00623920212« (»VAT.EU«). This does not match any of the carriers in the notification/consent entry for »IT 347203« in the database at »EDM.GV.AT«. Note that for party IDs to match, the transmitted message must contain the correct type of ID (WasteX relevant ID or recipient specific ID), and »EDM.GV.AT« must contain unique party IDs with the correct types as well..html / .xml
violate_R369a_A_MovementAnnouncement.xmlR369ERRORThe route information in the movement announcement message for the combination of notification number »IT 347203« and serial number »4« refers to a country with ISO 3166-1 3-digit code »383«. A country with this ID does not exist in the reference data at »EDM.GV.AT«..html / .xml
violate_R378a_A_MovementAnnouncement.xmlR378ERRORThe movement announcement message for the combination of notification number »IT 347203« and serial number »4« lacks packaging type information (PackageTypeID elements)..html / .xml
violate_R387a_A_MovementAnnouncement.xmlR387ERRORIn the movement announcement message for the combination of notification number »IT 347203« and serial number »4« the last part of the route information refers to the country AT (ID »040«). The notification/consent entry for »IT 347203« in the database at »EDM.GV.AT« contains country of destination DE (ID »276«). The route must end in the country of destination..html / .xml
violate_R418a_C_CarrierConfirmation.xmlR418WARNINGThe carrier confirmation message for the combination of notification number »IT 347203« and serial number »3« lacks a transport means identifier, such as a license plate number (TransportMeansID element)..html / .xml
violate_R426a_E_ConfirmationOfWasteTreatment.xmlR426ERRORThe confirmation of waste treatment message for the combination of notification number »IT 347203« and serial number »3« contains treatment completion date »2023-04-22«. For the combination of notification number »IT 347203« and serial number »3«, the database at »EDM.GV.AT« contains waste receipt information with receipt date »2023-04-25«. According to this data, the treatment completion date is 3 days before the receipt date. This error triggers for a treatment completion date that is 2 or more days before the receipt date, leaving 1 day tolerance for time zone date progression differences..html / .xml
violate_R439a_A_MovementAnnouncement.xmlR439ERRORThe movement announcement message for the combination of notification number »IT 347203« and serial number »4« lacks the shipment start date (StartDate element)..html / .xml
violate_R446a_A_MovementAnnouncement.xmlR446ERRORThe route information with points of exit and points of entry in the movement announcement message for the combination of notification number »IT 347203« and serial number »4« refers to the same country AT (ID »040«) in two consecutive route parts, no. 2 and 3..html / .xml
violate_R470a_D_ConfirmationOfWasteReceipt.xmlR470INFOThe confirmation of waste receipt message for the combination of notification number »IT 347203« and serial number »3« contains a waste mass value of »0.0«..html / .xml
violate_R470b_D_ConfirmationOfWasteReceipt.xmlR470INFOThe confirmation of waste receipt message for the combination of notification number »IT 347203« and serial number »3« contains a waste volume value of »0.0«..html / .xml
violate_R473a_A_MovementAnnouncement.xmlR473WARNINGThe route information in the movement announcement message for the combination of notification number »IT 347203« and serial number »4« refers to country CS (ID »891«). According to the reference data at »EDM.GV.AT« this country ceased to exist at 2006-06-02, and therefore should NOT be referenced in the movement announcement with start date 2023-05-01..html / .xml
violate_R479a_A_MovementAnnouncement.xmlR479ERRORThe movement announcement message for the combination of notification number »IT 347203« and serial number »4« refers to the packaging type with code »8«. In the notification/consent entry for »IT 347203« in the database at »EDM.GV.AT« the type with code »8« is not among the consented packaging types..html / .xml
violate_R489a_D_ConfirmationOfWasteReceipt.xmlR489ERRORThe confirmation of waste receipt message for the combination of notification number »IT 347203« and serial number »3« lacks information on the received mass of waste (ReceivedWasteMass element), despite the notification/consent entry for »IT 347203« in the database at »EDM.GV.AT« containing a consented maximum total mass of waste..html / .xml
violate_R493a_E_ConfirmationOfWasteTreatment.xmlR493ERRORThe confirmation of waste treatment message for the combination of notification number »IT 347203« and serial number »3« lacks the treatment completion date (TreatmentCompletionDate element)..html / .xml
violate_R495a_A_MovementAnnouncement.xmlR495ERRORThe movement announcement message for the combination of notification number »IT 347203« and serial number »4« lacks information on the mass of waste to be shipped (WasteMass element), despite the notification/consent entry for »IT 347203« in the database at »EDM.GV.AT« containing a consented maximum total mass of waste..html / .xml
violate_R497a_A_MovementAnnouncement.xmlR497ERRORThe movement announcement message for the combination of notification number »IT 347203« and serial number »4« refers to a message creation party with ID »IT02795790241« (»VAT.EU«). This is different from the notification party reference in the notification/consent entry for »IT 347203« in the database at »EDM.GV.AT«, which contains WasteX relevant ID »IT33333333302« (»VAT.EU«)..html / .xml
violate_R497b_B_MovementAnnouncementStatus.xmlR497ERRORThe movement announcement status message for the combination of notification number »IT 347203« and serial number »4« refers to a message creation party with ID »IT02795790241« (»VAT.EU«). This is different from the notification party reference in the notification/consent entry for »IT 347203« in the database at »EDM.GV.AT«, which contains WasteX relevant ID »IT33333333302« (»VAT.EU«) and recipient specific ID »9008391486114«..html / .xml
violate_R519a_A_MovementAnnouncement.xmlR519ERRORIn the packaging type information (PackageTypeID elements) contained in the movement announcement message for the combination of notification number »IT 347203« and serial number »4« the following packaging types occur more than once: 8..html / .xml
violate_R521a_A_MovementAnnouncement.xmlR521ERRORThe movement announcement message for the combination of notification number »IT 347203« and serial number »4« refers to a carrier party with ID »IT02795790241« (»VAT.EU«). This does not match any of the carrier parties in the notification/consent entry for »IT 347203« at the »EDM.GV.AT« database. Note that for party IDs to match, the transmitted message must contain the correct type of ID (WasteX relevant ID or recipient specific ID), and »EDM.GV.AT« must contain unique party IDs with the correct types as well..html / .xml
violate_R522a_A_MovementAnnouncement.xmlR522WARNINGThe movement announcement message for the combination of notification number »IT 347203« and serial number »4« lacks the total number of packages (PackageCount element)..html / .xml
violate_R526a_A_MovementAnnouncement.xmlR526INFOThe movement announcement message for the combination of notification number »IT 347203« and serial number »4« refers to an exit point name »Kufstein« for country AT (ID »040«). This does not match any of the exit point names - »Achenwald«, »Kössen« - from the notification/consent entry for »IT 347203« in the database at »EDM.GV.AT«..html / .xml
violate_R530a_A_MovementAnnouncement.xmlR530ERRORThe movement announcement message for the combination of notification number »IT 347203« and serial number »4« contains a negative waste mass value »-23.0«..html / .xml
violate_R530b_A_MovementAnnouncement.xmlR530ERRORThe movement announcement message for the combination of notification number »IT 347203« and serial number »4« contains a negative waste volume value »-5.3«..html / .xml
violate_R530c_D_ConfirmationOfWasteReceipt.xmlR530ERRORThe confirmation of waste receipt message for the combination of notification number »IT 347203« and serial number »3« contains a negative waste mass value »-16.7«..html / .xml
violate_R530d_D_ConfirmationOfWasteReceipt.xmlR530ERRORThe confirmation of waste receipt message for the combination of notification number »IT 347203« and serial number »3« contains a negative waste volume value »-3.8«..html / .xml
violate_R533a_E_ConfirmationOfWasteTreatment.xmlR533WARNINGThe confirmation of waste treatment message for the combination of notification number »IT 347203« and serial number »3« contains treatment completion date »2023-04-27«. For the combination of notification number »IT 347203« and serial number »3«, the database at »EDM.GV.AT« contains waste receipt information with receipt date »2022-03-23«. According to this data, the treatment completion date is 400 days after the waste receipt date. This warning triggers for a treatment completion date that is more than 366 days after the waste receipt date..html / .xml
violate_R557a_A_MovementAnnouncement.xmlR557ERRORThe movement announcement message for the combination of notification number »IT 347203« and serial number »4« contains a waste mass value of »0.0«..html / .xml
violate_R557b_A_MovementAnnouncement.xmlR557ERRORThe movement announcement message for the combination of notification number »IT 347203« and serial number »4« contains a waste volume value of »0.0«..html / .xml
violate_R564a_D_ConfirmationOfWasteReceipt.xmlR564ERRORThe confirmation of waste receipt message for the combination of notification number »IT 347203« and serial number »3« refers to the waste receiver party with ID »DE140462045« (»VAT.EU«) and receipt site with post code »02699«. The waste treatment party and site in the notification/consent entry for »IT 347203« in the database at »EDM.GV.AT« has WasteX relevant ID »IT33333333302« (»VAT.EU«) and post code »02699«, which does not match. The consignee party in the notification/consent has WasteX relevant ID »IT44444444408« (»VAT.EU«), which does not match either..html / .xml
violate_R564b_D_ConfirmationOfWasteReceipt.xmlR564ERRORThe confirmation of waste receipt message for the combination of notification number »IT 347203« and serial number »3« refers to the waste receiver party with ID »DE140462045« (»VAT.EU«) and receipt site with post code »02699«. The waste treatment party and site in the notification/consent entry for »IT 347203« in the database at »EDM.GV.AT« has WasteX relevant ID »DE140462045« (»VAT.EU«) and post code »63720«, which does not match. The consignee party in the notification/consent has WasteX relevant ID »IT44444444408« (»VAT.EU«), which does not match either..html / .xml
violate_R576a_A_MovementAnnouncement.xmlR576WARNINGThe movement announcement message for the combination of notification number »IT 347203« and serial number »4« contains shipment start date »2023-05-01«. The notification/consent entry for »IT 347203« in the database at »EDM.GV.AT« defines »2023-05-27« as the first day at which shipments are permitted. According to these records, the shipment takes place before the consented shipment period..html / .xml
violate_R602a_E_ConfirmationOfWasteTreatment.xmlR602ERRORThe confirmation of waste treatment message for notification number »IT 347203« refers to serial number »0«. The serial number must be geater or equal to 1..html / .xml
violate_R606a_A_MovementAnnouncement.xmlR606ERRORThe movement announcement message for the combination of notification number »IT 347203« and serial number »4« contains the entry point name »Hirtsbecken« for the first part of the route in country IT (ID »380«). The first part of the route must not contain an entry point name..html / .xml
violate_R614a_B_MovementAnnouncementStatus.xmlR614ERRORThe movement announcement cancellation (movement announcement status message) refers to the combination of notification number »IT 347203« and serial number »4«. »EDM.GV.AT« cannot accept/process the cancellation, as for this combination of notification number and serial number, the database at »EDM.GV.AT« already contains the following: carrier confirmation, confirmation of waste receipt..html / .xml
violate_R614b_B_MovementAnnouncementStatus.xmlR614ERRORThe movement announcement cancellation (movement announcement status message) refers to the combination of notification number »IT 347203« and serial number »4«. »EDM.GV.AT« cannot accept/process the cancellation, as for this combination of notification number and serial number, the database at »EDM.GV.AT« already contains the following: carrier confirmation, confirmation of waste receipt, confirmation of the completion of waste treatment..html / .xml
violate_R631a_C_CarrierConfirmation.xmlR631WARNINGThe carrier confirmation message for the combination of notification number »IT 347203« and serial number »3« contains transfer date »2023-04-27«. For the combination of notification number »IT 347203« and serial number »3«, the database at »EDM.GV.AT« contains movement announcement information with shipment start date »2023-05-01«. According to this data, the transfer date is 4 days before the shipment start date. This warning triggers for a transfer date that is 2 or more days before the shipment start date, leaving 1 day tolerance for time zone date progression differences..html / .xml
violate_R631b_D_ConfirmationOfWasteReceipt.xmlR631WARNINGThe confirmation of waste receipt message for the combination of notification number »IT 347203« and serial number »3« contains waste receipt date »2023-04-27«. For the combination of notification number »IT 347203« and serial number »3«, the database at »EDM.GV.AT« contains movement announcement information with shipment start date »2023-05-01«. According to this data, the waste receipt date is 4 days before the shipment start date. This warning triggers for a waste receipt date that is 2 or more days before the shipment start date, leaving 1 day tolerance for time zone date progression differences..html / .xml
violate_R631c_E_ConfirmationOfWasteTreatment.xmlR631WARNINGThe confirmation of waste treatment message for the combination of notification number »IT 347203« and serial number »3« contains treatment completion date »2023-04-27«. For the combination of notification number »IT 347203« and serial number »3«, the database at »EDM.GV.AT« contains movement announcement information with shipment start date »2023-05-01«. According to this data, the treatment completion date is 4 days before the shipment start date. This warning triggers for a treatment completion date that is 2 or more days before the shipment start date, leaving 1 day tolerance for time zone date progression differences..html / .xml
violate_R651a_D_ConfirmationOfWasteReceipt.xmlR651WARNINGThe confirmation of waste receipt message refers to the combination of notification number »IT 347203« and serial number »3«. The transmission of the confirmation of waste receipt message is late because for this combination of notification number and serial number the database at »EDM.GV.AT« already contains the following: confirmation of the completion of waste treatment..html / .xml
violate_R684a_A_MovementAnnouncement.xmlR684ERRORThe movement announcement message for the combination of notification number »IT 347203« and serial number »4« lacks information on the volume of waste to be shipped (WasteVolume element), despite the notification/consent entry for »IT 347203« in the database at »EDM.GV.AT« containing a consented maximum total volume of waste..html / .xml
violate_R686a_A_MovementAnnouncement.xmlR686ERRORThe movement announcement message for the combination of notification number »IT 347203« and serial number »4« lacks the entry point name (EntryPointName element) for route part no. 2 in country AT (ID »040«)..html / .xml
violate_R688a_B_MovementAnnouncementStatus.xmlR688WARNINGThe movement announcement status message (announcement cancellation) refers to notification number »IT 347203« and serial number »4«. In the database at »EDM.GV.AT« there is no movement announcement for this combination of notification number and serial number. As a result, »EDM.GV.AT« ignores the message..html / .xml
violate_R705a_A_MovementAnnouncement.xmlR705WARNINGThe movement announcement message for the combination of notification number »IT 347203« and serial number »4« lacks country entry point and exit point information (NationalRoute elements)..html / .xml
violate_R712a_A_MovementAnnouncement.xmlR712ERRORThe movement announcement message for the combination of notification number »IT 347203« and serial number »4« contains shipment start date »2025-04-30«. The message receipt timestamp is »2023-04-27T13:28:26.088980Z«, which means that from the time of message receipt it still takes more than 2 years until the shipment starts. This error triggers for a time difference of 1 or more years..html / .xml
violate_R715a_E_ConfirmationOfWasteTreatment.xmlR715WARNINGThe confirmation of waste treatment message refers to notification number »IT 347203« and serial number »3«. In the database at »EDM.GV.AT« there is no confirmation of waste receipt for this combination of notification number and serial number at the time of confirmation of waste treatment message receipt..html / .xml
violate_R725a_C_CarrierConfirmation.xmlR725INFOAT: Note that for the time being the WasteX interface of the Austrian competent authority cannot store carrier confirmations. The competent authority will not have access to transmitted carrier confirmations..html / .xml
violate_R726a_D_ConfirmationOfWasteReceipt.xmlR726ERRORThe confirmation of waste receipt message for the combination of notification number »IT 347203« and serial number »3« lacks the indication of whether or not the received waste was rejected (RejectionIndicator element)..html / .xml
violate_R732a_A_MovementAnnouncement.xmlR732WARNINGThe movement announcement message for the combination of notification number »IT 347203« and serial number »4« refers to the combination of transport mode »T« and carrier party with ID »DE188158403« (»VAT.EU«). The notification/consent entry for »IT 347203« in the database at »EDM.GV.AT« does NOT contain this combination of transport mode and carrier party. The notification/consent contains the following transport modes for the party: S, W.html / .xml
violate_R767a_E_ConfirmationOfWasteTreatment.xmlR767ERRORThe confirmation of waste treatment message for the combination of notification number »IT 347203« and serial number »3« refers to the waste treatment party with ID »DE140462045« (»VAT.EU«) and treatment site post code »02699«. The waste treatment party and site in the notification/consent entry for »IT 347203« in the database at »EDM.GV.AT« has WasteX relevant ID »IT33333333302« (»VAT.EU«) and post code »02699«, which does not match..html / .xml
violate_R780a_A_MovementAnnouncement.xmlR780ERRORThe movement announcement message refers to notification number »IT 347203«. A notification with that number does not exist in the database at »EDM.GV.AT«..html / .xml
violate_R780b_D_ConfirmationOfWasteReceipt.xmlR780ERRORThe confirmation of waste receipt message refers to notification number »IT 347203«. A notification with that number does not exist in the database at »EDM.GV.AT«..html / .xml
violate_R795a_C_CarrierConfirmation.xmlR795WARNINGThe carrier confirmation message refers to notification number »IT 347203« and serial number »3«. In the database at »EDM.GV.AT« there is no movement announcement for this combination of notification number and serial number at the time of carrier confirmation message receipt..html / .xml
violate_R795b_D_ConfirmationOfWasteReceipt.xmlR795WARNINGThe confirmation of waste receipt message refers to notification number »IT 347203« and serial number »3«. In the database at »EDM.GV.AT« there is no movement announcement for this combination of notification number and serial number at the time of confirmation of waste receipt message receipt..html / .xml
violate_R795c_E_ConfirmationOfWasteTreatment.xmlR795WARNINGThe confirmation of waste treatment message refers to notification number »IT 347203« and serial number »3«. In the database at »EDM.GV.AT« there is no movement announcement for this combination of notification number and serial number at the time of confirmation of waste treatment message receipt..html / .xml
violate_R797a_D_ConfirmationOfWasteReceipt.xmlR797ERRORThe confirmation of waste receipt message refers to notification number »IT 347203« and serial number »3«. The notification/consent entry for »IT 347203« in the database at »EDM.GV.AT« lacks party identifiers needed for looking up party references contained in WasteX messages. This applies to one or more of the following parties: Notifier, waste producers, carriers, consignee and/or waste treatment parties..html / .xml
violate_R798a_A_MovementAnnouncement.xmlR798ERRORThe movement announcement message for the combination of notification number »IT 347203« and serial number »4« lacks carrier information (TransportMovement elements)..html / .xml
violate_R804a_B_MovementAnnouncementStatus.xmlR804WARNINGThe movement announcement status message refers to notification number »IT 347203« and serial number »4«. For this combination of notification number and serial number, the database at »EDM.GV.AT« contains latest movement announcement information with start date »2023-04-23«. The receipt timestamp for the movement announcement status message is »2023-04-27T13:28:26.137850Z«, which means that more than 4 days have elapsed between shipment start date and message receipt. This warning triggers for a posteriori announcement status updates (cancellations) with a time difference of more than 1 day. Note that pursuant to provisions such as the WSR the information must be exchanged as an announcement, i.e., BEFORE the start of the shipment..html / .xml
violate_R808a_A_MovementAnnouncement.xmlR808ERRORThe movement announcement message for notification number »IT 347203« and serial number »4« contains the number of packages »-1«. The number of packages must be greater or equal to 0..html / .xml
violate_R824a_A_MovementAnnouncement.xmlR824ERRORThe route information in the movement announcement message for the combination of notification number »IT 347203« and serial number »4« refers to country SC (ID »690«). According to the notification/consent entry for »IT 347203« in the database at »EDM.GV.AT«, this country is neither country of dispatch, nor country of transit, nor country of destination. The route information must match country of dispatch, countries of transit and country of destination from the notification/consent..html / .xml
violate_R827a_E_ConfirmationOfWasteTreatment.xmlR827WARNINGThe confirmation of waste treatment message refers to notification number »IT 347203« and serial number »3«. According to the notification/consent entry for »IT 347203« in the database at »EDM.GV.AT« the status of the notification and consent procedure is such that shipments are not or not yet permitted..html / .xml
violate_R837a_A_MovementAnnouncement.xmlR837WARNINGThe movement announcement message for the combination of notification number »IT 347203« and serial number »4« refers to 55.0m3 of waste. According to the notification in the database at »EDM.GV.AT« the total consented amount of waste is 22,000.0m3. According to the shipment information in the database at »EDM.GV.AT« a total of 21,990.0m3 has already been announced or confirmed in receipt previously. As a result, the movement announcement exceeds the total consented amount of waste..html / .xml
violate_R849a_D_ConfirmationOfWasteReceipt.xmlR849WARNINGThe confirmation of waste receipt message for the combination of notification number »IT 347203« and serial number »3« contains the planned date of waste treatment completion »2025-03-27«. The message also contains the waste receipt date »2023-04-27«. According to this data, the treatment is completed 700 days after the waste receipt. This warning triggers for a waste treatment completion that is more than 366 days after the waste receipt date..html / .xml
violate_R852a_D_ConfirmationOfWasteReceipt.xmlR852ERRORThe confirmation of waste receipt message for the combination of notification number »IT 347203« and serial number »3« refers to the waste receiver party with ID »DE140462045« (»VAT.EU«). This matches the consignee party from the notification/consent entry for »IT 347203« in the database at »EDM.GV.AT«, but does NOT match the waste treatment party. This version of the WasteX specification does NOT support Annex IB Block 17 WSR confirmations by consignees, but rather only supports Annex IB Block 18 confirmations by waste treatment parties..html / .xml
violate_R899a_E_ConfirmationOfWasteTreatment.xmlR899ERRORThe confirmation of waste treatment message for the combination of notification number »IT 347203« and serial number »3« refers to the waste treatment party with ID »IT02244220212« (»VAT.EU«). This does not match the message creation party with ID »DE140462045« (»VAT.EU«)..html / .xml
violate_R902a_E_ConfirmationOfWasteTreatment.xmlR902ERRORThe confirmation of waste treatment message for the combination of notification number »IT 347203« and serial number »3« lacks the treatment site post code (SitePostalAreaID element)..html / .xml
violate_R952a_A_MovementAnnouncement.xmlR952WARNINGThe movement announcement message for the combination of notification number »IT 347203« and serial number »4« lacks the quantification type (QuantificationTypeID element) in the mass information. This means that it lacks the information whether the value is measured, calculated or estimated..html / .xml
violate_R952b_A_MovementAnnouncement.xmlR952WARNINGThe movement announcement message for the combination of notification number »IT 347203« and serial number »4« lacks the quantification type (QuantificationTypeID element) in the volume information. This means that it lacks the information whether the value is measured, calculated or estimated..html / .xml
violate_R952c_D_ConfirmationOfWasteReceipt.xmlR952WARNINGThe confirmation of waste receipt message for the combination of notification number »IT 347203« and serial number »3« lacks the quantification type (QuantificationTypeID element) in the mass information. This means that it lacks the information whether the value is measured, calculated or estimated..html / .xml
violate_R952d_D_ConfirmationOfWasteReceipt.xmlR952WARNINGThe confirmation of waste receipt message for the combination of notification number »IT 347203« and serial number »3« lacks the quantification type (QuantificationTypeID element) in the volume information. This means that it lacks the information whether the value is measured, calculated or estimated..html / .xml
violate_R959a_A_MovementAnnouncement.xmlR959ERRORThe movement announcement message for the combination of notification number »IT 347203« and serial number »4« contains the exit point name »Aach im Allgäu« for the last part of the route in country DE (ID »276«). The last part of the route must not contain an exit point name..html / .xml
violate_R967a_C_CarrierConfirmation.xmlR967ERRORThe carrier confirmation message for the combination of notification number »IT 347203« and serial number »3« refers to the carrier with ID »DE811617242« (»VAT.EU«). This does not match the message creation party with ID »IT00623920212« (»VAT.EU«)..html / .xml
violate_R971a_C_CarrierConfirmation.xmlR971WARNINGThe carrier confirmation message for the combination of notification number »IT 347203« and serial number »3« refers to the combination of transport mode »R« and carrier party with ID »IT00623920212« (»VAT.EU«). The notification/consent entry for »IT 347203« in the database at »EDM.GV.AT« does NOT contain this combination of transport mode and carrier party. The notification/consent contains the following transport modes for the party: S, W.html / .xml
violate_R979a_C_CarrierConfirmation.xmlR979WARNINGThe carrier confirmation message for the combination of notification number »IT 347203« and serial number »3« contains transfer date »2023-04-27«. For the combination of notification number »IT 347203« and serial number »3«, the database at »EDM.GV.AT« contains movement announcement information with shipment date »2022-07-01«. According to this data, the transfer date is 300 days after the shipment start date. This warning triggers for a transfer date that is 200 days or more after the shipment start date..html / .xml
violate_R979b_D_ConfirmationOfWasteReceipt.xmlR979WARNINGThe confirmation of waste receipt message for the combination of notification number »IT 347203« and serial number »3« contains waste receipt date »2023-04-27«. For the combination of notification number »IT 347203« and serial number »3«, the database at »EDM.GV.AT« contains movement announcement information with shipment date »2022-07-01«. According to this data, the waste receipt date is 300 days after the shipment start date. This warning triggers for a waste receipt date that is 200 days or more after the shipment start date..html / .xml
violate_R987a_A_MovementAnnouncement.xmlR987INFOThe movement announcement message for the combination of notification number »IT 347203« and serial number »4« refers to 50.0t of waste. A waste mass greater or equal to 35t is considered unusually high for a single shipment of waste with transport on road..html / .xml

References

BC

Basel Convention on the control of transboundary movements of hazardous wastes and their disposal

HTML 5

Hypertext Markup Language, Web Hypertext Application Technology Working Group (WHATWG) and W3C Recommendation

Saxon

An open source [XSLT] and [XQuery] processor developed by Saxonica Limited

Schematron 2016

Information technology, Schema Definition Languages (DSDL), Part 3: Rule-based validation, ISO/IEC 19757-3 standard

SchXslt 1.7.1

A [Schematron] processor implemented entirely in [XSLT]. It transforms a [Schematron] schema document into an [XSLT] stylesheet that you apply to the document(s) to be validated

SOAP 1.2

Lightweight protocol intended for exchanging structured information in a decentralized, distributed environment, W3C Recommendation

Unicode


UTF-8

Variable-width Unicode encoding form that preserves ASCII transparency by making use of 8-bit code units, The Unicode Consortium

WSDL 2.0

Web Services Description Language, an [XML] language for describing web services, W3C Recommendation

XML 1.0

Extensible Markup Language, W3C Recommendation

XQuery 2.0

[XML] Query Language, W3C Recommendation

XSD 1.0

[XML] Schema Definition Language, W3C Recommendation

XSLT 2.0

Extensible Stylesheet Language Transformations, W3C Recommendation

Specification history of changes

History of changes

VersionDateDescription / Changes
1.082023-04-27

Changes:

  • Added formal validation rules 🠖R247 and 🠖R387 which check that route information starts with country of dispatch and ends with country of destination
  • Improved references to countries in validation report texts
  • Corrected 🠖R170 to use number comparison instead of string comparison
  • Adapted formal validation rules 🠖R085, 🠖R148, 🠖R259, 🠖R356, 🠖R497, 🠖R521, 🠖R564 and 🠖R767 to better reference party identifiers and better describe the prerequisites for party identifiers contained in the message and party identifiers contained in the recipient's database to uniquely match
  • Fixed 🠖R148 to work with recipient specific carrier party IDs, and to ignore the number of matching carrier entries as long as there are matches
  • Removed formal validation rules 784 and 931, as edm.gv.at now displays the respective data to users in the GUI
  • Added specification for HMAC authentication to section 2.14 of the PDF specification description
  • Modified Schematron-XSL file in such a way that validation protocols in SVRL format only contain entries for actually triggered validation rules. In particular, validation protocols no longer contain active-pattern and fired-rule entries. In line with this, modified svrl.xsd to support SVRL instances without active-pattern and fired-rule entries. This is to make validation protocols smaller in byte size and easier to use
1.072023-02-15

Changes:

  1. Fixed the erronous addition of RecipientSpecificPartyID to MovementAnnouncement user messages in the TransportMovement element introduced in v1.06
1.062023‑0214

Changes:

  1. Added RecipientSpecificPartyID elements to the validation context, and adjusted formal validation rules accordingly, in order to support two types of party IDs in WasteX user messages, (a) party IDs complying with the interoperable WasteX scheme, and (b) recipient specific party IDs
  2. Adapted the formal validation rule Schematron source file wastex_formalvalidationrules.sch for ensuring compaitibility with XSLT 3.0 processors
  3. Moved parts of the description in this HTML annex
1.052023-01-23

Changes:

  1. Reverted the CountIdentifierContent change applied in v1.03 in order to minimize the number of changes required in code
1.042023-01-20

Changes:

  1. Changed formal validation 🠖R804 from ERROR to WARNING
1.032022-12-21

Changes:

  1. Added formal validation rules 🠖R170, 🠖R602 and 🠖R808

  2. Changed base type of CountIdentifierContent from xs:integer to xs:string, and introduced a pattern (regular expression) in order to support unambiguity in the identification of individual shipments from a series of shipments
  3. Changed CountContent base type from xs:nonNegativeInteger to xs:integer (relates to introduction of 🠖R808)

  4. Improved user message data element descriptions
  5. Corrected TimestampContentType pattern (regular expression)

1.022022-09-21

Changes:

  1. Fixed InitSyncResponse/UpdateUUID in wastex_webservice_types.xsd to contain type UUIDIdentifierContent. The element lacked a type in v1.01
1.012022-03-29

Changes:

  1. Adapted svrl.xsd in order to constrain validation protocol texts to plain texts, and thus to simplify the use of svrl.xsd. In v1.00, svrl.xsd had supported rich texts (texts with markup, such as bold or italic). Note that WasteX does not use markup in validation protocol texts, and that this applies to all WasteX versions

  2. Switched party registration IDs (GLN.AT, UID.CH, etc.) from static codelist usage to dynamic codelist usage
1.002022-02-24

Initial release

Detailed changes (diff) compared to version 1.07

svrl.xsd

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!--
- WasteX v1.07 - simple EDI for waste shipments
+ WasteX v1.08 - simple EDI for waste shipments
 
  Copyright (C) 2023 Environment Agency Austria
  Commissioned by the Austrian Federal Ministry of Environment (BMK)
@@ -55,9 +55,9 @@
  <xs:element ref="svrl:text" minOccurs="0" maxOccurs="unbounded"/>
  <xs:element ref="svrl:ns-prefix-in-attribute-values" minOccurs="0" maxOccurs="unbounded"/>
  <xs:sequence maxOccurs="unbounded">
- <xs:element ref="svrl:active-pattern"/>
+ <xs:element ref="svrl:active-pattern" minOccurs="0"/>
  <xs:sequence minOccurs="0" maxOccurs="unbounded">
- <xs:element ref="svrl:fired-rule"/>
+ <xs:element ref="svrl:fired-rule" minOccurs="0"/>
  <xs:choice minOccurs="0" maxOccurs="unbounded">
  <xs:element ref="svrl:failed-assert"/>
  <xs:element ref="svrl:successful-report"/>

wastex_formalvalidationrules.sch

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!--
- WasteX v1.07 - simple EDI for waste shipments
+ WasteX v1.08 - simple EDI for waste shipments
 
  Copyright (C) 2023 Environment Agency Austria
  Commissioned by the Austrian Federal Ministry of Environment (BMK)
@@ -65,7 +65,7 @@
  <xsl:param name="scarrierpartyid" as="xs:string"/>
  <xsl:param name="sregisterid" as="xs:string"/>
  <xsl:variable name="nmainmatch" select="$ntransportmovementavail[(wxm:CarrierPartyID eq $scarrierpartyid) and (wxm:CarrierPartyID/@registerID eq $sregisterid)]"/>
- <xsl:sequence select="if (count($nmainmatch) ge 1) then ($nmainmatch) else ($ntransportmovementavail[wxm:RecipientSpecificPartyID eq $scarrierpartyid])"/>
+ <xsl:sequence select="if (count($nmainmatch) ge 1) then ($nmainmatch) else ($ntransportmovementavail[wxm:RecipientSpecificCarrierPartyID eq $scarrierpartyid])"/>
  </xsl:function>
  <xsl:function name="f:matchingPartySiteNodes" as="node()*">
  <xsl:param name="npartysiteavail" as="node()*"/>
@@ -75,6 +75,29 @@
  <xsl:variable name="nmainmatch" select="$npartysiteavail[(wxm:PartyID eq $spartyid) and (wxm:PartyID/@registerID eq $sregisterid) and (wxm:SitePostalAreaID eq $spostalareaid)]"/>
  <xsl:sequence select="if (count($nmainmatch) ge 1) then ($nmainmatch) else ($npartysiteavail[(wxm:RecipientSpecificPartyID eq $spartyid) and (wxm:SitePostalAreaID eq $spostalareaid)])"/>
  </xsl:function>
+ <xsl:function name="f:concatID" as="xs:string">
+ <xsl:param name="sida" as="xs:string"/>
+ <xsl:param name="sidb" as="xs:string"/>
+ <xsl:param name="ssep" as="xs:string"/>
+ <xsl:sequence select="if ($sida ne '') then (if ($sidb ne '') then (concat($sida,$ssep,$sidb)) else ($sida)) else ($sidb)"/>
+ </xsl:function>
+ <xsl:function name="f:listPartyID" as="xs:string">
+ <xsl:param name="nparty" as="node()"/>
+ <xsl:param name="ssep" as="xs:string"/>
+ <xsl:variable name="sidwastex" select="if (exists($nparty/wxm:PartyID)) then (concat('WasteX relevant ID »',$nparty/wxm:PartyID/text(),'« (»',$nparty/wxm:PartyID/@registerID,'«)')) else ('')"/>
+ <xsl:variable name="sidspec" select="if (exists($nparty/wxm:RecipientSpecificPartyID)) then (concat('recipient specific ID »',$nparty/wxm:RecipientSpecificPartyID/text(),'«')) else ('')"/>
+ <xsl:sequence select="f:concatID($sidwastex,$sidspec,$ssep)"/>
+ </xsl:function>
+ <xsl:function name="f:resolveCountryIDString" as="xs:string">
+ <xsl:param name="lnodevalcontext" as="node()"/>
+ <xsl:param name="sid" as="xs:string"/>
+ <xsl:variable name="lnodeelem" select="$lnodevalcontext/wxm:ValidationNodeReferenceData/wxm:CountryList/wxm:ListElement[wxm:CountryID eq $sid]"/>
+ <xsl:sequence select="if (exists($lnodeelem) and exists($lnodeelem/wxm:CountryTwoLetterID)) then (concat($lnodeelem/wxm:CountryTwoLetterID,' (ID »',$sid,'«)')) else (concat('»',$sid,'«'))"/>
+ </xsl:function>
+ <xsl:function name="f:quoteJoin" as="xs:string">
+ <xsl:param name="ntext" as="node()*"/>
+ <xsl:sequence select="if (count($ntext) eq 0) then ('') else (concat('»',string-join($ntext/text(),'«, »'),'«'))"/>
+ </xsl:function>
  <pattern>
  <rule id="R011" context="wxm:WasteMovementUserMessage/wxm:CarrierConfirmation">
  <report id="R011_chkcon" role="WARNING" test="(xs:boolean(/wxm:MessageValidationContext/wxm:ValidationNodeIndividualData/wxm:ConfirmationOfWasteReceiptInDatabaseIndicator) or xs:boolean(/wxm:MessageValidationContext/wxm:ValidationNodeIndividualData/wxm:FacilityConfirmationOfWasteTreatmentInDatabaseIndicator) or xs:boolean(/wxm:MessageValidationContext/wxm:ValidationNodeIndividualData/wxm:EntireConfirmationOfWasteTreatmentInDatabaseIndicator)) eq true()">The <sch:value-of select="f:msgTypeName(current())"/> refers to the combination of notification number »<sch:value-of select="f:msgNotID(current())"/>« and serial number »<sch:value-of select="f:msgSeqNumID(current())"/>«. The transmission of the <sch:value-of select="f:msgTypeName(current())"/> is late because for this combination of notification number and serial number the database at <sch:value-of select="f:valNodeName(current())"/> already contains the following: <sch:value-of select="string-join((for $m in f:availContentTypesShort(current()) return (if (($m eq 'movement announcement') or ($m eq 'carrier confirmation')) then '' else $m))[. != ''], ', ')"/>.</report>
@@ -122,7 +145,7 @@
  </pattern>
  <pattern>
  <rule id="R085" context="wxm:WasteMovementUserMessage/wxm:MovementAnnouncement/wxm:WasteProductionPartySite">
- <report id="R085_chkref" role="ERROR" test="count(f:matchingPartySiteNodes(/wxm:MessageValidationContext/wxm:ValidationNodeIndividualData/wxm:Notification/wxm:WasteProductionPartySite,current()/wxm:PartyID,current()/wxm:PartyID/@registerID,f:safeStringValue(current()/wxm:SitePostalAreaID))) gt 1">The movement announcement message for the combination of notification number »<sch:value-of select="f:msgNotID(current())"/>« and serial number »<sch:value-of select="f:msgSeqNumID(current())"/>« refers to a waste production party with ID »<sch:value-of select="wxm:PartyID"/>« (»<sch:value-of select="current()/wxm:PartyID/@registerID"/>«) in combination with a production site with post code »<sch:value-of select="wxm:SitePostalAreaID"/>«. The notification/consent entry for »<sch:value-of select="f:msgNotID(current())"/>« in the database at <sch:value-of select="f:valNodeName(current())"/> contains multiple waste production party and site combinations with this party ID and site post code. As a result, the movement announcement does not uniquely reference a waste production entry of the notification.</report>
+ <report id="R085_chkref" role="ERROR" test="count(f:matchingPartySiteNodes(/wxm:MessageValidationContext/wxm:ValidationNodeIndividualData/wxm:Notification/wxm:WasteProductionPartySite,current()/wxm:PartyID,current()/wxm:PartyID/@registerID,f:safeStringValue(current()/wxm:SitePostalAreaID))) gt 1">The movement announcement message for the combination of notification number »<sch:value-of select="f:msgNotID(current())"/>« and serial number »<sch:value-of select="f:msgSeqNumID(current())"/>« refers to a waste production party with ID »<sch:value-of select="wxm:PartyID"/>« (»<sch:value-of select="current()/wxm:PartyID/@registerID"/>«) in combination with a production site with post code »<sch:value-of select="wxm:SitePostalAreaID"/>«. The notification/consent entry for »<sch:value-of select="f:msgNotID(current())"/>« in the database at <sch:value-of select="f:valNodeName(current())"/> contains multiple waste production party and site combinations matching this party ID and site post code. As a result, the movement announcement does not uniquely reference a waste production entry of the notification.</report>
  </rule>
  </pattern>
  <pattern>
@@ -132,7 +155,7 @@
  </pattern>
  <pattern>
  <rule id="R112" context="wxm:MovementAnnouncement/wxm:NationalRoute[position() ne last()]">
- <assert id="R112_prvalw" role="ERROR" test="exists(wxm:ExitPointName)">The movement announcement message for the combination of notification number »<sch:value-of select="f:msgNotID(current())"/>« and serial number »<sch:value-of select="f:msgSeqNumID(current())"/>« lacks the exit point name (ExitPointName element) for country no. <sch:value-of select="1+count(preceding-sibling::*[name() eq name(current())])"/>, ISO 3166-1 3-digit code <sch:value-of select="if (exists(/wxm:MessageValidationContext/wxm:ValidationNodeReferenceData/wxm:CountryList/wxm:ListElement[wxm:CountryID eq current()/wxm:CountryID]/wxm:CountryTwoLetterID)) then concat('»',wxm:CountryID,'« (',/wxm:MessageValidationContext/wxm:ValidationNodeReferenceData/wxm:CountryList/wxm:ListElement[wxm:CountryID eq current()/wxm:CountryID]/wxm:CountryTwoLetterID,')') else concat('»',.,'«')"/>.</assert>
+ <assert id="R112_prvalw" role="ERROR" test="exists(wxm:ExitPointName)">The movement announcement message for the combination of notification number »<sch:value-of select="f:msgNotID(current())"/>« and serial number »<sch:value-of select="f:msgSeqNumID(current())"/>« lacks the exit point name (ExitPointName element) for route part no. <sch:value-of select="1+count(preceding-sibling::*[name() eq name(current())])"/> in country <sch:value-of select="f:resolveCountryIDString(/wxm:MessageValidationContext,wxm:CountryID/text())"/>.</assert>
  </rule>
  </pattern>
  <pattern>
@@ -157,7 +180,7 @@
  </pattern>
  <pattern>
  <rule id="R148" context="wxm:WasteMovementUserMessage/wxm:CarrierConfirmation/wxm:CarrierPartyID">
- <report id="R148_chkcon" role="WARNING" test="exists(/wxm:MessageValidationContext/wxm:ValidationNodeIndividualData/wxm:MovementAnnouncement/wxm:TransportMovement) and (count(f:matchingTransportMovementNodes(/wxm:MessageValidationContext/wxm:ValidationNodeIndividualData/wxm:MovementAnnouncement/wxm:TransportMovement,current(),current()/@registerID)) ne 1)">The <sch:value-of select="f:msgTypeName(current())"/> for the combination of notification number »<sch:value-of select="f:msgNotID(current())"/>« and serial number »<sch:value-of select="f:msgSeqNumID(current())"/>« refers to the carrier party with ID »<sch:value-of select="."/>« (»<sch:value-of select="current()/@registerID"/>«). This does not match any of the carriers in the movement announcement information for the combination of notification number »<sch:value-of select="f:msgNotID(current())"/>« and serial number »<sch:value-of select="f:msgSeqNumID(current())"/>« in the database at <sch:value-of select="f:valNodeName(current())"/>.</report>
+ <report id="R148_chkcon" role="WARNING" test="exists(/wxm:MessageValidationContext/wxm:ValidationNodeIndividualData/wxm:MovementAnnouncement/wxm:TransportMovement) and (count(f:matchingTransportMovementNodes(/wxm:MessageValidationContext/wxm:ValidationNodeIndividualData/wxm:MovementAnnouncement/wxm:TransportMovement,current(),current()/@registerID)) lt 1)">The <sch:value-of select="f:msgTypeName(current())"/> for the combination of notification number »<sch:value-of select="f:msgNotID(current())"/>« and serial number »<sch:value-of select="f:msgSeqNumID(current())"/>« refers to the carrier party with ID »<sch:value-of select="."/>« (»<sch:value-of select="current()/@registerID"/>«). This does not match any of the carriers in the movement announcement information for the combination of notification number »<sch:value-of select="f:msgNotID(current())"/>« and serial number »<sch:value-of select="f:msgSeqNumID(current())"/>« in the database at <sch:value-of select="f:valNodeName(current())"/>. Note that for party IDs to match, the transmitted message must contain the correct type of ID (WasteX relevant ID or recipient specific ID), and <sch:value-of select="f:valNodeName(current())"/> must contain unique party IDs with the correct types as well.</report>
  </rule>
  </pattern>
  <pattern>
@@ -167,7 +190,7 @@
  </pattern>
  <pattern>
  <rule id="R170" context="wxm:WasteMovementUserMessage/wxm:MovementAnnouncement/wxm:AnnouncementIdentity">
- <report id="R170_chkcon" role="WARNING" xml:lang="en" test="(xs:boolean(/wxm:MessageValidationContext/wxm:ValidationNodeIndividualData/wxm:NotificationInDatabaseIndicator) eq true()) and exists(/wxm:MessageValidationContext/wxm:ValidationNodeIndividualData/wxm:Notification/wxm:MovementCount) and (wxm:SequenceNumberID gt /wxm:MessageValidationContext/wxm:ValidationNodeIndividualData/wxm:Notification/wxm:MovementCount)">The <sch:value-of select="f:msgTypeName(current())"/> refers to notification number »<sch:value-of select="f:msgNotID(current())"/>« and serial number »<sch:value-of select="f:msgSeqNumID(current())"/>«. In the database at <sch:value-of select="f:valNodeName(current())"/> the notification/consent entry for »<sch:value-of select="f:msgNotID(current())"/>« the total consented number of shipments is »<sch:value-of select="/wxm:MessageValidationContext/wxm:ValidationNodeIndividualData/wxm:Notification/wxm:MovementCount"/>«, which the serial number »<sch:value-of select="f:msgSeqNumID(current())"/>« exceeds.</report>
+ <report id="R170_chkcon" role="WARNING" xml:lang="en" test="(xs:boolean(/wxm:MessageValidationContext/wxm:ValidationNodeIndividualData/wxm:NotificationInDatabaseIndicator) eq true()) and exists(/wxm:MessageValidationContext/wxm:ValidationNodeIndividualData/wxm:Notification/wxm:MovementCount) and (xs:decimal(wxm:SequenceNumberID) gt xs:decimal( /wxm:MessageValidationContext/wxm:ValidationNodeIndividualData/wxm:Notification/wxm:MovementCount))">The <sch:value-of select="f:msgTypeName(current())"/> refers to notification number »<sch:value-of select="f:msgNotID(current())"/>« and serial number »<sch:value-of select="f:msgSeqNumID(current())"/>«. In the database at <sch:value-of select="f:valNodeName(current())"/> the notification/consent entry for »<sch:value-of select="f:msgNotID(current())"/>« the total consented number of shipments is »<sch:value-of select="/wxm:MessageValidationContext/wxm:ValidationNodeIndividualData/wxm:Notification/wxm:MovementCount"/>«, which the serial number »<sch:value-of select="f:msgSeqNumID(current())"/>« exceeds.</report>
  </rule>
  </pattern>
  <pattern>
@@ -185,7 +208,8 @@
  </pattern>
  <pattern>
  <rule id="R219" context="wxm:WasteMovementUserMessage/wxm:MovementAnnouncement/wxm:StartDate">
- <assert id="R219_chkcon" role="ERROR" test="not(exists(/wxm:MessageValidationContext/wxm:EDIInteractionUTCTimestamp)) or (xs:date(.) ge xs:date(format-dateTime(adjust-dateTime-to-timezone(/wxm:MessageValidationContext/wxm:EDIInteractionUTCTimestamp, xs:dayTimeDuration('-PT12H'))-xs:dayTimeDuration('P2D'),'[Y]-[M,2]-[D,2]')))">The <sch:value-of select="f:msgTypeName(current())"/> for the combination of notification number »<sch:value-of select="f:msgNotID(current())"/>« and serial number »<sch:value-of select="f:msgSeqNumID(current())"/>« contains shipment start date »<sch:value-of select="."/>«. The message receipt timestamp is »<sch:value-of select="/wxm:MessageValidationContext/wxm:EDIInteractionUTCTimestamp"/>«, which means that more than <sch:value-of select="days-from-duration(xs:date(format-dateTime(adjust-dateTime-to-timezone(/wxm:MessageValidationContext/wxm:EDIInteractionUTCTimestamp, xs:dayTimeDuration('-PT12H')),'[Y]-[M,2]-[D,2]'))-xs:date(current()))"/> days have elapsed between shipment start date and message receipt. This error triggers for a time difference of more than 1 day. Note that pursuant to provisions such as the WSR the information must be exchanged as an announcement, i.e., BEFORE the start of the shipment.</assert>
+ <assert id="R219_chkcon" role="ERROR" test="not(exists(/wxm:MessageValidationContext/wxm:EDIInteractionUTCTimestamp)) or (xs:date(.) ge xs:date(format-dateTime(adjust-dateTime-to-timezone(xs:dateTime(/wxm:MessageValidationContext/wxm:EDIInteractionUTCTimestamp), xs:dayTimeDuration('-PT12H'))-xs:dayTimeDuration('P2D'),'[Y]-[M,2]-[D,2]')))">
+ <sch:value-of select="xs:date(format-dateTime(adjust-dateTime-to-timezone(xs:dateTime(/wxm:MessageValidationContext/wxm:EDIInteractionUTCTimestamp), xs:dayTimeDuration('-PT12H'))-xs:dayTimeDuration('P2D'),'[Y]-[M,2]-[D,2]'))"/>The <sch:value-of select="f:msgTypeName(current())"/> for the combination of notification number »<sch:value-of select="f:msgNotID(current())"/>« and serial number »<sch:value-of select="f:msgSeqNumID(current())"/>« contains shipment start date »<sch:value-of select="."/>«. The message receipt timestamp is »<sch:value-of select="/wxm:MessageValidationContext/wxm:EDIInteractionUTCTimestamp"/>«, which means that more than <sch:value-of select="days-from-duration(xs:date(format-dateTime(adjust-dateTime-to-timezone(/wxm:MessageValidationContext/wxm:EDIInteractionUTCTimestamp, xs:dayTimeDuration('-PT12H')),'[Y]-[M,2]-[D,2]'))-xs:date(current()))"/> days have elapsed between shipment start date and message receipt. This error triggers for a time difference of more than 1 day. Note that pursuant to provisions such as the WSR the information must be exchanged as an announcement, i.e., BEFORE the start of the shipment.</assert>
  </rule>
  </pattern>
  <pattern>
@@ -195,8 +219,13 @@
  </pattern>
  <pattern>
  <rule id="R241" context="wxm:WasteMovementUserMessage/wxm:MovementAnnouncement/wxm:NationalRoute/wxm:EntryPointName">
- <report id="R241_chkref" role="INFO" test="exists(/wxm:MessageValidationContext/wxm:ValidationNodeIndividualData/wxm:Notification/wxm:Country[wxm:CountryID eq current()/preceding-sibling::wxm:CountryID]) and not(exists(/wxm:MessageValidationContext/wxm:ValidationNodeIndividualData/wxm:Notification/wxm:Country[wxm:CountryID eq current()/preceding-sibling::wxm:CountryID]/wxm:EntryPointName[. eq current()/text()]))">The <sch:value-of select="f:msgTypeName(current())"/> for the combination of notification number »<sch:value-of select="f:msgNotID(current())"/>« and serial number »<sch:value-of select="f:msgSeqNumID(current())"/>« refers to an entry point name »<sch:value-of select="."/>« for the country with ISO 3166-1 3-digit code »<sch:value-of select="preceding-sibling::wxm:CountryID"/>«. This does not match any of the entry point names from the notification/consent entry for »<sch:value-of select="f:msgNotID(current())"/>« in the database at <sch:value-of select="f:valNodeName(current())"/>.<sch:value-of select="if (/wxm:MessageValidationContext/wxm:ValidationNodeName eq 'edm.gv.at') then ' AT: Note that for the time being the WasteX interface of the Austrian competent authority can only store entry point information from the received message that has an exact match with entry point information from the notification. The competent authority will not have access to entry point information that does not meet this criterion.' else ''"/>
- </report>
+ <let name="ncountrymatch" value="/wxm:MessageValidationContext/wxm:ValidationNodeIndividualData/wxm:Notification/wxm:Country[wxm:CountryID eq current()/preceding-sibling::wxm:CountryID]"/>
+ <report id="R241_chkref" role="INFO" test="(count($ncountrymatch) ge 1) and not(exists($ncountrymatch/wxm:EntryPointName[. eq current()/text()]))">The <sch:value-of select="f:msgTypeName(current())"/> for the combination of notification number »<sch:value-of select="f:msgNotID(current())"/>« and serial number »<sch:value-of select="f:msgSeqNumID(current())"/>« refers to an entry point name »<sch:value-of select="."/>« for country <sch:value-of select="f:resolveCountryIDString(/wxm:MessageValidationContext,preceding-sibling::wxm:CountryID/text())"/>. This does not match any of the entry point names - <sch:value-of select="f:quoteJoin($ncountrymatch/wxm:EntryPointName)"/> - from the notification/consent entry for »<sch:value-of select="f:msgNotID(current())"/>« in the database at <sch:value-of select="f:valNodeName(current())"/>.</report>
+ </rule>
+ </pattern>
+ <pattern>
+ <rule id="R247" context="wxm:WasteMovementUserMessage/wxm:MovementAnnouncement/wxm:NationalRoute[1]/wxm:CountryID">
+ <report id="R247_chkref" role="ERROR" test="exists(/wxm:MessageValidationContext/wxm:ValidationNodeIndividualData/wxm:Notification/wxm:Country) and (/wxm:MessageValidationContext/wxm:ValidationNodeIndividualData/wxm:Notification/wxm:Country[1]/wxm:CountryID ne current()/text())">In the movement announcement message for the combination of notification number »<sch:value-of select="f:msgNotID(current())"/>« and serial number »<sch:value-of select="f:msgSeqNumID(current())"/>« the first part of the route information refers to the country <sch:value-of select="f:resolveCountryIDString(/wxm:MessageValidationContext,current()/text())"/>. The notification/consent entry for »<sch:value-of select="f:msgNotID(current())"/>« in the database at <sch:value-of select="f:valNodeName(current())"/> contains country of dispatch <sch:value-of select="f:resolveCountryIDString(/wxm:MessageValidationContext,/wxm:MessageValidationContext/wxm:ValidationNodeIndividualData/wxm:Notification/wxm:Country[1]/wxm:CountryID/text())"/>. The route must start in the country of dispatch.</report>
  </rule>
  </pattern>
  <pattern>
@@ -211,7 +240,7 @@
  </pattern>
  <pattern>
  <rule id="R259" context="wxm:WasteMovementUserMessage/wxm:MovementAnnouncement/wxm:WasteProductionPartySite">
- <assert id="R259_chkref" role="ERROR" test="not(exists(/wxm:MessageValidationContext/wxm:ValidationNodeIndividualData/wxm:Notification/wxm:WasteProductionPartySite)) or not(exists(wxm:SitePostalAreaID)) or (count(f:matchingPartySiteNodes(/wxm:MessageValidationContext/wxm:ValidationNodeIndividualData/wxm:Notification/wxm:WasteProductionPartySite,current()/wxm:PartyID,current()/wxm:PartyID/@registerID,f:safeStringValue(current()/wxm:SitePostalAreaID))) ge 1)">The movement announcement message for the combination of notification number »<sch:value-of select="f:msgNotID(current())"/>« and serial number »<sch:value-of select="f:msgSeqNumID(current())"/>« refers to a waste production party with ID »<sch:value-of select="wxm:PartyID"/>« (»<sch:value-of select="current()/wxm:PartyID/@registerID"/>«) in combination with a production site with post code »<sch:value-of select="wxm:SitePostalAreaID"/>«. The notification/consent entry for »<sch:value-of select="f:msgNotID(current())"/>« in the database at <sch:value-of select="f:valNodeName(current())"/> does not contain a waste production party-site-combination with this party ID and site post code.</assert>
+ <assert id="R259_chkref" role="ERROR" test="not(exists(/wxm:MessageValidationContext/wxm:ValidationNodeIndividualData/wxm:Notification/wxm:WasteProductionPartySite)) or not(exists(wxm:SitePostalAreaID)) or (count(f:matchingPartySiteNodes(/wxm:MessageValidationContext/wxm:ValidationNodeIndividualData/wxm:Notification/wxm:WasteProductionPartySite,current()/wxm:PartyID,current()/wxm:PartyID/@registerID,f:safeStringValue(current()/wxm:SitePostalAreaID))) ge 1)">The movement announcement message for the combination of notification number »<sch:value-of select="f:msgNotID(current())"/>« and serial number »<sch:value-of select="f:msgSeqNumID(current())"/>« refers to a waste production party with ID »<sch:value-of select="wxm:PartyID"/>« (»<sch:value-of select="current()/wxm:PartyID/@registerID"/>«) in combination with a production site with post code »<sch:value-of select="wxm:SitePostalAreaID"/>«. This does not match any of the waste production party-site-combinations in the notification/consent entry for »<sch:value-of select="f:msgNotID(current())"/>« in the database at <sch:value-of select="f:valNodeName(current())"/>. Note that for party IDs to match, the transmitted message must contain the correct type of ID (WasteX relevant ID or recipient specific ID), and <sch:value-of select="f:valNodeName(current())"/> must contain unique party IDs with the correct types as well.</assert>
  </rule>
  </pattern>
  <pattern>
@@ -241,12 +270,12 @@
  </pattern>
  <pattern>
  <rule id="R356" context="wxm:WasteMovementUserMessage/wxm:CarrierConfirmation/wxm:CarrierPartyID">
- <report id="R356_chkcon" role="ERROR" test="exists(/wxm:MessageValidationContext/wxm:ValidationNodeIndividualData/wxm:Notification/wxm:CarrierParty) and (count(f:matchingPartyNodes(/wxm:MessageValidationContext/wxm:ValidationNodeIndividualData/wxm:Notification/wxm:CarrierParty, current(), current()/@registerID)) ne 1)">The <sch:value-of select="f:msgTypeName(current())"/> for the combination of notification number »<sch:value-of select="f:msgNotID(current())"/>« and serial number »<sch:value-of select="f:msgSeqNumID(current())"/>« refers to the carrier with ID »<sch:value-of select="."/>« (»<sch:value-of select="current()/@registerID"/>«). This does not match any of the carriers in the notification/consent entry for »<sch:value-of select="f:msgNotID(current())"/>« in the database at <sch:value-of select="f:valNodeName(current())"/>.</report>
+ <report id="R356_chkcon" role="ERROR" test="exists(/wxm:MessageValidationContext/wxm:ValidationNodeIndividualData/wxm:Notification/wxm:CarrierParty) and (count(f:matchingPartyNodes(/wxm:MessageValidationContext/wxm:ValidationNodeIndividualData/wxm:Notification/wxm:CarrierParty, current(), current()/@registerID)) ne 1)">The <sch:value-of select="f:msgTypeName(current())"/> for the combination of notification number »<sch:value-of select="f:msgNotID(current())"/>« and serial number »<sch:value-of select="f:msgSeqNumID(current())"/>« refers to the carrier with ID »<sch:value-of select="."/>« (»<sch:value-of select="current()/@registerID"/>«). This does not match any of the carriers in the notification/consent entry for »<sch:value-of select="f:msgNotID(current())"/>« in the database at <sch:value-of select="f:valNodeName(current())"/>. Note that for party IDs to match, the transmitted message must contain the correct type of ID (WasteX relevant ID or recipient specific ID), and <sch:value-of select="f:valNodeName(current())"/> must contain unique party IDs with the correct types as well.</report>
  </rule>
  </pattern>
  <pattern>
  <rule id="R369" context="wxm:WasteMovementUserMessage/wxm:MovementAnnouncement/wxm:NationalRoute/wxm:CountryID">
- <report id="R369_chkref" role="ERROR" test="exists(/wxm:MessageValidationContext/wxm:ValidationNodeReferenceData/wxm:CountryList) and not(exists(/wxm:MessageValidationContext/wxm:ValidationNodeReferenceData/wxm:CountryList/wxm:ListElement[wxm:CountryID eq current()/text()]))">The movement announcement message for the combination of notification number »<sch:value-of select="f:msgNotID(current())"/>« and serial number »<sch:value-of select="f:msgSeqNumID(current())"/>« refers to a country with ISO 3166-1 3-digit code »<sch:value-of select="."/>«. A country with this ID does not exist in the reference data at <sch:value-of select="f:valNodeName(current())"/>.</report>
+ <report id="R369_chkref" role="ERROR" test="exists(/wxm:MessageValidationContext/wxm:ValidationNodeReferenceData/wxm:CountryList) and not(exists(/wxm:MessageValidationContext/wxm:ValidationNodeReferenceData/wxm:CountryList/wxm:ListElement[wxm:CountryID eq current()/text()]))">The route information in the movement announcement message for the combination of notification number »<sch:value-of select="f:msgNotID(current())"/>« and serial number »<sch:value-of select="f:msgSeqNumID(current())"/>« refers to a country with ISO 3166-1 3-digit code »<sch:value-of select="."/>«. A country with this ID does not exist in the reference data at <sch:value-of select="f:valNodeName(current())"/>.</report>
  </rule>
  </pattern>
  <pattern>
@@ -255,6 +284,11 @@
  </rule>
  </pattern>
  <pattern>
+ <rule id="R387" context="wxm:WasteMovementUserMessage/wxm:MovementAnnouncement/wxm:NationalRoute[last()]/wxm:CountryID">
+ <report id="R387_chkref" role="ERROR" test="(count(../../wxm:NationalRoute) ge 2) and (exists(/wxm:MessageValidationContext/wxm:ValidationNodeIndividualData/wxm:Notification/wxm:Country)) and (/wxm:MessageValidationContext/wxm:ValidationNodeIndividualData/wxm:Notification/wxm:Country[last()]/wxm:CountryID ne current()/text())">In the movement announcement message for the combination of notification number »<sch:value-of select="f:msgNotID(current())"/>« and serial number »<sch:value-of select="f:msgSeqNumID(current())"/>« the last part of the route information refers to the country <sch:value-of select="f:resolveCountryIDString(/wxm:MessageValidationContext,current()/text())"/>. The notification/consent entry for »<sch:value-of select="f:msgNotID(current())"/>« in the database at <sch:value-of select="f:valNodeName(current())"/> contains country of destination <sch:value-of select="f:resolveCountryIDString(/wxm:MessageValidationContext,/wxm:MessageValidationContext/wxm:ValidationNodeIndividualData/wxm:Notification/wxm:Country[last()]/wxm:CountryID/text())"/>. The route must end in the country of destination.</report>
+ </rule>
+ </pattern>
+ <pattern>
  <rule id="R418" context="wxm:WasteMovementUserMessage/wxm:CarrierConfirmation">
  <assert id="R418_prvalw" role="WARNING" test="exists(wxm:TransportMeansID)">The <sch:value-of select="f:msgTypeName(current())"/> for the combination of notification number »<sch:value-of select="f:msgNotID(current())"/>« and serial number »<sch:value-of select="f:msgSeqNumID(current())"/>« lacks a transport means identifier, such as a license plate number (TransportMeansID element).</assert>
  </rule>
@@ -271,7 +305,7 @@
  </pattern>
  <pattern>
  <rule id="R446" context="wxm:WasteMovementUserMessage/wxm:MovementAnnouncement/wxm:NationalRoute/wxm:CountryID">
- <report id="R446_chkcon" role="ERROR" test="exists(parent::*/preceding-sibling::wxm:NationalRoute) and (parent::*/preceding-sibling::wxm:NationalRoute[1]/wxm:CountryID eq current()/text())">The route information with points of exit and points of entry in the movement announcement message for the combination of notification number »<sch:value-of select="f:msgNotID(current())"/>« and serial number »<sch:value-of select="f:msgSeqNumID(current())"/>« refers to the same country with ISO 3166-1 3-digit code »<sch:value-of select="."/>« for two consecutive countries, no. <sch:value-of select="count(parent::*/preceding-sibling::wxm:NationalRoute)"/> and <sch:value-of select="1+count(parent::*/preceding-sibling::wxm:NationalRoute)"/>.</report>
+ <report id="R446_chkcon" role="ERROR" test="exists(parent::*/preceding-sibling::wxm:NationalRoute) and (parent::*/preceding-sibling::wxm:NationalRoute[1]/wxm:CountryID eq current()/text())">The route information with points of exit and points of entry in the movement announcement message for the combination of notification number »<sch:value-of select="f:msgNotID(current())"/>« and serial number »<sch:value-of select="f:msgSeqNumID(current())"/>« refers to the same country <sch:value-of select="f:resolveCountryIDString(/wxm:MessageValidationContext,current()/text())"/> in two consecutive route parts, no. <sch:value-of select="count(parent::*/preceding-sibling::wxm:NationalRoute)"/> and <sch:value-of select="1+count(parent::*/preceding-sibling::wxm:NationalRoute)"/>.</report>
  </rule>
  </pattern>
  <pattern>
@@ -281,7 +315,7 @@
  </pattern>
  <pattern>
  <rule id="R473" context="wxm:WasteMovementUserMessage/wxm:MovementAnnouncement/wxm:NationalRoute/wxm:CountryID">
- <report id="R473_chkcon" role="WARNING" test="exists(/wxm:MessageValidationContext/wxm:ValidationNodeReferenceData/wxm:CountryList) and exists(../../wxm:StartDate) and exists(/wxm:MessageValidationContext/wxm:ValidationNodeReferenceData/wxm:CountryList/wxm:ListElement[wxm:CountryID eq current()/text()]/wxm:ValidityEndDate) and (xs:string(/wxm:MessageValidationContext/wxm:ValidationNodeReferenceData/wxm:CountryList/wxm:ListElement[wxm:CountryID eq current()/text()]/wxm:ValidityEndDate) le xs:string(../../wxm:StartDate))">The movement announcement message for the combination of notification number »<sch:value-of select="f:msgNotID(current())"/>« and serial number »<sch:value-of select="f:msgSeqNumID(current())"/>« refers to the country with ISO 3166-1 3-digit code <sch:value-of select="if (exists(/wxm:MessageValidationContext/wxm:ValidationNodeReferenceData/wxm:CountryList/wxm:ListElement[wxm:CountryID eq current()/text()]/wxm:CountryTwoLetterID)) then concat('»',.,'« (',/wxm:MessageValidationContext/wxm:ValidationNodeReferenceData/wxm:CountryList/wxm:ListElement[wxm:CountryID eq current()/text()]/wxm:CountryTwoLetterID,')') else concat('»',.,'«')"/>. According to the reference data at <sch:value-of select="f:valNodeName(current())"/> the country with ID »<sch:value-of select="."/>« ceased to exist at <sch:value-of select="/wxm:MessageValidationContext/wxm:ValidationNodeReferenceData/wxm:CountryList/wxm:ListElement[wxm:CountryID eq current()/text()]/wxm:ValidityEndDate"/>, and therefore should NOT be referenced in the movement announcement with start date <sch:value-of select="../../wxm:StartDate"/>.</report>
+ <report id="R473_chkcon" role="WARNING" test="exists(/wxm:MessageValidationContext/wxm:ValidationNodeReferenceData/wxm:CountryList) and exists(../../wxm:StartDate) and exists(/wxm:MessageValidationContext/wxm:ValidationNodeReferenceData/wxm:CountryList/wxm:ListElement[wxm:CountryID eq current()/text()]/wxm:ValidityEndDate) and (xs:string(/wxm:MessageValidationContext/wxm:ValidationNodeReferenceData/wxm:CountryList/wxm:ListElement[wxm:CountryID eq current()/text()]/wxm:ValidityEndDate) le xs:string(../../wxm:StartDate))">The route information in the movement announcement message for the combination of notification number »<sch:value-of select="f:msgNotID(current())"/>« and serial number »<sch:value-of select="f:msgSeqNumID(current())"/>« refers to country <sch:value-of select="f:resolveCountryIDString(/wxm:MessageValidationContext,current()/text())"/>. According to the reference data at <sch:value-of select="f:valNodeName(current())"/> this country ceased to exist at <sch:value-of select="/wxm:MessageValidationContext/wxm:ValidationNodeReferenceData/wxm:CountryList/wxm:ListElement[wxm:CountryID eq current()/text()]/wxm:ValidityEndDate"/>, and therefore should NOT be referenced in the movement announcement with start date <sch:value-of select="../../wxm:StartDate"/>.</report>
  </rule>
  </pattern>
  <pattern>
@@ -306,7 +340,7 @@
  </pattern>
  <pattern>
  <rule id="R497" context="wxm:WasteMovementUserMessage/wxm:MessageCreationPartyID">
- <report id="R497_chkcon" role="ERROR" test="(exists(../wxm:MovementAnnouncement) or exists(../wxm:MovementAnnouncementStatus)) and exists(/wxm:MessageValidationContext/wxm:ValidationNodeIndividualData/wxm:Notification/wxm:NotifierParty) and (count(f:matchingPartyNodes(/wxm:MessageValidationContext/wxm:ValidationNodeIndividualData/wxm:Notification/wxm:NotifierParty, current(), current()/@registerID)) ne 1)">The <sch:value-of select="f:msgTypeName(current())"/> for the combination of notification number »<sch:value-of select="f:msgNotID(current())"/>« and serial number »<sch:value-of select="f:msgSeqNumID(current())"/>« refers to a message creation party with ID »<sch:value-of select="."/>« (»<sch:value-of select="current()/@registerID"/>«). This is different from the notification party reference in the notification/consent entry for »<sch:value-of select="f:msgNotID(current())"/>« in the database at <sch:value-of select="f:valNodeName(current())"/>, which contains ID »<sch:value-of select="/wxm:MessageValidationContext/wxm:ValidationNodeIndividualData/wxm:Notification/wxm:NotifierParty/wxm:PartyID"/>« (»<sch:value-of select="/wxm:MessageValidationContext/wxm:ValidationNodeIndividualData/wxm:Notification/wxm:NotifierParty/wxm:PartyID/@registerID"/>«).</report>
+ <report id="R497_chkcon" role="ERROR" test="(exists(../wxm:MovementAnnouncement) or exists(../wxm:MovementAnnouncementStatus)) and exists(/wxm:MessageValidationContext/wxm:ValidationNodeIndividualData/wxm:Notification/wxm:NotifierParty) and (count(f:matchingPartyNodes(/wxm:MessageValidationContext/wxm:ValidationNodeIndividualData/wxm:Notification/wxm:NotifierParty, current(), current()/@registerID)) ne 1)">The <sch:value-of select="f:msgTypeName(current())"/> for the combination of notification number »<sch:value-of select="f:msgNotID(current())"/>« and serial number »<sch:value-of select="f:msgSeqNumID(current())"/>« refers to a message creation party with ID »<sch:value-of select="."/>« (»<sch:value-of select="current()/@registerID"/>«). This is different from the notification party reference in the notification/consent entry for »<sch:value-of select="f:msgNotID(current())"/>« in the database at <sch:value-of select="f:valNodeName(current())"/>, which contains <sch:value-of select="f:listPartyID(/wxm:MessageValidationContext/wxm:ValidationNodeIndividualData/wxm:Notification/wxm:NotifierParty,' and ')"/>.</report>
  </rule>
  </pattern>
  <pattern>
@@ -316,7 +350,7 @@
  </pattern>
  <pattern>
  <rule id="R521" context="wxm:WasteMovementUserMessage/wxm:MovementAnnouncement/wxm:TransportMovement/wxm:CarrierPartyID">
- <assert id="R521_chkref" role="ERROR" test="not(exists(/wxm:MessageValidationContext/wxm:ValidationNodeIndividualData/wxm:Notification/wxm:CarrierParty)) or (count(f:matchingPartyNodes(/wxm:MessageValidationContext/wxm:ValidationNodeIndividualData/wxm:Notification/wxm:CarrierParty,current(),current()/@registerID)) eq 1)">The movement announcement message for the combination of notification number »<sch:value-of select="f:msgNotID(current())"/>« and serial number »<sch:value-of select="f:msgSeqNumID(current())"/>« refers to a carrier party with ID »<sch:value-of select="."/>« (»<sch:value-of select="current()/@registerID"/>«). The notification/consent entry for »<sch:value-of select="f:msgNotID(current())"/>« in the database at <sch:value-of select="f:valNodeName(current())"/> does not contain a carrier party with this party ID.</assert>
+ <assert id="R521_chkref" role="ERROR" test="not(exists(/wxm:MessageValidationContext/wxm:ValidationNodeIndividualData/wxm:Notification/wxm:CarrierParty)) or (count(f:matchingPartyNodes(/wxm:MessageValidationContext/wxm:ValidationNodeIndividualData/wxm:Notification/wxm:CarrierParty,current(),current()/@registerID)) eq 1)">The movement announcement message for the combination of notification number »<sch:value-of select="f:msgNotID(current())"/>« and serial number »<sch:value-of select="f:msgSeqNumID(current())"/>« refers to a carrier party with ID »<sch:value-of select="."/>« (»<sch:value-of select="current()/@registerID"/>«). This does not match any of the carrier parties in the notification/consent entry for »<sch:value-of select="f:msgNotID(current())"/>« at the <sch:value-of select="f:valNodeName(current())"/> database. Note that for party IDs to match, the transmitted message must contain the correct type of ID (WasteX relevant ID or recipient specific ID), and <sch:value-of select="f:valNodeName(current())"/> must contain unique party IDs with the correct types as well.</assert>
  </rule>
  </pattern>
  <pattern>
@@ -326,8 +360,8 @@
  </pattern>
  <pattern>
  <rule id="R526" context="wxm:WasteMovementUserMessage/wxm:MovementAnnouncement/wxm:NationalRoute/wxm:ExitPointName">
- <report id="R526_chkref" role="INFO" test="exists(/wxm:MessageValidationContext/wxm:ValidationNodeIndividualData/wxm:Notification/wxm:Country[wxm:CountryID eq current()/preceding-sibling::wxm:CountryID]) and not(exists(/wxm:MessageValidationContext/wxm:ValidationNodeIndividualData/wxm:Notification/wxm:Country[wxm:CountryID eq current()/preceding-sibling::wxm:CountryID]/wxm:ExitPointName[. eq current()/text()]))">The <sch:value-of select="f:msgTypeName(current())"/> for the combination of notification number »<sch:value-of select="f:msgNotID(current())"/>« and serial number »<sch:value-of select="f:msgSeqNumID(current())"/>« refers to an exit point name »<sch:value-of select="."/>« for the country with ISO 3166-1 3-digit code »<sch:value-of select="preceding-sibling::wxm:CountryID"/>«. This does not match any of the exit point names from the notification/consent entry for »<sch:value-of select="f:msgNotID(current())"/>« in the database at <sch:value-of select="f:valNodeName(current())"/>.<sch:value-of select="if (/wxm:MessageValidationContext/wxm:ValidationNodeName eq 'edm.gv.at') then ' AT: Note that for the time being the WasteX interface of the Austrian competent authority can only store exit point information from the received message that has an exact match with exit point information from the notification. The competent authority will not have access to exit point information that does not meet this criterion.' else ''"/>
- </report>
+ <let name="ncountrymatch" value="/wxm:MessageValidationContext/wxm:ValidationNodeIndividualData/wxm:Notification/wxm:Country[wxm:CountryID eq current()/preceding-sibling::wxm:CountryID]"/>
+ <report id="R526_chkref" role="INFO" test="(count($ncountrymatch) ge 1) and not(exists($ncountrymatch/wxm:ExitPointName[. eq current()/text()]))">The <sch:value-of select="f:msgTypeName(current())"/> for the combination of notification number »<sch:value-of select="f:msgNotID(current())"/>« and serial number »<sch:value-of select="f:msgSeqNumID(current())"/>« refers to an exit point name »<sch:value-of select="."/>« for country <sch:value-of select="f:resolveCountryIDString(/wxm:MessageValidationContext,preceding-sibling::wxm:CountryID/text())"/>. This does not match any of the exit point names - <sch:value-of select="f:quoteJoin($ncountrymatch/wxm:ExitPointName)"/> - from the notification/consent entry for »<sch:value-of select="f:msgNotID(current())"/>« in the database at <sch:value-of select="f:valNodeName(current())"/>.</report>
  </rule>
  </pattern>
  <pattern>
@@ -347,7 +381,7 @@
  </pattern>
  <pattern>
  <rule id="R564" context="wxm:WasteMovementUserMessage/wxm:ConfirmationOfWasteReceipt/wxm:ReceiverPartySite">
- <report id="R564_chkref" role="ERROR" test="exists(/wxm:MessageValidationContext/wxm:ValidationNodeIndividualData/wxm:Notification/wxm:WasteTreatmentPartySite) and exists(wxm:SitePostalAreaID) and (count(f:matchingPartySiteNodes(/wxm:MessageValidationContext/wxm:ValidationNodeIndividualData/wxm:Notification/wxm:WasteTreatmentPartySite,wxm:PartyID,wxm:PartyID/@registerID,f:safeStringValue(current()/wxm:SitePostalAreaID))) eq 0) and (count(f:matchingPartyNodes(/wxm:MessageValidationContext/wxm:ValidationNodeIndividualData/wxm:Notification/wxm:ConsigneeParty,wxm:PartyID,wxm:PartyID/@registerID)) eq 0)">The <sch:value-of select="f:msgTypeName(current())"/> for the combination of notification number »<sch:value-of select="f:msgNotID(current())"/>« and serial number »<sch:value-of select="f:msgSeqNumID(current())"/>« refers to the waste receiver party with ID »<sch:value-of select="wxm:PartyID"/>« (»<sch:value-of select="wxm:PartyID/@registerID"/>«)<sch:value-of select="if (exists(wxm:SitePostalAreaID)) then concat(' and receipt site with post code »',xs:string(wxm:SitePostalAreaID),'«') else ''"/>. The <sch:value-of select="if (exists(/wxm:MessageValidationContext/wxm:ValidationNodeIndividualData/wxm:Notification/wxm:SubsequentWasteTreatmentPartySite)) then 'first ' else ''"/>waste treatment party and site in the notification/consent entry for »<sch:value-of select="f:msgNotID(current())"/>« in the database at <sch:value-of select="f:valNodeName(current())"/> has ID »<sch:value-of select="/wxm:MessageValidationContext/wxm:ValidationNodeIndividualData/wxm:Notification/wxm:WasteTreatmentPartySite/wxm:PartyID"/>« (»<sch:value-of select="/wxm:MessageValidationContext/wxm:ValidationNodeIndividualData/wxm:Notification/wxm:WasteTreatmentPartySite/wxm:PartyID/@registerID"/>«) and post code »<sch:value-of select="/wxm:MessageValidationContext/wxm:ValidationNodeIndividualData/wxm:Notification/wxm:WasteTreatmentPartySite/wxm:SitePostalAreaID"/>«, which does not match.<sch:value-of select="if (exists(/wxm:MessageValidationContext/wxm:ValidationNodeIndividualData/wxm:Notification/wxm:ConsigneeParty)) then (concat(' The consignee party in the notification/consent has ID »',xs:string(/wxm:MessageValidationContext/wxm:ValidationNodeIndividualData/wxm:Notification/wxm:ConsigneeParty/wxm:PartyID),' ',xs:string(/wxm:MessageValidationContext/wxm:ValidationNodeIndividualData/wxm:Notification/wxm:ConsigneeParty/wxm:PartyID/@registerID),'«), which does not match either.')) else ''"/>
+ <report id="R564_chkref" role="ERROR" test="exists(/wxm:MessageValidationContext/wxm:ValidationNodeIndividualData/wxm:Notification/wxm:WasteTreatmentPartySite) and exists(wxm:SitePostalAreaID) and (count(f:matchingPartySiteNodes(/wxm:MessageValidationContext/wxm:ValidationNodeIndividualData/wxm:Notification/wxm:WasteTreatmentPartySite,wxm:PartyID,wxm:PartyID/@registerID,f:safeStringValue(current()/wxm:SitePostalAreaID))) eq 0) and (count(f:matchingPartyNodes(/wxm:MessageValidationContext/wxm:ValidationNodeIndividualData/wxm:Notification/wxm:ConsigneeParty,wxm:PartyID,wxm:PartyID/@registerID)) eq 0)">The <sch:value-of select="f:msgTypeName(current())"/> for the combination of notification number »<sch:value-of select="f:msgNotID(current())"/>« and serial number »<sch:value-of select="f:msgSeqNumID(current())"/>« refers to the waste receiver party with ID »<sch:value-of select="wxm:PartyID"/>« (»<sch:value-of select="wxm:PartyID/@registerID"/>«)<sch:value-of select="if (exists(wxm:SitePostalAreaID)) then concat(' and receipt site with post code »',xs:string(wxm:SitePostalAreaID),'«') else ''"/>. The <sch:value-of select="if (exists(/wxm:MessageValidationContext/wxm:ValidationNodeIndividualData/wxm:Notification/wxm:SubsequentWasteTreatmentPartySite)) then 'first ' else ''"/>waste treatment party and site in the notification/consent entry for »<sch:value-of select="f:msgNotID(current())"/>« in the database at <sch:value-of select="f:valNodeName(current())"/> has <sch:value-of select="f:listPartyID(/wxm:MessageValidationContext/wxm:ValidationNodeIndividualData/wxm:Notification/wxm:WasteTreatmentPartySite,', ')"/> and post code »<sch:value-of select="/wxm:MessageValidationContext/wxm:ValidationNodeIndividualData/wxm:Notification/wxm:WasteTreatmentPartySite/wxm:SitePostalAreaID"/>«, which does not match.<sch:value-of select="if (exists(/wxm:MessageValidationContext/wxm:ValidationNodeIndividualData/wxm:Notification/wxm:ConsigneeParty)) then (concat(' The consignee party in the notification/consent has ',f:listPartyID(/wxm:MessageValidationContext/wxm:ValidationNodeIndividualData/wxm:Notification/wxm:ConsigneeParty,' and '),', which does not match either.')) else ''"/>
  </report>
  </rule>
  </pattern>
@@ -363,7 +397,7 @@
  </pattern>
  <pattern>
  <rule id="R606" context="wxm:MovementAnnouncement/wxm:NationalRoute[position() eq 1]">
- <report id="R606_prvalw" role="ERROR" test="exists(wxm:EntryPointName)">The movement announcement message for the combination of notification number »<sch:value-of select="f:msgNotID(current())"/>« and serial number »<sch:value-of select="f:msgSeqNumID(current())"/>« contains the entry point name »<sch:value-of select="wxm:EntryPointName"/>« for the first route country with ISO 3166-1 3-digit code <sch:value-of select="if (exists(/wxm:MessageValidationContext/wxm:ValidationNodeReferenceData/wxm:CountryList/wxm:ListElement[wxm:CountryID eq current()/wxm:CountryID]/wxm:CountryTwoLetterID)) then concat('»',wxm:CountryID,'« (',/wxm:MessageValidationContext/wxm:ValidationNodeReferenceData/wxm:CountryList/wxm:ListElement[wxm:CountryID eq current()/wxm:CountryID]/wxm:CountryTwoLetterID,')') else concat('»',.,'«')"/>. The first route country must not contain an entry point name.</report>
+ <report id="R606_prvalw" role="ERROR" test="exists(wxm:EntryPointName)">The movement announcement message for the combination of notification number »<sch:value-of select="f:msgNotID(current())"/>« and serial number »<sch:value-of select="f:msgSeqNumID(current())"/>« contains the entry point name »<sch:value-of select="wxm:EntryPointName"/>« for the first part of the route in country <sch:value-of select="f:resolveCountryIDString(/wxm:MessageValidationContext,wxm:CountryID/text())"/>. The first part of the route must not contain an entry point name.</report>
  </rule>
  </pattern>
  <pattern>
@@ -388,7 +422,7 @@
  </pattern>
  <pattern>
  <rule id="R686" context="wxm:MovementAnnouncement/wxm:NationalRoute[position() ne 1]">
- <assert id="R686_prvalw" role="ERROR" test="exists(wxm:EntryPointName)">The movement announcement message for the combination of notification number »<sch:value-of select="f:msgNotID(current())"/>« and serial number »<sch:value-of select="f:msgSeqNumID(current())"/>« lacks the entry point name (EntryPointName element) for country no. <sch:value-of select="1+count(preceding-sibling::*[name() eq name(current())])"/>, ISO 3166-1 3-digit code <sch:value-of select="if (exists(/wxm:MessageValidationContext/wxm:ValidationNodeReferenceData/wxm:CountryList/wxm:ListElement[wxm:CountryID eq current()/wxm:CountryID]/wxm:CountryTwoLetterID)) then concat('»',wxm:CountryID,'« (',/wxm:MessageValidationContext/wxm:ValidationNodeReferenceData/wxm:CountryList/wxm:ListElement[wxm:CountryID eq current()/wxm:CountryID]/wxm:CountryTwoLetterID,')') else concat('»',.,'«')"/>.</assert>
+ <assert id="R686_prvalw" role="ERROR" test="exists(wxm:EntryPointName)">The movement announcement message for the combination of notification number »<sch:value-of select="f:msgNotID(current())"/>« and serial number »<sch:value-of select="f:msgSeqNumID(current())"/>« lacks the entry point name (EntryPointName element) for route part no. <sch:value-of select="1+count(preceding-sibling::*[name() eq name(current())])"/> in country <sch:value-of select="f:resolveCountryIDString(/wxm:MessageValidationContext,wxm:CountryID/text())"/>.</assert>
  </rule>
  </pattern>
  <pattern>
@@ -430,7 +464,7 @@
  </pattern>
  <pattern>
  <rule id="R767" context="wxm:WasteMovementUserMessage/wxm:ConfirmationOfWasteTreatment/wxm:TreatmentPartySite">
- <report id="R767_chkref" role="ERROR" test="exists(/wxm:MessageValidationContext/wxm:ValidationNodeIndividualData/wxm:Notification/wxm:WasteTreatmentPartySite) and exists(wxm:SitePostalAreaID) and (count(f:matchingPartySiteNodes(/wxm:MessageValidationContext/wxm:ValidationNodeIndividualData/wxm:Notification/wxm:WasteTreatmentPartySite,current()/wxm:PartyID,current()/wxm:PartyID/@registerID,f:safeStringValue(current()/wxm:SitePostalAreaID))) eq 0)">The <sch:value-of select="f:msgTypeName(current())"/> for the combination of notification number »<sch:value-of select="f:msgNotID(current())"/>« and serial number »<sch:value-of select="f:msgSeqNumID(current())"/>« refers to the waste treatment party with ID »<sch:value-of select="wxm:PartyID"/>« (»<sch:value-of select="wxm:PartyID/@registerID"/>«) and treatment site post code »<sch:value-of select="wxm:SitePostalAreaID"/>«. The <sch:value-of select="if (exists(/wxm:MessageValidationContext/wxm:ValidationNodeIndividualData/wxm:Notification/wxm:SubsequentWasteTreatmentPartySite)) then 'first ' else ''"/>waste treatment party and site in the notification/consent entry for »<sch:value-of select="f:msgNotID(current())"/>« in the database at <sch:value-of select="f:valNodeName(current())"/> has ID »<sch:value-of select="/wxm:MessageValidationContext/wxm:ValidationNodeIndividualData/wxm:Notification/wxm:WasteTreatmentPartySite/wxm:PartyID"/>« (»<sch:value-of select="/wxm:MessageValidationContext/wxm:ValidationNodeIndividualData/wxm:Notification/wxm:WasteTreatmentPartySite/wxm:PartyID/@registerID"/>«) and post code »<sch:value-of select="/wxm:MessageValidationContext/wxm:ValidationNodeIndividualData/wxm:Notification/wxm:WasteTreatmentPartySite/wxm:SitePostalAreaID"/>«, which does not match.</report>
+ <report id="R767_chkref" role="ERROR" test="exists(/wxm:MessageValidationContext/wxm:ValidationNodeIndividualData/wxm:Notification/wxm:WasteTreatmentPartySite) and exists(wxm:SitePostalAreaID) and (count(f:matchingPartySiteNodes(/wxm:MessageValidationContext/wxm:ValidationNodeIndividualData/wxm:Notification/wxm:WasteTreatmentPartySite,current()/wxm:PartyID,current()/wxm:PartyID/@registerID,f:safeStringValue(current()/wxm:SitePostalAreaID))) eq 0)">The <sch:value-of select="f:msgTypeName(current())"/> for the combination of notification number »<sch:value-of select="f:msgNotID(current())"/>« and serial number »<sch:value-of select="f:msgSeqNumID(current())"/>« refers to the waste treatment party with ID »<sch:value-of select="wxm:PartyID"/>« (»<sch:value-of select="wxm:PartyID/@registerID"/>«) and treatment site post code »<sch:value-of select="wxm:SitePostalAreaID"/>«. The <sch:value-of select="if (exists(/wxm:MessageValidationContext/wxm:ValidationNodeIndividualData/wxm:Notification/wxm:SubsequentWasteTreatmentPartySite)) then 'first ' else ''"/>waste treatment party and site in the notification/consent entry for »<sch:value-of select="f:msgNotID(current())"/>« in the database at <sch:value-of select="f:valNodeName(current())"/> has <sch:value-of select="f:listPartyID(/wxm:MessageValidationContext/wxm:ValidationNodeIndividualData/wxm:Notification/wxm:WasteTreatmentPartySite,', ')"/> and post code »<sch:value-of select="/wxm:MessageValidationContext/wxm:ValidationNodeIndividualData/wxm:Notification/wxm:WasteTreatmentPartySite/wxm:SitePostalAreaID"/>«, which does not match.</report>
  </rule>
  </pattern>
  <pattern>
@@ -439,11 +473,6 @@
  </rule>
  </pattern>
  <pattern>
- <rule id="R784" context="wxm:WasteMovementUserMessage/wxm:MovementAnnouncement">
- <report id="R784_chkcon" role="INFO" test="(/wxm:MessageValidationContext/wxm:ValidationNodeName eq 'edm.gv.at') and exists(wxm:NationalRoute)">AT: The <sch:value-of select="f:msgTypeName(current())"/> for the combination of notification number »<sch:value-of select="f:msgNotID(current())"/>« and serial number »<sch:value-of select="f:msgSeqNumID(current())"/>« contains country entry point and exit point information for the planned route. Note that for the time being the <sch:value-of select="f:valNodeName(current())"/> WasteX interface of the Austrian competent authority cannot store entry point and exit point information for countries other than Austria. The Austrian competent authority will not have access to that information.</report>
- </rule>
- </pattern>
- <pattern>
  <rule id="R795" context="wxm:WasteMovementUserMessage/wxm:CarrierConfirmation/wxm:AnnouncementIdentity | wxm:WasteMovementUserMessage/wxm:ConfirmationOfWasteReceipt/wxm:AnnouncementIdentity | wxm:WasteMovementUserMessage/wxm:ConfirmationOfWasteTreatment/wxm:AnnouncementIdentity">
  <report id="R795_chkcon" role="WARNING" xml:lang="en" test="exists(/wxm:MessageValidationContext/wxm:ValidationNodeIndividualData/wxm:MovementAnnouncementInDatabaseIndicator) and (xs:boolean(/wxm:MessageValidationContext/wxm:ValidationNodeIndividualData/wxm:MovementAnnouncementInDatabaseIndicator) eq false())">The <sch:value-of select="f:msgTypeName(current())"/> refers to notification number »<sch:value-of select="f:msgNotID(current())"/>« and serial number »<sch:value-of select="f:msgSeqNumID(current())"/>«. In the database at <sch:value-of select="f:valNodeName(current())"/> there is no movement announcement for this combination of notification number and serial number at the time of <sch:value-of select="f:msgTypeName(current())"/> receipt.</report>
  </rule>
@@ -470,7 +499,7 @@
  </pattern>
  <pattern>
  <rule id="R824" context="wxm:WasteMovementUserMessage/wxm:MovementAnnouncement/wxm:NationalRoute/wxm:CountryID">
- <report id="R824_chkref" role="ERROR" test="exists(/wxm:MessageValidationContext/wxm:ValidationNodeIndividualData/wxm:Notification/wxm:Country) and not(exists(/wxm:MessageValidationContext/wxm:ValidationNodeIndividualData/wxm:Notification/wxm:Country[wxm:CountryID eq current()/text()]))">The movement announcement message for the combination of notification number »<sch:value-of select="f:msgNotID(current())"/>« and serial number »<sch:value-of select="f:msgSeqNumID(current())"/>« refers to a country with ISO 3166-1 3-digit code »<sch:value-of select="."/>« in the route information. The notification/consent entry for »<sch:value-of select="f:msgNotID(current())"/>« in the database at <sch:value-of select="f:valNodeName(current())"/> does not refer to a country with ID »<sch:value-of select="."/>« in the country of dispatch/transit/destination information.</report>
+ <report id="R824_chkref" role="ERROR" test="exists(/wxm:MessageValidationContext/wxm:ValidationNodeIndividualData/wxm:Notification/wxm:Country) and not(exists(/wxm:MessageValidationContext/wxm:ValidationNodeIndividualData/wxm:Notification/wxm:Country[wxm:CountryID eq current()/text()]))">The route information in the movement announcement message for the combination of notification number »<sch:value-of select="f:msgNotID(current())"/>« and serial number »<sch:value-of select="f:msgSeqNumID(current())"/>« refers to country <sch:value-of select="f:resolveCountryIDString(/wxm:MessageValidationContext,current()/text())"/>. According to the notification/consent entry for »<sch:value-of select="f:msgNotID(current())"/>« in the database at <sch:value-of select="f:valNodeName(current())"/>, this country is neither country of dispatch, nor country of transit, nor country of destination. The route information must match country of dispatch, countries of transit and country of destination from the notification/consent.</report>
  </rule>
  </pattern>
  <pattern>
@@ -507,18 +536,13 @@
  </rule>
  </pattern>
  <pattern>
- <rule id="R931" context="wxm:WasteMovementUserMessage/*/wxm:Remark">
- <report id="R931_chkcon" role="INFO" test="/wxm:MessageValidationContext/wxm:ValidationNodeName eq 'edm.gv.at'">AT: The <sch:value-of select="f:msgTypeName(current())"/> for the combination of notification number »<sch:value-of select="f:msgNotID(current())"/>« and serial number »<sch:value-of select="f:msgSeqNumID(current())"/>« contains remark »<sch:value-of select="."/>«. Note that for the time being the <sch:value-of select="f:valNodeName(current())"/> WasteX interface of the Austrian competent authority cannot store remarks. The competent authority will not have access to transmitted remarks.</report>
- </rule>
- </pattern>
- <pattern>
  <rule id="R952" context="wxm:WasteMovementUserMessage/wxm:MovementAnnouncement/wxm:WasteMass|wxm:WasteMovementUserMessage/wxm:MovementAnnouncement/wxm:WasteVolume|wxm:WasteMovementUserMessage/wxm:ConfirmationOfWasteReceipt/wxm:ReceivedWasteMass|wxm:WasteMovementUserMessage/wxm:ConfirmationOfWasteReceipt/wxm:ReceivedWasteVolume">
  <assert id="R952_prvalw" role="WARNING" test="exists(wxm:QuantificationTypeID)">The <sch:value-of select="f:msgTypeName(current())"/> for the combination of notification number »<sch:value-of select="f:msgNotID(current())"/>« and serial number »<sch:value-of select="f:msgSeqNumID(current())"/>« lacks the quantification type (QuantificationTypeID element) in the <sch:value-of select="if (contains(local-name(current()),'Volume')) then 'volume' else 'mass'"/> information. This means that it lacks the information whether the value is measured, calculated or estimated.</assert>
  </rule>
  </pattern>
  <pattern>
  <rule id="R959" context="wxm:MovementAnnouncement/wxm:NationalRoute[(position() eq last()) and (position() ge 2)]">
- <report id="R959_prvalw" role="ERROR" test="exists(wxm:ExitPointName)">The movement announcement message for the combination of notification number »<sch:value-of select="f:msgNotID(current())"/>« and serial number »<sch:value-of select="f:msgSeqNumID(current())"/>« contains the exit point name »<sch:value-of select="wxm:ExitPointName"/>« for the last route country with ISO 3166-1 3-digit code <sch:value-of select="if (exists(/wxm:MessageValidationContext/wxm:ValidationNodeReferenceData/wxm:CountryList/wxm:ListElement[wxm:CountryID eq current()/wxm:CountryID]/wxm:CountryTwoLetterID)) then concat('»',wxm:CountryID,'« (',/wxm:MessageValidationContext/wxm:ValidationNodeReferenceData/wxm:CountryList/wxm:ListElement[wxm:CountryID eq current()/wxm:CountryID]/wxm:CountryTwoLetterID,')') else concat('»',.,'«')"/>. The last route country must not contain an exit point name.</report>
+ <report id="R959_prvalw" role="ERROR" test="exists(wxm:ExitPointName)">The movement announcement message for the combination of notification number »<sch:value-of select="f:msgNotID(current())"/>« and serial number »<sch:value-of select="f:msgSeqNumID(current())"/>« contains the exit point name »<sch:value-of select="wxm:ExitPointName"/>« for the last part of the route in country <sch:value-of select="f:resolveCountryIDString(/wxm:MessageValidationContext,wxm:CountryID/text())"/>. The last part of the route must not contain an exit point name.</report>
  </rule>
  </pattern>
  <pattern>

wastex_message.xsd

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!--
- WasteX v1.07 - simple EDI for waste shipments
+ WasteX v1.08 - simple EDI for waste shipments
 
  Copyright (C) 2023 Environment Agency Austria
  Commissioned by the Austrian Federal Ministry of Environment (BMK)
@@ -19,7 +19,7 @@
 
  See the Licence for the specific language governing permissions and limitations under the Licence.
 -->
-<xs:schema xmlns="http://www.eudin.org/schema/wastex_message" xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" targetNamespace="http://www.eudin.org/schema/wastex_message" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.07">
+<xs:schema xmlns="http://www.eudin.org/schema/wastex_message" xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" targetNamespace="http://www.eudin.org/schema/wastex_message" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.08">
  <xs:import namespace="http://purl.oclc.org/dsdl/svrl" schemaLocation="svrl.xsd"/>
  <xs:element name="WasteMovementUserMessage" type="WasteMovementUserMessage"/>
  <xs:element name="WasteMovementSignalMessage" type="WasteMovementSignalMessage"/>

wastex_webservice.wsdl

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!--
- WasteX v1.07 - simple EDI for waste shipments
+ WasteX v1.08 - simple EDI for waste shipments
 
  Copyright (C) 2023 Environment Agency Austria
  Commissioned by the Austrian Federal Ministry of Environment (BMK)

wastex_webservice_types.xsd

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!--
- WasteX v1.07 - simple EDI for waste shipments
+ WasteX v1.08 - simple EDI for waste shipments
 
  Copyright (C) 2023 Environment Agency Austria
  Commissioned by the Austrian Federal Ministry of Environment (BMK)
@@ -19,7 +19,7 @@
 
  See the Licence for the specific language governing permissions and limitations under the Licence.
 -->
-<xs:schema xmlns:wxm="http://www.eudin.org/schema/wastex_message" xmlns:wxt="http://www.eudin.org/schema/wastex_webservice_types" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" targetNamespace="http://www.eudin.org/schema/wastex_webservice_types" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.07">
+<xs:schema xmlns:wxm="http://www.eudin.org/schema/wastex_message" xmlns:wxt="http://www.eudin.org/schema/wastex_webservice_types" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" targetNamespace="http://www.eudin.org/schema/wastex_webservice_types" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.08">
  <xs:import namespace="http://www.eudin.org/schema/wastex_message" schemaLocation="wastex_message.xsd"/>
  <xs:element name="ShareMessageRequest" type="wxt:ShareMessageRequestType"/>
  <xs:element name="ShareMessageResponse" type="wxt:ShareMessageResponseType"/>

wastex_message_annot.xsd

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!--
- WasteX v1.07 - simple EDI for waste shipments
+ WasteX v1.08 - simple EDI for waste shipments
 
  Copyright (C) 2023 Environment Agency Austria
  Commissioned by the Austrian Federal Ministry of Environment (BMK)
@@ -19,7 +19,7 @@
 
  See the Licence for the specific language governing permissions and limitations under the Licence.
 -->
-<xs:schema xmlns="http://www.eudin.org/schema/wastex_message" xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" targetNamespace="http://www.eudin.org/schema/wastex_message" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.07">
+<xs:schema xmlns="http://www.eudin.org/schema/wastex_message" xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" targetNamespace="http://www.eudin.org/schema/wastex_message" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.08">
  <xs:import namespace="http://purl.oclc.org/dsdl/svrl" schemaLocation="svrl.xsd"/>
  <xs:element name="WasteMovementUserMessage" type="WasteMovementUserMessage">
  <xs:annotation>

wastex_webservice_annot.wsdl

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!--
- WasteX v1.07 - simple EDI for waste shipments
+ WasteX v1.08 - simple EDI for waste shipments
 
  Copyright (C) 2023 Environment Agency Austria
  Commissioned by the Austrian Federal Ministry of Environment (BMK)

wastex_webservice_types_annot.xsd

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!--
- WasteX v1.07 - simple EDI for waste shipments
+ WasteX v1.08 - simple EDI for waste shipments
 
  Copyright (C) 2023 Environment Agency Austria
  Commissioned by the Austrian Federal Ministry of Environment (BMK)
@@ -19,7 +19,7 @@
 
  See the Licence for the specific language governing permissions and limitations under the Licence.
 -->
-<xs:schema xmlns:wxm="http://www.eudin.org/schema/wastex_message" xmlns:wxt="http://www.eudin.org/schema/wastex_webservice_types" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" targetNamespace="http://www.eudin.org/schema/wastex_webservice_types" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.07">
+<xs:schema xmlns:wxm="http://www.eudin.org/schema/wastex_message" xmlns:wxt="http://www.eudin.org/schema/wastex_webservice_types" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" targetNamespace="http://www.eudin.org/schema/wastex_webservice_types" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.08">
  <xs:import namespace="http://www.eudin.org/schema/wastex_message" schemaLocation="wastex_message_annot.xsd"/>
  <xs:element name="ShareMessageRequest" type="wxt:ShareMessageRequestType">
  <xs:annotation>