You are on page 1of 177

SHIPMENT SERVER XML PROGRAMMING INFORMATION

Version 6.0.0

SHIPMENT SERVER XML PROGRAMMING INFORMATION


Version 6.0.0
Copyright 2007 Agile-Network LLC. All Rights Reserved.
The technical documentation is being delivered to you as-is and Agile-Network LLC makes
no warranty as to its accuracy or use. Any use of the technical documentation or the
information contained therein is at the risk of the user. Documentation may include
technical or other inaccuracies or typographical errors. Agile-Network LLC reserves the
right to make changes without prior notice.

Copyright Notice
Any technical documentation that is made available by Agile-Network LLC is the
copyrighted work of Agile-Network LLC and is owned by Agile-Network LLC.
No part of this publication may be copied without the express written permission of AgileNetwork LLC.

AgileElite Distributed by:


Agile-Network, LLC
Offices Nationwide
1-866-686-2445
Visit our website at:
www.agile-network.com

Contents

PIERBRIDGE SHIPMENT SERVER XML INTERFACE ............................ 5


INTERFACE OVERVIEW ..................................................................................................... 5

GENERAL PROGRAMMING INFORMATION ......................................... 8


TRANSACTIONS ............................................................................................................... 8
COMMUNICATION ............................................................................................................. 8
XML............................................................................................................................... 8
XSD............................................................................................................................... 9
DATA TYPES ................................................................................................................... 9

RATE PROGRAMMING INFORMATION .............................................. 11


XML REQUEST ..............................................................................................................11
XML RESPONSE ............................................................................................................23
BASIC PACKAGE .............................................................................................................26
INTERNATIONAL ..............................................................................................................27

RATE SHOP PROGRAMMING INFORMATION .................................... 29


XML REQUEST ..............................................................................................................29
XML RESPONSE ............................................................................................................41
BASIC PACKAGE .............................................................................................................44
INTERNATIONAL ..............................................................................................................46

SHIP PROGRAMMING INFORMATION ............................................... 48


XML REQUEST ..............................................................................................................48
XML RESPONSE ............................................................................................................74
BASIC PACKAGE .............................................................................................................81
INTERNATIONAL ..............................................................................................................83

MULTIPACK PROGRAMMING INFORMATION .................................... 85


XML REQUEST ..............................................................................................................85
XML RESPONSE ..........................................................................................................103
BASIC PACKAGE ...........................................................................................................105
INTERNATIONAL ............................................................................................................106

CLEAR PACKAGE PROGRAMMING INFORMATION .......................... 108


XML REQUEST ............................................................................................................108
XML RESPONSE ..........................................................................................................109
BASIC PACKAGE ...........................................................................................................110

VOID PROGRAMMING INFORMATION ............................................ 111


XML REQUEST ............................................................................................................111
XML RESPONSE ..........................................................................................................113
BASIC PACKAGE ...........................................................................................................114

Contents

TRACK PROGRAMMING INFORMATION ......................................... 115


XML REQUEST ............................................................................................................115
XML RESPONSE ..........................................................................................................117
BASIC PACKAGE ...........................................................................................................120

SERVER CONFIGURATION PROGRAMMING INFORMATION .............. 121


XML REQUEST ............................................................................................................121
XML RESPONSE ..........................................................................................................122
EXAMPLE .....................................................................................................................128

PRINT PROGRAMMING INFORMATION ........................................... 133


XML REQUEST ............................................................................................................133
XML RESPONSE ..........................................................................................................136
RE-PRINT A PACKAGE LABEL ........................................................................................138
RE-PRINT ALL INTERNATIONAL DOCUMENTATION FOR A SHIPMENT .................................139

RETURN PROGRAMMING INFORMATION ....................................... 140


XML REQUEST ............................................................................................................140
XML RESPONSE ..........................................................................................................152
BASIC PACKAGE ...........................................................................................................155

END OF DAY LIST PROGRAMMING INFORMATION ......................... 157


XML REQUEST ............................................................................................................157
XML RESPONSE ..........................................................................................................158
EXAMPLE .....................................................................................................................160

END OF DAY ACTION PROGRAMMING INFORMATION .................... 161


XML REQUEST ............................................................................................................161
XML RESPONSE ..........................................................................................................163
EXAMPLE .....................................................................................................................165

APPENDICES .............................................................................. 166


APPENDIX A REFERENCE TABLES ...............................................................................166
APPENDIX B LIMITATIONS BY VERSION ........................................................................177

Pierbridge Shipment Server XML Interface

PIERBRIDGE SHIPMENT SERVER XML INTERFACE


The Pierbridge Shipment Server provides an XML interface that allows third party
developers to perform shipping functionality, such as ship, multipack, and void.
The aim of this document is to provide guidelines and examples to enable a third party
developer to integrate the Pierbridge Shipment Server into their own solution through the
use of this interface.

INTERFACE OVERVIEW
The Pierbridge Shipment Server, through its XML interface, provides the ability to ship
items using well-known organizations such as DHL, FedEx, UPS, and USPS.
Most of the standard services offered by these organizations, such as Express and Ground
services, insurance, and signature release are offered.
Furthermore, standard, international, and LTL (Less Than Load) shipping are catered for.
A full suite of printed shipping labels and documentation can be produced through the
interface. Material such as labels, Commercial Invoices, Certificate of Origins, and Bill of
Ladings are automatically generated from the information passed to the interface.
A number of interfaces can be used to perform various shipping operations:

Rate. This is the interface for determining the costs and time to deliver items
to a receiver.
It allows you to specify details such as carrier and service required, receiver,
and package details such as dimensions and weight. Any special services, e.g.
insurance or COD (Collect-On-Delivery) can also be specified.
It returns information about the estimated rates, such as costs and commitment
level (i.e. how long the items will take to reach the receiver).
For more information on this interface see section Rate Programming
Information.

Rate Shop. This is the interface for comparing the costs and time to deliver
items to a receiver.
It allows you to specify details such as receiver and package details such as
dimensions and weight. Any special services, e.g. insurance or COD (Collect-OnDelivery) can also be specified.
It differs from the rate interface in that it returns information about the
estimated rates, such as costs and commitment level (i.e. how long the items
will take to reach the receiver) for a number of carriers and services, rather
than just a single carrier and service.
For more information on this interface see section Rate Shop Programming
Information.

Ship. This is the interface for shipping single packages via domestic,
international, or LTL services.

Pierbridge Shipment Server XML Interface

It allows you to specify details such as carrier and service required, receiver,
and package details such as dimensions and weight. Any special services, e.g.
insurance or COD (Collect-On-Delivery) can also be specified.
It returns information about the shipment, such as costs, commitment level (i.e.
how long the items will take to reach the receiver), and a tracking number.
It also produces and prints any labels or documents that are required.
For more information on this interface see section Ship Programming
Information.

Multipack. This is the interface for adding packages to the system to prepare
for a multipack rate, ship or rate shop via domestic, international, or LTL
services.
This interface adds one package to the system each time it is called. When the
rate, rate shop or ship is to be performed then the Rate, Rate Shop or Ship
interface is called. This rates or ships all the packages added using this
interface plus the package submitted to the Rate, Rate Shop or Ship interface.
For more information on this interface see section Multipack Ship Programming
Information.

Clear. This is the interface for clearing packages from the system that have
been added erroneously.
It sometimes happens that when a multipack rate or ship is submitted an error
will be found on one or more of the packages in the shipment. A single call to
this interface clears all packages in the system that have been added, but not
shipped, by a particular user.
For more information on this interface see section Clear Package Programming
Information.

Void. Occasionally you may decide that a package that has already been
shipped needs to be cancelled. This interface allows you to do this.
For more information on this interface see section Void Programming
Information.

Track. This is the interface for tracking packages that have been shipped.
It returns information about the package, such as past and current geographic
locations, and dates and times the package was at that location.
For more information on this interface see section Track Programming
Information.

Server Configuration. This is the interface for finding out the Shipment Servers
current configuration.
It returns information such as a list of supported carriers, their services and
packages, label and document types, and rate shop groups.
For more information on this interface see section Server Configuration
Programming Information.

Print. This is the interface for re-printing shipping-related labels and


documentation.

Pierbridge Shipment Server XML Interface

For more information on this interface see section Print Programming


Information.

Return. This is the interface for generating return shipments, which allow the
original receiver of goods to return them to you.
It allows you to specify details such as carrier and service required, the
returner, and package details such as dimensions and weight. Any special
services, e.g. insurance, can also be specified.
It returns information about the shipment, such as a tracking number.
It also produces and prints any labels that are required.
Return service is only available for Airborne and ConnectShip (UPS) carriers.
For more information on this interface see section Return Programming
Information.

End Of Day List Manifests. This is the interface for listing the currently open
manifests.
It allows you to specify the carrier you want to list open manifests for.
It returns a list of manifests for the specified carrier that can be actioned (using
the End Of Day Action interface).
End Of Day is only applicable to on-site shipping systems such as ConnectShip,
FSMS and ProShip.
For more information on this interface see section End Of Day List Programming
Information.

End Of Day Action. This is the interface for actioning a currently open manifest.
It allows you to specify the carrier, ship date and identifier of the manifest that
you want to action. This information is typically gathered by using the End Of
Day List Manifests interface.
It returns whether the actioning has succeeded and (dependent on Shipment
Server configuation) any manifest documentation that was produced.
End Of Day is only applicable to on-site shipping systems such as ConnectShip,
FSMS and ProShip.
For more information on this interface see section End Of Day Action
Programming Information.

General Programming Information

GENERAL PROGRAMMING INFORMATION


In this section we provide general information on how to how to integrate the Pierbridge
Shipment Server XML interface into your application.
To integrate the Pierbridge Shipment Server XML interface into your applications, you
must develop bespoke code that adapts your applications logic and data to that required
by the interface.
You can use any programming language that supports HTTP communication and XML.

TRANSACTIONS
The interfaces are transactional in that each request made to any interface stimulates a
matching response.
If needed, the request XML allows you to supply a transaction identifier, which is any
value that can be inserted into an XML element. This identifier can be used to match
requests with their responses.

COMMUNICATION
All interactions with the interfaces are through the HTTP POST method. The HTTP
message content is formatted as an XML document.
The HTTP connection should be made to the following URL:
http://localhost/Shipment Services/XmlService.aspx
This assumes that the XML will be POSTed on the same machine as the HTTP server. If this
is not the case, localhost must be changed to the HTTP server machines name or IP
address.
The content type for the connection should be: application/x-www-form-urlencoded
The XML request should be URL-encoded and POSTed without any form variable.

XML
The interfaces expect information to be passed to and from them in an XML format.
It is not our intention to provide a primer on XML here. It is assumed the reader has the
required knowledge.
Information on XML can be found at:
http://www.w3.org/XML

General Programming Information

XSD
The format of the XML that the interfaces expect is in this document and in the XSD files
that accompany this document.
It is not our intention to provide a primer on XSD here. It is assumed the reader has the
required knowledge.
Information on XSD can be found at:
http://www.w3.org/XML/Schema
It should be noted that not every element in the accompanying XSDs are detailed in the
following sections. These non-documented elements are used to integrate the interfaces
into other Agile products and should not be used by a third party.
The elements in the XSDs have a number of bespoke attributes that are used in Agiles
own products. Their purpose is to provide a user-friendly interface to the XSDs contents.

Attribute

Description

pb:displayname

A textual description of the element.

pb:tooltip

Extra informative text that is displayed in a tooltip bubble if the


users mouse hovers over an element.

pb:group

Groups enable the user to view only those elements that are somehow
related.
For example, an international group contains all the elements that
are needed when doing international rating or shipping.
Each element can belong to zero or more groups.

DATA TYPES
Each element specified in this document and the accompanying XSDs expect a certain type
of data. We describe these below.

Data Type

Description

Boolean

Used to represent logical true and false.


The acceptable values for such a field are True or False.

Container

This type of element has no data associated with it; it simply acts as a
parent element for zero or more child elements.
So, no values should be entered into this type of element.

General Programming Information

Date

10

Used to represent date data. The ISO format yyyy-mm-dd should be


used.
The acceptable values for such a field are e.g. 2007-12-31.

Float

Used to represent numeric data that has a decimal point. These are
typically used for monetary and dimensional values.
The acceptable values for such a field are e.g. 2.7 or 10.

Integer

Used to represent numeric data that has no decimal point. These are
typically used to identify e.g. carriers or service types.
The acceptable values for such a field are e.g. 1 or 102.

String

Used to represent alphanumeric data or any kind. These are typically


used for e.g. address information or descriptions.
The acceptable values for such a field are e.g. The White House or
202-456-1414.

Time

Used to represent time data. The format hh:mm or hh:mm:ss should


be used. The second part maybe omitted. A 24-hour clock is assumed.
The acceptable values for such a field are e.g. 10:21:05 or 23:04.

DateTime

Used to represent a combined date and time data. The format is a


combination of the Date and Time formats described above. So, the
ISO format should be used for the date and hh:mm or hh:mm:ss for
time. The date and time should be separated by a single space
character.
The time part can be ommited.
The acceptable values for such a field are e.g. 2007-12-31 10:21:05 or
2007-12-31.

Rate Programming Information

11

RATE PROGRAMMING INFORMATION


This interface allows you to rate items.
In the XML request you specify information such as the carrier (e.g. FedEx, UPS) you want
to rate for, the receiver, item details such as weight and dimensions, and any special
services required (e.g. collect-on-delivery or insurance).
The XML response will indicate whether your request has succeeded. If it hasnt then an
indication of what went wrong will be provided. If it was successful then information such
as shipping charges and time to deliver will be returned.

XML REQUEST
The request XML document must adhere to the following structure.

Element (XPath)

Required/

Type

Description

Container

Root element.

String

Used to synchronize request/response


pairs.

Cardinality
PierbridgeRateRequest

Yes
One

PierbridgeRateRequest/

No

TransactionIdentifier

Zero or One

It can contain any valid XML element


content and is echoed back in the
response.
PierbridgeRateRequest/

No

Live

Zero or One

Boolean

Indicates whether the rate is a test or


not.
Omit the element if the rate is a test one,
else set to True.

PierbridgeRateRequest/

No

CloseShipment

Zero or One

Boolean

Indicates whether this rate is to instigate


a multipack rate.
Omit the element if a multipack rate is
not required, else set to True.
See section Mulitpack Programming
Information for details on multipack rate
and ship.

PierbridgeRateRequest/

Yes

Carrier

One

Integer

The numeric identifier of the carrier


(e.g. FedEx, UPS) who is to be rated for.
See Appendix A for valid values.

PierbridgeRateRequest/

Yes

ServiceType

One

Integer

The numeric identifier of the carrier


service (e.g. Next Day, Ground, Express)
that is to be rated for.
See Appendix A for valid values.

Rate Programming Information

PierbridgeRateRequest/

Yes

ShipDate

One

Date

The date that the items are intended to


be shipped.
Defaults to current date if left blank.

PierbridgeRateRequest/

No

RequiredDate

Zero or One

PierbridgeRateRequest/

No

SaturdayDelivery

Zero or One

DateTime

The date/time that the items are required


to arrive at the receiver.

Boolean

Indicates whether the shipment is to be


delivered on a Saturday.
Omit the element if a Saturday delivery is
not required, else set to True.
Most carriers levy an extra charge for this
option.

PierbridgeRateRequest/

No

Location

Zero or One

Integer

Overrides the sender's default location to


allow rating from any location.
Must be a value from the Locations.[ID]
column in the Pierbridge Shipment Server
database.

PierbridgeRateRequest/

No

AccountID

Zero or One

Integer

Overrides the sender's account to allow


rating using any account.
Must be a value from the Accounts.[ID]
column in the Pierbridge Shipment Server
database.

PierbridgeRateRequest/

Yes

Receiver

One

PierbridgeRateRequest/

No

Receiver/

Zero or One

Container

Parent element for Receiver address


elements.

String

The name of the company the shipment is


to be shipped to.

String

The first line of the address the shipment


is to be shipped to.

String

The second line of the address the


shipment is to be shipped to.

String

The third line of the address the shipment


is to be shipped to.

String

The city the shipment is to be shipped to.

CompanyName
PierbridgeRateRequest/

No

Receiver/

Zero or One

Street
PierbridgeRateRequest/

No

Receiver/

Zero or One

Locale
PierbridgeRateRequest/

No

Receiver/

Zero or One

Other
PierbridgeRateRequest/

Yes

Receiver/

One

City

12

Rate Programming Information

PierbridgeRateRequest/

Yes

Receiver/

One

String

The region the shipment is to be shipped


to.
If in the US, the two-letter state code
should be used, e.g. MA.

Region

The Pierbridge Shipment Server can be


configured to translate any value, e.g.
Massachusetts or Mass. into the
required code.
PierbridgeRateRequest/

Yes

Receiver/

One

String

The postal or zip code the shipment is to


be shipped to.

String

The country the shipment is to be shipped


to.

PostalCode
PierbridgeRateRequest/

Yes

Receiver/

One

The standard two-letter country codes


should be used, e.g. US or CA.

Country

The Pierbridge Shipment Server can be


configured to translate any value, e.g.
USA or United States into the required
code.
PierbridgeRateRequest/

No

Receiver/

Zero or One

Boolean

Indicates whether the address to be


shipped to is a residential one.
Omit the element if it is not a residential
address, else set to True.

Residential
PierbridgeRateRequest/

No

International

Zero or One

PierbridgeRateRequest/

No

International/

Zero or One

Container

Parent element for shipment-level


international shipping elements.

String

The transaction number associated with


the filing of a Shippers Export
Declaration for the shipment.

Container

Parent element for packages elements.

Container

Parent element for a package element.

Integer

Indicates the number of additional copies


of the package that are to be shipped.

AESTransactionNumber
PierbridgeRateRequest/

Yes

Packages

One

PierbridgeRateRequest/

Yes

Packages/

One

Package
PierbridgeRateRequest/

No

Packages/

Zero or One

Package/
Copies

Defaults to zero additional copies if


omitted.

13

Rate Programming Information

PierbridgeRateRequest/

No

Packages/

Zero or One

String

The name of the person the package is to


be shipped to.
This element is provided at this level,
rather than the shipment-level, as
packages may require the attention of
different people at the same address.

Package/
ReceiverName
PierbridgeRateRequest/

No

Packages/

Zero or One

String

The telephone number of the person the


package is to be shipped to.
This element is provided at this level,
rather than the shipment-level, as
packages may require the attention of
different people at the same address.

Package/
ReceiverPhone
PierbridgeRateRequest/

Yes

Packages/

One

Integer

Package/

The numeric identifier for the type of


package the items to be shipped are
contained in.
See Appendix A for valid values.

PackageType
PierbridgeRateRequest/

Yes

Packages/

One

Float

The weight of the package.


The units (e.g. pound or kilogram) are
determined by the configuration of the
Pierbridge Shipment Server.

Package/
Weight
PierbridgeRateRequest/

No

Packages/

Zero or One

Integer

The length of the package.


The units (e.g. inch or centimeter) are
determined by the configuration of the
Pierbridge Shipment Server.

Package/
Length
PierbridgeRateRequest/

No

Packages/

Zero or One

Integer

The width of the package.


The units (e.g. inch or centimeter) are
determined by the configuration of the
Pierbridge Shipment Server.

Package/
Width
PierbridgeRateRequest/

No

Packages/

Zero or One

Integer

The height of the package.


The units (e.g. inch or centimeter) are
determined by the configuration of the
Pierbridge Shipment Server.

Package/
Height
PierbridgeRateRequest/

No

Packages/

Zero or One

Package/
ContentDescription

String

Description of the package's contents.

14

Rate Programming Information

PierbridgeRateRequest/

No

Packages/

Zero or One

Container

Parent element for information about


Insurance.
If insurance is not required for this
package, then omit this element and its
children.

Package/
Insurance
PierbridgeRateRequest/

No

Packages/

Zero or One

Integer

This value should be set to 1 if insurance


is required.

Float

The value the package is to be insured


for.

Package/
Insurance/
Type
PierbridgeRateRequest/

No

Packages/

Zero or One

The units (e.g. USD or CAD) are


determined by the configuration of the
Pierbridge Shipment Server.

Package/
Insurance/
Value
PierbridgeRateRequest/

No

Packages/

Zero or One

Container

Parent element for information about


Collect On Delivery (COD).
If COD is not required for this package,
then omit this element and its children.

Package/
COD
PierbridgeRateRequest/

No

Packages/

Zero or One

Integer

The numeric identifier for the type of


Collect On Delivery.
See Appendix A for valid values.

Package/
COD/
Type
PierbridgeRateRequest/

No

Packages/

Zero or One

Float

The value that is to be collected by the


carrier when this package is delivered.
The units (e.g. USD or CAD) are
determined by the configuration of the
Pierbridge Shipment Server.

Package/
COD/
Value
PierbridgeRateRequest/

No

Packages/

Zero or One

Package/
Hold

Boolean

Indicates whether the package should be


held for collection at a carriers depot or
some other location.
Omit this element if the package is not to
be held, else set to True.

15

Rate Programming Information

PierbridgeRateRequest/

No

Packages/

Zero or One

Container

Package/

Parent element for information about the


individual or organization who is to hold
the package for collection.
If holder information is not required for
this package, then omit this element and
its children.

Holder
PierbridgeRateRequest/

No

Packages/

Zero or One

String

The name of the individual who is to hold


the package for collection.

String

The name of the company where the


package is to be held for collection.

String

The first line of the address where the


package is to be held for collection.

String

The second line of the address where the


package is to be held for collection.

String

The third line of the address where the


package is to be held for collection.

String

The city where the package is to be held


for collection.

Package/
Holder/
Name
PierbridgeRateRequest/

No

Packages/

Zero or One

Package/
Holder/
CompanyName
PierbridgeRateRequest/

No

Packages/

Zero or One

Package/
Holder/
Street
PierbridgeRateRequest/

No

Packages/

Zero or One

Package/
Holder/
Locale
PierbridgeRateRequest/

No

Packages/

Zero or One

Package/
Holder/
Other
PierbridgeRateRequest/

No

Packages/

Zero or One

Package/
Holder/
City

16

Rate Programming Information

PierbridgeRateRequest/

No

Packages/

Zero or One

String

The region where the package is to be


held for collection
If in the US, the two-letter state code
should be used, e.g. MA.

Package/
Holder/

The Pierbridge Shipment Server can be


configured to translate any value, e.g.
Massachusetts or Mass. into the
required code.

Region

PierbridgeRateRequest/

No

Packages/

Zero or One

String

The postal or zip code where the package


is to be held for collection.

String

The country where the package is to be


held for collection.

Package/
Holder/
PostalCode
PierbridgeRateRequest/

No

Packages/

Zero or One

The standard two-letter country codes


should be used, e.g. US or CA.

Package/
Holder/

The Pierbridge Shipment Server can be


configured to translate any value, e.g.
USA or United States into the required
code.

Country

PierbridgeRateRequest/

No

Packages/

Zero or One

String

The phone number of the individual who


is to hold the package for collection.

Boolean

Indicates that extra handling measures


are required when loading the package.

Package/
Holder/
Phone
PierbridgeRateRequest/

No

Packages/

Zero of One

Omit this element if the package does not


require additional handling, else set to
True.

Package/
AdditionalHandling

PierbridgeRateRequest/

No

Packages/

Zero of One

Integer

The numeric identifier for the packages


oversize status.

Package/

Omit this element if the package is not


oversize.

Oversize

See Appendix A for valid values.

PierbridgeRateRequest/

No

Packages/

Zero of One

Package/
LargePackage

Boolean

Indicates that this package has UPS Large


Package dimensions.
Omit this element if the package does not
have UPS Large Package dimensions,
else set to True.

17

Rate Programming Information

PierbridgeRateRequest/

No

Packages/

Zero of One

Integer

Package/

The numeric identifier for the type of


delivery confirmation required for this
package.
Omit this element if the delivery
confirmation is not required.

DeliveryConfirmation

See Appendix A for valid values.


PierbridgeRateRequest/

No

Packages/

Zero of One

String

The freight class of the package.


Used when LTL rating.

Package/
FreightClass
PierbridgeRateRequest/

No

Packages/

Zero of One

String

The National Motor Freight Classification


of the package.
Used when LTL rating.

Package/
NMFC
PierbridgeRateRequest/

No

Packages/

Zero of One

Boolean

Indicates that the package is to be picked


up inside.
Omit this element if inside pickup is not
required, else set to True.

Package/
InsidePickup
PierbridgeRateRequest/

No

Packages/

Zero of One

Boolean

Indicates that the package is to be


delivered inside.
Omit this element if inside delivery is not
required, else set to True.

Package/
InsideDelivery
PierbridgeRateRequest/

No

Packages/

Zero of One

Boolean

Indicates that the package is a nonstandard container.


Omit this element if the package is in a
standard container, else set to True.

Package/
NonStandardContainer
PierbridgeRateRequest/

No

Packages/

Zero or One

Container

If international rating is not being


performed then this element can be
omitted.

Package/
International
PierbridgeRateRequest/

No

Packages/

Zero or One

Package/
International/
DocumentsOnly

Parent element for information about the


international aspects of the package.

Boolean

Indicates whether the package contains


only documents.
Omit this element if the package contains
items other than documents.
If this element has a value of True then
the following Contents element is not
required.

18

Rate Programming Information

PierbridgeRateRequest/

No

Packages/

Zero or One

Container

Parent element for information about the


packages contents.
If the package contains only documents
then this element and its children can be
omitted.

Package/
International/
Contents
PierbridgeRateRequest/

No

Packages/

Zero or Many

Container

Parent element for information about


each Content item.
Include one of these elements for each
Content item.

Package/
International/
Contents/
Content
PierbridgeRateRequest/

No

Packages/

Zero or One

String

The Harmonized, or Schedule-B, code for


the item.

Integer

The number of items of this content type


that are in this package.

Integer

The number of items of this content type


that were ordered.

Package/
International/
Contents/
Content/
Code
PierbridgeRateRequest/

No

Packages/

Zero or One

Package/
International/
Contents/
Content/
Quantity
PierbridgeRateRequest/

No

Packages/

Zero or One

Package/
International/
Contents/
Content/
OrderedQuantity

19

Rate Programming Information

PierbridgeRateRequest/

No

Packages/

Zero or One

Integer

The number of items of this content type


that are on back order.

Float

The value of a single item.

Package/
International/
Contents/
Content/
BackOrderedQuantity
PierbridgeRateRequest/

No

Packages/

Zero or One

The units (e.g. USD or CAD) are


determined by the configuration of the
Pierbridge Shipment Server.

Package/
International/
Contents/
Content/
Value
PierbridgeRateRequest/

No

Packages/

Zero or One

Float

The weight of a single item.


The units (e.g. pound or kilogram) are
determined by the configuration of the
Pierbridge Shipment Server.

Package/
International/
Contents/
Content/
Weight
PierbridgeRateRequest/

No

Packages/

Zero or One

String

A description of the item.

String

The country the item originated from.

Package/
International/
Contents/
Content/
Description
PierbridgeRateRequest/

No

Packages/

Zero or One

Package/
International/
Contents/
Content/
OriginCountry

20

Rate Programming Information

PierbridgeRateRequest/

No

Packages/

Zero or One

String

The purchase order number associated


with the item.

String

The sales order number associated with


the item.

String

Any other code associated with the item.

String

Any other description for the item.

String

The customers code for the item.

Package/
International/
Contents/
Content/
PurchaseOrderNumber
PierbridgeRateRequest/

No

Packages/

Zero or One

Package/
International/
Contents/
Content/
SalesOrderNumber
PierbridgeRateRequest/

No

Packages/

Zero or One

Package/
International/
Contents/
Content/
ItemCode
PierbridgeRateRequest/

No

Packages/

Zero or One

Package/
International/
Contents/
Content/
ItemDescription
PierbridgeRateRequest/

No

Packages/

Zero or One

Package/
International/
Contents/
Content/
CustomerCode

21

Rate Programming Information

PierbridgeRateRequest/

No

Packages/

Zero or One

String

The part number of the item.

String

The bin number of the item.

String

The lot number of the item.

String

The serial number of the item.

String

The Windows username of the user who is


submitting the request.

Package/
International/
Contents/
Content/
PartNumber
PierbridgeRateRequest/

No

Packages/

Zero or One

Package/
International/
Contents/
Content/
BinNumber
PierbridgeRateRequest/

No

Packages/

Zero or One

Package/
International/
Contents/
Content/
LotNumber
PierbridgeRateRequest/

No

Packages/

Zero or One

Package/
International/
Contents/
Content/
SerialNumber
PierbridgeRateRequest/

Yes

UserName

One

22

Rate Programming Information

23

XML RESPONSE
After the above XML request has been POSTed on the HTTP connection an XML response
will be returned, which will adhere to the following structure.
Note that charges are returned at shipment- and package-levels. For a shipment that
contains one package these will be the same. For a multipack shipment the shipmentlevel charges will be the sum over all package charges.

Element (XPath)

Required/

Type

Description

Container

Root element.

String

Used to synchronize request/response


pairs.

Cardinality
PierbridgeRateResponse

Yes
One

PierbridgeRateResponse/

No

TransactionIdentifier

Zero or One

It can contain any valid XML element


content and is echoed back in the
response.
PierbridgeRateResponse/

Yes

ShippingCharge

One

Float

The estimated cost for shipping the


shipment.
The units (e.g. USD or CAD) are
determined by the configuration of the
Pierbridge Shipment Server.

PierbridgeRateResponse/

Yes

AccessorialCharge

One

Float

The estimated cost for any requested


extra services, e.g. insurance, COD.
The units (e.g. USD or CAD) are
determined by the configuration of the
Pierbridge Shipment Server.

PierbridgeRateResponse/

Yes

OtherCharge

One

PierbridgeRateResponse/

Yes

TotalCharge

One

Float

Any other costs for shipping the shipment.


The units (e.g. USD or CAD) are
determined by the configuration of the
Pierbridge Shipment Server.

Float

The total cost for shipping the shipment.


This is the sum of shipping, accessorial,
and other costs.
The units (e.g. USD or CAD) are
determined by the configuration of the
Pierbridge Shipment Server.

PierbridgeRateResponse/

Yes

CommitmentLevel

One

String

An indication of how long it will take for


the package to get to the receiver.

Rate Programming Information

PierbridgeRateResponse/

Yes

DeliveryIn

One

Integer

The number of days the shipment will


take to get to the receiver.
May be empty if the carrier does not
provide this information.

PierbridgeRateResponse/

Yes

Packages

One

PierbridgeRateResponse/

Yes

Packages/

One

Container

Parent element for packages elements.

Container

Parent element for a package element.

Container

Parent element for package status


elements.

Integer

Indicates whether the package has been


successfully rated.

Package
PierbridgeRateResponse/

Yes

Packages/

One

Package/
Status
PierbridgeRateResponse/

Yes

Packages/

One

A value of 0 indicates failure and 1


indicates success.

Package/
Status/
Code
PierbridgeRateResponse/

Yes

Packages/

One

String

A textual description of the packages


success.
If the package has failed, then the value
will summarise why it failed.

Package/
Status/
Description
PierbridgeShipResponse/

Yes

Packages/

One

Float

The units (e.g. USD or CAD) are


determined by the configuration of the
Pierbridge Shipment Server.

Package/
ShippingCharge
PierbridgeShipResponse/

Yes

Packages/

One

Float

AccessorialCharge
PierbridgeShipResponse/

Yes

Packages/

One

OtherCharge

The estimated cost for any requested


extra services, e.g. insurance, COD.
The units (e.g. USD or CAD) are
determined by the configuration of the
Pierbridge Shipment Server.

Package/

Package/

The estimated cost for shipping the


package.

Float

Any other costs for shipping the package.


The units (e.g. USD or CAD) are
determined by the configuration of the
Pierbridge Shipment Server.

24

Rate Programming Information

PierbridgeShipResponse/

Yes

Packages/

One

Package/
TotalCharge

Float

The total cost for shipping the package.


This is the sum of shipping, accessorial,
and other costs.
The units (e.g. USD or CAD) are
determined by the configuration of the
Pierbridge Shipment Server.

25

Rate Programming Information

BASIC PACKAGE
The following XML rates a package. This represents the minimum information that is
typically provided for package rating.
A UPS 2nd Day Air service has been specified in this example.

XML Request
<?xml version="1.0" encoding="UTF-8"?>
<PierbridgeRateRequest>
<Carrier>3</Carrier>
<ServiceType>24</ServiceType>
<ShipDate></ShipDate>
<Receiver>
<City>Washington</City>
<Region>DC</Region>
<PostalCode>20500</PostalCode>
<Country>US</Country>
</Receiver>
<Packages>
<Package>
<PackageType>11</PackageType>
<Weight>8.5</Weight>
</Package>
</Packages>
<UserName>user</UserName>
</PierbridgeRateRequest>

XML Response
<?xml version="1.0" encoding="utf-8"?>
<PierbridgeRateResponse>
<ShippingCharge>10.33</ShippingCharge>
<AccessorialCharge>0</AccessorialCharge>
<OtherCharge>0</OtherCharge>
<TotalCharge>10.33</TotalCharge>
<CommitmentLevel>Est. delivery in 2 business day(s)</CommitmentLevel>
<DeliveryIn>2</DeliveryIn>
<Packages>
<Package>
<Status>
<Code>1</Code>
<Description>Success</Description>
</Status>
<ShippingCharge>10.33</ShippingCharge>
<AccessorialCharge>0.00</AccessorialCharge>
<OtherCharge>0.00</OtherCharge>
<TotalCharge>10.33</TotalCharge>
</Package>
</Packages>
<Carrier>3</Carrier>
<CarrierName>UPS</CarrierName>
<ServiceType>24</ServiceType>
<ServiceTypeName>UPS 2nd Day Air</ServiceTypeName>
<Weight>8.5</Weight>
</PierbridgeRateResponse>

26

Rate Programming Information

27

INTERNATIONAL
The following Xml rates an international package, which contains two different types of
content.
A FedEx International Priority carrier service has been specified in this example.

XML Request
<?xml version="1.0" encoding="UTF-8"?>
<PierbridgeRateRequest>
<Carrier>2</Carrier>
<ServiceType>12</ServiceType>
<ShipDate></ShipDate>
<Receiver>
<CompanyName>Public Works and Government Services Canada</CompanyName>
<Street>Main Street</Street>
<City>Ottawa</City>
<Region>ON</Region>
<PostalCode>K1A 0S5</PostalCode>
<Country>CA</Country>
</Receiver>
<Packages>
<Package>
<ReceiverName>Mr Minister</ReceiverName>
<ReceiverPhone>1-800-622-6232</ReceiverPhone>
<PackageType>9</PackageType>
<Weight>8.5</Weight>
<Length>9</Length>
<Width>9</Width>
<Height>9</Height>
<International>
<Contents>
<Content>
<Code>090122</Code>
<Quantity>2</Quantity>
<Value>200</Value>
<Weight>20</Weight>
<Description>shoes</Description>
<OriginCountry>MX</OriginCountry>
</Content>
<Content>
<Code>490199</Code>
<Quantity>100</Quantity>
<Value>26</Value>
<Weight>5</Weight>
<Description>books</Description>
<OriginCountry>US</OriginCountry>
</Content>
</Contents>
</International>
</Package>
</Packages>
<UserName>user</UserName>
</PierbridgeRateRequest>

XML Response
<?xml version="1.0" encoding="utf-8"?>
<PierbridgeRateResponse>
<ShippingCharge>66.72</ShippingCharge>
<AccessorialCharge>13.34</AccessorialCharge>
<OtherCharge>0</OtherCharge>
<TotalCharge>80.06</TotalCharge>
<CommitmentLevel>Not Provided</CommitmentLevel>

Rate Programming Information


<DeliveryIn></DeliveryIn>
<Packages>
<Package>
<Status>
<Code>1</Code>
<Description>Success</Description>
</Status>
</Package>
</Packages>
<Carrier>2</Carrier>
<CarrierName>FedEx</CarrierName>
<ServiceType>12</ServiceType>
<ServiceTypeName>FedEx International Priority</ServiceTypeName>
<Weight>8.5</Weight>
</PierbridgeRateResponse>

28

Rate Shop Programming Information

29

RATE SHOP PROGRAMMING INFORMATION


This interface allows you to rate shop items.
In the XML request you specify information such as the rate group want to rate for, the
receiver, item details such as weight and dimesions, and any special services required
(e.g. collect-on-delivery or insurance).
The XML response will indicate whether your request has succeeded. If it hasnt then an
indication of what went wrong will be provided. If it was successful then a list of
containing information such as shipping charges and time to deliver will be returned.
Rate groups are configured on the server. They allow you to group one or more carrier
services. For example, you may decide to create a rate group of the ground services
offered by DHL, FedEx, and UPS. A rate shop using this group will return shipping charges
and time to deliver for each of these carrier services. This information allows you to
compare the services and therefore decide which to use to ship the items.

XML REQUEST
The request XML document must adhere to the following structure.

Element (XPath)

Required/

Type

Description

Container

Root element.

String

Used to synchronize request/response


pairs.

Cardinality
PierbridgeRateShopRequest

Yes
One

PierbridgeRateShopRequest/

No

TransactionIdentifier

Zero or One

It can contain any valid XML element


content and is echoed back in the
response.
PierbridgeRateShopRequest/

No

Live

Zero or One

Boolean

Indicates whether the rate shop is a test


or not.
Omit the element if the rate shop is a test
one, else set to True.

PierbridgeRateShopRequest/

No

CloseShipment

Zero or One

Boolean

Indicates whether this rate shop is to


instigate a multipack rate shop.
Omit the element if a multipack rate shop
is not required, else set to True.
See section Mulitpack Programming
Information for details on multipack rate
and ship.

PierbridgeRateShopRequest/

Yes

RateGroup

One

Integer

The numeric identifier of the rate group.


See section Server Configuration
Programming Information for details on
how to obtain valid values.

Rate Shop Programming Information

PierbridgeRateShopRequest/

Yes

ShipDate

One

Date

The date that the items are to be


shipped.
Defaults to current date if left blank.

PierbridgeRateShopRequest/

No

RequiredDate

Zero or One

PierbridgeRateShopRequest/

No

SaturdayDelivery

Zero or One

DateTime

The date/time the items are to be


delivered.

Boolean

Indicates whether the shipment is to be


delivered on a Saturday.
Omit the element if a Saturday delivery is
not required, else set to True.
Most carriers levy an extra charge for this
option.

PierbridgeRateShopRequest/

No

Location

Zero or One

Integer

Overrides the sender's location to allow


rating from any location.
Must be a value from the Locations.[ID]
column in the Pierbridge Shipment Server
database.

PierbridgeRateShopRequest/

No

FilterMode

Zero or One

Integer

The numeric identifier that determines


what filtering is applied to the returned
rates.
See Appendix A for valid values.

PierbridgeRateShopRequest/

Yes

Receiver

One

PierbridgeRateShopRequest/

No

Receiver/

Zero or One

Container

Parent element for Receiver address


elements.

String

The name of the company the shipment is


to be shipped to.

String

The first line of the address the shipment


is to be shipped to.

String

The second line of the address the


shipment is to be shipped to.

String

The third line of the address the shipment


is to be shipped to.

String

The city the shipment is to be shipped to.

CompanyName
PierbridgeRateShopRequest/

No

Receiver/

Zero or One

Street
PierbridgeRateShopRequest/

No

Receiver/

Zero or One

Locale
PierbridgeRateShopRequest/

No

Receiver/

Zero or One

Other
PierbridgeRateShopRequest/

Yes

Receiver/

One

City

30

Rate Shop Programming Information

PierbridgeRateShopRequest/

Yes

Receiver/

One

String

The region the shipment is to be shipped


to.
If in the US, the two-letter state code
should be used, e.g. MA.

Region

The Pierbridge Shipment Server can be


configured to translate any value, e.g.
Massachusetts or Mass. into the
required code.
PierbridgeRateShopRequest/

Yes

Receiver/

One

String

The postal or zip code the shipment is to


be shipped to.

String

The country the shipment is to be shipped


to.

PostalCode
PierbridgeRateShopRequest/

Yes

Receiver/

One

The standard two-letter country codes


should be used, e.g. US or CA.

Country

The Pierbridge Shipment Server can be


configured to translate any value, e.g.
USA or United States into the required
code.
PierbridgeRateShopRequest/

No

Receiver/

Zero or One

Boolean

Indicates whether the address to be


shipped to is a residential one.
Omit the element if it is not a residential
address, else set to True.

Residential
PierbridgeRateShopRequest/

Yes

Packages

One

PierbridgeRateShopRequest/

Yes

Packages/

One

Container

Parent element for packages elements.

Container

Parent element for a package element.

Integer

Indicates the number of additional copies


of the package that are to be shipped.

Package
PierbridgeRateShopRequest/

No

Packages/

Zero or One

Defaults to zero additional copies if


omitted.

Package/
Copies
PierbridgeRateShopRequest/

No

Packages/

Zero or One

String

This element is provided at this level,


rather than the shipment-level, as
packages may require the attention of
different people at the same address.

Package/
ReceiverName
PierbridgeRateShopRequest/

No

Packages/

Zero or One

Package/
ReceiverPhone

The name of the person the package is to


be shipped to.

String

The telephone number of the person the


package is to be shipped to.
This element is provided at this level,
rather than the shipment-level, as
packages may require the attention of
different people at the same address.

31

Rate Shop Programming Information

PierbridgeRateShopRequest/

Yes

Packages/

One

Float

The weight of the package.


The units (e.g. pound or kilogram) are
determined by the configuration of the
Pierbridge Shipment Server.

Package/
Weight
PierbridgeRateShopRequest/

No

Packages/

Zero or One

Integer

The length of the package.


The units (e.g. inch or centimeter) are
determined by the configuration of the
Pierbridge Shipment Server.

Package/
Length
PierbridgeRateShopRequest/

No

Packages/

Zero or One

Integer

The width of the package.


The units (e.g. inch or centimeter) are
determined by the configuration of the
Pierbridge Shipment Server.

Package/
Width
PierbridgeRateShopRequest/

No

Packages/

Zero or One

Integer

The height of the package.


The units (e.g. inch or centimeter) are
determined by the configuration of the
Pierbridge Shipment Server.

Package/
Height
PierbridgeRateShopRequest/

No

Packages/

Zero or One

Container

Parent element for information about


Insurance.
If insurance is not required for this
package, then omit this element and its
children.

Package/
Insurance
PierbridgeRateShopRequest/

No

Packages/

Zero or One

Integer

This value should be set to 1 if insurance


is required.

Float

The value the package is to be insured


for.

Package/
Insurance/
Type
PierbridgeRateShopRequest/

No

Packages/

Zero or One

The units (e.g. USD or CAD) are


determined by the configuration of the
Pierbridge Shipment Server.

Package/
Insurance/
Value
PierbridgeRateShopRequest/

No

Packages/

Zero or One

Package/
COD

Container

Parent element for information about


Collect On Delivery (COD).
If COD is not required for this package,
then omit this element and its children.

32

Rate Shop Programming Information

PierbridgeRateShopRequest/

No

Packages/

Zero or One

Integer

The numeric identifier for the type of


Collect On Delivery.
See Appendix A for valid values.

Package/
COD/
Type
PierbridgeRateShopRequest/

No

Packages/

Zero or One

Float

The value that is to be collected by the


carrier when this package is delivered.
The units (e.g. USD or CAD) are
determined by the configuration of the
Pierbridge Shipment Server.

Package/
COD/
Value
PierbridgeRateShopRequest/

No

Packages/

Zero or One

Boolean

Package/

Indicates whether the package should be


held for collection at a carriers depot or
some other location.
Omit this element if the package is not to
be held, else set to True.

Hold
PierbridgeRateShopRequest/

No

Packages/

Zero or One

Container

Package/

Parent element for information about the


individual or organization who is to hold
the package for collection.
If holder information is not required for
this package, then omit this element and
its children.

Holder
PierbridgeRateShopRequest/

No

Packages/

Zero or One

String

The name of the individual who is to hold


the package for collection.

String

The name of the company where the


package is to be held for collection.

String

The first line of the address where the


package is to be held for collection.

Package/
Holder/
Name
PierbridgeRateShopRequest/

No

Packages/

Zero or One

Package/
Holder/
CompanyName
PierbridgeRateShopRequest/

No

Packages/

Zero or One

Package/
Holder/
Street

33

Rate Shop Programming Information

PierbridgeRateShopRequest/

No

Packages/

Zero or One

String

The second line of the address where the


package is to be held for collection.

String

The third line of the address where the


package is to be held for collection.

String

The city where the package is to be held


for collection.

String

The region where the package is to be


held for collection

Package/
Holder/
Locale
PierbridgeRateShopRequest/

No

Packages/

Zero or One

Package/
Holder/
Other
PierbridgeRateShopRequest/

No

Packages/

Zero or One

Package/
Holder/
City
PierbridgeRateShopRequest/

No

Packages/

Zero or One

If in the US, the two-letter state code


should be used, e.g. MA.

Package/
Holder/

The Pierbridge Shipment Server can be


configured to translate any value, e.g.
Massachusetts or Mass. into the
required code.

Region

PierbridgeRateShopRequest/

No

Packages/

Zero or One

String

The postal or zip code where the package


is to be held for collection.

String

The country where the package is to be


held for collection

Package/
Holder/
PostalCode
PierbridgeRateShopRequest/

No

Packages/

Zero or One

Package/
Holder/
Country

The standard two-letter country codes


should be used, e.g. US or CA.
The Pierbridge Shipment Server can be
configured to translate any value, e.g.
USA or United States into the required
code.

34

Rate Shop Programming Information

PierbridgeRateShopRequest/

No

Packages/

Zero or One

String

The phone number of the individual who


is to hold the package for collection.

Boolean

Indicates that extra handling measures


are required when loading the package.

Package/
Holder/
Phone
PierbridgeRateShopRequest/

No

Packages/

Zero of One

Omit this element if the package does not


require additional handling, else set to
True.

Package/
AdditionalHandling
PierbridgeRateShopRequest/

No

Packages/

Zero of One

Integer

The numeric identifier for the packages


oversize status.

Package/

Omit this element if the package is not


oversize.

Oversize

See Appendix A for valid values.

PierbridgeRateShopRequest/

No

Packages/

Zero of One

Boolean

Indicates that this package has UPS Large


Package dimensions.
Omit this element if the package does not
have UPS Large Package dimensions,
else set to True.

Package/
LargePackage
PierbridgeRateShopRequest/

No

Packages/

Zero of One

Integer

Package/

The numeric identifier for the type of


delivery confirmation required for this
package.
Omit this element if delivery confirmation
is not required.

DeliveryConfirmation

See Appendix A for valid values.


PierbridgeRateShopRequest/

No

Packages/

Zero of One

String

The freight class of the package.


Used when LTL shipping.

Package/
FreightClass
PierbridgeRateShopRequest/

No

Packages/

Zero of One

String

The National Motor Freight Classification


of the package.
Used when LTL shipping.

Package/
NMFC
PierbridgeRateShopRequest/

No

Packages/

Zero of One

Package/
ItemsOnPallet

Integer

The number of items on a pallet.


Used when LTL shipping, where the
Package can be treated as a pallet.

35

Rate Shop Programming Information

PierbridgeRateShopRequest/

No

Packages/

Zero of One

Boolean

Indicates that the package is to be picked


up inside.
Omit this element if inside pickup is not
required, else set to True.

Package/
InsidePickup
PierbridgeRateShopRequest/

No

Packages/

Zero of One

Boolean

Indicates that the package is to be


delivered inside.
Omit this element if inside delivery is not
required, else set to True.

Package/
InsideDelivery
PierbridgeRateShopRequest/

No

Packages/

Zero of One

Boolean

Indicates that the package is a nonstandard container.


Omit this element if the package is in a
standard container, else set to True.

Package/
NonStandardContainer
PierbridgeRateShopRequest/

No

Packages/

Zero or One

Container

Parent element for information about the


international aspects of the package.
If international shipping is not being
performed then this element can be
omitted.

Package/
International
PierbridgeRateShopRequest/

No

Packages/

Zero or One

Boolean

Indicates whether the package contains


only documents.
Omit this element if the package contains
items other than documents.

Package/
International/

If this element has a value of True then


the following Contents element is not
required.

DocumentsOnly
PierbridgeRateShopRequest/

No

Packages/

Zero or One

Container

Parent element for information about the


packages contents.
If the package contains only documents
then this element and its children can be
omitted.

Package/
International/
Contents
PierbridgeRateShopRequest/

No

Packages/

Zero or Many

Package/
International/
Contents/
Content

Container

Parent element for information about


each Content item.
Include one of these elements for each
Content item.

36

Rate Shop Programming Information

PierbridgeRateShopRequest/

No

Packages/

Zero or One

String

The Harmonized, or Schedule-B, code for


the item.

Integer

The number of items of this content type


that are in this package.

Integer

The number of items of this content type


that were ordered.

Integer

The number of items of this content type


that are on back order.

Float

The value of a single item.

Package/
International/
Contents/
Content/
Code
PierbridgeRateShopRequest/

No

Packages/

Zero or One

Package/
International/
Contents/
Content/
Quantity
PierbridgeRateShopRequest/

No

Packages/

Zero or One

Package/
International/
Contents/
Content/
OrderedQuantity
PierbridgeRateShopRequest/

No

Packages/

Zero or One

Package/
International/
Contents/
Content/
BackOrderedQuantity
PierbridgeRateShopRequest/

No

Packages/

Zero or One

Package/
International/
Contents/
Content/
Value

The units (e.g. USD or CAD) are


determined by the configuration of the
Pierbridge Shipment Server.

37

Rate Shop Programming Information

PierbridgeRateShopRequest/

No

Packages/

Zero or One

Float

The weight of a single item.


The units (e.g. pound or kilogram) are
determined by the configuration of the
Pierbridge Shipment Server.

Package/
International/
Contents/
Content/
Weight
PierbridgeRateShopRequest/

No

Packages/

Zero or One

String

The description of the item.

String

The country the item originated from.

String

Receivers purchase order number.

Package/
International/
Contents/
Content/
Description
PierbridgeRateShopRequest/

No

Packages/

Zero or One

Package/
International/
Contents/
Content/
OriginCountry
PierbridgeRateShopRequest/

No

Packages/

Zero or One

Printed on shipping documentation.

Package/
International/
Contents/
Content/
PurchaseOrderNumber
PierbridgeRateShopRequest/

No

Packages/

Zero or One

Package/
International/
Contents/
Content/
SalesOrderNumber

String

Your sales order number.


Printed on shipping documentation.

38

Rate Shop Programming Information

PierbridgeRateShopRequest/

No

Packages/

Zero or One

String

Any other code associated with the item.

String

Any other description for the item.

String

The customers code for the item.

String

The part number of the item.

String

The bin number of the item.

Package/
International/
Contents/
Content/
ItemCode
PierbridgeRateShopRequest/

No

Packages/

Zero or One

Package/
International/
Contents/
Content/
ItemDescription
PierbridgeRateShopRequest/

No

Packages/

Zero or One

Package/
International/
Contents/
Content/
CustomerCode
PierbridgeRateShopRequest/

No

Packages/

Zero or One

Package/
International/
Contents/
Content/
PartNumber
PierbridgeRateShopRequest/

No

Packages/

Zero or One

Package/
International/
Contents/
Content/
BinNumber

39

Rate Shop Programming Information

PierbridgeRateShopRequest/

No

Packages/

Zero or One

String

The lot number of the item.

String

The serial number of the item.

String

The Windows username of the user who is


submitting the request.

Package/
International/
Contents/
Content/
LotNumber
PierbridgeRateShopRequest/

No

Packages/

Zero or One

Package/
International/
Contents/
Content/
SerialNumber
PierbridgeRateShopRequest/

Yes

UserName

One

40

Rate Shop Programming Information

41

XML RESPONSE
After the above XML request has been POSTed on the HTTP connection an XML response
will be returned, which will adhere to the following structure.

Element (XPath)

Required/

Type

Description

Container

Root element.

String

Used to synchronize request/response


pairs.

Cardinality
PierbridgeRateShopResponse

Yes
One

PierbridgeRateShopResponse/

No

TransactionIdentifier

Zero or One

It can contain any valid XML element


content and is echoed back in the
response.
PierbridgeRateShopResponse/

Yes

Rates

One

PierbridgeRateShopResponse/

No

Rates/

Zero or More

Container

Parent element for information about the


rates.

Container

Parent element for information about the


rate.

Container

Parenet element for information about


the rates carrier.

Integer

The numeric identifier of the carrier.

Rate
PierbridgeRateShopResponse/

No

Rates/

Zero or One

Rate/
Carrier
PierbridgeRateShopResponse/

No

Rates/

Zero or One

See Appendix A for valid values.

Rate/
Carrier/
ID
PierbridgeRateShopResponse/

No

Rates/

Zero or One

Rate/
Carrier/
Description

String

Textual description of the carrier.

Rate Shop Programming Information

PierbridgeRateShopResponse/

No

Rates/

Zero or One

String

The Standard Carrier Alpha Code (SCAC)


of the carrier.

Container

Parenet element for information about


the rates carrier service.

Integer

The numeric identifier of the carrier


service.

Rate/
Carrier/
SCAC
PierbridgeRateShopResponse/

No

Rates/

Zero or One

Rate/
ServiceType
PierbridgeRateShopResponse/

No

Rates/

Zero or One

See Appendix A for valid values.

Rate/
ServiceType/
ID
PierbridgeRateShopResponse/

No

Rates/

Zero or One

String

Textual description of the carrier service.

Float

The estimated cost for shipping the


package.

Rate/
ServiceType/
Description
PierbridgeRateShopResponse/

No

Rates/

Zero or One

The units (e.g. USD or CAD) are


determined by the configuration of the
Pierbridge Shipment Server.

Rate/
ShippingCharge
PierbridgeRateShopResponse/

No

Rates/

Zero or One

Float

The estimated cost for any requested


extra services, e.g. insurance, COD.
The units (e.g. USD or CAD) are
determined by the configuration of the
Pierbridge Shipment Server.

Rate/
AccessorialCharge
PierbridgeRateShopResponse/

No

Rates/

Zero or One

Float

Any other costs for shipping the package.


The units (e.g. USD or CAD) are
determined by the configuration of the
Pierbridge Shipment Server.

Rate/
OtherCharge
PierbridgeRateShopResponse/

No

Rates/

Zero or One

Rate/
TotalCharge

Float

The total cost for shipping the package.


This is the sum of shipping, accessorial,
and other costs.
The units (e.g. USD or CAD) are
determined by the configuration of the
Pierbridge Shipment Server.

42

Rate Shop Programming Information

PierbridgeRateShopResponse/

No

Rates/

Zero or One

String

An indication of how long it will take for


the package to get to the receiver.

Integer

The number of days the shipment will


take to get to the receiver.

Rate/
CommitmentLevel
PierbridgeRateShopResponse/

No

Rates/

Zero or One

Rate/
DeliveryIn

May be empty if the carrier does not


provide this information.

43

Rate Shop Programming Information

44

BASIC PACKAGE
The following XML rate shops a package. This represents the minimum information that is
typically provided for package rate shopping.
A rate group that includes express services (Airborne Express, FedEx Standard Overnight,
and UPS Next Day Air) has been specified in this example.
The Rate elements are sorted by TotalCharge with the least expensive in the first
Rate element.

XML Request
<?xml version="1.0" encoding="UTF-8"?>
<PierbridgeRateShopRequest>
<RateGroup>1</RateGroup>
<ShipDate></ShipDate>
<Receiver>
<City>Washington</City>
<Region>DC</Region>
<PostalCode>20500</PostalCode>
<Country>US</Country>
</Receiver>
<Packages>
<Package>
<Weight>25</Weight>
</Package>
</Packages>
<UserName>user</UserName>
</PierbridgeRateShopRequest>

XML Response
<?xml version="1.0" encoding="utf-8"?>
<PierbridgeRateShopResponse>
<Rates>
<Rate>
<Carrier>
<ID>3</ID>
<Description>UPS</Description>
<SCAC>UPS</SCAC>
</Carrier>
<ServiceType>
<ID>23</ID>
<Description>UPS Next Day Air</Description>
</ServiceType>
<ShippingCharge>48.94</ShippingCharge>
<AccessorialCharge>0</AccessorialCharge>
<OtherCharge>0</OtherCharge>
<TotalCharge>48.94</TotalCharge>
<CommitmentLevel>Est. delivery in 1 business day</CommitmentLevel>
<DeliveryIn>1</DeliveryIn>
</Rate>
<Rate>
<Carrier>
<ID>1</ID>
<Description>Airborne</Description>
<SCAC>ABX</SCAC>
</Carrier>
<ServiceType>
<ID>2</ID>
<Description>Express 10:30</Description>
</ServiceType>

Rate Shop Programming Information


<ShippingCharge>70.26</ShippingCharge>
<AccessorialCharge>15.46</AccessorialCharge>
<OtherCharge>0</OtherCharge>
<TotalCharge>85.72</TotalCharge>
<CommitmentLevel>Next business day by 10:30 A.M.</CommitmentLevel>
<DeliveryIn>1</DeliveryIn>
</Rate>
<Rate>
<Carrier>
<ID>2</ID>
<Description>FedEx</Description>
<SCAC>FDX</SCAC>
</Carrier>
<ServiceType>
<ID>7</ID>
<Description>FedEx Priority Overnight</Description>
</ServiceType>
<ShippingCharge>80</ShippingCharge>
<AccessorialCharge>16</AccessorialCharge>
<OtherCharge>0</OtherCharge>
<TotalCharge>96</TotalCharge>
<CommitmentLevel>Not Provided</CommitmentLevel>
<DeliveryIn></DeliveryIn>
</Rate>
</Rates>
</PierbridgeRateShopResponse>

45

Rate Shop Programming Information

46

INTERNATIONAL
The following Xml rates an international package, which contains two different types of
content.
A rate group that includes express international services (FedEx International Priority
and UPS Worldwide Express SM) has been specified in this example.
The Rate elements are sorted by TotalCharge with the least expensive in the first
Rate element.

XML Request
<?xml version="1.0" encoding="UTF-8"?>
<PierbridgeRateShopRequest>
<RateGroup>2</RateGroup>
<ShipDate></ShipDate>
<Receiver>
<CompanyName>Public Works and Government Services Canada</CompanyName>
<Street>Main Street</Street>
<City>Ottawa</City>
<Region>ON</Region>
<PostalCode>K1A 0S5</PostalCode>
<Country>CA</Country>
</Receiver>
<Packages>
<Package>
<ReceiverName>Mr Minister</ReceiverName>
<ReceiverPhone>1-800-622-6232</ReceiverPhone>
<Weight>25</Weight>
<Length>8</Length>
<Width>8</Width>
<Height>8</Height>
<International>
<Contents>
<Content>
<Code>090122</Code>
<Quantity>2</Quantity>
<Value>200</Value>
<Weight>10</Weight>
<Description>shoes</Description>
<OriginCountry>MX</OriginCountry>
</Content>
<Content>
<Code>490199</Code>
<Quantity>1</Quantity>
<Value>26</Value>
<Weight>5</Weight>
<Description>books</Description>
<OriginCountry>US</OriginCountry>
</Content>
</Contents>
</International>
</Package>
</Packages>
<UserName>user</UserName>
</PierbridgeRateShopRequest>

XML Response
<?xml version="1.0" encoding="utf-8"?>
<PierbridgeRateShopResponse>
<Rates>

Rate Shop Programming Information


<Rate>
<Carrier>
<ID>3</ID>
<Description>UPS</Description>
<SCAC>UPS</SCAC>
</Carrier>
<ServiceType>
<ID>26</ID>
<Description>UPS Worldwide Express SM</Description>
</ServiceType>
<ShippingCharge>129.09</ShippingCharge>
<AccessorialCharge>0</AccessorialCharge>
<OtherCharge>0</OtherCharge>
<TotalCharge>129.09</TotalCharge>
<CommitmentLevel>Est.Delivery In business day(s)</CommitmentLevel>
<DeliveryIn></DeliveryIn>
</Rate>
<Rate>
<Carrier>
<ID>2</ID>
<Description>FedEx</Description>
<SCAC>FDX</SCAC>
</Carrier>
<ServiceType>
<ID>12</ID>
<Description>FedEx International Priority</Description>
</ServiceType>
<ShippingCharge>113.42</ShippingCharge>
<AccessorialCharge>22.68</AccessorialCharge>
<OtherCharge>0</OtherCharge>
<TotalCharge>136.1</TotalCharge>
<CommitmentLevel>Not Provided</CommitmentLevel>
<DeliveryIn></DeliveryIn>
</Rate>
</Rates>
</PierbridgeRateShopResponse>

47

Ship Programming Information

48

SHIP PROGRAMMING INFORMATION


This interface allows you to ship items.
In the XML request you specify information such as the carrier (e.g. FedEx, UPS) you want
to carry the items, the date to ship on, the receiver, item details such as weight and
dimesions, and any special services required (e.g. collect-on-delivery or insurance).
The XML response will indicate whether your request has succeeded. If it hasnt then an
indication of what went wrong will be provided. If it was successful then information such
as shipping charges, tracking numbers, labels and documentation will be returned.

XML REQUEST
The request XML document must adhere to the following structure.

Element (XPath)

Required/

Type

Description

Container

Root element.

String

Used to synchronize request/response


pairs.

Cardinality
PierbridgeShipRequest

Yes
One

PierbridgeShipRequest/

No

TransactionIdentifier

Zero or One

It can contain any valid XML element


content and is echoed back in the
response.
PierbridgeShipRequest/

No

RecordIdentifiers

Zero or One

Container

Parent element for Record Identifier


elements at the shipment-level.
Record Identifiers allow you to associate
zero or more key values with a shipment.
These are typically used to link a
shipment to key values in external
systems, e.g. a stock or sales database.

PierbridgeShipRequest/

No

RecordIdentifiers/

Zero or Many

Container

Include one of these elements for each


Record Identifier.

RecordIdentifier
PierbridgeShipRequest/

No

RecordIdentifiers/

Zero or Many

RecordIdentifier/
Keys

Parent element for information about


each Record Identifier.

Container

Parent element for information about the


Record Identifiers keys.

Ship Programming Information

PierbridgeShipRequest/

No

RecordIdentifiers/

Zero or One

String

First key value.

String

Second key value.

String

Third key value.

String

Fourth key value.

String

Fifth key value.

String

Sixth key value.

Container

Parent element for Output elements at


the shipment-level.

RecordIdentifier/
Keys/
Key1
PierbridgeShipRequest/

No

RecordIdentifiers/

Zero or One

RecordIdentifier/
Keys/
Key2
PierbridgeShipRequest/

No

RecordIdentifiers/

Zero or One

RecordIdentifier/
Keys/
Key3
PierbridgeShipRequest/

No

RecordIdentifiers/

Zero or One

RecordIdentifier/
Keys/
Key4
PierbridgeShipRequest/

No

RecordIdentifiers/

Zero or One

RecordIdentifier/
Keys/
Key5
PierbridgeShipRequest/

No

RecordIdentifiers/

Zero or One

RecordIdentifier/
Keys/
Key6
PierbridgeShipRequest/

No

Outputs

Zero or One

Output elements are used to modify (in a


limited way) how the labels and
documents are produced and printed.

49

Ship Programming Information

PierbridgeShipRequest/

No

Outputs/

Zero or Many

Container

Parent element for information about


each Output.
Include one of these elements for each
Output.

Output
PierbridgeShipRequest/

No

Outputs/

Zero or One

Integer

The type of label or document.


If blank then all other settings in this
block apply to all labels and documents.

Output/

See Appendix A for valid values.

OutputType
PierbridgeShipRequest/

No

Outputs/

Zero or One

Integer

The number of copies of the label or


document to produce.

Integer

The number of pieces (e.g. packages,


pallets) to produce the label or document
for.

Output/
Copies
PierbridgeShipRequest/

No

Outputs/

Zero or One

Output/

E.g. if set to 2 then labels with '1 of 2' and


'2 or 2' indicators will be produced.

Pieces
PierbridgeShipRequest/

No

Outputs/

Zero or One

Integer

The numeric identifier of the printer to


print the label or document to.
Must be a value from the Printers.[ID]
column in the Pierbridge Shipment Server
database.

Output/
PrinterID
PierbridgeShipRequest/

No

Outputs/

Zero or One

Boolean

Indicates whether to print the label or


document to the front-end.
Omit the element if the default printing
method for the label or document is to be
used, else set to True.

Output/
PrintToClient
PierbridgeShipRequest/

No

Live

Zero or One

Boolean

Indicates whether the shipment is a test


or not.
Omit the element if the shipment is a test
one, else set to True.

PierbridgeShipRequest/

No

CloseShipment

Zero or One

Boolean

Indicates whether this shipment is to


instigate a multipack shipment.
Omit the element if a multipack shipment
is not required, else set to True.
See section Mulitpack Programming
Information for details on multipack rate
and ship.

PierbridgeShipRequest/

No

ShippingNotes

Zero or One

String

Notes that are to accompany the


shipment.
Printed on shipping documentation.

50

Ship Programming Information

PierbridgeShipRequest/

No

PurchaseOrderNumber

Zero or One

PierbridgeShipRequest/

No

SalesOrderNumber

Zero or One

PierbridgeShipRequest/

No

PickListNumber

Zero or One

PierbridgeShipRequest/

Yes

Carrier

One

String

Receivers purchase order number.


Printed on shipping documentation.

String

Your sales order number.


Printed on shipping documentation.

String

The picklist number associated with the


shipment.

Integer

The numeric identifier of the carrier (e.g.


Fedex, UPS) who is to carry the shipment.
See Appendix A for valid values.

PierbridgeShipRequest/

Yes

ServiceType

One

Integer

The numeric identifier of the carrier


service (e.g. Next Day, Ground, Express)
that is to be used to carry the shipment.
See Appendix A for valid values.

PierbridgeShipRequest/

No

SuggestedServiceType

Zero or One

Integer

The numeric identifier of the carrier


service (e.g. Next Day, Ground, Express)
that was suggested for use to carry the
shipment.
Used to track whether users have selected
a different carrier to the one
recommended by e.g. a rate shop.
See Appendix A for valid values.

PierbridgeShipRequest/

No

CustomerServiceType

Zero or One

Integer

The numeric identifier of the carrier


service (e.g. Next Day, Ground, Express)
that will be used to calculate the costs
passed onto the customer.
Used to ship using one service but charge
the customer the rate for a different
service.
Requires extra configuration to fully
enable this feature.
See Appendix A for valid values.

PierbridgeShipRequest/

No

CustomerCostOption

Zero or One

Integer

The numeric identifier of the cost option


that is to be applied to the shipping
charges.
Used to charge the customer a fixed cost
or some multiple of actual shipping
charges.
Must be a value from the [Cost
Options].[ID] column of the Pierbridge
Shipment Server database.

PierbridgeShipRequest/

Yes

ShipDate

One

Date

The date that the items are to be


shipped.
Defaults to current date if left blank.

51

Ship Programming Information

PierbridgeShipRequest/

No

OrderDate

Zero or One

PierbridgeShipRequest/

No

SaturdayDelivery

Zero or One

Date

The date that the items are to be shipped


were ordered on.

Boolean

Indicates whether the shipment is to be


delivered on a Saturday.
Omit the element if a Saturday delivery is
not required, else set to True.
Most carriers levy an extra charge for this
option.

PierbridgeShipRequest/

No

TotalCharge

Zero or One

Float

The cost that the customer will be


charged for the shipment.
Used for (non-rating) carriers that do not
provide shipping costs.
The units (e.g. USD or CAD) are
determined by the configuration of the
Pierbridge Shipment Server.

PierbridgeShipRequest/

No

CustomerID

Zero or One

Integer

The numeric identifier of the customer


the shipment is for.
Must be a value from the Customers.[ID]
column in the Pierbridge Shipment Server
database.

PierbridgeShipRequest/

No

CustomerDUNS

Zero or One

String

The customer Dun and Bradstreet (DUNS)


identifier.
If this element and CustomerID is used,
then the value in this element has
priority.

PierbridgeShipRequest/

No

CustomerVendorNumber

Zero or One

String

The vendor number of the customer the


shipment is for.
If this element and CustomerID is used,
then the value in this element has
priority.

PierbridgeShipRequest/

No

CustomerLocationIdentifier

Zero or One

String

The location number of the customer the


shipment is for.
If this element and CustomerID is used,
then the value in this element has
priority.

PierbridgeShipRequest/

No

AccountID

Zero or One

Integer

Overrides the sender's account to allow


shipping using any account.
Must be a value from the Accounts.[ID]
column in the Pierbridge Shipment Server
database.

PierbridgeShipRequest/

No

CarrierName

Zero or One

String

The name of the carrier to ship with.


Overrides the name of the carrier that is
stored in the Pierbridge Shipment Server
database.

52

Ship Programming Information

PierbridgeShipRequest/

Yes

Receiver

One

PierbridgeShipRequest/

No

Receiver/

Zero or One

Container

Parent element for Receiver address


elements.

String

The name of the company the shipment is


to be shipped to.

String

The first line of the address the shipment


is to be shipped to.

String

The second line of the address the


shipment is to be shipped to.

String

The third line of the address the shipment


is to be shipped to.

String

The city the shipment is to be shipped to.

String

The region the shipment is to be shipped


to.

CompanyName
PierbridgeShipRequest/

Yes

Receiver/

One

Street
PierbridgeShipRequest/

No

Receiver/

Zero or One

Locale
PierbridgeShipRequest/

No

Receiver/

Zero or One

Other
PierbridgeShipRequest/

Yes

Receiver/

One

City
PierbridgeShipRequest/

Yes

Receiver/

One

If in the US, the two-letter state code


should be used, e.g. MA.

Region

The Pierbridge Shipment Server can be


configured to translate any value, e.g.
Massachusetts or Mass. into the
required code.
PierbridgeShipRequest/

Yes

Receiver/

One

String

The postal or zip code the shipment is to


be shipped to.

String

The country the shipment is to be shipped


to.

PostalCode
PierbridgeShipRequest/

Yes

Receiver/

One

The standard two-letter country codes


should be used, e.g. US or CA.

Country

The Pierbridge Shipment Server can be


configured to translate any value, e.g.
USA or United States into the required
code.
PierbridgeShipRequest/

No

Receiver/

Zero or One

Residential

Boolean

Indicates whether the address to be


shipped to is a residential one.
Omit the element if it is not a residential
address, else set to True.

53

Ship Programming Information

PierbridgeShipRequest/

No

Receiver/

Zero or One

Boolean

Indicates whether the address to be


shipped to has been modified.
Omit the element if it is has not been
modified, else set to True.

Modified
PierbridgeShipRequest/

No

ReturnTo

Zero or One

Container

Parent element for Return To address


elements.
The individual or organization identified
in this element and its children is the
destination of the shipment should it be
returned to sender.

PierbridgeShipRequest/

No

ReturnTo/

Zero or One

String

The name of the person.

String

The name of the company.

String

The first line of the address.

String

The second line of the address.

String

The third line of the address.

String

The city.

String

The region.

Name
PierbridgeShipRequest/

No

ReturnTo/

Zero or One

CompanyName
PierbridgeShipRequest/

No

ReturnTo/

Zero or One

Street
PierbridgeShipRequest/

No

ReturnTo/

Zero or One

Locale
PierbridgeShipRequest/

No

ReturnTo/

Zero or One

Other
PierbridgeShipRequest/

No

ReturnTo/

Zero or One

City
PierbridgeShipRequest/

No

ReturnTo/

Zero or One

If in the US, the two-letter state code


should be used, e.g. MA.

Region

The Pierbridge Shipment Server can be


configured to translate any value, e.g.
Massachusetts or Mass. into the
required code.
PierbridgeShipRequest/

No

ReturnTo/

Zero or One

PostalCode

String

The postal or zip code.

54

Ship Programming Information

PierbridgeShipRequest/

No

ReturnTo/

Zero or One

String

The country.
The standard two-letter country codes
should be used, e.g. US or CA.

Country

The Pierbridge Shipment Server can be


configured to translate any value, e.g.
USA or United States into the required
code.
PierbridgeShipRequest/

No

Billing

Zero or One

Container

Parent element for Billing information and


address elements.
The individual or organization identified
in this element and its children will pay
the shipping charges.

PierbridgeShipRequest/

No

Billing/

Zero or One

Integer

The numeric identifier of the type of


payer.
If the element is omitted, then it is
assumed that the sender is paying the
shipping charges.

PayerType

See Appendix A for valid values.


PierbridgeShipRequest/

No

Billing/

Zero or One

String

Only needed if PayerType is set to 2


(receiver) or 3 (third party).

AccountNumber
PierbridgeShipRequest/

No

Billing/

Zero or One

The account number of the payer.

String

The name of the company.

String

The first line of the address.

String

The second line of the address.

String

The third line of the address.

String

The city.

CompanyName
PierbridgeShipRequest/

No

Billing/

Zero or One

Street
PierbridgeShipRequest/

No

Billing/

Zero or One

Locale
PierbridgeShipRequest/

No

Billing/

Zero or One

Other
PierbridgeShipRequest/

No

Billing/

Zero or One

City

55

Ship Programming Information

PierbridgeShipRequest/

No

Billing/

Zero or One

String

The region.
If in the US, the two-letter state code
should be used, e.g. MA.

Region

The Pierbridge Shipment Server can be


configured to translate any value, e.g.
Massachusetts or Mass. into the
required code.
PierbridgeShipRequest/

No

Billing/

Zero or One

String

The postal or zip code.

String

The country.

PostalCode
PierbridgeShipRequest/

No

Billing/

Zero or One

The standard two-letter country codes


should be used, e.g. US or CA.

Country

The Pierbridge Shipment Server can be


configured to translate any value, e.g.
USA or United States into the required
code.
PierbridgeShipRequest/

No

Invoice

Zero or One

Container

Parent element for Invoice address


elements.
The individual or organization identified
in this element and its children is the one
who is paying for the items being shipped.

PierbridgeShipRequest/

No

Invoice/

Zero or One

String

The name of the company.

String

The first line of the address.

String

The second line of the address.

String

The third line of the address.

String

The city.

CompanyName
PierbridgeShipRequest/

No

Invoice/

Zero or One

Street
PierbridgeShipRequest/

No

Invoice/

Zero or One

Locale
PierbridgeShipRequest/

No

Invoice/

Zero or One

Other
PierbridgeShipRequest/

No

Invoice/

Zero or One

City

56

Ship Programming Information

PierbridgeShipRequest/

No

Invoice/

Zero or One

String

The region.
If in the US, the two-letter state code
should be used, e.g. MA.

Region

The Pierbridge Shipment Server can be


configured to translate any value, e.g.
Massachusetts or Mass. into the
required code.
PierbridgeShipRequest/

No

Invoice/

Zero or One

String

The postal or zip code.

String

The country.

PostalCode
PierbridgeShipRequest/

No

Invoice/

Zero or One

The standard two-letter country codes


should be used, e.g. US or CA.

Country

The Pierbridge Shipment Server can be


configured to translate any value, e.g.
USA or United States into the required
code.
PierbridgeShipRequest/

No

International

Zero or One

PierbridgeShipRequest/

No

International/

Zero or One

Container

Parent element for shipment-level


international shipping elements.

Container

Parent element for international duty


payer elements.
If the element is omitted, then it is
assumed that the sender is paying the
duty charges.

Duty

PierbridgeShipRequest/

No

International/

Zero or One

Integer

The numeric identifier of the type of


payer.
If the element is omitted, then it is
assumed that the sender is paying the
duty charges.

Duty/
PayerType

See Appendix A for valid values.


PierbridgeShipRequest/

No

International/

Zero or One

String

The account number of the duty payer.


Only needed if PayerType is set to 2
(receiver) or 3 (third party).

Duty/
AccountNumber
PierbridgeShipRequest/

No

International/

Zero or One

UltimateDestinationCountry

String

The ultimate destination country of the


shipment.
Used if the receiver is an intermediatary
who will forward the shipment to this
country.
The standard two-letter country codes
should be used, e.g. US or CA.
The Pierbridge Shipment Server can be
configured to translate any value, e.g.
USA or United States into the required
code.

57

Ship Programming Information

PierbridgeShipRequest/

No

International/

Zero or One

Boolean

Indicates whether the sender and receiver


are related.
Special rules apply to international
shipments between related parties.

SenderReceiverRelated
PierbridgeShipRequest/

No

International/

Zero or One

Float

The total dutiable value of the shipment.


If this element is omitted then the
Shipment Server will calculate this value
based on the Shipments contents.

TotalDutyValue

The units (e.g. USD or CAD) are


determined by the configuration of the
Pierbridge Shipment Server.
PierbridgeShipRequest/

No

International/

Zero or One

String

The transaction number associated with


the filing of a Shippers Export
Declaration for the shipment.

Integer

The numeric identifier for the terms of


sale type.

AESTransactionNumber
PierbridgeShipRequest/

No

International/

Zero or One

This indicates the rights and obligations of


each party when it comes to transporting
the shipment.

TermsOfSale

See Appendix A for valid values.


PierbridgeShipRequest/

Yes

Packages

One

PierbridgeShipRequest/

Yes

Packages/

One

Container

Parent element for packages elements.

Container

Parent element for a package element.

Container

Parent element for Record Identifier


elements at the package-level.

Package
PierbridgeShipRequest/

No

Packages/

Zero or One

Record Identifiers allow you to associate


zero or more key values with a package.

Package/
RecordIdentifiers

These are typically used to link a package


to key values in external systems, e.g. a
stock or sales database.

PierbridgeShipRequest/

No

Packages/

Zero or Many

Package/
RecordIdentifiers/
RecordIdentifier

Container

Parent element for information about


each Record Identifier.
Include one of these elements for each
Record Identifier.

58

Ship Programming Information

PierbridgeShipRequest/

No

Packages/

Zero or Many

Container

Parent element for information about the


Record Identifiers keys.

String

First key value.

String

Second key value.

String

Third key value.

String

Fourth key value.

Package/
RecordIdentifiers/
RecordIdentifier/
Keys
PierbridgeShipRequest/

No

Packages/

Zero or One

Package/
RecordIdentifiers/
RecordIdentifier/
Keys/
Key1
PierbridgeShipRequest/

No

Packages/

Zero or One

Package/
RecordIdentifiers/
RecordIdentifier/
Keys/
Key2
PierbridgeShipRequest/

No

Packages/

Zero or One

Package/
RecordIdentifiers/
RecordIdentifier/
Keys/
Key3
PierbridgeShipRequest/

No

Packages/

Zero or One

Package/
RecordIdentifiers/
RecordIdentifier/
Keys/
Key4

59

Ship Programming Information

PierbridgeShipRequest/

No

Packages/

Zero or One

String

Fifth key value.

String

Sixth key value.

Container

Parent element for Output elements at


the package-level.

Package/
RecordIdentifiers/
RecordIdentifier/
Keys/
Key5
PierbridgeShipRequest/

No

Packages/

Zero or One

Package/
RecordIdentifiers/
RecordIdentifier/
Keys/
Key6
PierbridgeShipRequest/

No

Packages/

Zero or One

Output elements are used to modify (in a


limited way) how the labels and
documents are produced.

Package/
Outputs

PierbridgeShipRequest/

No

Packages/

Zero or Many

Container

Parent element for information about


each Output.
Include one of these elements for each
Output.

Package/
Outputs/
Output
PierbridgeShipRequest/

No

Packages/

Zero or One

Integer

The type of label or document.


If blank then all other settings in this
block apply to all labels and documents.

Package/

See Appendix A for valid values.

Outputs/
Output/
OutputType
PierbridgeShipRequest/

No

Packages/

Zero or One

Package/
Outputs/
Output/
Copies

Integer

The number of copies of the label or


document to produce.

60

Ship Programming Information

PierbridgeShipRequest/

No

Packages/

Zero or One

Integer

Package/

The number of pieces (e.g. packages,


pallets) to produce the label or document
for.
E.g. if set to 2 then labels with '1 of 2' and
'2 or 2' indicators will be produced.

Outputs/
Output/
Pieces
PierbridgeShipRequest/

No

Packages/

Zero or One

Integer

The numeric identifier of the printer to


print the label or document to.
Must be a value from the Printers.[ID]
column in the Pierbridge Shipment Server
database.

Package/
Outputs/
Output/
PrinterID
PierbridgeShipRequest/

No

Packages/

Zero or One

Boolean

Indicates whether to print the label or


document to the front-end.
Omit the element if the default printing
method for the label or document is to be
used, else set to True.

Package/
Outputs/
Output/
PrintToClient
PierbridgeShipRequest/

No

Packages/

Zero or One

Integer

Indicates the number of additional copies


of the package that are to be shipped.
Defaults to zero additional copies if
omitted.

Package/
Copies
PierbridgeShipRequest/

No

Packages/

Zero or One

String

The reference number that you want to


associate with the package.
This value will appear on the packages
label.

Package/
ShipperReference
PierbridgeShipRequest/

No

Packages/

Zero or One

String

Can be used to associate a package with a


reference number.

String

Can be used to associate a package with a


reference number.

Package/
ReferenceOne
PierbridgeShipRequest/

No

Packages/

Zero or One

Package/
ReferenceTwo

61

Ship Programming Information

PierbridgeShipRequest/

No

Packages/

Zero or One

String

Can be used to associate a package with a


reference number.

String

The name of the person the package is to


be shipped to.

Package/
ReferenceThree
PierbridgeShipRequest/

Yes

Packages/

One

This element is provided at this level,


rather than the shipment-level, as
packages may require the attention of
different people at the same address.

Package/
ReceiverName
PierbridgeShipRequest/

Yes

Packages/

One

String

The telephone number of the person the


package is to be shipped to.
This element is provided at this level,
rather than the shipment-level, as
packages may require the attention of
different people at the same address.

Package/
ReceiverPhone
PierbridgeShipRequest/

No

Packages/

Zero or One

String

The email address of the person the


package is to be shipped to.
This element is provided at this level,
rather than the shipment-level, as
packages may require the attention of
different people at the same address.

Package/
ReceiverEmail
PierbridgeShipRequest/

Yes

Packages/

One

Integer

Package/

The numeric identifier for the type of


package the items to be shipped are
contained in.
See Appendix A for valid values.

PackageType
PierbridgeShipRequest/

Yes

Packages/

One

Float

The weight of the package.


The units (e.g. pound or kilogram) are
determined by the configuration of the
Pierbridge Shipment Server.

Package/
Weight
PierbridgeShipRequest/

No

Packages/

Zero or One

Integer

The length of the package.


The units (e.g. inch or centimeter) are
determined by the configuration of the
Pierbridge Shipment Server.

Package/
Length
PierbridgeShipRequest/

No

Packages/

Zero or One

Package/
Width

Integer

The width of the package.


The units (e.g. inch or centimeter) are
determined by the configuration of the
Pierbridge Shipment Server.

62

Ship Programming Information

PierbridgeShipRequest/

No

Packages/

Zero or One

Integer

The height of the package.


The units (e.g. inch or centimeter) are
determined by the configuration of the
Pierbridge Shipment Server.

Package/
Height
PierbridgeShipRequest/

No

Packages/

Zero or One

String

The description of the packages content.


This value will appear on the packages
label.

Package/
ContentDescription
PierbridgeShipRequest/

No

Packages/

Zero or One

String

The tracking number that is to be


assigned to the package.
Used for carriers that do not autogenerate tracking numbers.

Package/
WayBillNumber
PierbridgeShipRequest/

No

Packages/

Zero or One

Container

Parent element for information about


Insurance.
If insurance is not required for this
package, then omit this element and its
children.

Package/
Insurance
PierbridgeShipRequest/

No

Packages/

Zero or One

Integer

This value should be set to 1 if insurance


is required.

Float

The value the package is to be insured


for.

Package/
Insurance/
Type
PierbridgeShipRequest/

No

Packages/

Zero or One

The units (e.g. USD or CAD) are


determined by the configuration of the
Pierbridge Shipment Server.

Package/
Insurance/
Value
PierbridgeShipRequest/

No

Packages/

Zero or One

Container

Parent element for information about


Collect On Delivery (COD).
If COD is not required for this package,
then omit this element and its children.

Package/
COD
PierbridgeShipRequest/

No

Packages/

Zero or One

Package/
COD/
Type

Integer

The numeric identifier for the type of


Collect On Delivery.
See Appendix A for valid values.

63

Ship Programming Information

PierbridgeShipRequest/

No

Packages/

Zero or One

Float

The value that is to be collected by the


carrier when this package is delivered.
The units (e.g. USD or CAD) are
determined by the configuration of the
Pierbridge Shipment Server.

Package/
COD/
Value
PierbridgeShipRequest/

No

Packages/

Zero or One

Boolean

Package/

Indicates whether the package should be


held for collection at a carriers depot or
some other location.
Omit this element if the package is not to
be held, else set to True.

Hold
PierbridgeShipRequest/

No

Packages/

Zero or One

Container

Package/

Parent element for information about the


individual or organization who is to hold
the package for collection.
If holder information is not required for
this package, then omit this element and
its children.

Holder
PierbridgeShipRequest/

No

Packages/

Zero or One

String

The name of the individual who is to hold


the package for collection.

String

The name of the company where the


package is to be held for collection.

String

The first line of the address where the


package is to be held for collection.

String

The second line of the address where the


package is to be held for collection.

Package/
Holder/
Name
PierbridgeShipRequest/

No

Packages/

Zero or One

Package/
Holder/
CompanyName
PierbridgeShipRequest/

No

Packages/

Zero or One

Package/
Holder/
Street
PierbridgeShipRequest/

No

Packages/

Zero or One

Package/
Holder/
Locale

64

Ship Programming Information

PierbridgeShipRequest/

No

Packages/

Zero or One

String

The third line of the address where the


package is to be held for collection.

String

The city where the package is to be held


for collection.

String

The region where the package is to be


held for collection

Package/
Holder/
Other
PierbridgeShipRequest/

No

Packages/

Zero or One

Package/
Holder/
City
PierbridgeShipRequest/

No

Packages/

Zero or One

If in the US, the two-letter state code


should be used, e.g. MA.

Package/
Holder/

The Pierbridge Shipment Server can be


configured to translate any value, e.g.
Massachusetts or Mass. into the
required code.

Region

PierbridgeShipRequest/

No

Packages/

Zero or One

String

The postal or zip code where the package


is to be held for collection.

String

The country where the package is to be


held for collection

Package/
Holder/
PostalCode
PierbridgeShipRequest/

No

Packages/

Zero or One

The standard two-letter country codes


should be used, e.g. US or CA.

Package/
Holder/

The Pierbridge Shipment Server can be


configured to translate any value, e.g.
USA or United States into the required
code.

Country

PierbridgeShipRequest/

No

Packages/

Zero or One

String

The phone number of the individual who


is to hold the package for collection.

Boolean

Indicates that extra handling measures


are required when loading the package.

Package/
Holder/
Phone
PierbridgeShipRequest/

No

Packages/

Zero of One

Package/
AdditionalHandling

Omit this element if the package does not


require additional handling, else set to
True.

65

Ship Programming Information

PierbridgeShipRequest/

No

Packages/

Zero of One

Integer

The numeric identifier for the packages


oversize status.

Package/

Omit this element if the package is not


oversize.

Oversize

See Appendix A for valid values.

PierbridgeShipRequest/

No

Packages/

Zero of One

Boolean

Indicates that this package has UPS Large


Package dimensions.
Omit this element if the package does not
have UPS Large Package dimensions,
else set to True.

Package/
LargePackage
PierbridgeShipRequest/

No

Packages/

Zero of One

Integer

Package/

The numeric identifier for the type of


delivery confirmation required for this
package.
Omit this element if the delivery
confirmation is not required.

DeliveryConfirmation

See Appendix A for valid values.


PierbridgeShipRequest/

No

Packages/

Zero of One

String

The freight class of the package.


Used when LTL shipping.

Package/
FreightClass
PierbridgeShipRequest/

No

Packages/

Zero of One

String

The National Motor Freight Classification


of the package.
Used when LTL shipping.

Package/
NMFC
PierbridgeShipRequest/

No

Packages/

Zero of One

Integer

The number of items on a pallet.


Used when LTL shipping, where the
Package can be treated as a pallet.

Package/
ItemsOnPallet
PierbridgeShipRequest/

No

Packages/

Zero of One

Boolean

Indicates that the package is to be picked


up inside.
Omit this element if inside pickup is not
required, else set to True.

Package/
InsidePickup
PierbridgeShipRequest/

No

Packages/

Zero of One

Package/
InsideDelivery

Boolean

Indicates that the package is to be


delivered inside.
Omit this element if inside delivery is not
required, else set to True.

66

Ship Programming Information

PierbridgeShipRequest/

No

Packages/

Zero of One

Boolean

Indicates that the package is a nonstandard container.


Omit this element if the package is in a
standard container, else set to True.

Package/
NonStandardContainer
PierbridgeShipRequest/

No

Packages/

Zero of One

Boolean

Indicates that email notification of the


packages delivery is required.
The value in element ReceiverEmail must
be provided if this value is set to True.

Package/
EmailNotification

Omit this element if email notification is


not required, else set to True.

PierbridgeShipRequest/

No

Packages/

Zero or One

Container

Parent element for information about the


international aspects of the package.
If international shipping is not being
performed then this element can be
omitted.

Package/
International
PierbridgeShipRequest/

No

Packages/

Zero or One

Boolean

Indicates whether the package contains


only documents.
Omit this element if the package contains
items other than documents.

Package/
International/

If this element has a value of True then


the following Contents element is not
required.

DocumentsOnly
PierbridgeShipRequest/

No

Packages/

Zero or One

Container

Parent element for information about the


packages contents.
If the package contains only documents
then this element and its children can be
omitted.

Package/
International/
Contents
PierbridgeShipRequest/

No

Packages/

Zero or Many

Container

Parent element for information about


each Content item.
Include one of these elements for each
Content item.

Package/
International/
Contents/
Content
PierbridgeShipRequest/

No

Packages/

Zero or One

Package/
International/
Contents/
Content/
RecordIdentifiers

Container

Parent element for Record Identifier


elements at the content-level.
Record Identifiers allow you to associate
zero or more key values with a content
item.
These are typically used to link a content
item to key values in external systems,
e.g. a stock or sales database.

67

Ship Programming Information

PierbridgeShipRequest/

No

Packages/

Zero or Many

Container

Parent element for information about


each Record Identifier.
Include one of these elements for each
Record Identifier.

Package/
International/
Contents/
Content/
RecordIdentifiers/
RecordIdentifier
PierbridgeShipRequest/

No

Packages/

Zero or Many

Container

Parent element for information about the


Record Identifiers keys.

String

First key value.

String

Second key value.

Package/
International/
Contents/
Content/
RecordIdentifiers/
RecordIdentifier/
Keys
PierbridgeShipRequest/

No

Packages/

Zero or One

Package/
International/
Contents/
Content/
RecordIdentifiers/
RecordIdentifier/
Keys/
Key1
PierbridgeShipRequest/

No

Packages/

Zero or One

Package/
International/
Contents/
Content/
RecordIdentifiers/
RecordIdentifier/
Keys/
Key2

68

Ship Programming Information

PierbridgeShipRequest/

No

Packages/

Zero or One

String

Third key value.

String

Fourth key value.

String

Fifth key value.

Package/
International/
Contents/
Content/
RecordIdentifiers/
RecordIdentifier/
Keys/
Key3
PierbridgeShipRequest/

No

Packages/

Zero or One

Package/
International/
Contents/
Content/
RecordIdentifiers/
RecordIdentifier/
Keys/
Key4
PierbridgeShipRequest/

No

Packages/

Zero or One

Package/
International/
Contents/
Content/
RecordIdentifiers/
RecordIdentifier/
Keys/
Key5

69

Ship Programming Information

PierbridgeShipRequest/

No

Packages/

Zero or One

String

Sixth key value.

String

The Harmonized, or Schedule-B, code for


the item.

Integer

The number of items of this content type


that are in this package.

Integer

The number of items of this content type


that were ordered.

Package/
International/
Contents/
Content/
RecordIdentifiers/
RecordIdentifier/
Keys/
Key6
PierbridgeShipRequest/

No

Packages/

Zero or One

Package/
International/
Contents/
Content/
Code
PierbridgeShipRequest/

No

Packages/

Zero or One

Package/
International/
Contents/
Content/
Quantity
PierbridgeShipRequest/

No

Packages/

Zero or One

Package/
International/
Contents/
Content/
OrderedQuantity

70

Ship Programming Information

PierbridgeShipRequest/

No

Packages/

Zero or One

Integer

The number of items of this content type


that are on back order.

Float

The value of a single item.

Package/
International/
Contents/
Content/
BackOrderedQuantity
PierbridgeShipRequest/

No

Packages/

Zero or One

The units (e.g. USD or CAD) are


determined by the configuration of the
Pierbridge Shipment Server.

Package/
International/
Contents/
Content/
Value
PierbridgeShipRequest/

No

Packages/

Zero or One

Float

The weight of a single item.


The units (e.g. pound or kilogram) are
determined by the configuration of the
Pierbridge Shipment Server.

Package/
International/
Contents/
Content/
Weight
PierbridgeShipRequest/

No

Packages/

Zero or One

String

The description of the item.

String

The country the item originated from.

Package/
International/
Contents/
Content/
Description
PierbridgeShipRequest/

No

Packages/

Zero or One

Package/
International/
Contents/
Content/
OriginCountry

71

Ship Programming Information

PierbridgeShipRequest/

No

Packages/

Zero or One

String

Receivers purchase order number.


Printed on shipping documentation.

Package/
International/
Contents/
Content/
PurchaseOrderNumber
PierbridgeShipRequest/

No

Packages/

Zero or One

String

Your sales order number.


Printed on shipping documentation.

Package/
International/
Contents/
Content/
SalesOrderNumber
PierbridgeShipRequest/

No

Packages/

Zero or One

String

Any other code associated with the item.

String

Any other description for the item.

String

The customers code for the item.

Package/
International/
Contents/
Content/
ItemCode
PierbridgeShipRequest/

No

Packages/

Zero or One

Package/
International/
Contents/
Content/
ItemDescription
PierbridgeShipRequest/

No

Packages/

Zero or One

Package/
International/
Contents/
Content/
CustomerCode

72

Ship Programming Information

PierbridgeShipRequest/

No

Packages/

Zero or One

String

The part number of the item.

String

The bin number of the item.

String

The lot number of the item.

String

The serial number of the item.

String

The Windows username of the user who is


submitting the request.

Package/
International/
Contents/
Content/
PartNumber
PierbridgeShipRequest/

No

Packages/

Zero or One

Package/
International/
Contents/
Content/
BinNumber
PierbridgeShipRequest/

No

Packages/

Zero or One

Package/
International/
Contents/
Content/
LotNumber
PierbridgeShipRequest/

No

Packages/

Zero or One

Package/
International/
Contents/
Content/
SerialNumber
PierbridgeShipRequest/

Yes

UserName

One

73

Ship Programming Information

74

XML RESPONSE
After the above XML request has been POSTed on the HTTP connection an XML response
will be returned, which will adhere to the following structure.
Note that charges are returned at shipment- and package-levels. For a shipment that
contains one package these will be the same. For a multipack shipment the shipmentlevel charges will be the sum over all package charges.

Element (XPath)

Required/

Type

Description

Container

Root element.

String

Used to synchronize request/response


pairs.

Cardinality
PierbridgeShipResponse

Yes
One

PierbridgeShipResponse/

No

TransactionIdentifier

Zero or One

It can contain any valid XML element


content and is echoed back in the
response.
PierbridgeShipResponse/

Yes

Shipping

One

Container

Parent element for information about


shipment-level shipping charges and
commitment level.
These are the charges that are returned
by the carrier.

PierbridgeShipResponse/

Yes

Shipping/

One

Float

The units (e.g. USD or CAD) are


determined by the configuration of the
Pierbridge Shipment Server.

ShippingCharge

PierbridgeShipResponse/

Yes

Shipping/

One

Float

The estimated cost for any requested


extra services, e.g. insurance, COD.
The units (e.g. USD or CAD) are
determined by the configuration of the
Pierbridge Shipment Server.

AccessorialCharge

PierbridgeShipResponse/

Yes

Shipping/

One

Float

PierbridgeShipResponse/

Yes

Shipping/

One

Any other costs for shipping the shipment.


The units (e.g. USD or CAD) are
determined by the configuration of the
Pierbridge Shipment Server.

OtherCharge

TotalCharge

The estimated cost for shipping the


shipment.

Float

The total cost for shipping the shipment.


This is the sum of shipping, accessorial,
and other costs.
The units (e.g. USD or CAD) are
determined by the configuration of the
Pierbridge Shipment Server.

Ship Programming Information

PierbridgeShipResponse/

Yes

Shipping/

One

String

An indication of how long it will take for


the package to get to the receiver.

Container

Parent element for information about


shipment-level customer charges and
commitment level.

CommitmentLevel
PierbridgeShipResponse/

Yes

Customer

One

Customer charges are those that the


customer pays.
These charges can be calculated in many
ways, all of which require extra
configuration of the Pierbridge Shipment
Server.
If no extra calculations are performed
then they will be the same as the Shipping
charges.
PierbridgeShipResponse/

Yes

Customer/

One

Float

The estimated cost for shipping the


shipment.
The units (e.g. USD or CAD) are
determined by the configuration of the
Pierbridge Shipment Server.

ShippingCharge

PierbridgeShipResponse/

Yes

Customer/

One

Float

The estimated cost for any requested


extra services, e.g. insurance, COD.
The units (e.g. USD or CAD) are
determined by the configuration of the
Pierbridge Shipment Server.

AccessorialCharge

PierbridgeShipResponse/

Yes

Customer/

One

Float

The units (e.g. USD or CAD) are


determined by the configuration of the
Pierbridge Shipment Server.

OtherCharge
PierbridgeShipResponse/

Yes

Customer/

One

Any other costs for shipping the shipment.

Float

The total cost for shipping the shipment.


This is the sum of shipping, accessorial,
and other costs.

TotalCharge

The units (e.g. USD or CAD) are


determined by the configuration of the
Pierbridge Shipment Server.
PierbridgeShipResponse/

Yes

Customer/

One

String

An indication of how long it will take for


the package to get to the receiver.

Container

Parent element for shipment document


elements.

CommitmentLevel
PierbridgeShipResponse/

No

Documents

Zero or One

Note, documents are only included in the


response if they are configured to do so.

75

Ship Programming Information

PierbridgeShipResponse/

No

Documents/

Zero or One

Container

Parent element for shipment document


elements.
One of these elements is provided for
each document associated with the
shipment.

Output

PierbridgeShipResponse/

No

Documents/

Zero or One

Integer

Numeric identifier for the type of


document.
See Appendix A for valid values.

Output/
Type
PierbridgeShipResponse/

No

Documents/

Zero or One

Integer

Numeric identifier for the format of the


document.
See Appendix A for valid values.

Output/
Format
PierbridgeShipResponse/

No

Documents/

Zero or One

String

Mime-Type of the document.

String

A base64-encoded string that contains the


document data.

Container

Parent element for packages elements.

Container

Parent element for a package element.

Container

Parent element for package status


elements.

Integer

Indicates whether the package has been


successfully shipped.

Output/
MimeType
PierbridgeShipResponse/

No

Documents/

Zero or One

Output/
Content
PierbridgeShipResponse/

Yes

Packages

One

PierbridgeShipResponse/

Yes

Packages/

One

Package
PierbridgeShipResponse/

Yes

Packages/

One

Package/
Status
PierbridgeShipResponse/

Yes

Packages/

One

Package/
Status/
Code

A value of 0 indicates failure and 1


indicates success.

76

Ship Programming Information

PierbridgeShipResponse/

Yes

Packages/

One

String

A textual description of the packages


success.
If the package has failed, then the value
will summarise why it failed.

Package/
Status/
Description
PierbridgeShipResponse/

No

Packages/

Zero or One

String

The reference number that you associated


with the package in the request.
This value will appear on the packages
label.

Package/
ShipperReference
PierbridgeShipResponse/

Yes

Packages/

One

String

The tracking number that has been


assigned to the package.

Integer

A unique numeric identifier for the


package.

Container

Parent element for package labels


elements.

Package/
WayBillNumber
PierbridgeShipResponse/

Yes

Packages/

One

Package/
PackageID
PierbridgeShipResponse/

No

Packages/

Zero or One

Note, labels are only included in the


response if they are configured to do so.

Package/
Labels
PierbridgeShipResponse/

No

Packages/

Zero or Many

Container

Parent element for package label


elements.
One of these elements is provided for
each label associated with the package.

Package/
Labels/
Output
PierbridgeShipResponse/

No

Packages/

Zero or One

Package/
Labels/
Output/
Type

Integer

Numeric identifier for the type of label.


See Appendix A for valid values.

77

Ship Programming Information

PierbridgeShipResponse/

No

Packages/

Zero or One

Integer

Numeric identifier for the format of the


label.
See Appendix A for valid values.

Package/
Labels/
Output/
Format
PierbridgeShipResponse/

No

Packages/

Zero or One

String

Mime-Type of the label.

String

A base64-encoded string that contains the


label data.

Container

Parent element for information about


package-level shipping charges.

Package/
Labels/
Output/
MimeType
PierbridgeShipResponse/

No

Packages/

Zero or One

Package/
Labels/
Output/
Content
PierbridgeShipResponse/

Yes

Packages/

One

These are the charges that are returned


by the carrier.

Package/
Shipping
PierbridgeShipResponse/

Yes

Packages/

One

Float

The estimated cost for shipping the


package.
The units (e.g. USD or CAD) are
determined by the configuration of the
Pierbridge Shipment Server.

Package/
Shipping/
ShippingCharge
PierbridgeShipResponse/

Yes

Packages/

One

Package/
Shipping/
AccessorialCharge

Float

The estimated cost for any requested


extra services, e.g. insurance, COD.
The units (e.g. USD or CAD) are
determined by the configuration of the
Pierbridge Shipment Server.

78

Ship Programming Information

PierbridgeShipResponse/

Yes

Packages/

One

Float

Any other costs for shipping the package.


The units (e.g. USD or CAD) are
determined by the configuration of the
Pierbridge Shipment Server.

Package/
Shipping/
OtherCharge
PierbridgeShipResponse/

Yes

Packages/

One

Float

The total cost for shipping the package.


This is the sum of shipping, accessorial,
and other costs.

Package/

The units (e.g. USD or CAD) are


determined by the configuration of the
Pierbridge Shipment Server.

Shipping/
TotalCharge
PierbridgeShipResponse/

Yes

Packages/

One

Container

Parent element for information about


package-level customer charges.
Customer charges are those that the
customer pays.

Package/
Customer

These charges can be calculated in many


ways, all of which require extra
configuration of the Pierbridge Shipment
Server.
If no extra calculations are performed
then they will be the same as the Shipping
charges.

PierbridgeShipResponse/

Yes

Packages/

One

Float

The estimated cost for shipping the


package.
The units (e.g. USD or CAD) are
determined by the configuration of the
Pierbridge Shipment Server.

Package/
Customer/
ShippingCharge
PierbridgeShipResponse/

Yes

Packages/

One

Float

The estimated cost for any requested


extra services, e.g. insurance, COD.
The units (e.g. USD or CAD) are
determined by the configuration of the
Pierbridge Shipment Server.

Package/
Customer/
AccessorialCharge
PierbridgeShipResponse/

Yes

Packages/

One

Package/
Customer/
OtherCharge

Float

Any other costs for shipping the package.


The units (e.g. USD or CAD) are
determined by the configuration of the
Pierbridge Shipment Server.

79

Ship Programming Information

PierbridgeShipResponse/

Yes

Packages/

One

Package/
Customer/
TotalCharge

Float

The total cost for shipping the package.


This is the sum of shipping, accessorial,
and other costs.
The units (e.g. USD or CAD) are
determined by the configuration of the
Pierbridge Shipment Server.

80

Ship Programming Information

81

BASIC PACKAGE
The following XML ships a package. This represents the minimum information that is
typically provided for package shipping.
A DHL ground carrier service has been specified in this example.
Note that the Content elements (in the response XML) have an empty value; these
elements, when they have a value, have a large base64-encoded string, which is omitted
here for brevity.

XML Request
<?xml version="1.0" encoding="UTF-8"?>
<PierbridgeShipRequest>
<Carrier>1</Carrier>
<ServiceType>6</ServiceType>
<ShipDate></ShipDate>
<Receiver>
<Street>1600 Pennsylvania Avenue NW</Street>
<City>Washington</City>
<Region>DC</Region>
<PostalCode>20500</PostalCode>
<Country>US</Country>
</Receiver>
<Packages>
<Package>
<ReceiverName>Mr President</ReceiverName>
<ReceiverPhone>202-456-1414</ReceiverPhone>
<PackageType>2</PackageType>
<Weight>10.5</Weight>
</Package>
</Packages>
<UserName>user</UserName>
</PierbridgeShipRequest>

XML Response
<?xml version="1.0" encoding="utf-8"?>
<PierbridgeShipResponse>
<Shipping>
<ShippingCharge>5.35</ShippingCharge>
<AccessorialCharge>0.24</AccessorialCharge>
<OtherCharge>0.00</OtherCharge>
<TotalCharge>5.59</TotalCharge>
<CommitmentLevel>Est. delivery in 2 business day(s)</CommitmentLevel>
</Shipping>
<Customer>
<ShippingCharge>5.11</ShippingCharge>
<AccessorialCharge>0.00</AccessorialCharge>
<OtherCharge>0.00</OtherCharge>
<TotalCharge>5.11</TotalCharge>
<CommitmentLevel></CommitmentLevel>
</Customer>
<Packages>
<Package>
<Status>
<Code>1</Code>
<Description>Success</Description>
</Status>
<WayBillNumber>28652708254</WayBillNumber>
<Shipping>
<ShippingCharge>5.35</ShippingCharge>

Ship Programming Information


<AccessorialCharge>0.24</AccessorialCharge>
<OtherCharge>0</OtherCharge>
<TotalCharge>5.59</TotalCharge>
</Shipping>
<Customer>
<ShippingCharge>5.11</ShippingCharge>
<AccessorialCharge>0.00</AccessorialCharge>
<OtherCharge>0</OtherCharge>
<TotalCharge>5.11</TotalCharge>
</Customer>
<Labels>
<Output>
<Type>1</Type>
<Format>1</Format>
<MimeType>image/png</MimeType>
<Content></Content>
</Output>
</Labels>
<PackageID>6544</PackageID>
<ShipperReference>REF0001</ShipperReference>
<ReceiverName>Mr President</ReceiverName>
<ReceiverPhone>202-456-1414</ReceiverPhone>
</Package>
</Packages>
<Carrier>1</Carrier>
<CarrierName>DHL</CarrierName>
<ServiceType>6</ServiceType>
<ServiceTypeName>Ground</ServiceTypeName>
<Weight>10.5</Weight>
<TransactionIdentifier>0123456789</TransactionIdentifier>
<ShipmentID>2461</ShipmentID>
</PierbridgeShipResponse>

82

Ship Programming Information

83

INTERNATIONAL
The following Xml ships an international package, which contains two different types of
content.
A FedEx International Priority carrier service has been specified in this example.
Note that the Content elements (in the response XML) have an empty value; these
elements, when they have a value, have a large base64-encoded string, which is omitted
here for brevity.

XML Request
<?xml version="1.0" encoding="UTF-8"?>
<PierbridgeShipRequest>
<Carrier>3</Carrier>
<ServiceType>26</ServiceType>
<ShipDate></ShipDate>
<Receiver>
<CompanyName>Public Works and Government Services Canada</CompanyName>
<Street>Main Street</Street>
<City>Ottawa</City>
<Region>ON</Region>
<PostalCode>K1A 0S5</PostalCode>
<Country>CA</Country>
</Receiver>
<Packages>
<Package>
<ShipperReference>REF0002</ShipperReference>
<ReceiverName>Mr Minister</ReceiverName>
<ReceiverPhone>1-800-622-6232</ReceiverPhone>
<PackageType>11</PackageType>
<Weight>10.5</Weight>
<Length>8</Length>
<Width>8</Width>
<Height>8</Height>
<International>
<Contents>
<Content>
<Code>090122</Code>
<Quantity>2</Quantity>
<Value>200</Value>
<Weight>20</Weight>
<Description>shoes</Description>
<OriginCountry>MX</OriginCountry>
</Content>
<Content>
<Code>490199</Code>
<Quantity>100</Quantity>
<Value>26</Value>
<Weight>5</Weight>
<Description>books</Description>
<OriginCountry>US</OriginCountry>
</Content>
</Contents>
</International>
</Package>
</Packages>
<UserName>user</UserName>
</PierbridgeShipRequest>

XML Response
<?xml version="1.0" encoding="utf-8"?>
<PierbridgeShipResponse>

Ship Programming Information


<Shipping>
<ShippingCharge>81.00</ShippingCharge>
<AccessorialCharge>0.00</AccessorialCharge>
<OtherCharge>0.00</OtherCharge>
<TotalCharge>81.00</TotalCharge>
<CommitmentLevel>Not Specified</CommitmentLevel>
</Shipping>
<Customer>
<ShippingCharge>100.00</ShippingCharge>
<AccessorialCharge>0.00</AccessorialCharge>
<OtherCharge>0.00</OtherCharge>
<TotalCharge>100.00</TotalCharge>
<CommitmentLevel></CommitmentLevel>
</Customer>
<Packages>
<Package>
<Status>
<Code>1</Code>
<Description>Success</Description>
</Status>
<WayBillNumber>1Z42070X6698094772</WayBillNumber>
<Shipping>
<ShippingCharge>81</ShippingCharge>
<AccessorialCharge>0</AccessorialCharge>
<OtherCharge>0</OtherCharge>
<TotalCharge>81</TotalCharge>
</Shipping>
<Customer>
<ShippingCharge>100.00</ShippingCharge>
<AccessorialCharge>0.00</AccessorialCharge>
<OtherCharge>0.00</OtherCharge>
<TotalCharge>100.00</TotalCharge>
</Customer>
<Labels>
<Output>
<Type>1</Type>
<Format>1</Format>
<MimeType>image/gif</MimeType>
<Content></Content>
</Output>
</Labels>
<PackageID>6548</PackageID>
<ShipperReference>REF0002</ShipperReference>
<ReceiverName>Mr Minister</ReceiverName>
<ReceiverPhone>1-800-622-6232</ReceiverPhone>
</Package>
</Packages>
<Carrier>3</Carrier>
<ServiceType>26</ServiceType>
<Weight>10.5</Weight>
<Documents>
<Output>
<Type>5</Type>
<Format>7</Format>
<MimeType>image/tiff</MimeType>
<Content></Content>
</Output>
</Documents>
<ShipmentID>2465</ShipmentID>
</PierbridgeShipResponse>

84

Multipack Programming Information

85

MULTIPACK PROGRAMMING INFORMATION


This interface allows you to add packages to the database, which enables multipack
rating, rate shopping and shipping, i.e. rating or shipping of more than one package in a
single shipment.
In the XML request you specify information such as the receiver, item detail such as weight
and dimesions, and any special services required (e.g. collect-on-delivery or insurance).
The XML response will indicate whether your request has succeeded. If it hasnt then an
indication of what went wrong will be provided.
To process a multipack rate, rate shop or ship the relevant interface (Rate, Rate Shop or
Ship) must be submitted with the CloseShipment element set to True. When this
element is set to True the system searches for any previously added packages that meet
all of the following criteria and includes them in the multipack rate, rate shop or ship:

Not previously been shipped;

Added by the same user;

Same first Address Line (element Receiver/Street);

Same Postal Code (element Receiver/PostalCode);

XML REQUEST
The request XML document must adhere to the following structure.

Element (XPath)

Required/

Type

Description

Container

Root element.

String

Used to synchronize request/response


pairs.

Cardinality
PierbridgePackageRequest

Yes
One

PierbridgePackageRequest/

No

TransactionIdentifier

Zero or One

It can contain any valid XML element


content and is echoed back in the
response.
PierbridgePackageRequest/

No

SaturdayDelivery

Zero or One

Boolean

Indicates whether the shipment is to be


delivered on a Saturday.
Omit the element if a Saturday delivery is
not required, else set to True.
Most carriers levy an extra charge for this
option.

PierbridgePackageRequest/

Yes

Packages

One

Container

Parent element for packages elements.

Multipack Programming Information

PierbridgePackageRequest/

Yes

Packages/

One

Container

Parent element for a package element.

Container

Parent element for Record Identifier


elements at the package-level.

Package
PierbridgePackageRequest/

No

Packages/

Zero or One

Record Identifiers allow you to associate


zero or more key values with a package.

Package/
RecordIdentifiers

These are typically used to link a package


to key values in external systems, e.g. a
stock or sales database.

PierbridgePackageRequest/

No

Packages/

Zero or Many

Container

Parent element for information about


each Record Identifier.
Include one of these elements for each
Record Identifier.

Package/
RecordIdentifiers/
RecordIdentifier
PierbridgePackageRequest/

No

Packages/

Zero or Many

Container

Parent element for information about the


Record Identifiers keys.

String

First key value.

String

Second key value.

Package/
RecordIdentifiers/
RecordIdentifier/
Keys
PierbridgePackageRequest/

No

Packages/

Zero or One

Package/
RecordIdentifiers/
RecordIdentifier/
Keys/
Key1
PierbridgePackageRequest/

No

Packages/

Zero or One

Package/
RecordIdentifiers/
RecordIdentifier/
Keys/
Key2

86

Multipack Programming Information

PierbridgePackageRequest/

No

Packages/

Zero or One

String

Third key value.

String

Fourth key value.

String

Fifth key value.

String

Sixth key value.

Container

Parent element for Output elements at


the package-level.

Package/
RecordIdentifiers/
RecordIdentifier/
Keys/
Key3
PierbridgePackageRequest/

No

Packages/

Zero or One

Package/
RecordIdentifiers/
RecordIdentifier/
Keys/
Key4
PierbridgePackageRequest/

No

Packages/

Zero or One

Package/
RecordIdentifiers/
RecordIdentifier/
Keys/
Key5
PierbridgePackageRequest/

No

Packages/

Zero or One

Package/
RecordIdentifiers/
RecordIdentifier/
Keys/
Key6
PierbridgePackageRequest/

No

Packages/

Zero or One

Package/
Outputs

Output elements are used to modify (in a


limited way) how the labels and
documents are produced.

87

Multipack Programming Information

PierbridgePackageRequest/

No

Packages/

Zero or Many

Container

Parent element for information about


each Output.
Include one of these elements for each
Output.

Package/
Outputs/
Output
PierbridgePackageRequest/

No

Packages/

Zero or One

Integer

The type of label or document.


If blank then all other settings in this
block apply to all labels and documents.

Package/

See Appendix A for valid values.

Outputs/
Output/
OutputType
PierbridgePackageRequest/

No

Packages/

Zero or One

Integer

The number of copies of the label or


document to produce.

Integer

The number of pieces (e.g. packages,


pallets) to produce the label or document
for.

Package/
Outputs/
Output/
Copies
PierbridgePackageRequest/

No

Packages/

Zero or One

Package/

E.g. if set to 2 then labels with '1 of 2' and


'2 or 2' indicators will be produced.

Outputs/
Output/
Pieces
PierbridgePackageRequest/

No

Packages/

Zero or One

Integer

The numeric identifier of the printer to


print the label or document to.
Must be a value from the Printers.[ID]
column in the Pierbridge Shipment Server
database.

Package/
Outputs/
Output/
PrinterID
PierbridgePackageRequest/

No

Packages/

Zero or One

Package/
Outputs/
Output/
PrintToClient

Boolean

Indicates whether to print the label or


document to the front-end.
Omit the element if the default printing
method for the label or document is to be
used, else set to True.

88

Multipack Programming Information

PierbridgePackageRequest/

No

Packages/

Zero or One

Integer

Indicates the number of additional copies


of the package that are to be shipped.
Defaults to zero additional copies if
omitted.

Package/
Copies
PierbridgePackageRequest/

No

Packages/

Zero or One

String

The reference number that you want to


associate with the package.
This value will appear on the packages
label.

Package/
ShipperReference
PierbridgePackageRequest/

No

Packages/

Zero or One

String

Can be used to associate a package with a


reference number.

String

Can be used to associate a package with a


reference number.

String

Can be used to associate a package with a


reference number.

Container

Parent element for Receiver address


elements.

String

The name of the person the package is to


be shipped to.

String

The telephone number of the person the


package is to be shipped to.

Package/
ReferenceOne
PierbridgePackageRequest/

No

Packages/

Zero or One

Package/
ReferenceTwo
PierbridgePackageRequest/

No

Packages/

Zero or One

Package/
ReferenceThree
PierbridgePackageRequest/

Yes

Packages/

One

Package/
Receiver
PierbridgePackageRequest/

Yes

Packages/

One

Package/
Receiver/
Name
PierbridgePackageRequest/

Yes

Packages/

One

Package/
Receiver/
Phone

89

Multipack Programming Information

PierbridgePackageRequest/

No

Packages/

Zero or One

String

The email address of the person the


package is to be shipped to.

String

The name of the company the shipment is


to be shipped to.

String

The first line of the address the shipment


is to be shipped to.

String

The second line of the address the


shipment is to be shipped to.

String

The third line of the address the shipment


is to be shipped to.

String

The city the shipment is to be shipped to.

String

The region the shipment is to be shipped


to.

Package/
Receiver/
Email
PierbridgePackageRequest/

No

Packages/

Zero or One

Package/
Receiver/
CompanyName
PierbridgePackageRequest/

Yes

Packages/

One

Package/
Receiver/
Street
PierbridgePackageRequest/

No

Packages/

Zero or One

Package/
Receiver/
Locale
PierbridgePackageRequest/

No

Packages/

Zero or One

Package/
Receiver/
Other
PierbridgePackageRequest/

Yes

Packages/

One

Package/
Receiver/
City
PierbridgePackageRequest/

Yes

Packages/

One

Package/
Receiver/
Region

If in the US, the two-letter state code


should be used, e.g. MA.
The Pierbridge Shipment Server can be
configured to translate any value, e.g.
Massachusetts or Mass. into the
required code.

90

Multipack Programming Information

PierbridgePackageRequest/

Yes

Packages/

One

String

The postal or zip code the shipment is to


be shipped to.

String

The country the shipment is to be shipped


to.

Package/
Receiver/
PostalCode
PierbridgePackageRequest/

Yes

Packages/

One

The standard two-letter country codes


should be used, e.g. US or CA.

Package/
Receiver/

The Pierbridge Shipment Server can be


configured to translate any value, e.g.
USA or United States into the required
code.

Country

PierbridgePackageRequest/

No

Packages/

Zero or One

Boolean

Indicates whether the address to be


shipped to is a residential one.
Omit the element if it is not a residential
address, else set to True.

Package/
Receiver/
Residential
PierbridgePackageRequest/

Yes

Packages/

One

Float

The weight of the package.


The units (e.g. pound or kilogram) are
determined by the configuration of the
Pierbridge Shipment Server.

Package/
Weight
PierbridgePackageRequest/

No

Packages/

Zero or One

Integer

The length of the package.


The units (e.g. inch or centimeter) are
determined by the configuration of the
Pierbridge Shipment Server.

Package/
Length
PierbridgePackageRequest/

No

Packages/

Zero or One

Integer

The width of the package.


The units (e.g. inch or centimeter) are
determined by the configuration of the
Pierbridge Shipment Server.

Package/
Width
PierbridgePackageRequest/

No

Packages/

Zero or One

Integer

The height of the package.


The units (e.g. inch or centimeter) are
determined by the configuration of the
Pierbridge Shipment Server.

Package/
Height
PierbridgePackageRequest/

No

Packages/

Zero or One

Package/
ContentDescription

String

The description of the packages content.


This value will appear on the packages
label.

91

Multipack Programming Information

PierbridgePackageRequest/

No

Packages/

Zero or One

String

The tracking number that is to be


assigned to the package.
Used for carriers that do not autogenerate tracking numbers.

Package/
WayBillNumber
PierbridgePackageRequest/

No

Packages/

Zero or One

Container

Parent element for information about


Insurance.
If insurance is not required for this
package, then omit this element and its
children.

Package/
Insurance
PierbridgePackageRequest/

No

Packages/

Zero or One

Integer

This value should be set to 1 if insurance


is required.

Float

The value the package is to be insured


for.

Package/
Insurance/
Type
PierbridgePackageRequest/

No

Packages/

Zero or One

The units (e.g. USD or CAD) are


determined by the configuration of the
Pierbridge Shipment Server.

Package/
Insurance/
Value
PierbridgePackageRequest/

No

Packages/

Zero or One

Container

Parent element for information about


Collect On Delivery (COD).
If COD is not required for this package,
then omit this element and its children.

Package/
COD
PierbridgePackageRequest/

No

Packages/

Zero or One

Integer

The numeric identifier for the type of


Collect On Delivery.
See Appendix A for valid values.

Package/
COD/
Type
PierbridgePackageRequest/

No

Packages/

Zero or One

Package/
COD/
Value

Float

The value that is to be collected by the


carrier when this package is delivered.
The units (e.g. USD or CAD) are
determined by the configuration of the
Pierbridge Shipment Server.

92

Multipack Programming Information

PierbridgePackageRequest/

No

Packages/

Zero or One

Boolean

Package/

Indicates whether the package should be


held for collection at a carriers depot or
some other location.
Omit this element if the package is not to
be held, else set to True.

Hold
PierbridgePackageRequest/

No

Packages/

Zero or One

Container

Package/

Parent element for information about the


individual or organization who is to hold
the package for collection.
If holder information is not required for
this package, then omit this element and
its children.

Holder
PierbridgePackageRequest/

No

Packages/

Zero or One

String

The name of the individual who is to hold


the package for collection.

String

The name of the company where the


package is to be held for collection.

String

The first line of the address where the


package is to be held for collection.

String

The second line of the address where the


package is to be held for collection.

String

The third line of the address where the


package is to be held for collection.

Package/
Holder/
Name
PierbridgePackageRequest/

No

Packages/

Zero or One

Package/
Holder/
CompanyName
PierbridgePackageRequest/

No

Packages/

Zero or One

Package/
Holder/
Street
PierbridgePackageRequest/

No

Packages/

Zero or One

Package/
Holder/
Locale
PierbridgePackageRequest/

No

Packages/

Zero or One

Package/
Holder/
Other

93

Multipack Programming Information

PierbridgePackageRequest/

No

Packages/

Zero or One

String

The city where the package is to be held


for collection.

String

The region where the package is to be


held for collection

Package/
Holder/
City
PierbridgePackageRequest/

No

Packages/

Zero or One

If in the US, the two-letter state code


should be used, e.g. MA.

Package/
Holder/

The Pierbridge Shipment Server can be


configured to translate any value, e.g.
Massachusetts or Mass. into the
required code.

Region

PierbridgePackageRequest/

No

Packages/

Zero or One

String

The postal or zip code where the package


is to be held for collection.

String

The country where the package is to be


held for collection

Package/
Holder/
PostalCode
PierbridgePackageRequest/

No

Packages/

Zero or One

The standard two-letter country codes


should be used, e.g. US or CA.

Package/
Holder/

The Pierbridge Shipment Server can be


configured to translate any value, e.g.
USA or United States into the required
code.

Country

PierbridgePackageRequest/

No

Packages/

Zero or One

String

The phone number of the individual who


is to hold the package for collection.

Boolean

Indicates that extra handling measures


are required when loading the package.

Package/
Holder/
Phone
PierbridgePackageRequest/

No

Packages/

Zero of One

Omit this element if the package does not


require additional handling, else set to
True.

Package/
AdditionalHandling

PierbridgePackageRequest/

No

Packages/

Zero of One

Integer

The numeric identifier for the packages


oversize status.

Package/

Omit this element if the package is not


oversize.

Oversize

See Appendix A for valid values.

94

Multipack Programming Information

PierbridgePackageRequest/

No

Packages/

Zero of One

Boolean

Indicates that this package has UPS Large


Package dimensions.
Omit this element if the package does not
have UPS Large Package dimensions,
else set to True.

Package/
LargePackage
PierbridgePackageRequest/

No

Packages/

Zero of One

Integer

Package/

The numeric identifier for the type of


delivery confirmation required for this
package.
Omit this element if the delivery
confirmation is not required.

DeliveryConfirmation

See Appendix A for valid values.


PierbridgePackageRequest/

No

Packages/

Zero of One

String

The freight class of the package.


Used when LTL shipping.

Package/
FreightClass
PierbridgePackageRequest/

No

Packages/

Zero of One

String

The National Motor Freight Classification


of the package.
Used when LTL shipping.

Package/
NMFC
PierbridgeShipRequest/

No

Packages/

Zero of One

Integer

The number of items on a pallet.


Used when LTL shipping, where the
Package can be treated as a pallet.

Package/
ItemsOnPallet
PierbridgePackageRequest/

No

Packages/

Zero of One

Boolean

Indicates that the package is to be picked


up inside.
Omit this element if inside pickup is not
required, else set to True.

Package/
InsidePickup
PierbridgePackageRequest/

No

Packages/

Zero of One

Boolean

Indicates that the package is to be


delivered inside.
Omit this element if inside delivery is not
required, else set to True

Package/
InsideDelivery
PierbridgePackageRequest/

No

Packages/

Zero of One

Package/
NonStandardContainer

Boolean

Indicates that the package is a nonstandard container.


Omit this element if the package is in a
standard container, else set to True.

95

Multipack Programming Information

PierbridgePackageRequest/

No

Packages/

Zero of One

Boolean

Indicates that email notification of the


packages delivery is required.
The value in element ReceiverEmail must
be provided if this value is set to True.

Package/
EmailNotification

Omit this element if email notification is


not required, else set to True.

PierbridgePackageRequest/

No

Packages/

Zero or One

Container

Parent element for information about the


international aspects of the package.
If international shipping is not being
performed then this element should be
omitted.

Package/
International
PierbridgePackageRequest/

No

Packages/

Zero or One

Boolean

Indicates whether the package contains


only documents.
Omit this element if the package contains
items other than documents.

Package/
International/

If this element has a value of True then


the following Contents element is not
required.

DocumentsOnly
PierbridgePackageRequest/

No

Packages/

Zero or One

Container

Parent element for information about the


packages contents.
If the package contains only documents
then this element and its children can be
omitted.

Package/
International/
Contents
PierbridgePackageRequest/

No

Packages/

Zero or Many

Container

Parent element for information about


each Content item.
Include one of these elements for each
Content item.

Package/
International/
Contents/
Content
PierbridgePackageRequest/

No

Packages/

Zero or One

Package/
International/
Contents/
Content/
RecordIdentifiers

Container

Parent element for Record Identifier


elements at the content-level.
Record Identifiers allow you to associate
zero or more key values with a content
item.
These are typically used to link a content
item to key values in external systems,
e.g. a stock or sales database.

96

Multipack Programming Information

PierbridgePackageRequest/

No

Packages/

Zero or Many

Container

Parent element for information about


each Record Identifier.
Include one of these elements for each
Record Identifier.

Package/
International/
Contents/
Content/
RecordIdentifiers/
RecordIdentifier
PierbridgePackageRequest/

No

Packages/

Zero or Many

Container

Parent element for information about the


Record Identifiers keys.

String

First key value.

String

Second key value.

Package/
International/
Contents/
Content/
RecordIdentifiers/
RecordIdentifier/
Keys
PierbridgePackageRequest/

No

Packages/

Zero or One

Package/
International/
Contents/
Content/
RecordIdentifiers/
RecordIdentifier/
Keys/
Key1
PierbridgePackageRequest/

No

Packages/

Zero or One

Package/
International/
Contents/
Content/
RecordIdentifiers/
RecordIdentifier/
Keys/
Key2

97

Multipack Programming Information

PierbridgePackageRequest/

No

Packages/

Zero or One

String

Third key value.

String

Fourth key value.

String

Fifth key value.

Package/
International/
Contents/
Content/
RecordIdentifiers/
RecordIdentifier/
Keys/
Key3
PierbridgePackageRequest/

No

Packages/

Zero or One

Package/
International/
Contents/
Content/
RecordIdentifiers/
RecordIdentifier/
Keys/
Key4
PierbridgePackageRequest/

No

Packages/

Zero or One

Package/
International/
Contents/
Content/
RecordIdentifiers/
RecordIdentifier/
Keys/
Key5

98

Multipack Programming Information

PierbridgePackageRequest/

No

Packages/

Zero or One

String

Sixth key value.

String

The Harmonized, or Schedule-B, code for


the item.

Integer

The number of items of this content type


that are in this package.

Integer

The number of items of this content type


that were ordered.

Package/
International/
Contents/
Content/
RecordIdentifiers/
RecordIdentifier/
Keys/
Key6
PierbridgePackageRequest/

No

Packages/

Zero or One

Package/
International/
Contents/
Content/
Code
PierbridgePackageRequest/

No

Packages/

Zero or One

Package/
International/
Contents/
Content/
Quantity
PierbridgePackageRequest/

No

Packages/

Zero or One

Package/
International/
Contents/
Content/
OrderedQuantity

99

Multipack Programming Information

PierbridgePackageRequest/

No

Packages/

Zero or One

Integer

The number of items of this content type


that are on back order.

Float

The value of a single items.

Package/
International/
Contents/
Content/
BackOrderedQuantity
PierbridgePackageRequest/

No

Packages/

Zero or One

The units (e.g. USD or CAD) are


determined by the configuration of the
Pierbridge Shipment Server.

Package/
International/
Contents/
Content/
Value
PierbridgePackageRequest/

No

Packages/

Zero or One

Float

The weight of a single item.


The units (e.g. pound or kilogram) are
determined by the configuration of the
Pierbridge Shipment Server.

Package/
International/
Contents/
Content/
Weight
PierbridgePackageRequest/

No

Packages/

Zero or One

String

The description of the item.

String

The country the item originated from.

Package/
International/
Contents/
Content/
Description
PierbridgePackageRequest/

No

Packages/

Zero or One

Package/
International/
Contents/
Content/
OriginCountry

100

Multipack Programming Information

PierbridgePackageRequest/

No

Packages/

Zero or One

String

101

Receivers purchase order number.


Printed on shipping documentation.

Package/
International/
Contents/
Content/
PurchaseOrderNumber
PierbridgePackageRequest/

No

Packages/

Zero or One

String

Your sales order number.


Printed on shipping documentation.

Package/
International/
Contents/
Content/
SalesOrderNumber
PierbridgePackageRequest/

No

Packages/

Zero or One

String

Any other code associated with the item.

String

Any other description for the item.

String

The customers code for the item.

Package/
International/
Contents/
Content/
ItemCode
PierbridgePackageRequest/

No

Packages/

Zero or One

Package/
International/
Contents/
Content/
ItemDescription
PierbridgePackageRequest/

No

Packages/

Zero or One

Package/
International/
Contents/
Content/
CustomerCode

Multipack Programming Information

PierbridgePackageRequest/

No

Packages/

Zero or One

102

String

The part number of the item.

String

The bin number of the item.

String

The lot number of the item.

String

The serial number of the item.

String

The Windows username of the user who is


submitting the request.

Package/
International/
Contents/
Content/
PartNumber
PierbridgePackageRequest/

No

Packages/

Zero or One

Package/
International/
Contents/
Content/
BinNumber
PierbridgePackageRequest/

No

Packages/

Zero or One

Package/
International/
Contents/
Content/
LotNumber
PierbridgePackageRequest/

No

Packages/

Zero or One

Package/
International/
Contents/
Content/
SerialNumber
PierbridgePackageRequest/

Yes

UserName

One

Multipack Programming Information

103

XML RESPONSE
After the above XML request has been POSTed on the HTTP connection an XML response
will be returned, which will adhere to the following structure.

Element (XPath)

Required/

Type

Description

Container

Root element.

String

Used to synchronize request/response


pairs.

Cardinality
PierbridgePackageResponse

Yes
One

PierbridgePackageResponse/

No

TransactionIdentifier

Zero or One

It can contain any valid XML element


content and is echoed back in the
response.
PierbridgePackageResponse/

Yes

Packages

One

PierbridgePackageResponse/

Yes

Packages/

One

Container

Parent element for packages elements.

Container

Parent element for a package element.

Container

Parent element for package status


elements.

Integer

Indicates whether the package has been


successfully voided.

Package
PierbridgePackageResponse/

Yes

Packages/

One

Package/
Status
PierbridgePackageResponse/

Yes

Packages/

One

A value of 0 indicates failure and 1


indicates success.

Package/
Status/
Code
PierbridgePackageResponse/

Yes

Packages/

One

Package/
Status/
Description

String

A textual description of the packages


success.
If the package has failed, then the value
will summarise why it failed.

Multipack Programming Information

PierbridgePackageResponse/

No

Packages/

Zero or One

String

The reference number that you associated


with the package in the request.
This value will appear on the packages
label.

Package/
ShipperReference
PierbridgePackageResponse/

Yes

Packages/

One

Package/
PackageID

Integer

104

A unique numeric identifier for the


package.

Multipack Programming Information

BASIC PACKAGE
The following XML adds a package. This represents the minimum information that is
typically provided for package addition.

XML Request
<?xml version="1.0" encoding="UTF-8"?>
<PierbridgePackageRequest>
<Packages>
<Package>
<Receiver>
<Name>Mr President</Name>
<Phone>202-456-1414</Phone>
<Street>1600 Pennsylvania Avenue NW</Street>
<City>Washington</City>
<Region>DC</Region>
<PostalCode>20500</PostalCode>
<Country>US</Country>
</Receiver>
<Weight>25.0</Weight>
</Package>
</Packages>
<UserName>user</UserName>
</PierbridgePackageRequest>

XML Response
<?xml version="1.0" encoding="utf-8"?>
<PierbridgePackageResponse>
<Packages>
<Package>
<Status>
<Code>1</Code>
<Description>Package store successful.</Description>
</Status>
<ShipperReference>REF0003</ShipperReference>
<PackageID>1234</PackageID>
</Package>
</Packages>
</PierbridgePackageResponse>

105

Multipack Shipping Programming Information

106

INTERNATIONAL
The following Xml adds an international package, which contains two different types of
content.

XML Request
<?xml version="1.0" encoding="UTF-8"?>
<PierbridgePackageRequest>
<Packages>
<Package>
<ShipperReference>REF0004</ShipperReference>
<Receiver>
<Name>Mr Minister</Name>
<Phone>1-800-622-6232</Phone>
<CompanyName>Public Works and Government Services Canada</CompanyName>
<Street>Main Street</Street>
<City>Ottawa</City>
<Region>Ontario</Region>
<PostalCode>K1A 0S5</PostalCode>
<Country>CA</Country>
</Receiver>
<Weight>12.2</Weight>
<Length>9</Length>
<Width>8</Width>
<Height>8</Height>
<International>
<Contents>
<Content>
<Code>090122</Code>
<Quantity>2</Quantity>
<Value>200</Value>
<Weight>20</Weight>
<Description>shoes</Description>
<OriginCountry>MX</OriginCountry>
</Content>
<Content>
<Code>490199</Code>
<Quantity>100</Quantity>
<Value>26</Value>
<Weight>5</Weight>
<Description>books</Description>
<OriginCountry>US</OriginCountry>
</Content>
</Contents>
</International>
</Package>
</Packages>
<UserName>user</UserName>
</PierbridgePackageRequest>

XML Response
<?xml version="1.0" encoding="utf-8"?>
<PierbridgePackageResponse>
<Packages>
<Package>
<Status>
<Code>1</Code>
<Description>Package store successful.</Description>
</Status>
<ShipperReference>REF0004</ShipperReference>
<PackageID>1235</PackageID>
</Package>

Multipack Shipping Programming Information


</Packages>
</PierbridgePackageResponse>

107

Clear Package Programming Information

108

CLEAR PACKAGE PROGRAMMING INFORMATION


This interface allows you to clear packages from the system that have not yet been
shipped.
It should be used when packages in the system have been found to contain errors when
they are submitted for a multipack ship. It will clear all un-shipped packages in the
system that have been added by the user that calls it.
In the XML request you specify only an optional transaction identifier.
The XML response will indicate whether your request has succeeded. If it hasnt then an
indication of what went wrong will be provided.

XML REQUEST
The request XML document must adhere to the following structure.

Element (XPath)

Required/

Type

Description

Container

Root element.

String

Used to synchronize request/response


pairs.

Cardinality
PierbridgeClearPackageRequest

Yes
One

PierbridgeClearPackageRequest/

No

TransactionIdentifier

Zero or One

It can contain any valid XML element


content and is echoed back in the
response.
PierbridgeClearPackageRequest/

Yes

UserName

One

String

The Windows username of the user who is


submitting the request.

Clear Package Programming Information

109

XML RESPONSE
After the above XML request has been POSTed on the HTTP connection an XML response
will be returned, which will adhere to the following structure.

Element (XPath)

Required/

Type

Description

Container

Root element.

String

Used to synchronize request/response


pairs.

Cardinality
PierbridgeClearPackageResponse

Yes
One

PierbridgeClearPackageResponse/

No

TransactionIdentifier

Zero or One

It can contain any valid XML element


content and is echoed back in the
response.
PierbridgeClearPackageResponse/

Yes

Status

One

PierbridgeClearPackageResponse/

Yes

Status/

One

Container

Parent element for status elements.

Integer

Indicates whether the packages have been


successfully cleared.
A value of 0 indicates failure and 1
indicates success.

Code
PierbridgeClearPackageResponse/

Yes

Status/

One

Description

String

A textual description of the transactions


success.
If the transaction has failed, then the
value will summarise why it failed.

Clear Package Programming Information

BASIC PACKAGE
The following XML clears all un-shipped packages for the user that submits it. This
represents the information that is typically provided for package clearing.

XML Request
<?xml version="1.0" encoding="UTF-8"?>
<PierbridgeClearPackageRequest>
<UserName>user</UserName>
</PierbridgeClearPackageRequest>

XML Response
<?xml version="1.0" encoding="utf-8"?>
<PierbridgeClearPackageResponse>
<Status>
<Code>1</Code>
<Description>Packages cleared successfully.</Description>
</Status>
</PierbridgeClearPackageResponse>

110

Void Programming Information

111

VOID PROGRAMMING INFORMATION


This interface allows you to void packages that have been previously shipped.
In the XML request you specify the shipment identifier, the package identifier or package
tracking number.
The XML response will indicate whether your request has succeeded. If it hasnt then an
indication of what went wrong will be provided.
For multipack shipping the shipment identifier should be used so that all packages in the
shipment are voided. Alternatively, each package can be individually voided using the
package identifier or package tracking number.

XML REQUEST
The request XML document must adhere to the following structure.

Element (XPath)

Required/

Type

Description

Container

Root element.

String

Used to synchronize request/response


pairs.

Cardinality
PierbridgeVoidRequest

Yes
One

PierbridgeVoidRequest/

No

TransactionIdentifier

Zero or One

It can contain any valid XML element


content and is echoed back in the
response.
PierbridgeVoidRequest/

No

Live

Zero or One

Boolean

Indicates whether the void is a test or


not.
Omit the element if the void is a test one,
else set to True.

PierbridgeVoidRequest/

No*

ShipmentID

Zero or One

Integer

The ID of the shipment to void.


Must be a value from the Shipments.[ID]
column in the Pierbridge Shipment Server
database.
* Either this element, PackageID or
WayBillNumber must be provided.

PierbridgeVoidRequest/

Yes

Packages

One

PierbridgeVoidRequest/

Yes

Packages/

One

Package

Container

Parent element for packages elements.

Container

Parent element for a package element.

Void Programming Information

PierbridgeVoidRequest/

No*

Packages/

Zero or One

String

112

The tracking number of the package to


void.
This is the value that is returned in a
PierbridgeShipResponse.

Package/
WayBillNumber

* Either this element, ShipmentID or


PackageID must be provided.

PierbridgeVoidRequest/

No*

Packages/

Zero or One

Integer

The ID of the package to void.


Must be a value from the Packages.[ID]
column in the Pierbridge Shipment Server
database.

Package/
PackageID

* Either this element, ShipmentID or


WayBillNumber must be provided.

PierbridgeVoidRequest/

Yes

UserName

One

String

The Windows username of the user who is


submitting the request.

Void Programming Information

113

XML RESPONSE
After the above XML request has been POSTed on the HTTP connection an XML response
will be returned, which will adhere to the following structure.

Element (XPath)

Required/

Type

Description

Container

Root element.

String

Used to synchronize request/response


pairs.

Cardinality
PierbridgeVoidResponse

Yes
One

PierbridgeVoidResponse/

No

TransactionIdentifier

Zero or One

It can contain any valid XML element


content and is echoed back in the
response.
PierbridgeVoidResponse/

Yes

Packages

One

PierbridgeVoidResponse/

Yes

Packages/

One

Container

Parent element for packages elements.

Container

Parent element for package elements.

Container

Parent element for package status


elements.

Integer

Indicates whether the package has been


successfully stored.

Package
PierbridgeVoidResponse/

Yes

Packages/

One

Package/
Status
PierbridgeVoidResponse/

Yes

Packages/

One

A value of 0 indicates failure and 1


indicates success.

Package/
Status/
Code
PierbridgeVoidResponse/

Yes

Packages/

One

Package/
Status/
Description

String

A textual description of the packages


success.
If the package has failed, then the value
will summarise why it failed.

Void Programming Information

BASIC PACKAGE
The following XML voids a package, identifying it via its waybill number.

XML Request
<?xml version="1.0" encoding="UTF-8"?>
<PierbridgeVoidRequest>
<Packages>
<Package>
<WayBillNumber>28652713950</WayBillNumber>
</Package>
</Packages>
<UserName>user</UserName>
</PierbridgeVoidRequest>

XML Response
<?xml version="1.0" encoding="utf-8"?>
<PierbridgeVoidResponse>
<Packages>
<Package>
<Status>
<Code>1</Code>
<Description>Void successful.</Description>
</Status>
<WayBillNumber>28652713950</WayBillNumber>
</Package>
</Packages>
</PierbridgeVoidResponse>

114

Track Programming Information

115

TRACK PROGRAMMING INFORMATION


This interface allows you to track packages that have been previously shipped.
In the XML request you specify the packages tracking number.
The XML response will indicate whether your request has succeeded. If it hasnt then an
indication of what went wrong will be provided. If it was successful then information such
as geographic locations the package has passed through and the date and time it was at
those locations will be returned.

XML REQUEST
The request XML document must adhere to the following structure.

Element (XPath)

Required/

Type

Description

Container

Root element.

String

Used to synchronize request/response


pairs.

Cardinality
PierbridgeTrackRequest

Yes
One

PierbridgeTrackRequest/

No

TransactionIdentifier

Zero or One

It can contain any valid XML element


content and is echoed back in the
response.
PierbridgeTrackRequest/

No

Live

Zero or One

Boolean

Indicates whether the track is a test or


not.
Omit the element if the void is a test one,
else set to True.

PierbridgeTrackRequest/

Yes

Packages

One

PierbridgeTrackRequest/

Yes

Packages/

One

Container

Parent element for packages elements.

Container

Parent element for a package element.

String

The tracking number of the package to


track.

Package
PierbridgeTrackRequest/

No*

Packages/

Zero or One

Package/
WayBillNumber

This is the value that is returned in a


PierbridgeShipResponse.
* Either this element or the PackageID
element must be provided.

Track Programming Information

PierbridgeTrackRequest/

No*

Packages/

Zero or One

Integer

116

The ID of the package to track.


This is the value that is returned in a
PierbridgeShipResponse.

Package/

* Either this element or the


WayBillNumber element must be
provided.

PackageID

PierbridgeTrackRequest/

Yes

UserName

One

String

The Windows username of the user who is


submitting the request.

Track Programming Information

117

XML RESPONSE
After the above XML request has been POSTed on the HTTP connection an XML response
will be returned, which will adhere to the following structure.

Element (XPath)

Required/

Type

Description

Container

Root element.

String

Used to synchronize request/response


pairs.

Cardinality
PierbridgeTrackResponse

Yes
One

PierbridgeTrackResponse/

No

TransactionIdentifier

Zero or One

It can contain any valid XML element


content and is echoed back in the
response.
PierbridgeTrackResponse/

Yes

Packages

One

PierbridgeTrackResponse/

Yes

Packages/

One

Container

Parent element for packages elements.

Container

Parent element for a package element.

Container

Parent element for package status


elements.

Integer

Indicates whether the package has been


successfully stored.

Package
PierbridgeTrackResponse/

Yes

Packages/

One

Package/
Status
PierbridgeTrackResponse/

Yes

Packages/

One

A value of 0 indicates failure and 1


indicates success.

Package/
Status/
Code
PierbridgeTrackResponse/

Yes

Packages/

One

Package/
Status/
Description

String

A textual description of the packages


success.
If the package has failed, then the value
will summarise why it failed.

Track Programming Information

PierbridgeTrackResponse/

Yes

Packages/

One

118

Container

Parent element for history elements.

Container

Parent element for track status elements.

Package/
History
PierbridgeTrackResponse/

No

Packages/

Zero or More

There will be one of these elements for


each occasion that the package has been
scanned during its transportation.

Package/
History/
TrackStatus
PierbridgeTrackResponse/

No

Packages/

Zero or One

Integer

The numeric identifier of the packages


track status.
See Appendix A for valid values.

Package/
History/
TrackStatus/
ID
PierbridgeTrackResponse/

No

Packages/

Zero or One

String

The description of the packages track


status.

String

The location the package was at.

Date

The date the package was at the location.

Package/
History/
TrackStatus/
Description
PierbridgeTrackResponse/

No

Packages/

Zero or One

Package/
History/
TrackStatus/
Location
PierbridgeTrackResponse/

No

Packages/

Zero or One

Package/
History/
TrackStatus/
Date

Track Programming Information

PierbridgeTrackResponse/

No

Packages/

Zero or One

Package/
History/
TrackStatus/
Time

Time

119

The time the package was at the location.

Track Programming Information

BASIC PACKAGE
The following XML tracks a package, identifying it via its waybill number.

XML Request
<?xml version="1.0" encoding="UTF-8"?>
<PierbridgeTrackRequest>
<Packages>
<Package>
<WayBillNumber>790513236306</WayBillNumber>
</Package>
</Packages>
<UserName>user</UserName>
<PierbridgeTrackRequest>

XML Response
<?xml version="1.0" encoding="utf-8"?>
<PierbridgeTrackResponse>
<Packages>
<Package>
<Status>
<Code>1</Code>
<Description>Success</Description>
</Status>
<History>
<TrackStatus>
<ID>3</ID>
<Description>Delivered</Description>
<Date>2005-05-16</Date>
<Time>10:02</Time>
</TrackStatus>
</History>
</Package>
</Packages>
<PierbridgeTrackResponse>

120

Server Configuration Programming Information

121

SERVER CONFIGURATION PROGRAMMING INFORMATION


This interface allows you to inspect certain aspects to the Shipment Servers
configuration.
In the XML request you specify a username and an optional transaction identifier.
The XML response will contain much of the information that is in Appendix A of this
document.

XML REQUEST
The request XML document must adhere to the following structure.

Element (XPath)

Required/

Type

Description

Container

Root element.

String

Used to synchronize request/response


pairs.

Cardinality
PierbridgeServerConfigRequest

Yes
One

PierbridgeServerConfigRequest/

No

TransactionIdentifier

Zero or One

It can contain any valid XML element


content and is echoed back in the
response.
PierbridgeServerConfigRequest/

Yes

UserName

One

String

The Windows username of the user who is


submitting the request.

Server Configuration Programming Information

122

XML RESPONSE
After the above XML request has been POSTed on the HTTP connection an XML response
will be returned, which will adhere to the following structure.

Element (XPath)

Required/

Type

Description

Container

Root element.

String

Used to synchronize request/response


pairs.

Cardinality
PierbridgeServerConfigResponse

Yes
One

PierbridgeServerConfigResponse/

No

TransactionIdentifier

Zero or One

It can contain any valid XML element


content and is echoed back in the
response.
PierbridgeServerConfigResponse/

Yes

Carriers

One

PierbridgeServerConfigResponse/

No

Carriers/

Zero or Many

Container

Parent element for carriers elements.

Container

Parent element for carrier elements.

Integer

The numeric identifier of the carrier.

String

A textual description of the carrier.

Container

Parent element for carrier services


elements.

Container

Parent element for carrier service


elements.

Carrier
PierbridgeServerConfigResponse/

No

Carriers/

Zero or One

Carrier/
ID
PierbridgeServerConfigResponse/

No

Carriers/

Zero or One

Carrier/
Description
PierbridgeServerConfigResponse/

No

Carriers/

Zero or One

Carrier/
Services
PierbridgeServerConfigResponse/

No

Carriers/

Zero or Many

Carrier/
Services/
Service

Server Configuration Programming Information

PierbridgeServerConfigResponse/

No

Carriers/

Zero or One

Integer

The numeric identifier for the carrier


service.

String

A textual description of the carrier


service.

Container

Parent element for carrier packages


elements.

Container

Parent element for carrier package


elements.

Integer

The numeric identifier of the carrier


package.

String

A textual description of the carrier


package.

Container

Parent element for outputs elements.

Carrier/
Services/
Service/
ID
PierbridgeServerConfigResponse/

No

Carriers/

Zero or One

Carrier/
Services/
Service/
Description
PierbridgeServerConfigResponse/

No

Carriers/

Zero or One

Carrier/
Packages
PierbridgeServerConfigResponse/

No

Carriers/

Zero or Many

Carrier/
Packages/
Package
PierbridgeServerConfigResponse/

No

Carriers/

Zero or One

Carrier/
Packages/
Package/
ID
PierbridgeServerConfigResponse/

No

Carriers/

Zero or One

Carrier/
Packages/
Package/
Description
PierbridgeServerConfigResponse/

Yes

Outputs

One

123

Server Configuration Programming Information

PierbridgeServerConfigResponse/

Yes

Outputs/

One

124

Container

Parent element for output types


elements.

Container

Parent element for output type elements.

Integer

The numeric identifier of the output type.

String

A textual description of the output type.

Container

Parent element for output formats


elements.

Container

Parent element for output format


elements.

Integer

The numeric identifier of the output


format.

String

A textual description of the output


format.

Types
PierbridgeServerConfigResponse/

No

Outputs/

Zero or Many

Types/
Type
PierbridgeServerConfigResponse/

No

Outputs/

Zero or One

Types/
Type/
ID
PierbridgeServerConfigResponse/

No

Outputs/

Zero or One

Types/
Type/
Description
PierbridgeServerConfigResponse/

Yes

Outputs/

One

Formats
PierbridgeServerConfigResponse/

No

Outputs/

Zero or Many

Formats/
Format
PierbridgeServerConfigResponse/

No

Outputs/

Zero or One

Formats/
Format/
ID
PierbridgeServerConfigResponse/

No

Outputs/

Zero or One

Formats/
Format/
Description

Server Configuration Programming Information

PierbridgeServerConfigResponse/

Yes

Payers

One

PierbridgeServerConfigResponse/

No

Payers/

Zero or Many

125

Container

Parent element for payers elements.

Container

Parent element for payer elements.

Integer

The numeric identifier for the payer.

String

A textual description of the payer.

Container

Parent element for terms of sales


elements.

Container

Parent element for terms of sale


elements.

Integer

The numeric identifier of the terms of


sale.

String

A textual description of the terms of sale.

Container

Parent element for Collect-on-delivery


(CODs) elements.

Container

Parent element for Collect-on-delivery


(COD) elements.

Payer
PierbridgeServerConfigResponse/

No

Payers/

Zero or One

Payer/
ID
PierbridgeServerConfigResponse/

No

Payers/

Zero or One

Payer/
Description
PierbridgeServerConfigResponse/

Yes

TermsOfSales

One

PierbridgeServerConfigResponse/

No

TermsOfSales/

Zero or Many

TermOfSale
PierbridgeServerConfigResponse/

No

TermsOfSales/

Zero or One

TermOfSale/
ID
PierbridgeServerConfigResponse/

No

TermsOfSales/

Zero or One

TermOfSale/
Description
PierbridgeServerConfigResponse/

Yes

CODs

One

PierbridgeServerConfigResponse/

No

CODs/

Zero or Many

COD

Server Configuration Programming Information

PierbridgeServerConfigResponse/

No

CODs/

Zero or One

126

Integer

The numeric identifier of the Collect-ondelivery (COD).

String

A textual description of the Collect-ondelivery (COD).

Container

Parent element for oversizes elements.

Container

Parent element for oversize elements.

Integer

The numeric identifier of the oversize.

String

A textual description of the oversize.

Container

Parent element for delivery confirmations


elements.

Container

Parent element for delivery confirmation


elements.

Integer

The numeric identifier of the delivery


confirmation.

String

A textual description of the delivery


confirmation.

COD/
ID
PierbridgeServerConfigResponse/

No

CODs/

Zero or One

COD/
Description
PierbridgeServerConfigResponse/

Yes

Oversizes

One

PierbridgeServerConfigResponse/

No

Oversizes/

Zero or Many

Oversize
PierbridgeServerConfigResponse/

No

Oversizes/

Zero or One

Oversize/
ID
PierbridgeServerConfigResponse/

No

Oversizes/

Zero or One

Oversize/
Description
PierbridgeServerConfigResponse/

Yes

DeliveryConfirmations

One

PierbridgeServerConfigResponse/

No

DeliveryConfirmations/

Zero or Many

DeliveryConfirmation
PierbridgeServerConfigResponse/

No

DeliveryConfirmations/

Zero or One

DeliveryConfirmation/
ID
PierbridgeServerConfigResponse/

No

DeliveryConfirmations/

Zero or One

DeliveryConfirmation/
Description

Server Configuration Programming Information

PierbridgeServerConfigResponse/

Yes

HistoryStates

One

PierbridgeServerConfigResponse/

No

HistoryStates/

Zero or Many

127

Container

Parent element for history states


elements.

Container

Parent element for history state


elements.

Integer

The numeric identifier of the history


state.

String

A textual description of the history state.

Container

Parent element for rate groups elements.

Container

Parent element for rate group elements.

Integer

The numeric identifier of the rate group.

String

A textual description of the rate group.

HistoryState
PierbridgeServerConfigResponse/

No

HistoryStates/

Zero or One

HistoryState/
ID
PierbridgeServerConfigResponse/

No

HistoryStates/

Zero or One

HistoryState/
Description
PierbridgeServerConfigResponse/

Yes

RateGroups

One

PierbridgeServerConfigResponse/

No

RateGroups/

Zero or Many

RateGroup
PierbridgeServerConfigResponse/

No

RateGroups/

Zero or One

RateGroup/
ID
PierbridgeServerConfigResponse/

No

RateGroups/

Zero or One

RateGroup/
Description

Server Configuration Programming Information

128

EXAMPLE
The following XML requests the servers configuration information. This is all the
information that can be provided.
For brevity, only one of the many carriers that would be in the response are shown below.

XML Request
<?xml version="1.0" encoding="UTF-8"?>
<PierbridgeServerConfigRequest>
<UserName>user</UserName>
</PierbridgeServerConfigRequest>

XML Response
<?xml version="1.0" encoding="UTF-8"?>
<PierbridgeServerConfigResponse>
<Carriers>
<Carrier>
<ID>1</ID>
<Description>Airborne</Description>
<Services>
<Service>
<ID>1</ID>
<Description>Express</Description>
</Service>
<Service>
<ID>2</ID>
<Description>Express 10:30</Description>
</Service>
<Service>
<ID>3</ID>
<Description>Express Saturday</Description>
</Service>
<Service>
<ID>4</ID>
<Description>Next Afternoon</Description>
</Service>
<Service>
<ID>5</ID>
<Description>Second Day Service</Description>
</Service>
<Service>
<ID>6</ID>
<Description>Ground</Description>
</Service>
</Services>
<Packages>
<Package>
<ID>1</ID>
<Description>Letter</Description>
</Package>
<Package>
<ID>2</ID>
<Description>Package</Description>
</Package>
</Packages>
</Carrier>
</Carriers>
<Outputs>
<Types>
<Type>

Server Configuration Programming Information


<ID>1</ID>
<Description>Label</Description>
</Type>
<Type>
<ID>2</ID>
<Description>Proof Of Delivery</Description>
</Type>
<Type>
<ID>3</ID>
<Description>COD Label</Description>
</Type>
<Type>
<ID>4</ID>
<Description>Return Label</Description>
</Type>
<Type>
<ID>5</ID>
<Description>Commercial Invoice</Description>
</Type>
<Type>
<ID>6</ID>
<Description>Certificate Of Origin</Description>
</Type>
<Type>
<ID>7</ID>
<Description>NAFTA Certificate Of Origin</Description>
</Type>
<Type>
<ID>8</ID>
<Description>SED</Description>
</Type>
<Type>
<ID>9</ID>
<Description>Placeholder Label</Description>
</Type>
<Type>
<ID>10</ID>
<Description>Manifest</Description>
</Type>
<Type>
<ID>11</ID>
<Description>License Plate</Description>
</Type>
<Type>
<ID>12</ID>
<Description>Manual Ship Information</Description>
</Type>
<Type>
<ID>13</ID>
<Description>International Label 1</Description>
</Type>
<Type>
<ID>14</ID>
<Description>International Label 2</Description>
</Type>
<Type>
<ID>15</ID>
<Description>No Wood Packaging</Description>
</Type>
<Type>
<ID>16</ID>
<Description>Wood Packaging</Description>
</Type>
<Type>
<ID>17</ID>
<Description>Bill of Lading</Description>
</Type>
<Type>
<ID>18</ID>
<Description>International Signature Label</Description>
</Type>
<Type>
<ID>19</ID>
<Description>Pack Slip</Description>
</Type>
<Type>

129

Server Configuration Programming Information


<ID>20</ID>
<Description>Mock Invoice</Description>
</Type>
<Type>
<ID>21</ID>
<Description>Bill of Lading (No charges)</Description>
</Type>
</Types>
<Formats>
<Format>
<ID>1</ID>
<Description>Image</Description>
</Format>
<Format>
<ID>2</ID>
<Description>Eltron</Description>
</Format>
<Format>
<ID>3</ID>
<Description>Zebra</Description>
</Format>
<Format>
<ID>4</ID>
<Description>Unimark</Description>
</Format>
<Format>
<ID>5</ID>
<Description>Windows</Description>
</Format>
<Format>
<ID>6</ID>
<Description>Crystal Reports</Description>
</Format>
<Format>
<ID>7</ID>
<Description>ActiveReports</Description>
</Format>
<Format>
<ID>8</ID>
<Description>BarTender</Description>
</Format>
<Format>
<ID>9</ID>
<Description>Pierbridge</Description>
</Format>
<Format>
<ID>10</ID>
<Description>Loftware</Description>
</Format>
</Formats>
</Outputs>
<Payers>
<Payer>
<ID>1</ID>
<Description>Sender</Description>
</Payer>
<Payer>
<ID>2</ID>
<Description>Recipient</Description>
</Payer>
<Payer>
<ID>3</ID>
<Description>Third Party</Description>
</Payer>
<Payer>
<ID>4</ID>
<Description>Consignee</Description>
</Payer>
<Payer>
<ID>5</ID>
<Description>Invoice</Description>
</Payer>
</Payers>
<TermsOfSales>
<TermsOfSale>
<ID>1</ID>

130

Server Configuration Programming Information


<Description>Free On Board (FOB)</Description>
</TermsOfSale>
<TermsOfSale>
<ID>2</ID>
<Description>Free Carrier (FCA)</Description>
</TermsOfSale>
<TermsOfSale>
<ID>3</ID>
<Description>Cost, Insurance, and Freight paid (CIF)</Description>
</TermsOfSale>
<TermsOfSale>
<ID>4</ID>
<Description>Carriage and Insurance Paid (CIP)</Description>
</TermsOfSale>
<TermsOfSale>
<ID>5</ID>
<Description>Cost and Freight (CFR)</Description>
</TermsOfSale>
<TermsOfSale>
<ID>6</ID>
<Description>Carriage Paid To (CPT)</Description>
</TermsOfSale>
<TermsOfSale>
<ID>7</ID>
<Description>Ex Works (EXW)</Description>
</TermsOfSale>
<TermsOfSale>
<ID>8</ID>
<Description>Delivered Duty Unpaid (DDU)</Description>
</TermsOfSale>
<TermsOfSale>
<ID>9</ID>
<Description>Delivered Duty Paid (DDP)</Description>
</TermsOfSale>
</TermsOfSales>
<CODs>
<COD>
<ID>1</ID>
<Description>Non-Guaranteed funds</Description>
</COD>
<COD>
<ID>2</ID>
<Description>Guaranteed funds</Description>
</COD>
</CODs>
<Oversizes>
<Oversize>
<ID>1</ID>
<Description>Oversize 1</Description>
</Oversize>
<Oversize>
<ID>2</ID>
<Description>Oversize 2</Description>
</Oversize>
<Oversize>
<ID>3</ID>
<Description>Oversize 3</Description>
</Oversize>
</Oversizes>
<DeliveryConfirmations>
<DeliveryConfirmation>
<ID>1</ID>
<Description>No signature</Description>
</DeliveryConfirmation>
<DeliveryConfirmation>
<ID>2</ID>
<Description>Signature required</Description>
</DeliveryConfirmation>
<DeliveryConfirmation>
<ID>3</ID>
<Description>Adult signature required</Description>
</DeliveryConfirmation>
</DeliveryConfirmations>
<HistoryStates>
<HistoryState>
<ID>1</ID>

131

Server Configuration Programming Information


<Description>Printed</Description>
</HistoryState>
<HistoryState>
<ID>2</ID>
<Description>Shipped </Description>
</HistoryState>
<HistoryState>
<ID>3</ID>
<Description>Delivered</Description>
</HistoryState>
<HistoryState>
<ID>4</ID>
<Description>Voided</Description>
</HistoryState>
</HistoryStates>
<RateGroups>
<RateGroup>
<ID>1</ID>
<Description>Domestic Express</Description>
</RateGroup>
<RateGroup>
<ID>2</ID>
<Description>International Express</Description>
</RateGroup>
</RateGroups>
</PierbridgeServerConfigResponse>

132

Print Programming Information

133

PRINT PROGRAMMING INFORMATION


This interface allows you to re-print shipping-related labels and documentation.
In the XML request you specify the type of label or documentation to print and identify the
shipment or package to print the label or documentation for.
Although the XML request allows you to specify what to print it offers only limited support
for specifying how to print, which is set up using the AgileElite configuration tool. In
effect, the XML request allows you to override a small number of these configuration
settings.
The XML response will indicate whether your request has succeeded. If it hasnt then an
indication of what went wrong will be provided. If it was successful then data about the
item(s) printed may be returned in the XML response if such data was requested or
configured to be returned.
It is noteworthy that you can only re-print the labels and documentation that were
generated when the shipment and package was first generated.

XML REQUEST
The request XML document must adhere to the following structure.

Element (XPath)

Required/

Type

Description

Container

Root element.

String

Used to synchronize request/response


pairs.

Cardinality
PierbridgePrintRequest

Yes
One

PierbridgePrintRequest/

No

TransactionIdentifier

Zero or One

It can contain any valid XML element


content and is echoed back in the
response.
PierbridgePrintRequest/

No

OutputType

Zero or One

Integer

Type of output to print, e.g. Return


Label, SED, Bill of Lading, Pack Slip.
See Appendix A for valid values.
* Either this element or OutputBaseType
must be provided.

Print Programming Information

PierbridgePrintRequest/

No

OutputBaseType

Zero or One

Integer

134

Category of output to print.


Each output type is a member of a
category. E.g. category General
Document contains types High Value
Report and Pack Slip.
Printing a category will print all the
output types in that category.
See Appendix A for valid values.
* Either this element or OutputType must
be provided.

PierbridgePrintRequest/

No

Carrier

Zero or One

Integer

The numeric identifier of the carrier to


print end-of-day documentation for.
Only used for end-of-day documentation.
Must be used in conjunction with the
ShipDate element.
See Appendix A for valid values.

PierbridgePrintRequest/

No

ShipDate

Zero or One

Date

The date to print end-of-day


documentation for.
Only used for end-of-day documentation.
Must be used in conjunction with the
Carrier element.

PierbridgePrintRequest/

No

PackageID

Zero or One

PierbridgePrintRequest/

No

WayBillNumber

Zero or One

Integer

The unique numeric identifier of the


package to print labels for.

String

The tracking number of the package to


print labels for.
Can be used instead of element PackageID
to identify a package. However, using
PackageID is the preferred method.

PierbridgePrintRequest/

No

ShipmentID

Zero or One

PierbridgePrintRequest/

No

PendingID

Zero or One

PierbridgePrintRequest/

No

ShipmentRequisitionID

Zero or One

PierbridgePrintRequest/

No

PackItemID

Zero or One

PierbridgePrintRequest/

No

ContentID

Zero or One

Integer

The unique numeric identifier of the


shipment to print documentation for.

Integer

The unique numeric identifier of the


pending item to print labels for.

Integer

The unique numeric identifier of the


shipment requisition to print
documentation for.

Integer

The unique numeric identifier of the pack


item to print labels for.

Integer

The unique numeric identifier of the


content item to print documentation for.

Print Programming Information

PierbridgePrintRequest/

No

CustomerID

Zero or One

Integer

135

The unique numeric identifier of the


customer that labels are being printed
for.
Allows each customer to have a bespoke
label that meets their requirements.

PierbridgePrintRequest/

No

Outputs

Zero or One

PierbridgePrintRequest/

No

Outputs/

Zero or Many

Container

Parent element for Output elements.


Output elements are used to modify (in a
limited way) how the labels and
documents are produced and printed.

Container

Parent element for information about


each Output.
Include one of these elements for each
Output.

Output
PierbridgePrintRequest/

No

Outputs/

Zero or One

Integer

The type of label or document.


If blank then all other settings in this
block apply to all labels and documents.

Output/

See Appendix A for valid values.

OutputType
PierbridgePrintRequest/

No

Outputs/

Zero or One

Integer

The number of copies of the label or


document to produce.

Integer

The number of pieces (e.g. packages,


pallets) to produce the label or document
for.

Output/
Copies
PierbridgePrintRequest/

No

Outputs/

Zero or One

Output/

E.g. if set to 2 then labels with '1 of 2' and


'2 or 2' indicators will be produced.

Pieces
PierbridgePrintRequest/

No

Outputs/

Zero or One

Integer

The numeric identifier of the printer to


print the label or document to.
Must be a value from the Printers.[ID]
column in the Pierbridge Shipment Server
database.

Output/
PrinterID
PierbridgePrintRequest/

No

Outputs/

Zero or One

Boolean

Indicates whether to print the label or


document to the front-end.
Omit the element if the default printing
method for the label or document is to be
used, else set to True.

Output/
PrintToClient
PierbridgePrintRequest/

Yes

UserName

One

String

The Windows username of the user who is


submitting the request.

Print Programming Information

136

XML RESPONSE
After the above XML request has been POSTed on the HTTP connection an XML response
will be returned, which will adhere to the following structure.

Element (XPath)

Required/

Type

Description

Container

Root element.

String

Used to synchronize request/response


pairs.

Cardinality
PierbridgePrintResponse

Yes
One

PierbridgePrintResponse/

No

TransactionIdentifier

Zero or One

It can contain any valid XML element


content and is echoed back in the
response.
PierbridgePrintResponse/

Yes

Status

One

PierbridgePrintResponse/

Yes

Status/

One

Container

Parent element for status elements.

Integer

Indicates whether the print has been


successful.
A value of 0 indicates failure and 1
indicates success.

Code
PierbridgePrintResponse/

Yes

Status/

One

String

A textual description of the prints


success.
If the print has failed, then the value will
summarise why it failed.

Description
PierbridgePrintResponse/

No

Outputs/

Zero or Many

PierbridgePrintResponse/

No

Outputs/

Zero or Many

Container

Parent element for outputs.

Container

Parent element for output elements.


One of these elements is provided for
each output that is returned in the
response XML.

Output
PierbridgePrintResponse/

No

Outputs/

Zero or One

Integer

Numeric identifier for the type of output.


See Appendix A for valid values.

Output/
Type
PierbridgePrintResponse/

No

Outputs/

Zero or One

Output/
Format

Integer

Numeric identifier for the format of the


output.
See Appendix A for valid values.

Print Programming Information

PierbridgePrintResponse/

No

Outputs/

Zero or One

137

String

Mime-Type of the output.

String

A base64-encoded string that contains the


output data.

Output/
MimeType
PierbridgePrintResponse/

No

Outputs/

Zero or One

Output/
Content

Print Programming Information

138

RE-PRINT A PACKAGE LABEL


The following XML re-prints a packages label, identifying the package via its unique
numeric identifier.
The Pierbridge Shipment Server is configured to print the label for this package to the
response XML, hence presence of the Outputs element.
Note that the Content element has an empty value; this element, when it has a value, has
a large base64-encoded string, which is omitted here for brevity.

XML Request
<?xml version="1.0" encoding="utf-8"?>
<PierbridgePrintRequest>
<OutputType>1</OutputType>
<PackageID>58349</PackageID>
<UserName>user</UserName>
</PierbridgePrintRequest>

XML Response
<?xml version="1.0" encoding="utf-8"?>
<PierbridgePrintResponse>
<Outputs>
<Output>
<Type>1</Type>
<Format>2</Format>
<MimeType/>
<Content></Content>
</Output>
</Outputs>
<Status>
<Code>1</Code>
<Description>Your print was successful.</Description>
</Status>
</PierbridgePrintResponse>

Print Programming Information

139

RE-PRINT ALL INTERNATIONAL DOCUMENTATION FOR A SHIPMENT


The following XML re-prints all the documentation associated with a shipment, identifying
the shipment via its unique numeric identifier.
The Pierbridge Shipment Server is configured to print the documentation for this shipment
to a Windows, hence only the return of the Status element.

XML Request
<?xml version="1.0" encoding="utf-8"?>
<PierbridgePrintRequest>
<OutputBaseType>3</OutputBaseType>
<ShipmentID>10901</ShipmentID>
<UserName>user</UserName>
</PierbridgePrintRequest>

XML Response
<?xml version="1.0" encoding="utf-8"?>
<PierbridgePrintResponse>
<Status>
<Code>1</Code>
<Description>Your print was successful.</Description>
</Status>
</PierbridgePrintResponse>

Return Programming Information

140

RETURN PROGRAMMING INFORMATION


This interface allows you to generate return shipments, which allow the original receiver
of goods to return them to you.
Return service is only available for Airborne and ConnectShip (UPS) carriers.
In the XML request you specify information such as the carrier (e.g. DHL) you want to carry
the items, the date to ship on, the returner, item details such as weight and dimesions,
and any special services required (e.g. insurance).
The XML response will indicate whether your request has succeeded. If it hasnt then an
indication of what went wrong will be provided. If it was successful then information such
as tracking numbers and labels will be returned.

XML REQUEST
The request XML document must adhere to the following structure.

Element (XPath)

Required/

Type

Description

Container

Root element.

String

Used to synchronize request/response


pairs.

Cardinality
PierbridgeReturnRequest

Yes
One

PierbridgeReturnRequest/

No

TransactionIdentifier

Zero or One

It can contain any valid XML element


content and is echoed back in the
response.
PierbridgeReturnRequest/

No

RecordIdentifiers

Zero or One

Container

Parent element for Record Identifier


elements at the shipment-level.
Record Identifiers allow you to associate
zero or more key values with a shipment.
These are typically used to link a
shipment to key values in external
systems, e.g. a stock or sales database.

PierbridgeReturnRequest/

No

RecordIdentifiers/

Zero or Many

Container

Include one of these elements for each


Record Identifier.

RecordIdentifier
PierbridgeReturnRequest/

No

RecordIdentifiers/

Zero or Many

RecordIdentifier/
Keys

Parent element for information about


each Record Identifier.

Container

Parent element for information about the


Record Identifiers keys.

Return Programming Information

PierbridgeReturnRequest/

No

RecordIdentifiers/

Zero or One

String

First key value.

String

Second key value.

String

Third key value.

String

Fourth key value.

String

Fifth key value.

String

Sixth key value.

Boolean

Indicates whether the shipment is a test


or not.

141

RecordIdentifier/
Keys/
Key1
PierbridgeReturnRequest/

No

RecordIdentifiers/

Zero or One

RecordIdentifier/
Keys/
Key2
PierbridgeReturnRequest/

No

RecordIdentifiers/

Zero or One

RecordIdentifier/
Keys/
Key3
PierbridgeReturnRequest/

No

RecordIdentifiers/

Zero or One

RecordIdentifier/
Keys/
Key4
PierbridgeReturnRequest/

No

RecordIdentifiers/

Zero or One

RecordIdentifier/
Keys/
Key5
PierbridgeReturnRequest/

No

RecordIdentifiers/

Zero or One

RecordIdentifier/
Keys/
Key6
PierbridgeReturnRequest/

No

Live

Zero or One

Omit the element if the shipment is a test


one, else set to True.
PierbridgeReturnRequest/

Yes

Carrier

One

Integer

The numeric identifier of the carrier (e.g.


Airborne) who is to carry the shipment.
See Appendix A for valid values.

Return Programming Information

PierbridgeReturnRequest/

Yes

ServiceType

One

Integer

142

The numeric identifier of the carrier


service (e.g. Next Day, Ground, Express)
that is to be used to carry the shipment.
See Appendix A for valid values.

PierbridgeReturnRequest/

Yes

ShipDate

One

Date

The date that the items are to be


shipped.
Defaults to current date if left blank.

PierbridgeReturnRequest/

No

DeliveryMethod

Zero or One

Integer

The type of UPS Return Delivery service is


being requested (e.g. call, email, post).
Applicable to ConnectShip (UPS) carrier
only.
See Appendix A for valid values.

PierbridgeReturnRequest/

Yes

Sender

One

PierbridgeReturnRequest/

No

Sender/

Zero or One

Container

Parent element for Sender address


elements.

String

The name of the company the shipment is


to be returned from.

String

The first line of the address the shipment


is to be returned from.

String

The second line of the address the


shipment is to be returned from.

String

The third line of the address the shipment


is to be returned from.

String

The city the shipment is to be returned


from.

String

The region the shipment is to be returned


from.

CompanyName
PierbridgeReturnRequest/

Yes

Sender/

One

Street
PierbridgeReturnRequest/

No

Sender/

Zero or One

Locale
PierbridgeReturnRequest/

No

Sender/

Zero or One

Other
PierbridgeReturnRequest/

Yes

Sender/

One

City
PierbridgeReturnRequest/

Yes

Sender/

One

Region

If in the US, the two-letter state code


should be used, e.g. MA.
The Pierbridge Shipment Server can be
configured to translate any value, e.g.
Massachusetts or Mass. into the
required code.

Return Programming Information

PierbridgeReturnRequest/

Yes

Sender/

One

String

The postal or zip code the shipment is to


be returned from.

String

The country the shipment is to be


returned from.

143

PostalCode
PierbridgeReturnRequest/

Yes

Sender/

One

The standard two-letter country codes


should be used, e.g. US or CA.

Country

The Pierbridge Shipment Server can be


configured to translate any value, e.g.
USA or United States into the required
code.
PierbridgeReturnRequest/

No

ReturnTo

Zero or One

Container

Parent element for Return To address


elements.
By default the address stored in the
database is used as the destination of the
return shipment.
However, if you want the shipment
returned to a different address, then use
this ReturnTo element.

PierbridgeReturnRequest/

No

ReturnTo/

Zero or One

String

The name of the person.

String

The name of the company.

String

The first line of the address.

String

The second line of the address.

String

The third line of the address.

String

The city.

Name
PierbridgeReturnRequest/

No

ReturnTo/

Zero or One

CompanyName
PierbridgeReturnRequest/

No

ReturnTo/

Zero or One

Street
PierbridgeReturnRequest/

No

ReturnTo/

Zero or One

Locale
PierbridgeReturnRequest/

No

ReturnTo/

Zero or One

Other
PierbridgeReturnRequest/

No

ReturnTo/

Zero or One

City

Return Programming Information

PierbridgeReturnRequest/

No

ReturnTo/

Zero or One

String

144

The region.
If in the US, the two-letter state code
should be used, e.g. MA.

Region

The Pierbridge Shipment Server can be


configured to translate any value, e.g.
Massachusetts or Mass. into the
required code.
PierbridgeReturnRequest/

No

ReturnTo/

Zero or One

String

The postal or zip code.

String

The country.

PostalCode
PierbridgeReturnRequest/

No

ReturnTo/

Zero or One

The standard two-letter country codes


should be used, e.g. US or CA.

Country

The Pierbridge Shipment Server can be


configured to translate any value, e.g.
USA or United States into the required
code.
PierbridgeReturnRequest/

No

ReturnTo/

Zero or One

String

The phone number.

Container

Parent element for Billing information and


address elements.

Phone
PierbridgeReturnRequest/

No

Billing

Zero or One

The individual or organization identified


in this element and its children will pay
the shipping charges.
PierbridgeReturnRequest/

No

Billing/

Zero or One

Integer

The numeric identifier of the type of


payer.
If the element is omitted, then it is
assumed that the individual or
organization being returned to is paying
the shipping charges.

PayerType

See Appendix A for valid values.


PierbridgeReturnRequest/

No

Billing/

Zero or One

String

Only needed if PayerType is set to 2


(receiver) or 3 (third party).

AccountNumber
PierbridgeReturnRequest/

No

Billing/

Zero or One

PostalCode

The account number of the payer.

String

The postal or zip code.

Return Programming Information

PierbridgeReturnRequest/

No

Billing/

Zero or One

String

145

The country.
The standard two-letter country codes
should be used, e.g. US or CA.

Country

The Pierbridge Shipment Server can be


configured to translate any value, e.g.
USA or United States into the required
code.
PierbridgeReturnRequest/

Yes

Packages

One

PierbridgeReturnRequest/

Yes

Packages/

One

Container

Parent element for packages elements.

Container

Parent element for a package element.

Container

Parent element for Record Identifier


elements at the package-level.

Package
PierbridgeReturnRequest/

No

Packages/

Zero or One

Record Identifiers allow you to associate


zero or more key values with a package.

Package/
RecordIdentifiers

These are typically used to link a package


to key values in external systems, e.g. a
stock or sales database.

PierbridgeReturnRequest/

No

Packages/

Zero or Many

Container

Parent element for information about


each Record Identifier.
Include one of these elements for each
Record Identifier.

Package/
RecordIdentifiers/
RecordIdentifier
PierbridgeReturnRequest/

No

Packages/

Zero or Many

Container

Parent element for information about the


Record Identifiers keys.

String

First key value.

Package/
RecordIdentifiers/
RecordIdentifier/
Keys
PierbridgeReturnRequest/

No

Packages/

Zero or One

Package/
RecordIdentifiers/
RecordIdentifier/
Keys/
Key1

Return Programming Information

PierbridgeReturnRequest/

No

Packages/

Zero or One

String

Second key value.

String

Third key value.

String

Fourth key value.

String

Fifth key value.

String

Sixth key value.

Package/
RecordIdentifiers/
RecordIdentifier/
Keys/
Key2
PierbridgeReturnRequest/

No

Packages/

Zero or One

Package/
RecordIdentifiers/
RecordIdentifier/
Keys/
Key3
PierbridgeReturnRequest/

No

Packages/

Zero or One

Package/
RecordIdentifiers/
RecordIdentifier/
Keys/
Key4
PierbridgeReturnRequest/

No

Packages/

Zero or One

Package/
RecordIdentifiers/
RecordIdentifier/
Keys/
Key5
PierbridgeReturnRequest/

No

Packages/

Zero or One

Package/
RecordIdentifiers/
RecordIdentifier/
Keys/
Key6

146

Return Programming Information

PierbridgeReturnRequest/

No

Packages/

Zero or One

Integer

147

Indicates the number of additional copies


of the package that are to be shipped.
Defaults to zero additional copies if
omitted.

Package/
Copies
PierbridgeReturnRequest/

No

Packages/

Zero or One

String

The reference number that you want to


associate with the package.
This value will appear on the packages
label.

Package/
ShipperReference
PierbridgeReturnRequest/

No

Packages/

Zero or One

String

Can be used to associate a package with a


reference number.

String

Can be used to associate a package with a


reference number.

String

Can be used to associate a package with a


reference number.

String

The name of the person the package is


being returned by.

Package/
ReferenceOne
PierbridgeReturnRequest/

No

Packages/

Zero or One

Package/
ReferenceTwo
PierbridgeReturnRequest/

No

Packages/

Zero or One

Package/
ReferenceThree
PierbridgeReturnRequest/

Yes

Packages/

One

This element is provided at this level,


rather than the shipment-level, as
packages may be returned by different
people at the same address.

Package/
SenderName
PierbridgeReturnRequest/

Yes

Packages/

One

String

This element is provided at this level,


rather than the shipment-level, as
packages may be returned by different
people at the same address.

Package/
SenderPhone
PierbridgeReturnRequest/

No

Packages/

Zero or One

Package/
SenderEmail

The telephone number of the person the


package is being returned by.

String

The email address of the person the


package is being returned by.
This element is provided at this level,
rather than the shipment-level, as
packages may be returned by different
people at the same address.

Return Programming Information

PierbridgeReturnRequest/

Yes

Packages/

One

Integer

Package/

148

The numeric identifier for the type of


package the items to be shipped are
contained in.
See Appendix A for valid values.

PackageType
PierbridgeReturnRequest/

Yes

Packages/

One

Float

The weight of the package.


The units (e.g. pound or kilogram) are
determined by the configuration of the
Pierbridge Shipment Server.

Package/
Weight
PierbridgeReturnRequest/

No

Packages/

Zero or One

Integer

The length of the package.


The units (e.g. inch or centimeter) are
determined by the configuration of the
Pierbridge Shipment Server.

Package/
Length
PierbridgeReturnRequest/

No

Packages/

Zero or One

Integer

The width of the package.


The units (e.g. inch or centimeter) are
determined by the configuration of the
Pierbridge Shipment Server.

Package/
Width
PierbridgeReturnRequest/

No

Packages/

Zero or One

Integer

The height of the package.


The units (e.g. inch or centimeter) are
determined by the configuration of the
Pierbridge Shipment Server.

Package/
Height
PierbridgeReturnRequest/

No

Packages/

Zero or One

String

The description of the packages content.


This value will typically appear on the
packages label.

Package/
ContentDescription
PierbridgeReturnRequest/

No

Packages/

Zero or One

Container

If insurance is not required for this


package, then omit this element and its
children.

Package/
Insurance
PierbridgeReturnRequest/

No

Packages/

Zero or One

Package/
Insurance/
Type

Parent element for information about


Insurance.

Integer

This value should be set to 1 if insurance


is required.

Return Programming Information

PierbridgeReturnRequest/

No

Packages/

Zero or One

Float

149

The value the package is to be insured


for.
The units (e.g. USD or CAD) are
determined by the configuration of the
Pierbridge Shipment Server.

Package/
Insurance/
Value
PierbridgeReturnRequest/

No

Packages/

Zero of One

Boolean

Indicates that extra handling measures


are required when loading the package.
Omit this element if the package does not
require additional handling, else set to
True.

Package/
AdditionalHandling
PierbridgeReturnRequest/

No

Packages/

Zero of One

Boolean

Indicates that this package has UPS Large


Package dimensions.
Omit this element if the package does not
have UPS Large Package dimensions,
else set to True.

Package/
LargePackage
PierbridgeReturnRequest/

No

Packages/

Zero or One

Boolean

Package/

Indicates whether the package should be


held for collection at a carriers depot or
some other location.
Omit this element if the package is not to
be held, else set to True.

Hold
PierbridgeReturnRequest/

No

Packages/

Zero or One

Container

Package/

Parent element for information about the


individual or organization who is to hold
the package for collection.
If holder information is not required for
this package, then omit this element and
its children.

Holder
PierbridgeReturnRequest/

No

Packages/

Zero or One

String

The name of the individual who is to hold


the package for collection.

String

The name of the company where the


package is to be held for collection.

Package/
Holder/
Name
PierbridgeReturnRequest/

No

Packages/

Zero or One

Package/
Holder/
CompanyName

Return Programming Information

PierbridgeReturnRequest/

No

Packages/

Zero or One

150

String

The first line of the address where the


package is to be held for collection.

String

The second line of the address where the


package is to be held for collection.

String

The third line of the address where the


package is to be held for collection.

String

The city where the package is to be held


for collection.

String

The region where the package is to be


held for collection

Package/
Holder/
Street
PierbridgeReturnRequest/

No

Packages/

Zero or One

Package/
Holder/
Locale
PierbridgeReturnRequest/

No

Packages/

Zero or One

Package/
Holder/
Other
PierbridgeReturnRequest/

No

Packages/

Zero or One

Package/
Holder/
City
PierbridgeReturnRequest/

No

Packages/

Zero or One

If in the US, the two-letter state code


should be used, e.g. MA.

Package/
Holder/

The Pierbridge Shipment Server can be


configured to translate any value, e.g.
Massachusetts or Mass. into the
required code.

Region

PierbridgeReturnRequest/

No

Packages/

Zero or One

Package/
Holder/
PostalCode

String

The postal or zip code where the package


is to be held for collection.

Return Programming Information

PierbridgeReturnRequest/

No

Packages/

Zero or One

String

Holder/

The Pierbridge Shipment Server can be


configured to translate any value, e.g.
USA or United States into the required
code.

Country

PierbridgeReturnRequest/

No

Packages/

Zero or One

Holder/
Phone

The country where the package is to be


held for collection
The standard two-letter country codes
should be used, e.g. US or CA.

Package/

Package/

151

String

The phone number of the individual who


is to hold the package for collection.

Return Programming Information

152

XML RESPONSE
After the above XML request has been POSTed on the HTTP connection an XML response
will be returned, which will adhere to the following structure.

Element (XPath)

Required/

Type

Description

Container

Root element.

String

Used to synchronize request/response


pairs.

Cardinality
PierbridgeReturnResponse

Yes
One

PierbridgeReturnResponse/

No

TransactionIdentifier

Zero or One

It can contain any valid XML element


content and is echoed back in the
response.
PierbridgeReturnResponse/

Yes

Packages

One

PierbridgeReturnResponse/

Yes

Packages/

One

Container

Parent element for packages elements.

Container

Parent element for a package element.

Container

Parent element for package status


elements.

Integer

Indicates whether the package has been


successfully shipped.

Package
PierbridgeReturnResponse/

Yes

Packages/

One

Package/
Status
PierbridgeReturnResponse/

Yes

Packages/

One

A value of 0 indicates failure and 1


indicates success.

Package/
Status/
Code
PierbridgeReturnResponse/

Yes

Packages/

One

Package/
Status/
Description

String

A textual description of the packages


success.
If the package has failed, then the value
will summarise why it failed.

Return Programming Information

PierbridgeReturnResponse/

No

Packages/

Zero or One

String

The reference number that you associated


with the package in the request.
This value will appear on the packages
label.

Package/
ShipperReference
PierbridgeReturnResponse/

Yes

Packages/

One

String

The tracking number that has been


assigned to the package.

Integer

A unique numeric identifier for the


package.

Container

Parent element for package labels


elements.

Package/
WayBillNumber
PierbridgeReturnResponse/

Yes

Packages/

One

Package/
PackageID
PierbridgeReturnResponse/

No

Packages/

Zero or One

Note, labels are only included in the


response if they are configured to do so.

Package/
Labels
PierbridgeReturnResponse/

No

Packages/

Zero or Many

Container

Parent element for package label


elements.
One of these elements is provided for
each label associated with the package.

Package/
Labels/
Output
PierbridgeReturnResponse/

No

Packages/

Zero or One

Integer

Numeric identifier for the type of label.


See Appendix A for valid values.

Package/
Labels/
Output/
Type
PierbridgeReturnResponse/

No

Packages/

Zero or One

Package/
Labels/
Output/
Format

Integer

153

Numeric identifier for the format of the


label.
See Appendix A for valid values.

Return Programming Information

PierbridgeReturnResponse/

No

Packages/

Zero or One

154

String

Mime-Type of the label.

String

A base64-encoded string that contains the


label data.

Package/
Labels/
Output/
MimeType
PierbridgeReturnResponse/

No

Packages/

Zero or One

Package/
Labels/
Output/
Content

Return Programming Information

155

BASIC PACKAGE
The following XML generates a return shipment. This represents the minimum information
that is typically provided for returns.
A ConnectShip (UPS) ground carrier service has been specified in this example. The
delivery method is set to 0 (zero), which indicates that the return label should be printed.

XML Request
<?xml version="1.0" encoding="UTF-8"?>
<PierbridgeReturnRequest>
<Carrier>12</Carrier>
<ServiceType>77</ServiceType>
<DeliveryMethod>0</DeliveryMethod>
<ShipDate></ShipDate>
<Sender>
<CompanyName>The White House</CompanyName>
<Street>1600 Pennsylvania Avenue NW</Street>
<City>Washington</City>
<Region>DC</Region>
<PostalCode>20500</PostalCode>
<Country>US</Country>
</Sender>
<Packages>
<Package>
<SenderName>Mr President</SenderName>
<SenderPhone>202-456-1414</SenderPhone>
<PackageType>27</PackageType>
<Weight>10.5</Weight>
<ContentDescription>Pens</ContentDescription>
</Package>
</Packages>
<UserName>user</UserName>
</PierbridgeReturnRequest>

XML Response
<?xml version="1.0" encoding="utf-8"?>
<PierbridgeReturnResponse>
<Packages>
<Package>
<Status>
<Code>1</Code>
<Description>Success</Description>
</Status>
<WayBillNumber>1Z1234569012390780</WayBillNumber>
<Labels>
<Output>
<Type>4</Type>
<Format>2</Format>
<MimeType></MimeType>
<Content></Content>
</Output>
</Labels>
<PackageID>58684</PackageID>
</Package>
</Packages>
<Carrier>12</Carrier>
<CarrierName>ConnectShip (UPS)</CarrierName>
<CarrierScac>UPS</CarrierScac>
<ServiceType>77</ServiceType>
<ServiceTypeName>UPS Ground</ServiceTypeName>
<Weight>10.5</Weight>

Return Programming Information


<ShipmentID>11191</ShipmentID>
</PierbridgeReturnResponse>

156

End Of Day List Programming Information

157

END OF DAY LIST PROGRAMMING INFORMATION


This interface allows you to list the currently open manifests for a certain carrier.
End Of Day is only applicable to on-site shipping systems such as ConnectShip, FSMS and
ProShip.
In the XML request you specify the carrier you want to list open manifests for.
The XML response will indicate whether your request has succeeded. If it hasnt then an
indication of what went wrong will be provided. If it was successful then a list of
manifests for the specified carrier that can be actioned (using the End Of Day Action
interface) will be returned.

XML REQUEST
The request XML document must adhere to the following structure.

Element (XPath)

Required/

Type

Description

Container

Root element.

String

Used to synchronize request/response


pairs.

Cardinality
PierbridgeEndOfDayListRequest

Yes
One

PierbridgeEndOfDayListRequest/

No

TransactionIdentifier

Zero or One

It can contain any valid XML element


content and is echoed back in the
response.
PierbridgeEndOfDayListRequest/

Yes

Carrier

One

Integer

The numeric identifier of the carrier (e.g.


ConnectShip (UPS)) whose open manifests
are to be returned.
See Appendix A for valid values.

PierbridgeEndOfDayListRequest/

No

Live

Zero or One

Boolean

Indicates whether the manifest list is a


test or not.
Omit the element if the manifest list is a
test one, else set to True.

PierbridgeEndOfDayListRequest/

Yes

UserName

One

String

The Windows username of the user who is


submitting the request.

End Of Day List Programming Information

158

XML RESPONSE
After the above XML request has been POSTed on the HTTP connection an XML response
will be returned, which will adhere to the following structure.

Element (XPath)

Required/

Type

Description

Container

Root element.

String

Used to synchronize request/response


pairs.

Cardinality
PierbridgeEndOfDayListResponse

Yes
One

PierbridgeEndOfDayListResponse/

No

TransactionIdentifier

Zero or One

It can contain any valid XML element


content and is echoed back in the
response.
PierbridgeEndOfDayListResponse/

Yes

Status

One

PierbridgeEndOfDayListResponse/

Yes

Status/

One

Container

Parent element for status elements.

Integer

Indicates whether the list has been


successful.
A value of 0 indicates failure and 1
indicates success.

Code
PierbridgeEndOfDayListResponse/

Yes

Status/

One

String

If the list has failed, then the value will


summarise why it failed.

Description
PierbridgeEndOfDayListResponse/

Yes

Manifests

One

PierbridgeEndOfDayListResponse/

No

Manifests/

Zero or Many

Container

Parent element for manifest elements.

Container

Parent element for a manifest element.


There will be one manifest element for
each open manifest of the carrier
specified in the request XML.

Manifest
PierbridgeEndOfDayListResponse/

No

Manifests/

Zero or One

A textual description of the lists success.

String

The name of the carrier the open


manifest if for.

Integer

The numeric identifier of the carrier (e.g.


ConnectShip (UPS)) the open manifest if
for.

Manifest/
CarrierName
PierbridgeEndOfDayListResponse/

No

Manifests/

Zero or One

Manifest/
Carrier

See Appendix A for valid values.

End Of Day List Programming Information

PierbridgeEndOfDayListResponse/

No

Manifests/

Zero or One

Date

159

The date the open manifest if for.


Normally a manifest relates to a single
days shipping activity. So, there is
typically one manifest per carrier per day.

Manifest/
ShipDate
PierbridgeEndOfDayListResponse/

No

Manifests/

Zero or One

Manifest/
Identifier

String

The shipping systems identifier for the


open manifest.
If returned, this value should be passed in
the Identifier element of the End Of Day
Action request XML.

End Of Day List Programming Information

160

EXAMPLE
The following XML requests a list of open manifests for the ConnectShip (UPS) carrier.
This is all the information that is typically provided.
For brevity, only one of the many open manifests that could be in the response are shown
below.
Note the Identifier element in the response XML. This value should be provided in the
End Of Day Action request XML when actioning a manifest.

XML Request
<?xml version="1.0" encoding="UTF-8"?>
<PierbridgeEndOfDayListRequest>
<Carrier>12</Carrier>
<UserName>user</UserName>
</PierbridgeEndOfDayListRequest>

XML Response
<?xml version="1.0" encoding="utf-8"?>
<PierbridgeEndOfDayListResponse>
<Status>
<Code>1</Code>
<Description>No error</Description>
</Status>
<Manifests>
<Manifest>
<ShipDate>2007-01-01</ShipDate>
<Identifier>SHIPDATE_20070101</Identifier>
<Carrier>12</Carrier>
<CarrierName>ConnectShip (UPS)</CarrierName>
</Manifest>
</Manifests>
<TransactionIdentifier></TransactionIdentifier>
</PierbridgeEndOfDayListResponse>

End Of Day Action Programming Information

161

END OF DAY ACTION PROGRAMMING INFORMATION


This interface allows you to action a currently open manifest.
End Of Day is only applicable to on-site shipping systems such as ConnectShip, FSMS and
ProShip.
In the XML request you specify the carrier, ship date and identifier of the manifest that
you want to action. This information is typically gathered by using the End Of Day List
Manifests interface.
The XML response will indicate whether your request has succeeded. If it hasnt then an
indication of what went wrong will be provided. If it was successful then (dependent on
Shipment Server configuation) any manifest documentation that was produced will be
returned.

XML REQUEST
The request XML document must adhere to the following structure.

Element (XPath)

Required/

Type

Description

Container

Root element.

String

Used to synchronize request/response


pairs.

Cardinality
PierbridgeEndOfDayActionRequest

Yes
One

PierbridgeEndOfDayActionRequest/

No

TransactionIdentifier

Zero or One

It can contain any valid XML element


content and is echoed back in the
response.
PierbridgeEndOfDayActionRequest/

Yes

Carrier

One

Integer

The numeric identifier of the carrier (e.g.


ConnectShip (UPS)) whose manifest is to
be actioned.
See Appendix A for valid values.

PierbridgeEndOfDayActionRequest/

Yes

ShipDate

One

PierbridgeEndOfDayActionRequest/

No

Identifier

Zero or One

Date

The date the manifest if for.


Normally a manifest relates to a single
days shipping activity. So, there is
typically one manifest per carrier per day.

String

The shipping systems identifier for the


manifest to be actioned.
The value should be the one returned in
the Identifier element of the End Of Day
List response XML.
This element is required for ConnectShip
carriers.

End Of Day Action Programming Information

PierbridgeEndOfDayActionRequest/

No

Live

Zero or One

Boolean

162

Indicates whether the manifest list is a


test or not.
Omit the element if the manifest list is a
test one, else set to True.

PierbridgeEndOfDayActionRequest/

Yes

UserName

One

String

The Windows username of the user who is


submitting the request.

End Of Day Action Programming Information

163

XML RESPONSE
After the above XML request has been POSTed on the HTTP connection an XML response
will be returned, which will adhere to the following structure.

Element (XPath)

Required/

Type

Description

Container

Root element.

String

Used to synchronize request/response


pairs.

Cardinality
PierbridgeEndOfDayActionResponse

Yes
One

PierbridgeEndOfDayActionResponse/

No

TransactionIdentifier

Zero or One

It can contain any valid XML element


content and is echoed back in the
response.
PierbridgeEndOfDayActionResponse/

Yes

Status

One

PierbridgeEndOfDayActionResponse/

Yes

Status/

One

Container

Parent element for status elements.

Integer

Indicates whether the action has been


successful.
A value of 0 indicates failure and 1
indicates success.

Code
PierbridgeEndOfDayActionResponse/

Yes

Status/

One

String

A textual description of the actions


success.
If the action has failed, then the value
will summarise why it failed.

Description
PierbridgeEndOfDayActionResponse/

Yes

Carrier

One

Integer

The numeric identifier of the carrier


(e.g. ConnectShip (UPS)) whose
manifest was to be actioned.
See Appendix A for valid values.

PierbridgeEndOfDayActionResponse/

Yes

ShipDate

One

PierbridgeEndOfDayActionResponse/

No

Identifier

Zero or One

PierbridgeEndOfDayActionResponse/

No

Documents

Zero or One

Date

The date the manifest if for.


Normally a manifest relates to a single
days shipping activity. So, there is
typically one manifest per carrier per
day.

String

The shipping systems identifier for the


manifest that was to be actioned.

Container

Parent element for manifest document


elements.
Note, documents are only included in
the response if they are configured to
do so.

End Of Day Action Programming Information

PierbridgeEndOfDayActionResponse/

No

Documents/

Zero or Many

Container

164

Parent element for manifest document


elements.
One of these elements is provided for
each document associated with the
manifest.

Output

PierbridgeEndOfDayActionResponse/

No

Documents/

Zero or One

Integer

Numeric identifier for the type of


document.
See Appendix A for valid values.

Output/
Type
PierbridgeEndOfDayActionResponse/

No

Documents/

Zero or One

Integer

Numeric identifier for the format of


the document.
See Appendix A for valid values.

Output/
Format
PierbridgeEndOfDayActionResponse/

No

Documents/

Zero or One

String

Mime-Type of the document.

String

A base64-encoded string that contains


the document data.

Output/
MimeType
PierbridgeEndOfDayActionResponse/

No

Documents/

Zero or One

Output/
Content

End Of Day Action Programming Information

165

EXAMPLE
The following XML requests the action of a manifest for the ConnectShip (UPS) carrier.
This is all the information that is typically provided.
Note the Identifier element in the request XML. This is the value that was returned in
End Of Day List response XML.
Note that the Content element (in the response XML) has an empty value; this element,
when it has a value, has a large base64-encoded string, which is omitted here for brevity.

XML Request
<?xml version="1.0" encoding="UTF-8"?>
<PierbridgeEndOfDayActionRequest>
<Carrier>12</Carrier>
<ShipDate>2007-01-01</ShipDate>
<Identifier>SHIPDATE_20070101</Identifier>
<UserName>user</UserName>
</PierbridgeEndOfDayActionRequest>

XML Response
<?xml version="1.0" encoding="utf-8"?>
<PierbridgeEndOfDayActionResponse>
<Status>
<Code>0</Code>
<Description>Close out: Ok. Produce document: Ok. Transmit: Ok.</Description>
</Status>
<Carrier>12</Carrier>
<Documents>
<Output>
<Type>10</Type>
<Format>1</Format>
<MimeType>image/png</MimeType>
<Content></Content>
</Output>
</Documents>
</PierbridgeEndOfDayActionResponse>

Appendix B

166

APPENDICES
APPENDIX A REFERENCE TABLES
These tables detail the valid values for various elements in the XML requests and
responses.

Carriers
The carrier, e.g. DHL, FedEx, UPS, to use.
Value

Description

Airborne

Capital Logistics

14

ConnectShip (Airborne)

25

ConnectShip (CanadaPost)

26

ConnectShip (CANPAR)

18

ConnectShip (DHL Express)

10

ConnectShip (DHL)

33

ConnectShip (FedEx FSMS)

11

ConnectShip (FedEx)

22

ConnectShip (ICS Courier)

27

ConnectShip (LOOMIS)

21

ConnectShip (Purolator)

28

ConnectShip (UPS Canada)

12

ConnectShip (UPS)

13

ConnectShip (USPS)

DHL

Endicia

FedEx

24

FreightQuote

23

Pass Through

32

ProShip (DHL)

29

ProShip (FedEx FSMS)

30

ProShip (UPS)

31

ProShip (USPS)

UPS

19

USPS

Package Type
The type of packaging to use. The value must be used in relation to the stated carrier.
Value

Description

Carrier Related To

Letter

Airborne

Parcel

Airborne

23

Customer Package

Capital Logistics

34

Customer Package

ConnectShip (Airborne)

35

Letter

ConnectShip (Airborne)

77

Customer Package

ConnectShip (CanadaPost)

78

Pak

ConnectShip (CanadaPost)

79

Box

ConnectShip (CanadaPost)

Appendix B
80

Tube

ConnectShip (CanadaPost)

81

Letter

ConnectShip (CanadaPost)

82

10kg Box

ConnectShip (CanadaPost)

83

25kg Box

ConnectShip (CanadaPost)

84

Pallet

ConnectShip (CanadaPost)

85

Customer Package

ConnectShip (CANPAR)

86

Pak

ConnectShip (CANPAR)

87

Box

ConnectShip (CANPAR)

88

Tube

ConnectShip (CANPAR)

89

Letter

ConnectShip (CANPAR)

90

10kg Box

ConnectShip (CANPAR)

91

25kg Box

ConnectShip (CANPAR)

92

Pallet

ConnectShip (CANPAR)

44

Customer Package

ConnectShip (DHL Express)

45

Lab Pak

ConnectShip (DHL Express)

46

Box

ConnectShip (DHL Express)

47

Letter

ConnectShip (DHL Express)

24

Customer Package

ConnectShip (DHL)

118

Letter

ConnectShip (FedEx FSMS)

119

Customer Package

ConnectShip (FedEx FSMS)

120

Box

ConnectShip (FedEx FSMS)

121

Tube

ConnectShip (FedEx FSMS)

122

Pak

ConnectShip (FedEx FSMS)

123

10kg Box

ConnectShip (FedEx FSMS)

124

25kg Box

ConnectShip (FedEx FSMS)

25

Customer Package

ConnectShip (FedEx)

52

Customer Package

ConnectShip (ICS Courier)

93

Customer Package

ConnectShip (LOOMIS)

94

Pak

ConnectShip (LOOMIS)

95

Box

ConnectShip (LOOMIS)

96

Tube

ConnectShip (LOOMIS)

97

Letter

ConnectShip (LOOMIS)

98

10kg Box

ConnectShip (LOOMIS)

99

25kg Box

ConnectShip (LOOMIS)

Pallet

ConnectShip (LOOMIS)

51

Customer Package

ConnectShip (Purolator)

101

Customer Package

ConnectShip (UPS Canada)

102

Pak

ConnectShip (UPS Canada)

103

Box

ConnectShip (UPS Canada)

104

Tube

ConnectShip (UPS Canada)

105

Letter

ConnectShip (UPS Canada)

106

10kg Box

ConnectShip (UPS Canada)

107

25kg Box

ConnectShip (UPS Canada)

108

Pallet

ConnectShip (UPS Canada)

26

UPS Letter

ConnectShip (UPS)

27

Customer Package

ConnectShip (UPS)

28

UPS Tube

ConnectShip (UPS)

29

UPS Pak

ConnectShip (UPS)

30

UPS Express Box

ConnectShip (UPS)

31

UPS 25 KG Box

ConnectShip (UPS)

32

UPS 10 KG Box

ConnectShip (UPS)

33

Customer Package

ConnectShip (USPS)

55

Letter

ConnectShip (USPS)

57

Priority Mail Flat Rate Box (12" x 3.5" x 14")

ConnectShip (USPS)

58

Priority Mail Flat Rate Box (11" x 8.5" x 5.5)

ConnectShip (USPS)

20

DHL Express Envelope

DHL

100

167

Appendix B
21

Other DHL Packaging

DHL

22

Customer Package

DHL

17

Customer Package

Endicia

FedEx Envelope

FedEx

FedEx Pak

FedEx

FedEx Box

FedEx

FedEx Tube

FedEx

FedEx 10kg Box

FedEx

FedEx 25kg Box

FedEx

Customer Package

FedEx

61

Pallet

FreightQuote

62

Crate

FreightQuote

63

Motorcycle

FreightQuote

64

Bag

FreightQuote

65

Cylinder

FreightQuote

66

ATV

FreightQuote

67

Bale

FreightQuote

68

Drum

FreightQuote

69

Box

FreightQuote

70

Pail

FreightQuote

71

Bunch

FreightQuote

72

Reel

FreightQuote

73

Carpet

FreightQuote

74

Roll

FreightQuote

75

Coil

FreightQuote

76

Tubing/Pipe

FreightQuote

53

Customer Package

Pass Through

112

Customer Package

ProShip (DHL)

113

Box

ProShip (DHL)

114

Letter

ProShip (DHL)

115

Laboratory Package

ProShip (DHL)

116

10kg Box

ProShip (DHL)

117

25kg Box

ProShip (DHL)

109

Customer Package

ProShip (FedEx FSMS)

110

Customer Package

ProShip (UPS)

111

Customer Package

ProShip (USPS)

18

Customer Packag

Scancode

10

UPS Letter

UPS

11

Customer Package

UPS

12

UPS Tube

UPS

13

UPS Pak

UPS

14

UPS Express Box

UPS

15

UPS 25 KG Box

UPS

16

UPS 10 KG Box

UPS

48

Customer Package

USPS

49

Flat Rate Envelope

USPS

50

Flat Rate Box

USPS

168

Service Type
The type of service, e.g. Next Day, Ground, Freight, to use. The value must be used in
relation to the stated carrier.
Value
1

Description

Carrier Related To

Express 10:30

Airborne

Appendix B
2

Express

Airborne

Express Saturday

Airborne

Next Afternoon

Airborne

Second Day Service

Airborne

Ground

Airborne

57

All Available Services

Capital Logistics

95

Airborne Express 1030 AM

ConnectShip (Airborne)

96

Airborne Express

ConnectShip (Airborne)

97

Airborne Next Afternoon Service

ConnectShip (Airborne)

98

Airborne Second Day Service

ConnectShip (Airborne)

99

Airborne Ground Service

ConnectShip (Airborne)

100

Airborne @Home Second Service

ConnectShip (Airborne)

101

Airborne @Home Ground Service

ConnectShip (Airborne)

102

Airborne @Home Media Mail Second Day Service

ConnectShip (Airborne)

103

Airborne @Home Media Mail Ground Service

ConnectShip (Airborne)

168

Canada Post Priority Courier

ConnectShip (CanadaPost)

169

Canada Post Express Post

ConnectShip (CanadaPost)

170

Canada Post Expedited Parcel

ConnectShip (CanadaPost)

171

Canada Post Regular Parcel

ConnectShip (CanadaPost)

172

Canada Post Purolator Intl

ConnectShip (CanadaPost)

173

Canada Post Express Post USA

ConnectShip (CanadaPost)

174

Canada Post Small Packet Air Intl

ConnectShip (CanadaPost)

175

Canada Post Air Parcel Intl

ConnectShip (CanadaPost)

176

Canada Post Surface Parcel Intl

ConnectShip (CanadaPost)

177

Canada Post Express Post Intl

ConnectShip (CanadaPost)

178

Canada Post Commercial Expedited Parcel USA

ConnectShip (CanadaPost)

179

Canada Post Expedited Parcel USA

ConnectShip (CanadaPost)

180

Canada Post Small Packet Surface Intl

ConnectShip (CanadaPost)

181

CANPAR Ground

ConnectShip (CANPAR)

182

CANPAR Select

ConnectShip (CANPAR)

183

CANPAR USA

ConnectShip (CANPAR)

123

DHL Next Day 10:30 am

ConnectShip (DHL Express)

124

DHL Next Day 12:00 pm

ConnectShip (DHL Express)

125

DHL Next Day 3:00 pm

ConnectShip (DHL Express)

126

DHL 2nd Day Service

ConnectShip (DHL Express)

127

DHL Ground Service

ConnectShip (DHL Express)

128

DHL @Home 2nd Day

ConnectShip (DHL Express)

129

DHL @Home Ground

ConnectShip (DHL Express)

130

DHL Media Mail @Home 2nd Day

ConnectShip (DHL Express)

131

DHL Media Mail @Home Ground

ConnectShip (DHL Express)

132

DHL Bound Printed Matter @Home 2nd Day

ConnectShip (DHL Express)

133

DHL Bound Printed Matter @Home Ground

ConnectShip (DHL Express)

134

DHL International Document Service

ConnectShip (DHL Express)

135

DHL International Document Letter Service

ConnectShip (DHL Express)

136

DHL Worldwide Priority Express

ConnectShip (DHL Express)

137

DHL Global Mail Priority Service

ConnectShip (DHL Express)

138

DHL Global Mail Standard Service

ConnectShip (DHL Express)

58

US Overnight

ConnectShip (DHL)

59

Second Day

ConnectShip (DHL)

60

Ground

ConnectShip (DHL)

61

Worldwide Express

ConnectShip (DHL)

262

FedEx First Overnight

ConnectShip (FedEx FSMS)

263

FedEx Priority Overnight

ConnectShip (FedEx FSMS)

264

FedEx Standard Overnight

ConnectShip (FedEx FSMS)

265

FedEx 2Day

ConnectShip (FedEx FSMS)

266

FedEx Express Saver

ConnectShip (FedEx FSMS)

169

Appendix B
267

FedEx 1Day Freight

ConnectShip (FedEx FSMS)

268

FedEx 2Day Freight

ConnectShip (FedEx FSMS)

269

FedEx 3Day Freight

ConnectShip (FedEx FSMS)

270

FedEx International First

ConnectShip (FedEx FSMS)

271

FedEx International Priority

ConnectShip (FedEx FSMS)

272

FedEx International Economy

ConnectShip (FedEx FSMS)

273

FedEx International Priority Freight

ConnectShip (FedEx FSMS)

274

FedEx International Economy Freight

ConnectShip (FedEx FSMS)

275

FedEx Ground

ConnectShip (FedEx FSMS)

276

FedEx Home Delivery

ConnectShip (FedEx FSMS)

62

FedEx Priority Overnight

ConnectShip (FedEx)

63

FedEx Standard Overnight

ConnectShip (FedEx)

64

FedEx First Overnight

ConnectShip (FedEx)

65

FedEx 2Day

ConnectShip (FedEx)

66

FedEx Express Saver

ConnectShip (FedEx)

67

FedEx International Priority

ConnectShip (FedEx)

68

FedEx International Economy

ConnectShip (FedEx)

69

FedEx International First

ConnectShip (FedEx)

70

FedEx 1 Day Freight

ConnectShip (FedEx)

71

FedEx 2 Day Freight

ConnectShip (FedEx)

72

FedEx 3 Day Freight

ConnectShip (FedEx)

73

FedEx International Priority Freight

ConnectShip (FedEx)

74

FedEx International Economy Freight

ConnectShip (FedEx)

155

ICS Next Day

ConnectShip (ICS Courier)

156

ICS Ground

ConnectShip (ICS Courier)

184

Ground (Canada)

ConnectShip (LOOMIS)

185

Express

ConnectShip (LOOMIS)

186

DHL Express 9AM Delivery

ConnectShip (LOOMIS)

146

Purolator Air 9:00 AM

ConnectShip (Purolator)

147

Purolator Air 10:30 AM

ConnectShip (Purolator)

148

Purolator Air

ConnectShip (Purolator)

149

Purolator Ground

ConnectShip (Purolator)

150

Purolator Ground 9:00 AM

ConnectShip (Purolator)

151

Purolator Ground 10:30 AM

ConnectShip (Purolator)

152

Purolator Air to USA

ConnectShip (Purolator)

153

Purolator Ground to USA

ConnectShip (Purolator)

154

Purolator International Air

ConnectShip (Purolator)

187

UPS Express Early A.M.

ConnectShip (UPS Canada)

188

UPS Express Plus (Canada)

ConnectShip (UPS Canada)

189

UPS Express (Canada)

ConnectShip (UPS Canada)

190

UPS Express Saver (Canada)

ConnectShip (UPS Canada)

191

UPS Expedited (Canada)

ConnectShip (UPS Canada)

192

UPS 3 Day Select (Canada)

ConnectShip (UPS Canada)

193

UPS Standard (Canada)

ConnectShip (UPS Canada)

194

UPS Economy

ConnectShip (UPS Canada)

195

UPS Next Day Air Saver (Canada)

ConnectShip (UPS Canada)

75

UPS Next Day Air

ConnectShip (UPS)

76

UPS 2nd Day Air

ConnectShip (UPS)

77

UPS Ground

ConnectShip (UPS)

78

UPS Worldwide Express SM

ConnectShip (UPS)

79

UPS Worldwide Expedited SM

ConnectShip (UPS)

80

UPS 3 Day Select

ConnectShip (UPS)

81

UPS Next Day Air Saver

ConnectShip (UPS)

82

UPS Next Day Air Early A.M.

ConnectShip (UPS)

83

UPS Worldwide Express Plus SM

ConnectShip (UPS)

84

UPS 2nd Day Air A.M.

ConnectShip (UPS)

170

Appendix B
85

First-Class Mail

ConnectShip (USPS)

86

Priority Mail

ConnectShip (USPS)

87

Media Mail (Single Piece)

ConnectShip (USPS)

92

Express Mail International

ConnectShip (USPS)

93

USPS Intl Airmail M-bags

ConnectShip (USPS)

94

Priority Mail International

ConnectShip (USPS)

158

USPS Express Mail (Custom)

ConnectShip (USPS)

159

USPS Express Mail (PO)

ConnectShip (USPS)

160

USPS Express Mail (Addressee)

ConnectShip (USPS)

289

First-Class Mail International

ConnectShip (USPS)

290

Standard Mail (Custom)

ConnectShip (USPS)

291

Standard Mail (DBMC)

ConnectShip (USPS)

292

Parcel Post

ConnectShip (USPS)

293

Bound Printed Matter (Single-Piece)

ConnectShip (USPS)

294

Bound Printed Matter (Presorted)

ConnectShip (USPS)

295

Library Mail (Single-Piece)

ConnectShip (USPS)

296

Media Mail (5-Digit)

ConnectShip (USPS)

297

Media Mail (Basic)

ConnectShip (USPS)

298

Library Mail (5-Digit)

ConnectShip (USPS)

299

Library Mail (Basic)

ConnectShip (USPS)

300

Parcel Select (DBMC)

ConnectShip (USPS)

40

US Overnight

DHL

41

Worldwide Express Non-dutiable

DHL

42

US Express

DHL

43

Worldwide Express Envelope

DHL

44

Worldwide Express Dutiable

DHL

45

Second Day Express

DHL

46

Second Day

DHL

47

Ground

DHL

35

First-Class Mail

Endicia

36

Priority Mail

Endicia

37

Media Mail

Endicia

161

Library Mail

Endicia

162

Global Express Mail

Endicia

163

Global Priority Mail

Endicia

164

Global Air Parcel Post

Endicia

166

Parcel Post (Non Machineable)

Endicia

167

Parcel Post (Machineable)

Endicia

FedEx Priority Overnight

FedEx

FedEx Standard Overnight

FedEx

FedEx First Overnight

FedEx

10

FedEx 2Day

FedEx

11

FedEx Express Saver

FedEx

12

FedEx International Priority

FedEx

13

FedEx International Economy

FedEx

14

FedEx International First

FedEx

15

FedEx 1 Day Freight

FedEx

16

FedEx 2 Day Freight

FedEx

17

FedEx 3 Day Freight

FedEx

18

FedEx Ground

FedEx

19

FedEx Ground Home Delivery

FedEx

20

FedEx International Priority Freight

FedEx

21

FedEx International Economy Freight

FedEx

22

FedEx Europe First International Priority

FedEx

165

Selected LTL Service

FreightQuote

157

Pass Through Service

Pass Through

171

Appendix B
235

DHL Next Day 10:30 AM

ProShip (DHL)

236

DHL Next Day Noon

ProShip (DHL)

237

DHL Next Day 3:00 PM

ProShip (DHL)

238

DHL 2nd Day

ProShip (DHL)

239

DHL Ground

ProShip (DHL)

240

DHL @Home Standard w/DC

ProShip (DHL)

241

DHL @Home Deferred w/DC

ProShip (DHL)

242

DHL @Home Media Mail Standard w/DC

ProShip (DHL)

243

DHL @Home Media Mail Deferred w/DC

ProShip (DHL)

244

DHL @Home Bound Printed Matter Standard w/DC

ProShip (DHL)

245

DHL @Home Bound Printed Matter Deferred w/DC

ProShip (DHL)

246

DHL International Document

ProShip (DHL)

247

DHL Worldwide Priority Express

ProShip (DHL)

248

DHL Global Mail Priority

ProShip (DHL)

249

DHL Global Mail Standard

ProShip (DHL)

250

DHL @Home Standard (no DC)

ProShip (DHL)

251

DHL @Home Deferred (no DC)

ProShip (DHL)

252

DHL @Home Media Mail Standard (no DC)

ProShip (DHL)

253

DHL @Home Media Mail Deferred (no DC)

ProShip (DHL)

254

DHL @Home Bound Printed Matter Standard (no DC)

ProShip (DHL)

255

DHL @Home Bound Printed Matter Deferred (no DC)

ProShip (DHL)

256

DHL @Home Expedited

ProShip (DHL)

257

DHL Media Mail @Home Expedited

ProShip (DHL)

258

DHL Bound Printed Matter @Home Expedited

ProShip (DHL)

259

DHL @Home Expedited (no DC)

ProShip (DHL)

260

DHL Media Mail @Home Expedited (no DC)

ProShip (DHL)

261

DHL Bound Printed Matter @Home Expedited (no DC)

ProShip (DHL)

196

FedEx Priority Overnight/Intl Priority

ProShip (FedEx FSMS)

197

FedEx Standard Overnight

ProShip (FedEx FSMS)

198

FedEx First Overnight/Intl First

ProShip (FedEx FSMS)

199

FedEx 2Day/Intl Economy

ProShip (FedEx FSMS)

200

FedEx Express Saver

ProShip (FedEx FSMS)

201

FedEx 1Day Freight/Intl Priority Freight

ProShip (FedEx FSMS)

202

FedEx 2Day Freight

ProShip (FedEx FSMS)

203

FedEx 3Day Freight

ProShip (FedEx FSMS)

204

FedEx Home Delivery

ProShip (FedEx FSMS)

205

FedEx Ground

ProShip (FedEx FSMS)

206

FedEx Intl Economy Freight

ProShip (FedEx FSMS)

207

FedEx Intl Priority DirectDistribution

ProShip (FedEx FSMS)

208

UPS Next Day Air Early A.M.

ProShip (UPS)

209

UPS Next Day Air

ProShip (UPS)

210

UPS Next Day Air Saver

ProShip (UPS)

211

UPS 2nd Day Air A.M.

ProShip (UPS)

212

UPS 2nd Day Air

ProShip (UPS)

213

UPS 3 Day Select

ProShip (UPS)

214

UPS Ground

ProShip (UPS)

215

UPS Standard to Canada

ProShip (UPS)

216

UPS Worldwide Expedited

ProShip (UPS)

217

UPS Worldwide Express

ProShip (UPS)

218

UPS Worldwide Express Plus

ProShip (UPS)

219

USPS 1st Class Mail Single Piece

ProShip (USPS)

220

USPS Priority Mail

ProShip (USPS)

221

USPS Parcel Post

ProShip (USPS)

222

USPS Media Mail Single Piece

ProShip (USPS)

223

USPS Bound Printed Matter Single Piece

ProShip (USPS)

224

USPS Express Mail PO to Consignee

ProShip (USPS)

172

Appendix B
225

USPS Global Express Guaranteed

ProShip (USPS)

226

USPS Global Express Mail

ProShip (USPS)

227

USPS Int Surface Letter Post

ProShip (USPS)

228

USPS Int Airmail Letter Post

ProShip (USPS)

229

USPS M-Bag Airmail

ProShip (USPS)

230

USPS M-Bag Surface

ProShip (USPS)

231

USPS M-Bag Books Sheet Music

ProShip (USPS)

232

USPS International Airmail Parcel Post

ProShip (USPS)

233

USPS International Surface Parcel Post

ProShip (USPS)

234

USPS Library Mail Single Piece

ProShip (USPS)

23

UPS Next Day Air

UPS

24

UPS 2nd Day Air

UPS

25

UPS Ground

UPS

26

UPS Worldwide Express SM

UPS

27

UPS Worldwide Expedited SM

UPS

28

UPS Standard

UPS

29

UPS 3 Day Select

UPS

30

UPS Next Day Air Saver

UPS

31

UPS Next Day Air Early A.M.

UPS

32

UPS Worldwide Express Plus SM

UPS

33

UPS 2nd Day Air A.M.

UPS

34

UPS Express Saver SM

UPS

139

Express

USPS

140

First Class

USPS

141

Priority

USPS

142

Parcel Post

USPS

143

Bound Printed Matter

USPS

144

Library Mail

USPS

145

Media Mail

USPS

Payer Type
The type of Payor specified for billing, i.e. the Billing/PayerType element.
Value

Description

Sender

Recipient

Third Party

Consignee

Invoice

FOB Port of Export (FOB)

Cost & Freight (CFR)

Cost, Insurance & Freight (CIF)

Delivered Duty/Tax Unpaid (DDU)

10

Carriage and Insurance Paid (CIP)

11

Carriage Paid (CPT)

12

Delivered at Frontier (DAF)

13

Delivered Ex Quay (DEQ)

14

Delivered Ex Ship (DES)

15

Free Alongside Ship (FAS)

16

Free Carrier (FCA)

17

Delivered Duty Paid, V.A.T. Unpaid (DVU)

173

Appendix B
Terms Of Sale Type
The rights and obligations of each party when it comes to transporting the shipment.
Value

Description

Free On Board (FOB)

Free Carrier (FCA)

Cost, Insurance, and Freight paid (CIF)

Carriage and Insurance Paid (CIP)

Cost and Freight (CFR)

Carriage Paid To (CPT)

Ex Works (EXW)

Delivered Duty Unpaid (DDU)

Delivered Duty Paid (DDP)

10

Delivered at Frontier (DAF)

11

Delivered Ex Quay (DEQ)

12

Delivered Ex Ship (DES)

13

Free Alongside Ship (FAS)

Collect On Delivery (C.O.D.) Type


The type of payment that is required when the carrier collects on delivery.
Value

Description

Non-Guaranteed funds, e.g. Personal Check or Company Check

Guaranteed funds, e.g. Cashier's Check or Money Order

Delivery Confirmation
The type of delivery confirmation required.
Value

Description

No signature

Signature required

Adult signature required

Signature Waiver

Output Types
The type of labels and documents that can be produced when shipping.
Value

Description

Label

COD Label

Return Label

Commercial Invoice

Certificate Of Origin

NAFTA Certificate Of Origin

Shippers Export Declaration

13

International Label 1

14

International Label 2

174

Appendix B
15

No Wood Packaging

16

Wood Packaging

17

Bill Of Lading

18

International Signature Label

19

Pack Slip

20

Mock Invoice

21

Bill Of Lading (No charges)

22

Custom International Document 1

23

Custom International Document 2

24

Custom International Document 3

25

Custom LTL Document 1

26

Custom LTL Document 2

27

Custom LTL Document 3

28

Custom General Document 1

29

Custom General Document 2

30

Custom General Document 3

31

Bill of Lading (No carrier)

33

Bill of Lading (No charges & No carrier)

35

B13A

36

Commercial Invoice (Canada)

37

Radiation Reduction

38

Shippers Letter of Instruction

39

Bill of Lading (VICS)

46

Custom Label 1

47

Custom Label 2

48

Custom Label 3

49

Endicia Custom Declaration Continuation Page

50

Conditional Custom Label 1

51

Conditional Custom Label 2

52

Conditional Custom Label 3

53

Caricom

Output Base Types


The categories of labels and documents that can be produced when shipping.
Value

Description

Label

Proof Of Delivery

International Document

End Of Day Document

Shipment Requisition

Placeholder

Automatic Processing

International Label

LTL Document

10

General Document

11

Custom International Document

12

Custom LTL Document

13

Custom General Document

14

Packing

15

Advance Ship Notice

175

Appendix B
Output Formats
The format of labels and documents that can be produced when shipping.
Value

Description

Image

Eltron

Zebra

Unimark

History States
The state of a shipment or package.
Value
-1

Description
Build

Generated

Processed

In Transit

Delivered

Voided

Exception

Track Failed

Return Delivery Methods


The type of ConnectShip (UPS) Return Delivery service is being requested.
Value

Description

Carrier will not pickup the package the return label will be printed

Carrier will make only one attempt to pickup the package

Carrier will make up to three attempts to pickup the package

Carrier will not pickup the package carrier responsible for mailing the return label to the
consignee

Carrier will not pickup the package carrier responsible for emailing the return label to the
consignee

Rate Shop Filter Modes


The type of filtering that is applied to rates of a rate shop response.
Value

Description

No filtering is applied. All rates will be returned

Return the cheapest rate only

Return the cheapest rate that meets the required date/time value.

176

Appendix B

APPENDIX B LIMITATIONS BY VERSION


This table details the any known limitations of Shipment Server versions.
Version

Limitation

5.5.2

End Of Day List and End Of Day Action are only operational for ConnectShip (UPS) carrier.

177