purolator_ruby 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 4272c92883bbfd16b0596657841de5a90599822c
4
+ data.tar.gz: 05b2f1ec24c9c49b64f48f7c88384aa97fe659b5
5
+ SHA512:
6
+ metadata.gz: 0ee4a3818f4aabbee1cb6b9231d7a6bd481471049525e0bc85a56a62085429e7ef7fbc69dfbb87f440a86fef4e070792927714a6a3340f983fc5456f7eedac6a
7
+ data.tar.gz: 2de472adfccff1b5b1e35d4843f16cf860dc0c78a802f0fdb28459cef271ba580ffb10b16faf28293f80adf6f0d565127df2fe3785f8b00a2c6eb6f3f4040037
data/.gitignore ADDED
@@ -0,0 +1,16 @@
1
+ .DS_Store
2
+ /.bundle/
3
+ /.yardoc
4
+ /Gemfile.lock
5
+ /_yardoc/
6
+ /coverage/
7
+ /doc/
8
+ /pkg/
9
+ /spec/reports/
10
+ /tmp/
11
+ *.bundle
12
+ *.so
13
+ *.o
14
+ *.a
15
+ mkmf.log
16
+ tags
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in purolator_ruby.gemspec
4
+ gemspec
data/LICENSE.txt ADDED
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2015 Boris Filipov
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,31 @@
1
+ # PurolatorRuby
2
+
3
+ A ruby wrapper for the Purolator E-Ship services. Currently supports createing a new shipment.
4
+
5
+ ## Installation
6
+
7
+ Add this line to your application's Gemfile:
8
+
9
+ ```ruby
10
+ gem 'purolator_ruby'
11
+ ```
12
+
13
+ And then execute:
14
+
15
+ $ bundle
16
+
17
+ Or install it yourself as:
18
+
19
+ $ gem install purolator_ruby
20
+
21
+ ## Usage
22
+
23
+ TODO: Write usage instructions here
24
+
25
+ ## Contributing
26
+
27
+ 1. Fork it ( https://github.com/[my-github-username]/purolator_ruby/fork )
28
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
29
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
30
+ 4. Push to the branch (`git push origin my-new-feature`)
31
+ 5. Create a new Pull Request
data/Rakefile ADDED
@@ -0,0 +1,2 @@
1
+ require "bundler/gem_tasks"
2
+
@@ -0,0 +1,8 @@
1
+ require "purolator_ruby/version"
2
+ require "purolator_ruby/environment_credentials"
3
+ require "purolator_ruby/client"
4
+ require "purolator_ruby/create_shipment_request"
5
+ require "purolator_ruby/create_shipment_payload"
6
+
7
+ module PurolatorRuby
8
+ end
@@ -0,0 +1,43 @@
1
+ require 'forwardable'
2
+
3
+ module PurolatorRuby
4
+
5
+ class Client
6
+ extend Forwardable
7
+
8
+ attr_reader :credentials
9
+
10
+ def_delegators :credentials, :billing_number, :account_number
11
+
12
+ def initialize(options = {})
13
+ @credentials = options.fetch(:credentials) { EnvironmentCredentials.new }
14
+ @client = build_client
15
+ end
16
+
17
+ def call(*args)
18
+ @client.call(*args)
19
+ end
20
+
21
+ def build_shipment(options)
22
+ PurolatorRuby::CreateShipmentRequest.new(options.merge(client: self))
23
+ end
24
+
25
+ private
26
+ def build_client
27
+ Savon.client(
28
+ wsdl: File.open(credentials.wsdl_location),
29
+ # digest_auth: credentials.basic_auth,
30
+ basic_auth: credentials.basic_auth,
31
+ soap_header: credentials.soap_header,
32
+ namespace: 'http://purolator.com/pws/datatypes/v1',
33
+ element_form_default: :qualified,
34
+ # log: true,
35
+ # logger: Logger.new(STDOUT).tap {|l| l.level = Logger::DEBUG},
36
+ namespace_identifier: :ns1,
37
+ env_namespace: 'SOAP-ENV',
38
+ pretty_print_xml: true
39
+ ) { convert_request_keys_to :none }
40
+ end
41
+
42
+ end
43
+ end
@@ -0,0 +1,56 @@
1
+ require 'virtus'
2
+
3
+ module PurolatorRuby
4
+
5
+ class CreateShipmentPayload
6
+
7
+ include Virtus.model
8
+
9
+ attribute :sender_address, String
10
+ attribute :receiver_address, String
11
+ attribute :shipping_date, Date
12
+ attribute :weight, String
13
+ attribute :pieces, String
14
+ attribute :reference, String
15
+ attribute :account_number, String
16
+ attribute :billing_number, String
17
+
18
+ def valid?
19
+ missing_attributes.size == 0
20
+ end
21
+
22
+ def to_h
23
+ new_shipment_payload
24
+ end
25
+
26
+ def errors
27
+ missing_attributes
28
+ .keys
29
+ .inject([]) {|errors, attr| errors + ["#{attr} cannot be blank"]}
30
+ end
31
+
32
+ private
33
+ def missing_attributes
34
+ attributes.select {|attr, val| val.nil? }
35
+ end
36
+
37
+ def new_shipment_payload
38
+ {'Shipment' => {
39
+ 'SenderInformation' => sender_address,
40
+ 'ReceiverInformation' => receiver_address,
41
+ 'ShipmentDate' => shipping_date.strftime('%Y-%m-%d'),
42
+ 'PackageInformation' =>
43
+ {'ServiceID' => 'PurolatorExpress',
44
+ 'TotalWeight' => {'Value' => weight, 'WeightUnit' => 'lb'},
45
+ 'TotalPieces' => pieces,
46
+ 'OptionsInformation' => {'Options' => {'OptionIDValuePair' => {'ID' => 'ResidentialSignatureDomestic', 'Value' => 'true'}}}},
47
+ 'PaymentInformation' => {'PaymentType' => 'Sender', 'RegisteredAccountNumber' => account_number, 'BillingAccountNumber' => billing_number},
48
+ 'PickupInformation' => {'PickupType' => 'DropOff'},
49
+ 'TrackingReferenceInformation' => {'Reference1' => reference}},
50
+ 'PrinterType' => 'Thermal',
51
+ }
52
+ end
53
+
54
+ end
55
+
56
+ end
@@ -0,0 +1,47 @@
1
+ require 'facets/hash/except'
2
+
3
+ module PurolatorRuby
4
+
5
+ CreateShipmentResponse = Struct.new(:status, :shipment_pin, :payload, :errors)
6
+
7
+ class CreateShipmentRequest
8
+
9
+ attr_reader :client, :payload_opts
10
+
11
+ def initialize(options)
12
+ @client = options.fetch(:client)
13
+ @payload_opts = options.except(:client).merge(account_number: client.account_number, billing_number: client.billing_number)
14
+ end
15
+
16
+ def send!
17
+ send.tap do |resp|
18
+ if resp.status == :error
19
+ raise ArgumentError, resp.payload.errors.join(' ')
20
+ end
21
+ end
22
+ end
23
+
24
+ def send
25
+ payload = shipment_payload
26
+
27
+ if payload.valid?
28
+ shipment_pin = client.call(:create_shipment, message: payload.to_h)
29
+ .body
30
+ .fetch(:create_shipment_response)
31
+ .fetch(:shipment_pin)
32
+ .fetch(:value)
33
+
34
+ CreateShipmentResponse.new(:ok, shipment_pin, payload, nil)
35
+ else
36
+ CreateShipmentResponse.new(:error, nil, payload, payload.errors)
37
+ end
38
+ end
39
+
40
+ private
41
+ def shipment_payload
42
+ CreateShipmentPayload.new(payload_opts)
43
+ end
44
+
45
+ end
46
+
47
+ end
@@ -0,0 +1,39 @@
1
+ module PurolatorRuby
2
+ class EnvironmentCredentials
3
+ attr_reader :wsdl_location,
4
+ :developer_key,
5
+ :developer_password,
6
+ :client_id,
7
+ :account_number,
8
+ :billing_number
9
+
10
+ def initialize
11
+ @wsdl_location = ENV.fetch('PLUROLATOR_RUBY_WSDL_LOCATION')
12
+ @developer_key = ENV.fetch('PLUROLATOR_RUBY_DEVELOPER_KEY')
13
+ @developer_password = ENV.fetch('PLUROLATOR_RUBY_DEVELOPER_PASSWORD')
14
+ @client_id = ENV.fetch('PLUROLATOR_RUBY_CLIENT_ID')
15
+ @account_number = ENV.fetch('PLUROLATOR_RUBY_ACCOUNT_NUMBER')
16
+ @billing_number = ENV.fetch('PLUROLATOR_RUBY_BILLING_NUMBER')
17
+ end
18
+
19
+ def basic_auth
20
+ [@developer_key, @developer_password]
21
+ end
22
+
23
+ def soap_header
24
+ soap_header_v15
25
+ end
26
+
27
+ private
28
+ def soap_header_v15
29
+ {'ns1:RequestContext' =>
30
+ {'ns1:Version' => '1.5',
31
+ 'ns1:Language' => 'en',
32
+ 'ns1:GroupID' => 'xxx',
33
+ 'ns1:RequestReference' => 'Rating Example',
34
+ 'ns1:UserToken' => client_id,
35
+ }
36
+ }
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,3 @@
1
+ module PurolatorRuby
2
+ VERSION = "0.0.1"
3
+ end
@@ -0,0 +1,33 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'purolator_ruby/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "purolator_ruby"
8
+ spec.version = PurolatorRuby::VERSION
9
+ spec.authors = ["Boris Filipov"]
10
+ spec.email = ["bfilipov@gmail.com"]
11
+ spec.summary = %q{Ruby wrapper around the Purolator E-Ship services.}
12
+ spec.description = %q{}
13
+ spec.homepage = "http://github.com/Redelas/purolator_ruby"
14
+ spec.license = "MIT"
15
+
16
+ spec.files = `git ls-files -z`.split("\x0")
17
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
+ spec.require_paths = ["lib"]
20
+
21
+ spec.add_dependency "httpclient", ">= 2.6.0.1"
22
+ spec.add_dependency "savon", ">= 2.11.1"
23
+ spec.add_dependency "facets", ">= 3.0.0"
24
+ spec.add_dependency "virtus", "~> 1.0", ">= 1.0.5"
25
+
26
+ spec.add_development_dependency "bundler", "~> 1.7"
27
+ spec.add_development_dependency "rake", "~> 10.0"
28
+ spec.add_development_dependency "rspec", "~> 3.3.0"
29
+ spec.add_development_dependency "vcr", "~> 2.9.3"
30
+ spec.add_development_dependency "webmock", "~> 1.21.0"
31
+ spec.add_development_dependency "pry", "~> 0.10.1"
32
+ spec.add_development_dependency "awesome_print", "~> 1.6.1"
33
+ end
data/spec/.DS_Store ADDED
Binary file
@@ -0,0 +1,1778 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:tns="http://purolator.com/pws/service/v1" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:wsap="http://schemas.xmlsoap.org/ws/2004/08/addressing/policy" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:msc="http://schemas.microsoft.com/ws/2005/12/wsdl/contract" xmlns:wsa10="http://www.w3.org/2005/08/addressing" xmlns:wsx="http://schemas.xmlsoap.org/ws/2004/09/mex" xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata" name="ShippingService" targetNamespace="http://purolator.com/pws/service/v1">
3
+ <wsdl:types>
4
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://schemas.microsoft.com/2003/10/Serialization/" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://schemas.microsoft.com/2003/10/Serialization/">
5
+ <xs:element name="anyType" nillable="true" type="xs:anyType"/>
6
+ <xs:element name="anyURI" nillable="true" type="xs:anyURI"/>
7
+ <xs:element name="base64Binary" nillable="true" type="xs:base64Binary"/>
8
+ <xs:element name="boolean" nillable="true" type="xs:boolean"/>
9
+ <xs:element name="byte" nillable="true" type="xs:byte"/>
10
+ <xs:element name="dateTime" nillable="true" type="xs:dateTime"/>
11
+ <xs:element name="decimal" nillable="true" type="xs:decimal"/>
12
+ <xs:element name="double" nillable="true" type="xs:double"/>
13
+ <xs:element name="float" nillable="true" type="xs:float"/>
14
+ <xs:element name="int" nillable="true" type="xs:int"/>
15
+ <xs:element name="long" nillable="true" type="xs:long"/>
16
+ <xs:element name="QName" nillable="true" type="xs:QName"/>
17
+ <xs:element name="short" nillable="true" type="xs:short"/>
18
+ <xs:element name="string" nillable="true" type="xs:string"/>
19
+ <xs:element name="unsignedByte" nillable="true" type="xs:unsignedByte"/>
20
+ <xs:element name="unsignedInt" nillable="true" type="xs:unsignedInt"/>
21
+ <xs:element name="unsignedLong" nillable="true" type="xs:unsignedLong"/>
22
+ <xs:element name="unsignedShort" nillable="true" type="xs:unsignedShort"/>
23
+ <xs:element name="char" nillable="true" type="tns:char"/>
24
+ <xs:simpleType name="char">
25
+ <xs:restriction base="xs:int"/>
26
+ </xs:simpleType>
27
+ <xs:element name="duration" nillable="true" type="tns:duration"/>
28
+ <xs:simpleType name="duration">
29
+ <xs:restriction base="xs:duration">
30
+ <xs:pattern value="\-?P(\d*D)?(T(\d*H)?(\d*M)?(\d*(\.\d*)?S)?)?"/>
31
+ <xs:minInclusive value="-P10675199DT2H48M5.4775808S"/>
32
+ <xs:maxInclusive value="P10675199DT2H48M5.4775807S"/>
33
+ </xs:restriction>
34
+ </xs:simpleType>
35
+ <xs:element name="guid" nillable="true" type="tns:guid"/>
36
+ <xs:simpleType name="guid">
37
+ <xs:restriction base="xs:string">
38
+ <xs:pattern value="[\da-fA-F]{8}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{12}"/>
39
+ </xs:restriction>
40
+ </xs:simpleType>
41
+ <xs:attribute name="FactoryType" type="xs:QName"/>
42
+ <xs:attribute name="Id" type="xs:ID"/>
43
+ <xs:attribute name="Ref" type="xs:IDREF"/>
44
+ </xs:schema>
45
+ <xsd:schema xmlns:tns="http://purolator.com/pws/datatypes/v1" elementFormDefault="qualified" targetNamespace="http://purolator.com/pws/datatypes/v1">
46
+ <xsd:complexType name="CreateShipmentRequestContainer">
47
+ <xsd:annotation>
48
+ <xsd:appinfo/>
49
+ <xsd:documentation>CreateShipmentRequest</xsd:documentation>
50
+ </xsd:annotation>
51
+ <xsd:complexContent mixed="false">
52
+ <xsd:extension base="tns:RequestContainer">
53
+ <xsd:sequence>
54
+ <xsd:element name="Shipment" nillable="true" type="tns:Shipment">
55
+ <xsd:annotation>
56
+ <xsd:appinfo/>
57
+ <xsd:documentation>Shipment - Shipment</xsd:documentation>
58
+ </xsd:annotation>
59
+ </xsd:element>
60
+ <xsd:element name="PrinterType" nillable="true" type="tns:PrinterType">
61
+ <xsd:annotation>
62
+ <xsd:appinfo/>
63
+ <xsd:documentation>PrinterType - PrinterType</xsd:documentation>
64
+ </xsd:annotation>
65
+ </xsd:element>
66
+ </xsd:sequence>
67
+ </xsd:extension>
68
+ </xsd:complexContent>
69
+ </xsd:complexType>
70
+ <xsd:element name="CreateShipmentRequestContainer" nillable="true" type="tns:CreateShipmentRequestContainer"/>
71
+ <xsd:complexType name="RequestContainer">
72
+ <xsd:sequence/>
73
+ </xsd:complexType>
74
+ <xsd:element name="RequestContainer" nillable="true" type="tns:RequestContainer"/>
75
+ <xsd:complexType name="Shipment">
76
+ <xsd:annotation>
77
+ <xsd:appinfo/>
78
+ <xsd:documentation>Shipment</xsd:documentation>
79
+ </xsd:annotation>
80
+ <xsd:sequence>
81
+ <xsd:element name="SenderInformation" nillable="true" type="tns:SenderInformation">
82
+ <xsd:annotation>
83
+ <xsd:appinfo/>
84
+ <xsd:documentation>SenderInformation - SenderInformation</xsd:documentation>
85
+ </xsd:annotation>
86
+ </xsd:element>
87
+ <xsd:element name="ReceiverInformation" nillable="true" type="tns:ReceiverInformation">
88
+ <xsd:annotation>
89
+ <xsd:appinfo/>
90
+ <xsd:documentation>ReceiverInformation - ReceiverInformation</xsd:documentation>
91
+ </xsd:annotation>
92
+ </xsd:element>
93
+ <xsd:element minOccurs="0" name="ShipmentDate" nillable="true" type="xsd:string">
94
+ <xsd:annotation>
95
+ <xsd:appinfo/>
96
+ <xsd:documentation>ShipmentDate - string</xsd:documentation>
97
+ </xsd:annotation>
98
+ </xsd:element>
99
+ <xsd:element name="PackageInformation" nillable="true" type="tns:PackageInformation">
100
+ <xsd:annotation>
101
+ <xsd:appinfo/>
102
+ <xsd:documentation>PackageInformation - PackageInformation</xsd:documentation>
103
+ </xsd:annotation>
104
+ </xsd:element>
105
+ <xsd:element minOccurs="0" name="InternationalInformation" nillable="true" type="tns:InternationalInformation">
106
+ <xsd:annotation>
107
+ <xsd:appinfo/>
108
+ <xsd:documentation>InternationalInformatio - InternationalInformation</xsd:documentation>
109
+ </xsd:annotation>
110
+ </xsd:element>
111
+ <xsd:element minOccurs="0" name="ReturnShipmentInformation" nillable="true" type="tns:ReturnShipmentInformation">
112
+ <xsd:annotation>
113
+ <xsd:appinfo/>
114
+ <xsd:documentation>
115
+ ReturnShipmentInformation - ReturnShipmentInformation
116
+ </xsd:documentation>
117
+ </xsd:annotation>
118
+ </xsd:element>
119
+ <xsd:element name="PaymentInformation" nillable="true" type="tns:PaymentInformation">
120
+ <xsd:annotation>
121
+ <xsd:appinfo/>
122
+ <xsd:documentation>PaymentInformation - PaymentInformation</xsd:documentation>
123
+ </xsd:annotation>
124
+ </xsd:element>
125
+ <xsd:element name="PickupInformation" nillable="true" type="tns:PickupInformation">
126
+ <xsd:annotation>
127
+ <xsd:appinfo/>
128
+ <xsd:documentation>PickupInformation - PickupInformation</xsd:documentation>
129
+ </xsd:annotation>
130
+ </xsd:element>
131
+ <xsd:element minOccurs="0" name="NotificationInformation" nillable="true" type="tns:NotificationInformation">
132
+ <xsd:annotation>
133
+ <xsd:appinfo/>
134
+ <xsd:documentation>NotificationInformation - NotificationInformation</xsd:documentation>
135
+ </xsd:annotation>
136
+ </xsd:element>
137
+ <xsd:element minOccurs="0" name="TrackingReferenceInformation" nillable="true" type="tns:TrackingReferenceInformation">
138
+ <xsd:annotation>
139
+ <xsd:appinfo/>
140
+ <xsd:documentation>
141
+ TrackingReferenceInformation - TrackingReferenceInformation
142
+ </xsd:documentation>
143
+ </xsd:annotation>
144
+ </xsd:element>
145
+ <xsd:element minOccurs="0" name="OtherInformation" nillable="true" type="tns:OtherInformation">
146
+ <xsd:annotation>
147
+ <xsd:appinfo/>
148
+ <xsd:documentation>OtherInformation - OtherInformation</xsd:documentation>
149
+ </xsd:annotation>
150
+ </xsd:element>
151
+ </xsd:sequence>
152
+ </xsd:complexType>
153
+ <xsd:element name="Shipment" nillable="true" type="tns:Shipment"/>
154
+ <xsd:complexType name="SenderInformation">
155
+ <xsd:annotation>
156
+ <xsd:appinfo/>
157
+ <xsd:documentation>SenderInformation</xsd:documentation>
158
+ </xsd:annotation>
159
+ <xsd:sequence>
160
+ <xsd:element name="Address" nillable="true" type="tns:Address">
161
+ <xsd:annotation>
162
+ <xsd:appinfo/>
163
+ <xsd:documentation>Address - Address</xsd:documentation>
164
+ </xsd:annotation>
165
+ </xsd:element>
166
+ <xsd:element minOccurs="0" name="TaxNumber" nillable="true" type="xsd:string">
167
+ <xsd:annotation>
168
+ <xsd:appinfo/>
169
+ <xsd:documentation>TaxNumber - string</xsd:documentation>
170
+ </xsd:annotation>
171
+ </xsd:element>
172
+ </xsd:sequence>
173
+ </xsd:complexType>
174
+ <xsd:element name="SenderInformation" nillable="true" type="tns:SenderInformation"/>
175
+ <xsd:complexType name="Address">
176
+ <xsd:annotation>
177
+ <xsd:appinfo/>
178
+ <xsd:documentation>Address</xsd:documentation>
179
+ </xsd:annotation>
180
+ <xsd:sequence>
181
+ <xsd:element name="Name" nillable="true" type="xsd:string">
182
+ <xsd:annotation>
183
+ <xsd:appinfo/>
184
+ <xsd:documentation>Name - string</xsd:documentation>
185
+ </xsd:annotation>
186
+ </xsd:element>
187
+ <xsd:element minOccurs="0" name="Company" nillable="true" type="xsd:string">
188
+ <xsd:annotation>
189
+ <xsd:appinfo/>
190
+ <xsd:documentation>Company - string</xsd:documentation>
191
+ </xsd:annotation>
192
+ </xsd:element>
193
+ <xsd:element minOccurs="0" name="Department" nillable="true" type="xsd:string">
194
+ <xsd:annotation>
195
+ <xsd:appinfo/>
196
+ <xsd:documentation>Department - string</xsd:documentation>
197
+ </xsd:annotation>
198
+ </xsd:element>
199
+ <xsd:element name="StreetNumber" nillable="true" type="xsd:string">
200
+ <xsd:annotation>
201
+ <xsd:appinfo/>
202
+ <xsd:documentation>StreetNumber - string</xsd:documentation>
203
+ </xsd:annotation>
204
+ </xsd:element>
205
+ <xsd:element minOccurs="0" name="StreetSuffix" nillable="true" type="xsd:string">
206
+ <xsd:annotation>
207
+ <xsd:appinfo/>
208
+ <xsd:documentation>StreetSuffix - string</xsd:documentation>
209
+ </xsd:annotation>
210
+ </xsd:element>
211
+ <xsd:element name="StreetName" nillable="true" type="xsd:string">
212
+ <xsd:annotation>
213
+ <xsd:appinfo/>
214
+ <xsd:documentation>StreetName - string</xsd:documentation>
215
+ </xsd:annotation>
216
+ </xsd:element>
217
+ <xsd:element minOccurs="0" name="StreetType" nillable="true" type="xsd:string">
218
+ <xsd:annotation>
219
+ <xsd:appinfo/>
220
+ <xsd:documentation>StreetType - string</xsd:documentation>
221
+ </xsd:annotation>
222
+ </xsd:element>
223
+ <xsd:element minOccurs="0" name="StreetDirection" nillable="true" type="xsd:string">
224
+ <xsd:annotation>
225
+ <xsd:appinfo/>
226
+ <xsd:documentation>StreetDirection - string</xsd:documentation>
227
+ </xsd:annotation>
228
+ </xsd:element>
229
+ <xsd:element minOccurs="0" name="Suite" nillable="true" type="xsd:string">
230
+ <xsd:annotation>
231
+ <xsd:appinfo/>
232
+ <xsd:documentation>Suite - string</xsd:documentation>
233
+ </xsd:annotation>
234
+ </xsd:element>
235
+ <xsd:element minOccurs="0" name="Floor" nillable="true" type="xsd:string">
236
+ <xsd:annotation>
237
+ <xsd:appinfo/>
238
+ <xsd:documentation>Floor - string</xsd:documentation>
239
+ </xsd:annotation>
240
+ </xsd:element>
241
+ <xsd:element minOccurs="0" name="StreetAddress2" nillable="true" type="xsd:string">
242
+ <xsd:annotation>
243
+ <xsd:appinfo/>
244
+ <xsd:documentation>StreetAddress2 - string</xsd:documentation>
245
+ </xsd:annotation>
246
+ </xsd:element>
247
+ <xsd:element minOccurs="0" name="StreetAddress3" nillable="true" type="xsd:string">
248
+ <xsd:annotation>
249
+ <xsd:appinfo/>
250
+ <xsd:documentation>StreetAddress3 - string</xsd:documentation>
251
+ </xsd:annotation>
252
+ </xsd:element>
253
+ <xsd:element name="City" nillable="true" type="xsd:string">
254
+ <xsd:annotation>
255
+ <xsd:appinfo/>
256
+ <xsd:documentation>City - string</xsd:documentation>
257
+ </xsd:annotation>
258
+ </xsd:element>
259
+ <xsd:element name="Province" nillable="true" type="xsd:string">
260
+ <xsd:annotation>
261
+ <xsd:appinfo/>
262
+ <xsd:documentation>Province - string</xsd:documentation>
263
+ </xsd:annotation>
264
+ </xsd:element>
265
+ <xsd:element name="Country" nillable="true" type="xsd:string">
266
+ <xsd:annotation>
267
+ <xsd:appinfo/>
268
+ <xsd:documentation>Country - string</xsd:documentation>
269
+ </xsd:annotation>
270
+ </xsd:element>
271
+ <xsd:element name="PostalCode" nillable="true" type="xsd:string">
272
+ <xsd:annotation>
273
+ <xsd:appinfo/>
274
+ <xsd:documentation>PostalCode - string</xsd:documentation>
275
+ </xsd:annotation>
276
+ </xsd:element>
277
+ <xsd:element name="PhoneNumber" nillable="true" type="tns:PhoneNumber">
278
+ <xsd:annotation>
279
+ <xsd:appinfo/>
280
+ <xsd:documentation>PhoneNumber - PhoneNumber</xsd:documentation>
281
+ </xsd:annotation>
282
+ </xsd:element>
283
+ <xsd:element minOccurs="0" name="FaxNumber" nillable="true" type="tns:PhoneNumber">
284
+ <xsd:annotation>
285
+ <xsd:appinfo/>
286
+ <xsd:documentation>Faxnumber - PhoneNumber</xsd:documentation>
287
+ </xsd:annotation>
288
+ </xsd:element>
289
+ </xsd:sequence>
290
+ </xsd:complexType>
291
+ <xsd:element name="Address" nillable="true" type="tns:Address"/>
292
+ <xsd:complexType name="PhoneNumber">
293
+ <xsd:annotation>
294
+ <xsd:appinfo/>
295
+ <xsd:documentation>PhoneNumber</xsd:documentation>
296
+ </xsd:annotation>
297
+ <xsd:sequence>
298
+ <xsd:element name="CountryCode" nillable="true" type="xsd:string">
299
+ <xsd:annotation>
300
+ <xsd:appinfo/>
301
+ <xsd:documentation>CountryCode - string</xsd:documentation>
302
+ </xsd:annotation>
303
+ </xsd:element>
304
+ <xsd:element name="AreaCode" nillable="true" type="xsd:string">
305
+ <xsd:annotation>
306
+ <xsd:appinfo/>
307
+ <xsd:documentation>AreaCode - string</xsd:documentation>
308
+ </xsd:annotation>
309
+ </xsd:element>
310
+ <xsd:element name="Phone" nillable="true" type="xsd:string">
311
+ <xsd:annotation>
312
+ <xsd:appinfo/>
313
+ <xsd:documentation>Phone - string</xsd:documentation>
314
+ </xsd:annotation>
315
+ </xsd:element>
316
+ <xsd:element minOccurs="0" name="Extension" nillable="true" type="xsd:string">
317
+ <xsd:annotation>
318
+ <xsd:appinfo/>
319
+ <xsd:documentation>Extension - string</xsd:documentation>
320
+ </xsd:annotation>
321
+ </xsd:element>
322
+ </xsd:sequence>
323
+ </xsd:complexType>
324
+ <xsd:element name="PhoneNumber" nillable="true" type="tns:PhoneNumber"/>
325
+ <xsd:complexType name="ReceiverInformation">
326
+ <xsd:annotation>
327
+ <xsd:appinfo/>
328
+ <xsd:documentation>ReceiverInformation</xsd:documentation>
329
+ </xsd:annotation>
330
+ <xsd:sequence>
331
+ <xsd:element name="Address" nillable="true" type="tns:Address">
332
+ <xsd:annotation>
333
+ <xsd:appinfo/>
334
+ <xsd:documentation>Address - Address</xsd:documentation>
335
+ </xsd:annotation>
336
+ </xsd:element>
337
+ <xsd:element minOccurs="0" name="TaxNumber" nillable="true" type="xsd:string">
338
+ <xsd:annotation>
339
+ <xsd:appinfo/>
340
+ <xsd:documentation>TaxNumber - string</xsd:documentation>
341
+ </xsd:annotation>
342
+ </xsd:element>
343
+ </xsd:sequence>
344
+ </xsd:complexType>
345
+ <xsd:element name="ReceiverInformation" nillable="true" type="tns:ReceiverInformation"/>
346
+ <xsd:complexType name="PackageInformation">
347
+ <xsd:annotation>
348
+ <xsd:appinfo/>
349
+ <xsd:documentation>PackageInformation</xsd:documentation>
350
+ </xsd:annotation>
351
+ <xsd:sequence>
352
+ <xsd:element name="ServiceID" nillable="true" type="xsd:string">
353
+ <xsd:annotation>
354
+ <xsd:appinfo/>
355
+ <xsd:documentation>ServiceID - string</xsd:documentation>
356
+ </xsd:annotation>
357
+ </xsd:element>
358
+ <xsd:element minOccurs="0" name="Description" nillable="true" type="xsd:string">
359
+ <xsd:annotation>
360
+ <xsd:appinfo/>
361
+ <xsd:documentation>Description - string</xsd:documentation>
362
+ </xsd:annotation>
363
+ </xsd:element>
364
+ <xsd:element name="TotalWeight" nillable="true" type="tns:TotalWeight">
365
+ <xsd:annotation>
366
+ <xsd:appinfo/>
367
+ <xsd:documentation>TotalWeight - Weight</xsd:documentation>
368
+ </xsd:annotation>
369
+ </xsd:element>
370
+ <xsd:element name="TotalPieces" type="xsd:int">
371
+ <xsd:annotation>
372
+ <xsd:appinfo/>
373
+ <xsd:documentation>TotalPieces - int</xsd:documentation>
374
+ </xsd:annotation>
375
+ </xsd:element>
376
+ <xsd:element minOccurs="0" name="PiecesInformation" nillable="true" type="tns:ArrayOfPiece">
377
+ <xsd:annotation>
378
+ <xsd:appinfo/>
379
+ <xsd:documentation>PiecesInformation - Piece[]</xsd:documentation>
380
+ </xsd:annotation>
381
+ </xsd:element>
382
+ <xsd:element minOccurs="0" name="DangerousGoodsDeclarationDocumentIndicator" type="xsd:boolean">
383
+ <xsd:annotation>
384
+ <xsd:appinfo/>
385
+ <xsd:documentation>DangerousGoodsDeclarationDocumentIndicator - bool</xsd:documentation>
386
+ </xsd:annotation>
387
+ </xsd:element>
388
+ <xsd:element minOccurs="0" name="OptionsInformation" nillable="true" type="tns:OptionsInformation">
389
+ <xsd:annotation>
390
+ <xsd:appinfo/>
391
+ <xsd:documentation>SenderInformation - SenderInformation</xsd:documentation>
392
+ </xsd:annotation>
393
+ </xsd:element>
394
+ </xsd:sequence>
395
+ </xsd:complexType>
396
+ <xsd:element name="PackageInformation" nillable="true" type="tns:PackageInformation"/>
397
+ <xsd:complexType name="TotalWeight">
398
+ <xsd:annotation>
399
+ <xsd:appinfo/>
400
+ <xsd:documentation>TotalWeight</xsd:documentation>
401
+ </xsd:annotation>
402
+ <xsd:sequence>
403
+ <xsd:element name="Value" nillable="true" type="xsd:int">
404
+ <xsd:annotation>
405
+ <xsd:appinfo/>
406
+ <xsd:documentation>Value - decimal</xsd:documentation>
407
+ </xsd:annotation>
408
+ </xsd:element>
409
+ <xsd:element name="WeightUnit" type="tns:WeightUnit">
410
+ <xsd:annotation>
411
+ <xsd:appinfo/>
412
+ <xsd:documentation>WeightUnit - WeightUnit</xsd:documentation>
413
+ </xsd:annotation>
414
+ </xsd:element>
415
+ </xsd:sequence>
416
+ </xsd:complexType>
417
+ <xsd:element name="TotalWeight" nillable="true" type="tns:TotalWeight"/>
418
+ <xsd:simpleType name="WeightUnit">
419
+ <xsd:annotation>
420
+ <xsd:appinfo/>
421
+ <xsd:documentation>WeightUnit - enum</xsd:documentation>
422
+ </xsd:annotation>
423
+ <xsd:restriction base="xsd:string">
424
+ <xsd:enumeration value="lb">
425
+ <xsd:annotation>
426
+ <xsd:documentation>lb</xsd:documentation>
427
+ </xsd:annotation>
428
+ </xsd:enumeration>
429
+ <xsd:enumeration value="kg">
430
+ <xsd:annotation>
431
+ <xsd:documentation>kg</xsd:documentation>
432
+ </xsd:annotation>
433
+ </xsd:enumeration>
434
+ </xsd:restriction>
435
+ </xsd:simpleType>
436
+ <xsd:element name="WeightUnit" nillable="true" type="tns:WeightUnit"/>
437
+ <xsd:complexType name="ArrayOfPiece">
438
+ <xsd:sequence>
439
+ <xsd:element minOccurs="0" maxOccurs="unbounded" name="Piece" nillable="true" type="tns:Piece"/>
440
+ </xsd:sequence>
441
+ </xsd:complexType>
442
+ <xsd:element name="ArrayOfPiece" nillable="true" type="tns:ArrayOfPiece"/>
443
+ <xsd:complexType name="Piece">
444
+ <xsd:annotation>
445
+ <xsd:appinfo/>
446
+ <xsd:documentation>Piece</xsd:documentation>
447
+ </xsd:annotation>
448
+ <xsd:sequence>
449
+ <xsd:element name="Weight" nillable="true" type="tns:Weight">
450
+ <xsd:annotation>
451
+ <xsd:appinfo/>
452
+ <xsd:documentation>Weight - Weight</xsd:documentation>
453
+ </xsd:annotation>
454
+ </xsd:element>
455
+ <xsd:element minOccurs="0" name="Length" nillable="true" type="tns:Dimension">
456
+ <xsd:annotation>
457
+ <xsd:appinfo/>
458
+ <xsd:documentation>Length - Dimension</xsd:documentation>
459
+ </xsd:annotation>
460
+ </xsd:element>
461
+ <xsd:element minOccurs="0" name="Width" nillable="true" type="tns:Dimension">
462
+ <xsd:annotation>
463
+ <xsd:appinfo/>
464
+ <xsd:documentation>Width - Dimension</xsd:documentation>
465
+ </xsd:annotation>
466
+ </xsd:element>
467
+ <xsd:element minOccurs="0" name="Height" nillable="true" type="tns:Dimension">
468
+ <xsd:annotation>
469
+ <xsd:appinfo/>
470
+ <xsd:documentation>Height - Dimension</xsd:documentation>
471
+ </xsd:annotation>
472
+ </xsd:element>
473
+ <xsd:element minOccurs="0" name="Options" nillable="true" type="tns:ArrayOfOptionIDValuePair">
474
+ <xsd:annotation>
475
+ <xsd:appinfo/>
476
+ <xsd:documentation>Options - OptionIDValuePair[]</xsd:documentation>
477
+ </xsd:annotation>
478
+ </xsd:element>
479
+ </xsd:sequence>
480
+ </xsd:complexType>
481
+ <xsd:element name="Piece" nillable="true" type="tns:Piece"/>
482
+ <xsd:complexType name="Weight">
483
+ <xsd:annotation>
484
+ <xsd:appinfo/>
485
+ <xsd:documentation>Weight</xsd:documentation>
486
+ </xsd:annotation>
487
+ <xsd:sequence>
488
+ <xsd:element name="Value" nillable="true" type="xsd:decimal">
489
+ <xsd:annotation>
490
+ <xsd:appinfo/>
491
+ <xsd:documentation>Value - decimal</xsd:documentation>
492
+ </xsd:annotation>
493
+ </xsd:element>
494
+ <xsd:element name="WeightUnit" type="tns:WeightUnit">
495
+ <xsd:annotation>
496
+ <xsd:appinfo/>
497
+ <xsd:documentation>WeightUnit - WeightUnit</xsd:documentation>
498
+ </xsd:annotation>
499
+ </xsd:element>
500
+ </xsd:sequence>
501
+ </xsd:complexType>
502
+ <xsd:element name="Weight" nillable="true" type="tns:Weight"/>
503
+ <xsd:complexType name="Dimension">
504
+ <xsd:annotation>
505
+ <xsd:appinfo/>
506
+ <xsd:documentation>Dimension</xsd:documentation>
507
+ </xsd:annotation>
508
+ <xsd:sequence>
509
+ <xsd:element name="Value" nillable="true" type="xsd:decimal">
510
+ <xsd:annotation>
511
+ <xsd:appinfo/>
512
+ <xsd:documentation>Value - decimal</xsd:documentation>
513
+ </xsd:annotation>
514
+ </xsd:element>
515
+ <xsd:element name="DimensionUnit" type="tns:DimensionUnit">
516
+ <xsd:annotation>
517
+ <xsd:appinfo/>
518
+ <xsd:documentation>DimensionUnit - DimensionUnit</xsd:documentation>
519
+ </xsd:annotation>
520
+ </xsd:element>
521
+ </xsd:sequence>
522
+ </xsd:complexType>
523
+ <xsd:element name="Dimension" nillable="true" type="tns:Dimension"/>
524
+ <xsd:simpleType name="DimensionUnit">
525
+ <xsd:annotation>
526
+ <xsd:appinfo/>
527
+ <xsd:documentation>DimensionUnit - enum</xsd:documentation>
528
+ </xsd:annotation>
529
+ <xsd:restriction base="xsd:string">
530
+ <xsd:enumeration value="in">
531
+ <xsd:annotation>
532
+ <xsd:documentation>in</xsd:documentation>
533
+ </xsd:annotation>
534
+ </xsd:enumeration>
535
+ <xsd:enumeration value="cm">
536
+ <xsd:annotation>
537
+ <xsd:documentation>cm</xsd:documentation>
538
+ </xsd:annotation>
539
+ </xsd:enumeration>
540
+ </xsd:restriction>
541
+ </xsd:simpleType>
542
+ <xsd:element name="DimensionUnit" nillable="true" type="tns:DimensionUnit"/>
543
+ <xsd:complexType name="ArrayOfOptionIDValuePair">
544
+ <xsd:sequence>
545
+ <xsd:element minOccurs="0" maxOccurs="unbounded" name="OptionIDValuePair" nillable="true" type="tns:OptionIDValuePair"/>
546
+ </xsd:sequence>
547
+ </xsd:complexType>
548
+ <xsd:element name="ArrayOfOptionIDValuePair" nillable="true" type="tns:ArrayOfOptionIDValuePair"/>
549
+ <xsd:complexType name="OptionIDValuePair">
550
+ <xsd:annotation>
551
+ <xsd:appinfo/>
552
+ <xsd:documentation>OptionIDValuePair</xsd:documentation>
553
+ </xsd:annotation>
554
+ <xsd:sequence>
555
+ <xsd:element name="ID" nillable="true" type="xsd:string">
556
+ <xsd:annotation>
557
+ <xsd:appinfo/>
558
+ <xsd:documentation>ID - string</xsd:documentation>
559
+ </xsd:annotation>
560
+ </xsd:element>
561
+ <xsd:element name="Value" nillable="true" type="xsd:string">
562
+ <xsd:annotation>
563
+ <xsd:appinfo/>
564
+ <xsd:documentation>Value - string</xsd:documentation>
565
+ </xsd:annotation>
566
+ </xsd:element>
567
+ </xsd:sequence>
568
+ </xsd:complexType>
569
+ <xsd:element name="OptionIDValuePair" nillable="true" type="tns:OptionIDValuePair"/>
570
+ <xsd:complexType name="OptionsInformation">
571
+ <xsd:annotation>
572
+ <xsd:appinfo/>
573
+ <xsd:documentation>OptionsInformation</xsd:documentation>
574
+ </xsd:annotation>
575
+ <xsd:sequence>
576
+ <xsd:element name="Options" nillable="true" type="tns:ArrayOfOptionIDValuePair">
577
+ <xsd:annotation>
578
+ <xsd:appinfo/>
579
+ <xsd:documentation>Options - OptionIDValuePair[]</xsd:documentation>
580
+ </xsd:annotation>
581
+ </xsd:element>
582
+ <xsd:element minOccurs="0" name="ExpressChequeAddress" nillable="true" type="tns:Address">
583
+ <xsd:annotation>
584
+ <xsd:appinfo/>
585
+ <xsd:documentation>ExpressChequeAddress - Address</xsd:documentation>
586
+ </xsd:annotation>
587
+ </xsd:element>
588
+ </xsd:sequence>
589
+ </xsd:complexType>
590
+ <xsd:element name="OptionsInformation" nillable="true" type="tns:OptionsInformation"/>
591
+ <xsd:complexType name="InternationalInformation">
592
+ <xsd:annotation>
593
+ <xsd:appinfo/>
594
+ <xsd:documentation>InternationalInformation</xsd:documentation>
595
+ </xsd:annotation>
596
+ <xsd:sequence>
597
+ <xsd:element name="DocumentsOnlyIndicator" type="xsd:boolean">
598
+ <xsd:annotation>
599
+ <xsd:appinfo/>
600
+ <xsd:documentation>DocumentsOnlyIndicator - bool</xsd:documentation>
601
+ </xsd:annotation>
602
+ </xsd:element>
603
+ <xsd:element minOccurs="0" name="ContentDetails" nillable="true" type="tns:ArrayOfContentDetail">
604
+ <xsd:annotation>
605
+ <xsd:appinfo/>
606
+ <xsd:documentation>ContentDetails - ContentDetail[]</xsd:documentation>
607
+ </xsd:annotation>
608
+ </xsd:element>
609
+ <xsd:element minOccurs="0" name="BuyerInformation" nillable="true" type="tns:BuyerInformation">
610
+ <xsd:annotation>
611
+ <xsd:appinfo/>
612
+ <xsd:documentation>BuyerInformation - BuyerInformation</xsd:documentation>
613
+ </xsd:annotation>
614
+ </xsd:element>
615
+ <xsd:element minOccurs="0" name="PreferredCustomsBroker" nillable="true" type="xsd:string">
616
+ <xsd:annotation>
617
+ <xsd:appinfo/>
618
+ <xsd:documentation>PreferredCustomsBroker - string</xsd:documentation>
619
+ </xsd:annotation>
620
+ </xsd:element>
621
+ <xsd:element minOccurs="0" name="DutyInformation" nillable="true" type="tns:DutyInformation">
622
+ <xsd:annotation>
623
+ <xsd:appinfo/>
624
+ <xsd:documentation>DutyInformation - DutyInformation</xsd:documentation>
625
+ </xsd:annotation>
626
+ </xsd:element>
627
+ <xsd:element minOccurs="0" name="ImportExportType" nillable="true" type="tns:ImportExportType">
628
+ <xsd:annotation>
629
+ <xsd:appinfo/>
630
+ <xsd:documentation>ImportExportType - ImportExportType</xsd:documentation>
631
+ </xsd:annotation>
632
+ </xsd:element>
633
+ <xsd:element minOccurs="0" name="CustomsInvoiceDocumentIndicator" type="xsd:boolean">
634
+ <xsd:annotation>
635
+ <xsd:appinfo/>
636
+ <xsd:documentation>CustomsInvoiceDocumentIndicator - bool</xsd:documentation>
637
+ </xsd:annotation>
638
+ </xsd:element>
639
+ </xsd:sequence>
640
+ </xsd:complexType>
641
+ <xsd:element name="InternationalInformation" nillable="true" type="tns:InternationalInformation"/>
642
+ <xsd:complexType name="ArrayOfContentDetail">
643
+ <xsd:sequence>
644
+ <xsd:element minOccurs="0" maxOccurs="unbounded" name="ContentDetail" nillable="true" type="tns:ContentDetail"/>
645
+ </xsd:sequence>
646
+ </xsd:complexType>
647
+ <xsd:element name="ArrayOfContentDetail" nillable="true" type="tns:ArrayOfContentDetail"/>
648
+ <xsd:complexType name="ContentDetail">
649
+ <xsd:annotation>
650
+ <xsd:appinfo/>
651
+ <xsd:documentation>ContentDetail</xsd:documentation>
652
+ </xsd:annotation>
653
+ <xsd:sequence>
654
+ <xsd:element name="Description" nillable="true" type="xsd:string">
655
+ <xsd:annotation>
656
+ <xsd:appinfo/>
657
+ <xsd:documentation>Description - string</xsd:documentation>
658
+ </xsd:annotation>
659
+ </xsd:element>
660
+ <xsd:element name="HarmonizedCode" nillable="true" type="xsd:string">
661
+ <xsd:annotation>
662
+ <xsd:appinfo/>
663
+ <xsd:documentation>HarmonizedCode - string</xsd:documentation>
664
+ </xsd:annotation>
665
+ </xsd:element>
666
+ <xsd:element name="CountryOfManufacture" nillable="true" type="xsd:string">
667
+ <xsd:annotation>
668
+ <xsd:appinfo/>
669
+ <xsd:documentation>CountryOfManufacture - string</xsd:documentation>
670
+ </xsd:annotation>
671
+ </xsd:element>
672
+ <xsd:element name="ProductCode" nillable="true" type="xsd:string">
673
+ <xsd:annotation>
674
+ <xsd:appinfo/>
675
+ <xsd:documentation>ProductCode - string</xsd:documentation>
676
+ </xsd:annotation>
677
+ </xsd:element>
678
+ <xsd:element name="UnitValue" type="xsd:decimal">
679
+ <xsd:annotation>
680
+ <xsd:appinfo/>
681
+ <xsd:documentation>UnitValue - decimal</xsd:documentation>
682
+ </xsd:annotation>
683
+ </xsd:element>
684
+ <xsd:element name="Quantity" type="xsd:int">
685
+ <xsd:annotation>
686
+ <xsd:appinfo/>
687
+ <xsd:documentation>Quantity - int</xsd:documentation>
688
+ </xsd:annotation>
689
+ </xsd:element>
690
+ <xsd:element minOccurs="0" name="NAFTADocumentIndicator" type="xsd:boolean">
691
+ <xsd:annotation>
692
+ <xsd:appinfo/>
693
+ <xsd:documentation>NAFTADocumentIndicator - bool</xsd:documentation>
694
+ </xsd:annotation>
695
+ </xsd:element>
696
+ <xsd:element minOccurs="0" name="FDADocumentIndicator" type="xsd:boolean">
697
+ <xsd:annotation>
698
+ <xsd:appinfo/>
699
+ <xsd:documentation>FDADocumentIndicator - bool</xsd:documentation>
700
+ </xsd:annotation>
701
+ </xsd:element>
702
+ <xsd:element minOccurs="0" name="FCCDocumentIndicator" type="xsd:boolean">
703
+ <xsd:annotation>
704
+ <xsd:appinfo/>
705
+ <xsd:documentation>FCCDocumentIndicator - bool</xsd:documentation>
706
+ </xsd:annotation>
707
+ </xsd:element>
708
+ <xsd:element minOccurs="0" name="SenderIsProducerIndicator" type="xsd:boolean">
709
+ <xsd:annotation>
710
+ <xsd:appinfo/>
711
+ <xsd:documentation>SenderIsProducerIndicator - bool</xsd:documentation>
712
+ </xsd:annotation>
713
+ </xsd:element>
714
+ <xsd:element minOccurs="0" name="TextileIndicator" type="xsd:boolean">
715
+ <xsd:annotation>
716
+ <xsd:appinfo/>
717
+ <xsd:documentation>TextileIndicator - bool</xsd:documentation>
718
+ </xsd:annotation>
719
+ </xsd:element>
720
+ <xsd:element minOccurs="0" name="TextileManufacturer" nillable="true" type="xsd:string">
721
+ <xsd:annotation>
722
+ <xsd:appinfo/>
723
+ <xsd:documentation>ProductCode - string</xsd:documentation>
724
+ </xsd:annotation>
725
+ </xsd:element>
726
+ </xsd:sequence>
727
+ </xsd:complexType>
728
+ <xsd:element name="ContentDetail" nillable="true" type="tns:ContentDetail"/>
729
+ <xsd:complexType name="BuyerInformation">
730
+ <xsd:annotation>
731
+ <xsd:appinfo/>
732
+ <xsd:documentation>BuyerInformation</xsd:documentation>
733
+ </xsd:annotation>
734
+ <xsd:sequence>
735
+ <xsd:element name="Address" nillable="true" type="tns:Address">
736
+ <xsd:annotation>
737
+ <xsd:appinfo/>
738
+ <xsd:documentation>Address - Address</xsd:documentation>
739
+ </xsd:annotation>
740
+ </xsd:element>
741
+ <xsd:element minOccurs="0" name="TaxNumber" nillable="true" type="xsd:string">
742
+ <xsd:annotation>
743
+ <xsd:appinfo/>
744
+ <xsd:documentation>TaxNumber - string</xsd:documentation>
745
+ </xsd:annotation>
746
+ </xsd:element>
747
+ </xsd:sequence>
748
+ </xsd:complexType>
749
+ <xsd:element name="BuyerInformation" nillable="true" type="tns:BuyerInformation"/>
750
+ <xsd:complexType name="DutyInformation">
751
+ <xsd:annotation>
752
+ <xsd:appinfo/>
753
+ <xsd:documentation>DutyInformation</xsd:documentation>
754
+ </xsd:annotation>
755
+ <xsd:sequence>
756
+ <xsd:element name="BillDutiesToParty" nillable="true" type="tns:BillDutiesToParty">
757
+ <xsd:annotation>
758
+ <xsd:appinfo/>
759
+ <xsd:documentation>BillDutiesToParty - BillDutiesToParty</xsd:documentation>
760
+ </xsd:annotation>
761
+ </xsd:element>
762
+ <xsd:element name="BusinessRelationship" nillable="true" type="tns:BusinessRelationship">
763
+ <xsd:annotation>
764
+ <xsd:appinfo/>
765
+ <xsd:documentation>BusinessRelationship - BusinessRelationship</xsd:documentation>
766
+ </xsd:annotation>
767
+ </xsd:element>
768
+ <xsd:element name="Currency" nillable="true" type="tns:DutyCurrency">
769
+ <xsd:annotation>
770
+ <xsd:appinfo/>
771
+ <xsd:documentation>Currency - DutyCurrency</xsd:documentation>
772
+ </xsd:annotation>
773
+ </xsd:element>
774
+ </xsd:sequence>
775
+ </xsd:complexType>
776
+ <xsd:element name="DutyInformation" nillable="true" type="tns:DutyInformation"/>
777
+ <xsd:simpleType name="BillDutiesToParty">
778
+ <xsd:annotation>
779
+ <xsd:appinfo/>
780
+ <xsd:documentation>BillDutiesToParty - enum</xsd:documentation>
781
+ </xsd:annotation>
782
+ <xsd:restriction base="xsd:string">
783
+ <xsd:enumeration value="Sender">
784
+ <xsd:annotation>
785
+ <xsd:documentation>Sender</xsd:documentation>
786
+ </xsd:annotation>
787
+ </xsd:enumeration>
788
+ <xsd:enumeration value="Receiver">
789
+ <xsd:annotation>
790
+ <xsd:documentation>Receiver</xsd:documentation>
791
+ </xsd:annotation>
792
+ </xsd:enumeration>
793
+ <xsd:enumeration value="Buyer">
794
+ <xsd:annotation>
795
+ <xsd:documentation>Buyer</xsd:documentation>
796
+ </xsd:annotation>
797
+ </xsd:enumeration>
798
+ </xsd:restriction>
799
+ </xsd:simpleType>
800
+ <xsd:element name="BillDutiesToParty" nillable="true" type="tns:BillDutiesToParty"/>
801
+ <xsd:simpleType name="BusinessRelationship">
802
+ <xsd:annotation>
803
+ <xsd:appinfo/>
804
+ <xsd:documentation>BusinessRelationship - enum</xsd:documentation>
805
+ </xsd:annotation>
806
+ <xsd:restriction base="xsd:string">
807
+ <xsd:enumeration value="Related">
808
+ <xsd:annotation>
809
+ <xsd:documentation>Related</xsd:documentation>
810
+ </xsd:annotation>
811
+ </xsd:enumeration>
812
+ <xsd:enumeration value="NotRelated">
813
+ <xsd:annotation>
814
+ <xsd:documentation>NotRelated</xsd:documentation>
815
+ </xsd:annotation>
816
+ </xsd:enumeration>
817
+ </xsd:restriction>
818
+ </xsd:simpleType>
819
+ <xsd:element name="BusinessRelationship" nillable="true" type="tns:BusinessRelationship"/>
820
+ <xsd:simpleType name="DutyCurrency">
821
+ <xsd:annotation>
822
+ <xsd:appinfo/>
823
+ <xsd:documentation>DutyCurrency - enum</xsd:documentation>
824
+ </xsd:annotation>
825
+ <xsd:restriction base="xsd:string">
826
+ <xsd:enumeration value="CAD">
827
+ <xsd:annotation>
828
+ <xsd:documentation>CAD</xsd:documentation>
829
+ </xsd:annotation>
830
+ </xsd:enumeration>
831
+ <xsd:enumeration value="USD">
832
+ <xsd:annotation>
833
+ <xsd:documentation>USD</xsd:documentation>
834
+ </xsd:annotation>
835
+ </xsd:enumeration>
836
+ </xsd:restriction>
837
+ </xsd:simpleType>
838
+ <xsd:element name="DutyCurrency" nillable="true" type="tns:DutyCurrency"/>
839
+ <xsd:simpleType name="ImportExportType">
840
+ <xsd:annotation>
841
+ <xsd:appinfo/>
842
+ <xsd:documentation>ImportExportType - enum</xsd:documentation>
843
+ </xsd:annotation>
844
+ <xsd:restriction base="xsd:string">
845
+ <xsd:enumeration value="Permanent">
846
+ <xsd:annotation>
847
+ <xsd:documentation>Permanent</xsd:documentation>
848
+ </xsd:annotation>
849
+ </xsd:enumeration>
850
+ <xsd:enumeration value="Temporary">
851
+ <xsd:annotation>
852
+ <xsd:documentation>Temporary</xsd:documentation>
853
+ </xsd:annotation>
854
+ </xsd:enumeration>
855
+ <xsd:enumeration value="Repair">
856
+ <xsd:annotation>
857
+ <xsd:documentation>Repair</xsd:documentation>
858
+ </xsd:annotation>
859
+ </xsd:enumeration>
860
+ <xsd:enumeration value="Return">
861
+ <xsd:annotation>
862
+ <xsd:documentation>Return</xsd:documentation>
863
+ </xsd:annotation>
864
+ </xsd:enumeration>
865
+ </xsd:restriction>
866
+ </xsd:simpleType>
867
+ <xsd:element name="ImportExportType" nillable="true" type="tns:ImportExportType"/>
868
+ <xsd:complexType name="ReturnShipmentInformation">
869
+ <xsd:annotation>
870
+ <xsd:appinfo/>
871
+ <xsd:documentation>ReturnShipmentInformation</xsd:documentation>
872
+ </xsd:annotation>
873
+ <xsd:sequence>
874
+ <xsd:element name="NumberOfReturnShipments" type="xsd:int">
875
+ <xsd:annotation>
876
+ <xsd:appinfo/>
877
+ <xsd:documentation>NumberOfReturnShipments - int</xsd:documentation>
878
+ </xsd:annotation>
879
+ </xsd:element>
880
+ <xsd:element name="ReturnShipment" nillable="true" type="tns:ReturnShipment">
881
+ <xsd:annotation>
882
+ <xsd:appinfo/>
883
+ <xsd:documentation>Shipment - Shipment</xsd:documentation>
884
+ </xsd:annotation>
885
+ </xsd:element>
886
+ </xsd:sequence>
887
+ </xsd:complexType>
888
+ <xsd:element name="ReturnShipmentInformation" nillable="true" type="tns:ReturnShipmentInformation"/>
889
+ <xsd:complexType name="ReturnShipment">
890
+ <xsd:annotation>
891
+ <xsd:appinfo/>
892
+ <xsd:documentation>Shipment</xsd:documentation>
893
+ </xsd:annotation>
894
+ <xsd:sequence>
895
+ <xsd:element name="SenderInformation" nillable="true" type="tns:SenderInformation">
896
+ <xsd:annotation>
897
+ <xsd:appinfo/>
898
+ <xsd:documentation>SenderInformation - SenderInformation</xsd:documentation>
899
+ </xsd:annotation>
900
+ </xsd:element>
901
+ <xsd:element name="ReceiverInformation" nillable="true" type="tns:ReceiverInformation">
902
+ <xsd:annotation>
903
+ <xsd:appinfo/>
904
+ <xsd:documentation>ReceiverInformation - ReceiverInformation</xsd:documentation>
905
+ </xsd:annotation>
906
+ </xsd:element>
907
+ <xsd:element name="PackageInformation" nillable="true" type="tns:PackageInformation">
908
+ <xsd:annotation>
909
+ <xsd:appinfo/>
910
+ <xsd:documentation>PackageInformation - PackageInformation</xsd:documentation>
911
+ </xsd:annotation>
912
+ </xsd:element>
913
+ <xsd:element name="PaymentInformation" nillable="true" type="tns:PaymentInformation">
914
+ <xsd:annotation>
915
+ <xsd:appinfo/>
916
+ <xsd:documentation>PaymentInformation - PaymentInformation</xsd:documentation>
917
+ </xsd:annotation>
918
+ </xsd:element>
919
+ <xsd:element name="PickupInformation" nillable="true" type="tns:PickupInformation">
920
+ <xsd:annotation>
921
+ <xsd:appinfo/>
922
+ <xsd:documentation>PickupInformation - PickupInformation</xsd:documentation>
923
+ </xsd:annotation>
924
+ </xsd:element>
925
+ <xsd:element minOccurs="0" name="NotificationInformation" nillable="true" type="tns:NotificationInformation">
926
+ <xsd:annotation>
927
+ <xsd:appinfo/>
928
+ <xsd:documentation>NotificationInformation - NotificationInformation</xsd:documentation>
929
+ </xsd:annotation>
930
+ </xsd:element>
931
+ <xsd:element minOccurs="0" name="TrackingReferenceInformation" nillable="true" type="tns:TrackingReferenceInformation">
932
+ <xsd:annotation>
933
+ <xsd:appinfo/>
934
+ <xsd:documentation>
935
+ TrackingReferenceInformation - TrackingReferenceInformation
936
+ </xsd:documentation>
937
+ </xsd:annotation>
938
+ </xsd:element>
939
+ <xsd:element minOccurs="0" name="OtherInformation" nillable="true" type="tns:OtherInformation">
940
+ <xsd:annotation>
941
+ <xsd:appinfo/>
942
+ <xsd:documentation>OtherInformation - OtherInformation</xsd:documentation>
943
+ </xsd:annotation>
944
+ </xsd:element>
945
+ </xsd:sequence>
946
+ </xsd:complexType>
947
+ <xsd:element name="ReturnShipment" nillable="true" type="tns:ReturnShipment"/>
948
+ <xsd:complexType name="PaymentInformation">
949
+ <xsd:annotation>
950
+ <xsd:appinfo/>
951
+ <xsd:documentation>PaymentInformation</xsd:documentation>
952
+ </xsd:annotation>
953
+ <xsd:sequence>
954
+ <xsd:element name="PaymentType" type="tns:PaymentType">
955
+ <xsd:annotation>
956
+ <xsd:appinfo/>
957
+ <xsd:documentation>PaymentType - PaymentType</xsd:documentation>
958
+ </xsd:annotation>
959
+ </xsd:element>
960
+ <xsd:element name="RegisteredAccountNumber" nillable="true" type="xsd:string">
961
+ <xsd:annotation>
962
+ <xsd:appinfo/>
963
+ <xsd:documentation>RegisteredAccountNumber - string</xsd:documentation>
964
+ </xsd:annotation>
965
+ </xsd:element>
966
+ <xsd:element minOccurs="0" name="BillingAccountNumber" nillable="true" type="xsd:string">
967
+ <xsd:annotation>
968
+ <xsd:appinfo/>
969
+ <xsd:documentation>BillingAccountNumber - string</xsd:documentation>
970
+ </xsd:annotation>
971
+ </xsd:element>
972
+ <xsd:element minOccurs="0" name="CreditCardInformation" nillable="true" type="tns:CreditCardInformation">
973
+ <xsd:annotation>
974
+ <xsd:appinfo/>
975
+ <xsd:documentation>CreditCardInformation - CreditCardInformation</xsd:documentation>
976
+ </xsd:annotation>
977
+ </xsd:element>
978
+ </xsd:sequence>
979
+ </xsd:complexType>
980
+ <xsd:element name="PaymentInformation" nillable="true" type="tns:PaymentInformation"/>
981
+ <xsd:simpleType name="PaymentType">
982
+ <xsd:annotation>
983
+ <xsd:appinfo/>
984
+ <xsd:documentation>PaymentType - enum</xsd:documentation>
985
+ </xsd:annotation>
986
+ <xsd:restriction base="xsd:string">
987
+ <xsd:enumeration value="Sender">
988
+ <xsd:annotation>
989
+ <xsd:documentation>Sender</xsd:documentation>
990
+ </xsd:annotation>
991
+ </xsd:enumeration>
992
+ <xsd:enumeration value="Receiver">
993
+ <xsd:annotation>
994
+ <xsd:documentation>Receiver</xsd:documentation>
995
+ </xsd:annotation>
996
+ </xsd:enumeration>
997
+ <xsd:enumeration value="ThirdParty">
998
+ <xsd:annotation>
999
+ <xsd:documentation>ThirdParty</xsd:documentation>
1000
+ </xsd:annotation>
1001
+ </xsd:enumeration>
1002
+ <xsd:enumeration value="CreditCard">
1003
+ <xsd:annotation>
1004
+ <xsd:documentation>CreditCard</xsd:documentation>
1005
+ </xsd:annotation>
1006
+ </xsd:enumeration>
1007
+ </xsd:restriction>
1008
+ </xsd:simpleType>
1009
+ <xsd:element name="PaymentType" nillable="true" type="tns:PaymentType"/>
1010
+ <xsd:complexType name="CreditCardInformation">
1011
+ <xsd:annotation>
1012
+ <xsd:appinfo/>
1013
+ <xsd:documentation>CreditCardInformation</xsd:documentation>
1014
+ </xsd:annotation>
1015
+ <xsd:sequence>
1016
+ <xsd:element name="Type" type="tns:CreditCardType">
1017
+ <xsd:annotation>
1018
+ <xsd:appinfo/>
1019
+ <xsd:documentation>Type - CreditCardType</xsd:documentation>
1020
+ </xsd:annotation>
1021
+ </xsd:element>
1022
+ <xsd:element name="Number" nillable="true" type="xsd:string">
1023
+ <xsd:annotation>
1024
+ <xsd:appinfo/>
1025
+ <xsd:documentation>Number - string</xsd:documentation>
1026
+ </xsd:annotation>
1027
+ </xsd:element>
1028
+ <xsd:element name="Name" nillable="true" type="xsd:string">
1029
+ <xsd:annotation>
1030
+ <xsd:appinfo/>
1031
+ <xsd:documentation>Name - string</xsd:documentation>
1032
+ </xsd:annotation>
1033
+ </xsd:element>
1034
+ <xsd:element name="ExpiryMonth" type="xsd:int">
1035
+ <xsd:annotation>
1036
+ <xsd:appinfo/>
1037
+ <xsd:documentation>ExpiryMonth - int</xsd:documentation>
1038
+ </xsd:annotation>
1039
+ </xsd:element>
1040
+ <xsd:element name="ExpiryYear" type="xsd:int">
1041
+ <xsd:annotation>
1042
+ <xsd:appinfo/>
1043
+ <xsd:documentation>ExpiryYear - int</xsd:documentation>
1044
+ </xsd:annotation>
1045
+ </xsd:element>
1046
+ <xsd:element name="CVV" nillable="true" type="xsd:string">
1047
+ <xsd:annotation>
1048
+ <xsd:appinfo/>
1049
+ <xsd:documentation>CVV - string</xsd:documentation>
1050
+ </xsd:annotation>
1051
+ </xsd:element>
1052
+ </xsd:sequence>
1053
+ </xsd:complexType>
1054
+ <xsd:element name="CreditCardInformation" nillable="true" type="tns:CreditCardInformation"/>
1055
+ <xsd:simpleType name="CreditCardType">
1056
+ <xsd:annotation>
1057
+ <xsd:appinfo/>
1058
+ <xsd:documentation>CreditCardType - enum</xsd:documentation>
1059
+ </xsd:annotation>
1060
+ <xsd:restriction base="xsd:string">
1061
+ <xsd:enumeration value="Visa">
1062
+ <xsd:annotation>
1063
+ <xsd:documentation>Visa</xsd:documentation>
1064
+ </xsd:annotation>
1065
+ </xsd:enumeration>
1066
+ <xsd:enumeration value="MasterCard">
1067
+ <xsd:annotation>
1068
+ <xsd:documentation>MasterCard</xsd:documentation>
1069
+ </xsd:annotation>
1070
+ </xsd:enumeration>
1071
+ <xsd:enumeration value="AmericanExpress">
1072
+ <xsd:annotation>
1073
+ <xsd:documentation>AmericanExpress</xsd:documentation>
1074
+ </xsd:annotation>
1075
+ </xsd:enumeration>
1076
+ </xsd:restriction>
1077
+ </xsd:simpleType>
1078
+ <xsd:element name="CreditCardType" nillable="true" type="tns:CreditCardType"/>
1079
+ <xsd:complexType name="PickupInformation">
1080
+ <xsd:annotation>
1081
+ <xsd:appinfo/>
1082
+ <xsd:documentation>PickupInformation</xsd:documentation>
1083
+ </xsd:annotation>
1084
+ <xsd:sequence>
1085
+ <xsd:element name="PickupType" type="tns:PickupType">
1086
+ <xsd:annotation>
1087
+ <xsd:appinfo/>
1088
+ <xsd:documentation>Type - PickupType</xsd:documentation>
1089
+ </xsd:annotation>
1090
+ </xsd:element>
1091
+ </xsd:sequence>
1092
+ </xsd:complexType>
1093
+ <xsd:element name="PickupInformation" nillable="true" type="tns:PickupInformation"/>
1094
+ <xsd:simpleType name="PickupType">
1095
+ <xsd:annotation>
1096
+ <xsd:appinfo/>
1097
+ <xsd:documentation>PickupType - enum</xsd:documentation>
1098
+ </xsd:annotation>
1099
+ <xsd:restriction base="xsd:string">
1100
+ <xsd:enumeration value="DropOff">
1101
+ <xsd:annotation>
1102
+ <xsd:documentation>DropOff</xsd:documentation>
1103
+ </xsd:annotation>
1104
+ </xsd:enumeration>
1105
+ <xsd:enumeration value="PreScheduled">
1106
+ <xsd:annotation>
1107
+ <xsd:documentation>PreScheduled</xsd:documentation>
1108
+ </xsd:annotation>
1109
+ </xsd:enumeration>
1110
+ </xsd:restriction>
1111
+ </xsd:simpleType>
1112
+ <xsd:element name="PickupType" nillable="true" type="tns:PickupType"/>
1113
+ <xsd:complexType name="NotificationInformation">
1114
+ <xsd:annotation>
1115
+ <xsd:appinfo/>
1116
+ <xsd:documentation>NotificationInformation</xsd:documentation>
1117
+ </xsd:annotation>
1118
+ <xsd:sequence>
1119
+ <xsd:element minOccurs="0" name="ConfirmationEmailAddress" nillable="true" type="xsd:string">
1120
+ <xsd:annotation>
1121
+ <xsd:appinfo/>
1122
+ <xsd:documentation>ConfirmationEmailAddress - string</xsd:documentation>
1123
+ </xsd:annotation>
1124
+ </xsd:element>
1125
+ <xsd:element minOccurs="0" name="AdvancedShippingNotificationEmailAddress1" nillable="true" type="xsd:string">
1126
+ <xsd:annotation>
1127
+ <xsd:appinfo/>
1128
+ <xsd:documentation>AdvancedShippingNotificationEmailAddress1 - string</xsd:documentation>
1129
+ </xsd:annotation>
1130
+ </xsd:element>
1131
+ <xsd:element minOccurs="0" name="AdvancedShippingNotificationEmailAddress2" nillable="true" type="xsd:string">
1132
+ <xsd:annotation>
1133
+ <xsd:appinfo/>
1134
+ <xsd:documentation>AdvancedShippingNotificationEmailAddress2 - string</xsd:documentation>
1135
+ </xsd:annotation>
1136
+ </xsd:element>
1137
+ <xsd:element minOccurs="0" name="AdvancedShippingNotificationMessage" nillable="true" type="xsd:string">
1138
+ <xsd:annotation>
1139
+ <xsd:appinfo/>
1140
+ <xsd:documentation>AdvancedShippingNotificationMessage - string</xsd:documentation>
1141
+ </xsd:annotation>
1142
+ </xsd:element>
1143
+ </xsd:sequence>
1144
+ </xsd:complexType>
1145
+ <xsd:element name="NotificationInformation" nillable="true" type="tns:NotificationInformation"/>
1146
+ <xsd:complexType name="TrackingReferenceInformation">
1147
+ <xsd:annotation>
1148
+ <xsd:appinfo/>
1149
+ <xsd:documentation>TrackingReferenceInformation</xsd:documentation>
1150
+ </xsd:annotation>
1151
+ <xsd:sequence>
1152
+ <xsd:element minOccurs="0" name="Reference1" nillable="true" type="xsd:string">
1153
+ <xsd:annotation>
1154
+ <xsd:appinfo/>
1155
+ <xsd:documentation>Reference1 - string</xsd:documentation>
1156
+ </xsd:annotation>
1157
+ </xsd:element>
1158
+ <xsd:element minOccurs="0" name="Reference2" nillable="true" type="xsd:string">
1159
+ <xsd:annotation>
1160
+ <xsd:appinfo/>
1161
+ <xsd:documentation>Reference2 - string</xsd:documentation>
1162
+ </xsd:annotation>
1163
+ </xsd:element>
1164
+ <xsd:element minOccurs="0" name="Reference3" nillable="true" type="xsd:string">
1165
+ <xsd:annotation>
1166
+ <xsd:appinfo/>
1167
+ <xsd:documentation>Reference3 - string</xsd:documentation>
1168
+ </xsd:annotation>
1169
+ </xsd:element>
1170
+ <xsd:element minOccurs="0" name="Reference4" nillable="true" type="xsd:string">
1171
+ <xsd:annotation>
1172
+ <xsd:appinfo/>
1173
+ <xsd:documentation>Reference4 - string</xsd:documentation>
1174
+ </xsd:annotation>
1175
+ </xsd:element>
1176
+ </xsd:sequence>
1177
+ </xsd:complexType>
1178
+ <xsd:element name="TrackingReferenceInformation" nillable="true" type="tns:TrackingReferenceInformation"/>
1179
+ <xsd:complexType name="OtherInformation">
1180
+ <xsd:annotation>
1181
+ <xsd:appinfo/>
1182
+ <xsd:documentation>OtherInformation</xsd:documentation>
1183
+ </xsd:annotation>
1184
+ <xsd:sequence>
1185
+ <xsd:element minOccurs="0" name="CostCentre" nillable="true" type="xsd:string">
1186
+ <xsd:annotation>
1187
+ <xsd:appinfo/>
1188
+ <xsd:documentation>CostCentre - string</xsd:documentation>
1189
+ </xsd:annotation>
1190
+ </xsd:element>
1191
+ <xsd:element minOccurs="0" name="SpecialInstructions" nillable="true" type="xsd:string">
1192
+ <xsd:annotation>
1193
+ <xsd:appinfo/>
1194
+ <xsd:documentation>SpecialInstructions - string</xsd:documentation>
1195
+ </xsd:annotation>
1196
+ </xsd:element>
1197
+ </xsd:sequence>
1198
+ </xsd:complexType>
1199
+ <xsd:element name="OtherInformation" nillable="true" type="tns:OtherInformation"/>
1200
+ <xsd:simpleType name="PrinterType">
1201
+ <xsd:annotation>
1202
+ <xsd:appinfo/>
1203
+ <xsd:documentation>PrinterType - enum</xsd:documentation>
1204
+ </xsd:annotation>
1205
+ <xsd:restriction base="xsd:string">
1206
+ <xsd:enumeration value="Regular">
1207
+ <xsd:annotation>
1208
+ <xsd:documentation>Regular</xsd:documentation>
1209
+ </xsd:annotation>
1210
+ </xsd:enumeration>
1211
+ <xsd:enumeration value="Thermal">
1212
+ <xsd:annotation>
1213
+ <xsd:documentation>Thermal</xsd:documentation>
1214
+ </xsd:annotation>
1215
+ </xsd:enumeration>
1216
+ </xsd:restriction>
1217
+ </xsd:simpleType>
1218
+ <xsd:element name="PrinterType" nillable="true" type="tns:PrinterType"/>
1219
+ <xsd:element name="CreateShipmentRequest" nillable="true" type="tns:CreateShipmentRequestContainer"/>
1220
+ <xsd:complexType name="RequestContext">
1221
+ <xsd:annotation>
1222
+ <xsd:appinfo/>
1223
+ <xsd:documentation>RequestContext</xsd:documentation>
1224
+ </xsd:annotation>
1225
+ <xsd:sequence>
1226
+ <xsd:element name="Version" nillable="true" type="xsd:string">
1227
+ <xsd:annotation>
1228
+ <xsd:appinfo/>
1229
+ <xsd:documentation>Version - string</xsd:documentation>
1230
+ </xsd:annotation>
1231
+ </xsd:element>
1232
+ <xsd:element name="Language" type="tns:Language">
1233
+ <xsd:annotation>
1234
+ <xsd:appinfo/>
1235
+ <xsd:documentation>Language - string</xsd:documentation>
1236
+ </xsd:annotation>
1237
+ </xsd:element>
1238
+ <xsd:element name="GroupID" nillable="true" type="xsd:string">
1239
+ <xsd:annotation>
1240
+ <xsd:appinfo/>
1241
+ <xsd:documentation>GroupID - string</xsd:documentation>
1242
+ </xsd:annotation>
1243
+ </xsd:element>
1244
+ <xsd:element name="RequestReference" nillable="true" type="xsd:string">
1245
+ <xsd:annotation>
1246
+ <xsd:appinfo/>
1247
+ <xsd:documentation>RequestReference - string</xsd:documentation>
1248
+ </xsd:annotation>
1249
+ </xsd:element>
1250
+ <xsd:element minOccurs="0" name="UserToken" nillable="true" type="xsd:string">
1251
+ <xsd:annotation>
1252
+ <xsd:appinfo/>
1253
+ <xsd:documentation>UserToken - string</xsd:documentation>
1254
+ </xsd:annotation>
1255
+ </xsd:element>
1256
+ </xsd:sequence>
1257
+ </xsd:complexType>
1258
+ <xsd:element name="RequestContext" nillable="true" type="tns:RequestContext"/>
1259
+ <xsd:simpleType name="Language">
1260
+ <xsd:annotation>
1261
+ <xsd:appinfo/>
1262
+ <xsd:documentation>Language - enum</xsd:documentation>
1263
+ </xsd:annotation>
1264
+ <xsd:restriction base="xsd:string">
1265
+ <xsd:enumeration value="en">
1266
+ <xsd:annotation>
1267
+ <xsd:documentation>en</xsd:documentation>
1268
+ </xsd:annotation>
1269
+ </xsd:enumeration>
1270
+ <xsd:enumeration value="fr">
1271
+ <xsd:annotation>
1272
+ <xsd:documentation>fr</xsd:documentation>
1273
+ </xsd:annotation>
1274
+ </xsd:enumeration>
1275
+ </xsd:restriction>
1276
+ </xsd:simpleType>
1277
+ <xsd:element name="Language" nillable="true" type="tns:Language"/>
1278
+ <xsd:complexType name="CreateShipmentResponseContainer">
1279
+ <xsd:annotation>
1280
+ <xsd:appinfo/>
1281
+ <xsd:documentation>CreateShipmentResponse</xsd:documentation>
1282
+ </xsd:annotation>
1283
+ <xsd:complexContent mixed="false">
1284
+ <xsd:extension base="tns:ResponseContainer">
1285
+ <xsd:sequence>
1286
+ <xsd:element minOccurs="0" name="ShipmentPIN" nillable="true" type="tns:PIN">
1287
+ <xsd:annotation>
1288
+ <xsd:appinfo/>
1289
+ <xsd:documentation>ShipmentPIN - PIN</xsd:documentation>
1290
+ </xsd:annotation>
1291
+ </xsd:element>
1292
+ <xsd:element minOccurs="0" name="PiecePINs" nillable="true" type="tns:ArrayOfPIN">
1293
+ <xsd:annotation>
1294
+ <xsd:appinfo/>
1295
+ <xsd:documentation>PiecePINs - PIN[]</xsd:documentation>
1296
+ </xsd:annotation>
1297
+ </xsd:element>
1298
+ <xsd:element minOccurs="0" name="ReturnShipmentPINs" nillable="true" type="tns:ArrayOfPIN">
1299
+ <xsd:annotation>
1300
+ <xsd:appinfo/>
1301
+ <xsd:documentation>ReturnShipmentPINs - PIN[]</xsd:documentation>
1302
+ </xsd:annotation>
1303
+ </xsd:element>
1304
+ <xsd:element minOccurs="0" name="ExpressChequePIN" nillable="true" type="tns:PIN">
1305
+ <xsd:annotation>
1306
+ <xsd:appinfo/>
1307
+ <xsd:documentation>ExpressChequePIN - PIN</xsd:documentation>
1308
+ </xsd:annotation>
1309
+ </xsd:element>
1310
+ </xsd:sequence>
1311
+ </xsd:extension>
1312
+ </xsd:complexContent>
1313
+ </xsd:complexType>
1314
+ <xsd:element name="CreateShipmentResponseContainer" nillable="true" type="tns:CreateShipmentResponseContainer"/>
1315
+ <xsd:complexType name="ResponseContainer">
1316
+ <xsd:sequence>
1317
+ <xsd:element name="ResponseInformation" nillable="true" type="tns:ResponseInformation">
1318
+ <xsd:annotation>
1319
+ <xsd:appinfo/>
1320
+ <xsd:documentation>ResponseInformation - ResponseInformation</xsd:documentation>
1321
+ </xsd:annotation>
1322
+ </xsd:element>
1323
+ </xsd:sequence>
1324
+ </xsd:complexType>
1325
+ <xsd:element name="ResponseContainer" nillable="true" type="tns:ResponseContainer"/>
1326
+ <xsd:complexType name="ResponseInformation">
1327
+ <xsd:annotation>
1328
+ <xsd:appinfo/>
1329
+ <xsd:documentation>ResponseInformation</xsd:documentation>
1330
+ </xsd:annotation>
1331
+ <xsd:sequence>
1332
+ <xsd:element name="Errors" nillable="true" type="tns:ArrayOfError">
1333
+ <xsd:annotation>
1334
+ <xsd:appinfo/>
1335
+ <xsd:documentation>Errors - Error[]</xsd:documentation>
1336
+ </xsd:annotation>
1337
+ </xsd:element>
1338
+ <xsd:element name="InformationalMessages" nillable="true" type="tns:ArrayOfInformationalMessage">
1339
+ <xsd:annotation>
1340
+ <xsd:appinfo/>
1341
+ <xsd:documentation>InformationalMessages - InformationalMessage[]</xsd:documentation>
1342
+ </xsd:annotation>
1343
+ </xsd:element>
1344
+ </xsd:sequence>
1345
+ </xsd:complexType>
1346
+ <xsd:element name="ResponseInformation" nillable="true" type="tns:ResponseInformation"/>
1347
+ <xsd:complexType name="ArrayOfError">
1348
+ <xsd:sequence>
1349
+ <xsd:element minOccurs="0" maxOccurs="unbounded" name="Error" nillable="true" type="tns:Error"/>
1350
+ </xsd:sequence>
1351
+ </xsd:complexType>
1352
+ <xsd:element name="ArrayOfError" nillable="true" type="tns:ArrayOfError"/>
1353
+ <xsd:complexType name="Error">
1354
+ <xsd:annotation>
1355
+ <xsd:appinfo/>
1356
+ <xsd:documentation>Error</xsd:documentation>
1357
+ </xsd:annotation>
1358
+ <xsd:sequence>
1359
+ <xsd:element name="Code" nillable="true" type="xsd:string">
1360
+ <xsd:annotation>
1361
+ <xsd:appinfo/>
1362
+ <xsd:documentation>Code - string</xsd:documentation>
1363
+ </xsd:annotation>
1364
+ </xsd:element>
1365
+ <xsd:element name="Description" nillable="true" type="xsd:string">
1366
+ <xsd:annotation>
1367
+ <xsd:appinfo/>
1368
+ <xsd:documentation>Description - string</xsd:documentation>
1369
+ </xsd:annotation>
1370
+ </xsd:element>
1371
+ <xsd:element name="AdditionalInformation" nillable="true" type="xsd:string">
1372
+ <xsd:annotation>
1373
+ <xsd:appinfo/>
1374
+ <xsd:documentation>AdditionalInformation - string</xsd:documentation>
1375
+ </xsd:annotation>
1376
+ </xsd:element>
1377
+ </xsd:sequence>
1378
+ </xsd:complexType>
1379
+ <xsd:element name="Error" nillable="true" type="tns:Error"/>
1380
+ <xsd:complexType name="ArrayOfInformationalMessage">
1381
+ <xsd:sequence>
1382
+ <xsd:element minOccurs="0" maxOccurs="unbounded" name="InformationalMessage" nillable="true" type="tns:InformationalMessage"/>
1383
+ </xsd:sequence>
1384
+ </xsd:complexType>
1385
+ <xsd:element name="ArrayOfInformationalMessage" nillable="true" type="tns:ArrayOfInformationalMessage"/>
1386
+ <xsd:complexType name="InformationalMessage">
1387
+ <xsd:annotation>
1388
+ <xsd:appinfo/>
1389
+ <xsd:documentation>InformationalMessage</xsd:documentation>
1390
+ </xsd:annotation>
1391
+ <xsd:sequence>
1392
+ <xsd:element name="Code" nillable="true" type="xsd:string">
1393
+ <xsd:annotation>
1394
+ <xsd:appinfo/>
1395
+ <xsd:documentation>Code - string</xsd:documentation>
1396
+ </xsd:annotation>
1397
+ </xsd:element>
1398
+ <xsd:element name="Message" nillable="true" type="xsd:string">
1399
+ <xsd:annotation>
1400
+ <xsd:appinfo/>
1401
+ <xsd:documentation>Message - string</xsd:documentation>
1402
+ </xsd:annotation>
1403
+ </xsd:element>
1404
+ </xsd:sequence>
1405
+ </xsd:complexType>
1406
+ <xsd:element name="InformationalMessage" nillable="true" type="tns:InformationalMessage"/>
1407
+ <xsd:complexType name="PIN">
1408
+ <xsd:annotation>
1409
+ <xsd:appinfo/>
1410
+ <xsd:documentation>PIN</xsd:documentation>
1411
+ </xsd:annotation>
1412
+ <xsd:sequence>
1413
+ <xsd:element name="Value" nillable="true" type="xsd:string">
1414
+ <xsd:annotation>
1415
+ <xsd:appinfo/>
1416
+ <xsd:documentation>Value - string</xsd:documentation>
1417
+ </xsd:annotation>
1418
+ </xsd:element>
1419
+ </xsd:sequence>
1420
+ </xsd:complexType>
1421
+ <xsd:element name="PIN" nillable="true" type="tns:PIN"/>
1422
+ <xsd:complexType name="ArrayOfPIN">
1423
+ <xsd:sequence>
1424
+ <xsd:element minOccurs="0" maxOccurs="unbounded" name="PIN" nillable="true" type="tns:PIN"/>
1425
+ </xsd:sequence>
1426
+ </xsd:complexType>
1427
+ <xsd:element name="ArrayOfPIN" nillable="true" type="tns:ArrayOfPIN"/>
1428
+ <xsd:element name="CreateShipmentResponse" nillable="true" type="tns:CreateShipmentResponseContainer"/>
1429
+ <xsd:complexType name="ResponseContext">
1430
+ <xsd:annotation>
1431
+ <xsd:appinfo/>
1432
+ <xsd:documentation>ResponseContext</xsd:documentation>
1433
+ </xsd:annotation>
1434
+ <xsd:sequence>
1435
+ <xsd:element name="ResponseReference" nillable="true" type="xsd:string">
1436
+ <xsd:annotation>
1437
+ <xsd:appinfo/>
1438
+ <xsd:documentation>ResponseReference - string</xsd:documentation>
1439
+ </xsd:annotation>
1440
+ </xsd:element>
1441
+ </xsd:sequence>
1442
+ </xsd:complexType>
1443
+ <xsd:element name="ResponseContext" nillable="true" type="tns:ResponseContext"/>
1444
+ <xsd:complexType name="VoidShipmentRequestContainer">
1445
+ <xsd:annotation>
1446
+ <xsd:appinfo/>
1447
+ <xsd:documentation>VoidShipmentRequest</xsd:documentation>
1448
+ </xsd:annotation>
1449
+ <xsd:complexContent mixed="false">
1450
+ <xsd:extension base="tns:RequestContainer">
1451
+ <xsd:sequence>
1452
+ <xsd:element name="PIN" nillable="true" type="tns:PIN">
1453
+ <xsd:annotation>
1454
+ <xsd:appinfo/>
1455
+ <xsd:documentation>PIN - PIN</xsd:documentation>
1456
+ </xsd:annotation>
1457
+ </xsd:element>
1458
+ </xsd:sequence>
1459
+ </xsd:extension>
1460
+ </xsd:complexContent>
1461
+ </xsd:complexType>
1462
+ <xsd:element name="VoidShipmentRequestContainer" nillable="true" type="tns:VoidShipmentRequestContainer"/>
1463
+ <xsd:element name="VoidShipmentRequest" nillable="true" type="tns:VoidShipmentRequestContainer"/>
1464
+ <xsd:complexType name="VoidShipmentResponseContainer">
1465
+ <xsd:annotation>
1466
+ <xsd:appinfo/>
1467
+ <xsd:documentation>VoidShipmentResponse</xsd:documentation>
1468
+ </xsd:annotation>
1469
+ <xsd:complexContent mixed="false">
1470
+ <xsd:extension base="tns:ResponseContainer">
1471
+ <xsd:sequence>
1472
+ <xsd:element minOccurs="0" name="ShipmentVoided" type="xsd:boolean">
1473
+ <xsd:annotation>
1474
+ <xsd:appinfo/>
1475
+ <xsd:documentation>ShipmentVoided - bool</xsd:documentation>
1476
+ </xsd:annotation>
1477
+ </xsd:element>
1478
+ </xsd:sequence>
1479
+ </xsd:extension>
1480
+ </xsd:complexContent>
1481
+ </xsd:complexType>
1482
+ <xsd:element name="VoidShipmentResponseContainer" nillable="true" type="tns:VoidShipmentResponseContainer"/>
1483
+ <xsd:element name="VoidShipmentResponse" nillable="true" type="tns:VoidShipmentResponseContainer"/>
1484
+ <xsd:complexType name="ValidateShipmentRequestContainer">
1485
+ <xsd:annotation>
1486
+ <xsd:appinfo/>
1487
+ <xsd:documentation>ValidateShipmentRequest</xsd:documentation>
1488
+ </xsd:annotation>
1489
+ <xsd:complexContent mixed="false">
1490
+ <xsd:extension base="tns:RequestContainer">
1491
+ <xsd:sequence>
1492
+ <xsd:element name="Shipment" nillable="true" type="tns:Shipment">
1493
+ <xsd:annotation>
1494
+ <xsd:appinfo/>
1495
+ <xsd:documentation>Shipment - Shipment</xsd:documentation>
1496
+ </xsd:annotation>
1497
+ </xsd:element>
1498
+ </xsd:sequence>
1499
+ </xsd:extension>
1500
+ </xsd:complexContent>
1501
+ </xsd:complexType>
1502
+ <xsd:element name="ValidateShipmentRequestContainer" nillable="true" type="tns:ValidateShipmentRequestContainer"/>
1503
+ <xsd:element name="ValidateShipmentRequest" nillable="true" type="tns:ValidateShipmentRequestContainer"/>
1504
+ <xsd:complexType name="ValidateShipmentResponseContainer">
1505
+ <xsd:annotation>
1506
+ <xsd:appinfo/>
1507
+ <xsd:documentation>ValidateShipmentResponse</xsd:documentation>
1508
+ </xsd:annotation>
1509
+ <xsd:complexContent mixed="false">
1510
+ <xsd:extension base="tns:ResponseContainer">
1511
+ <xsd:sequence>
1512
+ <xsd:element minOccurs="0" name="ValidShipment" type="xsd:boolean">
1513
+ <xsd:annotation>
1514
+ <xsd:appinfo/>
1515
+ <xsd:documentation>ValidShipment - bool</xsd:documentation>
1516
+ </xsd:annotation>
1517
+ </xsd:element>
1518
+ </xsd:sequence>
1519
+ </xsd:extension>
1520
+ </xsd:complexContent>
1521
+ </xsd:complexType>
1522
+ <xsd:element name="ValidateShipmentResponseContainer" nillable="true" type="tns:ValidateShipmentResponseContainer"/>
1523
+ <xsd:element name="ValidateShipmentResponse" nillable="true" type="tns:ValidateShipmentResponseContainer"/>
1524
+ <xsd:complexType name="ConsolidateRequestContainer">
1525
+ <xsd:annotation>
1526
+ <xsd:appinfo/>
1527
+ <xsd:documentation>ValidateShipmentRequest</xsd:documentation>
1528
+ </xsd:annotation>
1529
+ <xsd:complexContent mixed="false">
1530
+ <xsd:extension base="tns:RequestContainer">
1531
+ <xsd:sequence/>
1532
+ </xsd:extension>
1533
+ </xsd:complexContent>
1534
+ </xsd:complexType>
1535
+ <xsd:element name="ConsolidateRequestContainer" nillable="true" type="tns:ConsolidateRequestContainer"/>
1536
+ <xsd:element name="ConsolidateRequest" nillable="true" type="tns:ConsolidateRequestContainer"/>
1537
+ <xsd:complexType name="ConsolidateResponseContainer">
1538
+ <xsd:annotation>
1539
+ <xsd:appinfo/>
1540
+ <xsd:documentation>ValidateShipmentResponse</xsd:documentation>
1541
+ </xsd:annotation>
1542
+ <xsd:complexContent mixed="false">
1543
+ <xsd:extension base="tns:ResponseContainer">
1544
+ <xsd:sequence>
1545
+ <xsd:element minOccurs="0" name="Consolidate" type="xsd:boolean">
1546
+ <xsd:annotation>
1547
+ <xsd:appinfo/>
1548
+ <xsd:documentation>Consolidate - bool</xsd:documentation>
1549
+ </xsd:annotation>
1550
+ </xsd:element>
1551
+ </xsd:sequence>
1552
+ </xsd:extension>
1553
+ </xsd:complexContent>
1554
+ </xsd:complexType>
1555
+ <xsd:element name="ConsolidateResponseContainer" nillable="true" type="tns:ConsolidateResponseContainer"/>
1556
+ <xsd:element name="ConsolidateResponse" nillable="true" type="tns:ConsolidateResponseContainer"/>
1557
+ </xsd:schema>
1558
+ <xsd:schema xmlns:tns="http://www.microsoft.com/practices/EnterpriseLibrary/2007/01/wcf/validation" elementFormDefault="qualified" targetNamespace="http://www.microsoft.com/practices/EnterpriseLibrary/2007/01/wcf/validation">
1559
+ <xsd:complexType name="ValidationFault">
1560
+ <xsd:annotation>
1561
+ <xsd:appinfo/>
1562
+ <xsd:documentation>
1563
+ This class is used to return information to a WCF client when validation fails on a service parameter.
1564
+ </xsd:documentation>
1565
+ </xsd:annotation>
1566
+ <xsd:sequence>
1567
+ <xsd:element xmlns:q1="http://schemas.datacontract.org/2004/07/Microsoft.Practices.EnterpriseLibrary.Validation.Integration.WCF" minOccurs="0" name="Details" nillable="true" type="q1:ArrayOfValidationDetail">
1568
+ <xsd:annotation>
1569
+ <xsd:appinfo/>
1570
+ <xsd:documentation/>
1571
+ </xsd:annotation>
1572
+ </xsd:element>
1573
+ </xsd:sequence>
1574
+ </xsd:complexType>
1575
+ <xsd:element name="ValidationFault" nillable="true" type="tns:ValidationFault"/>
1576
+ </xsd:schema>
1577
+ <xsd:schema xmlns:tns="http://schemas.datacontract.org/2004/07/Microsoft.Practices.EnterpriseLibrary.Validation.Integration.WCF" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/Microsoft.Practices.EnterpriseLibrary.Validation.Integration.WCF">
1578
+ <xsd:complexType name="ArrayOfValidationDetail">
1579
+ <xsd:sequence>
1580
+ <xsd:element minOccurs="0" maxOccurs="unbounded" name="ValidationDetail" nillable="true" type="tns:ValidationDetail"/>
1581
+ </xsd:sequence>
1582
+ </xsd:complexType>
1583
+ <xsd:element name="ArrayOfValidationDetail" nillable="true" type="tns:ArrayOfValidationDetail"/>
1584
+ <xsd:complexType name="ValidationDetail">
1585
+ <xsd:annotation>
1586
+ <xsd:appinfo/>
1587
+ <xsd:documentation>
1588
+ This class holds the results of a single validation. Effectively, it's the same as a ValidationResult, but creating a separate class allows us to mark up a DataContract with impunity.
1589
+ </xsd:documentation>
1590
+ </xsd:annotation>
1591
+ <xsd:sequence>
1592
+ <xsd:element minOccurs="0" name="Key" nillable="true" type="xsd:string">
1593
+ <xsd:annotation>
1594
+ <xsd:appinfo/>
1595
+ <xsd:documentation>
1596
+ Get or set a name describing the location of the validation result.
1597
+ </xsd:documentation>
1598
+ </xsd:annotation>
1599
+ </xsd:element>
1600
+ <xsd:element minOccurs="0" name="Message" nillable="true" type="xsd:string">
1601
+ <xsd:annotation>
1602
+ <xsd:appinfo/>
1603
+ <xsd:documentation>
1604
+ Get or set a message describing the validation failure.
1605
+ </xsd:documentation>
1606
+ </xsd:annotation>
1607
+ </xsd:element>
1608
+ <xsd:element minOccurs="0" name="Tag" nillable="true" type="xsd:string">
1609
+ <xsd:annotation>
1610
+ <xsd:appinfo/>
1611
+ <xsd:documentation>Get or set a value characterizing the fault.</xsd:documentation>
1612
+ </xsd:annotation>
1613
+ </xsd:element>
1614
+ </xsd:sequence>
1615
+ </xsd:complexType>
1616
+ <xsd:element name="ValidationDetail" nillable="true" type="tns:ValidationDetail"/>
1617
+ </xsd:schema>
1618
+ </wsdl:types>
1619
+ <wsdl:message name="CreateShipmentRequest">
1620
+ <wsdl:part xmlns:q2="http://purolator.com/pws/datatypes/v1" name="CreateShipmentRequest" element="q2:CreateShipmentRequest"/>
1621
+ </wsdl:message>
1622
+ <wsdl:message name="CreateShipmentRequest_Headers">
1623
+ <wsdl:part xmlns:q3="http://purolator.com/pws/datatypes/v1" name="RequestContext" element="q3:RequestContext"/>
1624
+ </wsdl:message>
1625
+ <wsdl:message name="CreateShipmentResponse">
1626
+ <wsdl:part xmlns:q4="http://purolator.com/pws/datatypes/v1" name="CreateShipmentResponse" element="q4:CreateShipmentResponse"/>
1627
+ </wsdl:message>
1628
+ <wsdl:message name="CreateShipmentResponse_Headers">
1629
+ <wsdl:part xmlns:q5="http://purolator.com/pws/datatypes/v1" name="ResponseContext" element="q5:ResponseContext"/>
1630
+ </wsdl:message>
1631
+ <wsdl:message name="ShippingServiceContract_CreateShipment_ValidationFaultFault_FaultMessage">
1632
+ <wsdl:part xmlns:q6="http://www.microsoft.com/practices/EnterpriseLibrary/2007/01/wcf/validation" name="detail" element="q6:ValidationFault"/>
1633
+ </wsdl:message>
1634
+ <wsdl:message name="VoidShipmentRequest">
1635
+ <wsdl:part xmlns:q7="http://purolator.com/pws/datatypes/v1" name="VoidShipmentRequest" element="q7:VoidShipmentRequest"/>
1636
+ </wsdl:message>
1637
+ <wsdl:message name="VoidShipmentRequest_Headers">
1638
+ <wsdl:part xmlns:q8="http://purolator.com/pws/datatypes/v1" name="RequestContext" element="q8:RequestContext"/>
1639
+ </wsdl:message>
1640
+ <wsdl:message name="VoidShipmentResponse">
1641
+ <wsdl:part xmlns:q9="http://purolator.com/pws/datatypes/v1" name="VoidShipmentResponse" element="q9:VoidShipmentResponse"/>
1642
+ </wsdl:message>
1643
+ <wsdl:message name="VoidShipmentResponse_Headers">
1644
+ <wsdl:part xmlns:q10="http://purolator.com/pws/datatypes/v1" name="ResponseContext" element="q10:ResponseContext"/>
1645
+ </wsdl:message>
1646
+ <wsdl:message name="ShippingServiceContract_VoidShipment_ValidationFaultFault_FaultMessage">
1647
+ <wsdl:part xmlns:q11="http://www.microsoft.com/practices/EnterpriseLibrary/2007/01/wcf/validation" name="detail" element="q11:ValidationFault"/>
1648
+ </wsdl:message>
1649
+ <wsdl:message name="ValidateShipmentRequest">
1650
+ <wsdl:part xmlns:q12="http://purolator.com/pws/datatypes/v1" name="ValidateShipmentRequest" element="q12:ValidateShipmentRequest"/>
1651
+ </wsdl:message>
1652
+ <wsdl:message name="ValidateShipmentRequest_Headers">
1653
+ <wsdl:part xmlns:q13="http://purolator.com/pws/datatypes/v1" name="RequestContext" element="q13:RequestContext"/>
1654
+ </wsdl:message>
1655
+ <wsdl:message name="ValidateShipmentResponse">
1656
+ <wsdl:part xmlns:q14="http://purolator.com/pws/datatypes/v1" name="ValidateShipmentResponse" element="q14:ValidateShipmentResponse"/>
1657
+ </wsdl:message>
1658
+ <wsdl:message name="ValidateShipmentResponse_Headers">
1659
+ <wsdl:part xmlns:q15="http://purolator.com/pws/datatypes/v1" name="ResponseContext" element="q15:ResponseContext"/>
1660
+ </wsdl:message>
1661
+ <wsdl:message name="ShippingServiceContract_ValidateShipment_ValidationFaultFault_FaultMessage">
1662
+ <wsdl:part xmlns:q16="http://www.microsoft.com/practices/EnterpriseLibrary/2007/01/wcf/validation" name="detail" element="q16:ValidationFault"/>
1663
+ </wsdl:message>
1664
+ <wsdl:message name="ConsolidateRequest">
1665
+ <wsdl:part xmlns:q17="http://purolator.com/pws/datatypes/v1" name="ConsolidateRequest" element="q17:ConsolidateRequest"/>
1666
+ </wsdl:message>
1667
+ <wsdl:message name="ConsolidateRequest_Headers">
1668
+ <wsdl:part xmlns:q18="http://purolator.com/pws/datatypes/v1" name="RequestContext" element="q18:RequestContext"/>
1669
+ </wsdl:message>
1670
+ <wsdl:message name="ConsolidateResponse">
1671
+ <wsdl:part xmlns:q19="http://purolator.com/pws/datatypes/v1" name="ConsolidateResponse" element="q19:ConsolidateResponse"/>
1672
+ </wsdl:message>
1673
+ <wsdl:message name="ConsolidateResponse_Headers">
1674
+ <wsdl:part xmlns:q20="http://purolator.com/pws/datatypes/v1" name="ResponseContext" element="q20:ResponseContext"/>
1675
+ </wsdl:message>
1676
+ <wsdl:message name="ShippingServiceContract_Consolidate_ValidationFaultFault_FaultMessage">
1677
+ <wsdl:part xmlns:q21="http://www.microsoft.com/practices/EnterpriseLibrary/2007/01/wcf/validation" name="detail" element="q21:ValidationFault"/>
1678
+ </wsdl:message>
1679
+ <wsdl:portType name="ShippingServiceContract">
1680
+ <wsdl:documentation>Service Contract Class - ShippingServiceContract</wsdl:documentation>
1681
+ <wsdl:operation name="CreateShipment">
1682
+ <wsdl:documentation>
1683
+ CreateShipment @param request CreateShipmentRequest @return CreateShipmentResponse
1684
+ </wsdl:documentation>
1685
+ <wsdl:input wsaw:Action="http://purolator.com/pws/service/v1/CreateShipment" name="CreateShipmentRequest" message="tns:CreateShipmentRequest"/>
1686
+ <wsdl:output wsaw:Action="http://purolator.com/pws/service/v1/ShippingServiceContract/CreateShipmentResponse" name="CreateShipmentResponse" message="tns:CreateShipmentResponse"/>
1687
+ <wsdl:fault wsaw:Action="http://purolator.com/pws/service/v1/ShippingServiceContract/CreateShipmentValidationFaultFault" name="ValidationFaultFault" message="tns:ShippingServiceContract_CreateShipment_ValidationFaultFault_FaultMessage"/>
1688
+ </wsdl:operation>
1689
+ <wsdl:operation name="VoidShipment">
1690
+ <wsdl:documentation>
1691
+ VoidShipment @param request VoidShipmentRequest @return VoidShipmentResponse
1692
+ </wsdl:documentation>
1693
+ <wsdl:input wsaw:Action="http://purolator.com/pws/service/v1/VoidShipment" name="VoidShipmentRequest" message="tns:VoidShipmentRequest"/>
1694
+ <wsdl:output wsaw:Action="http://purolator.com/pws/service/v1/ShippingServiceContract/VoidShipmentResponse" name="VoidShipmentResponse" message="tns:VoidShipmentResponse"/>
1695
+ <wsdl:fault wsaw:Action="http://purolator.com/pws/service/v1/ShippingServiceContract/VoidShipmentValidationFaultFault" name="ValidationFaultFault" message="tns:ShippingServiceContract_VoidShipment_ValidationFaultFault_FaultMessage"/>
1696
+ </wsdl:operation>
1697
+ <wsdl:operation name="ValidateShipment">
1698
+ <wsdl:documentation>
1699
+ ValidateShipment @param request ValidateShipmentRequest @return ValidateShipmentResponse
1700
+ </wsdl:documentation>
1701
+ <wsdl:input wsaw:Action="http://purolator.com/pws/service/v1/ValidateShipment" name="ValidateShipmentRequest" message="tns:ValidateShipmentRequest"/>
1702
+ <wsdl:output wsaw:Action="http://purolator.com/pws/service/v1/ShippingServiceContract/ValidateShipmentResponse" name="ValidateShipmentResponse" message="tns:ValidateShipmentResponse"/>
1703
+ <wsdl:fault wsaw:Action="http://purolator.com/pws/service/v1/ShippingServiceContract/ValidateShipmentValidationFaultFault" name="ValidationFaultFault" message="tns:ShippingServiceContract_ValidateShipment_ValidationFaultFault_FaultMessage"/>
1704
+ </wsdl:operation>
1705
+ <wsdl:operation name="Consolidate">
1706
+ <wsdl:documentation>
1707
+ Consolidate @param request ConsolidateRequest @return ConsolidateResponse
1708
+ </wsdl:documentation>
1709
+ <wsdl:input wsaw:Action="http://purolator.com/pws/service/v1/Consolidate" name="ConsolidateRequest" message="tns:ConsolidateRequest"/>
1710
+ <wsdl:output wsaw:Action="http://purolator.com/pws/service/v1/ShippingServiceContract/ConsolidateResponse" name="ConsolidateResponse" message="tns:ConsolidateResponse"/>
1711
+ <wsdl:fault wsaw:Action="http://purolator.com/pws/service/v1/ShippingServiceContract/ConsolidateValidationFaultFault" name="ValidationFaultFault" message="tns:ShippingServiceContract_Consolidate_ValidationFaultFault_FaultMessage"/>
1712
+ </wsdl:operation>
1713
+ </wsdl:portType>
1714
+ <wsdl:binding name="ShippingServiceEndpoint" type="tns:ShippingServiceContract">
1715
+ <soap:binding transport="http://schemas.xmlsoap.org/soap/http"/>
1716
+ <wsdl:operation name="CreateShipment">
1717
+ <soap:operation soapAction="http://purolator.com/pws/service/v1/CreateShipment" style="document"/>
1718
+ <wsdl:input name="CreateShipmentRequest">
1719
+ <soap:header message="tns:CreateShipmentRequest_Headers" part="RequestContext" use="literal"/>
1720
+ <soap:body use="literal"/>
1721
+ </wsdl:input>
1722
+ <wsdl:output name="CreateShipmentResponse">
1723
+ <soap:header message="tns:CreateShipmentResponse_Headers" part="ResponseContext" use="literal"/>
1724
+ <soap:body use="literal"/>
1725
+ </wsdl:output>
1726
+ <wsdl:fault name="ValidationFaultFault">
1727
+ <soap:fault name="ValidationFaultFault" use="literal"/>
1728
+ </wsdl:fault>
1729
+ </wsdl:operation>
1730
+ <wsdl:operation name="VoidShipment">
1731
+ <soap:operation soapAction="http://purolator.com/pws/service/v1/VoidShipment" style="document"/>
1732
+ <wsdl:input name="VoidShipmentRequest">
1733
+ <soap:header message="tns:VoidShipmentRequest_Headers" part="RequestContext" use="literal"/>
1734
+ <soap:body use="literal"/>
1735
+ </wsdl:input>
1736
+ <wsdl:output name="VoidShipmentResponse">
1737
+ <soap:header message="tns:VoidShipmentResponse_Headers" part="ResponseContext" use="literal"/>
1738
+ <soap:body use="literal"/>
1739
+ </wsdl:output>
1740
+ <wsdl:fault name="ValidationFaultFault">
1741
+ <soap:fault name="ValidationFaultFault" use="literal"/>
1742
+ </wsdl:fault>
1743
+ </wsdl:operation>
1744
+ <wsdl:operation name="ValidateShipment">
1745
+ <soap:operation soapAction="http://purolator.com/pws/service/v1/ValidateShipment" style="document"/>
1746
+ <wsdl:input name="ValidateShipmentRequest">
1747
+ <soap:header message="tns:ValidateShipmentRequest_Headers" part="RequestContext" use="literal"/>
1748
+ <soap:body use="literal"/>
1749
+ </wsdl:input>
1750
+ <wsdl:output name="ValidateShipmentResponse">
1751
+ <soap:header message="tns:ValidateShipmentResponse_Headers" part="ResponseContext" use="literal"/>
1752
+ <soap:body use="literal"/>
1753
+ </wsdl:output>
1754
+ <wsdl:fault name="ValidationFaultFault">
1755
+ <soap:fault name="ValidationFaultFault" use="literal"/>
1756
+ </wsdl:fault>
1757
+ </wsdl:operation>
1758
+ <wsdl:operation name="Consolidate">
1759
+ <soap:operation soapAction="http://purolator.com/pws/service/v1/Consolidate" style="document"/>
1760
+ <wsdl:input name="ConsolidateRequest">
1761
+ <soap:header message="tns:ConsolidateRequest_Headers" part="RequestContext" use="literal"/>
1762
+ <soap:body use="literal"/>
1763
+ </wsdl:input>
1764
+ <wsdl:output name="ConsolidateResponse">
1765
+ <soap:header message="tns:ConsolidateResponse_Headers" part="ResponseContext" use="literal"/>
1766
+ <soap:body use="literal"/>
1767
+ </wsdl:output>
1768
+ <wsdl:fault name="ValidationFaultFault">
1769
+ <soap:fault name="ValidationFaultFault" use="literal"/>
1770
+ </wsdl:fault>
1771
+ </wsdl:operation>
1772
+ </wsdl:binding>
1773
+ <wsdl:service name="ShippingService">
1774
+ <wsdl:port name="ShippingServiceEndpoint" binding="tns:ShippingServiceEndpoint">
1775
+ <soap:address location="https://devwebservices.purolator.com/EWS/V1/Shipping/ShippingService.asmx"/>
1776
+ </wsdl:port>
1777
+ </wsdl:service>
1778
+ </wsdl:definitions>