trackerific 0.7.5 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 169cd0a3af61faa58138ed557bdf5227e0fe9236
4
- data.tar.gz: 12d58f9dfdb254238d3a2dbdfb0a2addc0684d6c
3
+ metadata.gz: 03f510e5abf35ae6b9545466e33d7787c5c44e18
4
+ data.tar.gz: da1c5775d2d1808c8d9ace1925211cc0b51eee8f
5
5
  SHA512:
6
- metadata.gz: 00c47f4f51c27141518ad2136aa2f10f198f3ada22f5a58f1a6f9bd29224753ebf0be9bd35f430172374f9ad2a3e3b21883aa6870bebbf3921d2f599a8ceb8e9
7
- data.tar.gz: 184ae4fe8154dc090cfc598bdcc6f49fc9b4e3e8a78b759d8629391804b1632f8cd341a682e5d5941cb6a146438996f9e7974d6d215622c54f0b58cbb0abc9a9
6
+ metadata.gz: 1a48b9519377b4a30970b685490672ab50537ce27488a8bfc1e247a86e27f4a0869f3a1280fbc7e58105e764d25bfd8909b0cf1af44fd7d990bbe38306e4579b
7
+ data.tar.gz: f9607f4a7cdc7b18bacf85dcbb803feee55442a91463da3d0ae1231d99ac77d7d3a685080963a31fe6f34d9017cf72d2bf9dc6e452e98a4f52d27632cb4075d9
data/.gitignore CHANGED
@@ -6,3 +6,5 @@ measurement
6
6
  coverage
7
7
  doc
8
8
  .ruby-gemset
9
+ .vagrant
10
+
@@ -1,6 +1,5 @@
1
+ sudo: false
1
2
  language: ruby
2
3
  rvm:
3
- - "1.9.3"
4
- - "2.0.0"
5
- - jruby-19mode # JRuby in 1.9 mode
6
- - rbx-19mode
4
+ - 2.3.3
5
+ before_install: gem install bundler -v 1.13.7
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- trackerific (0.7.5)
4
+ trackerific (0.8.0)
5
5
  activesupport
6
6
  builder
7
7
  httparty (>= 0.12.0)
@@ -10,45 +10,52 @@ PATH
10
10
  GEM
11
11
  remote: https://rubygems.org/
12
12
  specs:
13
- activesupport (4.0.0)
14
- i18n (~> 0.6, >= 0.6.4)
15
- minitest (~> 4.2)
16
- multi_json (~> 1.3)
17
- thread_safe (~> 0.1)
18
- tzinfo (~> 0.3.37)
19
- akami (1.2.0)
13
+ activesupport (5.0.1)
14
+ concurrent-ruby (~> 1.0, >= 1.0.2)
15
+ i18n (~> 0.7)
16
+ minitest (~> 5.1)
17
+ tzinfo (~> 1.1)
18
+ akami (1.2.2)
20
19
  gyoku (>= 0.4.0)
21
- nokogiri (>= 1.4.0)
22
- atomic (1.1.14)
20
+ nokogiri
23
21
  builder (3.2.2)
24
- coveralls (0.7.0)
25
- multi_json (~> 1.3)
26
- rest-client
27
- simplecov (>= 0.7)
28
- term-ansicolor
29
- thor
22
+ concurrent-ruby (1.0.4)
23
+ coveralls (0.7.12)
24
+ multi_json (~> 1.10)
25
+ rest-client (>= 1.6.8, < 2)
26
+ simplecov (~> 0.9.1)
27
+ term-ansicolor (~> 1.3)
28
+ thor (~> 0.19.1)
30
29
  diff-lcs (1.1.3)
30
+ docile (1.1.5)
31
+ domain_name (0.5.20161129)
32
+ unf (>= 0.0.5, < 1.0.0)
31
33
  fakeweb (1.3.0)
32
- gyoku (1.1.0)
34
+ gyoku (1.1.1)
33
35
  builder (>= 2.1.2)
34
- httparty (0.12.0)
35
- json (~> 1.8)
36
+ http-cookie (1.0.3)
37
+ domain_name (~> 0.5)
38
+ httparty (0.14.0)
36
39
  multi_xml (>= 0.5.2)
37
- httpi (2.1.0)
40
+ httpi (2.1.1)
38
41
  rack
39
42
  rubyntlm (~> 0.3.2)
40
- i18n (0.6.5)
41
- json (1.8.0)
42
- mime-types (1.25)
43
- minitest (4.7.5)
44
- multi_json (1.8.2)
45
- multi_xml (0.5.5)
46
- nokogiri (1.5.10)
43
+ i18n (0.7.0)
44
+ mime-types (1.25.1)
45
+ mini_portile2 (2.1.0)
46
+ minitest (5.10.1)
47
+ multi_json (1.12.1)
48
+ multi_xml (0.6.0)
49
+ netrc (0.11.0)
50
+ nokogiri (1.7.0)
51
+ mini_portile2 (~> 2.1.0)
47
52
  nori (2.3.0)
48
- rack (1.5.2)
49
- rake (10.1.0)
50
- rest-client (1.6.7)
51
- mime-types (>= 1.16)
53
+ rack (2.0.1)
54
+ rake (10.5.0)
55
+ rest-client (1.8.0)
56
+ http-cookie (>= 1.0.2, < 2.0)
57
+ mime-types (>= 1.16, < 3.0)
58
+ netrc (~> 0.7)
52
59
  rspec (2.6.0)
53
60
  rspec-core (~> 2.6.0)
54
61
  rspec-expectations (~> 2.6.0)
@@ -58,28 +65,33 @@ GEM
58
65
  diff-lcs (~> 1.1.2)
59
66
  rspec-mocks (2.6.0)
60
67
  rubyntlm (0.3.4)
61
- savon (2.3.0)
68
+ savon (2.3.3)
62
69
  akami (~> 1.2.0)
63
70
  builder (>= 2.1.2)
64
71
  gyoku (~> 1.1.0)
65
72
  httpi (~> 2.1.0)
66
- nokogiri (>= 1.4.0, < 1.6)
73
+ nokogiri (>= 1.4.0)
67
74
  nori (~> 2.3.0)
68
- wasabi (~> 3.2.0)
69
- simplecov (0.7.1)
75
+ wasabi (~> 3.2.2)
76
+ simplecov (0.9.2)
77
+ docile (~> 1.1.0)
70
78
  multi_json (~> 1.0)
71
- simplecov-html (~> 0.7.1)
72
- simplecov-html (0.7.1)
73
- term-ansicolor (1.2.2)
74
- tins (~> 0.8)
75
- thor (0.18.1)
76
- thread_safe (0.1.3)
77
- atomic
78
- tins (0.12.0)
79
- tzinfo (0.3.38)
80
- wasabi (3.2.0)
79
+ simplecov-html (~> 0.9.0)
80
+ simplecov-html (0.9.0)
81
+ term-ansicolor (1.4.0)
82
+ tins (~> 1.0)
83
+ thor (0.19.4)
84
+ thread_safe (0.3.5)
85
+ tins (1.13.0)
86
+ tzinfo (1.2.2)
87
+ thread_safe (~> 0.1)
88
+ unf (0.1.4)
89
+ unf_ext
90
+ unf_ext (0.0.7.2)
91
+ wasabi (3.2.3)
81
92
  httpi (~> 2.0)
82
- nokogiri (>= 1.4.0, < 1.6)
93
+ mime-types (< 2.0.0)
94
+ nokogiri (>= 1.4.0)
83
95
 
84
96
  PLATFORMS
85
97
  ruby
@@ -88,6 +100,9 @@ DEPENDENCIES
88
100
  bundler (>= 1.3.5)
89
101
  coveralls (~> 0.7.0)
90
102
  fakeweb (~> 1.3.0)
91
- rake
103
+ rake (< 11)
92
104
  rspec (~> 2.6.0)
93
105
  trackerific!
106
+
107
+ BUNDLED WITH
108
+ 1.13.7
@@ -0,0 +1,10 @@
1
+ # -*- mode: ruby -*-
2
+ # vi: set ft=ruby :
3
+
4
+ # Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
5
+ VAGRANTFILE_API_VERSION = "2"
6
+
7
+ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
8
+ config.vm.box = 'hashicorp/precise64'
9
+ config.vm.network 'private_network', ip: '10.22.2.2'
10
+ end
@@ -6,7 +6,7 @@ class Trackerific::Builders::FedEx < Trackerific::Builders::Base::SOAP.new(
6
6
  # Builds the FedEx track request XML
7
7
  # @api private
8
8
  def build
9
- root_nodes.inject({}) {|r, k| r[k] = send(k); r }
9
+ root_nodes.inject({}) { |r, k| r[k] = send(k); r }
10
10
  end
11
11
 
12
12
  private
@@ -43,7 +43,7 @@ class Trackerific::Builders::FedEx < Trackerific::Builders::Base::SOAP.new(
43
43
  # The version of the FedEx API being used
44
44
  # @api private
45
45
  def version
46
- { service_id: 'trck', major: '8', intermediate: '0', minor: '0' }
46
+ { service_id: 'trck', major: '12', intermediate: '0', minor: '0' }
47
47
  end
48
48
 
49
49
  # Specifies the details needed to select the shipment being requested to
@@ -10,24 +10,28 @@ class Trackerific::Parsers::FedEx < Trackerific::Parsers::Base
10
10
  end
11
11
 
12
12
  def summary
13
- nil
13
+ description(activity.first)
14
14
  end
15
15
 
16
16
  def events
17
- track_details.map do |detail|
18
- Trackerific::Event.new(parse_date(detail), nil, location(detail))
17
+ activity.map do |event|
18
+ Trackerific::Event.new parse_date(event), description(event), location(event)
19
19
  end
20
20
  end
21
21
 
22
22
  private
23
23
 
24
- def location(detail)
25
- a = detail[:destination_address]
24
+ def description(event)
25
+ event[:event_description]
26
+ end
27
+
28
+ def location(event)
29
+ a = event[:address]
26
30
  "#{a[:city]}, #{a[:state_or_province_code]} #{a[:country_code]}"
27
31
  end
28
32
 
29
- def parse_date(detail)
30
- detail[:ship_timestamp]
33
+ def parse_date(event)
34
+ event[:timestamp]
31
35
  end
32
36
 
33
37
  def track_reply
@@ -35,13 +39,13 @@ class Trackerific::Parsers::FedEx < Trackerific::Parsers::Base
35
39
  end
36
40
 
37
41
  def track_details
38
- @track_details ||= begin
39
- details = track_reply[:completed_track_details][:track_details]
40
- details.select do |d|
41
- d[:ship_timestamp].present? && d[:destination_address].present? &&
42
- d[:destination_address][:city].present? &&
43
- d[:destination_address][:state_or_province_code].present?
44
- end
42
+ @track_details ||= track_reply[:completed_track_details][:track_details]
43
+ end
44
+
45
+ def activity
46
+ @activity ||= begin
47
+ a = track_details[:events]
48
+ a.is_a?(Array) ? a : [a]
45
49
  end
46
50
  end
47
51
 
@@ -53,3 +57,4 @@ class Trackerific::Parsers::FedEx < Trackerific::Parsers::Base
53
57
  track_reply[:notifications]
54
58
  end
55
59
  end
60
+
@@ -5,7 +5,13 @@ class Trackerific::Services::FedEx < Trackerific::Services::Base
5
5
  config.track_operation = :track
6
6
  config.builder = Trackerific::Builders::FedEx
7
7
  config.parser = Trackerific::Parsers::FedEx
8
- config.wsdl = 'fedex/TrackService_v8'
9
- config.package_id_matchers = [ /^[0-9]{15}$/ ]
8
+ config.wsdl = 'fedex/TrackService_v12'
9
+ config.package_id_matchers = [
10
+ /\b96\d{20}\b/ ,
11
+ /\b\d{15}\b/ ,
12
+ /\b\d{12}\b/ ,
13
+ /\b((98\d{5}?\d{3}|98\d{2}) ?\d{4} ?\d{4}( ?\d{2})?)\b/ ,
14
+ ]
10
15
  end
11
16
  end
17
+
@@ -1,3 +1,3 @@
1
1
  module Trackerific
2
- VERSION = "0.7.5"
2
+ VERSION = "0.8.0"
3
3
  end
@@ -1 +1,155 @@
1
- <SOAP-ENV:Envelope xmlns:SOAP-ENV='http://schemas.xmlsoap.org/soap/envelope/'><SOAP-ENV:Header/><SOAP-ENV:Body><TrackReply xmlns='http://fedex.com/ws/track/v8'><HighestSeverity>SUCCESS</HighestSeverity><Notifications><Severity>SUCCESS</Severity><Source>trck</Source><Code>0</Code><Message>Request was successfully processed.</Message><LocalizedMessage>Request was successfully processed.</LocalizedMessage></Notifications><TransactionDetail><CustomerTransactionId>d7200b02a2d97651</CustomerTransactionId></TransactionDetail><Version><ServiceId>trck</ServiceId><Major>8</Major><Intermediate>0</Intermediate><Minor>0</Minor></Version><CompletedTrackDetails><HighestSeverity>SUCCESS</HighestSeverity><DuplicateWaybill>true</DuplicateWaybill><MoreData>false</MoreData><TrackDetailsCount>0</TrackDetailsCount><TrackDetails><Notification><Severity>SUCCESS</Severity><Source>trck</Source><Code>0</Code><Message>Request was successfully processed.</Message><LocalizedMessage>Request was successfully processed.</LocalizedMessage></Notification><TrackingNumber>123456789012</TrackingNumber><TrackingNumberUniqueIdentifier>22013~123456789012~FDEG</TrackingNumberUniqueIdentifier><CarrierCode>FDXG</CarrierCode><OperatingCompanyOrCarrierDescription>FedEx Ground</OperatingCompanyOrCarrierDescription><PackageSequenceNumber>0</PackageSequenceNumber><PackageCount>0</PackageCount><DeliveryAttempts>0</DeliveryAttempts><TotalUniqueAddressCountInConsolidation>0</TotalUniqueAddressCountInConsolidation></TrackDetails><TrackDetails><Notification><Severity>SUCCESS</Severity><Source>trck</Source><Code>0</Code><Message>Request was successfully processed.</Message><LocalizedMessage>Request was successfully processed.</LocalizedMessage></Notification><TrackingNumber>123456789012</TrackingNumber><TrackingNumberUniqueIdentifier>2456464000~123456789012~FX</TrackingNumberUniqueIdentifier><CarrierCode>FDXE</CarrierCode><OperatingCompanyOrCarrierDescription>FedEx Express</OperatingCompanyOrCarrierDescription><PackageSequenceNumber>0</PackageSequenceNumber><PackageCount>0</PackageCount><ShipTimestamp>2013-06-25T00:00:00</ShipTimestamp><DestinationAddress><City>new york</City><StateOrProvinceCode>NY</StateOrProvinceCode><CountryCode>US</CountryCode><CountryName>United States</CountryName><Residential>false</Residential></DestinationAddress><DeliveryAttempts>0</DeliveryAttempts><TotalUniqueAddressCountInConsolidation>0</TotalUniqueAddressCountInConsolidation></TrackDetails><TrackDetails><Notification><Severity>SUCCESS</Severity><Source>trck</Source><Code>0</Code><Message>Request was successfully processed.</Message><LocalizedMessage>Request was successfully processed.</LocalizedMessage></Notification><TrackingNumber>123456789012</TrackingNumber><TrackingNumberUniqueIdentifier>2456470000~123456789012~FX</TrackingNumberUniqueIdentifier><CarrierCode>FDXE</CarrierCode><OperatingCompanyOrCarrierDescription>FedEx Express</OperatingCompanyOrCarrierDescription><PackageSequenceNumber>0</PackageSequenceNumber><PackageCount>0</PackageCount><ShipTimestamp>2013-06-27T00:00:00</ShipTimestamp><DestinationAddress><City>Memphis</City><StateOrProvinceCode>TN</StateOrProvinceCode><CountryCode>US</CountryCode><CountryName>United States</CountryName><Residential>false</Residential></DestinationAddress><DeliveryAttempts>0</DeliveryAttempts><TotalUniqueAddressCountInConsolidation>0</TotalUniqueAddressCountInConsolidation></TrackDetails><TrackDetails><Notification><Severity>SUCCESS</Severity><Source>trck</Source><Code>0</Code><Message>Request was successfully processed.</Message><LocalizedMessage>Request was successfully processed.</LocalizedMessage></Notification><TrackingNumber>123456789012</TrackingNumber><TrackingNumberUniqueIdentifier>2456490000~123456789012~FX</TrackingNumberUniqueIdentifier><CarrierCode>FDXE</CarrierCode><OperatingCompanyOrCarrierDescription>FedEx Express</OperatingCompanyOrCarrierDescription><PackageSequenceNumber>0</PackageSequenceNumber><PackageCount>0</PackageCount><ShipTimestamp>2013-07-16T00:00:00</ShipTimestamp><DestinationAddress><Residential>false</Residential></DestinationAddress><DeliveryAttempts>0</DeliveryAttempts><TotalUniqueAddressCountInConsolidation>0</TotalUniqueAddressCountInConsolidation></TrackDetails><TrackDetails><Notification><Severity>SUCCESS</Severity><Source>trck</Source><Code>0</Code><Message>Request was successfully processed.</Message><LocalizedMessage>Request was successfully processed.</LocalizedMessage></Notification><TrackingNumber>123456789012</TrackingNumber><TrackingNumberUniqueIdentifier>2456492000~123456789012~FX</TrackingNumberUniqueIdentifier><CarrierCode>FDXE</CarrierCode><OperatingCompanyOrCarrierDescription>FedEx Express</OperatingCompanyOrCarrierDescription><PackageSequenceNumber>0</PackageSequenceNumber><PackageCount>0</PackageCount><ShipTimestamp>2013-07-17T00:00:00</ShipTimestamp><DestinationAddress><Residential>false</Residential></DestinationAddress><DeliveryAttempts>0</DeliveryAttempts><TotalUniqueAddressCountInConsolidation>0</TotalUniqueAddressCountInConsolidation></TrackDetails><TrackDetails><Notification><Severity>SUCCESS</Severity><Source>trck</Source><Code>0</Code><Message>Request was successfully processed.</Message><LocalizedMessage>Request was successfully processed.</LocalizedMessage></Notification><TrackingNumber>123456789012</TrackingNumber><TrackingNumberUniqueIdentifier>2456493000~123456789012~FX</TrackingNumberUniqueIdentifier><CarrierCode>FDXE</CarrierCode><OperatingCompanyOrCarrierDescription>FedEx Express</OperatingCompanyOrCarrierDescription><PackageSequenceNumber>0</PackageSequenceNumber><PackageCount>0</PackageCount><ShipTimestamp>2013-07-19T00:00:00</ShipTimestamp><DestinationAddress><Residential>false</Residential></DestinationAddress><DeliveryAttempts>0</DeliveryAttempts><TotalUniqueAddressCountInConsolidation>0</TotalUniqueAddressCountInConsolidation></TrackDetails><TrackDetails><Notification><Severity>SUCCESS</Severity><Source>trck</Source><Code>0</Code><Message>Request was successfully processed.</Message><LocalizedMessage>Request was successfully processed.</LocalizedMessage></Notification><TrackingNumber>123456789012</TrackingNumber><TrackingNumberUniqueIdentifier>2456514000~123456789012~FX</TrackingNumberUniqueIdentifier><CarrierCode>FDXE</CarrierCode><OperatingCompanyOrCarrierDescription>FedEx Express</OperatingCompanyOrCarrierDescription><PackageSequenceNumber>0</PackageSequenceNumber><PackageCount>0</PackageCount><ShipTimestamp>2013-08-09T00:00:00</ShipTimestamp><DestinationAddress><Residential>false</Residential></DestinationAddress><DeliveryAttempts>0</DeliveryAttempts><TotalUniqueAddressCountInConsolidation>0</TotalUniqueAddressCountInConsolidation></TrackDetails><TrackDetails><Notification><Severity>SUCCESS</Severity><Source>trck</Source><Code>0</Code><Message>Request was successfully processed.</Message><LocalizedMessage>Request was successfully processed.</LocalizedMessage></Notification><TrackingNumber>123456789012</TrackingNumber><TrackingNumberUniqueIdentifier>2456525000~123456789012~FX</TrackingNumberUniqueIdentifier><CarrierCode>FDXE</CarrierCode><OperatingCompanyOrCarrierDescription>FedEx Express</OperatingCompanyOrCarrierDescription><PackageSequenceNumber>0</PackageSequenceNumber><PackageCount>0</PackageCount><ShipTimestamp>2013-08-20T00:00:00</ShipTimestamp><DestinationAddress><City>CITY OF INDUSTRY</City><StateOrProvinceCode>CA</StateOrProvinceCode><CountryCode>US</CountryCode><CountryName>United States</CountryName><Residential>false</Residential></DestinationAddress><DeliveryAttempts>0</DeliveryAttempts><TotalUniqueAddressCountInConsolidation>0</TotalUniqueAddressCountInConsolidation></TrackDetails><TrackDetails><Notification><Severity>SUCCESS</Severity><Source>trck</Source><Code>0</Code><Message>Request was successfully processed.</Message><LocalizedMessage>Request was successfully processed.</LocalizedMessage></Notification><TrackingNumber>123456789012</TrackingNumber><TrackingNumberUniqueIdentifier>2456539000~123456789012~FX</TrackingNumberUniqueIdentifier><CarrierCode>FDXE</CarrierCode><OperatingCompanyOrCarrierDescription>FedEx Express</OperatingCompanyOrCarrierDescription><PackageSequenceNumber>0</PackageSequenceNumber><PackageCount>0</PackageCount><ShipTimestamp>2013-09-03T00:00:00</ShipTimestamp><DestinationAddress><Residential>false</Residential></DestinationAddress><DeliveryAttempts>0</DeliveryAttempts><TotalUniqueAddressCountInConsolidation>0</TotalUniqueAddressCountInConsolidation></TrackDetails><TrackDetails><Notification><Severity>SUCCESS</Severity><Source>trck</Source><Code>0</Code><Message>Request was successfully processed.</Message><LocalizedMessage>Request was successfully processed.</LocalizedMessage></Notification><TrackingNumber>123456789012</TrackingNumber><TrackingNumberUniqueIdentifier>2456540000~123456789012~FX</TrackingNumberUniqueIdentifier><CarrierCode>FDXE</CarrierCode><OperatingCompanyOrCarrierDescription>FedEx Express</OperatingCompanyOrCarrierDescription><PackageSequenceNumber>0</PackageSequenceNumber><PackageCount>0</PackageCount><ShipTimestamp>2013-08-24T00:00:00</ShipTimestamp><DestinationAddress><Residential>false</Residential></DestinationAddress><DeliveryAttempts>0</DeliveryAttempts><TotalUniqueAddressCountInConsolidation>0</TotalUniqueAddressCountInConsolidation></TrackDetails><TrackDetails><Notification><Severity>SUCCESS</Severity><Source>trck</Source><Code>0</Code><Message>Request was successfully processed.</Message><LocalizedMessage>Request was successfully processed.</LocalizedMessage></Notification><TrackingNumber>123456789012</TrackingNumber><TrackingNumberUniqueIdentifier>2456560000~123456789012~FX</TrackingNumberUniqueIdentifier><CarrierCode>FDXE</CarrierCode><OperatingCompanyOrCarrierDescription>FedEx Express</OperatingCompanyOrCarrierDescription><PackageSequenceNumber>0</PackageSequenceNumber><PackageCount>0</PackageCount><ShipTimestamp>2013-10-10T00:00:00</ShipTimestamp><DestinationAddress><City>ST JACKSON</City><StateOrProvinceCode>MS</StateOrProvinceCode><CountryCode>US</CountryCode><CountryName>United States</CountryName><Residential>false</Residential></DestinationAddress><DeliveryAttempts>0</DeliveryAttempts><TotalUniqueAddressCountInConsolidation>0</TotalUniqueAddressCountInConsolidation></TrackDetails><TrackDetails><Notification><Severity>SUCCESS</Severity><Source>trck</Source><Code>0</Code><Message>Request was successfully processed.</Message><LocalizedMessage>Request was successfully processed.</LocalizedMessage></Notification><TrackingNumber>123456789012</TrackingNumber><TrackingNumberUniqueIdentifier>2456570000~123456789012~FX</TrackingNumberUniqueIdentifier><CarrierCode>FDXE</CarrierCode><OperatingCompanyOrCarrierDescription>FedEx Express</OperatingCompanyOrCarrierDescription><PackageSequenceNumber>0</PackageSequenceNumber><PackageCount>0</PackageCount><ShipTimestamp>2013-10-03T00:00:00</ShipTimestamp><DestinationAddress><City>Ontonagon</City><StateOrProvinceCode>MI</StateOrProvinceCode><CountryCode>US</CountryCode><CountryName>United States</CountryName><Residential>false</Residential></DestinationAddress><DeliveryAttempts>0</DeliveryAttempts><TotalUniqueAddressCountInConsolidation>0</TotalUniqueAddressCountInConsolidation></TrackDetails></CompletedTrackDetails></TrackReply></SOAP-ENV:Body></SOAP-ENV:Envelope>
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
3
+ <SOAP-ENV:Header/>
4
+ <SOAP-ENV:Body>
5
+ <TrackReply xmlns="http://fedex.com/ws/track/v10">
6
+ <HighestSeverity>SUCCESS</HighestSeverity>
7
+ <Notifications>
8
+ <Severity>SUCCESS</Severity>
9
+ <Source>trck</Source>
10
+ <Code>0</Code>
11
+ <Message>Request was successfully processed.</Message>
12
+ <LocalizedMessage>Request was successfully processed.</LocalizedMessage>
13
+ </Notifications>
14
+ <TransactionDetail>
15
+ <CustomerTransactionId>Track By Number_v10_29thOct</CustomerTransactionId>
16
+ <Localization>
17
+ <LanguageCode>EN</LanguageCode>
18
+ <LocaleCode>US</LocaleCode>
19
+ </Localization>
20
+ </TransactionDetail>
21
+ <Version>
22
+ <ServiceId>trck</ServiceId>
23
+ <Major>10</Major>
24
+ <Intermediate>0</Intermediate>
25
+ <Minor>0</Minor>
26
+ </Version>
27
+ <CompletedTrackDetails>
28
+ <HighestSeverity>SUCCESS</HighestSeverity>
29
+ <Notifications>
30
+ <Severity>SUCCESS</Severity>
31
+ <Source>trck</Source>
32
+ <Code>0</Code>
33
+ <Message>Request was successfully processed.</Message>
34
+ <LocalizedMessage>Request was successfully processed.</LocalizedMessage>
35
+ </Notifications>
36
+ <DuplicateWaybill>false</DuplicateWaybill>
37
+ <MoreData>false</MoreData>
38
+ <TrackDetailsCount>0</TrackDetailsCount>
39
+ <TrackDetails>
40
+ <Notification>
41
+ <Severity>SUCCESS</Severity>
42
+ <Source>trck</Source>
43
+ <Code>0</Code>
44
+ <Message>Request was successfully processed.</Message>
45
+ <LocalizedMessage>Request was successfully processed.</LocalizedMessage>
46
+ </Notification>
47
+ <TrackingNumber>XXXXXXXXXX</TrackingNumber>
48
+ <TrackingNumberUniqueIdentifier>2456850000~845102211554~FX</TrackingNumberUniqueIdentifier>
49
+ <StatusDetail>
50
+ <CreationTime>2014-07-16T00:00:00</CreationTime>
51
+ <Code>DL</Code>
52
+ <Description>Delivered</Description>
53
+ <Location>
54
+ <StreetLines>32 EXCHANGE TER</StreetLines>
55
+ <City>Prov</City>
56
+ <StateOrProvinceCode>RI</StateOrProvinceCode>
57
+ <CountryCode>US</CountryCode>
58
+ <CountryName>United States</CountryName>
59
+ <Residential>false</Residential>
60
+ </Location>
61
+ </StatusDetail>
62
+ <CarrierCode>FDXE</CarrierCode>
63
+ <OperatingCompanyOrCarrierDescription>FedEx Express</OperatingCompanyOrCarrierDescription>
64
+ <Service>
65
+ <Type>FEDEX_EXPRESS_SAVER</Type>
66
+ <Description>FedEx Express Saver</Description>
67
+ <ShortDescription>XS</ShortDescription>
68
+ </Service>
69
+ <PackageWeight>
70
+ <Units>LB</Units>
71
+ <Value>52.0</Value>
72
+ </PackageWeight>
73
+ <PackageDimensions>
74
+ <Length>25</Length>
75
+ <Width>21</Width>
76
+ <Height>19</Height>
77
+ <Units>IN</Units>
78
+ </PackageDimensions>
79
+ <ShipmentWeight>
80
+ <Units>LB</Units>
81
+ <Value>49.0</Value>
82
+ </ShipmentWeight>
83
+ <Packaging>Your Packaging</Packaging>
84
+ <PackagingType>YOUR_PACKAGING</PackagingType>
85
+ <PackageSequenceNumber>1</PackageSequenceNumber>
86
+ <PackageCount>1</PackageCount>
87
+ <SpecialHandlings>
88
+ <Type>DELIVER_WEEKDAY</Type>
89
+ <Description>Deliver Weekday</Description>
90
+ <PaymentType>OTHER</PaymentType>
91
+ </SpecialHandlings>
92
+ <SpecialHandlings>
93
+ <Type>NO_SIGNATURE_REQUIRED_SIGNATURE_OPTION</Type>
94
+ <Description>No Signature Required</Description>
95
+ <PaymentType>OTHER</PaymentType>
96
+ </SpecialHandlings>
97
+ <ShipTimestamp>2014-07-11T16:04:00-07:00</ShipTimestamp>
98
+ <DestinationAddress>
99
+ <City>Prov</City>
100
+ <StateOrProvinceCode>RI</StateOrProvinceCode>
101
+ <CountryCode>US</CountryCode>
102
+ <CountryName>United States</CountryName>
103
+ <Residential>false</Residential>
104
+ </DestinationAddress>
105
+ <ActualDeliveryTimestamp>2014-07-16T12:35:00-04:00</ActualDeliveryTimestamp>
106
+ <ActualDeliveryAddress>
107
+ <City>Prov</City>
108
+ <StateOrProvinceCode>RI</StateOrProvinceCode>
109
+ <CountryCode>US</CountryCode>
110
+ <CountryName>United States</CountryName>
111
+ <Residential>false</Residential>
112
+ </ActualDeliveryAddress>
113
+ <DeliveryLocationType>RECEPTIONIST_OR_FRONT_DESK</DeliveryLocationType>
114
+ <DeliveryLocationDescription>Receptionist/Front Desk</DeliveryLocationDescription>
115
+ <DeliveryAttempts>0</DeliveryAttempts>
116
+ <DeliverySignatureName>J.ELLIOTT</DeliverySignatureName>
117
+ <TotalUniqueAddressCountInConsolidation>0</TotalUniqueAddressCountInConsolidation>
118
+ <AvailableImages>SIGNATURE_PROOF_OF_DELIVERY</AvailableImages>
119
+ <NotificationEventsAvailable>ON_DELIVERY</NotificationEventsAvailable>
120
+ <DeliveryOptionEligibilityDetails>
121
+ <Option>INDIRECT_SIGNATURE_RELEASE</Option>
122
+ <Eligibility>INELIGIBLE</Eligibility>
123
+ </DeliveryOptionEligibilityDetails>
124
+ <DeliveryOptionEligibilityDetails>
125
+ <Option>REDIRECT_TO_HOLD_AT_LOCATION</Option>
126
+ <Eligibility>INELIGIBLE</Eligibility>
127
+ </DeliveryOptionEligibilityDetails>
128
+ <DeliveryOptionEligibilityDetails>
129
+ <Option>REROUTE</Option>
130
+ <Eligibility>INELIGIBLE</Eligibility>
131
+ </DeliveryOptionEligibilityDetails>
132
+ <DeliveryOptionEligibilityDetails>
133
+ <Option>RESCHEDULE</Option>
134
+ <Eligibility>INELIGIBLE</Eligibility>
135
+ </DeliveryOptionEligibilityDetails>
136
+ <Events>
137
+ <Timestamp>2014-07-16T12:35:00-04:00</Timestamp>
138
+ <EventType>DL</EventType>
139
+ <EventDescription>Delivered</EventDescription>
140
+ <Address>
141
+ <City>Prov</City>
142
+ <StateOrProvinceCode>RI</StateOrProvinceCode>
143
+ <PostalCode>02903</PostalCode>
144
+ <CountryCode>US</CountryCode>
145
+ <CountryName>United States</CountryName>
146
+ <Residential>false</Residential>
147
+ </Address>
148
+ <ArrivalLocation>DELIVERY_LOCATION</ArrivalLocation>
149
+ </Events>
150
+ </TrackDetails>
151
+ </CompletedTrackDetails>
152
+ </TrackReply>
153
+ </SOAP-ENV:Body>
154
+ </SOAP-ENV:Envelope>
155
+