Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

2024 q4 #209

Open
wants to merge 38 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
018c85b
LLC-9, LLC-10, LLC-11
JorgenErlandsson Oct 9, 2024
63282eb
Generated by github actions
github-actions[bot] Oct 9, 2024
9759849
LLC-9, LLC-10, LLC-11
JorgenErlandsson Oct 9, 2024
d901257
Generated by github actions
github-actions[bot] Oct 9, 2024
29f49db
LLC-9, LLC-10, LLC-11
JorgenErlandsson Oct 9, 2024
fbd1d22
Generated by github actions
github-actions[bot] Oct 9, 2024
f166ac4
LLC-3, LLC-12
JorgenErlandsson Oct 9, 2024
2392973
Generated by github actions
github-actions[bot] Oct 9, 2024
731d9da
LLC-3, LLC-12
JorgenErlandsson Oct 9, 2024
7db621c
Bugfix
JorgenErlandsson Oct 9, 2024
57137d6
Bugfix
JorgenErlandsson Oct 9, 2024
9db6ad8
Bugfix
JorgenErlandsson Oct 9, 2024
44aeb4b
LLC-7
JorgenErlandsson Oct 10, 2024
c9e1e1f
Generated by github actions
github-actions[bot] Oct 10, 2024
9fa1805
LLC-5, LLC-6
JorgenErlandsson Oct 10, 2024
eff7390
Generated by github actions
github-actions[bot] Oct 10, 2024
ea094d2
LLC-1, LLC-4
JorgenErlandsson Oct 10, 2024
022de41
Generated by github actions
github-actions[bot] Oct 10, 2024
4443223
LLC-1, LLC-4
JorgenErlandsson Oct 10, 2024
5452b00
Generated by github actions
github-actions[bot] Oct 10, 2024
a6cb7ed
Bugfix
JorgenErlandsson Oct 11, 2024
d9f8d87
Generated by github actions
github-actions[bot] Oct 11, 2024
ac2cd07
Fix Usecase Examples
JorgenErlandsson Oct 11, 2024
fc72fe2
Releasenotes + Build
JorgenErlandsson Oct 16, 2024
d380167
Bugfix
JorgenErlandsson Oct 19, 2024
d91e092
Internal review, part 1
JorgenErlandsson Oct 19, 2024
fdd78b4
Generated by github actions
github-actions[bot] Oct 19, 2024
d7cbab3
Internal review part 2
JorgenErlandsson Oct 20, 2024
7a823c6
Generated by github actions
github-actions[bot] Oct 20, 2024
cb62da5
Internal review part 2
JorgenErlandsson Oct 20, 2024
70467d5
Changes after Review Period
JorgenErlandsson Dec 10, 2024
60fa455
Generated by github actions
github-actions[bot] Dec 10, 2024
8edc882
Change name from "Peppol Incubation..." to "Peppol Logistics - Novemb…
JorgenErlandsson Dec 11, 2024
de6bc76
Test of new creation of documentation
RikardLarsson-BEAst Dec 16, 2024
abb39d6
Swap value and attribute order
RikardLarsson-BEAst Dec 16, 2024
dad4f12
Generated by github actions
github-actions[bot] Dec 16, 2024
5846a35
Changed the names in the GWP values to correspond with the BIS
RikardLarsson-BEAst Dec 19, 2024
d0d950a
Updated code list version to better reflect the change
RikardLarsson-BEAst Dec 19, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 18 additions & 9 deletions build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -74,16 +74,25 @@ docker run --rm -i -v $PROJECT:/src anskaffelser/validator:2.1.0 build -x -t -n
for sch in $PROJECT/rules/sch/*.sch; do
docker run --rm -i -v $PROJECT:/src -v $PROJECT/target/schematron:/target klakegg/schematron prepare /src/rules/sch/$(basename $sch) /target/$(basename $sch)
done
docker run --rm -i -v $PROJECT/target/site/files:/src alpine:3.6 rm -rf /src/Schematron.zip
docker run --rm -i -v $PROJECT/target/schematron:/src -v $PROJECT/target/site/files:/target -w /src kramos/alpine-zip -r /target/Schematron.zip .

# Example files
docker run --rm -i -v $PROJECT/target/site/files:/src alpine:3.6 rm -rf /src/Examples.zip
docker run --rm -i -v $PROJECT/rules/examples:/src -v $PROJECT/target/site/files:/target -w /src kramos/alpine-zip -r /target/Examples.zip .

# Mapping files
docker run --rm -i -v $PROJECT/target/site/files:/src alpine:3.6 rm -rf /src/Mapping.zip
docker run --rm -i -v $PROJECT/rules/mapping:/src -v $PROJECT/target/site/files:/target -w /src kramos/alpine-zip -r /target/Mapping.zip .
# Removing old zip files and creating new ones
docker run --rm -i \
-v $PROJECT/target/site/files:/files \
-v $PROJECT/target/schematron:/schematron \
-v $PROJECT/rules/examples:/examples \
-v $PROJECT/rules/mapping:/mapping \
-w /tmp \
alpine:latest sh -c '
apk add --no-cache zip
rm -rf /files/Schematron.zip
cd /schematron && zip -r /files/Schematron.zip .
echo "Example files"
rm -rf /files/Examples.zip
cd /examples && zip -r /files/Examples.zip .
echo "Mapping files"
rm -rf /files/Mapping.zip
cd /mapping && zip -r /files/Mapping.zip .
'

# Guides
docker run --rm -i -v $PROJECT:/documents -v $PROJECT/target:/target difi/asciidoctor
Expand Down
92 changes: 92 additions & 0 deletions build_old.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
#!/bin/sh

PROJECT=$(dirname $(readlink -f "$0"))

# Delete target folder if found
if [ -e $PROJECT/target ]; then
docker run --rm -i -v $PROJECT:/src alpine:3.6 rm -rf /src/target
fi

# Transform the files in source dir to syntax.
echo "Generating documentation: Advanced Despatch Advice"
docker run --rm -i -v $PROJECT:/src -v $PROJECT/target/generated:/target --entrypoint java klakegg/saxon:9.8.0-7 -cp /saxon.jar net.sf.saxon.Transform -s:/src/structure/source/ubl-advanced-despatch-advice.xml -xsl:/src/tools/UBLInstance-To-StructureXML.xsl -o:/src/structure/syntax/ubl-advanced-despatch-advice.xml UblBaseUrl=https://raw.githubusercontent.com/OpenPEPPOL/poacc-upgrade-3/master/structure/syntax/ UblDocBaseUrl=https://docs.peppol.eu/poacc/upgrade-3/syntax/DespatchAdvice/ UblXmlReferenceFile=ubl-despatch-advice.xml -ext:on --allow-external-functions:on
echo "Generating documentation: Weight statement"
docker run --rm -i -v $PROJECT:/src -v $PROJECT/target/generated:/target --entrypoint java klakegg/saxon:9.8.0-7 -cp /saxon.jar net.sf.saxon.Transform -s:/src/structure/source/ubl-weight-statement.xml -xsl:/src/tools/UBLInstance-To-StructureXML.xsl -o:/src/structure/syntax/ubl-weight-statement.xml UblBaseUrl=https://raw.githubusercontent.com/OpenPEPPOL/poacc-upgrade-3/master/structure/syntax/ UblDocBaseUrl=https://docs.peppol.eu/poacc/upgrade-3/syntax/DespatchAdvice/ UblXmlReferenceFile=ubl-despatch-advice.xml -ext:on --allow-external-functions:on
echo "Generating documentation: Transport execution plan request"
docker run --rm -i -v $PROJECT:/src -v $PROJECT/target/generated:/target --entrypoint java klakegg/saxon:9.8.0-7 -cp /saxon.jar net.sf.saxon.Transform -s:/src/structure/source/ubl-transport-execution-plan-request.xml -xsl:/src/tools/UBLInstance-To-StructureXML.xsl -o:/src/structure/syntax/ubl-transport-execution-plan-request.xml UblBaseUrl=https://raw.githubusercontent.com/OpenPEPPOL/poacc-upgrade-3/master/structure/syntax/ UblDocBaseUrl=https://docs.peppol.eu/poacc/upgrade-3/syntax/DespatchAdvice/ UblXmlReferenceFile=ubl-despatch-advice.xml -ext:on --allow-external-functions:on
echo "Generating documentation: Transport execution plan"
docker run --rm -i -v $PROJECT:/src -v $PROJECT/target/generated:/target --entrypoint java klakegg/saxon:9.8.0-7 -cp /saxon.jar net.sf.saxon.Transform -s:/src/structure/source/ubl-transport-execution-plan.xml -xsl:/src/tools/UBLInstance-To-StructureXML.xsl -o:/src/structure/syntax/ubl-transport-execution-plan.xml UblBaseUrl=https://raw.githubusercontent.com/OpenPEPPOL/poacc-upgrade-3/master/structure/syntax/ UblDocBaseUrl=https://docs.peppol.eu/poacc/upgrade-3/syntax/DespatchAdvice/ UblXmlReferenceFile=ubl-despatch-advice.xml -ext:on --allow-external-functions:on
echo "Generating documentation: Waybill"
docker run --rm -i -v $PROJECT:/src -v $PROJECT/target/generated:/target --entrypoint java klakegg/saxon:9.8.0-7 -cp /saxon.jar net.sf.saxon.Transform -s:/src/structure/source/ubl-waybill.xml -xsl:/src/tools/UBLInstance-To-StructureXML.xsl -o:/src/structure/syntax/ubl-waybill.xml UblBaseUrl=https://raw.githubusercontent.com/OpenPEPPOL/poacc-upgrade-3/master/structure/syntax/ UblDocBaseUrl=https://docs.peppol.eu/poacc/upgrade-3/syntax/DespatchAdvice/ UblXmlReferenceFile=ubl-despatch-advice.xml -ext:on --allow-external-functions:on
echo "Generating documentation: Transportation Status Request"
docker run --rm -i -v $PROJECT:/src -v $PROJECT/target/generated:/target --entrypoint java klakegg/saxon:9.8.0-7 -cp /saxon.jar net.sf.saxon.Transform -s:/src/structure/source/ubl-transportation-status-request.xml -xsl:/src/tools/UBLInstance-To-StructureXML.xsl -o:/src/structure/syntax/ubl-transportation-status-request.xml UblBaseUrl=https://raw.githubusercontent.com/OpenPEPPOL/poacc-upgrade-3/master/structure/syntax/ UblDocBaseUrl=https://docs.peppol.eu/poacc/upgrade-3/syntax/DespatchAdvice/ UblXmlReferenceFile=ubl-despatch-advice.xml -ext:on --allow-external-functions:on
echo "Generating documentation: Transportation Status"
docker run --rm -i -v $PROJECT:/src -v $PROJECT/target/generated:/target --entrypoint java klakegg/saxon:9.8.0-7 -cp /saxon.jar net.sf.saxon.Transform -s:/src/structure/source/ubl-transportation-status.xml -xsl:/src/tools/UBLInstance-To-StructureXML.xsl -o:/src/structure/syntax/ubl-transportation-status.xml UblBaseUrl=https://raw.githubusercontent.com/OpenPEPPOL/poacc-upgrade-3/master/structure/syntax/ UblDocBaseUrl=https://docs.peppol.eu/poacc/upgrade-3/syntax/DespatchAdvice/ UblXmlReferenceFile=ubl-despatch-advice.xml -ext:on --allow-external-functions:on
echo "Generating documentation: Receipt Advice"
docker run --rm -i -v $PROJECT:/src -v $PROJECT/target/generated:/target --entrypoint java klakegg/saxon:9.8.0-7 -cp /saxon.jar net.sf.saxon.Transform -s:/src/structure/source/ubl-receipt-advice.xml -xsl:/src/tools/UBLInstance-To-StructureXML.xsl -o:/src/structure/syntax/ubl-receipt-advice.xml UblBaseUrl=https://raw.githubusercontent.com/OpenPEPPOL/poacc-upgrade-3/master/structure/syntax/ UblDocBaseUrl=https://docs.peppol.eu/poacc/upgrade-3/syntax/DespatchAdvice/ UblXmlReferenceFile=ubl-despatch-advice.xml -ext:on --allow-external-functions:on

# Generate maping documents.
echo "Generating mapping documents: Advanced Despatch advice"
docker run --rm -i -v $PROJECT:/src -v $PROJECT/target/generated:/target --entrypoint java klakegg/saxon:9.8.0-7 -cp /saxon.jar net.sf.saxon.Transform -s:/src/structure/syntax/ubl-advanced-despatch-advice.xml -xsl:/src/tools/create-mapping-document.xsl -o:/src/rules/mapping/AdvancedDespatchAdvice.xml -ext:on --allow-external-functions:on
echo "Generating mapping documents: Weight statement"
docker run --rm -i -v $PROJECT:/src -v $PROJECT/target/generated:/target --entrypoint java klakegg/saxon:9.8.0-7 -cp /saxon.jar net.sf.saxon.Transform -s:/src/structure/syntax/ubl-weight-statement.xml -xsl:/src/tools/create-mapping-document.xsl -o:/src/rules/mapping/WeightStatement.xml -ext:on --allow-external-functions:on
echo "Generating mapping documents: Transport execution plan request"
docker run --rm -i -v $PROJECT:/src -v $PROJECT/target/generated:/target --entrypoint java klakegg/saxon:9.8.0-7 -cp /saxon.jar net.sf.saxon.Transform -s:/src/structure/syntax/ubl-transport-execution-plan-request.xml -xsl:/src/tools/create-mapping-document.xsl -o:/src/rules/mapping/TransportExecutionPlanRequest.xml -ext:on --allow-external-functions:on
echo "Generating mapping documents: Transport execution plan"
docker run --rm -i -v $PROJECT:/src -v $PROJECT/target/generated:/target --entrypoint java klakegg/saxon:9.8.0-7 -cp /saxon.jar net.sf.saxon.Transform -s:/src/structure/syntax/ubl-transport-execution-plan.xml -xsl:/src/tools/create-mapping-document.xsl -o:/src/rules/mapping/TransportExecutionPlan.xml -ext:on --allow-external-functions:on
echo "Generating mapping documents: Waybill"
docker run --rm -i -v $PROJECT:/src -v $PROJECT/target/generated:/target --entrypoint java klakegg/saxon:9.8.0-7 -cp /saxon.jar net.sf.saxon.Transform -s:/src/structure/syntax/ubl-waybill.xml -xsl:/src/tools/create-mapping-document.xsl -o:/src/rules/mapping/Waybill.xml -ext:on --allow-external-functions:on
echo "Generating mapping documents: Transportation Status Request"
docker run --rm -i -v $PROJECT:/src -v $PROJECT/target/generated:/target --entrypoint java klakegg/saxon:9.8.0-7 -cp /saxon.jar net.sf.saxon.Transform -s:/src/structure/syntax/ubl-transportation-status-request.xml -xsl:/src/tools/create-mapping-document.xsl -o:/src/rules/mapping/TransportationStatusRequest.xml -ext:on --allow-external-functions:on
echo "Generating mapping documents: Transportation Status"
docker run --rm -i -v $PROJECT:/src -v $PROJECT/target/generated:/target --entrypoint java klakegg/saxon:9.8.0-7 -cp /saxon.jar net.sf.saxon.Transform -s:/src/structure/syntax/ubl-transportation-status.xml -xsl:/src/tools/create-mapping-document.xsl -o:/src/rules/mapping/TransportationStatus.xml -ext:on --allow-external-functions:on
echo "Generating mapping documents: Receipt Advice"
docker run --rm -i -v $PROJECT:/src -v $PROJECT/target/generated:/target --entrypoint java klakegg/saxon:9.8.0-7 -cp /saxon.jar net.sf.saxon.Transform -s:/src/structure/syntax/ubl-receipt-advice.xml -xsl:/src/tools/create-mapping-document.xsl -o:/src/rules/mapping/ReceiptAdvice.xml -ext:on --allow-external-functions:on

# Create examples based on documentation.
echo "Generating example: Advanced Despatch Advice"
docker run --rm -i -v $PROJECT:/src -v $PROJECT/target/generated:/target --entrypoint java klakegg/saxon:9.8.0-7 -cp /saxon.jar net.sf.saxon.Transform -s:/src/structure/source/ubl-advanced-despatch-advice.xml -xsl:/src/tools/remove-pi.xsl -o:/src/rules/examples/AdvancedDespatchAdvice_Example_Full.xml -ext:on --allow-external-functions:on
echo "Generating example: Weight statement"
docker run --rm -i -v $PROJECT:/src -v $PROJECT/target/generated:/target --entrypoint java klakegg/saxon:9.8.0-7 -cp /saxon.jar net.sf.saxon.Transform -s:/src/structure/source/ubl-weight-statement.xml -xsl:/src/tools/remove-pi.xsl -o:/src/rules/examples/WeightStatement_Example_Full.xml -ext:on --allow-external-functions:on
echo "Generating example: Transport execution plan request"
docker run --rm -i -v $PROJECT:/src -v $PROJECT/target/generated:/target --entrypoint java klakegg/saxon:9.8.0-7 -cp /saxon.jar net.sf.saxon.Transform -s:/src/structure/source/ubl-transport-execution-plan-request.xml -xsl:/src/tools/remove-pi.xsl -o:/src/rules/examples/TransportExecutionPlanRequest_Example_Full.xml -ext:on --allow-external-functions:on
echo "Generating example: Transport execution plan"
docker run --rm -i -v $PROJECT:/src -v $PROJECT/target/generated:/target --entrypoint java klakegg/saxon:9.8.0-7 -cp /saxon.jar net.sf.saxon.Transform -s:/src/structure/source/ubl-transport-execution-plan.xml -xsl:/src/tools/remove-pi.xsl -o:/src/rules/examples/TransportExecutionPlan_Example_Full.xml -ext:on --allow-external-functions:on
echo "Generating example: Waybill"
docker run --rm -i -v $PROJECT:/src -v $PROJECT/target/generated:/target --entrypoint java klakegg/saxon:9.8.0-7 -cp /saxon.jar net.sf.saxon.Transform -s:/src/structure/source/ubl-waybill.xml -xsl:/src/tools/remove-pi.xsl -o:/src/rules/examples/Waybill_Example_Full.xml -ext:on --allow-external-functions:on
echo "Generating example: Transportation Status Request "
docker run --rm -i -v $PROJECT:/src -v $PROJECT/target/generated:/target --entrypoint java klakegg/saxon:9.8.0-7 -cp /saxon.jar net.sf.saxon.Transform -s:/src/structure/source/ubl-transportation-status-request.xml -xsl:/src/tools/remove-pi.xsl -o:/src/rules/examples/TransportationStatusRequest_Example_Full.xml -ext:on --allow-external-functions:on
echo "Generating example: Transportation Status"
docker run --rm -i -v $PROJECT:/src -v $PROJECT/target/generated:/target --entrypoint java klakegg/saxon:9.8.0-7 -cp /saxon.jar net.sf.saxon.Transform -s:/src/structure/source/ubl-transportation-status.xml -xsl:/src/tools/remove-pi.xsl -o:/src/rules/examples/TransportationStatus_Example_Full.xml -ext:on --allow-external-functions:on
echo "Generating example: Receipt Advice"
docker run --rm -i -v $PROJECT:/src -v $PROJECT/target/generated:/target --entrypoint java klakegg/saxon:9.8.0-7 -cp /saxon.jar net.sf.saxon.Transform -s:/src/structure/source/ubl-receipt-advice.xml -xsl:/src/tools/remove-pi.xsl -o:/src/rules/examples/ReceiptAdvice_Example_Full.xml -ext:on --allow-external-functions:on

# Structure
docker run --rm -i \
-v $PROJECT:/src \
-v $PROJECT/target:/target \
difi/vefa-structure:0.6.1

# Testing validation rules
docker run --rm -i -v $PROJECT:/src anskaffelser/validator:2.1.0 build -x -t -n eu.peppol.poacc.upgrade.v3 -a rules -target target/validator-test /src

# Schematron
for sch in $PROJECT/rules/sch/*.sch; do
docker run --rm -i -v $PROJECT:/src -v $PROJECT/target/schematron:/target klakegg/schematron prepare /src/rules/sch/$(basename $sch) /target/$(basename $sch)
done
docker run --rm -i -v $PROJECT/target/site/files:/src alpine:3.6 rm -rf /src/Schematron.zip
docker run --rm -i -v $PROJECT/target/schematron:/src -v $PROJECT/target/site/files:/target -w /src kramos/alpine-zip -r /target/Schematron.zip .

# Example files
docker run --rm -i -v $PROJECT/target/site/files:/src alpine:3.6 rm -rf /src/Examples.zip
docker run --rm -i -v $PROJECT/rules/examples:/src -v $PROJECT/target/site/files:/target -w /src kramos/alpine-zip -r /target/Examples.zip .

# Mapping files
docker run --rm -i -v $PROJECT/target/site/files:/src alpine:3.6 rm -rf /src/Mapping.zip
docker run --rm -i -v $PROJECT/rules/mapping:/src -v $PROJECT/target/site/files:/target -w /src kramos/alpine-zip -r /target/Mapping.zip .

# Guides
docker run --rm -i -v $PROJECT:/documents -v $PROJECT/target:/target difi/asciidoctor

# Fix ownership
docker run --rm -i -v $PROJECT:/src alpine:3.6 chown -R $(id -g $USER).$(id -g $USER) /src/target
Original file line number Diff line number Diff line change
Expand Up @@ -47,13 +47,16 @@ Contains the possible values for the Description element when the AttributeID is
|Euro4 |Euro 4
|Euro5 |Euro 5
|Euro6 |Euro 6
|EuroStep2 |Euro Step 2
|EuroStep3A |Euro Step 3A
|EuroStep3B |Euro Step 3B
|EuroStep4 |Euro Step 4
|EV |EV
|Euro7 |Euro 7
|EuroStageII |Euro Stage II
|EuroStageIIIA |Euro Stage IIIA
|EuroStageIIIB |Euro Stage IIIB
|EuroStageIV |Euro Stage IV
|EuroStageV |Euro Stage V
|EV |Electrical Vehicle
|FuelCell |Fuel Cell
|Hybrid |Hybrid
|PHEV |Plug-in Hybrid
|====

.Example:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,18 +1,22 @@
[[shipment]]
= Shipment

Description of the actual shipment that contains the goods that is being despatched.
Description of the actual shipment that contains the goods that are being despatched.

[[shipment-id]]
== Shipment ID

Normally the Freight Forwarder's identity of the shipment should be used.
If the ID is a GS1 GSID (Global Shipment Identification Number), it should be indicated by the attribute @schemeID.
If it is not, the attribute can be omitted.
The Global Shipment Identification Number (GSIN) is a number that identifies a shipment and is assigned by the seller of goods.
The goods shipper collects one or more logistic units for transportation to a recipient. A GSIN is assigned to this group of
logistic units to identify them as a shipment.

In some uses of the Despath Advice, there is no unique identifier assigned to the shipment.
However, the UBL syntax requires the Shipment ID.
Consequently, to be able to use elements such as GrossWeightMeasure or CarrierParty, the Shipment/ID must be filled in.
To cater for scenarios where no ID exist a dummy value must be applied.
The dummy value must consist of the characters **NA**.
To cater for scenarios where no ID exist a dummy value must be applied. The dummy value must consist of the characters **NA**.

Example:

Expand All @@ -26,13 +30,8 @@ include::{snippet-dir}/snippet-30-1.xml[tags=shipment]

In some uses of the Despath Advice, there is a need to report the licence plate number or machine number, i.e. the vehicle ID.

If you need to specify more than one license plate, use a semi-colon (;) between the license plate id:s.
For foreign license plates, set the countrycode in front of the license plate id, with a dash between. See example.
If no countrycode is provided, a domestic license plate is assumed.
If a license plate is unknow, use "UNKNOWN" as the license plate id.
If a license plate is not relevant, use "NA" as the license plate id.
Example:

.Example:
[source, xml, indent=0]
----
include::{snippet-dir}/snippet-30-1.xml[tags=vehicleid]
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
[[shipment]]
= Shipment

Description of the actual shipment that contains the goods that is being despatched.

[[shipment-id]]
== Shipment ID

Normally the Freight Forwarder’s identity of the shipment should be used. If the ID is a GS1 GSID (Global Shipment Identification Number), it should be
indicated by the attribute @schemeID. If it is not, the attribute can be omitted. The Global Shipment Identification Number (GSIN) is a number that
identifies a shipment and is assigned by the seller of goods. The goods shipper collects one or more logistic units for transportation to a recipient.
A GSIN is assigned to this group of logistic units to identify them as a shipment.

In some uses of the Despath Advice, there is no unique identifier assigned to the shipment.
However, the UBL syntax requires the Shipment ID.
Consequently, to be able to use elements such as GrossWeightMeasure or CarrierParty, the Shipment/ID must be filled in.
To cater for scenarios where no ID exist a dummy value must be applied.
The dummy value must consist of the characters **NA**.

Example:

[source, xml, indent=0]
----
include::{snippet-dir}/snippet-30-1.xml[tags=shipment]
----

[[vehicle-ID]]
== Vehicle ID

In some uses of the Despath Advice, there is a need to report the licence plate number or machine number, i.e. the vehicle ID.

If you need to specify more than one license plate, use a semi-colon (;) between the license plate id:s.
For foreign license plates, set the countrycode in front of the license plate id, with a dash between. See example.
If no countrycode is provided, a domestic license plate is assumed.
If a license plate is unknow, use "UNKNOWN" as the license plate id.
If a license plate is not relevant, use "NA" as the license plate id.

.Example:
[source, xml, indent=0]
----
include::{snippet-dir}/snippet-30-1.xml[tags=vehicleid]
----
Loading
Loading