Complex Types

Introduction

This page includes a list and definition of Complex Types used in the SOAP API environment of OneFlo. These complex types are used as INPUT to the Web Service calls to OneFlo in order to elicit a response. The RESPONSE may also be a complex type, especially when the expected response is an object with multiple attributes.


Guide:

MandatoryDetermine if the element is required when using this ComplexType.
M
Element must be declared.
O
Element may be omitted.
DirectionDetermine when the element is used.
BOTH
Provided as both input and response from the Web Service
OUTPUT
Only provided as a response from Web Service




Consignment


Type
INPUT / RESPONSE
Useful forCreating and releasing consignments
Used inSaveConsignment


The Consignment object represents the data of the freight that is created in OneFlo. It contains information regarding the freight's account owner, distributor, sender, receiver, instructions, and line item details including whether the freight contains DG or not and other relevant information.

XSD

Consignment
<xs:complexType name="Consignment">
	<xs:sequence>
		<xs:element minOccurs="0" name="AccountID" type="xs:int"/>
		<xs:element minOccurs="0" name="AllowConsolidation" type="xs:boolean"/>
		<xs:element minOccurs="0" name="CloseAt" nillable="true" type="xs:string"/>
		<xs:element minOccurs="0" name="ConsignmentDate" nillable="true" type="xs:string"/>
		<xs:element minOccurs="0" name="ConsignmentID" type="xs:long"/>
		<xs:element minOccurs="0" name="ConsignmentItems" nillable="true" type="tns:ArrayOfConsignmentItem"/>
		<xs:element minOccurs="0" name="ConsignmentNote" nillable="true" type="xs:string"/>
		<xs:element minOccurs="0" name="ConsignmentType" nillable="true" type="xs:string"/>
		<xs:element minOccurs="0" name="ConsolidatedSus" nillable="true" type="tns:ArrayOfConsolidateConsignment"/>
		<xs:element minOccurs="0" name="ContainingConsignment" type="xs:long"/>
		<xs:element minOccurs="0" name="DeliveryInstructions" nillable="true" type="xs:string"/>
		<xs:element minOccurs="0" name="Description" nillable="true" type="xs:string"/>
		<xs:element minOccurs="0" name="DistributorID" type="xs:int"/>
		<xs:element minOccurs="0" name="DownloadID" type="xs:int"/>
		<xs:element minOccurs="0" name="Exception" nillable="true" type="tns:SaveException"/>
		<xs:element minOccurs="0" name="Ext" nillable="true" type="tns:ConsignmentExt"/>
		<xs:element minOccurs="0" name="ExtraInfo" nillable="true" type="xs:string"/>
		<xs:element minOccurs="0" name="Hours" type="xs:float"/>
		<xs:element minOccurs="0" name="ModifiedBy" type="xs:int"/>
		<xs:element minOccurs="0" name="NoItems" type="xs:short"/>
		<xs:element minOccurs="0" name="OnForwarder" type="xs:int"/>
		<xs:element minOccurs="0" name="PickupInstructions" nillable="true" type="xs:string"/>
		<xs:element minOccurs="0" name="ReadyAt" nillable="true" type="xs:string"/>
		<xs:element minOccurs="0" name="Receiver" nillable="true" type="tns:Address"/>
		<xs:element minOccurs="0" name="Reference" nillable="true" type="xs:string"/>
		<xs:element minOccurs="0" name="References" nillable="true" type="tns:ArrayOfReference"/>
		<xs:element minOccurs="0" name="Released" nillable="true" type="xs:string"/>
		<xs:element minOccurs="0" name="Sender" nillable="true" type="tns:Address"/>
		<xs:element minOccurs="0" name="Service" nillable="true" type="xs:string"/>
		<xs:element minOccurs="0" name="SessionID" type="xs:long"/>
		<xs:element minOccurs="0" name="SpecialInstructions" nillable="true" type="xs:string"/>
		<xs:element minOccurs="0" name="Volume" type="xs:float"/>
		<xs:element minOccurs="0" name="Weight" type="xs:float"/>
	</xs:sequence>
</xs:complexType>
<xs:element name="Consignment" nillable="true" type="tns:Consignment"/>

Elements

ElementTypeMandatory / OptionalLengthDirectionComments
AccountIDint
M
-
BOTH
AccountID retrieved from Session.
AllowConsolidationbool
M
-
BOTH

true/false : Indicates whether a consignment can be consolidated.

If it's the first consignment for the day going to a receiver and service, a new consignment will be created. Succeeding consignments going to the same receiver and same service, the new items in this consignment will be appended to the previous consignment (that allows consolidation) and using the same connote number. This doesn't apply to consignments with Dangerous Goods.

CloseAtTime
M
-
BOTH

hh:mm

Time when the facilities will close (for pickup). Will be reflected on the Pickup Request and consignment data sent to carrier.

ConsignmentDateDateTime
M
-
BOTH
Date of the creation of the consignment.






ConsignmentIDlong
O
-
BOTH

ID of the record in the OneFlo database.

Not required on creation.

When updating an existing consignment, provide the ConsignmentID.

ConsignmentItemsConsignmentItem[]
M
1...n
BOTH
Details the items included in the consignment.
ConsignmentNotestring
O
20
BOTH

When provided, the consignment will be created with the provided Connote number.

When not provided, OneFlo will generate a new connote number from the range.

ConsignmentTypestring
O
-
BOTH

Indicates the consignment movement:

Populate with "Pickup" for Outbound; "Return" for returns; and, "Transfer" for transfers.

ConsolidatedSusConsolidateConsignment[]
O
-
OUTPUT
Not recommended for use.
ContainingConsignmentlong
O
-
OUTPUT
Not recommended for use.
DeliveryInstructionsstring
O
80
BOTH
Delivery Instructions. Will appear on labels (depending on carrier specification may be limited in terms of number of characters due to real estate).
Descriptionstring
O
30
BOTH
Description of Consignment. Won't appear on labels.
DistributorIDint
M
-
BOTH
DistributorID retrieved from Session.
DownloadIDint
O
-
OUTPUT
Not recommended for use.
ExceptionSaveException
O
-
OUTPUT
Output. Provides detail on the result if there is an error with the data provided.
ExtConsignmentsExt
O
0...1
BOTH
Additional information for a consignment.
ExtraInfostring
O
-
OUTPUT
Not recommended for use.
Hoursfloat
O
-
BOTH
Default 0.
ModifiedByint
M
-
BOTH
UserID as defined in the session.
NoItemsshort
O
-
OUTPUT
Item Count Summary for the consignment. Computed from the data provided in ConsignmentItems. 
OnForwarderint
O
-
BOTH
Not required when Service is provided.
PickupInstructionsstring
O
80
BOTH
Pickup Instructions. Will appear on Pickup request data when carrier is configured.
ReadyAt

Time

M
-
BOTH

hh:mm

Time when the consignment is ready to be picked up. Will be reflected on Pickup Request and cosignment data sent to carrier.

ReceiverAddress
M
1
BOTH
Details of the receiver of the freight.
Referencestring
O
20
BOTH
Stores the primary business reference (i.e. Sales Order Number, Pick Number, etc)
ReferencesReference[]
O
0...n
BOTH
Additional References.
ReleasedDateTime
M
-
BOTH
Date of the release of the consignment, must be provided but will be updated by the system when the consignment is actually released via the Release*Consignment API.
SenderAddress
M
1
BOTH
Details of the sender of the freight.
Servicestring
M
10
BOTH
Service for use. Must be a service defined in OneFlo as retrieved from the ShipperService Element of the ServicePricing.
SessionIDlong
O
-
OUTPUT
Not recommended for use.
SpecialInstructionsstring
O
80
BOTH
Additional Instructions. Will appear on labels (depending on carrier specification may be limited in terms of number of characters due to real estate).
Volumefloat
O
-
OUTPUT
Total Consignment Volume in cubic metres. Computed from the data provided in ConsignmentItems.
Weightfloat
O
-
OUTPUT
Total Consignment weight in kilograms. Computed from the data provided in ConsignmentItems.


Example

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"  xmlns="http://www.opensys.com.au/ChainIT/4.0/ChainITDataServices">
	<soapenv:Header/>
	<soapenv:Body>
		<SaveConsignment>
			<session>
				<AccountID>{{AccountID}}</AccountID>
				<DistributorID>{{DistributorID}}</DistributorID>
				<Expires>{{Expires}}</Expires>
				<Key>{{Key}}</Key>
				<UserID>{{UserID}}</UserID>
			</session>
			<consignment>
				<AccountID>{{AccountID}}</AccountID>
				<AllowConsolidation>true</AllowConsolidation>
				<CloseAt>16:00</CloseAt>
				<ConsignmentDate>2018-08-02 10:09:00</ConsignmentDate>
				<ConsignmentItems>
					<ConsignmentItem>
						<Description>SMALL CARTON NO DG</Description>
						<Height>16</Height>           
						<ItemNo>1</ItemNo>             
						<Length>38</Length>
						<NoItems>1</NoItems>
						<Reference />
						<Weight>5</Weight>
						<Width>25</Width>
					</ConsignmentItem>
					<ConsignmentItem>
						<ConsignmentProduct>
							<Cubic>0.0152</Cubic>
							<DangerousGoods>
								<AggQty>4</AggQty>
								<Class>2.1</Class>
								<Group>NONE</Group>
								<Name>AEROSOLS</Name>
								<PSN>AEROSOLS IN A CAN</PSN>
								<Qty>1</Qty>
								<Receptacle>CAN</Receptacle>
								<SubRisk>N/A</SubRisk>
								<UnCode>1950</UnCode>
								<Units>kg</Units>
							</DangerousGoods>
						</ConsignmentProduct>
						<Description>SMALL CARTON WITH DG</Description>
						<Height>16</Height>           
						<ItemNo>1</ItemNo>             
						<Length>38</Length>
						<NoItems>1</NoItems>
						<PackagingType>SAT</PackagingType>
						<Reference />
						<Weight>5</Weight>
						<Width>20</Width>
					</ConsignmentItem>

				</ConsignmentItems>
				<DeliveryInstructions>Deliver to Front Door.</DeliveryInstructions>
				<Description />
				<DistributorID>{{DistributorID}}</DistributorID>
				<ReadyAt>14:00</ReadyAt>
				<Receiver>
					<AddressLocation>
						<CountryCode>AU</CountryCode>
						<SuburbStatePostcode>HALLAM VIC 3803</SuburbStatePostcode>
					</AddressLocation>
					<ATL>true</ATL>
					<Contact>CONTACT PERSON</Contact>
					<Country>AUSTRALIA</Country>
					<CountryCode>AU</CountryCode>
					<Email>hallam@company.com.au</Email>
					<Line1>89 Wellington Street</Line1>
					<Line2 />
					<Line3 />
					<Name>CUSTOMER ABC</Name>
					<Phone>03 1234 1000</Phone>
				</Receiver>
				<Reference>PO123456</Reference>
				<Released>2019-08-01T00:00:00</Released>
				<Sender>
					<AddressLocation>
						<CountryCode>AU</CountryCode>
						<SuburbStatePostcode>SCORESBY VIC 3179</SuburbStatePostcode>
					</AddressLocation>
					<Country>AUSTRALIA</Country>
					<CountryCode>AU</CountryCode>
					<Line1>7 Lakeview Drive</Line1>
					<Line2 />
					<Line3 />
					<Name>SENDER ENTITY</Name>
					<Phone />
				</Sender>
				<Service>STEEXP</Service>
				<SpecialInstructions/>
			</consignment>
		</SaveConsignment>
	</soapenv:Body>
</soapenv:Envelope>



 Consignment Item


Type
INPUT / RESPONSE
Useful forCreating and releasing consignment items within consignments
Used inSaveConsignment / GetChargeQuote


The Consignment Item otherwise known as a shipping unit / item is an object represents the data of the freight items created within a Consignment object that is created in OneFlo. A consignment must contain at least one consignment item. This is the actual object that will be labeled and will travel with the carrier. Each object defines what gets printed in the label.

XSD

Consignment
<xs:complexType name="ConsignmentItem">
	<xs:sequence>
		<xs:element minOccurs="0" name="Barcode" nillable="true" type="xs:string"/>
		<xs:element minOccurs="0" name="ConsignmentID" type="xs:long"/>
		<xs:element minOccurs="0" name="ConsignmentProduct" nillable="true" type="tns:Product"/>
		<xs:element minOccurs="0" name="Description" nillable="true" type="xs:string"/>
		<xs:element minOccurs="0" name="ExchangeReturnable" type="xs:boolean"/>
		<xs:element minOccurs="0" name="Height" type="xs:float"/>
		<xs:element minOccurs="0" name="ItemNo" type="xs:int"/>
		<xs:element minOccurs="0" name="ItemType" nillable="true" type="xs:string"/>
		<xs:element minOccurs="0" name="Length" type="xs:float"/>
		<xs:element minOccurs="0" name="ModifiedBy" type="xs:int"/>
		<xs:element minOccurs="0" name="NoItems" type="xs:int"/>
		<xs:element minOccurs="0" name="PackagingType" nillable="true" type="xs:string"/>
		<xs:element minOccurs="0" name="Palletised" type="xs:boolean"/>
		<xs:element minOccurs="0" name="ProductID" type="xs:int"/>
		<xs:element minOccurs="0" name="Reference" nillable="true" type="xs:string"/>
		<xs:element minOccurs="0" name="Returnable" nillable="true" type="xs:string"/>
		<xs:element minOccurs="0" name="Volume" type="xs:float"/>
		<xs:element minOccurs="0" name="Weight" type="xs:float"/>
		<xs:element minOccurs="0" name="Width" type="xs:float"/>
	</xs:sequence>
</xs:complexType>
<xs:element name="ConsignmentItem" nillable="true" type="tns:ConsignmentItem"/>

Elements

ElementTypeMandatory / OptionalLengthDirectionComments
Barcodestring
O
-
BOTH
This is the SSCC barcode. If no SSCC is provided, OneFlo will generate a barcode for you.
ConsignmentIDlong
O
-
BOTH

ID of the record in the OneFlo database.

Not required on creation.

When updating an existing consignment, provide the ConsignmentID.

ConsignmentProductProduct
O
-
BOTH

This is a complex type for the definition of Dangerous Goods.

Descriptionstring
O
40
BOTH
A description of the goods being shipped.
ExchangeReturnablebooleanO-OUTPUT
Heightfloat
M
-BOTH

Height of item in centimetres (cm).

ItemNoint
O
-
BOTH

The index (starting 1) or otherwise known as ordinal integer. It's not mandatory to provide this because OneFlo will assign it upon saving.

e.g. if there are 3 packages, this will enumerate package 1, package 2, and package 3

ItemTypestring
M
20
BOTH

Item Code - could be your warehouse Shipping Unit code (i.e. Carton_12X or CHEP_Pallet)

Lengthfloat
M
-BOTHLength of item in centimetres (cm).
ModifiedByint
O
-OUTPUT
NoItemsint
M
1BOTH

Because the representation of each item must be declared in a ConsignmentItem element, this field must always have the value of '1'.

Multiple items of the same type must be declared in separate ConsignmentItem elements.

PackagingTypestring
M
20BOTHShould be one of the available packaging types in OneFlo. Shipping Items - Packaging Type.
Palletisedboolean
O
-BOTHNon-mandatory, please see Packaging Type.
ProductIDintO-BOTH
ReferencestringO20BOTHItem Reference associated to the order. This is useful for consolidated items where items need to be identified into which particular order it's under. This can also be used to indicate specifically which references are associated to the shipping unit.
ReturnablestringO20BOTH
VolumefloatM-BOTHCubic metres (m3). Up to 3 decimal places.
WeightfloatM-BOTHWeight of the item in kilograms (kg).
WidthfloatM-BOTHWidth of item in centimetres (cm).




Address


Type
INPUT / RESPONSE
Useful forCreating and releasing consignments
Used inSaveConsignment


The address field defines the structure of the address entity in the OneFlo database. This address entity is used as components of the Consignment element via its Sender and Receiver elements.

XSD

<xs:complexType name="Address">
	<xs:sequence>
		<xs:element minOccurs="0" name="AccountID" type="xs:int"/>
		<xs:element minOccurs="0" name="AddressID" type="xs:int"/>
		<xs:element minOccurs="0" name="AddressLocation" nillable="true" type="tns:Location"/>
		<xs:element minOccurs="0" name="ATL" type="xs:boolean"/>
		<xs:element minOccurs="0" name="ContactName" nillable="true" type="xs:string"/>
		<xs:element minOccurs="0" name="Email" nillable="true" type="xs:string"/>
		<xs:element minOccurs="0" name="Exception" nillable="true" type="tns:SaveException"/>
		<xs:element minOccurs="0" name="Fax" nillable="true" type="xs:string"/>
		<xs:element minOccurs="0" name="Line1" nillable="true" type="xs:string"/>
		<xs:element minOccurs="0" name="Line2" nillable="true" type="xs:string"/>
		<xs:element minOccurs="0" name="Line3" nillable="true" type="xs:string"/>
		<xs:element minOccurs="0" name="LocationDetails" nillable="true" type="tns:Location"/>
		<xs:element minOccurs="0" name="LocationID" type="xs:int"/>
		<xs:element minOccurs="0" name="ModifiedBy" type="xs:int"/>
		<xs:element minOccurs="0" name="Name" nillable="true" type="xs:string"/>
		<xs:element minOccurs="0" name="Phone" nillable="true" type="xs:string"/>
		<xs:element minOccurs="0" name="State" nillable="true" type="xs:string"/>
		<xs:element minOccurs="0" name="Suburb" nillable="true" type="xs:string"/>
	</xs:sequence>
</xs:complexType>
<xs:element name="Address" nillable="true" type="tns:Address"/>

Elements

ElementTypeMandatory / OptionalLengthComments
AccountIDint
M
-Owner of this address entity in the OneFlo database.
AddressIDint
O
-The record ID of this address entity.
ATLboolO-1/0 : Indicates if the receiver allows ATL (Authority to Leave), when a carrier is allowed to leave the parcel/freight without signature.
Namestring
M
50Entity or Company name. Could be the name of the person receiving the freight.
Line1string
M
30First line of the address. Must be provided so it appears on the label + postback.
Line2string
O
30Additional line, when required. Will appear on label + postback.
Line3string
O
30Extra line. Most carrier labels don't render this.
LocationIDint
M
-

LocationID in the OneFlo database. LocationID can be retrieved from the ValidateLocation API.

BEST PRACTICE: If known and provided, no need to define the AddressLocation and LocationDetails of this Address and providing this is more accurate than using AddressLocation or LocationDetails

ContactNamestring
M
20Name of person / contact for this address entity. Will appear on label.
Phonestring
O
15Phone number of contact. Will appear on Label.
Emailstring
O
50Email address of contact. When populated in Consignment.Receiver, this will be used to deliver ASNs.
Faxstring
O
15
AddressLocationLocation
O
0...1No need to define this element if the LocationID or LocationDetails element is provided.
LocationDetailsLocation
O
0...1No need to define this element if the LocationID or AddressLocation element is provided.
ModifiedByint
M
-UserID as defined in the session.
Statestring
O
5Not recommended for use.
Suburbstring
O
50Not recommended for use.
ExceptionSaveException
O
-Output. Provides detail on the result if there is an error with the data provided.

Legend:

MandatoryDetermine if the element is required when using this ComplexType.
M
Element must be declared.
O
Element may be omitted.
DirectionDetermine when the element is used.
BOTH
Provided as both input and response from the Web Service
OUTPUT
Only provided as a response from Web Service



ServicePricing

Type
RESPONSE Only
Useful forConsignment Creation / Modification
Used inGetChargeQuote

Service pricing is the result of a quote request. This defines the available services given a quoted freight profile. Please refer to the GetChargeQuote* API calls

XSD

<xs:complexType name="ServicePricing">
	<xs:sequence>
		<xs:element minOccurs="0" name="CalculatedSUType" nillable="true" type="xs:string"/>
		<xs:element minOccurs="0" name="CarrierID" type="xs:int"/>
		<xs:element minOccurs="0" name="CarrierName" nillable="true" type="xs:string"/>
		<xs:element minOccurs="0" name="CarrierService" nillable="true" type="xs:string"/>
		<xs:element minOccurs="0" name="ETA" nillable="true" type="xs:string"/>
		<xs:element minOccurs="0" name="FeesCharge" type="xs:decimal"/>
		<xs:element minOccurs="0" name="FreightCharge" type="xs:decimal"/>
		<xs:element minOccurs="0" name="ID" type="xs:int"/>
		<xs:element minOccurs="0" name="NetCharge" type="xs:decimal"/>
		<xs:element minOccurs="0" name="RateID" type="xs:int"/>
		<xs:element minOccurs="0" name="ServiceName" nillable="true" type="xs:string"/>
		<xs:element minOccurs="0" name="ShipperService" nillable="true" type="xs:string"/>
		<xs:element minOccurs="0" name="TaxCharge" type="xs:decimal"/>
		<xs:element minOccurs="0" name="TotalCharge" type="xs:decimal"/>
		<xs:element minOccurs="0" name="WebDescription" nillable="true" type="xs:string"/>
		<xs:element minOccurs="0" name="ZoneFrom" nillable="true" type="xs:string"/>
		<xs:element minOccurs="0" name="ZoneTo" nillable="true" type="xs:string"/>
	</xs:sequence>
</xs:complexType>
<xs:element name="ServicePricing" nillable="true" type="tns:ServicePricing"/>

Elements

ElementTypeMandatory / OptionalLengthComments
CalculatedSUTypestring--If the rate in the system is calculated against a Shipping Unit type, this is represented as a CalculatedSUType.
CarrierIDint--ID of the carrier in OneFlo.
CarrierNamestring--Full name of the carrier in OneFlo.
CarrierServicestring--Carrier side service
ETAstring--Estimated Delivery Date as provided by the carrier for the lane. OneFlo must have this information before it's provided.
FeesChargedecimal--Freight Fees
FreightChargedecimal--Freight charge
IDint--Not used.
NetChargedecimal--Net freight charge
RateIDint--OneFlo Rate ID
ServiceNamestirng--OneFlo full service name.
ShipperServicestring--OneFlo carrier service code. This is the code to be provided as a Service when creating/modifying the Consignment object.
TaxChargedecimal--GST
TotalChargedecimal--NetCharge + GST
WebDescriptionstring--OneFlo Service Description
ZoneFromstring--OneFlo carrier Zone source
ZoneTostring--OneFlo carrier Zone destination

Example

            <ServicePricing>
               <CalculatedSUType>FP</CalculatedSUType>
               <CarrierID>102958</CarrierID>
               <CarrierName>Hi-Trans Express Pty Ltd</CarrierName>
               <CarrierService>G</CarrierService>
               <ETA/>
               <FeesCharge>25.5400</FeesCharge>
               <FreightCharge>150.1600</FreightCharge>
               <ID>0</ID>
               <NetCharge>175.7000</NetCharge>
               <RateID>10702459</RateID>
               <ServiceName>Hi Trans General Service</ServiceName>
               <ShipperService>HITRANG</ShipperService>
               <TaxCharge>17.5700</TaxCharge>
               <TotalCharge>193.2700</TotalCharge>
               <WebDescription>Hi-Trans General</WebDescription>
               <ZoneFrom>MEL</ZoneFrom>
               <ZoneTo>NS6S</ZoneTo>
            </ServicePricing>