trackerific 0.7.5 → 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -45,7 +45,7 @@ describe Trackerific::Builders::FedEx do
45
45
  describe "Version" do
46
46
  subject { hash[:version] }
47
47
  its([:service_id]) { should eq "trck" }
48
- its([:major]) { should eq "8" }
48
+ its([:major]) { should eq "12" }
49
49
  its([:intermediate]) { should eq "0" }
50
50
  its([:minor]) { should eq "0" }
51
51
  end
@@ -15,7 +15,7 @@ describe Trackerific::Services::Concerns::SOAP do
15
15
  let(:parser_instance) { double(:parser_instance) }
16
16
  let(:parser_response) { double(:parser_response) }
17
17
 
18
- let(:wsdl) { 'fedex/TrackService_v8' }
18
+ let(:wsdl) { 'fedex/TrackService_v12' }
19
19
  let(:wsdl_path) { Trackerific::SOAP::WSDL.path(wsdl) }
20
20
  let(:client) { double(:savon_client) }
21
21
  let(:soap_request) { double(:soap_request) }
@@ -3,14 +3,25 @@ require 'spec_helper'
3
3
  describe Trackerific::Services::FedEx do
4
4
  include Savon::SpecHelper
5
5
 
6
- let(:valid_ids) { ["183689015000001", "999999999999999"] }
7
- let(:invalid_ids) { %w[these are not valid tracking ids] }
6
+ let(:valid_ids) {
7
+ [ "123456789012", "123456789012345", "9612345678901234567890",
8
+ "98123456 1234 1234", "9812 1234 1234", "98123456 1234 1234 123",
9
+ "9812 1234 1234 123" ]
10
+ }
8
11
 
9
- it "should match valid tracking ids" do
12
+ let(:invalid_ids) {
13
+ [ "1234567890123456", "1234567890", "96123456789012345678901",
14
+ "961234567890123456789", "9812345 1234 1234", "981234567 1234 1234",
15
+ "981 1234 1234", "98123 1234 1234", "981234567 1234 1234 123",
16
+ "9812345 1234 1234 123", "981 1234 1234 123", "98123 1234 1234 123",
17
+ "1Z12345E0291980793", "EJ958083578US", "XXXXXXXXXX" ]
18
+ }
19
+
20
+ it "should match valid tracking ids", :wip do
10
21
  valid_ids.all? {|id| described_class.can_track?(id) }.should be_true
11
22
  end
12
23
 
13
- it "should not match invalid tracking ids" do
24
+ it "should not match invalid tracking ids", :wip do
14
25
  invalid_ids.all? {|id| described_class.can_track?(id) }.should be_false
15
26
  end
16
27
 
@@ -50,22 +61,21 @@ describe Trackerific::Services::FedEx do
50
61
  let(:fixture) { Fixture.read('fedex/success.xml') }
51
62
 
52
63
  its(:package_id) { should eq package_id }
53
- its(:summary) { should be_nil }
64
+ its(:summary) { should eq "Delivered" }
54
65
  its(:weight) { should be_nil }
55
66
  its(:via) { should be_nil }
56
67
 
57
68
  describe "#events" do
58
69
  subject { fedex.track(package_id).events }
59
- its(:length) { should eq 5 }
70
+ its(:length) { should eq 1 }
60
71
 
61
72
  it "should populate its properties with values from the response" do
62
- subject.all? {|e| e.description.nil? }.should be_true
73
+ subject.all? {|e| e.description.nil? }.should be_false
63
74
  subject.all? {|e| e.date.is_a?(DateTime) }.should be_true
64
- subject.map(&:location).should eq [
65
- "new york, NY US", "Memphis, TN US", "CITY OF INDUSTRY, CA US",
66
- "ST JACKSON, MS US", "Ontonagon, MI US" ]
75
+ subject.map(&:location).should eq ["Prov, RI US"]
67
76
  end
68
77
  end
69
78
  end
70
79
  end
71
80
  end
81
+
@@ -82,13 +82,14 @@ describe Trackerific::Services::USPS do
82
82
  subject { usps.track(id).events }
83
83
  its(:length) { should eq 3 }
84
84
  it "should populate the properties from the XML" do
85
- subject[0].date.to_s.should eq "2013-05-30T11:07:00+00:00"
85
+ year = Date.today.year
86
+ subject[0].date.to_s.should eq "#{year}-05-30T11:07:00+00:00"
86
87
  subject[0].description.should eq "NOTICE LEFT"
87
88
  subject[0].location.should eq "WILMINGTON, DE 19801"
88
- subject[1].date.to_s.should eq "2013-05-30T10:08:00+00:00"
89
+ subject[1].date.to_s.should eq "#{year}-05-30T10:08:00+00:00"
89
90
  subject[1].description.should eq "ARRIVAL AT UNIT"
90
91
  subject[1].location.should eq "WILMINGTON, DE 19850"
91
- subject[2].date.to_s.should eq "2013-05-29T09:55:00+00:00"
92
+ subject[2].date.to_s.should eq "#{year}-05-29T09:55:00+00:00"
92
93
  subject[2].description.should eq "ACCEPT OR PICKUP"
93
94
  subject[2].location.should eq "EDGEWATER, NJ 07020"
94
95
  end
@@ -22,7 +22,7 @@ describe Trackerific::SOAP::WSDL do
22
22
  end
23
23
 
24
24
  context "with a valid filename" do
25
- let(:filename) { 'fedex/TrackService_v8' }
25
+ let(:filename) { 'fedex/TrackService_v12' }
26
26
  it { should =~ /#{Trackerific::SOAP::WSDL::ROOT}\/#{filename}\.wsdl/ }
27
27
  end
28
28
  end
@@ -1,5 +1,5 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Trackerific::VERSION do
4
- it { should eq "0.7.5" }
4
+ it { should eq "0.8.0" }
5
5
  end
@@ -23,3 +23,7 @@ require 'active_support/core_ext/hash/conversions'
23
23
 
24
24
  # load all the support files
25
25
  Dir["spec/support/**/*.rb"].each { |f| require File.expand_path(f) }
26
+
27
+ RSpec.configure do |config|
28
+ config.treat_symbols_as_metadata_keys_with_true_values = true
29
+ end
@@ -7,7 +7,7 @@ Gem::Specification.new do |spec|
7
7
  spec.name = "trackerific"
8
8
  spec.version = Trackerific::VERSION
9
9
  spec.authors = ["Travis Haynes"]
10
- spec.email = ["travis.j.haynes@gmail.com"]
10
+ spec.email = ["travis@hi5dev.com"]
11
11
  spec.description = %q{Package tracking made easy. Currently supported services include FedEx, UPS, and USPS.}
12
12
  spec.summary = %q{Package tracking made easy.}
13
13
  spec.homepage = ""
@@ -24,7 +24,7 @@ Gem::Specification.new do |spec|
24
24
  spec.add_dependency 'builder'
25
25
 
26
26
  spec.add_development_dependency 'bundler', '>= 1.3.5'
27
- spec.add_development_dependency 'rake'
27
+ spec.add_development_dependency 'rake', '< 11'
28
28
  spec.add_development_dependency 'rspec', '~> 2.6.0'
29
29
  spec.add_development_dependency 'fakeweb', '~> 1.3.0'
30
30
  spec.add_development_dependency 'coveralls', '~> 0.7.0'
@@ -1,6 +1,6 @@
1
- <definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:ns="http://fedex.com/ws/track/v8" xmlns:s1="http://schemas.xmlsoap.org/wsdl/soap/" targetNamespace="http://fedex.com/ws/track/v8" name="TrackServiceDefinitions">
1
+ <definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:ns="http://fedex.com/ws/track/v12" xmlns:s1="http://schemas.xmlsoap.org/wsdl/soap/" targetNamespace="http://fedex.com/ws/track/v12" name="TrackServiceDefinitions">
2
2
  <types>
3
- <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://fedex.com/ws/track/v8">
3
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://fedex.com/ws/track/v12">
4
4
  <xs:element name="SendNotificationsReply" type="ns:SendNotificationsReply"/>
5
5
  <xs:element name="SendNotificationsRequest" type="ns:SendNotificationsRequest"/>
6
6
  <xs:element name="SignatureProofOfDeliveryFaxReply" type="ns:SignatureProofOfDeliveryFaxReply"/>
@@ -120,6 +120,7 @@
120
120
  <xs:enumeration value="PICKUP_LOCATION"/>
121
121
  <xs:enumeration value="PLANE"/>
122
122
  <xs:enumeration value="PORT_OF_ENTRY"/>
123
+ <xs:enumeration value="SHIP_AND_GET_LOCATION"/>
123
124
  <xs:enumeration value="SORT_FACILITY"/>
124
125
  <xs:enumeration value="TURNPOINT"/>
125
126
  <xs:enumeration value="VEHICLE"/>
@@ -131,6 +132,12 @@
131
132
  <xs:enumeration value="SIGNATURE_PROOF_OF_DELIVERY"/>
132
133
  </xs:restriction>
133
134
  </xs:simpleType>
135
+ <xs:complexType name="AvailableImagesDetail">
136
+ <xs:sequence>
137
+ <xs:element name="Type" type="ns:AvailableImageType" minOccurs="0"/>
138
+ <xs:element name="Size" type="ns:ImageSizeType" minOccurs="0"/>
139
+ </xs:sequence>
140
+ </xs:complexType>
134
141
  <xs:simpleType name="CarrierCodeType">
135
142
  <xs:annotation>
136
143
  <xs:documentation>Identification of a FedEx operating company (transportation).</xs:documentation>
@@ -161,7 +168,7 @@
161
168
  </xs:element>
162
169
  <xs:element name="IntegratorId" type="xs:string" minOccurs="0">
163
170
  <xs:annotation>
164
- <xs:documentation>Only used in transactions which require identification of the Fed Ex Office integrator.</xs:documentation>
171
+ <xs:documentation>Only used in transactions which require identification of the FedEx Office integrator.</xs:documentation>
165
172
  </xs:annotation>
166
173
  </xs:element>
167
174
  <xs:element name="Localization" type="ns:Localization" minOccurs="0">
@@ -181,19 +188,11 @@
181
188
  <xs:element name="Name" type="xs:string" minOccurs="0"/>
182
189
  <xs:element name="NumberOfPieces" type="xs:nonNegativeInteger" minOccurs="0"/>
183
190
  <xs:element name="Description" type="xs:string" minOccurs="0"/>
191
+ <xs:element name="Purpose" type="ns:CommodityPurposeType" minOccurs="0"/>
184
192
  <xs:element name="CountryOfManufacture" type="xs:string" minOccurs="0"/>
185
193
  <xs:element name="HarmonizedCode" type="xs:string" minOccurs="0"/>
186
194
  <xs:element name="Weight" type="ns:Weight" minOccurs="0"/>
187
- <xs:element name="Quantity" type="xs:nonNegativeInteger" minOccurs="0">
188
- <xs:annotation>
189
- <xs:documentation>This field is used for enterprise transactions.</xs:documentation>
190
- </xs:annotation>
191
- </xs:element>
192
- <xs:element name="QuantityWithFraction" type="xs:decimal" minOccurs="0">
193
- <xs:annotation>
194
- <xs:documentation>This field is only for use in upload file construction and processing.</xs:documentation>
195
- </xs:annotation>
196
- </xs:element>
195
+ <xs:element name="Quantity" type="xs:decimal" minOccurs="0"/>
197
196
  <xs:element name="QuantityUnits" type="xs:string" minOccurs="0"/>
198
197
  <xs:element name="AdditionalMeasures" type="ns:Measure" minOccurs="0" maxOccurs="unbounded">
199
198
  <xs:annotation>
@@ -218,6 +217,12 @@
218
217
  </xs:element>
219
218
  </xs:sequence>
220
219
  </xs:complexType>
220
+ <xs:simpleType name="CommodityPurposeType">
221
+ <xs:restriction base="xs:string">
222
+ <xs:enumeration value="BUSINESS"/>
223
+ <xs:enumeration value="CONSUMER"/>
224
+ </xs:restriction>
225
+ </xs:simpleType>
221
226
  <xs:complexType name="CompletedTrackDetail">
222
227
  <xs:sequence>
223
228
  <xs:element name="HighestSeverity" type="ns:NotificationSeverityType" minOccurs="0"/>
@@ -386,9 +391,6 @@
386
391
  </xs:restriction>
387
392
  </xs:simpleType>
388
393
  <xs:complexType name="Dimensions">
389
- <xs:annotation>
390
- <xs:documentation>The dimensions of this package and the unit type used for the measurements.</xs:documentation>
391
- </xs:annotation>
392
394
  <xs:sequence>
393
395
  <xs:element name="Length" type="xs:nonNegativeInteger" minOccurs="0"/>
394
396
  <xs:element name="Width" type="xs:nonNegativeInteger" minOccurs="0"/>
@@ -414,86 +416,21 @@
414
416
  </xs:sequence>
415
417
  </xs:complexType>
416
418
  <xs:simpleType name="DistanceUnits">
417
- <xs:annotation>
418
- <xs:documentation>Identifies the collection of units of measure that can be associated with a distance value.</xs:documentation>
419
- </xs:annotation>
420
419
  <xs:restriction base="xs:string">
421
420
  <xs:enumeration value="KM"/>
422
421
  <xs:enumeration value="MI"/>
423
422
  </xs:restriction>
424
423
  </xs:simpleType>
425
- <xs:complexType name="EMailNotificationDetail">
426
- <xs:annotation>
427
- <xs:documentation>Information describing email notifications that will be sent in relation to events that occur during package movement</xs:documentation>
428
- </xs:annotation>
424
+ <xs:complexType name="EMailDetail">
429
425
  <xs:sequence>
430
- <xs:element name="PersonalMessage" type="xs:string" minOccurs="0">
426
+ <xs:element name="EmailAddress" type="xs:string" minOccurs="0"/>
427
+ <xs:element name="Name" type="xs:string" minOccurs="0">
431
428
  <xs:annotation>
432
- <xs:documentation>A message that will be included in the email notifications</xs:documentation>
433
- </xs:annotation>
434
- </xs:element>
435
- <xs:element name="Recipients" type="ns:EMailNotificationRecipient" minOccurs="1" maxOccurs="unbounded">
436
- <xs:annotation>
437
- <xs:documentation>Information describing the destination of the email, format of the email and events to be notified on</xs:documentation>
429
+ <xs:documentation>Specifies the name associated with the email address.</xs:documentation>
438
430
  </xs:annotation>
439
431
  </xs:element>
440
432
  </xs:sequence>
441
433
  </xs:complexType>
442
- <xs:simpleType name="EMailNotificationEventType">
443
- <xs:restriction base="xs:string">
444
- <xs:enumeration value="ON_DELIVERY"/>
445
- <xs:enumeration value="ON_EXCEPTION"/>
446
- <xs:enumeration value="ON_SHIPMENT"/>
447
- <xs:enumeration value="ON_TENDER"/>
448
- </xs:restriction>
449
- </xs:simpleType>
450
- <xs:simpleType name="EMailNotificationFormatType">
451
- <xs:annotation>
452
- <xs:documentation>The format of the email</xs:documentation>
453
- </xs:annotation>
454
- <xs:restriction base="xs:string">
455
- <xs:enumeration value="HTML"/>
456
- <xs:enumeration value="TEXT"/>
457
- <xs:enumeration value="WIRELESS"/>
458
- </xs:restriction>
459
- </xs:simpleType>
460
- <xs:complexType name="EMailNotificationRecipient">
461
- <xs:sequence>
462
- <xs:element name="EMailNotificationRecipientType" type="ns:EMailNotificationRecipientType" minOccurs="0">
463
- <xs:annotation>
464
- <xs:documentation>Identifies the relationship this email recipient has to the shipment.</xs:documentation>
465
- </xs:annotation>
466
- </xs:element>
467
- <xs:element name="EMailAddress" type="xs:string" minOccurs="1">
468
- <xs:annotation>
469
- <xs:documentation>The email address to send the notification to</xs:documentation>
470
- </xs:annotation>
471
- </xs:element>
472
- <xs:element name="NotificationEventsRequested" type="ns:EMailNotificationEventType" minOccurs="0" maxOccurs="unbounded">
473
- <xs:annotation>
474
- <xs:documentation>The types of email notifications being requested for this recipient.</xs:documentation>
475
- </xs:annotation>
476
- </xs:element>
477
- <xs:element name="Format" type="ns:EMailNotificationFormatType" minOccurs="1">
478
- <xs:annotation>
479
- <xs:documentation>The format of the email notification.</xs:documentation>
480
- </xs:annotation>
481
- </xs:element>
482
- <xs:element name="Localization" type="ns:Localization" minOccurs="0">
483
- <xs:annotation>
484
- <xs:documentation>The language/locale to be used in this email notification.</xs:documentation>
485
- </xs:annotation>
486
- </xs:element>
487
- </xs:sequence>
488
- </xs:complexType>
489
- <xs:simpleType name="EMailNotificationRecipientType">
490
- <xs:restriction base="xs:string">
491
- <xs:enumeration value="BROKER"/>
492
- <xs:enumeration value="OTHER"/>
493
- <xs:enumeration value="RECIPIENT"/>
494
- <xs:enumeration value="SHIPPER"/>
495
- </xs:restriction>
496
- </xs:simpleType>
497
434
  <xs:complexType name="EdtExciseCondition">
498
435
  <xs:sequence>
499
436
  <xs:element name="Category" type="xs:string" minOccurs="0"/>
@@ -519,14 +456,25 @@
519
456
  <xs:documentation>Identifies a kind of FedEx facility.</xs:documentation>
520
457
  </xs:annotation>
521
458
  <xs:restriction base="xs:string">
459
+ <xs:enumeration value="FEDEX_AUTHORIZED_SHIP_CENTER"/>
460
+ <xs:enumeration value="FEDEX_EXPRESS_STATION"/>
522
461
  <xs:enumeration value="FEDEX_FACILITY"/>
462
+ <xs:enumeration value="FEDEX_FREIGHT_SERVICE_CENTER"/>
463
+ <xs:enumeration value="FEDEX_GROUND_TERMINAL"/>
464
+ <xs:enumeration value="FEDEX_HOME_DELIVERY_STATION"/>
465
+ <xs:enumeration value="FEDEX_OFFICE"/>
466
+ <xs:enumeration value="FEDEX_SELF_SERVICE_LOCATION"/>
523
467
  <xs:enumeration value="FEDEX_SHIPSITE"/>
468
+ <xs:enumeration value="FEDEX_SMART_POST_HUB"/>
469
+ </xs:restriction>
470
+ </xs:simpleType>
471
+ <xs:simpleType name="ImageSizeType">
472
+ <xs:restriction base="xs:string">
473
+ <xs:enumeration value="LARGE"/>
474
+ <xs:enumeration value="SMALL"/>
524
475
  </xs:restriction>
525
476
  </xs:simpleType>
526
477
  <xs:simpleType name="LinearUnits">
527
- <xs:annotation>
528
- <xs:documentation>CM = centimeters, IN = inches</xs:documentation>
529
- </xs:annotation>
530
478
  <xs:restriction base="xs:string">
531
479
  <xs:enumeration value="CM"/>
532
480
  <xs:enumeration value="IN"/>
@@ -657,11 +605,45 @@
657
605
  </xs:element>
658
606
  <xs:element name="MessageParameters" type="ns:NotificationParameter" minOccurs="0" maxOccurs="unbounded">
659
607
  <xs:annotation>
660
- <xs:documentation>A collection of name/value pairs that provide specific data to help the client determine the nature of an error (or warning, etc.) witout having to parse the message string.</xs:documentation>
608
+ <xs:documentation>A collection of name/value pairs that provide specific data to help the client determine the nature of an error (or warning, etc.) without having to parse the message string.</xs:documentation>
609
+ </xs:annotation>
610
+ </xs:element>
611
+ </xs:sequence>
612
+ </xs:complexType>
613
+ <xs:complexType name="NotificationDetail">
614
+ <xs:sequence>
615
+ <xs:element name="NotificationType" type="ns:NotificationType" minOccurs="0">
616
+ <xs:annotation>
617
+ <xs:documentation>Indicates the type of notification that will be sent.</xs:documentation>
618
+ </xs:annotation>
619
+ </xs:element>
620
+ <xs:element name="EmailDetail" type="ns:EMailDetail" minOccurs="0">
621
+ <xs:annotation>
622
+ <xs:documentation>Specifies the email notification details.</xs:documentation>
623
+ </xs:annotation>
624
+ </xs:element>
625
+ <xs:element name="Localization" type="ns:Localization" minOccurs="0">
626
+ <xs:annotation>
627
+ <xs:documentation>Specifies the localization for this notification.</xs:documentation>
661
628
  </xs:annotation>
662
629
  </xs:element>
663
630
  </xs:sequence>
664
631
  </xs:complexType>
632
+ <xs:simpleType name="NotificationEventType">
633
+ <xs:restriction base="xs:string">
634
+ <xs:enumeration value="ON_DELIVERY"/>
635
+ <xs:enumeration value="ON_ESTIMATED_DELIVERY"/>
636
+ <xs:enumeration value="ON_EXCEPTION"/>
637
+ <xs:enumeration value="ON_SHIPMENT"/>
638
+ <xs:enumeration value="ON_TENDER"/>
639
+ </xs:restriction>
640
+ </xs:simpleType>
641
+ <xs:simpleType name="NotificationFormatType">
642
+ <xs:restriction base="xs:string">
643
+ <xs:enumeration value="HTML"/>
644
+ <xs:enumeration value="TEXT"/>
645
+ </xs:restriction>
646
+ </xs:simpleType>
665
647
  <xs:complexType name="NotificationParameter">
666
648
  <xs:sequence>
667
649
  <xs:element name="Id" type="xs:string" minOccurs="0">
@@ -677,9 +659,6 @@
677
659
  </xs:sequence>
678
660
  </xs:complexType>
679
661
  <xs:simpleType name="NotificationSeverityType">
680
- <xs:annotation>
681
- <xs:documentation>Identifies the set of severity values for a Notification.</xs:documentation>
682
- </xs:annotation>
683
662
  <xs:restriction base="xs:string">
684
663
  <xs:enumeration value="ERROR"/>
685
664
  <xs:enumeration value="FAILURE"/>
@@ -688,6 +667,11 @@
688
667
  <xs:enumeration value="WARNING"/>
689
668
  </xs:restriction>
690
669
  </xs:simpleType>
670
+ <xs:simpleType name="NotificationType">
671
+ <xs:restriction base="xs:string">
672
+ <xs:enumeration value="EMAIL"/>
673
+ </xs:restriction>
674
+ </xs:simpleType>
691
675
  <xs:simpleType name="OfficeOrderDeliveryMethodType">
692
676
  <xs:restriction base="xs:string">
693
677
  <xs:enumeration value="COURIER"/>
@@ -716,15 +700,16 @@
716
700
  </xs:restriction>
717
701
  </xs:simpleType>
718
702
  <xs:simpleType name="PackagingType">
719
- <xs:annotation>
720
- <xs:documentation>The enumerated packaging type used for this package.</xs:documentation>
721
- </xs:annotation>
722
703
  <xs:restriction base="xs:string">
723
704
  <xs:enumeration value="FEDEX_10KG_BOX"/>
724
705
  <xs:enumeration value="FEDEX_25KG_BOX"/>
725
706
  <xs:enumeration value="FEDEX_BOX"/>
726
707
  <xs:enumeration value="FEDEX_ENVELOPE"/>
708
+ <xs:enumeration value="FEDEX_EXTRA_LARGE_BOX"/>
709
+ <xs:enumeration value="FEDEX_LARGE_BOX"/>
710
+ <xs:enumeration value="FEDEX_MEDIUM_BOX"/>
727
711
  <xs:enumeration value="FEDEX_PAK"/>
712
+ <xs:enumeration value="FEDEX_SMALL_BOX"/>
728
713
  <xs:enumeration value="FEDEX_TUBE"/>
729
714
  <xs:enumeration value="YOUR_PACKAGING"/>
730
715
  </xs:restriction>
@@ -743,6 +728,44 @@
743
728
  </xs:element>
744
729
  </xs:sequence>
745
730
  </xs:complexType>
731
+ <xs:simpleType name="PhysicalPackagingType">
732
+ <xs:annotation>
733
+ <xs:documentation>This enumeration rationalizes the former FedEx Express international "admissibility package" types (based on ANSI X.12) and the FedEx Freight packaging types. The values represented are those common to both carriers.</xs:documentation>
734
+ </xs:annotation>
735
+ <xs:restriction base="xs:string">
736
+ <xs:enumeration value="BAG"/>
737
+ <xs:enumeration value="BARREL"/>
738
+ <xs:enumeration value="BASKET"/>
739
+ <xs:enumeration value="BOX"/>
740
+ <xs:enumeration value="BUCKET"/>
741
+ <xs:enumeration value="BUNDLE"/>
742
+ <xs:enumeration value="CAGE"/>
743
+ <xs:enumeration value="CARTON"/>
744
+ <xs:enumeration value="CASE"/>
745
+ <xs:enumeration value="CHEST"/>
746
+ <xs:enumeration value="CONTAINER"/>
747
+ <xs:enumeration value="CRATE"/>
748
+ <xs:enumeration value="CYLINDER"/>
749
+ <xs:enumeration value="DRUM"/>
750
+ <xs:enumeration value="ENVELOPE"/>
751
+ <xs:enumeration value="HAMPER"/>
752
+ <xs:enumeration value="OTHER"/>
753
+ <xs:enumeration value="PACKAGE"/>
754
+ <xs:enumeration value="PAIL"/>
755
+ <xs:enumeration value="PALLET"/>
756
+ <xs:enumeration value="PARCEL"/>
757
+ <xs:enumeration value="PIECE"/>
758
+ <xs:enumeration value="REEL"/>
759
+ <xs:enumeration value="ROLL"/>
760
+ <xs:enumeration value="SACK"/>
761
+ <xs:enumeration value="SHRINK_WRAPPED"/>
762
+ <xs:enumeration value="SKID"/>
763
+ <xs:enumeration value="TANK"/>
764
+ <xs:enumeration value="TOTE_BIN"/>
765
+ <xs:enumeration value="TUBE"/>
766
+ <xs:enumeration value="UNIT"/>
767
+ </xs:restriction>
768
+ </xs:simpleType>
746
769
  <xs:simpleType name="PieceCountLocationType">
747
770
  <xs:restriction base="xs:string">
748
771
  <xs:enumeration value="DESTINATION"/>
@@ -890,17 +913,14 @@
890
913
  <xs:documentation>Included in the email notification identifying the requester of this notification.</xs:documentation>
891
914
  </xs:annotation>
892
915
  </xs:element>
893
- <xs:element name="NotificationDetail" type="ns:EMailNotificationDetail" minOccurs="1">
916
+ <xs:element name="EventNotificationDetail" type="ns:ShipmentEventNotificationDetail" minOccurs="0">
894
917
  <xs:annotation>
895
- <xs:documentation>Who to send the email notifications to and for which events. The notificationRecipientType and NotifyOnShipment fields are not used in this request.</xs:documentation>
918
+ <xs:documentation>This replaces eMailNotificationDetail</xs:documentation>
896
919
  </xs:annotation>
897
920
  </xs:element>
898
921
  </xs:sequence>
899
922
  </xs:complexType>
900
923
  <xs:simpleType name="ServiceType">
901
- <xs:annotation>
902
- <xs:documentation>The service type of the package/shipment.</xs:documentation>
903
- </xs:annotation>
904
924
  <xs:restriction base="xs:string">
905
925
  <xs:enumeration value="EUROPE_FIRST_INTERNATIONAL_PRIORITY"/>
906
926
  <xs:enumeration value="FEDEX_1_DAY_FREIGHT"/>
@@ -954,6 +974,41 @@
954
974
  <xs:enumeration value="TRANSBORDER_DISTRIBUTION_CONSOLIDATION"/>
955
975
  </xs:restriction>
956
976
  </xs:simpleType>
977
+ <xs:complexType name="ShipmentEventNotificationDetail">
978
+ <xs:sequence>
979
+ <xs:element name="AggregationType" type="ns:ShipmentNotificationAggregationType" minOccurs="0"/>
980
+ <xs:element name="PersonalMessage" type="xs:string" minOccurs="0"/>
981
+ <xs:element name="EventNotifications" type="ns:ShipmentEventNotificationSpecification" minOccurs="0" maxOccurs="unbounded"/>
982
+ </xs:sequence>
983
+ </xs:complexType>
984
+ <xs:complexType name="ShipmentEventNotificationSpecification">
985
+ <xs:sequence>
986
+ <xs:element name="Role" type="ns:ShipmentNotificationRoleType" minOccurs="0"/>
987
+ <xs:element name="Events" type="ns:NotificationEventType" minOccurs="0" maxOccurs="unbounded"/>
988
+ <xs:element name="NotificationDetail" type="ns:NotificationDetail" minOccurs="0"/>
989
+ <xs:element name="FormatSpecification" type="ns:ShipmentNotificationFormatSpecification" minOccurs="0"/>
990
+ </xs:sequence>
991
+ </xs:complexType>
992
+ <xs:simpleType name="ShipmentNotificationAggregationType">
993
+ <xs:restriction base="xs:string">
994
+ <xs:enumeration value="PER_PACKAGE"/>
995
+ <xs:enumeration value="PER_SHIPMENT"/>
996
+ </xs:restriction>
997
+ </xs:simpleType>
998
+ <xs:complexType name="ShipmentNotificationFormatSpecification">
999
+ <xs:sequence>
1000
+ <xs:element name="Type" type="ns:NotificationFormatType" minOccurs="0"/>
1001
+ </xs:sequence>
1002
+ </xs:complexType>
1003
+ <xs:simpleType name="ShipmentNotificationRoleType">
1004
+ <xs:restriction base="xs:string">
1005
+ <xs:enumeration value="BROKER"/>
1006
+ <xs:enumeration value="OTHER"/>
1007
+ <xs:enumeration value="RECIPIENT"/>
1008
+ <xs:enumeration value="SHIPPER"/>
1009
+ <xs:enumeration value="THIRD_PARTY"/>
1010
+ </xs:restriction>
1011
+ </xs:simpleType>
957
1012
  <xs:complexType name="SignatureImageDetail">
958
1013
  <xs:sequence>
959
1014
  <xs:element name="Image" type="xs:base64Binary" minOccurs="0"/>
@@ -961,9 +1016,6 @@
961
1016
  </xs:sequence>
962
1017
  </xs:complexType>
963
1018
  <xs:complexType name="SignatureProofOfDeliveryFaxReply">
964
- <xs:annotation>
965
- <xs:documentation>FedEx Signature Proof Of Delivery Fax reply.</xs:documentation>
966
- </xs:annotation>
967
1019
  <xs:sequence>
968
1020
  <xs:element name="HighestSeverity" type="ns:NotificationSeverityType" minOccurs="1">
969
1021
  <xs:annotation>
@@ -993,9 +1045,6 @@
993
1045
  </xs:sequence>
994
1046
  </xs:complexType>
995
1047
  <xs:complexType name="SignatureProofOfDeliveryFaxRequest">
996
- <xs:annotation>
997
- <xs:documentation>FedEx Signature Proof Of Delivery Fax request.</xs:documentation>
998
- </xs:annotation>
999
1048
  <xs:sequence>
1000
1049
  <xs:element name="WebAuthenticationDetail" type="ns:WebAuthenticationDetail" minOccurs="1">
1001
1050
  <xs:annotation>
@@ -1040,18 +1089,12 @@
1040
1089
  </xs:sequence>
1041
1090
  </xs:complexType>
1042
1091
  <xs:simpleType name="SignatureProofOfDeliveryImageType">
1043
- <xs:annotation>
1044
- <xs:documentation>Identifies the set of SPOD image types.</xs:documentation>
1045
- </xs:annotation>
1046
1092
  <xs:restriction base="xs:string">
1047
1093
  <xs:enumeration value="PDF"/>
1048
1094
  <xs:enumeration value="PNG"/>
1049
1095
  </xs:restriction>
1050
1096
  </xs:simpleType>
1051
1097
  <xs:complexType name="SignatureProofOfDeliveryLetterReply">
1052
- <xs:annotation>
1053
- <xs:documentation>FedEx Signature Proof Of Delivery Letter reply.</xs:documentation>
1054
- </xs:annotation>
1055
1098
  <xs:sequence>
1056
1099
  <xs:element name="HighestSeverity" type="ns:NotificationSeverityType" minOccurs="1">
1057
1100
  <xs:annotation>
@@ -1081,9 +1124,6 @@
1081
1124
  </xs:sequence>
1082
1125
  </xs:complexType>
1083
1126
  <xs:complexType name="SignatureProofOfDeliveryLetterRequest">
1084
- <xs:annotation>
1085
- <xs:documentation>FedEx Signature Proof Of Delivery Letter request.</xs:documentation>
1086
- </xs:annotation>
1087
1127
  <xs:sequence>
1088
1128
  <xs:element name="WebAuthenticationDetail" type="ns:WebAuthenticationDetail" minOccurs="1">
1089
1129
  <xs:annotation>
@@ -1206,10 +1246,13 @@
1206
1246
  <xs:enumeration value="ORIGINAL_CHARGES"/>
1207
1247
  </xs:restriction>
1208
1248
  </xs:simpleType>
1249
+ <xs:simpleType name="TrackChargesPaymentClassificationType">
1250
+ <xs:restriction base="xs:string">
1251
+ <xs:enumeration value="DUTIES_AND_TAXES"/>
1252
+ <xs:enumeration value="TRANSPORTATION"/>
1253
+ </xs:restriction>
1254
+ </xs:simpleType>
1209
1255
  <xs:simpleType name="TrackDeliveryLocationType">
1210
- <xs:annotation>
1211
- <xs:documentation>The delivery location at the delivered to address.</xs:documentation>
1212
- </xs:annotation>
1213
1256
  <xs:restriction base="xs:string">
1214
1257
  <xs:enumeration value="APARTMENT_OFFICE"/>
1215
1258
  <xs:enumeration value="FEDEX_LOCATION"/>
@@ -1239,9 +1282,6 @@
1239
1282
  </xs:restriction>
1240
1283
  </xs:simpleType>
1241
1284
  <xs:complexType name="TrackDetail">
1242
- <xs:annotation>
1243
- <xs:documentation>Detailed tracking information about a particular package.</xs:documentation>
1244
- </xs:annotation>
1245
1285
  <xs:sequence>
1246
1286
  <xs:element name="Notification" type="ns:Notification" minOccurs="0">
1247
1287
  <xs:annotation>
@@ -1264,6 +1304,11 @@
1264
1304
  <xs:documentation>Specifies details about the status of the shipment being tracked.</xs:documentation>
1265
1305
  </xs:annotation>
1266
1306
  </xs:element>
1307
+ <xs:element name="InformationNotes" type="ns:TrackInformationNoteDetail" minOccurs="0" maxOccurs="unbounded">
1308
+ <xs:annotation>
1309
+ <xs:documentation>Notifications to the end user that provide additional information relevant to the tracked shipment. For example, a notification may indicate that a change in behavior has occurred.</xs:documentation>
1310
+ </xs:annotation>
1311
+ </xs:element>
1267
1312
  <xs:element name="CustomerExceptionRequests" type="ns:CustomerExceptionRequestDetail" minOccurs="0" maxOccurs="unbounded"/>
1268
1313
  <xs:element name="Reconciliation" type="ns:TrackReconciliation" minOccurs="0">
1269
1314
  <xs:annotation>
@@ -1302,11 +1347,7 @@
1302
1347
  <xs:documentation>Specifies the FXO production centre contact and address.</xs:documentation>
1303
1348
  </xs:annotation>
1304
1349
  </xs:element>
1305
- <xs:element name="OtherIdentifiers" type="ns:TrackOtherIdentifierDetail" minOccurs="0" maxOccurs="unbounded">
1306
- <xs:annotation>
1307
- <xs:documentation>Other related identifiers for this package such as reference numbers.</xs:documentation>
1308
- </xs:annotation>
1309
- </xs:element>
1350
+ <xs:element name="OtherIdentifiers" type="ns:TrackOtherIdentifierDetail" minOccurs="0" maxOccurs="unbounded"/>
1310
1351
  <xs:element name="FormId" type="xs:string" minOccurs="0">
1311
1352
  <xs:annotation>
1312
1353
  <xs:documentation>(Returned for CSR SL only.)</xs:documentation>
@@ -1347,6 +1388,7 @@
1347
1388
  <xs:documentation>Strict representation of the Packaging type (e.g. FEDEX_BOX, YOUR_PACKAGING).</xs:documentation>
1348
1389
  </xs:annotation>
1349
1390
  </xs:element>
1391
+ <xs:element name="PhysicalPackagingType" type="ns:PhysicalPackagingType" minOccurs="0"/>
1350
1392
  <xs:element name="PackageSequenceNumber" type="xs:nonNegativeInteger" minOccurs="0">
1351
1393
  <xs:annotation>
1352
1394
  <xs:documentation>The sequence number of this package in a shipment. This would be 2 if it was package number 2 of 4.</xs:documentation>
@@ -1357,6 +1399,11 @@
1357
1399
  <xs:documentation>The number of packages in this shipment.</xs:documentation>
1358
1400
  </xs:annotation>
1359
1401
  </xs:element>
1402
+ <xs:element name="CreatorSoftwareId" type="xs:string" minOccurs="0">
1403
+ <xs:annotation>
1404
+ <xs:documentation>FOR FEDEX INTERNAL USE ONLY: Specifies the software id of the device that was used to create this tracked shipment.</xs:documentation>
1405
+ </xs:annotation>
1406
+ </xs:element>
1360
1407
  <xs:element name="Charges" type="ns:TrackChargeDetail" minOccurs="0" maxOccurs="unbounded">
1361
1408
  <xs:annotation>
1362
1409
  <xs:documentation>Specifies the details about the SPOC details.</xs:documentation>
@@ -1378,9 +1425,14 @@
1378
1425
  <xs:element name="AdvanceNotificationDetail" type="ns:TrackAdvanceNotificationDetail" minOccurs="0"/>
1379
1426
  <xs:element name="SpecialHandlings" type="ns:TrackSpecialHandling" minOccurs="0" maxOccurs="unbounded">
1380
1427
  <xs:annotation>
1381
- <xs:documentation>List of special handlings that applied to this package. (Returned for CSR SL only.)</xs:documentation>
1428
+ <xs:documentation>List of special handlings that applied to this package.</xs:documentation>
1382
1429
  </xs:annotation>
1383
1430
  </xs:element>
1431
+ <xs:element name="Payments" type="ns:TrackPayment" minOccurs="0" maxOccurs="unbounded">
1432
+ <xs:annotation>
1433
+ <xs:documentation>Specifies the details about the payments for the shipment being tracked.</xs:documentation>
1434
+ </xs:annotation>
1435
+ </xs:element>
1384
1436
  <xs:element name="Shipper" type="ns:Contact" minOccurs="0">
1385
1437
  <xs:annotation>
1386
1438
  <xs:documentation>(Returned for CSR SL only.)</xs:documentation>
@@ -1391,11 +1443,7 @@
1391
1443
  <xs:documentation>Indicates last-known possession of package (Returned for CSR SL only.)</xs:documentation>
1392
1444
  </xs:annotation>
1393
1445
  </xs:element>
1394
- <xs:element name="ShipperAddress" type="ns:Address" minOccurs="0">
1395
- <xs:annotation>
1396
- <xs:documentation>The address information for the shipper.</xs:documentation>
1397
- </xs:annotation>
1398
- </xs:element>
1446
+ <xs:element name="ShipperAddress" type="ns:Address" minOccurs="0"/>
1399
1447
  <xs:element name="OriginLocationAddress" type="ns:Address" minOccurs="0">
1400
1448
  <xs:annotation>
1401
1449
  <xs:documentation>The address of the FedEx pickup location/facility.</xs:documentation>
@@ -1406,16 +1454,7 @@
1406
1454
  <xs:documentation>(Returned for CSR SL only.)</xs:documentation>
1407
1455
  </xs:annotation>
1408
1456
  </xs:element>
1409
- <xs:element name="EstimatedPickupTimestamp" type="xs:dateTime" minOccurs="0">
1410
- <xs:annotation>
1411
- <xs:documentation>Estimated package pickup time for shipments that haven't been picked up.</xs:documentation>
1412
- </xs:annotation>
1413
- </xs:element>
1414
- <xs:element name="ShipTimestamp" type="xs:dateTime" minOccurs="0">
1415
- <xs:annotation>
1416
- <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>
1417
- </xs:annotation>
1418
- </xs:element>
1457
+ <xs:element name="DatesOrTimes" type="ns:TrackingDateOrTimestamp" minOccurs="0" maxOccurs="unbounded"/>
1419
1458
  <xs:element name="TotalTransitDistance" type="ns:Distance" minOccurs="0">
1420
1459
  <xs:annotation>
1421
1460
  <xs:documentation>The distance from the origin to the destination. Returned for Custom Critical shipments.</xs:documentation>
@@ -1464,26 +1503,6 @@
1464
1503
  </xs:element>
1465
1504
  <xs:element name="DestinationLocationType" type="ns:FedExLocationType" minOccurs="0"/>
1466
1505
  <xs:element name="DestinationLocationTimeZoneOffset" type="xs:string" minOccurs="0"/>
1467
- <xs:element name="CommitmentTimestamp" type="xs:dateTime" minOccurs="0">
1468
- <xs:annotation>
1469
- <xs:documentation>Date and time the package should be (or should have been) delivered. (Returned for CSR SL only.)</xs:documentation>
1470
- </xs:annotation>
1471
- </xs:element>
1472
- <xs:element name="AppointmentDeliveryTimestamp" type="xs:dateTime" minOccurs="0">
1473
- <xs:annotation>
1474
- <xs:documentation>Date and time the package would be delivered if the package has appointment delivery as a special service.</xs:documentation>
1475
- </xs:annotation>
1476
- </xs:element>
1477
- <xs:element name="EstimatedDeliveryTimestamp" type="xs:dateTime" minOccurs="0">
1478
- <xs:annotation>
1479
- <xs:documentation>Projected package delivery time based on ship time stamp, service and destination. Not populated if delivery has already occurred.</xs:documentation>
1480
- </xs:annotation>
1481
- </xs:element>
1482
- <xs:element name="ActualDeliveryTimestamp" type="xs:dateTime" minOccurs="0">
1483
- <xs:annotation>
1484
- <xs:documentation>The time the package was actually delivered.</xs:documentation>
1485
- </xs:annotation>
1486
- </xs:element>
1487
1506
  <xs:element name="ActualDeliveryAddress" type="ns:Address" minOccurs="0">
1488
1507
  <xs:annotation>
1489
1508
  <xs:documentation>Actual address where package was delivered. Differs from destinationAddress, which indicates where the package was to be delivered; This field tells where delivery actually occurred (next door, at station, etc.)</xs:documentation>
@@ -1524,13 +1543,9 @@
1524
1543
  <xs:documentation>Specifies the total number of unique addresses on the CRNs in a consolidation.</xs:documentation>
1525
1544
  </xs:annotation>
1526
1545
  </xs:element>
1527
- <xs:element name="AvailableImages" type="ns:AvailableImageType" minOccurs="0" maxOccurs="unbounded"/>
1546
+ <xs:element name="AvailableImages" type="ns:AvailableImagesDetail" minOccurs="0" maxOccurs="unbounded"/>
1528
1547
  <xs:element name="Signature" type="ns:SignatureImageDetail" minOccurs="0"/>
1529
- <xs:element name="NotificationEventsAvailable" type="ns:EMailNotificationEventType" minOccurs="0" maxOccurs="unbounded">
1530
- <xs:annotation>
1531
- <xs:documentation>The types of email notifications that are available for the package.</xs:documentation>
1532
- </xs:annotation>
1533
- </xs:element>
1548
+ <xs:element name="NotificationEventsAvailable" type="ns:NotificationEventType" minOccurs="0" maxOccurs="unbounded"/>
1534
1549
  <xs:element name="SplitShipmentParts" type="ns:TrackSplitShipmentPart" minOccurs="0" maxOccurs="unbounded">
1535
1550
  <xs:annotation>
1536
1551
  <xs:documentation>Returned for cargo shipments only when they are currently split across vehicles.</xs:documentation>
@@ -1601,9 +1616,6 @@
1601
1616
  </xs:sequence>
1602
1617
  </xs:complexType>
1603
1618
  <xs:simpleType name="TrackIdentifierType">
1604
- <xs:annotation>
1605
- <xs:documentation>The type of track to be performed.</xs:documentation>
1606
- </xs:annotation>
1607
1619
  <xs:restriction base="xs:string">
1608
1620
  <xs:enumeration value="BILL_OF_LADING"/>
1609
1621
  <xs:enumeration value="COD_RETURN_TRACKING_NUMBER"/>
@@ -1632,6 +1644,20 @@
1632
1644
  <xs:enumeration value="TRANSPORTATION_CONTROL_NUMBER"/>
1633
1645
  </xs:restriction>
1634
1646
  </xs:simpleType>
1647
+ <xs:complexType name="TrackInformationNoteDetail">
1648
+ <xs:sequence>
1649
+ <xs:element name="Code" type="xs:string" minOccurs="0">
1650
+ <xs:annotation>
1651
+ <xs:documentation>A code that designates the type of informational message being returned.</xs:documentation>
1652
+ </xs:annotation>
1653
+ </xs:element>
1654
+ <xs:element name="Description" type="xs:string" minOccurs="0">
1655
+ <xs:annotation>
1656
+ <xs:documentation>The informational message in human readable form.</xs:documentation>
1657
+ </xs:annotation>
1658
+ </xs:element>
1659
+ </xs:sequence>
1660
+ </xs:complexType>
1635
1661
  <xs:complexType name="TrackNotificationPackage">
1636
1662
  <xs:sequence>
1637
1663
  <xs:element name="TrackingNumber" type="xs:string" minOccurs="0">
@@ -1671,11 +1697,7 @@
1671
1697
  <xs:documentation>Options available for a tracking notification recipient.</xs:documentation>
1672
1698
  </xs:annotation>
1673
1699
  <xs:sequence>
1674
- <xs:element name="NotificationEventsAvailable" type="ns:EMailNotificationEventType" minOccurs="0" maxOccurs="unbounded">
1675
- <xs:annotation>
1676
- <xs:documentation>The types of email notifications available for this recipient.</xs:documentation>
1677
- </xs:annotation>
1678
- </xs:element>
1700
+ <xs:element name="NotificationEventsAvailable" type="ns:NotificationEventType" minOccurs="0" maxOccurs="unbounded"/>
1679
1701
  </xs:sequence>
1680
1702
  </xs:complexType>
1681
1703
  <xs:complexType name="TrackOtherIdentifierDetail">
@@ -1702,6 +1724,17 @@
1702
1724
  </xs:element>
1703
1725
  </xs:sequence>
1704
1726
  </xs:complexType>
1727
+ <xs:complexType name="TrackPayment">
1728
+ <xs:sequence>
1729
+ <xs:element name="Classification" type="ns:TrackChargesPaymentClassificationType" minOccurs="0">
1730
+ <xs:annotation>
1731
+ <xs:documentation>Indicates the classification of the charges being paid.</xs:documentation>
1732
+ </xs:annotation>
1733
+ </xs:element>
1734
+ <xs:element name="Type" type="ns:TrackPaymentType" minOccurs="0"/>
1735
+ <xs:element name="Description" type="xs:string" minOccurs="0"/>
1736
+ </xs:sequence>
1737
+ </xs:complexType>
1705
1738
  <xs:simpleType name="TrackPaymentType">
1706
1739
  <xs:restriction base="xs:string">
1707
1740
  <xs:enumeration value="CASH_OR_CHECK_AT_DESTINATION"/>
@@ -1743,9 +1776,6 @@
1743
1776
  </xs:sequence>
1744
1777
  </xs:complexType>
1745
1778
  <xs:complexType name="TrackReply">
1746
- <xs:annotation>
1747
- <xs:documentation>The descriptive data returned from a FedEx package tracking request.</xs:documentation>
1748
- </xs:annotation>
1749
1779
  <xs:sequence>
1750
1780
  <xs:element name="HighestSeverity" type="ns:NotificationSeverityType" minOccurs="1">
1751
1781
  <xs:annotation>
@@ -1775,9 +1805,6 @@
1775
1805
  </xs:sequence>
1776
1806
  </xs:complexType>
1777
1807
  <xs:complexType name="TrackRequest">
1778
- <xs:annotation>
1779
- <xs:documentation>The descriptive data sent by a client to track a FedEx package.</xs:documentation>
1780
- </xs:annotation>
1781
1808
  <xs:sequence>
1782
1809
  <xs:element name="WebAuthenticationDetail" type="ns:WebAuthenticationDetail" minOccurs="1">
1783
1810
  <xs:annotation>
@@ -1920,6 +1947,7 @@
1920
1947
  <xs:enumeration value="ADULT_SIGNATURE_OPTION"/>
1921
1948
  <xs:enumeration value="AIRBILL_AUTOMATION"/>
1922
1949
  <xs:enumeration value="AIRBILL_DELIVERY"/>
1950
+ <xs:enumeration value="ALCOHOL"/>
1923
1951
  <xs:enumeration value="AM_DELIVERY_GUARANTEE"/>
1924
1952
  <xs:enumeration value="APPOINTMENT_DELIVERY"/>
1925
1953
  <xs:enumeration value="BILL_RECIPIENT"/>
@@ -1984,6 +2012,7 @@
1984
2012
  <xs:enumeration value="NET_RETURN"/>
1985
2013
  <xs:enumeration value="NON_BUSINESS_TIME"/>
1986
2014
  <xs:enumeration value="NON_STANDARD_CONTAINER"/>
2015
+ <xs:enumeration value="NO_SIGNATURE_REQUIRED_SIGNATURE_OPTION"/>
1987
2016
  <xs:enumeration value="ORDER_NOTIFY"/>
1988
2017
  <xs:enumeration value="OTHER"/>
1989
2018
  <xs:enumeration value="OTHER_REGULATED_MATERIAL_DOMESTIC"/>
@@ -2094,10 +2123,25 @@
2094
2123
  <xs:element name="AncillaryDetails" type="ns:TrackStatusAncillaryDetail" minOccurs="0" maxOccurs="unbounded"/>
2095
2124
  </xs:sequence>
2096
2125
  </xs:complexType>
2126
+ <xs:complexType name="TrackingDateOrTimestamp">
2127
+ <xs:sequence>
2128
+ <xs:element name="Type" type="ns:TrackingDateOrTimestampType" minOccurs="0"/>
2129
+ <xs:element name="DateOrTimestamp" type="xs:string" minOccurs="0"/>
2130
+ </xs:sequence>
2131
+ </xs:complexType>
2132
+ <xs:simpleType name="TrackingDateOrTimestampType">
2133
+ <xs:restriction base="xs:string">
2134
+ <xs:enumeration value="ACTUAL_DELIVERY"/>
2135
+ <xs:enumeration value="ACTUAL_PICKUP"/>
2136
+ <xs:enumeration value="ACTUAL_TENDER"/>
2137
+ <xs:enumeration value="ANTICIPATED_TENDER"/>
2138
+ <xs:enumeration value="APPOINTMENT_DELIVERY"/>
2139
+ <xs:enumeration value="ESTIMATED_DELIVERY"/>
2140
+ <xs:enumeration value="ESTIMATED_PICKUP"/>
2141
+ <xs:enumeration value="SHIP"/>
2142
+ </xs:restriction>
2143
+ </xs:simpleType>
2097
2144
  <xs:complexType name="TransactionDetail">
2098
- <xs:annotation>
2099
- <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>
2100
- </xs:annotation>
2101
2145
  <xs:sequence>
2102
2146
  <xs:element name="CustomerTransactionId" type="xs:string" minOccurs="0">
2103
2147
  <xs:annotation>
@@ -2129,9 +2173,6 @@
2129
2173
  </xs:sequence>
2130
2174
  </xs:complexType>
2131
2175
  <xs:simpleType name="WeightUnits">
2132
- <xs:annotation>
2133
- <xs:documentation>Identifies the collection of units of measure that can be associated with a weight value.</xs:documentation>
2134
- </xs:annotation>
2135
2176
  <xs:restriction base="xs:string">
2136
2177
  <xs:enumeration value="KG"/>
2137
2178
  <xs:enumeration value="LB"/>
@@ -2142,6 +2183,11 @@
2142
2183
  <xs:documentation>Used in authentication of the sender's identity.</xs:documentation>
2143
2184
  </xs:annotation>
2144
2185
  <xs:sequence>
2186
+ <xs:element name="ParentCredential" type="ns:WebAuthenticationCredential" minOccurs="0">
2187
+ <xs:annotation>
2188
+ <xs:documentation>This was renamed from cspCredential.</xs:documentation>
2189
+ </xs:annotation>
2190
+ </xs:element>
2145
2191
  <xs:element name="UserCredential" type="ns:WebAuthenticationCredential" minOccurs="1">
2146
2192
  <xs:annotation>
2147
2193
  <xs:documentation>Credential used to authenticate a specific software application. This value is provided by FedEx after registration.</xs:documentation>
@@ -2176,7 +2222,7 @@
2176
2222
  <xs:documentation>Identifies a system or sub-system which performs an operation.</xs:documentation>
2177
2223
  </xs:annotation>
2178
2224
  </xs:element>
2179
- <xs:element name="Major" type="xs:int" fixed="8" minOccurs="1">
2225
+ <xs:element name="Major" type="xs:int" fixed="12" minOccurs="1">
2180
2226
  <xs:annotation>
2181
2227
  <xs:documentation>Identifies the service business level.</xs:documentation>
2182
2228
  </xs:annotation>
@@ -2240,7 +2286,7 @@
2240
2286
  <binding name="TrackServiceSoapBinding" type="ns:TrackPortType">
2241
2287
  <s1:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
2242
2288
  <operation name="retrieveSignatureProofOfDeliveryLetter">
2243
- <s1:operation soapAction="http://fedex.com/ws/track/v8/retrieveSignatureProofOfDeliveryLetter" style="document"/>
2289
+ <s1:operation soapAction="http://fedex.com/ws/track/v12/retrieveSignatureProofOfDeliveryLetter" style="document"/>
2244
2290
  <input>
2245
2291
  <s1:body use="literal"/>
2246
2292
  </input>
@@ -2249,7 +2295,7 @@
2249
2295
  </output>
2250
2296
  </operation>
2251
2297
  <operation name="track">
2252
- <s1:operation soapAction="http://fedex.com/ws/track/v8/track" style="document"/>
2298
+ <s1:operation soapAction="http://fedex.com/ws/track/v12/track" style="document"/>
2253
2299
  <input>
2254
2300
  <s1:body use="literal"/>
2255
2301
  </input>
@@ -2258,7 +2304,7 @@
2258
2304
  </output>
2259
2305
  </operation>
2260
2306
  <operation name="sendSignatureProofOfDeliveryFax">
2261
- <s1:operation soapAction="http://fedex.com/ws/track/v8/sendSignatureProofOfDeliveryFax" style="document"/>
2307
+ <s1:operation soapAction="http://fedex.com/ws/track/v12/sendSignatureProofOfDeliveryFax" style="document"/>
2262
2308
  <input>
2263
2309
  <s1:body use="literal"/>
2264
2310
  </input>
@@ -2267,7 +2313,7 @@
2267
2313
  </output>
2268
2314
  </operation>
2269
2315
  <operation name="sendNotifications">
2270
- <s1:operation soapAction="http://fedex.com/ws/track/v8/sendNotifications" style="document"/>
2316
+ <s1:operation soapAction="http://fedex.com/ws/track/v12/sendNotifications" style="document"/>
2271
2317
  <input>
2272
2318
  <s1:body use="literal"/>
2273
2319
  </input>