shipment-position

Schema downloads

The JSON schema for this format can be downloaded here.

Use this link to download the strict schema, which will disallow unknown properties for as much as that is possible witin the schema language. Our internal processes simply ignore unknown properties but the strict schema can be usefull to notice typo's.

We will on occasion add new fields without notifying all recipients of the file. Therefore please do not use the strict schema for validation of files we send to you. If you want to validate our files at your end, the standard schema can be used. We will notify all recipients before doing a change in a file that would cause it to no longer match the standard schema.

Sample files

Sample files for this format can be downloaded here:

root

metadata [O] Object
positions [M] Array of Object

metadata

source [O] String Source system or customer code.
messageId [O] String Unique id for the message.
messageReference [O] String Customer reference for the message.
messageType [O] String Type name of the message.
messageRootId [O] String Message id of the first message in a chain of messages.
timeStamp [O] String Format: date-time Date and time the message was generated. If time zone information is omitted, is UTC.

positions

header [M] Object
shipment [M] Object
leg [O] Object
mainActivities [M] Object
position [M] Object Last known position of the shipment cargo.

positions.header

events [M] Array of String Possible values:
  • "positionCargoLoading"
  • "positionCargoInMotion"
  • "positionCargoUnloading"
The event(s) that triggered the message.
status [M] String Possible values:
  • "booked"
  • "prePlanned"
  • "planned"
  • "loading"
  • "inOperation"
Expand
The current status of the item. In case of a status change, this will be the NEW status.
statusNumber [M] Integer Possible values:
  • 0
  • 10
  • 20
  • 30
  • 40
Expand
Numeric value matching the status. Can be used to easily do 'before status x' or 'after status y' logic since the numbering matches the normal chronological order. booked: 0 prePlanned: 10 planned: 20 loading: 30 inOperation: 40 unloading: 50 delivered: 60 cancelled: 70 completed: 90

positions.shipment

number [M] String Pattern: ^(([0-9]{12})|([0-9]{15}))$ Internal Jan de Rijk number for the original order of the customer.
ediReference [O] String Max 27 char Customer unique id for the shipment, as delivered in the inbound EDI. Null for items that were not delivered via EDI.
order [M] Object
creationDateTime [O] String Format: date-time Includes time zone indicator.
reference [M] String Max 30 char Customer's reference for the shipment. This is the reference that would be used to refer to the order in any communication between the customer and Jan de Rijk. This reference also appears on invoices and status messages, and is searchable in JConnect.
requirements [M] Object Special requirements relating to the shipment.
security [M] Object Specifies security above the standard security level of TSR 01. The actual security level is explained in the SOP and arranged by the Jan de Rijk planning team.
transportInstructions [O] String
generalInstructions [O] String
measurement [M] Object
goodsLines [M] Array of Object
customerData [O] Object The customer specific data as delivered with the transport order file.
remarks [O] String
clearingIn [O] Object
clearingOut [O] Object
containerPickUp [O] Object
originalLoading [O] Object
finalUnloading [O] Object
containerDropOff [O] Object
container [O] Object
documents [O] Array of Object

positions.shipment.order

number [M] String Pattern: ^(([0-9]{12})|([0-9]{15}))$ Internal Jan de Rijk number for the original order of the customer.
reference [M] String Max 30 char Customer's reference for the order. This is the reference that would be used to refer to the order in any communication between the customer and Jan de Rijk. Comes from transportorder-main: $.orders.
departmentCode [O] String Max 3 char
Pattern: ^[0-9]{3}$
The code of the Jan de Rijk department handling the order.
product [O] String Possible values:
  • "generalCargo"
  • "importContainers"
  • "exportContainers"
  • null
The Jan de Rijk product relevant for the order.
customer [M] Object
ediReference [O] String Max 27 char Customer unique id for the order, as delivered in the inbound EDI. Null for items that were not delivered via EDI.
customerData [O] Object The customer specific data as delivered with the transport order file.

positions.shipment.order.customer

name [M] String Max 100 char
code [M] String Max 20 char Jan de Rijk code for the customer.

positions.shipment.order.customerData

The customer specific data as delivered with the transport order file.

positions.shipment.requirements

Special requirements relating to the shipment.

freightUnitType [O] String Possible values:
  • null
  • "mega"
  • "flatBox"
  • "box"
  • "isolation"
Expand
roadTrain [M] Boolean
walkingFloor [O] Boolean
mega [O] Boolean
taillift [O] Boolean
crane [O] Boolean
kooiaap [O] Boolean
palletTruck [O] Boolean
reefer [O] Boolean
doubleFloor [O] Boolean
dangerousCargo [M] Boolean This means LZV (longer truck).
urgent [M] Boolean
heater [O] Boolean
cooler [M] Boolean
palletSwap [O] Boolean
gdp [O] Boolean
exclusive [M] Boolean If true, Jan de Rijk won't co-load the cargo with other customers' cargo. Co-loading regulations are taken into account regardless.
secondDriver [O] Boolean
timeCriticalLoading [O] Boolean
timeCriticalUnloading [O] Boolean
customsDocument [O] Boolean
chassisTypes [O] Array of String
customsDocumentTypes [O] Array of String
maximumTemperature [O] Number
minimumTemperature [O] Number
temperatureSetPoint [O] Number
pharmaceuticals [O] Boolean It concerns pharmaceutical cargo, and all requirements for that apply.

positions.shipment.security

Specifies security above the standard security level of TSR 01. The actual security level is explained in the SOP and arranged by the Jan de Rijk planning team.

containerLock [O] Boolean
guidance [O] Boolean
secured [M] Boolean
level [O] String Possible values:
  • null
  • "TAPA1"
  • "TAPA2"

positions.shipment.measurement

grossWeight [O] Number 3 decimals Kilograms.
quantity [O] Number 3 decimals
volume [O] Number 3 decimals Cubic metres.
volumeWeight [O] Number 3 decimals Kilograms. Usually only used for air freight.
loadIndex [O] Number 3 decimals
palletPlaces [O] Number 3 decimals

positions.shipment.goodsLines

mark [O] String Max 50 char
packageType [O] String Possible values:
  • null
  • "uld16Feet"
  • "uld20Feet"
  • "container20Feet"
  • "container20FeetReefer"
Expand
measurement [M] Object
goodsType [O] String Possible values:
  • null
  • "airCargo"
  • "airCargoPalletized"
  • "carParts"
  • "general"
Expand
goodsDescription [O] String Max 20 char
dimensions [O] Object
detailLines [O] Array of Object Further breakdown of the goods. If this was not provided when the shipment was created, there will be a single detail line for each goods line.
dangerousGoods [O] Array of Object

positions.shipment.goodsLines.measurement

grossWeight [O] Number 3 decimals Kilograms.
quantity [O] Number 3 decimals
volume [O] Number 3 decimals Cubic metres.
volumeWeight [O] Number 3 decimals Kilograms. Usually only used for air freight.
loadIndex [O] Number 3 decimals
palletPlaces [O] Number 3 decimals

positions.shipment.goodsLines.dimensions

length [O] Number 3 decimals Metres.
width [O] Number 3 decimals Metres.
height [O] Number 3 decimals Metres.

positions.shipment.goodsLines.detailLines

mark [O] String Max 50 char
packageType [O] String Possible values:
  • null
  • "uld16Feet"
  • "uld20Feet"
  • "container20Feet"
  • "container20FeetReefer"
Expand
measurement [M] Object
goodsType [O] String Possible values:
  • null
  • "airCargo"
  • "airCargoPalletized"
  • "carParts"
  • "general"
Expand
goodsDescription [O] String Max 20 char
awb [O] String Max 12 char
Pattern: ^[0-9]{3}[-][0-9]{8}$

positions.shipment.goodsLines.detailLines.measurement

grossWeight [O] Number 3 decimals Kilograms.
quantity [O] Number 3 decimals
volume [O] Number 3 decimals Cubic metres.
volumeWeight [O] Number 3 decimals Kilograms. Usually only used for air freight.
loadIndex [O] Number 3 decimals
palletPlaces [O] Number 3 decimals

positions.shipment.goodsLines.dangerousGoods

code [M] String Max 4 char
Pattern: ^[0-9]{1,4}$
UN code.
suffix [O] String Max 3 char
Pattern: ^[0-9]{1,3}$
tunnelCode [O] String

positions.shipment.customerData

The customer specific data as delivered with the transport order file.

positions.shipment.clearingIn

party [O] Object

positions.shipment.clearingIn.party

name [O] String
number [O] String Max 6 char
Pattern: ^[0-9]{6}$
Jan de Rijk number of the existing party in Jan de Rijk system.
code [O] String Max 20 char Jan de Rijk code of the existing party in Jan de Rijk system.
address [M] Object
contact [O] Object
remarks [O] String

positions.shipment.clearingIn.party.address

locationCode [O] String Max 100 char In case the location is an airport, this will be the IATA code.
name1 [O] String Max 100 char
line1 [O] String Max 100 char Street name and number.
city [O] String Max 100 char
postalCode [O] String Max 10 char
countryName [O] String Max 100 char
countryCode [O] String Max 2 char
Pattern: ^[A-Z]{2}$
ISO-2 country code.
longitude [O] Number
latitude [O] Number

positions.shipment.clearingIn.party.contact

emailDetails [O] Array of Object
telephoneDetails [O] Array of Object
faxNumber [O] String

positions.shipment.clearingIn.party.contact.emailDetails

type [M] String Possible values:
  • "normal"
value [M] String E-mail address.

positions.shipment.clearingIn.party.contact.telephoneDetails

type [M] String Possible values:
  • "normal"
value [M] String Phone number.

positions.shipment.clearingOut

party [O] Object

positions.shipment.clearingOut.party

name [O] String
number [O] String Max 6 char
Pattern: ^[0-9]{6}$
Jan de Rijk number of the existing party in Jan de Rijk system.
code [O] String Max 20 char Jan de Rijk code of the existing party in Jan de Rijk system.
address [M] Object
contact [O] Object
remarks [O] String

positions.shipment.clearingOut.party.address

locationCode [O] String Max 100 char In case the location is an airport, this will be the IATA code.
name1 [O] String Max 100 char
line1 [O] String Max 100 char Street name and number.
city [O] String Max 100 char
postalCode [O] String Max 10 char
countryName [O] String Max 100 char
countryCode [O] String Max 2 char
Pattern: ^[A-Z]{2}$
ISO-2 country code.
longitude [O] Number
latitude [O] Number

positions.shipment.clearingOut.party.contact

emailDetails [O] Array of Object
telephoneDetails [O] Array of Object
faxNumber [O] String

positions.shipment.clearingOut.party.contact.emailDetails

type [M] String Possible values:
  • "normal"
value [M] String E-mail address.

positions.shipment.clearingOut.party.contact.telephoneDetails

type [M] String Possible values:
  • "normal"
value [M] String Phone number.

positions.shipment.containerPickUp

party [M] Object
dateTimes [M] Object Estimated date/time of relevant events. Actual date/time if the event has already happened.
reference [O] String

positions.shipment.containerPickUp.party

name [O] String
number [O] String Max 6 char
Pattern: ^[0-9]{6}$
Jan de Rijk number of the existing party in Jan de Rijk system.
code [O] String Max 20 char Jan de Rijk code of the existing party in Jan de Rijk system.
address [M] Object
contact [O] Object
remarks [O] String

positions.shipment.containerPickUp.party.address

locationCode [O] String Max 100 char In case the location is an airport, this will be the IATA code.
name1 [O] String Max 100 char
line1 [O] String Max 100 char Street name and number.
city [O] String Max 100 char
postalCode [O] String Max 10 char
countryName [O] String Max 100 char
countryCode [O] String Max 2 char
Pattern: ^[A-Z]{2}$
ISO-2 country code.
longitude [O] Number
latitude [O] Number

positions.shipment.containerPickUp.party.contact

emailDetails [O] Array of Object
telephoneDetails [O] Array of Object
faxNumber [O] String

positions.shipment.containerPickUp.party.contact.emailDetails

type [M] String Possible values:
  • "normal"
value [M] String E-mail address.

positions.shipment.containerPickUp.party.contact.telephoneDetails

type [M] String Possible values:
  • "normal"
value [M] String Phone number.

positions.shipment.containerPickUp.dateTimes

Estimated date/time of relevant events. Actual date/time if the event has already happened.

opening [O] String Format: date-time Includes time zone indicator.
closing [O] String Format: date-time Includes time zone indicator.

positions.shipment.originalLoading

party [M] Object
dateTimes [M] Object Estimated date/time of relevant events. Actual date/time if the event has already happened.
reference [O] String

positions.shipment.originalLoading.party

name [O] String
number [O] String Max 6 char
Pattern: ^[0-9]{6}$
Jan de Rijk number of the existing party in Jan de Rijk system.
code [O] String Max 20 char Jan de Rijk code of the existing party in Jan de Rijk system.
address [M] Object
contact [O] Object
remarks [O] String

positions.shipment.originalLoading.party.address

locationCode [O] String Max 100 char In case the location is an airport, this will be the IATA code.
name1 [O] String Max 100 char
line1 [O] String Max 100 char Street name and number.
city [O] String Max 100 char
postalCode [O] String Max 10 char
countryName [O] String Max 100 char
countryCode [O] String Max 2 char
Pattern: ^[A-Z]{2}$
ISO-2 country code.
longitude [O] Number
latitude [O] Number

positions.shipment.originalLoading.party.contact

emailDetails [O] Array of Object
telephoneDetails [O] Array of Object
faxNumber [O] String

positions.shipment.originalLoading.party.contact.emailDetails

type [M] String Possible values:
  • "normal"
value [M] String E-mail address.

positions.shipment.originalLoading.party.contact.telephoneDetails

type [M] String Possible values:
  • "normal"
value [M] String Phone number.

positions.shipment.originalLoading.dateTimes

Estimated date/time of relevant events. Actual date/time if the event has already happened.

opening [O] String Format: date-time Includes time zone indicator.
closing [O] String Format: date-time Includes time zone indicator.

positions.shipment.finalUnloading

party [M] Object
dateTimes [M] Object
reference [O] String

positions.shipment.finalUnloading.party

name [O] String
number [O] String Max 6 char
Pattern: ^[0-9]{6}$
Jan de Rijk number of the existing party in Jan de Rijk system.
code [O] String Max 20 char Jan de Rijk code of the existing party in Jan de Rijk system.
address [M] Object
contact [O] Object
remarks [O] String

positions.shipment.finalUnloading.party.address

locationCode [O] String Max 100 char In case the location is an airport, this will be the IATA code.
name1 [O] String Max 100 char
line1 [O] String Max 100 char Street name and number.
city [O] String Max 100 char
postalCode [O] String Max 10 char
countryName [O] String Max 100 char
countryCode [O] String Max 2 char
Pattern: ^[A-Z]{2}$
ISO-2 country code.
longitude [O] Number
latitude [O] Number

positions.shipment.finalUnloading.party.contact

emailDetails [O] Array of Object
telephoneDetails [O] Array of Object
faxNumber [O] String

positions.shipment.finalUnloading.party.contact.emailDetails

type [M] String Possible values:
  • "normal"
value [M] String E-mail address.

positions.shipment.finalUnloading.party.contact.telephoneDetails

type [M] String Possible values:
  • "normal"
value [M] String Phone number.

positions.shipment.finalUnloading.dateTimes

opening [O] String Format: date-time Includes time zone indicator.
closing [O] String Format: date-time Includes time zone indicator.
earlyPossible [O] Boolean

positions.shipment.containerDropOff

party [M] Object
dateTimes [M] Object
reference [O] String

positions.shipment.containerDropOff.party

name [O] String
number [O] String Max 6 char
Pattern: ^[0-9]{6}$
Jan de Rijk number of the existing party in Jan de Rijk system.
code [O] String Max 20 char Jan de Rijk code of the existing party in Jan de Rijk system.
address [M] Object
contact [O] Object
remarks [O] String

positions.shipment.containerDropOff.party.address

locationCode [O] String Max 100 char In case the location is an airport, this will be the IATA code.
name1 [O] String Max 100 char
line1 [O] String Max 100 char Street name and number.
city [O] String Max 100 char
postalCode [O] String Max 10 char
countryName [O] String Max 100 char
countryCode [O] String Max 2 char
Pattern: ^[A-Z]{2}$
ISO-2 country code.
longitude [O] Number
latitude [O] Number

positions.shipment.containerDropOff.party.contact

emailDetails [O] Array of Object
telephoneDetails [O] Array of Object
faxNumber [O] String

positions.shipment.containerDropOff.party.contact.emailDetails

type [M] String Possible values:
  • "normal"
value [M] String E-mail address.

positions.shipment.containerDropOff.party.contact.telephoneDetails

type [M] String Possible values:
  • "normal"
value [M] String Phone number.

positions.shipment.containerDropOff.dateTimes

opening [O] String Format: date-time Includes time zone indicator.
closing [O] String Format: date-time Includes time zone indicator.
earlyPossible [O] Boolean

positions.shipment.container

number [O] String
type [O] String

positions.shipment.documents

type [O] String
reference [O] String

positions.leg

tripId [O] String
vehicle [O] Object
drivers [O] Array of Object
pulledUnit [O] Object
freightUnits [O] Array of Object

positions.leg.vehicle

id [O] String Jan de Rijk ID.
licensePlate [O] String

positions.leg.drivers

id [M] String Jan de Rijk ID.
name [O] String
hasAdrLicense [O] Boolean

positions.leg.pulledUnit

id [O] String Jan de Rijk ID.
licensePlate [O] String

positions.leg.freightUnits

id [M] String Jan de Rijk ID.
condition [O] Object

positions.leg.freightUnits.condition

temperatures [O] Array of Object

positions.leg.freightUnits.condition.temperatures

sensorKey [M] String Possible values:
  • "lowest"
  • "highest"
value [M] Number

positions.mainActivities

containerPickUp [O] Object
originalLoading [O] Object
finalUnloading [O] Object
containerDropOff [O] Object

positions.mainActivities.containerPickUp

dateTimes [O] Object Actual date/time of relevant events. null if the event did not yet happen.
milestones [O] Object Actual date/time of relevant events. null if the event did not yet happen.

positions.mainActivities.containerPickUp.dateTimes

Actual date/time of relevant events. null if the event did not yet happen.

arrival [O] String Format: date-time Includes time zone indicator.
start [O] String Format: date-time Includes time zone indicator.
end [O] String Format: date-time Includes time zone indicator.

positions.mainActivities.containerPickUp.milestones

Actual date/time of relevant events. null if the event did not yet happen.

arrival [O] String Format: date-time Includes time zone indicator.
start [O] String Format: date-time Includes time zone indicator.
end [O] String Format: date-time Includes time zone indicator.

positions.mainActivities.originalLoading

dateTimes [O] Object Actual date/time of relevant events. null if the event did not yet happen.
milestones [O] Object Actual date/time of relevant events. null if the event did not yet happen.

positions.mainActivities.originalLoading.dateTimes

Actual date/time of relevant events. null if the event did not yet happen.

arrival [O] String Format: date-time Includes time zone indicator.
start [O] String Format: date-time Includes time zone indicator.
end [O] String Format: date-time Includes time zone indicator.

positions.mainActivities.originalLoading.milestones

Actual date/time of relevant events. null if the event did not yet happen.

arrival [O] String Format: date-time Includes time zone indicator.
start [O] String Format: date-time Includes time zone indicator.
end [O] String Format: date-time Includes time zone indicator.

positions.mainActivities.finalUnloading

dateTimes [O] Object Actual date/time of relevant events. null if the event did not yet happen.
milestones [O] Object Actual date/time of relevant events. null if the event did not yet happen.

positions.mainActivities.finalUnloading.dateTimes

Actual date/time of relevant events. null if the event did not yet happen.

arrival [O] String Format: date-time Includes time zone indicator.
start [O] String Format: date-time Includes time zone indicator.
end [O] String Format: date-time Includes time zone indicator.

positions.mainActivities.finalUnloading.milestones

Actual date/time of relevant events. null if the event did not yet happen.

arrival [O] String Format: date-time Includes time zone indicator.
start [O] String Format: date-time Includes time zone indicator.
end [O] String Format: date-time Includes time zone indicator.

positions.mainActivities.containerDropOff

dateTimes [O] Object Actual date/time of relevant events. null if the event did not yet happen.
milestones [O] Object Actual date/time of relevant events. null if the event did not yet happen.

positions.mainActivities.containerDropOff.dateTimes

Actual date/time of relevant events. null if the event did not yet happen.

arrival [O] String Format: date-time Includes time zone indicator.
start [O] String Format: date-time Includes time zone indicator.
end [O] String Format: date-time Includes time zone indicator.

positions.mainActivities.containerDropOff.milestones

Actual date/time of relevant events. null if the event did not yet happen.

arrival [O] String Format: date-time Includes time zone indicator.
start [O] String Format: date-time Includes time zone indicator.
end [O] String Format: date-time Includes time zone indicator.

positions.position

Last known position of the shipment cargo.

longitude [O] Number
latitude [O] Number
addressDescription [O] String
dateTime [O] String Format: date-time Date/time the position was registered. Includes time zone indicator.