trackerific 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
data/lib/usps.rb ADDED
@@ -0,0 +1,56 @@
1
+ module Trackerific
2
+ require 'builder'
3
+ require 'httparty'
4
+
5
+ class USPS < Base
6
+ HTTP_PATH = '/ShippingAPITest.dll'
7
+ API = 'TrackV2'
8
+
9
+ def initialize(options = {})
10
+ super
11
+ @options = options
12
+ end
13
+
14
+ def required_options
15
+ [:user_id]
16
+ end
17
+
18
+ def track_package(package_id)
19
+ super
20
+ response = HTTP.get(HTTP_PATH, :query => {:API => API, :XML => build_xml_request}.to_query)
21
+ response.error! unless response.code == 200
22
+ raise Trackerific::Error, response['Error']['Description'] unless response['Error'].nil?
23
+ raise Trackerific::Error, "Tracking information not found in response from server." if response['TrackResponse'].nil?
24
+ tracking_info = response['TrackResponse']['TrackInfo']
25
+ {
26
+ :package_id => tracking_info['ID'],
27
+ :summary => tracking_info['TrackSummary'],
28
+ :details => tracking_info['TrackDetail']
29
+ }
30
+ end
31
+
32
+ protected
33
+
34
+ def build_xml_request
35
+ tracking_request = ""
36
+ builder = ::Builder::XmlMarkup.new(:target => tracking_request)
37
+ builder.TrackRequest(:USERID => @options[:user_id]) do |t|
38
+ t.TrackID(:ID => @package_id)
39
+ end
40
+ return tracking_request
41
+ end
42
+
43
+ private
44
+
45
+ class HTTP
46
+ include HTTParty
47
+ format :xml
48
+ base_uri case Rails.env
49
+ when 'test', 'development' then 'http://testing.shippingapis.com'
50
+ when 'production' then 'https://secure.shippingapis.com'
51
+ end
52
+ end
53
+
54
+ end
55
+
56
+ end
@@ -0,0 +1,1395 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:ns="http://fedex.com/ws/track/v4" xmlns:s1="http://schemas.xmlsoap.org/wsdl/soap/" targetNamespace="http://fedex.com/ws/track/v4" name="TrackServiceDefinitions">
3
+ <types>
4
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://fedex.com/ws/track/v4" elementFormDefault="qualified" attributeFormDefault="qualified">
5
+ <xs:element name="TrackRequest" type="ns:TrackRequest"/>
6
+ <xs:element name="TrackReply" type="ns:TrackReply"/>
7
+ <xs:element name="TrackNotificationRequest" type="ns:TrackNotificationRequest"/>
8
+ <xs:element name="TrackNotificationReply" type="ns:TrackNotificationReply"/>
9
+ <xs:element name="SignatureProofOfDeliveryFaxRequest" type="ns:SignatureProofOfDeliveryFaxRequest"/>
10
+ <xs:element name="SignatureProofOfDeliveryFaxReply" type="ns:SignatureProofOfDeliveryFaxReply"/>
11
+ <xs:element name="SignatureProofOfDeliveryLetterRequest" type="ns:SignatureProofOfDeliveryLetterRequest"/>
12
+ <xs:element name="SignatureProofOfDeliveryLetterReply" type="ns:SignatureProofOfDeliveryLetterReply"/>
13
+ <xs:complexType name="TrackRequest">
14
+ <xs:annotation>
15
+ <xs:documentation>The descriptive data sent by a client to track a FedEx package.</xs:documentation>
16
+ </xs:annotation>
17
+ <xs:sequence>
18
+ <xs:element name="WebAuthenticationDetail" type="ns:WebAuthenticationDetail" minOccurs="1">
19
+ <xs:annotation>
20
+ <xs:documentation>The descriptive data to be used in authentication of the sender's identity (and right to use FedEx web services).</xs:documentation>
21
+ </xs:annotation>
22
+ </xs:element>
23
+ <xs:element name="ClientDetail" type="ns:ClientDetail">
24
+ <xs:annotation>
25
+ <xs:documentation>The descriptive data identifying the client submitting the transaction.</xs:documentation>
26
+ </xs:annotation>
27
+ </xs:element>
28
+ <xs:element name="TransactionDetail" type="ns:TransactionDetail" minOccurs="0">
29
+ <xs:annotation>
30
+ <xs:documentation>Descriptive data that governs data payload language/translations. The TransactionDetail from the request is echoed back to the caller in the corresponding reply.</xs:documentation>
31
+ </xs:annotation>
32
+ </xs:element>
33
+ <xs:element name="Version" type="ns:VersionId">
34
+ <xs:annotation>
35
+ <xs:documentation>Identifies the version/level of a service operation expected by a caller (in each request) and performed by the callee (in each reply).</xs:documentation>
36
+ </xs:annotation>
37
+ </xs:element>
38
+ <xs:element name="CarrierCode" type="ns:CarrierCodeType" minOccurs="0">
39
+ <xs:annotation>
40
+ <xs:documentation>Not available at this time. For FedEx internal use only.</xs:documentation>
41
+ </xs:annotation>
42
+ </xs:element>
43
+ <xs:element name="PackageIdentifier" type="ns:TrackPackageIdentifier">
44
+ <xs:annotation>
45
+ <xs:documentation>Identifies the package that tracking information is being requested of.</xs:documentation>
46
+ </xs:annotation>
47
+ </xs:element>
48
+ <xs:element name="TrackingNumberUniqueIdentifier" type="xs:string" minOccurs="0">
49
+ <xs:annotation>
50
+ <xs:documentation>Required if a previous track-by-number response indicated that duplicates exist. The previous response will return summary information about the available choices along with this field. If it is desired to fully track one of the items returned in the duplicate summary reply, then the subsequent request must contain the tracking number and the paired unmodified unique ID. </xs:documentation>
51
+ </xs:annotation>
52
+ </xs:element>
53
+ <xs:element name="ShipDateRangeBegin" type="xs:date" minOccurs="0">
54
+ <xs:annotation>
55
+ <xs:documentation>Required entry of date range to find desired results for reference tracking number. If not provided, FedEx will default to a range that may not refine the search as needed. If provided, ShipDateRangeEnd is required.</xs:documentation>
56
+ </xs:annotation>
57
+ </xs:element>
58
+ <xs:element name="ShipDateRangeEnd" type="xs:date" minOccurs="0">
59
+ <xs:annotation>
60
+ <xs:documentation>If provided, ShipDateRangeBegin is required. Required entry of date range to find desired results for reference tracking number. If not provided, results may vary</xs:documentation>
61
+ </xs:annotation>
62
+ </xs:element>
63
+ <xs:element name="ShipmentAccountNumber" type="xs:string" minOccurs="0">
64
+ <xs:annotation>
65
+ <xs:documentation>Providing the ShipmentAccountNumber will return all packages matching the search value and associated with this account. If account is not specified, then the destination country and postal (applicable countries) is required. The Reply data may be restricted if ShipmentAccountNumber is not provided.</xs:documentation>
66
+ </xs:annotation>
67
+ </xs:element>
68
+ <xs:element name="Destination" type="ns:Address" minOccurs="0">
69
+ <xs:annotation>
70
+ <xs:documentation>The descriptive data for the physical location to which the shipment is destined.</xs:documentation>
71
+ </xs:annotation>
72
+ </xs:element>
73
+ <xs:element name="IncludeDetailedScans" type="xs:boolean" minOccurs="0">
74
+ <xs:annotation>
75
+ <xs:documentation>If false (the default) then reply will contain summary/profile data including current status. If true reply contains profile + detailed scan activity (multiple TrackDetail objects) for each package.</xs:documentation>
76
+ </xs:annotation>
77
+ </xs:element>
78
+ <xs:element name="PagingToken" type="xs:string" minOccurs="0">
79
+ <xs:annotation>
80
+ <xs:documentation>Required in order to obtain the additional data on second and subsequent track requests when more related tracking numbers exist that exceed the capacity of any one response structure. Should be absent from any first Track request. Populate PagingToken value with the contents returned in the previous reply PagingToken element. Populate TrackPackageIdentifier value with original request value.</xs:documentation>
81
+ </xs:annotation>
82
+ </xs:element>
83
+ </xs:sequence>
84
+ </xs:complexType>
85
+ <xs:complexType name="TrackReply">
86
+ <xs:annotation>
87
+ <xs:documentation>The descriptive data returned from a FedEx package tracking request.</xs:documentation>
88
+ </xs:annotation>
89
+ <xs:sequence>
90
+ <xs:element name="HighestSeverity" type="ns:NotificationSeverityType">
91
+ <xs:annotation>
92
+ <xs:documentation>Identifies the highest severity encountered when executing the request; in order from high to low: FAILURE, ERROR, WARNING, NOTE, SUCCESS.</xs:documentation>
93
+ </xs:annotation>
94
+ </xs:element>
95
+ <xs:element name="Notifications" type="ns:Notification" minOccurs="0" maxOccurs="unbounded">
96
+ <xs:annotation>
97
+ <xs:documentation>The descriptive data detailing the status of a submitted transaction.</xs:documentation>
98
+ </xs:annotation>
99
+ </xs:element>
100
+ <xs:element name="TransactionDetail" type="ns:TransactionDetail" minOccurs="0">
101
+ <xs:annotation>
102
+ <xs:documentation>Descriptive data that governs data payload language/translations. The TransactionDetail from the request is echoed back to the caller in the corresponding reply.</xs:documentation>
103
+ </xs:annotation>
104
+ </xs:element>
105
+ <xs:element name="Version" type="ns:VersionId" minOccurs="0">
106
+ <xs:annotation>
107
+ <xs:documentation>Identifies the version/level of a service operation expected by a caller (in each request) and performed by the callee (in each reply).</xs:documentation>
108
+ </xs:annotation>
109
+ </xs:element>
110
+ <xs:element name="DuplicateWaybill" type="xs:boolean" minOccurs="0">
111
+ <xs:annotation>
112
+ <xs:documentation>True if duplicates exist that requires further request detail to qualify the specific shipment. Returned if a track by number results in duplicates</xs:documentation>
113
+ </xs:annotation>
114
+ </xs:element>
115
+ <xs:element name="MoreData" type="xs:boolean" minOccurs="0">
116
+ <xs:annotation>
117
+ <xs:documentation>True if more data exists. Returned if a track by number results in duplicates.</xs:documentation>
118
+ </xs:annotation>
119
+ </xs:element>
120
+ <xs:element name="PagingToken" type="xs:string" minOccurs="0">
121
+ <xs:annotation>
122
+ <xs:documentation>Populated in the response when more related tracking information exist that exceed the capacity of any one response structure. Client should populate PagingToken value in subsequent track requests with the value returned in the previous reply. DO not modify the field value. Returned if a track by number results in duplicates.</xs:documentation>
123
+ </xs:annotation>
124
+ </xs:element>
125
+ <xs:element name="TrackDetails" type="ns:TrackDetail" minOccurs="0" maxOccurs="unbounded">
126
+ <xs:annotation>
127
+ <xs:documentation>Holds detailed tracking information for the requested package.</xs:documentation>
128
+ </xs:annotation>
129
+ </xs:element>
130
+ </xs:sequence>
131
+ </xs:complexType>
132
+ <xs:complexType name="TrackSplitShipmentPart">
133
+ <xs:annotation>
134
+ <xs:documentation>Returned for cargo shipments only when they are currently split across vehicles.</xs:documentation>
135
+ </xs:annotation>
136
+ <xs:sequence>
137
+ <xs:element name="PieceCount" type="xs:int" minOccurs="0">
138
+ <xs:annotation>
139
+ <xs:documentation>Number of pieces/skids traveling together.</xs:documentation>
140
+ </xs:annotation>
141
+ </xs:element>
142
+ <xs:element name="Timestamp" type="xs:dateTime" minOccurs="0">
143
+ <xs:annotation>
144
+ <xs:documentation>Time this package was delivered.</xs:documentation>
145
+ </xs:annotation>
146
+ </xs:element>
147
+ <xs:element name="StatusCode" type="xs:string" minOccurs="0">
148
+ <xs:annotation>
149
+ <xs:documentation>The most recent status code for this specific split.</xs:documentation>
150
+ </xs:annotation>
151
+ </xs:element>
152
+ <xs:element name="StatusDescription" type="xs:string" minOccurs="0">
153
+ <xs:annotation>
154
+ <xs:documentation>The most recent status description for a specific split.</xs:documentation>
155
+ </xs:annotation>
156
+ </xs:element>
157
+ </xs:sequence>
158
+ </xs:complexType>
159
+ <xs:complexType name="TrackReconciliation">
160
+ <xs:annotation>
161
+ <xs:documentation/>
162
+ </xs:annotation>
163
+ <xs:sequence>
164
+ <xs:element name="Status" type="xs:string">
165
+ <xs:annotation>
166
+ <xs:documentation/>
167
+ </xs:annotation>
168
+ </xs:element>
169
+ <xs:element name="Description" type="xs:string">
170
+ <xs:annotation>
171
+ <xs:documentation/>
172
+ </xs:annotation>
173
+ </xs:element>
174
+ </xs:sequence>
175
+ </xs:complexType>
176
+ <xs:complexType name="TrackNotificationRequest">
177
+ <xs:annotation>
178
+ <xs:documentation>FedEx Track Notification request.</xs:documentation>
179
+ </xs:annotation>
180
+ <xs:sequence>
181
+ <xs:element name="WebAuthenticationDetail" type="ns:WebAuthenticationDetail" minOccurs="1">
182
+ <xs:annotation>
183
+ <xs:documentation>The descriptive data to be used in authentication of the sender's identity (and right to use FedEx web services).</xs:documentation>
184
+ </xs:annotation>
185
+ </xs:element>
186
+ <xs:element name="ClientDetail" type="ns:ClientDetail">
187
+ <xs:annotation>
188
+ <xs:documentation>The descriptive data identifying the client submitting the transaction.</xs:documentation>
189
+ </xs:annotation>
190
+ </xs:element>
191
+ <xs:element name="TransactionDetail" type="ns:TransactionDetail" minOccurs="0">
192
+ <xs:annotation>
193
+ <xs:documentation>The descriptive data for this customer transaction. The TransactionDetail from the request is echoed back to the caller in the corresponding reply.</xs:documentation>
194
+ </xs:annotation>
195
+ </xs:element>
196
+ <xs:element name="Version" type="ns:VersionId">
197
+ <xs:annotation>
198
+ <xs:documentation>Identifies the version/level of a service operation expected by a caller (in each request) and performed by the callee (in each reply).</xs:documentation>
199
+ </xs:annotation>
200
+ </xs:element>
201
+ <xs:element name="TrackingNumber" type="xs:string">
202
+ <xs:annotation>
203
+ <xs:documentation>Tracking number.</xs:documentation>
204
+ </xs:annotation>
205
+ </xs:element>
206
+ <xs:element name="MultiPiece" type="xs:boolean" minOccurs="0">
207
+ <xs:annotation>
208
+ <xs:documentation>Indicates whether to return tracking information for all associated packages.</xs:documentation>
209
+ </xs:annotation>
210
+ </xs:element>
211
+ <xs:element name="PagingToken" type="xs:string" minOccurs="0">
212
+ <xs:annotation>
213
+ <xs:documentation>To obtain additional data on second and subsequent TrackNotification requests.Client must submit this value in subsequent track requests in order to obtain next page of data. Must contain at least four characters.</xs:documentation>
214
+ </xs:annotation>
215
+ </xs:element>
216
+ <xs:element name="TrackingNumberUniqueId" type="xs:string" minOccurs="0">
217
+ <xs:annotation>
218
+ <xs:documentation>Populate only if the TrackingNumberUniqueId is known from a previous Tracking request or an Email notifications request that resulted in a duplicate reply.</xs:documentation>
219
+ </xs:annotation>
220
+ </xs:element>
221
+ <xs:element name="ShipDateRangeBegin" type="xs:date" minOccurs="0">
222
+ <xs:annotation>
223
+ <xs:documentation>Recommend providing date range to find desired track number by limiting the results to this range. If not provided FedEx will default to a range that may not be useful for the search.</xs:documentation>
224
+ </xs:annotation>
225
+ </xs:element>
226
+ <xs:element name="ShipDateRangeEnd" type="xs:date" minOccurs="0">
227
+ <xs:annotation>
228
+ <xs:documentation>If provided, ShipDateRangeBegin is required. </xs:documentation>
229
+ </xs:annotation>
230
+ </xs:element>
231
+ <xs:element name="SenderEMailAddress" type="xs:string">
232
+ <xs:annotation>
233
+ <xs:documentation>Included in the notification identifying the requester of this notification.</xs:documentation>
234
+ </xs:annotation>
235
+ </xs:element>
236
+ <xs:element name="SenderContactName" type="xs:string">
237
+ <xs:annotation>
238
+ <xs:documentation>Included in the notification identifying the requester of this notification.</xs:documentation>
239
+ </xs:annotation>
240
+ </xs:element>
241
+ <xs:element name="NotificationDetail" type="ns:EMailNotificationDetail">
242
+ <xs:annotation>
243
+ <xs:documentation>Email notification details.</xs:documentation>
244
+ </xs:annotation>
245
+ </xs:element>
246
+ </xs:sequence>
247
+ </xs:complexType>
248
+ <xs:complexType name="TrackNotificationReply">
249
+ <xs:annotation>
250
+ <xs:documentation>FedEx Track Notification reply.</xs:documentation>
251
+ </xs:annotation>
252
+ <xs:sequence>
253
+ <xs:element name="HighestSeverity" type="ns:NotificationSeverityType">
254
+ <xs:annotation>
255
+ <xs:documentation>Identifies the highest severity encountered when executing the request; in order from high to low: FAILURE, ERROR, WARNING, NOTE, SUCCESS.</xs:documentation>
256
+ </xs:annotation>
257
+ </xs:element>
258
+ <xs:element name="Notifications" type="ns:Notification" maxOccurs="unbounded">
259
+ <xs:annotation>
260
+ <xs:documentation>The descriptive data detailing the status of a submitted transaction.</xs:documentation>
261
+ </xs:annotation>
262
+ </xs:element>
263
+ <xs:element name="TransactionDetail" type="ns:TransactionDetail" minOccurs="0">
264
+ <xs:annotation>
265
+ <xs:documentation>Descriptive data that governs data payload language/translations. The TransactionDetail from the request is echoed back to the caller in the corresponding reply.</xs:documentation>
266
+ </xs:annotation>
267
+ </xs:element>
268
+ <xs:element name="Version" type="ns:VersionId" minOccurs="0">
269
+ <xs:annotation>
270
+ <xs:documentation>Identifies the version/level of a service operation expected by a caller (in each request) and performed by the callee (in each reply).</xs:documentation>
271
+ </xs:annotation>
272
+ </xs:element>
273
+ <xs:element name="DuplicateWaybill" type="xs:boolean" minOccurs="0">
274
+ <xs:annotation>
275
+ <xs:documentation>True if duplicate packages with the same tracking number have been found, and only limited data will be provided for each one.</xs:documentation>
276
+ </xs:annotation>
277
+ </xs:element>
278
+ <xs:element name="MoreDataAvailable" type="xs:boolean" minOccurs="0">
279
+ <xs:annotation>
280
+ <xs:documentation>True if additional packages remain to be retrieved.</xs:documentation>
281
+ </xs:annotation>
282
+ </xs:element>
283
+ <xs:element name="PagingToken" type="xs:string" minOccurs="0">
284
+ <xs:annotation>
285
+ <xs:documentation>Value that must be passed in a TrackNotification request to retrieve the next set of packages.</xs:documentation>
286
+ </xs:annotation>
287
+ </xs:element>
288
+ <xs:element name="Packages" type="ns:TrackNotificationPackage" minOccurs="0" maxOccurs="unbounded">
289
+ <xs:annotation>
290
+ <xs:documentation>Data pertaining to packages.</xs:documentation>
291
+ </xs:annotation>
292
+ </xs:element>
293
+ </xs:sequence>
294
+ </xs:complexType>
295
+ <xs:complexType name="SignatureProofOfDeliveryFaxRequest">
296
+ <xs:annotation>
297
+ <xs:documentation>FedEx Signature Proof Of Delivery Fax request.</xs:documentation>
298
+ </xs:annotation>
299
+ <xs:sequence>
300
+ <xs:element name="WebAuthenticationDetail" type="ns:WebAuthenticationDetail" minOccurs="1">
301
+ <xs:annotation>
302
+ <xs:documentation>The descriptive data to be used in authentication of the sender's identity (and right to use FedEx web services).</xs:documentation>
303
+ </xs:annotation>
304
+ </xs:element>
305
+ <xs:element name="ClientDetail" type="ns:ClientDetail">
306
+ <xs:annotation>
307
+ <xs:documentation>The descriptive data identifying the client submitting the transaction.</xs:documentation>
308
+ </xs:annotation>
309
+ </xs:element>
310
+ <xs:element name="TransactionDetail" type="ns:TransactionDetail" minOccurs="0">
311
+ <xs:annotation>
312
+ <xs:documentation>The descriptive data for this customer transaction. The TransactionDetail from the request is echoed back to the caller in the corresponding reply.</xs:documentation>
313
+ </xs:annotation>
314
+ </xs:element>
315
+ <xs:element name="Version" type="ns:VersionId">
316
+ <xs:annotation>
317
+ <xs:documentation>Identifies the version/level of a service operation expected by a caller (in each request) and performed by the callee (in each reply).</xs:documentation>
318
+ </xs:annotation>
319
+ </xs:element>
320
+ <xs:element name="QualifiedTrackingNumber" type="ns:QualifiedTrackingNumber" minOccurs="0">
321
+ <xs:annotation>
322
+ <xs:documentation>Tracking number and additional shipment data used to identify a unique shipment for proof of delivery.</xs:documentation>
323
+ </xs:annotation>
324
+ </xs:element>
325
+ <xs:element name="AdditionalComments" type="xs:string" minOccurs="0">
326
+ <xs:annotation>
327
+ <xs:documentation>More information.</xs:documentation>
328
+ </xs:annotation>
329
+ </xs:element>
330
+ <xs:element name="FaxSender" type="ns:ContactAndAddress" minOccurs="0"/>
331
+ <xs:element name="FaxRecipient" type="ns:ContactAndAddress" minOccurs="0">
332
+ <xs:annotation>
333
+ <xs:documentation>Identifies the recipient's fax details.</xs:documentation>
334
+ </xs:annotation>
335
+ </xs:element>
336
+ </xs:sequence>
337
+ </xs:complexType>
338
+ <xs:complexType name="SignatureProofOfDeliveryFaxReply">
339
+ <xs:annotation>
340
+ <xs:documentation>FedEx Signature Proof Of Delivery Fax reply.</xs:documentation>
341
+ </xs:annotation>
342
+ <xs:sequence>
343
+ <xs:element name="HighestSeverity" type="ns:NotificationSeverityType">
344
+ <xs:annotation>
345
+ <xs:documentation>Identifies the highest severity encountered when executing the request; in order from high to low: FAILURE, ERROR, WARNING, NOTE, SUCCESS.</xs:documentation>
346
+ </xs:annotation>
347
+ </xs:element>
348
+ <xs:element name="Notifications" type="ns:Notification" maxOccurs="unbounded">
349
+ <xs:annotation>
350
+ <xs:documentation>The descriptive data detailing the status of a submitted transaction.</xs:documentation>
351
+ </xs:annotation>
352
+ </xs:element>
353
+ <xs:element name="TransactionDetail" type="ns:TransactionDetail" minOccurs="0">
354
+ <xs:annotation>
355
+ <xs:documentation>Descriptive data that governs data payload language/translations. The TransactionDetail from the request is echoed back to the caller in the corresponding reply.</xs:documentation>
356
+ </xs:annotation>
357
+ </xs:element>
358
+ <xs:element name="Version" type="ns:VersionId" minOccurs="0">
359
+ <xs:annotation>
360
+ <xs:documentation>Identifies the version/level of a service operation expected by a caller (in each request) and performed by the callee (in each reply).</xs:documentation>
361
+ </xs:annotation>
362
+ </xs:element>
363
+ <xs:element name="FaxConfirmationNumber" type="xs:string" minOccurs="0">
364
+ <xs:annotation>
365
+ <xs:documentation>Confirmation of fax transmission.</xs:documentation>
366
+ </xs:annotation>
367
+ </xs:element>
368
+ </xs:sequence>
369
+ </xs:complexType>
370
+ <xs:complexType name="SignatureProofOfDeliveryLetterRequest">
371
+ <xs:annotation>
372
+ <xs:documentation>FedEx Signature Proof Of Delivery Letter request.</xs:documentation>
373
+ </xs:annotation>
374
+ <xs:sequence>
375
+ <xs:element name="WebAuthenticationDetail" type="ns:WebAuthenticationDetail" minOccurs="1">
376
+ <xs:annotation>
377
+ <xs:documentation>The descriptive data to be used in authentication of the sender's identity (and right to use FedEx web services).</xs:documentation>
378
+ </xs:annotation>
379
+ </xs:element>
380
+ <xs:element name="ClientDetail" type="ns:ClientDetail">
381
+ <xs:annotation>
382
+ <xs:documentation>The descriptive data identifying the client submitting the transaction.</xs:documentation>
383
+ </xs:annotation>
384
+ </xs:element>
385
+ <xs:element name="TransactionDetail" type="ns:TransactionDetail" minOccurs="0">
386
+ <xs:annotation>
387
+ <xs:documentation>The descriptive data for this customer transaction. The TransactionDetail from the request is echoed back to the caller in the corresponding reply.</xs:documentation>
388
+ </xs:annotation>
389
+ </xs:element>
390
+ <xs:element name="Version" type="ns:VersionId">
391
+ <xs:annotation>
392
+ <xs:documentation>Identifies the version/level of a service operation expected by a caller (in each request) and performed by the callee (in each reply).</xs:documentation>
393
+ </xs:annotation>
394
+ </xs:element>
395
+ <xs:element name="QualifiedTrackingNumber" type="ns:QualifiedTrackingNumber" minOccurs="0">
396
+ <xs:annotation>
397
+ <xs:documentation>Tracking number and additional shipment data used to identify a unique shipment for proof of delivery.</xs:documentation>
398
+ </xs:annotation>
399
+ </xs:element>
400
+ <xs:element name="AdditionalComments" type="xs:string" minOccurs="0">
401
+ <xs:annotation>
402
+ <xs:documentation>More information.</xs:documentation>
403
+ </xs:annotation>
404
+ </xs:element>
405
+ <xs:element name="LetterFormat" type="ns:SignatureProofOfDeliveryImageType" minOccurs="0">
406
+ <xs:annotation>
407
+ <xs:documentation> Must be specified when type is LETTER.</xs:documentation>
408
+ </xs:annotation>
409
+ </xs:element>
410
+ <xs:element name="Consignee" type="ns:ContactAndAddress" minOccurs="0">
411
+ <xs:annotation>
412
+ <xs:documentation>Information to be substituted for recipient information in letter. The actual delivery details will be available by default.</xs:documentation>
413
+ </xs:annotation>
414
+ </xs:element>
415
+ </xs:sequence>
416
+ </xs:complexType>
417
+ <xs:complexType name="SignatureProofOfDeliveryLetterReply">
418
+ <xs:annotation>
419
+ <xs:documentation>FedEx Signature Proof Of Delivery Letter reply.</xs:documentation>
420
+ </xs:annotation>
421
+ <xs:sequence>
422
+ <xs:element name="HighestSeverity" type="ns:NotificationSeverityType">
423
+ <xs:annotation>
424
+ <xs:documentation>Identifies the highest severity encountered when executing the request; in order from high to low: FAILURE, ERROR, WARNING, NOTE, SUCCESS.</xs:documentation>
425
+ </xs:annotation>
426
+ </xs:element>
427
+ <xs:element name="Notifications" type="ns:Notification" maxOccurs="unbounded">
428
+ <xs:annotation>
429
+ <xs:documentation>The descriptive data detailing the status of a submitted transaction.</xs:documentation>
430
+ </xs:annotation>
431
+ </xs:element>
432
+ <xs:element name="TransactionDetail" type="ns:TransactionDetail" minOccurs="0">
433
+ <xs:annotation>
434
+ <xs:documentation>Descriptive data that governs data payload language/translations. The TransactionDetail from the request is echoed back to the caller in the corresponding reply.</xs:documentation>
435
+ </xs:annotation>
436
+ </xs:element>
437
+ <xs:element name="Version" type="ns:VersionId" minOccurs="0">
438
+ <xs:annotation>
439
+ <xs:documentation>Identifies the version/level of a service operation expected by a caller (in each request) and performed by the callee (in each reply).</xs:documentation>
440
+ </xs:annotation>
441
+ </xs:element>
442
+ <xs:element name="Letter" type="xs:base64Binary" minOccurs="0">
443
+ <xs:annotation>
444
+ <xs:documentation>Base64-encoded SPOD Letter.</xs:documentation>
445
+ </xs:annotation>
446
+ </xs:element>
447
+ </xs:sequence>
448
+ </xs:complexType>
449
+ <xs:complexType name="TrackNotificationPackage">
450
+ <xs:annotation>
451
+ <xs:documentation/>
452
+ </xs:annotation>
453
+ <xs:sequence>
454
+ <xs:element name="TrackingNumber" type="xs:string" minOccurs="0">
455
+ <xs:annotation>
456
+ <xs:documentation/>
457
+ </xs:annotation>
458
+ </xs:element>
459
+ <xs:element name="TrackingNumberUniqueIdentifiers" type="xs:string" minOccurs="0">
460
+ <xs:annotation>
461
+ <xs:documentation/>
462
+ </xs:annotation>
463
+ </xs:element>
464
+ <xs:element name="CarrierCode" type="ns:CarrierCodeType" minOccurs="0">
465
+ <xs:annotation>
466
+ <xs:documentation/>
467
+ </xs:annotation>
468
+ </xs:element>
469
+ <xs:element name="ShipDate" type="xs:date" minOccurs="0">
470
+ <xs:annotation>
471
+ <xs:documentation/>
472
+ </xs:annotation>
473
+ </xs:element>
474
+ <xs:element name="Destination" type="ns:Address" minOccurs="0">
475
+ <xs:annotation>
476
+ <xs:documentation/>
477
+ </xs:annotation>
478
+ </xs:element>
479
+ <xs:element name="RecipientDetails" type="ns:TrackNotificationRecipientDetail" minOccurs="0" maxOccurs="unbounded">
480
+ <xs:annotation>
481
+ <xs:documentation/>
482
+ </xs:annotation>
483
+ </xs:element>
484
+ </xs:sequence>
485
+ </xs:complexType>
486
+ <xs:complexType name="TrackNotificationRecipientDetail">
487
+ <xs:annotation>
488
+ <xs:documentation/>
489
+ </xs:annotation>
490
+ <xs:sequence>
491
+ <xs:element name="NotifyOnDelivery" type="xs:boolean" minOccurs="0">
492
+ <xs:annotation>
493
+ <xs:documentation/>
494
+ </xs:annotation>
495
+ </xs:element>
496
+ <xs:element name="NotifyOnException" type="xs:boolean" minOccurs="0">
497
+ <xs:annotation>
498
+ <xs:documentation/>
499
+ </xs:annotation>
500
+ </xs:element>
501
+ </xs:sequence>
502
+ </xs:complexType>
503
+ <xs:complexType name="EMailNotificationDetail">
504
+ <xs:annotation>
505
+ <xs:documentation/>
506
+ </xs:annotation>
507
+ <xs:sequence>
508
+ <xs:element name="PersonalMessage" type="xs:string" minOccurs="0">
509
+ <xs:annotation>
510
+ <xs:documentation>Personal messages are not applicable with wireless formatted notifications. UTF-8 encoded message.</xs:documentation>
511
+ </xs:annotation>
512
+ </xs:element>
513
+ <xs:element name="Recipients" type="ns:EMailNotificationRecipient" minOccurs="1" maxOccurs="unbounded">
514
+ <xs:annotation>
515
+ <xs:documentation>Currently up to a maximum of 6 email combinations are supported.</xs:documentation>
516
+ </xs:annotation>
517
+ </xs:element>
518
+ </xs:sequence>
519
+ </xs:complexType>
520
+ <xs:complexType name="EMailNotificationRecipient">
521
+ <xs:annotation>
522
+ <xs:documentation/>
523
+ </xs:annotation>
524
+ <xs:sequence>
525
+ <xs:element name="EMailAddress" type="xs:string">
526
+ <xs:annotation>
527
+ <xs:documentation/>
528
+ </xs:annotation>
529
+ </xs:element>
530
+ <xs:element name="NotifyOnException" type="xs:boolean" minOccurs="0">
531
+ <xs:annotation>
532
+ <xs:documentation/>
533
+ </xs:annotation>
534
+ </xs:element>
535
+ <xs:element name="NotifyOnDelivery" type="xs:boolean" minOccurs="0">
536
+ <xs:annotation>
537
+ <xs:documentation/>
538
+ </xs:annotation>
539
+ </xs:element>
540
+ <xs:element name="Format" type="ns:EMailNotificationFormatType">
541
+ <xs:annotation>
542
+ <xs:documentation/>
543
+ </xs:annotation>
544
+ </xs:element>
545
+ <xs:element name="Localization" type="ns:Localization" minOccurs="0">
546
+ <xs:annotation>
547
+ <xs:documentation/>
548
+ </xs:annotation>
549
+ </xs:element>
550
+ </xs:sequence>
551
+ </xs:complexType>
552
+ <xs:complexType name="Address">
553
+ <xs:annotation>
554
+ <xs:documentation>The descriptive data for a physical location.</xs:documentation>
555
+ </xs:annotation>
556
+ <xs:sequence>
557
+ <xs:element name="StreetLines" type="xs:string" minOccurs="0" maxOccurs="2">
558
+ <xs:annotation>
559
+ <xs:documentation>Combination of number, street name, etc. At least one line is required for a valid physical address; empty lines should not be included.</xs:documentation>
560
+ </xs:annotation>
561
+ </xs:element>
562
+ <xs:element name="City" type="xs:string" minOccurs="0">
563
+ <xs:annotation>
564
+ <xs:documentation>Name of city, town, etc.</xs:documentation>
565
+ </xs:annotation>
566
+ </xs:element>
567
+ <xs:element name="StateOrProvinceCode" type="xs:string" minOccurs="0">
568
+ <xs:annotation>
569
+ <xs:documentation>Identifying abbreviation for US state, Canada province, etc. Format and presence of this field will vary, depending on country. This element is required if PostalCode is not present.</xs:documentation>
570
+ </xs:annotation>
571
+ </xs:element>
572
+ <xs:element name="PostalCode" type="xs:string" minOccurs="0">
573
+ <xs:annotation>
574
+ <xs:documentation>Identification of a region (usually small) for mail/package delivery. Format and presence of this field will vary, depending on country. This element is required if both the City and StateOrProvinceCode are not present.</xs:documentation>
575
+ </xs:annotation>
576
+ </xs:element>
577
+ <xs:element name="UrbanizationCode" type="xs:string" minOccurs="0">
578
+ <xs:annotation>
579
+ <xs:documentation>Currently not supported.</xs:documentation>
580
+ </xs:annotation>
581
+ </xs:element>
582
+ <xs:element name="CountryCode" type="xs:string" minOccurs="0">
583
+ <xs:annotation>
584
+ <xs:documentation>Identification of a country.</xs:documentation>
585
+ </xs:annotation>
586
+ </xs:element>
587
+ <xs:element name="Residential" type="xs:boolean" minOccurs="0">
588
+ <xs:annotation>
589
+ <xs:documentation>Currently not supported.</xs:documentation>
590
+ </xs:annotation>
591
+ </xs:element>
592
+ </xs:sequence>
593
+ </xs:complexType>
594
+ <xs:simpleType name="CarrierCodeType">
595
+ <xs:annotation>
596
+ <xs:documentation>Identification of a FedEx operating company (transportation).</xs:documentation>
597
+ </xs:annotation>
598
+ <xs:restriction base="xs:string">
599
+ <xs:enumeration value="FDXC"/>
600
+ <xs:enumeration value="FDXE"/>
601
+ <xs:enumeration value="FDXG"/>
602
+ <xs:enumeration value="FXCC"/>
603
+ <xs:enumeration value="FXFR"/>
604
+ <xs:enumeration value="FXSP"/>
605
+ </xs:restriction>
606
+ </xs:simpleType>
607
+ <xs:complexType name="ClientDetail">
608
+ <xs:annotation>
609
+ <xs:documentation>The descriptive data identifying the client submitting the transaction.</xs:documentation>
610
+ </xs:annotation>
611
+ <xs:sequence>
612
+ <xs:element name="AccountNumber" type="xs:string">
613
+ <xs:annotation>
614
+ <xs:documentation>The FedEx account number assigned to the customer initiating the request.</xs:documentation>
615
+ </xs:annotation>
616
+ </xs:element>
617
+ <xs:element name="MeterNumber" type="xs:string">
618
+ <xs:annotation>
619
+ <xs:documentation>Identifies the unique client device submitting the request. This number is assigned by FedEx and identifies the unique device from which the request is originating.</xs:documentation>
620
+ </xs:annotation>
621
+ </xs:element>
622
+ <xs:element name="IntegratorId" type="xs:string" minOccurs="0">
623
+ <xs:annotation>
624
+ <xs:documentation>FedEx Office Integrator Id</xs:documentation>
625
+ </xs:annotation>
626
+ </xs:element>
627
+ <xs:element name="Localization" type="ns:Localization" minOccurs="0">
628
+ <xs:annotation>
629
+ <xs:documentation>Governs any future language/translations used for human-readable Notification.localizedMessages in responses to the request containing this ClientDetail object. Different requests from the same client may contain different Localization data. (Contrast with TransactionDetail.localization, which governs data payload language/translation.)</xs:documentation>
630
+ </xs:annotation>
631
+ </xs:element>
632
+ </xs:sequence>
633
+ </xs:complexType>
634
+ <xs:complexType name="Distance">
635
+ <xs:annotation>
636
+ <xs:documentation>The descriptive data that defines the extent of space between two objects or places.</xs:documentation>
637
+ </xs:annotation>
638
+ <xs:sequence>
639
+ <xs:element name="Value" type="xs:decimal" minOccurs="0">
640
+ <xs:annotation>
641
+ <xs:documentation>Identifies the distance quantity.</xs:documentation>
642
+ </xs:annotation>
643
+ </xs:element>
644
+ <xs:element name="Units" type="ns:DistanceUnits" minOccurs="0">
645
+ <xs:annotation>
646
+ <xs:documentation>Identifies the unit of measure for the distance value.</xs:documentation>
647
+ </xs:annotation>
648
+ </xs:element>
649
+ </xs:sequence>
650
+ </xs:complexType>
651
+ <xs:simpleType name="DistanceUnits">
652
+ <xs:annotation>
653
+ <xs:documentation>Identifies the collection of units of measure that can be associated with a distance value.</xs:documentation>
654
+ </xs:annotation>
655
+ <xs:restriction base="xs:string">
656
+ <xs:enumeration value="KM"/>
657
+ <xs:enumeration value="MI"/>
658
+ </xs:restriction>
659
+ </xs:simpleType>
660
+ <xs:complexType name="Localization">
661
+ <xs:annotation>
662
+ <xs:documentation>The descriptive data for the local language and locale (i.e. country).</xs:documentation>
663
+ </xs:annotation>
664
+ <xs:sequence>
665
+ <xs:element name="LanguageCode" type="xs:string">
666
+ <xs:annotation>
667
+ <xs:documentation>Identifies the language to use for human-readable messages.</xs:documentation>
668
+ </xs:annotation>
669
+ </xs:element>
670
+ <xs:element name="LocaleCode" type="xs:string" minOccurs="0">
671
+ <xs:annotation>
672
+ <xs:documentation>Identifies the locale (i.e. country code).</xs:documentation>
673
+ </xs:annotation>
674
+ </xs:element>
675
+ </xs:sequence>
676
+ </xs:complexType>
677
+ <xs:complexType name="Notification">
678
+ <xs:annotation>
679
+ <xs:documentation>The descriptive data regarding the results of the submitted transaction.</xs:documentation>
680
+ </xs:annotation>
681
+ <xs:sequence>
682
+ <xs:element name="Severity" type="ns:NotificationSeverityType">
683
+ <xs:annotation>
684
+ <xs:documentation>Identifies the severity of the Notification item. See NotificationSeverityType for list of returned values.</xs:documentation>
685
+ </xs:annotation>
686
+ </xs:element>
687
+ <xs:element name="Source" type="xs:string">
688
+ <xs:annotation>
689
+ <xs:documentation>Identifies the source - what FedEx system, sub-system, or component generated the Notification item.</xs:documentation>
690
+ </xs:annotation>
691
+ </xs:element>
692
+ <xs:element name="Code" type="xs:string" minOccurs="0">
693
+ <xs:annotation>
694
+ <xs:documentation>Identifies the error code generated by the FedEx system, sub-system or component.</xs:documentation>
695
+ </xs:annotation>
696
+ </xs:element>
697
+ <xs:element name="Message" type="xs:string" minOccurs="0">
698
+ <xs:annotation>
699
+ <xs:documentation>Identifies the error message text.</xs:documentation>
700
+ </xs:annotation>
701
+ </xs:element>
702
+ <xs:element name="LocalizedMessage" type="xs:string" minOccurs="0">
703
+ <xs:annotation>
704
+ <xs:documentation>Identifies the error message text in the localization requested. Currently not supported.</xs:documentation>
705
+ </xs:annotation>
706
+ </xs:element>
707
+ <xs:element name="MessageParameters" type="ns:NotificationParameter" minOccurs="0" maxOccurs="unbounded">
708
+ <xs:annotation>
709
+ <xs:documentation>Used internally by FedEx systems for message translation.</xs:documentation>
710
+ </xs:annotation>
711
+ </xs:element>
712
+ </xs:sequence>
713
+ </xs:complexType>
714
+ <xs:complexType name="NotificationParameter">
715
+ <xs:sequence>
716
+ <xs:element name="Id" type="xs:string" minOccurs="0">
717
+ <xs:annotation>
718
+ <xs:documentation>Name identifying the type of the data in the element 'Value'.</xs:documentation>
719
+ </xs:annotation>
720
+ </xs:element>
721
+ <xs:element name="Value" type="xs:string" minOccurs="0">
722
+ <xs:annotation>
723
+ <xs:documentation>The value that was used as the replacement parameter.</xs:documentation>
724
+ </xs:annotation>
725
+ </xs:element>
726
+ </xs:sequence>
727
+ </xs:complexType>
728
+ <xs:simpleType name="NotificationSeverityType">
729
+ <xs:annotation>
730
+ <xs:documentation>Identifies the set of severity values for a Notification.</xs:documentation>
731
+ </xs:annotation>
732
+ <xs:restriction base="xs:string">
733
+ <xs:enumeration value="ERROR"/>
734
+ <xs:enumeration value="FAILURE"/>
735
+ <xs:enumeration value="NOTE"/>
736
+ <xs:enumeration value="SUCCESS"/>
737
+ <xs:enumeration value="WARNING"/>
738
+ </xs:restriction>
739
+ </xs:simpleType>
740
+ <xs:simpleType name="PackagingType">
741
+ <xs:annotation>
742
+ <xs:documentation>The enumerated packaging type used for this package.</xs:documentation>
743
+ </xs:annotation>
744
+ <xs:restriction base="xs:string">
745
+ <xs:enumeration value="FEDEX_10KG_BOX"/>
746
+ <xs:enumeration value="FEDEX_25KG_BOX"/>
747
+ <xs:enumeration value="FEDEX_BOX"/>
748
+ <xs:enumeration value="FEDEX_ENVELOPE"/>
749
+ <xs:enumeration value="FEDEX_PAK"/>
750
+ <xs:enumeration value="FEDEX_TUBE"/>
751
+ <xs:enumeration value="YOUR_PACKAGING"/>
752
+ </xs:restriction>
753
+ </xs:simpleType>
754
+ <xs:simpleType name="ServiceType">
755
+ <xs:annotation>
756
+ <xs:documentation>The service type of the package/shipment.</xs:documentation>
757
+ </xs:annotation>
758
+ <xs:restriction base="xs:string">
759
+ <xs:enumeration value="EUROPE_FIRST_INTERNATIONAL_PRIORITY"/>
760
+ <xs:enumeration value="FEDEX_1_DAY_FREIGHT"/>
761
+ <xs:enumeration value="FEDEX_2_DAY"/>
762
+ <xs:enumeration value="FEDEX_2_DAY_FREIGHT"/>
763
+ <xs:enumeration value="FEDEX_3_DAY_FREIGHT"/>
764
+ <xs:enumeration value="FEDEX_EXPRESS_SAVER"/>
765
+ <xs:enumeration value="FEDEX_FREIGHT"/>
766
+ <xs:enumeration value="FEDEX_GROUND"/>
767
+ <xs:enumeration value="FEDEX_NATIONAL_FREIGHT"/>
768
+ <xs:enumeration value="FIRST_OVERNIGHT"/>
769
+ <xs:enumeration value="GROUND_HOME_DELIVERY"/>
770
+ <xs:enumeration value="INTERNATIONAL_DISTRIBUTION_FREIGHT"/>
771
+ <xs:enumeration value="INTERNATIONAL_ECONOMY"/>
772
+ <xs:enumeration value="INTERNATIONAL_ECONOMY_DISTRIBUTION"/>
773
+ <xs:enumeration value="INTERNATIONAL_ECONOMY_FREIGHT"/>
774
+ <xs:enumeration value="INTERNATIONAL_FIRST"/>
775
+ <xs:enumeration value="INTERNATIONAL_PRIORITY"/>
776
+ <xs:enumeration value="INTERNATIONAL_PRIORITY_DISTRIBUTION"/>
777
+ <xs:enumeration value="INTERNATIONAL_PRIORITY_FREIGHT"/>
778
+ <xs:enumeration value="PRIORITY_OVERNIGHT"/>
779
+ <xs:enumeration value="SMART_POST"/>
780
+ <xs:enumeration value="STANDARD_OVERNIGHT"/>
781
+ </xs:restriction>
782
+ </xs:simpleType>
783
+ <xs:simpleType name="TrackDeliveryLocationType">
784
+ <xs:annotation>
785
+ <xs:documentation>The delivery location at the delivered to address.</xs:documentation>
786
+ </xs:annotation>
787
+ <xs:restriction base="xs:string">
788
+ <xs:enumeration value="FEDEX_LOCATION"/>
789
+ <xs:enumeration value="GUARD_OR_SECURITY_STATION"/>
790
+ <xs:enumeration value="IN_BOND_OR_CAGE"/>
791
+ <xs:enumeration value="MAILROOM"/>
792
+ <xs:enumeration value="OTHER"/>
793
+ <xs:enumeration value="PHARMACY"/>
794
+ <xs:enumeration value="RECEPTIONIST_OR_FRONT_DESK"/>
795
+ <xs:enumeration value="RESIDENCE"/>
796
+ <xs:enumeration value="SHIPPING_RECEIVING"/>
797
+ </xs:restriction>
798
+ </xs:simpleType>
799
+ <xs:complexType name="TrackDetail">
800
+ <xs:annotation>
801
+ <xs:documentation>Detailed tracking information about a particular package.</xs:documentation>
802
+ </xs:annotation>
803
+ <xs:sequence>
804
+ <xs:element name="Notification" type="ns:Notification" minOccurs="0">
805
+ <xs:annotation>
806
+ <xs:documentation>Holds error or warning information for a particular package.</xs:documentation>
807
+ </xs:annotation>
808
+ </xs:element>
809
+ <xs:element name="TrackingNumber" type="xs:string" minOccurs="0">
810
+ <xs:annotation>
811
+ <xs:documentation>The tracking number of this package.</xs:documentation>
812
+ </xs:annotation>
813
+ </xs:element>
814
+ <xs:element name="TrackingNumberUniqueIdentifier" type="xs:string" minOccurs="0">
815
+ <xs:annotation>
816
+ <xs:documentation>Further identifies a tracking number in case duplicates exist. Returned if a track by number results in duplicates.</xs:documentation>
817
+ </xs:annotation>
818
+ </xs:element>
819
+ <xs:element name="StatusCode" type="xs:string" minOccurs="0">
820
+ <xs:annotation>
821
+ <xs:documentation>For example, SP = split shipment.</xs:documentation>
822
+ </xs:annotation>
823
+ </xs:element>
824
+ <xs:element name="StatusDescription" type="xs:string" minOccurs="0">
825
+ <xs:annotation>
826
+ <xs:documentation>Tracking status description of this package.</xs:documentation>
827
+ </xs:annotation>
828
+ </xs:element>
829
+ <xs:element name="Reconciliation" type="ns:TrackReconciliation" minOccurs="0">
830
+ <xs:annotation>
831
+ <xs:documentation>Tracking reconciliation of this package.</xs:documentation>
832
+ </xs:annotation>
833
+ </xs:element>
834
+ <xs:element name="ServiceCommitMessage" type="xs:string" minOccurs="0">
835
+ <xs:annotation>
836
+ <xs:documentation>Only applicable to H3 Express freight areas inbound to U.S. to FedEx location only. Additional days may be required for final delivery. Please call Customer Service for details.</xs:documentation>
837
+ </xs:annotation>
838
+ </xs:element>
839
+ <xs:element name="CarrierCode" type="ns:CarrierCodeType" minOccurs="0">
840
+ <xs:annotation>
841
+ <xs:documentation>Carrier associated with tracking number.</xs:documentation>
842
+ </xs:annotation>
843
+ </xs:element>
844
+ <xs:element name="OtherIdentifiers" type="ns:TrackPackageIdentifier" minOccurs="0" maxOccurs="unbounded">
845
+ <xs:annotation>
846
+ <xs:documentation>Other related identifiers for this package such as reference numbers. May occur zero to many times for each tracking number.</xs:documentation>
847
+ </xs:annotation>
848
+ </xs:element>
849
+ <xs:element name="ServiceInfo" type="xs:string" minOccurs="0">
850
+ <xs:annotation>
851
+ <xs:documentation>The service type of this package.</xs:documentation>
852
+ </xs:annotation>
853
+ </xs:element>
854
+ <xs:element name="ServiceType" type="ns:ServiceType" minOccurs="0">
855
+ <xs:annotation>
856
+ <xs:documentation>The enumerated service type of this package.</xs:documentation>
857
+ </xs:annotation>
858
+ </xs:element>
859
+ <xs:element name="PackageWeight" type="ns:Weight" minOccurs="0">
860
+ <xs:annotation>
861
+ <xs:documentation>The weight of this package.</xs:documentation>
862
+ </xs:annotation>
863
+ </xs:element>
864
+ <xs:element name="PackageDimensionalWeight" type="ns:Weight" minOccurs="0">
865
+ <xs:annotation>
866
+ <xs:documentation>Not available at this time.</xs:documentation>
867
+ </xs:annotation>
868
+ </xs:element>
869
+ <xs:element name="ShipmentWeight" type="ns:Weight" minOccurs="0">
870
+ <xs:annotation>
871
+ <xs:documentation>The weight of this entire shipment.</xs:documentation>
872
+ </xs:annotation>
873
+ </xs:element>
874
+ <xs:element name="Packaging" type="xs:string" minOccurs="0">
875
+ <xs:annotation>
876
+ <xs:documentation>The packaging type of this package.</xs:documentation>
877
+ </xs:annotation>
878
+ </xs:element>
879
+ <xs:element name="PackagingType" type="ns:PackagingType" minOccurs="0">
880
+ <xs:annotation>
881
+ <xs:documentation>The enumerated packaging type used for this package.</xs:documentation>
882
+ </xs:annotation>
883
+ </xs:element>
884
+ <xs:element name="PackageSequenceNumber" type="xs:nonNegativeInteger" minOccurs="0">
885
+ <xs:annotation>
886
+ <xs:documentation>The sequence of the package for FedEx Express international MPS (1 of X).</xs:documentation>
887
+ </xs:annotation>
888
+ </xs:element>
889
+ <xs:element name="PackageCount" type="xs:nonNegativeInteger" minOccurs="0">
890
+ <xs:annotation>
891
+ <xs:documentation>The number of pieces in this shipment.</xs:documentation>
892
+ </xs:annotation>
893
+ </xs:element>
894
+ <xs:element name="ShipperAddress" type="ns:Address" minOccurs="0">
895
+ <xs:annotation>
896
+ <xs:documentation>The address information for the shipper.</xs:documentation>
897
+ </xs:annotation>
898
+ </xs:element>
899
+ <xs:element name="OriginLocationAddress" type="ns:Address" minOccurs="0">
900
+ <xs:annotation>
901
+ <xs:documentation>The address information for the origin of the package.</xs:documentation>
902
+ </xs:annotation>
903
+ </xs:element>
904
+ <xs:element name="EstimatedPickupTimestamp" type="xs:dateTime" minOccurs="0">
905
+ <xs:annotation>
906
+ <xs:documentation>Estimated package pickup time for shipments that haven't been picked up yet.</xs:documentation>
907
+ </xs:annotation>
908
+ </xs:element>
909
+ <xs:element name="ShipTimestamp" type="xs:dateTime" minOccurs="0">
910
+ <xs:annotation>
911
+ <xs:documentation>Time package was shipped/tendered over to FedEx. Time portion will be populated if available, otherwise will be set to midnight.</xs:documentation>
912
+ </xs:annotation>
913
+ </xs:element>
914
+ <xs:element name="TotalTransitDistance" type="ns:Distance" minOccurs="0">
915
+ <xs:annotation>
916
+ <xs:documentation>Total distance package traveled. Returned in miles only at this time.</xs:documentation>
917
+ </xs:annotation>
918
+ </xs:element>
919
+ <xs:element name="DistanceToDestination" type="ns:Distance" minOccurs="0">
920
+ <xs:annotation>
921
+ <xs:documentation>Total distance package still has to travel. Returned in miles only at this time.</xs:documentation>
922
+ </xs:annotation>
923
+ </xs:element>
924
+ <xs:element name="DestinationAddress" type="ns:Address" minOccurs="0">
925
+ <xs:annotation>
926
+ <xs:documentation>The address the package is destined to.</xs:documentation>
927
+ </xs:annotation>
928
+ </xs:element>
929
+ <xs:element name="DestinationLocationAddress" type="ns:Address" minOccurs="0">
930
+ <xs:annotation>
931
+ <xs:documentation>The address of the carrier facility for the package destination.</xs:documentation>
932
+ </xs:annotation>
933
+ </xs:element>
934
+ <xs:element name="EstimatedDeliveryTimestamp" type="xs:dateTime" minOccurs="0">
935
+ <xs:annotation>
936
+ <xs:documentation>Projected package delivery time based on ship time stamp, service and destination. Not populated if delivery has already occurred.</xs:documentation>
937
+ </xs:annotation>
938
+ </xs:element>
939
+ <xs:element name="ActualDeliveryTimestamp" type="xs:dateTime" minOccurs="0">
940
+ <xs:annotation>
941
+ <xs:documentation>The time the package was actually delivered.</xs:documentation>
942
+ </xs:annotation>
943
+ </xs:element>
944
+ <xs:element name="ActualDeliveryAddress" type="ns:Address" minOccurs="0">
945
+ <xs:annotation>
946
+ <xs:documentation>The address where the package was delivered.</xs:documentation>
947
+ </xs:annotation>
948
+ </xs:element>
949
+ <xs:element name="DeliveryLocationType" type="ns:TrackDeliveryLocationType" minOccurs="0">
950
+ <xs:annotation>
951
+ <xs:documentation>The delivery location at the delivered to address.</xs:documentation>
952
+ </xs:annotation>
953
+ </xs:element>
954
+ <xs:element name="DeliveryLocationDescription" type="xs:string" minOccurs="0">
955
+ <xs:annotation>
956
+ <xs:documentation>A description of where the package was delivered (Front Desk, Back Door, etc.)</xs:documentation>
957
+ </xs:annotation>
958
+ </xs:element>
959
+ <xs:element name="DeliverySignatureName" type="xs:string" minOccurs="0">
960
+ <xs:annotation>
961
+ <xs:documentation>Name on delivery record or release number.</xs:documentation>
962
+ </xs:annotation>
963
+ </xs:element>
964
+ <xs:element name="SignatureProofOfDeliveryAvailable" type="xs:boolean" minOccurs="0">
965
+ <xs:annotation>
966
+ <xs:documentation>True if signed for signature image is available.</xs:documentation>
967
+ </xs:annotation>
968
+ </xs:element>
969
+ <xs:element name="ProofOfDeliveryNotificationsAvailable" type="xs:boolean" minOccurs="0">
970
+ <xs:annotation>
971
+ <xs:documentation>True if delivery email updates are available for this tracking number.</xs:documentation>
972
+ </xs:annotation>
973
+ </xs:element>
974
+ <xs:element name="ExceptionNotificationsAvailable" type="xs:boolean" minOccurs="0">
975
+ <xs:annotation>
976
+ <xs:documentation>True if exception email updates are available for this tracking number. Exception notifications include: General Delivery Exception, Incorrect Address,Clearance Delay, and International Shipment Release. Exception notifications are not available after shipment delivery.</xs:documentation>
977
+ </xs:annotation>
978
+ </xs:element>
979
+ <xs:element name="SplitShipmentParts" type="ns:TrackSplitShipmentPart" minOccurs="0" maxOccurs="unbounded">
980
+ <xs:annotation>
981
+ <xs:documentation>Returned for cargo shipments only when they are currently split across vehicles.</xs:documentation>
982
+ </xs:annotation>
983
+ </xs:element>
984
+ <xs:element name="Events" type="ns:TrackEvent" minOccurs="0" maxOccurs="unbounded">
985
+ <xs:annotation>
986
+ <xs:documentation>Event information for a tracking number.</xs:documentation>
987
+ </xs:annotation>
988
+ </xs:element>
989
+ </xs:sequence>
990
+ </xs:complexType>
991
+ <xs:complexType name="TrackEvent">
992
+ <xs:annotation>
993
+ <xs:documentation>Holds FedEx scanning information about a package.</xs:documentation>
994
+ </xs:annotation>
995
+ <xs:sequence>
996
+ <xs:element name="Timestamp" type="xs:dateTime" minOccurs="0">
997
+ <xs:annotation>
998
+ <xs:documentation>The time the event happened.</xs:documentation>
999
+ </xs:annotation>
1000
+ </xs:element>
1001
+ <xs:element name="EventType" type="xs:string" minOccurs="0">
1002
+ <xs:annotation>
1003
+ <xs:documentation>Carrier’s scan code. Pairs with EventDescription.</xs:documentation>
1004
+ </xs:annotation>
1005
+ </xs:element>
1006
+ <xs:element name="EventDescription" type="xs:string" minOccurs="0">
1007
+ <xs:annotation>
1008
+ <xs:documentation>Literal description of the Scan activity.</xs:documentation>
1009
+ </xs:annotation>
1010
+ </xs:element>
1011
+ <xs:element name="StatusExceptionCode" type="xs:string" minOccurs="0">
1012
+ <xs:annotation>
1013
+ <xs:documentation>Further defines the Scan Type code’s specific type (e.g., DEX08 business closed). Pairs with StatusExceptionDescription.</xs:documentation>
1014
+ </xs:annotation>
1015
+ </xs:element>
1016
+ <xs:element name="StatusExceptionDescription" type="xs:string" minOccurs="0">
1017
+ <xs:annotation>
1018
+ <xs:documentation>Literal description that pairs with the StatusExceptionCode.</xs:documentation>
1019
+ </xs:annotation>
1020
+ </xs:element>
1021
+ <xs:element name="Address" type="ns:Address" minOccurs="0">
1022
+ <xs:annotation>
1023
+ <xs:documentation>Address information of the station that is responsible for the scan.</xs:documentation>
1024
+ </xs:annotation>
1025
+ </xs:element>
1026
+ <xs:element name="ArrivalLocation" type="ns:ArrivalLocationType" minOccurs="0">
1027
+ <xs:annotation>
1028
+ <xs:documentation>Not available at this time.</xs:documentation>
1029
+ </xs:annotation>
1030
+ </xs:element>
1031
+ </xs:sequence>
1032
+ </xs:complexType>
1033
+ <xs:simpleType name="TrackIdentifierType">
1034
+ <xs:annotation>
1035
+ <xs:documentation>The type of track to be performed.</xs:documentation>
1036
+ </xs:annotation>
1037
+ <xs:restriction base="xs:string">
1038
+ <xs:enumeration value="BILL_OF_LADING"/>
1039
+ <xs:enumeration value="COD_RETURN_TRACKING_NUMBER"/>
1040
+ <xs:enumeration value="CUSTOMER_AUTHORIZATION_NUMBER"/>
1041
+ <xs:enumeration value="CUSTOMER_REFERENCE"/>
1042
+ <xs:enumeration value="DEPARTMENT"/>
1043
+ <xs:enumeration value="FREE_FORM_REFERENCE"/>
1044
+ <xs:enumeration value="GROUND_INTERNATIONAL"/>
1045
+ <xs:enumeration value="GROUND_SHIPMENT_ID"/>
1046
+ <xs:enumeration value="GROUND_MPS"/>
1047
+ <xs:enumeration value="INVOICE"/>
1048
+ <xs:enumeration value="PARTNER_CARRIER_NUMBER"/>
1049
+ <xs:enumeration value="PART_NUMBER"/>
1050
+ <xs:enumeration value="PURCHASE_ORDER"/>
1051
+ <xs:enumeration value="RETURNED_TO_SHIPPER_TRACKING_NUMBER"/>
1052
+ <xs:enumeration value="RETURN_MATERIALS_AUTHORIZATION"/>
1053
+ <xs:enumeration value="TRACKING_NUMBER_OR_DOORTAG"/>
1054
+ <xs:enumeration value="TRANSPORTATION_CONTROL_NUMBER"/>
1055
+ <xs:enumeration value="SHIPPER_REFERENCE"/>
1056
+ <xs:enumeration value="STANDARD_MPS"/>
1057
+ </xs:restriction>
1058
+ </xs:simpleType>
1059
+ <xs:simpleType name="ArrivalLocationType">
1060
+ <xs:annotation>
1061
+ <xs:documentation>Not available at this time.</xs:documentation>
1062
+ </xs:annotation>
1063
+ <xs:restriction base="xs:string">
1064
+ <xs:enumeration value="AIRPORT"/>
1065
+ <xs:enumeration value="CUSTOMER"/>
1066
+ <xs:enumeration value="CUSTOMS_BROKER"/>
1067
+ <xs:enumeration value="DELIVERY_LOCATION"/>
1068
+ <xs:enumeration value="DESTINATION_AIRPORT"/>
1069
+ <xs:enumeration value="DESTINATION_FEDEX_FACILITY"/>
1070
+ <xs:enumeration value="DROP_BOX"/>
1071
+ <xs:enumeration value="ENROUTE"/>
1072
+ <xs:enumeration value="FEDEX_FACILITY"/>
1073
+ <xs:enumeration value="FEDEX_OFFICE_LOCATION"/>
1074
+ <xs:enumeration value="INTERLINE_CARRIER"/>
1075
+ <xs:enumeration value="NON_FEDEX_FACILITY"/>
1076
+ <xs:enumeration value="ORIGIN_AIRPORT"/>
1077
+ <xs:enumeration value="ORIGIN_FEDEX_FACILITY"/>
1078
+ <xs:enumeration value="PICKUP_LOCATION"/>
1079
+ <xs:enumeration value="PLANE"/>
1080
+ <xs:enumeration value="PORT_OF_ENTRY"/>
1081
+ <xs:enumeration value="SORT_FACILITY"/>
1082
+ <xs:enumeration value="TURNPOINT"/>
1083
+ <xs:enumeration value="VEHICLE"/>
1084
+ </xs:restriction>
1085
+ </xs:simpleType>
1086
+ <xs:complexType name="TrackPackageIdentifier">
1087
+ <xs:annotation>
1088
+ <xs:documentation>Idenitifies the particular package to be tracked and how it is referenced.</xs:documentation>
1089
+ </xs:annotation>
1090
+ <xs:sequence>
1091
+ <xs:element name="Value" type="xs:string">
1092
+ <xs:annotation>
1093
+ <xs:documentation>Specifies the value to be tracked (e.g., tracking number or reference value).</xs:documentation>
1094
+ </xs:annotation>
1095
+ </xs:element>
1096
+ <xs:element name="Type" type="ns:TrackIdentifierType">
1097
+ <xs:annotation>
1098
+ <xs:documentation>Specifies the type of track value that is specified in the previous Value element.</xs:documentation>
1099
+ </xs:annotation>
1100
+ </xs:element>
1101
+ </xs:sequence>
1102
+ </xs:complexType>
1103
+ <xs:complexType name="TransactionDetail">
1104
+ <xs:annotation>
1105
+ <xs:documentation>Descriptive data that governs data payload language/translations. The TransactionDetail from the request is echoed back to the caller in the corresponding reply.</xs:documentation>
1106
+ </xs:annotation>
1107
+ <xs:sequence>
1108
+ <xs:element name="CustomerTransactionId" type="xs:string" minOccurs="0">
1109
+ <xs:annotation>
1110
+ <xs:documentation>Identifies a customer-supplied unique identifier for this transaction. It is returned in the reply message to aid in matching requests to replies.</xs:documentation>
1111
+ </xs:annotation>
1112
+ </xs:element>
1113
+ <xs:element name="Localization" type="ns:Localization" minOccurs="0">
1114
+ <xs:annotation>
1115
+ <xs:documentation>Governs any future language/translations applied to the data payload(contrasted with ClientDetail.localization, which governs Notification.localizedMessage language selection).</xs:documentation>
1116
+ </xs:annotation>
1117
+ </xs:element>
1118
+ </xs:sequence>
1119
+ </xs:complexType>
1120
+ <xs:complexType name="VersionId">
1121
+ <xs:annotation>
1122
+ <xs:documentation>The descriptive data regarding the version/level of a service operation expected by a caller (in each request) and performed by the callee (in each reply).</xs:documentation>
1123
+ </xs:annotation>
1124
+ <xs:sequence>
1125
+ <xs:element name="ServiceId" type="xs:string" minOccurs="1" fixed="trck">
1126
+ <xs:annotation>
1127
+ <xs:documentation>Identifies a system or sub-system which performs an operation.</xs:documentation>
1128
+ </xs:annotation>
1129
+ </xs:element>
1130
+ <xs:element name="Major" type="xs:int" minOccurs="1" fixed="4">
1131
+ <xs:annotation>
1132
+ <xs:documentation>Identifies the service business level.</xs:documentation>
1133
+ </xs:annotation>
1134
+ </xs:element>
1135
+ <xs:element name="Intermediate" type="xs:int" minOccurs="1" fixed="0">
1136
+ <xs:annotation>
1137
+ <xs:documentation>Identifies the service interface level.</xs:documentation>
1138
+ </xs:annotation>
1139
+ </xs:element>
1140
+ <xs:element name="Minor" type="xs:int" minOccurs="1" fixed="0">
1141
+ <xs:annotation>
1142
+ <xs:documentation>Identifies the service code level.</xs:documentation>
1143
+ </xs:annotation>
1144
+ </xs:element>
1145
+ </xs:sequence>
1146
+ </xs:complexType>
1147
+ <xs:complexType name="WebAuthenticationDetail">
1148
+ <xs:annotation>
1149
+ <xs:documentation>Used in authentication of the sender's identity.</xs:documentation>
1150
+ </xs:annotation>
1151
+ <xs:sequence>
1152
+ <xs:element name="UserCredential" type="ns:WebAuthenticationCredential" minOccurs="1">
1153
+ <xs:annotation>
1154
+ <xs:documentation>Credential used to authenticate a specific software application. This value is provided by FedEx after registration.</xs:documentation>
1155
+ </xs:annotation>
1156
+ </xs:element>
1157
+ </xs:sequence>
1158
+ </xs:complexType>
1159
+ <xs:complexType name="WebAuthenticationCredential">
1160
+ <xs:annotation>
1161
+ <xs:documentation>Two part authentication string used for the sender's identity.</xs:documentation>
1162
+ </xs:annotation>
1163
+ <xs:sequence>
1164
+ <xs:element name="Key" type="xs:string" minOccurs="1">
1165
+ <xs:annotation>
1166
+ <xs:documentation>Identifying part of the authentication key. This value is provided by FedEx after registration.</xs:documentation>
1167
+ </xs:annotation>
1168
+ </xs:element>
1169
+ <xs:element name="Password" type="xs:string" minOccurs="1">
1170
+ <xs:annotation>
1171
+ <xs:documentation>Secret part of authentication key used for authentication. This value is provided by FedEx after registration.</xs:documentation>
1172
+ </xs:annotation>
1173
+ </xs:element>
1174
+ </xs:sequence>
1175
+ </xs:complexType>
1176
+ <xs:complexType name="Weight">
1177
+ <xs:annotation>
1178
+ <xs:documentation>The descriptive data for the heaviness of an object.</xs:documentation>
1179
+ </xs:annotation>
1180
+ <xs:sequence>
1181
+ <xs:element name="Units" type="ns:WeightUnits" minOccurs="0">
1182
+ <xs:annotation>
1183
+ <xs:documentation>Identifies the unit of measure associated with a weight value. See WeightUnits for valid values.</xs:documentation>
1184
+ </xs:annotation>
1185
+ </xs:element>
1186
+ <xs:element name="Value" type="xs:decimal" minOccurs="0">
1187
+ <xs:annotation>
1188
+ <xs:documentation>Identifies the weight value of the package.</xs:documentation>
1189
+ </xs:annotation>
1190
+ </xs:element>
1191
+ </xs:sequence>
1192
+ </xs:complexType>
1193
+ <xs:complexType name="ContactAndAddress">
1194
+ <xs:sequence>
1195
+ <xs:element name="Contact" type="ns:Contact"/>
1196
+ <xs:element name="Address" type="ns:Address" minOccurs="0"/>
1197
+ </xs:sequence>
1198
+ </xs:complexType>
1199
+ <xs:complexType name="Contact">
1200
+ <xs:sequence>
1201
+ <xs:element name="PersonName" type="xs:string" minOccurs="0">
1202
+ <xs:annotation>
1203
+ <xs:documentation>Name of person.</xs:documentation>
1204
+ </xs:annotation>
1205
+ </xs:element>
1206
+ <xs:element name="Title" type="xs:string" minOccurs="0">
1207
+ <xs:annotation>
1208
+ <xs:documentation>Title used by contact.</xs:documentation>
1209
+ </xs:annotation>
1210
+ </xs:element>
1211
+ <xs:element name="CompanyName" type="xs:string" minOccurs="0">
1212
+ <xs:annotation>
1213
+ <xs:documentation>Company name.</xs:documentation>
1214
+ </xs:annotation>
1215
+ </xs:element>
1216
+ <xs:element name="PhoneNumber" type="xs:string" minOccurs="0">
1217
+ <xs:annotation>
1218
+ <xs:documentation>Phone number of contact.</xs:documentation>
1219
+ </xs:annotation>
1220
+ </xs:element>
1221
+ <xs:element name="PhoneExtension" type="xs:string" minOccurs="0">
1222
+ <xs:annotation>
1223
+ <xs:documentation>Phone extension of contact.</xs:documentation>
1224
+ </xs:annotation>
1225
+ </xs:element>
1226
+ <xs:element name="PagerNumber" type="xs:string" minOccurs="0">
1227
+ <xs:annotation>
1228
+ <xs:documentation>Pager number of contact.</xs:documentation>
1229
+ </xs:annotation>
1230
+ </xs:element>
1231
+ <xs:element name="FaxNumber" type="xs:string" minOccurs="0">
1232
+ <xs:annotation>
1233
+ <xs:documentation>Fax number of contact.</xs:documentation>
1234
+ </xs:annotation>
1235
+ </xs:element>
1236
+ <xs:element name="EMailAddress" type="xs:string" minOccurs="0">
1237
+ <xs:annotation>
1238
+ <xs:documentation>Email address of contact.</xs:documentation>
1239
+ </xs:annotation>
1240
+ </xs:element>
1241
+ </xs:sequence>
1242
+ </xs:complexType>
1243
+ <xs:simpleType name="WeightUnits">
1244
+ <xs:annotation>
1245
+ <xs:documentation>Identifies the collection of units of measure that can be associated with a weight value.</xs:documentation>
1246
+ </xs:annotation>
1247
+ <xs:restriction base="xs:string">
1248
+ <xs:enumeration value="KG"/>
1249
+ <xs:enumeration value="LB"/>
1250
+ </xs:restriction>
1251
+ </xs:simpleType>
1252
+ <xs:simpleType name="EMailNotificationRecipientType">
1253
+ <xs:annotation>
1254
+ <xs:documentation/>
1255
+ </xs:annotation>
1256
+ <xs:restriction base="xs:string">
1257
+ <xs:enumeration value="BROKER"/>
1258
+ <xs:enumeration value="OTHER"/>
1259
+ <xs:enumeration value="RECIPIENT"/>
1260
+ <xs:enumeration value="SHIPPER"/>
1261
+ </xs:restriction>
1262
+ </xs:simpleType>
1263
+ <xs:simpleType name="EMailNotificationFormatType">
1264
+ <xs:annotation>
1265
+ <xs:documentation/>
1266
+ </xs:annotation>
1267
+ <xs:restriction base="xs:string">
1268
+ <xs:enumeration value="HTML"/>
1269
+ <xs:enumeration value="TEXT"/>
1270
+ <xs:enumeration value="WIRELESS"/>
1271
+ </xs:restriction>
1272
+ </xs:simpleType>
1273
+ <xs:simpleType name="SignatureProofOfDeliveryImageType">
1274
+ <xs:annotation>
1275
+ <xs:documentation>Identifies the set of SPOD image types.</xs:documentation>
1276
+ </xs:annotation>
1277
+ <xs:restriction base="xs:string">
1278
+ <xs:enumeration value="PDF"/>
1279
+ </xs:restriction>
1280
+ </xs:simpleType>
1281
+ <xs:complexType name="QualifiedTrackingNumber">
1282
+ <xs:sequence>
1283
+ <xs:element name="TrackingNumber" type="xs:string" minOccurs="0">
1284
+ <xs:annotation>
1285
+ <xs:documentation>Tracking number of package.</xs:documentation>
1286
+ </xs:annotation>
1287
+ </xs:element>
1288
+ <xs:element name="ShipDate" type="xs:date" minOccurs="0">
1289
+ <xs:annotation>
1290
+ <xs:documentation>Date on which package was tendered to FedEx.</xs:documentation>
1291
+ </xs:annotation>
1292
+ </xs:element>
1293
+ <xs:element name="AccountNumber" type="xs:string" minOccurs="0">
1294
+ <xs:annotation>
1295
+ <xs:documentation>Account number associated with shipment (as opposed to account number in ClientDetail, which is that of party sending request).</xs:documentation>
1296
+ </xs:annotation>
1297
+ </xs:element>
1298
+ <xs:element name="Carrier" type="ns:CarrierCodeType" minOccurs="0">
1299
+ <xs:annotation>
1300
+ <xs:documentation/>
1301
+ </xs:annotation>
1302
+ </xs:element>
1303
+ <xs:element name="Destination" type="ns:Address" minOccurs="0"/>
1304
+ </xs:sequence>
1305
+ </xs:complexType>
1306
+ </xs:schema>
1307
+ </types>
1308
+ <message name="TrackRequest">
1309
+ <part name="TrackRequest" element="ns:TrackRequest"/>
1310
+ </message>
1311
+ <message name="TrackReply">
1312
+ <part name="TrackReply" element="ns:TrackReply"/>
1313
+ </message>
1314
+ <message name="TrackNotificationRequest">
1315
+ <part name="TrackNotificationRequest" element="ns:TrackNotificationRequest"/>
1316
+ </message>
1317
+ <message name="TrackNotificationReply">
1318
+ <part name="TrackNotificationReply" element="ns:TrackNotificationReply"/>
1319
+ </message>
1320
+ <message name="SignatureProofOfDeliveryFaxRequest">
1321
+ <part name="SignatureProofOfDeliveryFaxRequest" element="ns:SignatureProofOfDeliveryFaxRequest"/>
1322
+ </message>
1323
+ <message name="SignatureProofOfDeliveryFaxReply">
1324
+ <part name="SignatureProofOfDeliveryFaxReply" element="ns:SignatureProofOfDeliveryFaxReply"/>
1325
+ </message>
1326
+ <message name="SignatureProofOfDeliveryLetterRequest">
1327
+ <part name="SignatureProofOfDeliveryLetterRequest" element="ns:SignatureProofOfDeliveryLetterRequest"/>
1328
+ </message>
1329
+ <message name="SignatureProofOfDeliveryLetterReply">
1330
+ <part name="SignatureProofOfDeliveryLetterReply" element="ns:SignatureProofOfDeliveryLetterReply"/>
1331
+ </message>
1332
+ <portType name="TrackPortType">
1333
+ <documentation>This element describes the web service, the operations performed and the messages involved in the operation.</documentation>
1334
+ <operation name="track" parameterOrder="TrackRequest">
1335
+ <input message="ns:TrackRequest"/>
1336
+ <output message="ns:TrackReply"/>
1337
+ </operation>
1338
+ <operation name="getTrackNotification" parameterOrder="TrackNotificationRequest">
1339
+ <input message="ns:TrackNotificationRequest"/>
1340
+ <output message="ns:TrackNotificationReply"/>
1341
+ </operation>
1342
+ <operation name="sendSignatureProofOfDeliveryFax" parameterOrder="SignatureProofOfDeliveryFaxRequest">
1343
+ <input message="ns:SignatureProofOfDeliveryFaxRequest"/>
1344
+ <output message="ns:SignatureProofOfDeliveryFaxReply"/>
1345
+ </operation>
1346
+ <operation name="retrieveSignatureProofOfDeliveryLetter" parameterOrder="SignatureProofOfDeliveryLetterRequest">
1347
+ <input message="ns:SignatureProofOfDeliveryLetterRequest"/>
1348
+ <output message="ns:SignatureProofOfDeliveryLetterReply"/>
1349
+ </operation>
1350
+ </portType>
1351
+ <binding name="TrackServiceSoapBinding" type="ns:TrackPortType">
1352
+ <s1:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
1353
+ <operation name="track">
1354
+ <s1:operation soapAction="track" style="document"/>
1355
+ <input>
1356
+ <s1:body use="literal"/>
1357
+ </input>
1358
+ <output>
1359
+ <s1:body use="literal"/>
1360
+ </output>
1361
+ </operation>
1362
+ <operation name="getTrackNotification">
1363
+ <s1:operation soapAction="getTrackNotification" style="document"/>
1364
+ <input>
1365
+ <s1:body use="literal"/>
1366
+ </input>
1367
+ <output>
1368
+ <s1:body use="literal"/>
1369
+ </output>
1370
+ </operation>
1371
+ <operation name="sendSignatureProofOfDeliveryFax">
1372
+ <s1:operation soapAction="sendSignatureProofOfDeliveryFax" style="document"/>
1373
+ <input>
1374
+ <s1:body use="literal"/>
1375
+ </input>
1376
+ <output>
1377
+ <s1:body use="literal"/>
1378
+ </output>
1379
+ </operation>
1380
+ <operation name="retrieveSignatureProofOfDeliveryLetter">
1381
+ <s1:operation soapAction="retrieveSignatureProofOfDeliveryLetter" style="document"/>
1382
+ <input>
1383
+ <s1:body use="literal"/>
1384
+ </input>
1385
+ <output>
1386
+ <s1:body use="literal"/>
1387
+ </output>
1388
+ </operation>
1389
+ </binding>
1390
+ <service name="TrackService">
1391
+ <port name="TrackServicePort" binding="ns:TrackServiceSoapBinding">
1392
+ <s1:address location="https://gatewaybeta.fedex.com:443/web-services/track"/>
1393
+ </port>
1394
+ </service>
1395
+ </definitions>