active_shipping 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (81) hide show
  1. data/.gitignore +6 -0
  2. data/CHANGELOG +23 -0
  3. data/MIT-LICENSE +20 -0
  4. data/README.markdown +173 -0
  5. data/Rakefile +55 -0
  6. data/VERSION +1 -0
  7. data/init.rb +1 -0
  8. data/lib/active_shipping.rb +50 -0
  9. data/lib/active_shipping/lib/connection.rb +170 -0
  10. data/lib/active_shipping/lib/country.rb +319 -0
  11. data/lib/active_shipping/lib/error.rb +4 -0
  12. data/lib/active_shipping/lib/post_data.rb +22 -0
  13. data/lib/active_shipping/lib/posts_data.rb +47 -0
  14. data/lib/active_shipping/lib/requires_parameters.rb +16 -0
  15. data/lib/active_shipping/lib/utils.rb +18 -0
  16. data/lib/active_shipping/lib/validateable.rb +76 -0
  17. data/lib/active_shipping/shipping/base.rb +15 -0
  18. data/lib/active_shipping/shipping/carrier.rb +75 -0
  19. data/lib/active_shipping/shipping/carriers.rb +17 -0
  20. data/lib/active_shipping/shipping/carriers/bogus_carrier.rb +16 -0
  21. data/lib/active_shipping/shipping/carriers/fedex.rb +315 -0
  22. data/lib/active_shipping/shipping/carriers/shipwire.rb +167 -0
  23. data/lib/active_shipping/shipping/carriers/ups.rb +368 -0
  24. data/lib/active_shipping/shipping/carriers/usps.rb +496 -0
  25. data/lib/active_shipping/shipping/location.rb +100 -0
  26. data/lib/active_shipping/shipping/package.rb +144 -0
  27. data/lib/active_shipping/shipping/rate_estimate.rb +54 -0
  28. data/lib/active_shipping/shipping/rate_response.rb +19 -0
  29. data/lib/active_shipping/shipping/response.rb +49 -0
  30. data/lib/active_shipping/shipping/shipment_event.rb +14 -0
  31. data/lib/active_shipping/shipping/tracking_response.rb +22 -0
  32. data/lib/certs/cacert.pem +7815 -0
  33. data/lib/vendor/quantified/MIT-LICENSE +22 -0
  34. data/lib/vendor/quantified/README.markdown +49 -0
  35. data/lib/vendor/quantified/Rakefile +21 -0
  36. data/lib/vendor/quantified/init.rb +0 -0
  37. data/lib/vendor/quantified/lib/quantified.rb +6 -0
  38. data/lib/vendor/quantified/lib/quantified/attribute.rb +208 -0
  39. data/lib/vendor/quantified/lib/quantified/length.rb +20 -0
  40. data/lib/vendor/quantified/lib/quantified/mass.rb +19 -0
  41. data/lib/vendor/quantified/test/length_test.rb +92 -0
  42. data/lib/vendor/quantified/test/mass_test.rb +88 -0
  43. data/lib/vendor/quantified/test/test_helper.rb +2 -0
  44. data/lib/vendor/test_helper.rb +13 -0
  45. data/lib/vendor/xml_node/README +36 -0
  46. data/lib/vendor/xml_node/Rakefile +21 -0
  47. data/lib/vendor/xml_node/benchmark/bench_generation.rb +32 -0
  48. data/lib/vendor/xml_node/init.rb +1 -0
  49. data/lib/vendor/xml_node/lib/xml_node.rb +222 -0
  50. data/lib/vendor/xml_node/test/test_generating.rb +94 -0
  51. data/lib/vendor/xml_node/test/test_parsing.rb +43 -0
  52. data/test/fixtures.yml +13 -0
  53. data/test/fixtures/xml/fedex/ottawa_to_beverly_hills_rate_request.xml +67 -0
  54. data/test/fixtures/xml/fedex/ottawa_to_beverly_hills_rate_response.xml +213 -0
  55. data/test/fixtures/xml/fedex/tracking_request.xml +27 -0
  56. data/test/fixtures/xml/fedex/tracking_response.xml +153 -0
  57. data/test/fixtures/xml/shipwire/international_rates_response.xml +17 -0
  58. data/test/fixtures/xml/shipwire/invalid_credentials_response.xml +4 -0
  59. data/test/fixtures/xml/shipwire/new_carrier_rate_response.xml +18 -0
  60. data/test/fixtures/xml/shipwire/no_rates_response.xml +7 -0
  61. data/test/fixtures/xml/shipwire/rates_response.xml +36 -0
  62. data/test/fixtures/xml/ups/example_tracking_response.xml +53 -0
  63. data/test/fixtures/xml/ups/shipment_from_tiger_direct.xml +222 -0
  64. data/test/fixtures/xml/ups/test_real_home_as_residential_destination_response.xml +1 -0
  65. data/test/fixtures/xml/usps/beverly_hills_to_ottawa_book_rate_response.xml +85 -0
  66. data/test/fixtures/xml/usps/beverly_hills_to_ottawa_book_wii_rate_response.xml +168 -0
  67. data/test/fixtures/xml/usps/beverly_hills_to_ottawa_wii_rate_response.xml +85 -0
  68. data/test/remote/fedex_test.rb +140 -0
  69. data/test/remote/shipwire_test.rb +88 -0
  70. data/test/remote/ups_test.rb +187 -0
  71. data/test/remote/usps_test.rb +184 -0
  72. data/test/test_helper.rb +167 -0
  73. data/test/unit/base_test.rb +18 -0
  74. data/test/unit/carriers/fedex_test.rb +78 -0
  75. data/test/unit/carriers/shipwire_test.rb +130 -0
  76. data/test/unit/carriers/ups_test.rb +81 -0
  77. data/test/unit/carriers/usps_test.rb +206 -0
  78. data/test/unit/location_test.rb +46 -0
  79. data/test/unit/package_test.rb +65 -0
  80. data/test/unit/response_test.rb +10 -0
  81. metadata +158 -0
@@ -0,0 +1,43 @@
1
+ require 'rubygems'
2
+ require 'active_support'
3
+ require "test/unit"
4
+
5
+ require File.dirname(__FILE__) + "/../lib/xml_node"
6
+
7
+ class TestXmlNode < Test::Unit::TestCase
8
+
9
+ def test_parse_sanity
10
+ assert_raise(ArgumentError) { XmlNode.parse }
11
+ assert_nothing_raised { XmlNode.parse('<feed/>') }
12
+ end
13
+
14
+
15
+ def test_parse_attributes
16
+ node = XmlNode.parse('<feed attr="1"/>')
17
+ assert_equal '1', node['attr']
18
+ assert_equal nil, node['attr2']
19
+ end
20
+
21
+ def test_parse_children
22
+ node = XmlNode.parse('<feed><element>text</element></feed>')
23
+ assert_equal XmlNode, node.children['element'].class
24
+ assert_equal 'text', node.children['element'].text
25
+ end
26
+
27
+ def test_enumerate_children
28
+ count = 0
29
+ XmlNode.parse('<feed><element>text</element><element>text</element></feed>').children.each { count += 1 }
30
+ assert_equal 2, count
31
+ end
32
+
33
+ def test_find_first
34
+ xml = XmlNode.parse('<feed><elem>1</elem><elem>2</elem><elem>3</elem></feed>')
35
+ assert_equal '1', xml.find(:first, '//elem').text
36
+ end
37
+
38
+ def test_find_all
39
+ xml = XmlNode.parse('<feed><elem>1</elem><elem>2</elem><elem>3</elem></feed>')
40
+ assert_equal ['1', '2', '3'], xml.find(:all, '//elem').collect(&:text)
41
+ end
42
+
43
+ end
@@ -0,0 +1,13 @@
1
+ usps:
2
+ login: APIKey
3
+ ups:
4
+ key: XmlAccessKey
5
+ login: UPSDotComLogin
6
+ password: UPSDotComPassword
7
+ fedex:
8
+ login: FedExAccountNumber
9
+ password: FedExMeterNumber
10
+ test: true
11
+ shipwire:
12
+ login: EmailAddress
13
+ password: Password
@@ -0,0 +1,67 @@
1
+ <?xml version="1.0"?>
2
+ <RateRequest xmlns="http://fedex.com/ws/rate/v6">
3
+ <WebAuthenticationDetail>
4
+ <UserCredential>
5
+ <Key>1111</Key>
6
+ <Password>2222</Password>
7
+ </UserCredential>
8
+ </WebAuthenticationDetail>
9
+ <ClientDetail>
10
+ <AccountNumber>3333</AccountNumber>
11
+ <MeterNumber>4444</MeterNumber>
12
+ </ClientDetail>
13
+ <TransactionDetail>
14
+ <CustomerTransactionId>ActiveShipping</CustomerTransactionId>
15
+ </TransactionDetail>
16
+ <Version>
17
+ <ServiceId>crs</ServiceId>
18
+ <Major>6</Major>
19
+ <Intermediate>0</Intermediate>
20
+ <Minor>0</Minor>
21
+ </Version>
22
+ <ReturnTransitAndCommit>true</ReturnTransitAndCommit>
23
+ <VariableOptions>SATURDAY_DELIVERY</VariableOptions>
24
+ <RequestedShipment>
25
+ <ShipTimestamp>2009-07-20T12:01:55-04:00</ShipTimestamp>
26
+ <DropoffType>REGULAR_PICKUP</DropoffType>
27
+ <PackagingType>YOUR_PACKAGING</PackagingType>
28
+ <Shipper>
29
+ <Address>
30
+ <PostalCode>K1P 1J1</PostalCode>
31
+ <CountryCode>CA</CountryCode>
32
+ </Address>
33
+ </Shipper>
34
+ <Recipient>
35
+ <Address>
36
+ <PostalCode>90210</PostalCode>
37
+ <CountryCode>US</CountryCode>
38
+ </Address>
39
+ </Recipient>
40
+ <RateRequestTypes>ACCOUNT</RateRequestTypes>
41
+ <PackageCount>2</PackageCount>
42
+ <RequestedPackages>
43
+ <Weight>
44
+ <Units>KG</Units>
45
+ <Value>0.25</Value>
46
+ </Weight>
47
+ <Dimensions>
48
+ <Length>19</Length>
49
+ <Width>14</Width>
50
+ <Height>2</Height>
51
+ <Units>CM</Units>
52
+ </Dimensions>
53
+ </RequestedPackages>
54
+ <RequestedPackages>
55
+ <Weight>
56
+ <Units>KG</Units>
57
+ <Value>3.402</Value>
58
+ </Weight>
59
+ <Dimensions>
60
+ <Length>39</Length>
61
+ <Width>26</Width>
62
+ <Height>12</Height>
63
+ <Units>CM</Units>
64
+ </Dimensions>
65
+ </RequestedPackages>
66
+ </RequestedShipment>
67
+ </RateRequest>
@@ -0,0 +1,213 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <v6:RateReply xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:v6="http://fedex.com/ws/rate/v6">
3
+ <v6:HighestSeverity>WARNING</v6:HighestSeverity>
4
+ <v6:Notifications>
5
+ <v6:Severity>WARNING</v6:Severity>
6
+ <v6:Source>crs</v6:Source>
7
+ <v6:Code>872</v6:Code>
8
+ <v6:Message>Rating is temporarily unavailable for one or more services:
9
+ INTERNATIONAL_FIRST; INTERNATIONAL_PRIORITY; INTERNATIONAL_ECONOMY; ; ; ; ; ; ; ; . Please try again later. </v6:Message>
10
+ <v6:LocalizedMessage>Rating is temporarily unavailable for one or more services:
11
+ INTERNATIONAL_FIRST; INTERNATIONAL_PRIORITY; INTERNATIONAL_ECONOMY; ; ; ; ; ; ; ; . Please try again later. </v6:LocalizedMessage>
12
+ <v6:MessageParameters>
13
+ <v6:Id>SERVICE_TYPE_1</v6:Id>
14
+ <v6:Value>INTERNATIONAL_FIRST</v6:Value>
15
+ </v6:MessageParameters>
16
+ <v6:MessageParameters>
17
+ <v6:Id>SERVICE_TYPE_2</v6:Id>
18
+ <v6:Value>INTERNATIONAL_PRIORITY</v6:Value>
19
+ </v6:MessageParameters>
20
+ <v6:MessageParameters>
21
+ <v6:Id>SERVICE_TYPE_3</v6:Id>
22
+ <v6:Value>INTERNATIONAL_ECONOMY</v6:Value>
23
+ </v6:MessageParameters>
24
+ </v6:Notifications>
25
+ <v6:Notifications>
26
+ <v6:Severity>NOTE</v6:Severity>
27
+ <v6:Source>crs</v6:Source>
28
+ <v6:Code>886</v6:Code>
29
+ <v6:Message>Money Back Guarantee is not eligible for this pick up/delivery postal/zip code</v6:Message>
30
+ <v6:LocalizedMessage>Money Back Guarantee is not eligible for this pick up/delivery postal/zip code</v6:LocalizedMessage>
31
+ </v6:Notifications>
32
+ <v6:TransactionDetail>
33
+ <v6:CustomerTransactionId>ActiveShipping</v6:CustomerTransactionId>
34
+ </v6:TransactionDetail>
35
+ <v6:Version>
36
+ <v6:ServiceId>crs</v6:ServiceId>
37
+ <v6:Major>6</v6:Major>
38
+ <v6:Intermediate>0</v6:Intermediate>
39
+ <v6:Minor>0</v6:Minor>
40
+ </v6:Version>
41
+ <v6:RateReplyDetails>
42
+ <v6:ServiceType>FEDEX_GROUND</v6:ServiceType>
43
+ <v6:PackagingType>YOUR_PACKAGING</v6:PackagingType>
44
+ <v6:DeliveryStation>CCDA </v6:DeliveryStation>
45
+ <v6:CommitDetails>
46
+ <v6:ServiceType>FEDEX_GROUND</v6:ServiceType>
47
+ <v6:TransitTime>FIVE_DAYS</v6:TransitTime>
48
+ <v6:BrokerToDestinationDays>0</v6:BrokerToDestinationDays>
49
+ </v6:CommitDetails>
50
+ <v6:DestinationAirportId>LAX</v6:DestinationAirportId>
51
+ <v6:IneligibleForMoneyBackGuarantee>true</v6:IneligibleForMoneyBackGuarantee>
52
+ <v6:OriginServiceArea>A1</v6:OriginServiceArea>
53
+ <v6:DestinationServiceArea>A1</v6:DestinationServiceArea>
54
+ <v6:TransitTime>FIVE_DAYS</v6:TransitTime>
55
+ <v6:SignatureOption>SERVICE_DEFAULT</v6:SignatureOption>
56
+ <v6:ActualRateType>PAYOR_ACCOUNT</v6:ActualRateType>
57
+ <v6:RatedShipmentDetails>
58
+ <v6:ShipmentRateDetail>
59
+ <v6:RateType>PAYOR_ACCOUNT</v6:RateType>
60
+ <v6:RateZone>53</v6:RateZone>
61
+ <v6:DimDivisor>0</v6:DimDivisor>
62
+ <v6:FuelSurchargePercent>5.25</v6:FuelSurchargePercent>
63
+ <v6:TotalBillingWeight>
64
+ <v6:Units>LB</v6:Units>
65
+ <v6:Value>10.0</v6:Value>
66
+ </v6:TotalBillingWeight>
67
+ <v6:TotalBaseCharge>
68
+ <v6:Currency>CAD</v6:Currency>
69
+ <v6:Amount>36.45</v6:Amount>
70
+ </v6:TotalBaseCharge>
71
+ <v6:TotalFreightDiscounts>
72
+ <v6:Currency>CAD</v6:Currency>
73
+ <v6:Amount>0.0</v6:Amount>
74
+ </v6:TotalFreightDiscounts>
75
+ <v6:TotalNetFreight>
76
+ <v6:Currency>CAD</v6:Currency>
77
+ <v6:Amount>36.45</v6:Amount>
78
+ </v6:TotalNetFreight>
79
+ <v6:TotalSurcharges>
80
+ <v6:Currency>CAD</v6:Currency>
81
+ <v6:Amount>1.91</v6:Amount>
82
+ </v6:TotalSurcharges>
83
+ <v6:TotalNetFedExCharge>
84
+ <v6:Currency>CAD</v6:Currency>
85
+ <v6:Amount>38.36</v6:Amount>
86
+ </v6:TotalNetFedExCharge>
87
+ <v6:TotalTaxes>
88
+ <v6:Currency>CAD</v6:Currency>
89
+ <v6:Amount>0.0</v6:Amount>
90
+ </v6:TotalTaxes>
91
+ <v6:TotalNetCharge>
92
+ <v6:Currency>CAD</v6:Currency>
93
+ <v6:Amount>38.36</v6:Amount>
94
+ </v6:TotalNetCharge>
95
+ <v6:TotalRebates>
96
+ <v6:Currency>CAD</v6:Currency>
97
+ <v6:Amount>0.0</v6:Amount>
98
+ </v6:TotalRebates>
99
+ <v6:Surcharges>
100
+ <v6:SurchargeType>FUEL</v6:SurchargeType>
101
+ <v6:Level>PACKAGE</v6:Level>
102
+ <v6:Description>FedEx Ground Fuel</v6:Description>
103
+ <v6:Amount>
104
+ <v6:Currency>CAD</v6:Currency>
105
+ <v6:Amount>1.91</v6:Amount>
106
+ </v6:Amount>
107
+ </v6:Surcharges>
108
+ </v6:ShipmentRateDetail>
109
+ <v6:RatedPackages>
110
+ <v6:PackageRateDetail>
111
+ <v6:RateType>PAYOR_ACCOUNT</v6:RateType>
112
+ <v6:RatedWeightMethod>ACTUAL</v6:RatedWeightMethod>
113
+ <v6:BillingWeight>
114
+ <v6:Units>KG</v6:Units>
115
+ <v6:Value>1.0</v6:Value>
116
+ </v6:BillingWeight>
117
+ <v6:BaseCharge>
118
+ <v6:Currency>CAD</v6:Currency>
119
+ <v6:Amount>14.31</v6:Amount>
120
+ </v6:BaseCharge>
121
+ <v6:TotalFreightDiscounts>
122
+ <v6:Currency>CAD</v6:Currency>
123
+ <v6:Amount>0.0</v6:Amount>
124
+ </v6:TotalFreightDiscounts>
125
+ <v6:NetFreight>
126
+ <v6:Currency>CAD</v6:Currency>
127
+ <v6:Amount>14.31</v6:Amount>
128
+ </v6:NetFreight>
129
+ <v6:TotalSurcharges>
130
+ <v6:Currency>CAD</v6:Currency>
131
+ <v6:Amount>0.75</v6:Amount>
132
+ </v6:TotalSurcharges>
133
+ <v6:NetFedExCharge>
134
+ <v6:Currency>CAD</v6:Currency>
135
+ <v6:Amount>15.06</v6:Amount>
136
+ </v6:NetFedExCharge>
137
+ <v6:TotalTaxes>
138
+ <v6:Currency>CAD</v6:Currency>
139
+ <v6:Amount>0.0</v6:Amount>
140
+ </v6:TotalTaxes>
141
+ <v6:NetCharge>
142
+ <v6:Currency>CAD</v6:Currency>
143
+ <v6:Amount>15.06</v6:Amount>
144
+ </v6:NetCharge>
145
+ <v6:TotalRebates>
146
+ <v6:Currency>CAD</v6:Currency>
147
+ <v6:Amount>0.0</v6:Amount>
148
+ </v6:TotalRebates>
149
+ <v6:Surcharges>
150
+ <v6:SurchargeType>FUEL</v6:SurchargeType>
151
+ <v6:Level>PACKAGE</v6:Level>
152
+ <v6:Description>FedEx Ground Fuel</v6:Description>
153
+ <v6:Amount>
154
+ <v6:Currency>CAD</v6:Currency>
155
+ <v6:Amount>0.75</v6:Amount>
156
+ </v6:Amount>
157
+ </v6:Surcharges>
158
+ </v6:PackageRateDetail>
159
+ </v6:RatedPackages>
160
+ <v6:RatedPackages>
161
+ <v6:PackageRateDetail>
162
+ <v6:RateType>PAYOR_ACCOUNT</v6:RateType>
163
+ <v6:RatedWeightMethod>ACTUAL</v6:RatedWeightMethod>
164
+ <v6:BillingWeight>
165
+ <v6:Units>KG</v6:Units>
166
+ <v6:Value>4.0</v6:Value>
167
+ </v6:BillingWeight>
168
+ <v6:BaseCharge>
169
+ <v6:Currency>CAD</v6:Currency>
170
+ <v6:Amount>22.14</v6:Amount>
171
+ </v6:BaseCharge>
172
+ <v6:TotalFreightDiscounts>
173
+ <v6:Currency>CAD</v6:Currency>
174
+ <v6:Amount>0.0</v6:Amount>
175
+ </v6:TotalFreightDiscounts>
176
+ <v6:NetFreight>
177
+ <v6:Currency>CAD</v6:Currency>
178
+ <v6:Amount>22.14</v6:Amount>
179
+ </v6:NetFreight>
180
+ <v6:TotalSurcharges>
181
+ <v6:Currency>CAD</v6:Currency>
182
+ <v6:Amount>1.16</v6:Amount>
183
+ </v6:TotalSurcharges>
184
+ <v6:NetFedExCharge>
185
+ <v6:Currency>CAD</v6:Currency>
186
+ <v6:Amount>23.3</v6:Amount>
187
+ </v6:NetFedExCharge>
188
+ <v6:TotalTaxes>
189
+ <v6:Currency>CAD</v6:Currency>
190
+ <v6:Amount>0.0</v6:Amount>
191
+ </v6:TotalTaxes>
192
+ <v6:NetCharge>
193
+ <v6:Currency>CAD</v6:Currency>
194
+ <v6:Amount>23.3</v6:Amount>
195
+ </v6:NetCharge>
196
+ <v6:TotalRebates>
197
+ <v6:Currency>CAD</v6:Currency>
198
+ <v6:Amount>0.0</v6:Amount>
199
+ </v6:TotalRebates>
200
+ <v6:Surcharges>
201
+ <v6:SurchargeType>FUEL</v6:SurchargeType>
202
+ <v6:Level>PACKAGE</v6:Level>
203
+ <v6:Description>FedEx Ground Fuel</v6:Description>
204
+ <v6:Amount>
205
+ <v6:Currency>CAD</v6:Currency>
206
+ <v6:Amount>1.16</v6:Amount>
207
+ </v6:Amount>
208
+ </v6:Surcharges>
209
+ </v6:PackageRateDetail>
210
+ </v6:RatedPackages>
211
+ </v6:RatedShipmentDetails>
212
+ </v6:RateReplyDetails>
213
+ </v6:RateReply>
@@ -0,0 +1,27 @@
1
+ <?xml version="1.0"?>
2
+ <TrackRequest xmlns="http://fedex.com/ws/track/v3">
3
+ <WebAuthenticationDetail>
4
+ <UserCredential>
5
+ <Key>1111</Key>
6
+ <Password>2222</Password>
7
+ </UserCredential>
8
+ </WebAuthenticationDetail>
9
+ <ClientDetail>
10
+ <AccountNumber>3333</AccountNumber>
11
+ <MeterNumber>4444</MeterNumber>
12
+ </ClientDetail>
13
+ <TransactionDetail>
14
+ <CustomerTransactionId>ActiveShipping</CustomerTransactionId>
15
+ </TransactionDetail>
16
+ <Version>
17
+ <ServiceId>trck</ServiceId>
18
+ <Major>3</Major>
19
+ <Intermediate>0</Intermediate>
20
+ <Minor>0</Minor>
21
+ </Version>
22
+ <PackageIdentifier>
23
+ <Value>077973360403984</Value>
24
+ <Type>TRACKING_NUMBER_OR_DOORTAG</Type>
25
+ </PackageIdentifier>
26
+ <IncludeDetailedScans>1</IncludeDetailedScans>
27
+ </TrackRequest>
@@ -0,0 +1,153 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <v3:TrackReply xmlns:v3="http://fedex.com/ws/track/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
3
+ <v3:HighestSeverity>SUCCESS</v3:HighestSeverity>
4
+ <v3:Notifications>
5
+ <v3:Severity>SUCCESS</v3:Severity>
6
+ <v3:Source>trck</v3:Source>
7
+ <v3:Code>0</v3:Code>
8
+ <v3:Message>Request was successfully processed.</v3:Message>
9
+ <v3:LocalizedMessage>Request was successfully processed.</v3:LocalizedMessage>
10
+ </v3:Notifications>
11
+ <v3:TransactionDetail>
12
+ <v3:CustomerTransactionId>ActiveShipping</v3:CustomerTransactionId>
13
+ </v3:TransactionDetail>
14
+ <v3:Version>
15
+ <v3:ServiceId>trck</v3:ServiceId>
16
+ <v3:Major>3</v3:Major>
17
+ <v3:Intermediate>0</v3:Intermediate>
18
+ <v3:Minor>0</v3:Minor>
19
+ </v3:Version>
20
+ <v3:DuplicateWaybill>false</v3:DuplicateWaybill>
21
+ <v3:MoreData>false</v3:MoreData>
22
+ <v3:TrackDetails>
23
+ <v3:TrackingNumber>077973360403984</v3:TrackingNumber>
24
+ <v3:TrackingNumberUniqueIdentifier>120081203121125584000~077973360403984</v3:TrackingNumberUniqueIdentifier>
25
+ <v3:StatusCode>DL</v3:StatusCode>
26
+ <v3:StatusDescription>Delivered</v3:StatusDescription>
27
+ <v3:CarrierCode>FDXG</v3:CarrierCode>
28
+ <v3:OtherIdentifiers>
29
+ <v3:Value>355200</v3:Value>
30
+ <v3:Type>CUSTOMER_REFERENCE</v3:Type>
31
+ </v3:OtherIdentifiers>
32
+ <v3:OtherIdentifiers>
33
+ <v3:Value>355200</v3:Value>
34
+ <v3:Type>INVOICE</v3:Type>
35
+ </v3:OtherIdentifiers>
36
+ <v3:ServiceInfo>Ground-Domestic</v3:ServiceInfo>
37
+ <v3:ServiceType>FEDEX_GROUND</v3:ServiceType>
38
+ <v3:PackageWeight>
39
+ <v3:Units>LB</v3:Units>
40
+ <v3:Value>10.0</v3:Value>
41
+ </v3:PackageWeight>
42
+ <v3:Packaging>Package</v3:Packaging>
43
+ <v3:PackageSequenceNumber>1</v3:PackageSequenceNumber>
44
+ <v3:PackageCount>1</v3:PackageCount>
45
+ <v3:OriginLocationAddress>
46
+ <v3:City>NASHVILLE</v3:City>
47
+ <v3:StateOrProvinceCode>TN</v3:StateOrProvinceCode>
48
+ <v3:CountryCode>US</v3:CountryCode>
49
+ <v3:Residential>false</v3:Residential>
50
+ </v3:OriginLocationAddress>
51
+ <v3:ShipTimestamp>2008-12-03T00:00:00</v3:ShipTimestamp>
52
+ <v3:DestinationAddress>
53
+ <v3:City>Sacramento</v3:City>
54
+ <v3:StateOrProvinceCode>CA</v3:StateOrProvinceCode>
55
+ <v3:CountryCode>US</v3:CountryCode>
56
+ <v3:Residential>false</v3:Residential>
57
+ </v3:DestinationAddress>
58
+ <v3:ActualDeliveryTimestamp>2008-12-08T07:43:37-08:00</v3:ActualDeliveryTimestamp>
59
+ <v3:ActualDeliveryAddress>
60
+ <v3:City>Sacramento</v3:City>
61
+ <v3:StateOrProvinceCode>CA</v3:StateOrProvinceCode>
62
+ <v3:CountryCode>US</v3:CountryCode>
63
+ <v3:Residential>false</v3:Residential>
64
+ </v3:ActualDeliveryAddress>
65
+ <v3:DeliveryLocationType>OTHER</v3:DeliveryLocationType>
66
+ <v3:DeliverySignatureName>KKING</v3:DeliverySignatureName>
67
+ <v3:SignatureProofOfDeliveryAvailable>true</v3:SignatureProofOfDeliveryAvailable>
68
+ <v3:ProofOfDeliveryNotificationsAvailable>false</v3:ProofOfDeliveryNotificationsAvailable>
69
+ <v3:ExceptionNotificationsAvailable>false</v3:ExceptionNotificationsAvailable>
70
+ <v3:Events>
71
+ <v3:Timestamp>2008-12-08T07:43:37-08:00</v3:Timestamp>
72
+ <v3:EventType>DL</v3:EventType>
73
+ <v3:EventDescription>Delivered</v3:EventDescription>
74
+ <v3:Address>
75
+ <v3:City>Sacramento</v3:City>
76
+ <v3:StateOrProvinceCode>CA</v3:StateOrProvinceCode>
77
+ <v3:PostalCode>95817</v3:PostalCode>
78
+ <v3:CountryCode>US</v3:CountryCode>
79
+ <v3:Residential>false</v3:Residential>
80
+ </v3:Address>
81
+ </v3:Events>
82
+ <v3:Events>
83
+ <v3:Timestamp>2008-12-08T05:00:00-08:00</v3:Timestamp>
84
+ <v3:EventType>OD</v3:EventType>
85
+ <v3:EventDescription>On FedEx vehicle for delivery</v3:EventDescription>
86
+ <v3:Address>
87
+ <v3:City>SACRAMENTO</v3:City>
88
+ <v3:StateOrProvinceCode>CA</v3:StateOrProvinceCode>
89
+ <v3:PostalCode>95824</v3:PostalCode>
90
+ <v3:CountryCode>US</v3:CountryCode>
91
+ <v3:Residential>false</v3:Residential>
92
+ </v3:Address>
93
+ </v3:Events>
94
+ <v3:Events>
95
+ <v3:Timestamp>2008-12-07T10:48:00-08:00</v3:Timestamp>
96
+ <v3:EventType>AR</v3:EventType>
97
+ <v3:EventDescription>Arrived at FedEx location</v3:EventDescription>
98
+ <v3:Address>
99
+ <v3:City>SACRAMENTO</v3:City>
100
+ <v3:StateOrProvinceCode>CA</v3:StateOrProvinceCode>
101
+ <v3:PostalCode>95824</v3:PostalCode>
102
+ <v3:CountryCode>US</v3:CountryCode>
103
+ <v3:Residential>false</v3:Residential>
104
+ </v3:Address>
105
+ </v3:Events>
106
+ <v3:Events>
107
+ <v3:Timestamp>2008-12-04T05:58:46-06:00</v3:Timestamp>
108
+ <v3:EventType>DP</v3:EventType>
109
+ <v3:EventDescription>Departed FedEx location</v3:EventDescription>
110
+ <v3:Address>
111
+ <v3:City>NASHVILLE</v3:City>
112
+ <v3:StateOrProvinceCode>TN</v3:StateOrProvinceCode>
113
+ <v3:PostalCode>37207</v3:PostalCode>
114
+ <v3:CountryCode>US</v3:CountryCode>
115
+ <v3:Residential>false</v3:Residential>
116
+ </v3:Address>
117
+ </v3:Events>
118
+ <v3:Events>
119
+ <v3:Timestamp>2008-12-03T18:22:00-06:00</v3:Timestamp>
120
+ <v3:EventType>AR</v3:EventType>
121
+ <v3:EventDescription>Arrived at FedEx location</v3:EventDescription>
122
+ <v3:Address>
123
+ <v3:City>NASHVILLE</v3:City>
124
+ <v3:StateOrProvinceCode>TN</v3:StateOrProvinceCode>
125
+ <v3:PostalCode>37207</v3:PostalCode>
126
+ <v3:CountryCode>US</v3:CountryCode>
127
+ <v3:Residential>false</v3:Residential>
128
+ </v3:Address>
129
+ </v3:Events>
130
+ <v3:Events>
131
+ <v3:Timestamp>2008-12-03T17:22:00-06:00</v3:Timestamp>
132
+ <v3:EventType>PU</v3:EventType>
133
+ <v3:EventDescription>Picked up</v3:EventDescription>
134
+ <v3:Address>
135
+ <v3:City>NASHVILLE</v3:City>
136
+ <v3:StateOrProvinceCode>TN</v3:StateOrProvinceCode>
137
+ <v3:PostalCode>37207</v3:PostalCode>
138
+ <v3:CountryCode>US</v3:CountryCode>
139
+ <v3:Residential>false</v3:Residential>
140
+ </v3:Address>
141
+ </v3:Events>
142
+ <v3:Events>
143
+ <v3:Timestamp>2008-12-03T12:10:00-06:00</v3:Timestamp>
144
+ <v3:EventType>OC</v3:EventType>
145
+ <v3:EventDescription>Shipment information sent to FedEx</v3:EventDescription>
146
+ <v3:Address>
147
+ <v3:PostalCode>37211</v3:PostalCode>
148
+ <v3:CountryCode>US</v3:CountryCode>
149
+ <v3:Residential>false</v3:Residential>
150
+ </v3:Address>
151
+ </v3:Events>
152
+ </v3:TrackDetails>
153
+ </v3:TrackReply>