Next Previous Contents


2. RSI Interface Specification/Reference

2.1 XML message header

Every document has to start with the following lines:


<?xml version="1.0"?>
<!DOCTYPE Interface SYSTEM "interface-v1-2.dtd">

The first line tells programs, which will automatically process this message, that this is a XML document. The second line makes the connection between this XML document and the DTD, where RSI defined the message format.

2.2 Interface

Content:

  1. Header Occurs: 1

2.       

and / or

Example:


<Interface>
 <Header>         DATA            </Header>  
 <Shipment>       DATA            </Shipment>
        .
        .
        . 
 <Shipment>       DATA            </Shipment>
 <TrackingEvent>  DATA            </TrackingEvent>
        .
        .
        .
 <TrackingEvent>  DATA            </TrackingEvent>
 <Shipment>       DATA            </Shipment>
        .
        .
        . 
 <Shipment>       DATA            </Shipment>
 <TrackingEvent>  DATA            </TrackingEvent>
        .
        .
        .
 <TrackingEvent>  DATA            </TrackingEvent>
        .
        .
        . 
</Interface> 

Description:

Container for the whole message. A message can contain several shipments and tracking events in any order.

Parents: none

2.3 Header

Content:

  1. Sender Occurs: 1
  2. Receiver Occurs: 1,2,...
  3. MessageId Occurs: 1

Example:


 <Header>
   <Sender>       DATA       </Sender>
   <Receiver>     DATA       </Receiver>
   .
   .
   .
   <Receiver>     DATA       </Receiver>
   <MessageId>    DATA       </MessageId>
 </Header>  

Description:

Container for header data. The data in this container gives information about the Sender, one or more Receiver(s) and a Message Identification.

Parents:

2.4 Sender

Content:

  1. CommunicationId Occurs: 1
  2. Ref optional Occurs: 0,1,2,...
  3. Timestamp optional Occurs: 0,1,2,...
  4. Project optional Occurs: 0 or 1

Example:


 <Sender>
   <CommunicationId>      DATA       </CommunicationId>
   <Ref>                  DATA       </Ref>
   .
   .
   .
   <Ref>                  DATA       </Ref>
   <Timestamp>            DATA       </Timestamp>
   .
   .
   .
   <Timestamp>            DATA       </Timestamp>
   <Project>              DATA       </Project>
 </Sender>  

Description:

Container for Sender data. The Communication Identification describes the branch office (3 characters branch office code + 3 characters city code; e.g. RSIDUS for Riege Software International in Duesseldorf). Ref is an abbreviation for reference an gives the possibility to transmit references according to the sender. In the Timestamp (Date,Time,Minutes) segment, timestamps (format: CCYYMMDDHHMMSS) specific to the sender can be transmitted.

The Timestamp segment can be used with the following Types:

You can use the Ref segment without Type specification, if only one Reference is used. It will be stored as senders reference. If you have special references, please consult RSI, to define possible reference types. You can use the following reference types here:

Parents:

2.5 CommunicationId

Content: Data, length 6

Example:


 <CommunicationId>        RSIDUS     </CommunicationId>

Description: The Communication Identification describes an branch office. It consists of 6 characters (3 characters branch office code + 3 characters city code). You have to ask RSI for suitable codes.

(It is very important for us that the branch codes are unique.)

Parents:

2.6 Project

Content: Data, length 6

Example:


 <Project>        XMLTST     </Project>

Description: This element can be used to transfer a project name.

Parents:

2.7 Receiver

Content:

  1. CommunicationId occurs: 1
  2. Ref optional, occurs: 0,1,2,...
  3. Timestamp optional, occurs: 0,1,2,...
  4. Project optional, occurs: 0 or 1

Example:


 <Receiver>
   <CommunicationId>      DATA       </CommunicationId>
   <Ref>                  DATA       </Ref>
   .
   .
   .
   <Ref>                  DATA       </Ref>
   <Timestamp>            DATA       </Timestamp>
   .
   .
   .
   <Timestamp>            DATA       </Timestamp>
   <Project>              DATA       </Project>
 </Receiver>  

Description:

Container for Receiver data. The Communication Identification describes the branch office (3 characters branch office code + 3 characters city code; e.g. RSIDUS for Riege Software International in Duesseldorf). Ref is an abbreviation for reference an gives the possibility to transmit references according to the receiver. In the Timestamp (Date,Time,Minutes) segment, timestamps specific to the receiver can be transmitted.

The Timestamp segment can be used with the following Types:

You can use the Ref segment without Type specification, if only one Reference is used. It will be stored as senders reference. If you have special references, please consult RSI, to define possible reference types.

You can use the following reference types here:

Parents:

2.8 MessageId

Content: Data, length 10, numeric

Example:


 <MessageId>      1234567890         </MessageId>

Description: This element transfers a unique (per sending branch) message identification number (numeric!). It can be maximal 10 digits long. It is important that this number increases, which means that newer messages have higher numbers.

Parents:

2.9 Shipment

Content:

  1. ShipmentId occurs: 1

2.       

or

Example:


 <Shipment>
   <ShipmentId>           DATA       </ShipmentId>
   <Shipper>              DATA       </Shipper>
   <Consignee>            DATA       </Consignee>
   <Notify>               DATA       </Notify>
   .
   .
   .
   <Notify>               DATA       </Notify>
   <Goods>                DATA       </Goods>
   <IncoTerms>            DATA       </IncoTerms>
   <Tdt>                  DATA       </Tdt>
   <Charges>              DATA       </Charges>
   <Values>               DATA       </Values>
   .
   .
   .
   <Values>               DATA       </Values>
   <Ref>                  DATA       </Ref>
   .
   .
   .
   <Ref>                  DATA       </Ref>
   <Eqd>                  DATA       </Eqd>
   .
   .
   .
   <Eqd>                  DATA       </Eqd>
   <Timestamp>            DATA       </Timestamp>
   .
   .
   .
   <Timestamp>            DATA       </Timestamp>
   <Ftx>                  DATA       </Ftx>
 </Shipment>  
 
 or if you want to delete a booking / shipment use the following structure:
 
 <Shipment>
   <ShipmentId>           DATA       </ShipmentId>
   <DeleteFlag>           delete     </DeleteFlag>
 </Shipment>  

Description: Container for Shipment data.

The Timestamp segment can be used with the following types:

You can use the following types in the Ref segment:

If you need other references, please contact RSI.

In the Ftx segment you can use the following types:

Parents:

2.10 ShipmentId

Content:

  1. UniqueId occurs: 1
  2. Master optional, occurs: 0 or 1
  3. House optional, occurs: 0 or 1
  4. TransportType occurs: 1
  5. ShipmentType occurs: 1
  6. NumberOfOriginals optional, occurs: 0 or 1

Example:


  <ShipmentId>
   <UniqueId>             RSIDUS00123456789       </UniqueId>
   <Master>               020-12345678            </Master>
   <House>                DUS-12345678            </House>
   <TransportType>                air             </TransportType>
   <ShipmentType>         master                  </ShipmentType>
  </ShipmentId> 

Description: Container for Shipment Identification information, like a unique message identification, master and house. The TransportType is used to specify, whether the shipment is air or sea . The ShipmentType has the values booking, house, master, direct

Parents:

2.11 UniqueId

Content: Data, length 17

Example:


 <UniqueId>               RSIDUS00123456789       </UniqueId>

Description: This is a unique identification of the shipment. This Id is build according to the following rules: the first 6 character specify a branch code (3 branch office name + 3 city code). You have to ask RSI for a suitable code to ensure that a unique code is chosen. This branch code is same as in the Sender element CommunicationId.

The next 11 digits can be a running number at the branch which increases. We suggest 2 digits for the year (in the example 00 for 2000) + 9 digits of a running number.

But you can also use other numbers, which are unique referring to the sending branch.

Parents:

2.12 Master

Content: Data, length 12, conditional, depends on ShipmentType

Example:


 <Master>         020-12345678    </Master>

Description: Master AWB/BL number.

Parents:

2.13 House

Content: Data, length 12, conditional, depends on ShipmentType

Example:


 <House>          DUS-12345678    </House>

Description: House AWB/BL number.

Parents:

2.14 TransportType

Content: fix values: air or sea

Example:


 <TransportType>  air     </TransportType>

Description: This element shows the transport method of the shipment. It has the fix values air or sea

Parents:

2.15 ShipmentType

Content: fix values: booking, house, direct, master

Example:


 <ShipmentType>           booking         </ShipmentType>

Description: This element specifies the kind of shipment. It can contain the fix values booking, house, direct or master .

Please notice, that the order in which this tpyes (over different messages) appear is fix refering to the logical process of shipping. After a booking you can get a house and a master, but not vice versa.

Parents:

2.16 NumberOfOriginals

Content: numeric integer value, lenght 3, Example:


 <NumberOfOriginals>              3               </NumberOfOriginals>

Description: This element specifies the number of originals (= regular master BL papers), which were printed. Used in Sea only.

Parents:

2.17 DeleteFlag

Content: fix values: delete

Example:


 <DeleteFlag>             Delete          </DeleteFlag>

Description: This element gives you the possibility to delete a shipment at the receivers system. If this element occurs not other data in the shipment container is transmitted, see example in Shipment

Parents:

2.18 Shipper

Content:

  1. AddressId optional, occurs: 0,1,2,...
  2. Address occurs: 1
  3. AccountNo optional, occurs: 0 or 1

Example:


 <Shipper>
  <AddressId>     DATA    </AddressId>
  <Address>       DATA    </Address>
  <AccountNo>     DATA    </AccountNo>
 <Shipper> 

Parents:

2.19 AddressId

Content:

  1. Data occurs: 1
  2. Type occurs: 1

Example:


 <AddressId>
  <Data>          DATA    </Data>
  <Type>          DATA    </Type>
 </AddressId> 

Description: Container for AddressId Data. It contains a Data and a Type element, which are pure text data. Use the Data element to store Address-Numbers etc. and the Type element to specify the kind of Address.

You can use the following Types:

Parents:

2.20 Data

Content: Data and length depend on the container, this element is used in.

Example:


 <Ref>
  <Type> PON </Type>
  <Data> PON4711          </Data>
 </Ref> 
 .
 . 
 .
 <Timestamp>
  <Data> 20000202111213   </Data>  <!-- Date/Time: 02.02.2000 at 11:12:13 -->
 </Timestamp>

Description: This element is used in several places throughout the message and contains pure character and/or numeric data. In many cases in the parent container of this Data element is a Type element specified, which gives this data a special meaning. Sometimes its content only depends on the parent container.

Parents:

2.21 Type

Content: Data, Type depends on the context it is used. Fix values as agreed with RSI.

Example:


 <Timestamp>
  .
  <Type> ETA  </Type>
  .
 </Timestamp> 

Description: This element is used in several places throughout the message. It is used to specify a kind of qualifier which tells something about the meaning of the Data element. The concrete type-value depends on its context and is defined there.

Parents:

2.22 Address

Content:

  1. Name occurs: 1 or 2 or 3
  2. Street occurs: 1 or 2 or 3
  3. City occurs: 1
  4. Country occurs: 1

Example:


 <Address>
  <Name>          DATA    </Name>
  .
  <Name>          DATA    </Name>
  <Street>        DATA    </Street>
  .
  <Street>        DATA    </Street>
  <City>          DATA    </City>
  <Country>       DATA    </City>
 </Address>

Description: Container for Address Data. The elements Name and Street must appear once and can repeated up to three times. City and Country must appear once.

Parents:

2.23 Name

Content: data, length: 35, element can be repeated 3 times

Example:


 
 <Name>   Riege Software International  GmbH</Name>
 <Name>   Headquarter </Name>

Description: This element contains the name information of an address. It can be repeated up to three times.

Parents:

2.24 Street

Content: data, length 35, element can be repeated 3 times

Example:


 
 <Street> Mollsfeld 10 </Street>
 <Street> 0th Floor </Street>

Description This element contains the street information of an address. It can be repeated up to 3 times

Parents:

2.25 City

Content:

  1. CityName occurs: 1
  2. Zip optional, occurs: 0 or 1
  3. State optional: occurs: 0 or 1
  4. CityCode optional, occurs: 0 or 1

Example:


 
 <City>
  <CityName> Duesseldorf </CityName>
  <Zip> 40222 </Zip>
  <State> NRW </State>
  <CityCode> DUS </CityCode>
 </City>

Description This element is a container for city information.

Parents:

2.26 CityName

Content: data, length 35

Example:


 <CityName> Duesseldorf </CityName>

Description: This element contains the city name of an address.

Parents:

2.27 Zip

Content: data, length: 9

Example


 
 <Zip> 40222 </Zip>

Description: This element contains the Zip Code of a City.

Parents:

2.28 State

Content: data, length 9

Example:


 <State> NRW </State>

Description: This element contains the State/Province of a city.

Parents:

2.29 CityCode

Content: data, length 5

Example:


 
 <CityCode> DUS </CityCode>

Description: This element contains the Three/Five (air/sea) letter code of a city. The three letter codes (air) refer to the IATA standard codes. The five letter codes follow the UN/LOCODES city codes.

Parents:

2.30 Country

Content:

  1. CountryName optional, occurs: 0 or 1
  2. CountryIsoCode occurs: 1

Example:


 <Country>
  <CountryName> Germany </CountryName>
  <CountryIsoCode> DE </CountryIsoCode>
 </Country>

Description: This element is used as a container for CountryName and CountryIsoCode.

Parents:

2.31 CountryName

Content: data, length: 40

Example: Country

Description: This element contains the name of a country.

Parents:

2.32 CountryIsoCode

Content: data, length: 2

Example: Country

Description: This element contains the 2 character UN ISO SO 3166 alpha 2 codes for the countries.

Parents:

2.33 AccountNo

Content: data, length 16

Example:


 <AccountNo> 1234567890-12345     </AccountNo>

Description: This element is used to transfer an Account number.

Parents:

2.34 Consignee

Content:

  1. AddressId optional, occurs: 0,1,2,...
  2. Address occurs: 1
  3. AccountNo optional, occurs: 0 or 1

Example:


 <Consignee>
  <AddressId>     DATA    </AddressId>
  <Address>       DATA    </Address>
  <AccountNo>     DATA    </AccountNo>
 <Consignee> 

Description: Container for the consignee address.

Parents: Parents:

2.35 Notify

Content:

  1. AddressId optional, occurs: 0,1,2,...
  2. Address occurs: 1
  3. AccountNo optional, occurs: 0 or 1
  4. Type optional, occurs: 0 or 1

Example: