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:
Mandatory | Determine if the element is required when using this ComplexType. | |
---|---|---|
M | Element must be declared. | |
O | Element may be omitted. | |
Direction | Determine 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 for | Creating and releasing consignments |
Used in | SaveConsignment |
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
<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
Element | Type | Mandatory / Optional | Length | Direction | Comments |
---|---|---|---|---|---|
AccountID | int | M | - | BOTH | AccountID retrieved from Session. |
AllowConsolidation | bool | 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. |
CloseAt | Time | 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. |
ConsignmentDate | DateTime | M | - | BOTH | Date of the creation of the consignment. |
ConsignmentID | long | O | - | BOTH | ID of the record in the OneFlo database. Not required on creation. When updating an existing consignment, provide the ConsignmentID. |
ConsignmentItems | ConsignmentItem[] | M | 1...n | BOTH | Details the items included in the consignment. |
ConsignmentNote | string | 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. |
ConsignmentType | string | O | - | BOTH | Indicates the consignment movement: Populate with "Pickup" for Outbound; "Return" for returns; and, "Transfer" for transfers. |
ConsolidatedSus | ConsolidateConsignment[] | O | - | OUTPUT | Not recommended for use. |
ContainingConsignment | long | O | - | OUTPUT | Not recommended for use. |
DeliveryInstructions | string | 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). |
Description | string | O | 30 | BOTH | Description of Consignment. Won't appear on labels. |
DistributorID | int | M | - | BOTH | DistributorID retrieved from Session. |
DownloadID | int | O | - | OUTPUT | Not recommended for use. |
Exception | SaveException | O | - | OUTPUT | Output. Provides detail on the result if there is an error with the data provided. |
Ext | ConsignmentsExt | O | 0...1 | BOTH | Additional information for a consignment. |
ExtraInfo | string | O | - | OUTPUT | Not recommended for use. |
Hours | float | O | - | BOTH | Default 0. |
ModifiedBy | int | M | - | BOTH | UserID as defined in the session. |
NoItems | short | O | - | OUTPUT | Item Count Summary for the consignment. Computed from the data provided in ConsignmentItems. |
OnForwarder | int | O | - | BOTH | Not required when Service is provided. |
PickupInstructions | string | 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. |
Receiver | Address | M | 1 | BOTH | Details of the receiver of the freight. |
Reference | string | O | 20 | BOTH | Stores the primary business reference (i.e. Sales Order Number, Pick Number, etc) |
References | Reference[] | O | 0...n | BOTH | Additional References. |
Released | DateTime | 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. |
Sender | Address | M | 1 | BOTH | Details of the sender of the freight. |
Service | string | M | 10 | BOTH | Service for use. Must be a service defined in OneFlo as retrieved from the ShipperService Element of the ServicePricing. |
SessionID | long | O | - | OUTPUT | Not recommended for use. |
SpecialInstructions | string | 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). |
Volume | float | O | - | OUTPUT | Total Consignment Volume in cubic metres. Computed from the data provided in ConsignmentItems. |
Weight | float | 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 for | Creating and releasing consignment items within consignments |
Used in | SaveConsignment / 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
<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
Element | Type | Mandatory / Optional | Length | Direction | Comments |
---|---|---|---|---|---|
Barcode | string | O | - | BOTH | This is the SSCC barcode. If no SSCC is provided, OneFlo will generate a barcode for you. |
ConsignmentID | long | O | - | BOTH | ID of the record in the OneFlo database. Not required on creation. When updating an existing consignment, provide the ConsignmentID. |
ConsignmentProduct | Product | O | - | BOTH | This is a complex type for the definition of Dangerous Goods. |
Description | string | O | 40 | BOTH | A description of the goods being shipped. |
ExchangeReturnable | boolean | O | - | OUTPUT | |
Height | float | M | - | BOTH | Height of item in centimetres (cm). |
ItemNo | int | 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 |
ItemType | string | M | 20 | BOTH | Item Code - could be your warehouse Shipping Unit code (i.e. Carton_12X or CHEP_Pallet) |
Length | float | M | - | BOTH | Length of item in centimetres (cm). |
ModifiedBy | int | O | - | OUTPUT | |
NoItems | int | M | 1 | BOTH | 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. |
PackagingType | string | M | 20 | BOTH | Should be one of the available packaging types in OneFlo. Shipping Items - Packaging Type. |
Palletised | boolean | O | - | BOTH | Non-mandatory, please see Packaging Type. |
ProductID | int | O | - | BOTH | |
Reference | string | O | 20 | BOTH | Item 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. |
Returnable | string | O | 20 | BOTH | |
Volume | float | M | - | BOTH | Cubic metres (m3). Up to 3 decimal places. |
Weight | float | M | - | BOTH | Weight of the item in kilograms (kg). |
Width | float | M | - | BOTH | Width of item in centimetres (cm). |
Address
Type | INPUT / RESPONSE |
---|---|
Useful for | Creating and releasing consignments |
Used in | SaveConsignment |
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
Element | Type | Mandatory / Optional | Length | Comments |
---|---|---|---|---|
AccountID | int | M | - | Owner of this address entity in the OneFlo database. |
AddressID | int | O | - | The record ID of this address entity. |
ATL | bool | O | - | 1/0 : Indicates if the receiver allows ATL (Authority to Leave), when a carrier is allowed to leave the parcel/freight without signature. |
Name | string | M | 50 | Entity or Company name. Could be the name of the person receiving the freight. |
Line1 | string | M | 30 | First line of the address. Must be provided so it appears on the label + postback. |
Line2 | string | O | 30 | Additional line, when required. Will appear on label + postback. |
Line3 | string | O | 30 | Extra line. Most carrier labels don't render this. |
LocationID | int | 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 |
ContactName | string | M | 20 | Name of person / contact for this address entity. Will appear on label. |
Phone | string | O | 15 | Phone number of contact. Will appear on Label. |
string | O | 50 | Email address of contact. When populated in Consignment.Receiver, this will be used to deliver ASNs. | |
Fax | string | O | 15 | |
AddressLocation | Location | O | 0...1 | No need to define this element if the LocationID or LocationDetails element is provided. |
LocationDetails | Location | O | 0...1 | No need to define this element if the LocationID or AddressLocation element is provided. |
ModifiedBy | int | M | - | UserID as defined in the session. |
State | string | O | 5 | Not recommended for use. |
Suburb | string | O | 50 | Not recommended for use. |
Exception | SaveException | O | - | Output. Provides detail on the result if there is an error with the data provided. |
Legend:
Mandatory | Determine if the element is required when using this ComplexType. | |
---|---|---|
M | Element must be declared. | |
O | Element may be omitted. | |
Direction | Determine 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 for | Consignment Creation / Modification |
Used in | GetChargeQuote |
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
Element | Type | Mandatory / Optional | Length | Comments |
---|---|---|---|---|
CalculatedSUType | string | - | - | If the rate in the system is calculated against a Shipping Unit type, this is represented as a CalculatedSUType. |
CarrierID | int | - | - | ID of the carrier in OneFlo. |
CarrierName | string | - | - | Full name of the carrier in OneFlo. |
CarrierService | string | - | - | Carrier side service |
ETA | string | - | - | Estimated Delivery Date as provided by the carrier for the lane. OneFlo must have this information before it's provided. |
FeesCharge | decimal | - | - | Freight Fees |
FreightCharge | decimal | - | - | Freight charge |
ID | int | - | - | Not used. |
NetCharge | decimal | - | - | Net freight charge |
RateID | int | - | - | OneFlo Rate ID |
ServiceName | stirng | - | - | OneFlo full service name. |
ShipperService | string | - | - | OneFlo carrier service code. This is the code to be provided as a Service when creating/modifying the Consignment object. |
TaxCharge | decimal | - | - | GST |
TotalCharge | decimal | - | - | NetCharge + GST |
WebDescription | string | - | - | OneFlo Service Description |
ZoneFrom | string | - | - | OneFlo carrier Zone source |
ZoneTo | string | - | - | 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>