Webgility_FedEx_Hold_at_Location - Version 0.1.0

Version Notes

Webgility provides software to help simplify and automate eCommerce your business. We offer a suite of products that enable online retailers to integrate with QuickBooks,

Download this release

Release Info

Developer webgility
Extension Webgility_FedEx_Hold_at_Location
Version 0.1.0
Comparing to
See all releases


Version 0.1.0

Files changed (29) hide show
  1. app/code/community/Webgility/HAL/Block/View.php +15 -0
  2. app/code/community/Webgility/HAL/Helper/Data.php +17 -0
  3. app/code/community/Webgility/HAL/Model/Mysql4.php +4 -0
  4. app/code/community/Webgility/HAL/Model/Mysql4/Setup.php +4 -0
  5. app/code/community/Webgility/HAL/Model/WgBaseResponse.php +49 -0
  6. app/code/community/Webgility/HAL/Model/WgSettings.php +767 -0
  7. app/code/community/Webgility/HAL/controllers/AdminController.php +51 -0
  8. app/code/community/Webgility/HAL/controllers/IndexController.php +34 -0
  9. app/code/community/Webgility/HAL/etc/config.xml +142 -0
  10. app/code/community/Webgility/HAL/etc/system.xml +70 -0
  11. app/code/community/Webgility/HAL/sql/hal_setup/mysql4-install-0.1.0.php +44 -0
  12. app/design/frontend/default/default/layout/hal.xml +18 -0
  13. app/design/frontend/default/default/template/hal/onepage/shipping.phtml +402 -0
  14. app/etc/modules/Webgility_HAL.xml +9 -0
  15. fedex/LocateShipAddressWebServiceClient1.php +216 -0
  16. fedex/fedex_HAL.php +33 -0
  17. fedex/fedex_meter.php +84 -0
  18. fedex/fedex_webgility.php +38 -0
  19. fedex/library/fedex-common.php +200 -0
  20. fedex/library/fedex-common_2.php +171 -0
  21. fedex/webgility_portal.php +109 -0
  22. fedex/wsdl/GlobalShipAddressServiceDefinitions.wsdl +759 -0
  23. fedex/wsdl/GlobalShipAddressService_v1.wsdl +763 -0
  24. fedex/wsdl/GlobalShipAddressService_v1.xml +763 -0
  25. fedex/wsdl/GlobalShipAddressService_v1.xsd +764 -0
  26. fedex/wsdl/GlobalShipAddressService_v1_old.wsdl +719 -0
  27. fedex/wsdl/GlobalShipAddressService_v1_old.xsd +716 -0
  28. fedex/wsdl/LocatorService_v1.wsdl +676 -0
  29. package.xml +18 -0
app/code/community/Webgility/HAL/Block/View.php ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ � Copyright Webgility LLC 2011
4
+ ----------------------------------------
5
+ All materials contained in these files are protected by United States copyright
6
+ law and may not be reproduced, distributed, transmitted, displayed, published or
7
+ broadcast without the prior written permission of Webgility LLC. You may not
8
+ alter or remove any trademark, copyright or other notice from copies of the
9
+ content.
10
+ File last updated: 13/09/2011
11
+ */
12
+ class Webgility_HAL_Block_View extends Mage_Core_Block_Template
13
+ {
14
+
15
+ }
app/code/community/Webgility/HAL/Helper/Data.php ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ � Copyright Webgility LLC 2011
4
+ ----------------------------------------
5
+ All materials contained in these files are protected by United States copyright
6
+ law and may not be reproduced, distributed, transmitted, displayed, published or
7
+ broadcast without the prior written permission of Webgility LLC. You may not
8
+ alter or remove any trademark, copyright or other notice from copies of the
9
+ content.
10
+ File last updated: 13/09/2011
11
+ */
12
+
13
+ class Webgility_HAL_Helper_Data extends Mage_Core_Helper_Abstract
14
+ {
15
+
16
+ }
17
+ ?>
app/code/community/Webgility/HAL/Model/Mysql4.php ADDED
@@ -0,0 +1,4 @@
 
 
 
 
1
+ <?php
2
+ class Webgility_HAL_Model_Mysql4_Setup extends Mage_Catalog_Model_Resource_Eav_Mysql4_Setup
3
+ {
4
+ }
app/code/community/Webgility/HAL/Model/Mysql4/Setup.php ADDED
@@ -0,0 +1,4 @@
 
 
 
 
1
+ <?php
2
+ class Webgility_HAL_Model_Mysql4_Setup extends Mage_Catalog_Model_Resource_Eav_Mysql4_Setup
3
+ {
4
+ }
app/code/community/Webgility/HAL/Model/WgBaseResponse.php ADDED
@@ -0,0 +1,49 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ � Copyright Webgility LLC 2011
4
+ ----------------------------------------
5
+ All materials contained in these files are protected by United States copyright
6
+ law and may not be reproduced, distributed, transmitted, displayed, published or
7
+ broadcast without the prior written permission of Webgility LLC. You may not
8
+ alter or remove any trademark, copyright or other notice from copies of the
9
+ content.
10
+ File last updated: 13/09/2011
11
+ */
12
+
13
+ class Webgility_HAL_Model_WgBaseResponse
14
+ {
15
+
16
+ private $responseArray = array();
17
+ public function setStatusCode($StatusCode)
18
+ {
19
+ $this->responseArray['StatusCode'] = $StatusCode;
20
+ }
21
+ public function setStatusMessage($StatusMessage)
22
+ {
23
+ $this->responseArray['StatusMessage'] =$StatusMessage;
24
+ }
25
+ public function getBaseResponce()
26
+ {
27
+ return $this->responseArray;
28
+ }
29
+
30
+ public function message()
31
+ {
32
+ $modules = Mage::getConfig()->getNode('modules')->children();
33
+ $modulesArray = (array)$modules;
34
+ $ModuleVersion = (array)$modulesArray['Webgility_HAL'];
35
+ $str = '<div><strong>Webgility extension for Fedex Hold At Location</strong></div><div>&nbsp;</div>';
36
+ $str .= '<div>Webgility provides software to help simplify and automate eCommerce your business. We offer a suite of products that enable online retailers to integrate with QuickBooks, streamline order fulfillment, and easily manage inventory. As a certified FedEx CSP partner, our software seamlessly integrates with FedEx services to provide comprehensive shipping solutions. With Hold at FedEx Location, you can offer more shipping options for your customers. With Shiplark, you can process orders and print shipping labels instantly. And eCC allows you to manage shipping, inventory, and QuickBooks from one central place. Webgility has helped thousands of small- and medium-sized companies save time and money by automating their eCommerce. Learn more about us.<br>';
37
+ $str .= 'To get started, visit <a target="_blank" href="http://http://staging.webgility.com/hold-at-location.php">www.webgility.com</a> ';
38
+
39
+ $str .= " <div>";
40
+ return $str;
41
+
42
+ }
43
+ public function halUrl()
44
+ {
45
+ return $str1 = str_replace('index.php/','hal/hal-magento.php',Mage::getBaseUrl());
46
+
47
+ }
48
+ }
49
+ ?>
app/code/community/Webgility/HAL/Model/WgSettings.php ADDED
@@ -0,0 +1,767 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ � Copyright Webgility LLC 2011
4
+ ----------------------------------------
5
+ All materials contained in these files are protected by United States copyright
6
+ law and may not be reproduced, distributed, transmitted, displayed, published or
7
+ broadcast without the prior written permission of Webgility LLC. You may not
8
+ alter or remove any trademark, copyright or other notice from copies of the
9
+ content.
10
+ File last updated: 13/09/2011
11
+ */
12
+
13
+ class Webgility_HAL_Model_WgSettings
14
+ {
15
+
16
+ private $responseArray = array();
17
+ public function setStatusCode($StatusCode)
18
+ {
19
+ $this->responseArray['StatusCode'] = $StatusCode;
20
+ }
21
+ public function setStatusMessage($StatusMessage)
22
+ {
23
+ $this->responseArray['StatusMessage'] =$StatusMessage;
24
+ }
25
+ public function getBaseResponce()
26
+ {
27
+ return $this->responseArray;
28
+ }
29
+
30
+ public function message()
31
+ {
32
+ $modules = Mage::getConfig()->getNode('modules')->children();
33
+ $modulesArray = (array)$modules;
34
+ $ModuleVersion = (array)$modulesArray['Webgility_HAL'];
35
+
36
+ $user = Mage::getSingleton('admin/session');
37
+ $userId = $user->getUser()->getUserId();
38
+ $userEmail = $user->getUser()->getEmail();
39
+ $userFirstname = $user->getUser()->getFirstname();
40
+ $userLastname = $user->getUser()->getLastname();
41
+ $userUsername = $user->getUser()->getUsername();
42
+ $userPassword = $user->getUser()->getPassword();
43
+ $phone = Mage::getStoreConfig('general/store_information/phone');
44
+ $address = Mage::getStoreConfig('general/store_information/address');
45
+ $store_name = Mage::getStoreConfig('general/store_information/name');
46
+
47
+ $userEmail_web = $user->getUser()->getEmail();
48
+ $userFirstname_web = $user->getUser()->getFirstname();
49
+ $userLastname_web = $user->getUser()->getLastname();
50
+ $userUsername_web = $user->getUser()->getUsername();
51
+ $userPassword_web = $user->getUser()->getPassword();
52
+
53
+ if($address!="")
54
+ {
55
+ $fedex_address = explode(",",$address);
56
+ }
57
+ $eavSetId = Mage::getSingleton('core/resource')->getConnection('core_write');
58
+ $SetIds=$eavSetId->query("SELECT * FROM `webgility_settings`");
59
+ $row = $SetIds->fetch();
60
+ if($row['fedex_email']!="")
61
+ {
62
+ $userEmail = $row['fedex_email'];
63
+ }
64
+ if($row['fedex_name']!="")
65
+ {
66
+ $userFirstname = $row['fedex_name'];
67
+ }
68
+ if($row['fedex_name']!="")
69
+ {
70
+ $userLastname = "";
71
+ }
72
+ if($row['fedex_address1']!="")
73
+ {
74
+ $fedex_address[0] = $row['fedex_address1'];
75
+ }
76
+ if($row['fedex_city']!="")
77
+ {
78
+ $fedex_address[1] = $row['fedex_city'];
79
+ }
80
+ if($row['fedex_zip']!="")
81
+ {
82
+ $fedex_address[3] = $row['fedex_zip'];
83
+ }
84
+ if($row['fedex_phone']!="")
85
+ {
86
+ $phone = $row['fedex_phone'];
87
+ }
88
+ if($row['fedex_company']!="")
89
+ {
90
+ $store_name = $row['fedex_company'];
91
+ }
92
+
93
+ $add2=$row['fedex_address2'];
94
+ $fax=$row['fedex_fax'];
95
+ $account_no=$row['account_no'];
96
+ $meter_no=$row['Meter_no'];
97
+ $state=$row['fedex_state'];
98
+
99
+ $enable=$row['enable'];
100
+
101
+ $enable_array = array("Yes"=>"1","No"=>"0");
102
+
103
+ $enable_drop = '<select name="enable" id="enable" ><option value="">Please select</option>';
104
+ foreach($enable_array as $key=>$value)
105
+ {
106
+ $selected = '';
107
+ if($enable==$value)
108
+ {
109
+ $selected ='selected';
110
+ }
111
+ $enable_drop .='<option value="'.$value.'" '.$selected.' >'.$key.'</option>';
112
+ }
113
+
114
+ $enable_drop .= '</select>';
115
+
116
+ if($meter_no!="")
117
+ {
118
+ $style_meter='style="display:block;"';
119
+ $meter_value = "value=".$meter_no;
120
+ }
121
+ else
122
+ {
123
+ $style_meter='style="display:none;"';
124
+ }
125
+
126
+
127
+ $base_path = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB);
128
+ $stateCollection = Mage::getModel('directory/country')->load('US')->getRegions()->toOptionArray();
129
+
130
+ $state_array = array("Alabama"=>"AL","Alaska"=>"AK","Arizona"=>"AZ","Arkansas"=>"AR","California"=>"CA","Colorado"=>"CO","Connecticut"=>"CT","Delaware"=>"DE","District Of Columbia"=>"DC","Florida"=>"FL","Georgia"=>"GA","Hawaii"=>"HI","Idaho"=>"ID","Illinois"=>"IL","Indiana"=>"IN","Iowa"=>"IA","Kansas"=>"KS","Kentucky"=>"KY","Louisiana"=>"LA","Maine"=>"ME","Maryland"=>"MD","Massachusetts"=>"MA","Michigan"=>"MI","Minnesota"=>"MN","Mississippi"=>"MS","Missouri"=>"MO","Montana"=>"MT","Nebraska"=>"NE","Nevada"=>"NV","New Hampshire"=>"NH","New Jersey"=>"NJ","New Mexico"=>"NM","New York"=>"NY","North Carolina"=>"NC","North Dakota"=>"ND","Ohio"=>"OH","Oklahoma"=>"OK","Oregon"=>"OR","Pennsylvania"=>"PA","Rhode Island"=>"RI","South Carolina"=>"SC","South Dakota"=>"SD","Tennessee"=>"TN","Texas"=>"TX","Utah"=>"UT","Vermont"=>"VT","Virginia"=>"VA","Washington"=>"WA","West Virginia"=>"WV","Wisconsin"=>"WI","Wyoming"=>"WY");
131
+
132
+ $state_drop = '<select name="state" id="state" ><option value="">Please select</option>';
133
+ foreach($state_array as $key=>$value)
134
+ {
135
+ $selected = '';
136
+ if($state==$value)
137
+ {
138
+ $selected ='selected';
139
+ }
140
+ $state_drop .='<option value="'.$value.'" '.$selected.' >'.$key.'</option>';
141
+ }
142
+
143
+ $state_drop .= '</select>';
144
+
145
+
146
+ if($row["email"]!="")
147
+ {
148
+ //$style='style="display:none;"';
149
+ $style1='style="display:none;"';
150
+ $style='style="display:block;"';
151
+ if($row["Meter_no"]!="")
152
+ {
153
+ $style_meter='style="display:block;"';
154
+ }
155
+ else
156
+ {
157
+ $style_meter='style="display:none;"';
158
+ }
159
+ }
160
+ else
161
+ {
162
+ $style='style="display:none;"';
163
+ $style1='style="display:block;"';
164
+ }
165
+ $state_drop .='</select>';
166
+
167
+ $str = '
168
+ <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
169
+ <script>
170
+ var jq = jQuery.noConflict();
171
+ function create_account()
172
+ {
173
+ document.getElementById("LoadingImage1").style.display="block";
174
+ var email = document.getElementById("email1").value;
175
+ var pass = document.getElementById("pass1").value;
176
+ var name = document.getElementById("name").value;
177
+ var phone = document.getElementById("phone").value;
178
+
179
+ if(name=="")
180
+ {
181
+ document.getElementById("LoadingImage1").style.display="none";
182
+ document.getElementById("err_msg").innerHTML = "<b>Please enter name</b>";
183
+
184
+ }
185
+ else if(email=="")
186
+ {
187
+ document.getElementById("LoadingImage1").style.display="none";
188
+ document.getElementById("err_msg").innerHTML = "<b>Please enter email</b>";
189
+
190
+ }
191
+ else if(pass=="")
192
+ {
193
+ document.getElementById("LoadingImage1").style.display="none";
194
+ document.getElementById("err_msg").innerHTML = "<b>Please enter password</b>";
195
+
196
+ }
197
+
198
+ else if(phone=="" && !isNaN(phone))
199
+ {
200
+ document.getElementById("LoadingImage1").style.display="none";
201
+ document.getElementById("err_msg").innerHTML = "<b>Please enter numeric phone</b>";
202
+
203
+ }
204
+ else
205
+ {
206
+ document.getElementById("crt_account").disabled = true;
207
+ var data = "email="+ encodeURIComponent(email) +"&password="+ pass+"&name="+ name+"&phone="+ phone+"&type=new";
208
+ jq.ajax({
209
+ url:"'.$base_path.'/fedex//webgility_portal.php",
210
+ data:data,
211
+ dataType: "jsonp", // Notice! JSONP <-- P (lowercase)
212
+ success:function(json){
213
+ document.getElementById("crt_account").disabled = false;
214
+ if(json.StatusCode == "0")
215
+ {
216
+ document.getElementById("LoadingImage1").style.display="none";
217
+
218
+ document.getElementById("err_msg").innerHTML="<b>Webgility account created succesfully</b>";
219
+ setTimeout(function(){
220
+ document.getElementById("show_webgility").style.display="none";
221
+
222
+ document.getElementById("fedex_register").style.display="block";
223
+ },3000);
224
+
225
+ // do stuff with json (in this case an array)
226
+ //document.getElementById("save_button").style.display="none";
227
+ //document.getElementById("fedex_account").style.display="block";
228
+ }
229
+ else
230
+ {
231
+ document.getElementById("LoadingImage1").style.display="none";
232
+ document.getElementById("err_msg").innerHTML="<b>"+json.StatusMessage+"</b>";
233
+ //alert(json.StatusMessage);
234
+ }
235
+ },
236
+ error:function(){
237
+ document.getElementById("LoadingImage1").style.display="none";
238
+ document.getElementById("crt_account").disabled = false;
239
+ alert("Error");
240
+ },
241
+ });
242
+ }
243
+ }
244
+
245
+ function already_exist()
246
+ {
247
+ //jq("#LoadingImage").show();
248
+ document.getElementById("LoadingImage").style.display="block";
249
+ document.getElementById("err_msg_1").innerHTML = "";
250
+ var email = document.getElementById("email").value;
251
+ var pass = document.getElementById("password").value;
252
+
253
+ if(email=="")
254
+ {
255
+ document.getElementById("LoadingImage").style.display="none";
256
+ document.getElementById("err_msg_1").innerHTML = "<b>Please enter email</b>";
257
+
258
+ }
259
+ else if(pass=="")
260
+ {
261
+ document.getElementById("LoadingImage").style.display="none";
262
+ document.getElementById("err_msg_1").innerHTML = "<b>Please enter password</b>";
263
+
264
+ }
265
+ else
266
+ {
267
+ document.getElementById("alrdy_exist").disabled = true;
268
+ var data = "email="+ encodeURIComponent(email) +"&password="+ pass+"&type=already";
269
+ jq.ajax({
270
+ url:"'.$base_path.'/fedex/webgility_portal.php",
271
+ data:data,
272
+ dataType: "jsonp", // Notice! JSONP <-- P (lowercase)
273
+ success:function(json){
274
+ document.getElementById("alrdy_exist").disabled = false;
275
+ if(json.StatusCode == "0")
276
+ {
277
+ document.getElementById("LoadingImage").style.display="none";
278
+
279
+ document.getElementById("plugin").innerHTML="<b>Plugin registered succesfully</b>";
280
+
281
+ setTimeout(function(){
282
+ document.getElementById("show_webgility").style.display="none";
283
+ document.getElementById("fedex_register").style.display="block";
284
+ },3000)
285
+
286
+ // do stuff with json (in this case an array)
287
+ //document.getElementById("save_button").style.display="none";
288
+ //document.getElementById("fedex_account").style.display="block";
289
+ }
290
+ else
291
+ {
292
+ document.getElementById("LoadingImage").style.display="none";
293
+
294
+ document.getElementById("plugin").innerHTML="<b>"+json.StatusMessage+"</b>";
295
+ }
296
+ },
297
+ error:function(){
298
+ document.getElementById("LoadingImage").style.display="none";
299
+ document.getElementById("alrdy_exist").disabled = false;
300
+ alert("Error");
301
+ },
302
+ });
303
+ }
304
+ }
305
+
306
+ function fedex_meter()
307
+ {
308
+ document.getElementById("err_msg_2").innerHTML ="";
309
+ document.getElementById("LoadingImage2").style.display="block";
310
+ var fedex_account = document.getElementById("fedex_account").value;
311
+ var company = document.getElementById("company").value;
312
+ var name = document.getElementById("fedex_name").value;
313
+ var add1 = document.getElementById("add1").value;
314
+ var add2 = document.getElementById("add2").value;
315
+ var city = document.getElementById("city").value;
316
+ var state = document.getElementById("state").value;
317
+ var zip = document.getElementById("zip").value;
318
+ var phone = document.getElementById("fedex_phone").value;
319
+ var fax = document.getElementById("fax").value;
320
+ var email = document.getElementById("email2").value;
321
+ var web_email = document.getElementById("web_email").value;
322
+ var web_key = document.getElementById("web_key").value;
323
+
324
+ if(fedex_account=="" )
325
+ {
326
+
327
+ document.getElementById("LoadingImage2").style.display="none";
328
+ document.getElementById("err_msg_2").innerHTML = "<b>Please enter FedEx account</b>";
329
+
330
+ }
331
+ else if(isNaN(fedex_account))
332
+ {
333
+ document.getElementById("LoadingImage2").style.display="none";
334
+ document.getElementById("err_msg_2").innerHTML = "<b>Please enter numeric FedEx account</b>";
335
+
336
+ }
337
+ else if(company=="" )
338
+ {
339
+ document.getElementById("LoadingImage2").style.display="none";
340
+ document.getElementById("err_msg_2").innerHTML = "<b>Please enter company</b>";
341
+
342
+ }
343
+ else if(name=="" )
344
+ {
345
+ document.getElementById("LoadingImage2").style.display="none";
346
+ document.getElementById("err_msg_2").innerHTML = "<b>Please enter name</b>";
347
+
348
+ }
349
+ else if(add1=="" )
350
+ {
351
+ document.getElementById("LoadingImage2").style.display="none";
352
+ document.getElementById("err_msg_2").innerHTML = "<b>Please enter address 1</b>";
353
+
354
+ }
355
+
356
+ else if(city=="" )
357
+ {
358
+ document.getElementById("LoadingImage2").style.display="none";
359
+ document.getElementById("err_msg_2").innerHTML = "<b>Please enter city</b>";
360
+
361
+ }
362
+ else if(state==0 )
363
+ {
364
+ document.getElementById("LoadingImage2").style.display="none";
365
+ document.getElementById("err_msg_2").innerHTML = "<b>Please enter state</b>";
366
+
367
+ }
368
+ else if(zip=="" && !isNaN(zip))
369
+ {
370
+ document.getElementById("LoadingImage2").style.display="none";
371
+ document.getElementById("err_msg_2").innerHTML = "<b>Please enter numeric ZIP/Postal code</b>";
372
+
373
+ }
374
+ else if(phone=="" && !isNaN(phone) )
375
+ {
376
+ document.getElementById("LoadingImage2").style.display="none";
377
+ document.getElementById("err_msg_2").innerHTML = "<b>Please enter numeric phone</b>";
378
+
379
+ }
380
+
381
+ else if(email=="" )
382
+ {
383
+ document.getElementById("LoadingImage2").style.display="none";
384
+ document.getElementById("err_msg_2").innerHTML = "<b>Please enter email</b>";
385
+
386
+ }
387
+ else
388
+ {
389
+
390
+
391
+ document.getElementById("register").disabled = true;
392
+ var data = "fedex_account="+ encodeURIComponent(fedex_account) +"&company="+ company+"&name="+name+"&add1="+ encodeURIComponent(add1) +"&add2="+ encodeURIComponent(add2)+"&city="+city+"&state="+ state+"&zip="+zip+"&email="+ encodeURIComponent(email) +"&fax="+ fax+"&phone="+phone;
393
+ jq.ajax({
394
+ url:"'.$base_path.'/fedex/fedex_meter.php",
395
+ data:data,
396
+ dataType: "jsonp", // Notice! JSONP <-- P (lowercase)
397
+ success:function(json){
398
+
399
+ document.getElementById("register").disabled = true;
400
+ document.getElementById("LoadingImage2").style.display="none";
401
+
402
+
403
+ var meter = json.meter;
404
+
405
+ if(meter!="")
406
+ {
407
+ document.getElementById("meter_number").style.display="block";
408
+ document.getElementById("fedex_meter_number").value=meter;
409
+ document.getElementById("enable_plugin").style.display="block";
410
+ update_portal(meter,web_email,web_key,fedex_account);
411
+
412
+ //document.getElementById("meter_number").innerHTML="<br/><b>Meter Number : "+json.meter+"</b><br/>";
413
+
414
+ // do stuff with json (in this case an array)
415
+ //document.getElementById("save_button").style.display="none";
416
+ //document.getElementById("fedex_account").style.display="block";
417
+
418
+ }
419
+ else
420
+ {
421
+ document.getElementById("register").disabled = false;
422
+ document.getElementById("err_msg_2").innerHTML = "<b>There is a problem generating meter number. Please try again.</b>";
423
+ }
424
+
425
+
426
+ },
427
+ error:function(){
428
+ document.getElementById("register").disabled = false;
429
+ document.getElementById("LoadingImage2").style.display="none";
430
+ alert("Error");
431
+ },
432
+ });
433
+ }
434
+ }
435
+
436
+ function update_portal(meter,web_email,web_key,account_no)
437
+ {
438
+
439
+ var data = "meter_no="+ encodeURIComponent(meter) +"&account_id="+ account_no+"&email="+encodeURIComponent(web_email)+"&Key="+ encodeURIComponent(web_key);
440
+
441
+ jq.ajax({
442
+ url:"'.$base_path.'/fedex/fedex_webgility.php",
443
+ data:data,
444
+ dataType: "jsonp", // Notice! JSONP <-- P (lowercase)
445
+ success:function(json){
446
+
447
+
448
+ },
449
+ error:function(){
450
+ // alert("Error");
451
+ },
452
+ });
453
+
454
+ }
455
+
456
+ function show_already_webgility()
457
+ {
458
+ document.getElementById("show_already").style.display = "block";
459
+ document.getElementById("show_new").style.display = "none";
460
+ document.getElementById("create_new").checked = false;
461
+ }
462
+ function show_new_webgility()
463
+ {
464
+ document.getElementById("show_new").style.display = "block";
465
+ document.getElementById("show_already").style.display = "none";
466
+ document.getElementById("already").checked = false;
467
+ }
468
+
469
+ function configForm_submit()
470
+ {
471
+
472
+ document.getElementById("LoadingImage").style.display="block";
473
+ var enable = document.getElementById("enable").value;
474
+ var data = "enable="+ encodeURIComponent(enable) +"&type=enable_plugin";
475
+ jq.ajax({
476
+ url:"'.$base_path.'/fedex/webgility_portal.php",
477
+ data:data,
478
+ dataType: "jsonp", // Notice! JSONP <-- P (lowercase)
479
+ success:function(json){
480
+ if(json.plugin_enable==1)
481
+ {
482
+ alert("Plug-in enabled");
483
+ }
484
+ else
485
+ {
486
+ alert("Plug-in disabled");
487
+ }
488
+ location.reload();
489
+ },
490
+ error:function(){
491
+ alert("Error");
492
+ },
493
+ });
494
+
495
+ }
496
+
497
+ </script>
498
+
499
+ <div class="main-col-inner">
500
+ <div id="messages"></div>
501
+
502
+ <div class="content-header">
503
+ <table cellspacing="0">
504
+ <tbody><tr>
505
+ <td>
506
+ <h3>Hold at FedEx Location Settings</h3>
507
+ </td>
508
+ <td align="right" >
509
+ <button style="" onclick="configForm_submit()" class="scalable save" type="button" id="id_81a2f2a53f98fa76f83fdbcf4bbd7273"><span>Save Config</span></button>
510
+ </td>
511
+
512
+ </tr>
513
+ </tbody></table>
514
+ </div>
515
+
516
+ <table width="100%" border="0" cellpadding="0" cellspacing="0" bordercolor="#999999" style="border-bottom:#999999 solid 1px; border-right:#999999 solid 1px; border-top:#999999 solid 1px; border-left:#999999 solid 1px;">
517
+ <tr>
518
+ <td colspan="2" valign="middle" bgcolor="#6F8992"><span style="color:#FFFFFF; padding-left:8px; font-size:1.05em;"><b>Register your plug-in</b></span></td>
519
+ </tr>
520
+ <tr>
521
+ <td width="20px;">
522
+ </td>
523
+ <td>
524
+ <div id="show_webgility" '.$style1.'>
525
+ <form action="" method="post">
526
+ <table width="50%" border="0" cellspacing="0" cellpadding="0">
527
+ <tr>
528
+ <td colspan="2" height="30" style="padding-top:8px;">Enter your Webgility credentials, or create a new Webgility account</td>
529
+ </tr>
530
+ <tr>
531
+ <td colspan="2" headers="30"><input name="create_new" id="create_new" type="radio" value="create_new" checked onClick="show_new_webgility();"/> &nbsp;Create a Webgility Account<br/>
532
+ <br/></td>
533
+ </tr>
534
+ <tr>
535
+ <td>
536
+ <div id="show_new" >
537
+ <table width="100%" border="0" cellspacing="0" cellpadding="0">
538
+ <tr>
539
+ <td height="30" style="padding-left:30px;">Name * </td>
540
+ <td ><input type="text" id="name" name="name" style="width: 274px;" value="'.$userFirstname_web.' '.$userLastname_web.'"/></td>
541
+ </tr>
542
+ <tr>
543
+ <td height="30" style="padding-left:30px;">Email * </td>
544
+ <td><input type="text" id="email1" name="email1" style="width: 274px;" value="'.$userEmail_web.'" /></td>
545
+ </tr>
546
+ <tr>
547
+ <td height="30" style="padding-left:30px;">Password * </td>
548
+ <td><input type="password" id="pass1" name="pass1" style="width: 274px;"/></td>
549
+ </tr>
550
+
551
+ <tr>
552
+ <td height="30" style="padding-left:30px;">Phone * </td>
553
+ <td><input type="text" id="phone" name="phone" style="width: 274px;" value="'.$phone.'"/></td>
554
+ </tr>
555
+ <tr>
556
+ <td height="30" style="padding-left:30px;"></td>
557
+ <td><input type="checkbox" id="tnc" name="tnc"/>&nbsp;&nbsp;I agree to <a href="http://www.webgility.com/hal/license.txt" target="_blank">Webgility License</a>, <a href="http://www.webgility.com/terms_and_conditions.php" target="_blank">Terms & Conditions</a> and <a href="http://www.webgility.com/privacy_policy.php" target="_blank">Privacy Policy</a></td>
558
+ </tr>
559
+ <tr>
560
+ <td>&nbsp;</td>
561
+ <td><div id="create_disply_message"><input type="button" value="Create Account" onClick="create_account();" id="crt_account" /></div><div id="LoadingImage1" style="display: none; padding-top:15px;">
562
+ <img src="'.$base_path.'/downloader/skin/images/ajax-loader-tr.gif">
563
+ </div></td>
564
+ </tr>
565
+ <tr><td>&nbsp;</td><td><div id="err_msg" style="color:red;"></div></td></tr>
566
+ <tr>
567
+ <td height="30" style="padding-left:30px;">* Required fields </td>
568
+ <td ></td>
569
+ </tr>
570
+ </table>
571
+ </td>
572
+ </tr>
573
+ </table>
574
+
575
+ </form>
576
+
577
+
578
+ <form action="" method="post">
579
+ <table width="50%" border="0" cellspacing="0" cellpadding="0">
580
+
581
+ <tr>
582
+ <td colspan="2" headers="30"><input name="already" id="already" type="radio" value="create_new" onclick="show_already_webgility();"/> &nbsp;Already have a Webgility Account<br/><br/></td>
583
+ </tr>
584
+ <tr>
585
+ <td colspan="2">
586
+ <div id="show_already" style="display:none;">
587
+ <table width="100%" border="0" cellspacing="0" cellpadding="0">
588
+ <tr>
589
+ <td height="30" style="padding-left:30px;">Email * </td>
590
+ <td><input type="text" name="email" id="email" style="width: 274px;" value="'.$row["email"].'" /></td>
591
+ </tr>
592
+ <tr>
593
+ <td height="30" style="padding-left:30px;">Password * </td>
594
+ <td><input type="password" name="password" id="password" style="width: 274px;" value="'.$row["password"].'"/></td>
595
+ </tr>
596
+
597
+ <tr>
598
+ <td>&nbsp;</td>
599
+ <td><div id="plugin"><input type="button" value="Connect" onClick="already_exist();" id="alrdy_exist"/></div><div id="LoadingImage" style="display: none; padding-top:15px;">
600
+ <img src="'.$base_path.'/downloader/skin/images/ajax-loader-tr.gif">
601
+ </div></td>
602
+ </tr>
603
+ <tr><td>&nbsp;</td><td><div id="err_msg_1" style="color:red;"></div></td></tr>
604
+ <tr>
605
+ <td height="30" style="padding-left:30px;">* Required fields </td>
606
+ <td ></td>
607
+ </tr>
608
+ </table>
609
+ </div>
610
+ </td>
611
+ </tr>
612
+ </table>
613
+
614
+ </form>
615
+ </div>
616
+ </td>
617
+ </tr>
618
+ </table>
619
+
620
+
621
+ <table width="100%" border="0" cellpadding="0" cellspacing="0" bordercolor="#999999" style="border-bottom:#999999 solid 1px; border-right:#999999 solid 1px; border-top:#999999 solid 1px; border-left:#999999 solid 1px;">
622
+ <tr>
623
+ <td colspan="2" valign="middle" bgcolor="#6F8992"><span style="color:#FFFFFF; padding-left:8px; font-size:1.05em;"><b>Register with FedEx</b></span></td>
624
+ </tr>
625
+ <tr>
626
+ <td width="20px;">
627
+ </td>
628
+ <td>
629
+ <div id="fedex_register" '.$style.'>
630
+
631
+ <table width="50%" border="0" cellspacing="0" cellpadding="0">
632
+ <tr>
633
+ <td colspan="2" height="30" style="padding-top:8px;">Please register your FedEx account<br/><br/></td>
634
+ </tr>
635
+ <tr>
636
+ <td>
637
+ <div id="show_new">
638
+ <table width="100%" border="0" cellspacing="0" cellpadding="0">
639
+ <tr>
640
+ <td width="42%" height="30" style="padding-left:30px;"> FedEx Account * </td>
641
+ <td width="58%"><input type="text" id="fedex_account" name="fedex_account" style="width: 174px;" onclick="" value="'.$account_no.'" /><br>Need a FedEx account? <a target="_blank" href="https://www.fedex.com/fcl/web/jsp/contactInfo1.jsp?appName=oadr&locale=us_en&step3URL=https%3A%2F%2Fwww.fedex.com%2Ffcl%2FExistingAccountFclStep3&afterwardsURL=https%3A%2F%2Fwww.fedex.com%2Ffcl%2Foptionhome&programIndicator=ss90705920">Click here<br><br></td>
642
+ </tr>
643
+ <tr>
644
+ <td colspan="2">
645
+ <div id="meter_number" '.$style_meter.'>
646
+ <table width="100%">
647
+ <tr>
648
+ <td width="42%" height="30" style="padding-left:30px;"> Meter Number </td>
649
+ <td width="58%"><input type="text" id="fedex_meter_number" name="fedex_meter_number" style="width: 274px;" readonly '.$meter_value.' /></td>
650
+ </tr>
651
+ </table>
652
+ </div>
653
+ </td>
654
+ </tr>
655
+
656
+ <tr>
657
+ <td height="30" style="padding-left:30px;"> Company * </td>
658
+ <td><input type="text" id="company" name="company" style="width: 274px;" value="'.$store_name.'" /></td>
659
+ </tr>
660
+ <tr>
661
+ <td height="30" style="padding-left:30px;"> Contact name * </td>
662
+ <td><input type="text" id="fedex_name" name="fedex_name" style="width: 274px;" value="'.$userFirstname.' '.$userLastname.'"/></td>
663
+ </tr>
664
+ <tr>
665
+ <td height="30" style="padding-left:30px;"> Address 1 * </td>
666
+ <td><input type="text" id="add1" name="add1" style="width: 274px;" value="'.$fedex_address[0].'"/></td>
667
+ </tr>
668
+ <tr>
669
+ <td height="30" style="padding-left:30px;"> Address 2 </td>
670
+ <td><input type="text" id="add2" name="add2" style="width: 274px;" value="'.$add2.'"/></td>
671
+ </tr>
672
+ <tr>
673
+ <td height="30" style="padding-left:30px;"> City * </td>
674
+ <td><input type="text" id="city" name="city" style="width: 274px;" value="'.$fedex_address[1].'"/></td>
675
+ </tr>
676
+ <tr>
677
+ <td height="30" style="padding-left:30px;"> State* </td>
678
+ <td>'.$state_drop.'</td>
679
+ </tr>
680
+ <tr>
681
+ <td height="30" style="padding-left:30px;"> ZIP/Postal code * </td>
682
+ <td><input type="text" id="zip" name="zip" style="width: 274px;" value="'.$fedex_address[3].'" maxlength = "5"/></td>
683
+ </tr>
684
+ <tr>
685
+ <td height="30" style="padding-left:30px;"> Phone * </td>
686
+ <td><input type="text" id="fedex_phone" name="fedex_phone" style="width: 274px;" value="'.$phone.'" maxlength = "10"/></td>
687
+ </tr>
688
+ <tr>
689
+ <td height="30" style="padding-left:30px;"> Fax </td>
690
+ <td><input type="text" id="fax" name="fax" style="width: 274px;" value="'.$fax.'"/></td>
691
+ </tr>
692
+ <tr>
693
+ <td height="30" style="padding-left:30px;"> Email * </td>
694
+ <td><input type="text" id="email2" name="email2" style="width: 274px;" value="'.$userEmail.'"/></td>
695
+ </tr>
696
+ <tr>
697
+ <td>&nbsp;</td>
698
+ <td><input type="button" value="Register" onClick="fedex_meter();" id="register" /><input type="hidden" id="web_email" name="web_email" style="width: 274px;" value="'.$row["email"].'"/><input type="hidden" id="web_key" name="web_key" style="width: 274px;" value="'.$row["webgility_key"].'"/><div id="LoadingImage2" style="display: none; padding-top:15px;">
699
+ <img src="'.$base_path.'/downloader/skin/images/ajax-loader-tr.gif">
700
+ </div></td>
701
+ </tr>
702
+ <tr><td>&nbsp;</td><td><div id="err_msg_2" style="color:red;"></div></td></tr>
703
+ <tr>
704
+ <td height="30" style="padding-left:30px;">* Required fields </td>
705
+ <td ></td>
706
+ </tr>
707
+ </table>
708
+
709
+ </td>
710
+ </tr>
711
+ </table>
712
+ </div>
713
+ </td>
714
+ </tr>
715
+ </table>
716
+
717
+ <table width="100%" border="0" cellpadding="0" cellspacing="0" bordercolor="#999999" style="border-bottom:#999999 solid 1px; border-right:#999999 solid 1px; border-top:#999999 solid 1px; border-left:#999999 solid 1px;">
718
+ <tr>
719
+ <td colspan="2" valign="middle" bgcolor="#6F8992" ><span style="color:#FFFFFF; padding-left:8px; font-size:1.05em;"><b>Enable your plug-in</b></span></td>
720
+ </tr>
721
+ <tr>
722
+ <td width="20px;">
723
+ </td>
724
+ <td>
725
+
726
+ <div id="enable_plugin" '.$style_meter.'>
727
+
728
+ <table width="27%" border="0" cellspacing="0" cellpadding="0">
729
+ <tr>
730
+ <td colspan="2" height="30" style="padding-top:8px;">Please register your FedEx account<br/><br/></td>
731
+ </tr>
732
+ <tr>
733
+ <td>
734
+ <div id="show_new">
735
+ <table width="100%" border="0" cellspacing="0" cellpadding="0">
736
+ <tr>
737
+ <td width="42%" height="30" style="padding-left:30px;">Enable plug-in : </td>
738
+ <td width="58%">'.$enable_drop.'</td>
739
+ </tr>
740
+ <tr>
741
+
742
+ </table>
743
+ </div>
744
+ </td>
745
+ </tr>
746
+ </table>
747
+ </td>
748
+ </tr>
749
+ </table>
750
+
751
+
752
+ </div>';
753
+ //$str .= "to download a free trial of the eCC Desktop software.<br>";
754
+ $str .= " <div>";
755
+ //$str .= '<div>Once eCC is installed on your desktop, enter this as your eCC Store Module URL to get connected to this store : <a target="_blank" href="'.$this->eccUrl().'">'.$this->eccUrl().'</a></div>';
756
+ //$str .= '<div><br>Copy this key to the eCC Desktop software when connecting to the store : <strong>'.(string)Mage::getConfig()->getNode('global/crypt/key') .'</strong></div><div>&nbsp;</div>';
757
+ //$str .= '<div>eCC Magento Go v'.$ModuleVersion['version'].'<br>Last updated: 11/12/2011<br>&copy; 2011 Webgility LLC</div>';
758
+ return $str;
759
+
760
+ }
761
+ public function eccUrl()
762
+ {
763
+ return $str1 = str_replace('index.php/','ecc/ecc-magento.php',Mage::getBaseUrl());
764
+
765
+ }
766
+ }
767
+ ?>
app/code/community/Webgility/HAL/controllers/AdminController.php ADDED
@@ -0,0 +1,51 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ � Copyright Webgility LLC 2011
4
+ ----------------------------------------
5
+ All materials contained in these files are protected by United States copyright
6
+ law and may not be reproduced, distributed, transmitted, displayed, published or
7
+ broadcast without the prior written permission of Webgility LLC. You may not
8
+ alter or remove any trademark, copyright or other notice from copies of the
9
+ content.
10
+ File last updated: 13/09/2011
11
+ */
12
+
13
+ class Webgility_HAL_AdminController extends Mage_Adminhtml_Controller_Action{
14
+ public function indexAction() {
15
+ $this->loadLayout();
16
+ $this->renderLayout();
17
+ }
18
+ public function aboutAction()
19
+ {
20
+
21
+ $this->loadLayout();
22
+ $this->_addLeft($this->getLayout()
23
+ ->createBlock('core/text')
24
+ ->setText('&nbsp;'));
25
+
26
+ $block = $this->getLayout()
27
+ ->createBlock('core/text')
28
+ ->setText(Mage::getSingleton('hal/WgBaseResponse')->message());
29
+ $this->_addContent($block);
30
+ $this->renderLayout();
31
+
32
+ }
33
+
34
+ public function settingsAction()
35
+ {
36
+
37
+ $this->loadLayout();
38
+ $this->_addLeft($this->getLayout()
39
+ ->createBlock('core/text')
40
+ ->setText('&nbsp;'));
41
+
42
+ $block = $this->getLayout()
43
+ ->createBlock('core/text')
44
+ ->setText(Mage::getSingleton('hal/WgSettings')->message());
45
+ $this->_addContent($block);
46
+ $this->renderLayout();
47
+
48
+ }
49
+
50
+ }
51
+ ?>
app/code/community/Webgility/HAL/controllers/IndexController.php ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ � Copyright Webgility LLC 2011
4
+ ----------------------------------------
5
+ All materials contained in these files are protected by United States copyright
6
+ law and may not be reproduced, distributed, transmitted, displayed, published or
7
+ broadcast without the prior written permission of Webgility LLC. You may not
8
+ alter or remove any trademark, copyright or other notice from copies of the
9
+ content.
10
+ File last updated: 13/09/2011
11
+ */
12
+
13
+ class Webgility_HAL_IndexController extends Mage_Core_Controller_Front_Action {
14
+ public function indexAction() {
15
+ $request = $this->getRequest();
16
+ if(!$request->getParam('request'))
17
+ {
18
+ echo "Access denied!";
19
+
20
+ }else
21
+ {
22
+ try
23
+ {
24
+ $xml = Mage::getSingleton('hal/desktop')->parseRequest($request->getParam('request'));
25
+
26
+ }catch (Exception $e)
27
+ {
28
+ echo $e;
29
+ }
30
+ }
31
+
32
+ }
33
+ }
34
+ ?>
app/code/community/Webgility/HAL/etc/config.xml ADDED
@@ -0,0 +1,142 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <config>
3
+ <modules>
4
+ <Webgility_HAL>
5
+ <version>0.1.0</version>
6
+ </Webgility_HAL>
7
+ </modules>
8
+ <global>
9
+ <models>
10
+ <hal>
11
+ <class>Webgility_HAL_Model</class>
12
+ <rewrite>
13
+ <type_onepage>Webgility_HAL_Model_Type_Onepage</type_onepage>
14
+ </rewrite>
15
+
16
+ </hal>
17
+
18
+ </models>
19
+ <resources>
20
+ <hal_setup>
21
+ <setup>
22
+ <module>Webgility_HAL</module>
23
+ <class>Webgility_HAL_Model_Mysql4_Setup</class>
24
+ </setup>
25
+ <connection>
26
+ <use>core_setup</use>
27
+ </connection>
28
+ </hal_setup>
29
+ </resources>
30
+
31
+ <blocks>
32
+ <class>
33
+
34
+ <hal>Webgility_HAL_Block</hal>
35
+
36
+
37
+ </class>
38
+ <hal>
39
+ <rewrite>
40
+ <onepage_shipping_method>Webgility_HAL_Block_Onepage_Shipping_Method</onepage_shipping_method>
41
+ </rewrite>
42
+ </hal>
43
+
44
+ </blocks>
45
+
46
+ <helpers>
47
+ <hal>
48
+ <class>Webgility_HAL_Helper</class>
49
+ </hal>
50
+ </helpers>
51
+ <rewrite>
52
+ <webgility_hal_desktop>
53
+ <from><![CDATA[#^/hal/hal-magento.php#]]></from>
54
+ <to>/hal/index/index</to>
55
+ </webgility_hal_desktop>
56
+ </rewrite>
57
+ </global>
58
+
59
+ <admin>
60
+ <routers>
61
+ <adminhtml>
62
+ <args>
63
+ <modules>
64
+ <Webgility_HAL before="Mage_Adminhtml">Webgility_HAL_Adminhtml</Webgility_HAL>
65
+ </modules>
66
+ </args>
67
+ </adminhtml>
68
+
69
+ <hal>
70
+ <use>admin</use>
71
+ <args>
72
+ <module>Webgility_HAL</module>
73
+ <frontName>hal</frontName>
74
+ </args>
75
+ </hal>
76
+ </routers>
77
+ </admin>
78
+ <frontend>
79
+ <routers>
80
+ <hal>
81
+ <use>standard</use>
82
+ <args>
83
+ <module>Webgility_HAL</module>
84
+ <frontName>hal</frontName>
85
+ </args>
86
+
87
+ <args>
88
+ <modules>
89
+ <halwebgility before="Mage_Checkout">Webgility_HAL</halwebgility>
90
+ </modules>
91
+ </args>
92
+ </hal>
93
+ </routers>
94
+ <layout>
95
+ <updates>
96
+ <salesrep>
97
+ <file>hal.xml</file>
98
+ </salesrep>
99
+ </updates>
100
+ </layout>
101
+ </frontend>
102
+ <adminhtml>
103
+ <acl>
104
+ <resources>
105
+ <admin>
106
+ <children>
107
+ <system>
108
+ <children>
109
+ <config>
110
+ <children>
111
+ <hal_options>
112
+ <title>HAL Module Section</title>
113
+ </hal_options>
114
+ </children>
115
+ </config>
116
+ </children>
117
+ </system>
118
+ </children>
119
+ </admin>
120
+ </resources>
121
+ </acl>
122
+ <menu>
123
+ <tutorial_menu translate="title" module="hal">
124
+ <title>Webgility</title>
125
+ <sort_order>1000</sort_order>
126
+ <children>
127
+
128
+ <first_page module="hal">
129
+ <title>Hold At FedEx Location</title>
130
+ <action>hal/admin/settings</action>
131
+ </first_page>
132
+ <first_page1 module="hal">
133
+ <title>About</title>
134
+ <action>hal/admin/about</action>
135
+ </first_page1>
136
+
137
+ </children>
138
+ </tutorial_menu>
139
+ </menu>
140
+
141
+ </adminhtml>
142
+ </config>
app/code/community/Webgility/HAL/etc/system.xml ADDED
@@ -0,0 +1,70 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <config>
2
+ <tabs>
3
+ <halconfig translate="label" module="hal">
4
+ <label>Webgility FedEx HAL</label>
5
+ <sort_order>99999</sort_order>
6
+ </halconfig>
7
+ </tabs>
8
+ <sections>
9
+
10
+ <hal_options translate="label" module="hal">
11
+ <label>Webgility FedEx HAL Settings</label>
12
+ <tab>halconfig</tab>
13
+ <frontend_type>text</frontend_type>
14
+ <sort_order>1000</sort_order>
15
+ <expanded>2</expanded>
16
+ <show_in_default>1</show_in_default>
17
+ <show_in_website>1</show_in_website>
18
+ <show_in_store>1</show_in_store>
19
+ <groups>
20
+ <messages translate="label">
21
+ <label>Options</label>
22
+ <comment>If not having webgility account please create new : &lt;a target="_blank" href="http://development.webgility.com/fedex-hal-trial-request.php"&gt;Click Here &lt;/a&gt;
23
+ &lt;/br&gt;&lt;/br&gt;
24
+ &lt;a target="_blank" href="http://cart.nova1.webgility.com/magento_1_7_0_2_hal/index.php/admin/system_config/edit/section/carriers/key/1f3e08ac40a1d500ab6a5a0e021fc505/"&gt;Please configure FedEx account (Please choose fedex) &lt;/a&gt; or create new : &lt;a target="_blank" href="http://www.fedex.com/in/"&gt;Click Here &lt;/a&gt;
25
+ </comment>
26
+ <frontend_type>text</frontend_type>
27
+ <sort_order>1</sort_order>
28
+ <show_in_default>1</show_in_default>
29
+ <show_in_website>1</show_in_website>
30
+ <show_in_store>1</show_in_store>
31
+ <fields>
32
+ <active translate="label">
33
+ <label>Enabled</label>
34
+
35
+ <frontend_type>select</frontend_type>
36
+ <!--config_path>payment/moneybookers_wlt/active</config_path-->
37
+ <source_model>adminhtml/system_config_source_yesno</source_model>
38
+ <sort_order>1</sort_order>
39
+ <show_in_default>1</show_in_default>
40
+ <show_in_website>1</show_in_website>
41
+ <show_in_store>1</show_in_store>
42
+ </active>
43
+ <download_bundle_option_as_item>
44
+ <label>Webgility Username:</label>
45
+ <frontend_type>text</frontend_type>
46
+ <!-- adding a source model -->
47
+ <source_model>hal/halConfigBundleOptions</source_model>
48
+ <sort_order>1</sort_order>
49
+ <show_in_default>1</show_in_default>
50
+ <show_in_website>1</show_in_website>
51
+ <show_in_store>1</show_in_store>
52
+ </download_bundle_option_as_item>
53
+ <RewardsPoints_Name>
54
+ <label>Webgility Password:</label>
55
+ <frontend_type>text</frontend_type>
56
+ <!-- adding a source model -->
57
+ <sort_order>3</sort_order>
58
+ <show_in_default>1</show_in_default>
59
+ <show_in_website>1</show_in_website>
60
+ <show_in_store>1</show_in_store>
61
+ </RewardsPoints_Name>
62
+
63
+ </fields>
64
+ </messages>
65
+
66
+ </groups>
67
+
68
+ </hal_options>
69
+ </sections>
70
+ </config>
app/code/community/Webgility/HAL/sql/hal_setup/mysql4-install-0.1.0.php ADDED
@@ -0,0 +1,44 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ $installer = $this;
4
+
5
+ $installer->startSetup();
6
+
7
+ $installer->run("
8
+
9
+ CREATE TABLE IF NOT EXISTS `webgility_settings` (
10
+ `id` int(2) NOT NULL AUTO_INCREMENT,
11
+ `email` varchar(100) NOT NULL,
12
+ `password` varchar(100) NOT NULL,
13
+ `csp_key` varchar(150) DEFAULT NULL,
14
+ `csp_password` varchar(150) DEFAULT NULL,
15
+ `webgility_key` varchar(50) DEFAULT NULL,
16
+ `account_no` varchar(50) DEFAULT NULL,
17
+ `Meter_no` varchar(50) DEFAULT NULL,
18
+ `enable` int(2) NOT NULL DEFAULT '0',
19
+ `fedex_name` varchar(50) NOT NULL,
20
+ `fedex_company` varchar(50) NOT NULL,
21
+ `fedex_address1` varchar(50) NOT NULL,
22
+ `fedex_address2` varchar(50) NOT NULL,
23
+ `fedex_city` varchar(20) NOT NULL,
24
+ `fedex_state` varchar(10) NOT NULL,
25
+ `fedex_zip` varchar(50) NOT NULL,
26
+ `fedex_phone` varchar(15) NOT NULL,
27
+ `fedex_fax` varchar(10) NOT NULL,
28
+ `fedex_email` varchar(50) NOT NULL,
29
+ PRIMARY KEY (`id`)
30
+ ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;
31
+
32
+
33
+ CREATE TABLE IF NOT EXISTS `webgility_orders` (
34
+ `orderid` varchar(20) NOT NULL,
35
+ `qb_posted` varchar(20) DEFAULT NULL,
36
+ `qb_posted_date` varchar(20) DEFAULT NULL,
37
+ `id` int(4) NOT NULL AUTO_INCREMENT,
38
+ PRIMARY KEY (`id`)
39
+ ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=16 ;
40
+
41
+
42
+ ");
43
+
44
+ $installer->endSetup();
app/design/frontend/default/default/layout/hal.xml ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <layout version="0.1.0">
3
+
4
+
5
+
6
+
7
+ <!--
8
+ One page checkout progress block
9
+ -->
10
+ <checkout_onepage_index>
11
+ <reference name="checkout.onepage.shipping">
12
+ <action method="setTemplate">
13
+ <template>hal/onepage/shipping.phtml</template>
14
+ </action>
15
+ </reference>
16
+ </checkout_onepage_index>
17
+
18
+ </layout>
app/design/frontend/default/default/template/hal/onepage/shipping.phtml ADDED
@@ -0,0 +1,402 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ ?>
4
+ <style>
5
+ .fedex_api {text-align:center; vertical-align:text-bottom;}
6
+
7
+ </style>
8
+ <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
9
+ <script>
10
+ var jq = jQuery.noConflict();
11
+ function xmlhttpPost(a,b,z)
12
+ {
13
+ var c= a+"/fedex/fedex_HAL.php";
14
+ document.getElementById("LoadingImage2").style.display="block";
15
+ document.getElementById("fadex_hal_location").disabled = true;
16
+ jq.ajax({
17
+ url:c,
18
+ data: 'q='+b+'&q_id='+z,
19
+ dataType: 'jsonp', // Notice! JSONP <-- P (lowercase)
20
+ success:function(json){
21
+ document.getElementById("LoadingImage2").style.display="none";
22
+ if(json.name != '')
23
+ {
24
+
25
+ document.getElementById("fadex_hal_location").disabled = false;
26
+ // do stuff with json (in this case an array)
27
+ document.getElementById('fedex_hal_info').innerHTML=json.name;
28
+ document.getElementById('hal_location').style.display = 'block';
29
+
30
+ }
31
+ else
32
+ {
33
+ alert('Zip code provided dosent have any HAL assosiated with it!');
34
+ }
35
+ },
36
+ error:function(){
37
+ document.getElementById("LoadingImage2").style.display="none";
38
+ alert("Error");
39
+ },
40
+ });
41
+
42
+ }
43
+
44
+ function Hal_Location(a,z)
45
+ {
46
+ var hal_value = document.getElementById('shipping:gethal').value;
47
+ if(hal_value!="" && !isNaN(hal_value))
48
+ {
49
+
50
+ xmlhttpPost(a,hal_value,z);
51
+ }
52
+ else{
53
+ alert("Please enter Numeric ZIP/Postal code");
54
+ }
55
+
56
+
57
+
58
+
59
+ }
60
+ </script>
61
+ <script>
62
+ function show_form(arr)
63
+ {
64
+
65
+ if(arr == "hal")
66
+ {
67
+
68
+ document.getElementById('hal_form').style.display = 'block';
69
+ document.getElementById('ship_form').style.display = 'none';
70
+
71
+ jq('.hal_radio').removeAttr('checked');
72
+
73
+
74
+
75
+ }
76
+ else if(arr == "ship")
77
+ {
78
+
79
+
80
+ document.getElementById('shipping:street1').value = '';
81
+ document.getElementById('shipping:firstname').value = '';
82
+ document.getElementById('shipping:lastname').value = '';
83
+ document.getElementById('shipping:company').value = '';
84
+ document.getElementById('shipping:city').value = '';
85
+ document.getElementById('shipping:postcode').value = '';
86
+ document.getElementById("shipping:region_id").selectedIndex = '';
87
+ document.getElementById("shipping:telephone").value = '';
88
+
89
+ document.getElementById("shipping:street1").readOnly = false;
90
+ document.getElementById("shipping:firstname").readOnly = false;
91
+ document.getElementById("shipping:lastname").readOnly = false;
92
+ document.getElementById("shipping:company").readOnly = false;
93
+ document.getElementById("shipping:city").readOnly = false;
94
+ document.getElementById("shipping:postcode").readOnly = false;
95
+
96
+ document.getElementById('hal_form').style.display = 'none';
97
+ document.getElementById('ship_form').style.display = 'block';
98
+
99
+ }
100
+ }
101
+ function save_shipment(name,add,comp,city,state,postal)
102
+ {
103
+
104
+
105
+ document.getElementById('ship_form').style.display = 'block';
106
+ document.getElementById('shipping:street1').value = add;
107
+ document.getElementById('shipping:firstname').value = '';
108
+ document.getElementById('shipping:lastname').value = '';
109
+ document.getElementById('shipping:company').value = comp;
110
+ document.getElementById('shipping:city').value = city;
111
+ document.getElementById('shipping:postcode').value = postal;
112
+ document.getElementById("shipping:region_id").selectedIndex = state;
113
+ document.getElementById("shipping:telephone").value = '';
114
+
115
+ document.getElementById("shipping:street1").readOnly = true;
116
+ document.getElementById("shipping:city").readOnly = true;
117
+ document.getElementById("shipping:postcode").readOnly = true;
118
+
119
+ }
120
+ </script>
121
+ <form action="" id="co-shipping-form">
122
+ <ul class="form-list">
123
+
124
+
125
+
126
+ <?php
127
+ $q_id=Mage::getSingleton('checkout/session')->getQuoteId();
128
+ $base_url = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB);
129
+ $eavSetId = Mage::getSingleton('core/resource')->getConnection('core_write');
130
+ $SetIds=$eavSetId->query("SELECT * FROM `webgility_settings`");
131
+ $row = $SetIds->fetch();
132
+
133
+ $carriers = Mage::getSingleton('shipping/config')->getActiveCarriers($storeid);
134
+ foreach ($carriers as $carrierCode=>$carrierModel)
135
+ {
136
+ if(trim(strtolower($carrierCode))=='fedex')
137
+ {
138
+ $ship = "fedex";
139
+ }
140
+ }
141
+
142
+
143
+ if( $ship == "fedex" && $row['enable']==1) {
144
+
145
+ ?>
146
+ <input type="radio" onclick="show_form('hal');" name="hal"> Hold at FedEx Location <br/>
147
+ <li>
148
+ <fieldset>
149
+ <input type="hidden" name="shipping[address_id]" value="<?php echo $this->getAddress()->getId() ?>" id="shipping:address_id" />
150
+ <ul>
151
+ <li class="wide">
152
+ <div id="hal_form" style="display:none;">
153
+ <ul>
154
+ <li class="wide">
155
+ <label for="shipping:jobtitle"><?php echo $this->__('Please enter the Zip/Postal Code for getting HAL') ?></label>
156
+
157
+ <div class="input-box">
158
+ <input type="text" style="width:50px;" id="shipping:gethal" name="shipping[gethal]" value="" maxlength="5" />
159
+ &nbsp;&nbsp;<input type="button" id="fadex_hal_location" value="Find a FedEx Location" onclick="Hal_Location('<?php echo $base_url ?>','<?php echo $q_id ?>');"><div id="LoadingImage2" style="display: none"><br /><br />
160
+ <img src="<?php echo $base_url ?>/downloader/skin/images/ajax-loader-tr.gif">
161
+ </div><br /><br />(applicable for FedEx Ground and Express shipments only)
162
+ </div>
163
+ </li>
164
+ <li class="wide">
165
+ <div id="hal_location" style="display:none;">
166
+
167
+ <div class="input-box" id='fedex_hal_info'>
168
+
169
+
170
+ </div>
171
+ </div>
172
+ </li>
173
+ </ul>
174
+ </div>
175
+ </li>
176
+ <li>
177
+
178
+ <ul id="ship_form" style="display:none;">
179
+
180
+ <li class="fields"><?php echo $this->getLayout()->createBlock('customer/widget_name')->setObject($this->getAddress())->setFieldIdFormat('shipping:%s')->setFieldNameFormat('shipping[%s]')->setFieldParams('onchange="shipping.setSameAsBilling(false)"')->toHtml() ?></li>
181
+
182
+
183
+ <li class="fields">
184
+ <div class="fields">
185
+ <label for="shipping:company"><?php echo $this->__('Company') ?></label>
186
+ <div class="input-box">
187
+ <input type="text" id="shipping:company" name="shipping[company]" value="<?php echo $this->htmlEscape($this->getAddress()->getCompany()) ?>" title="<?php echo $this->__('Company') ?>" class="input-text" onchange="shipping.setSameAsBilling(false);" />
188
+ </div>
189
+ </div>
190
+ <?php if(false): ?>
191
+ <div class="fields">
192
+ <label for="shipping:email" class="required"><em>*</em><?php echo $this->__('Email Address') ?></label>
193
+ <div class="input-box">
194
+ <input type="text" name="shipping[email]" id="shipping:email" value="<?php echo $this->htmlEscape($this->getAddress()->getEmail()) ?>" title="<?php echo $this->__('Email Address') ?>" class="input-text validate-email required-entry" />
195
+ </div>
196
+ </div>
197
+ <?php endif ?>
198
+ </li>
199
+
200
+ <li class="wide">
201
+ <label for="shipping:street1" class="required"><em>*</em><?php echo $this->__('Address') ?></label>
202
+ <div class="input-box">
203
+ <input type="text" title="<?php echo $this->__('Street Address') ?>" name="shipping[street][]" id="shipping:street1" value="<?php echo $this->htmlEscape($this->getAddress()->getStreet(1)) ?>" class="input-text required-entry" onchange="shipping.setSameAsBilling(false);" />
204
+ </div>
205
+ </li>
206
+ <?php for ($_i=2, $_n=$this->helper('customer/address')->getStreetLines(); $_i<=$_n; $_i++): ?>
207
+ <li class="wide">
208
+
209
+ <div class="input-box">
210
+ <input type="text" title="<?php echo $this->__('Street Address %s', $_i) ?>" name="shipping[street][]" id="shipping:street<?php echo $_i?>" value="<?php echo $this->htmlEscape($this->getAddress()->getStreet($_i)) ?>" class="input-text" onchange="shipping.setSameAsBilling(false);" />
211
+ </div>
212
+ </li>
213
+ <?php endfor ?>
214
+ <li class="fields">
215
+ <div class="field">
216
+ <label for="shipping:city" class="required"><em>*</em><?php echo $this->__('City') ?></label>
217
+ <div class="input-box">
218
+ <input type="text" title="<?php echo $this->__('City') ?>" name="shipping[city]" value="<?php echo $this->htmlEscape($this->getAddress()->getCity()) ?>" class="input-text required-entry" id="shipping:city" onchange="shipping.setSameAsBilling(false);" />
219
+ </div>
220
+ </div>
221
+ <div class="field">
222
+ <label for="shipping:region" class="required"><em>*</em><?php echo $this->__('State/Province') ?></label>
223
+ <div class="input-box">
224
+ <select id="shipping:region_id" name="shipping[region_id]" title="<?php echo $this->__('State/Province') ?>" class="validate-select" style="display:none;">
225
+ <option value=""><?php echo $this->__('Please select region, state or province') ?></option>
226
+ </select>
227
+ <script type="text/javascript">
228
+ //<![CDATA[
229
+ $('shipping:region_id').setAttribute('defaultValue', "<?php echo $this->getAddress()->getRegionId() ?>");
230
+ //]]>
231
+ </script>
232
+ <input type="text" id="shipping:region" name="shipping[region]" value="<?php echo $this->htmlEscape($this->getAddress()->getRegion()) ?>" title="<?php echo $this->__('State/Province') ?>" class="input-text" style="display:none;" />
233
+ </div>
234
+ </div>
235
+ </li>
236
+ <li class="fields">
237
+ <div class="field">
238
+ <label for="shipping:postcode" class="required"><em>*</em><?php echo $this->__('Zip/Postal Code') ?></label>
239
+ <div class="input-box">
240
+ <input type="text" title="<?php echo $this->__('Zip/Postal Code') ?>" name="shipping[postcode]" id="shipping:postcode" value="<?php echo $this->htmlEscape($this->getAddress()->getPostcode()) ?>" class="input-text validate-zip-international required-entry" onchange="shipping.setSameAsBilling(false);" />
241
+ </div>
242
+ </div>
243
+ <div class="field">
244
+ <label for="shipping:country_id" class="required"><em>*</em><?php echo $this->__('Country') ?></label>
245
+ <div class="input-box">
246
+ <?php echo $this->getCountryHtmlSelect('shipping') ?>
247
+ </div>
248
+ </div>
249
+ </li>
250
+ <li class="fields">
251
+ <div class="field">
252
+ <label for="shipping:telephone" class="required"><em>*</em><?php echo $this->__('Telephone') ?></label>
253
+ <div class="input-box">
254
+ <input type="text" name="shipping[telephone]" value="<?php echo $this->htmlEscape($this->getAddress()->getTelephone()) ?>" title="<?php echo $this->__('Telephone') ?>" class="input-text required-entry" id="shipping:telephone" onchange="shipping.setSameAsBilling(false);" />
255
+ </div>
256
+ </div>
257
+ <div class="field">
258
+ <label for="shipping:fax"><?php echo $this->__('Fax') ?></label>
259
+ <div class="input-box">
260
+ <input type="text" name="shipping[fax]" value="<?php echo $this->htmlEscape($this->getAddress()->getFax()) ?>" title="<?php echo $this->__('Fax') ?>" class="input-text" id="shipping:fax" onchange="shipping.setSameAsBilling(false);" />
261
+ </div>
262
+ </div>
263
+ </li>
264
+ <?php if ($this->isCustomerLoggedIn() && $this->customerHasAddresses()):?>
265
+ <li class="control">
266
+ <input type="checkbox" name="shipping[save_in_address_book]" value="1" title="<?php echo $this->__('Save in address book') ?>" id="shipping:save_in_address_book" onchange="shipping.setSameAsBilling(false);"<?php if ($this->getAddress()->getSaveInAddressBook()):?> checked="checked"<?php endif;?> class="checkbox" /><label for="shipping:save_in_address_book"><?php echo $this->__('Save in address book') ?></label></li>
267
+ <?php else:?>
268
+ <li class="no-display"><input type="hidden" name="shipping[save_in_address_book]" value="1" /></li>
269
+ <?php endif;?>
270
+ </ul>
271
+ </fieldset>
272
+ </li>
273
+ <input type="radio" onclick="show_form('ship');" name="hal"> Ship to different address
274
+ <?php } else
275
+
276
+ { ?>
277
+ <li>
278
+
279
+ <ul id="ship_form">
280
+ <li id="shipping-new-address-form">
281
+ <fieldset>
282
+ <input type="hidden" name="shipping[address_id]" value="<?php echo $this->getAddress()->getId() ?>" id="shipping:address_id" />
283
+ <ul>
284
+ <li class="fields"><?php echo $this->getLayout()->createBlock('customer/widget_name')->setObject($this->getAddress())->setFieldIdFormat('shipping:%s')->setFieldNameFormat('shipping[%s]')->setFieldParams('onchange="shipping.setSameAsBilling(false)"')->toHtml() ?></li>
285
+ <li class="fields">
286
+ <div class="fields">
287
+ <label for="shipping:company"><?php echo $this->__('Company') ?></label>
288
+ <div class="input-box">
289
+ <input type="text" id="shipping:company" name="shipping[company]" value="<?php echo $this->htmlEscape($this->getAddress()->getCompany()) ?>" title="<?php echo $this->__('Company') ?>" class="input-text" onchange="shipping.setSameAsBilling(false);" />
290
+ </div>
291
+ </div>
292
+ <?php if(false): ?>
293
+ <div class="fields">
294
+ <label for="shipping:email" class="required"><em>*</em><?php echo $this->__('Email Address') ?></label>
295
+ <div class="input-box">
296
+ <input type="text" name="shipping[email]" id="shipping:email" value="<?php echo $this->htmlEscape($this->getAddress()->getEmail()) ?>" title="<?php echo $this->__('Email Address') ?>" class="input-text validate-email required-entry" />
297
+ </div>
298
+ </div>
299
+ <?php endif ?>
300
+ </li>
301
+ <li class="wide">
302
+ <label for="shipping:street1" class="required"><em>*</em><?php echo $this->__('Address') ?></label>
303
+ <div class="input-box">
304
+ <input type="text" title="<?php echo $this->__('Street Address') ?>" name="shipping[street][]" id="shipping:street1" value="<?php echo $this->htmlEscape($this->getAddress()->getStreet(1)) ?>" class="input-text required-entry" onchange="shipping.setSameAsBilling(false);" />
305
+ </div>
306
+ </li>
307
+ <?php for ($_i=2, $_n=$this->helper('customer/address')->getStreetLines(); $_i<=$_n; $_i++): ?>
308
+ <li class="wide">
309
+ <div class="input-box">
310
+ <input type="text" title="<?php echo $this->__('Street Address %s', $_i) ?>" name="shipping[street][]" id="shipping:street<?php echo $_i?>" value="<?php echo $this->htmlEscape($this->getAddress()->getStreet($_i)) ?>" class="input-text" onchange="shipping.setSameAsBilling(false);" />
311
+ </div>
312
+ </li>
313
+ <?php endfor ?>
314
+ <li class="fields">
315
+ <div class="field">
316
+ <label for="shipping:city" class="required"><em>*</em><?php echo $this->__('City') ?></label>
317
+ <div class="input-box">
318
+ <input type="text" title="<?php echo $this->__('City') ?>" name="shipping[city]" value="<?php echo $this->htmlEscape($this->getAddress()->getCity()) ?>" class="input-text required-entry" id="shipping:city" onchange="shipping.setSameAsBilling(false);" />
319
+ </div>
320
+ </div>
321
+ <div class="field">
322
+ <label for="shipping:region" class="required"><em>*</em><?php echo $this->__('State/Province') ?></label>
323
+ <div class="input-box">
324
+ <select id="shipping:region_id" name="shipping[region_id]" title="<?php echo $this->__('State/Province') ?>" class="validate-select" style="display:none;">
325
+ <option value=""><?php echo $this->__('Please select region, state or province') ?></option>
326
+ </select>
327
+ <script type="text/javascript">
328
+ //<![CDATA[
329
+ $('shipping:region_id').setAttribute('defaultValue', "<?php echo $this->getAddress()->getRegionId() ?>");
330
+ //]]>
331
+ </script>
332
+ <input type="text" id="shipping:region" name="shipping[region]" value="<?php echo $this->htmlEscape($this->getAddress()->getRegion()) ?>" title="<?php echo $this->__('State/Province') ?>" class="input-text" style="display:none;" />
333
+ </div>
334
+ </div>
335
+ </li>
336
+ <li class="fields">
337
+ <div class="field">
338
+ <label for="shipping:postcode" class="required"><em>*</em><?php echo $this->__('Zip/Postal Code') ?></label>
339
+ <div class="input-box">
340
+ <input type="text" title="<?php echo $this->__('Zip/Postal Code') ?>" name="shipping[postcode]" id="shipping:postcode" value="<?php echo $this->htmlEscape($this->getAddress()->getPostcode()) ?>" class="input-text validate-zip-international required-entry" onchange="shipping.setSameAsBilling(false);" />
341
+ </div>
342
+ </div>
343
+ <div class="field">
344
+ <label for="shipping:country_id" class="required"><em>*</em><?php echo $this->__('Country') ?></label>
345
+ <div class="input-box">
346
+ <?php echo $this->getCountryHtmlSelect('shipping') ?>
347
+ </div>
348
+ </div>
349
+ </li>
350
+ <li class="fields">
351
+ <div class="field">
352
+ <label for="shipping:telephone" class="required"><em>*</em><?php echo $this->__('Telephone') ?></label>
353
+ <div class="input-box">
354
+ <input type="text" name="shipping[telephone]" value="<?php echo $this->htmlEscape($this->getAddress()->getTelephone()) ?>" title="<?php echo $this->__('Telephone') ?>" class="input-text required-entry" id="shipping:telephone" onchange="shipping.setSameAsBilling(false);" />
355
+ </div>
356
+ </div>
357
+ <div class="field">
358
+ <label for="shipping:fax"><?php echo $this->__('Fax') ?></label>
359
+ <div class="input-box">
360
+ <input type="text" name="shipping[fax]" value="<?php echo $this->htmlEscape($this->getAddress()->getFax()) ?>" title="<?php echo $this->__('Fax') ?>" class="input-text" id="shipping:fax" onchange="shipping.setSameAsBilling(false);" />
361
+ </div>
362
+ </div>
363
+ </li>
364
+ <?php if ($this->isCustomerLoggedIn() && $this->customerHasAddresses()):?>
365
+ <li class="control">
366
+ <input type="checkbox" name="shipping[save_in_address_book]" value="1" title="<?php echo $this->__('Save in address book') ?>" id="shipping:save_in_address_book" onchange="shipping.setSameAsBilling(false);"<?php if ($this->getAddress()->getSaveInAddressBook()):?> checked="checked"<?php endif;?> class="checkbox" /><label for="shipping:save_in_address_book"><?php echo $this->__('Save in address book') ?></label></li>
367
+ <?php else:?>
368
+ <li class="no-display"><input type="hidden" name="shipping[save_in_address_book]" value="1" /></li>
369
+ <?php endif;?>
370
+ </ul>
371
+ </fieldset>
372
+
373
+ </li>
374
+ <li class="control">
375
+ <input type="checkbox" name="shipping[same_as_billing]" id="shipping:same_as_billing" value="1"<?php if($this->getAddress()->getSameAsBilling()): ?> checked="checked"<?php endif; ?> title="<?php echo $this->__('Use Billing Address') ?>" onclick="shipping.setSameAsBilling(this.checked)" class="checkbox" /><label for="shipping:same_as_billing"><?php echo $this->__('Use Billing Address') ?></label></li>
376
+
377
+ </ul>
378
+ </li>
379
+ <?php } ?>
380
+ </li>
381
+ </ul>
382
+ <div class="buttons-set" id="shipping-buttons-container">
383
+ <p class="required"><?php echo $this->__('* Required Fields') ?></p>
384
+ <p class="back-link"><a href="#" onclick="checkout.back(); return false;"><small>&laquo; </small><?php echo $this->__('Back') ?></a></p>
385
+ <button type="button" class="button" title="<?php echo $this->__('Continue') ?>" onclick="shipping.save()"><span><span><?php echo $this->__('Continue') ?></span></span></button>
386
+ <span id="shipping-please-wait" class="please-wait" style="display:none;">
387
+ <img src="<?php echo $this->getSkinUrl('images/opc-ajax-loader.gif') ?>" alt="<?php echo $this->__('Loading next step...') ?>" title="<?php echo $this->__('Loading next step...') ?>" class="v-middle" /> <?php echo $this->__('Loading next step...') ?>
388
+ </span>
389
+ </div>
390
+ </form>
391
+ <script type="text/javascript">
392
+ //<![CDATA[
393
+ var shipping = new Shipping('co-shipping-form', '<?php echo $this->getUrl('checkout/onepage/getAddress') ?>address/', '<?php echo $this->getUrl('checkout/onepage/saveShipping') ?>',
394
+ '<?php echo $this->getUrl('checkout/onepage/shippingMethod') ?>');
395
+ var shippingForm = new VarienForm('co-shipping-form');
396
+ shippingForm.extraChildParams = ' onchange="shipping.setSameAsBilling(false);"';
397
+ //shippingForm.setElementsRelation('shipping:country_id', 'shipping:region', '<?php echo $this->getUrl('directory/json/childRegion') ?>', '<?php echo $this->__('Select State/Province...') ?>');
398
+ $('shipping-address-select') && shipping.newAddress(!$('shipping-address-select').value);
399
+
400
+ var shippingRegionUpdater = new RegionUpdater('shipping:country_id', 'shipping:region', 'shipping:region_id', <?php echo $this->helper('directory')->getRegionJson() ?>, undefined, 'shipping:postcode');
401
+ //]]>
402
+ </script>
app/etc/modules/Webgility_HAL.xml ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <config>
3
+ <modules>
4
+ <Webgility_HAL>
5
+ <active>true</active>
6
+ <codePool>community</codePool>
7
+ </Webgility_HAL>
8
+ </modules>
9
+ </config>
fedex/LocateShipAddressWebServiceClient1.php ADDED
@@ -0,0 +1,216 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ // Copyright 2009, FedEx Corporation. All rights reserved.
4
+ // Version 2.0.0
5
+
6
+ require_once('library/fedex-common.php');
7
+
8
+ //The WSDL is not included with the sample code.
9
+ //Please include and reference in $path_to_wsdl variable.
10
+ $path_to_wsdl = "wsdl/GlobalShipAddressService_v1.wsdl";
11
+
12
+ ini_set("soap.wsdl_cache_enabled", "0");
13
+
14
+ $client = new SoapClient($path_to_wsdl, array('trace' => 1)); // Refer to http://us3.php.net/manual/en/ref.soap.php for more information
15
+
16
+ $request['WebAuthenticationDetail'] = array(
17
+ 'CspCredential' => array(
18
+ 'Key' => getProperty('key'),
19
+ 'Password' => getProperty('password')),
20
+ 'UserCredential' => array(
21
+ 'Key' => getProperty('userkey'),
22
+ 'Password' => getProperty('userpassword'))
23
+ );
24
+ $request['ClientDetail'] = array(
25
+ 'AccountNumber' => getProperty('shipaccount'),
26
+ 'MeterNumber' => getProperty('meter'),
27
+ 'ClientProductId'=>'',
28
+ 'ClientProductVersion'=>'',
29
+ 'Localization'=>array('LanguageCode'=>'','LocaleCode'=>'')
30
+
31
+ );
32
+ $request['TransactionDetail'] = array('CustomerTransactionId' => '*** Search Locations Request v1 using PHP ***');
33
+ $request['Version'] = array(
34
+ 'ServiceId' => 'gsai',
35
+ 'Major' => '1',
36
+ 'Intermediate' => '0',
37
+ 'Minor' => '0'
38
+ );
39
+
40
+
41
+ $request['BeginningRecordIndex'] =1;
42
+ $request['MaximumMatchCount'] =10;
43
+ $request['DistanceUnits'] ='MI';
44
+
45
+ $bNearToPhoneNumber = false;
46
+ if ($bNearToPhoneNumber)
47
+ {
48
+ $request['LocationsSearchCriterion'] = 'PHONE_NUMBER';
49
+ $request['PhoneNumber'] = getProperty('searchlocationphonenumber'); // Replace 'XXX' with phone number
50
+ }
51
+ else
52
+ {
53
+ $request['LocationsSearchCriterion'] = 'ADDRESS';
54
+ $request['Address'] = array(array('StreetLines'=>''),
55
+ 'City'=>'',
56
+ 'StateOrProvinceCode'=>'',
57
+ 'PostalCode'=>$_REQUEST['data_array_pin'],
58
+ 'CountryCode'=>'US');
59
+ }
60
+ /*
61
+ $request['EffectiveDate'] = date('Y-m-d');
62
+
63
+
64
+ $request['MultipleMatchesAction'] = 'RETURN_ALL';
65
+ $request['SortDetail'] = array(
66
+ 'Criterion' => 'DISTANCE',
67
+ 'Order' => 'LOWEST_TO_HIGHEST'
68
+ );
69
+ $request['Constraints'] = array(
70
+ 'RadiusDistance' => array(
71
+ 'Value' => 15.0,
72
+ 'Units' => 'KM'
73
+ ),
74
+ 'ExpressDropOfTimeNeeded' => '15:00:00.00',
75
+ 'ResultFilters' => 'EXCLUDE_LOCATIONS_OUTSIDE_STATE_OR_PROVINCE',
76
+ 'SupportedRedirectToHoldServices' => array(
77
+ 'FEDEX_EXPRESS', 'FEDEX_GROUND', 'FEDEX_GROUND_HOME_DELIVERY'
78
+ ),
79
+ 'RequiredLocationAttributes' => array(
80
+ 'ACCEPTS_CASH','ALREADY_OPEN'
81
+ ),
82
+ 'ResultsRequested' => 1,
83
+ 'LocationContentOptions' => array(
84
+ 'HOLIDAYS'
85
+ ),
86
+ 'LocationTypesToInclude' => array(
87
+ 'FEDEX_OFFICE'
88
+ )
89
+ );
90
+ */
91
+ //$request['LocationsSearchCriterion'] =
92
+ $request['NearToAddress'] =array('StreetLines'=>'',
93
+ 'City'=>'',
94
+ 'StateOrProvinceCode'=>'',
95
+ 'PostalCode'=>$_REQUEST['data_array_pin'],
96
+ 'CountryCode'=>'',
97
+ 'Residential'=>true
98
+ );
99
+
100
+ $request['DropoffServicesDesired'] = array('HoldAtLocation' => 1, 'Ground' => 1, 'Express' => 1);
101
+ //print_r($request);
102
+ //die();
103
+
104
+ try
105
+ {
106
+ if(setEndpoint('changeEndpoint'))
107
+ {
108
+ $newLocation = $client->__setLocation(setEndpoint('endpoint'));
109
+ }
110
+
111
+ $response = $client ->searchLocations($request);
112
+ /*//$response = $client ->searchLocations('<?xml version="1.0" encoding="UTF-8"?>
113
+ <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://fedex.com/ws/gsai/v1"><SOAP-ENV:Body><ns1:SearchLocationsRequest><ns1:WebAuthenticationDetail><ns1:CspCredential><ns1:Key>0ZqHJz0HoExFw2N0</ns1:Key><ns1:Password>XlViitsEA13udiYHifNko7EgV</ns1:Password></ns1:CspCredential><ns1:UserCredential><ns1:Key>cGCXscWPffq8J2Wy</ns1:Key><ns1:Password>UPCK8E2IJU7dI3vYsFSz4yJOV</ns1:Password></ns1:UserCredential></ns1:WebAuthenticationDetail><ns1:ClientDetail><ns1:AccountNumber>472099426</ns1:AccountNumber><ns1:MeterNumber>105283893</ns1:MeterNumber><ns1:ClientProductId></ns1:ClientProductId><ns1:ClientProductVersion></ns1:ClientProductVersion><ns1:Localization><ns1:LanguageCode></ns1:LanguageCode><ns1:LocaleCode></ns1:LocaleCode></ns1:Localization></ns1:ClientDetail><ns1:TransactionDetail><ns1:CustomerTransactionId>*** Search Locations Request v1 using PHP ***</ns1:CustomerTransactionId></ns1:TransactionDetail><ns1:Version><ns1:ServiceId>gsai</ns1:ServiceId><ns1:Major>1</ns1:Major><ns1:Intermediate>0</ns1:Intermediate><ns1:Minor>0</ns1:Minor></ns1:Version><ns1:LocationsSearchCriterion>ADDRESS</ns1:LocationsSearchCriterion><ns1:Address><ns1:City></ns1:City><ns1:StateOrProvinceCode></ns1:StateOrProvinceCode><ns1:PostalCode>85016</ns1:PostalCode><ns1:CountryCode>US</ns1:CountryCode></ns1:Address></ns1:SearchLocationsRequest></SOAP-ENV:Body></SOAP-ENV:Envelope>');
114
+ */
115
+ //mail("sunilr@webgility.com","final hal req",$client->__getLastRequest());
116
+ //mail("sunilr@webgility.com","final hal res",$client->__getLastResponse());
117
+ if ($response -> HighestSeverity != 'FAILURE' && $response -> HighestSeverity != 'ERROR')
118
+ {
119
+
120
+ $i=0;
121
+ ?>
122
+ <table width="100%" border="1" cellspacing="0" cellpadding="0" id="fedex_tb">
123
+ <?php
124
+ foreach($response->AddressToLocationRelationships->DistanceAndLocationDetails as $hal)
125
+ {
126
+
127
+ ?>
128
+
129
+ <?php
130
+ if($i<10)
131
+ {
132
+
133
+ $address=$hal->LocationDetail->LocationContactAndAddress->Address;
134
+ $address_map = $address->StreetLines." ".$address->City.",".$address->StateOrProvinceCode.",".$address->PostalCode;
135
+ //print_r($hal->LocationDetail->MapUrl);
136
+ //$address = $hal->BusinessName." ".$hal->BusinessDescription." ".$hal->LocationDetail->LocationContactAndAddress->Address->StreetLines." ".$hal->BusinessAddress->City.",".$hal->BusinessAddress->StateOrProvinceCode.",".$hal->BusinessAddress->PostalCode;
137
+ $state_array = array("1"=>"AL","2"=>"AK","4"=>"AZ","5"=>"AR","12"=>"CA","13"=>"CO","14"=>"CT","15"=>"DE","16"=>"DC","18"=>"FL","19"=>"GA","21"=>"HI","22"=>"ID","23"=>"IL","24"=>"IN","25"=>"IA","26"=>"KS","27"=>"KY","28"=>"LA","29"=>"ME","31"=>"MD","32"=>"MA","33"=>"MI","34"=>"MN","35"=>"MS","36"=>"MO","37"=>"MT","38"=>"NE","39"=>"NV","40"=>"NH","41"=>"NJ","42"=>"NM","43"=>"NY","44"=>"NC","45"=>"ND","47"=>"OH","48"=>"OK","49"=>"OR","51"=>"PA","53"=>"RI","54"=>"SC","55"=>"SD","56"=>"TN","57"=>"TX","58"=>"UT","59"=>"VT","61"=>"VA","62"=>"WA","63"=>"WV","64"=>"WI","65"=>"WY");
138
+ foreach($state_array as $key=>$value)
139
+ {
140
+
141
+ if($address->StateOrProvinceCode==$value)
142
+ {
143
+ $selected =$key;
144
+ }
145
+
146
+ }
147
+ echo '
148
+ <tr>
149
+ <td width="60%"><input type="radio" id="ship_add" class="hal_radio" name="ship_add" onchange="save_shipment(\''.$hal->BusinessName.'\',\''.$address->StreetLines.'\',\''.$hal->BusinessDescription.'\',\''.$address->City.'\',\''.$selected.'\',\''.$address->PostalCode.'\');">&nbsp;'.$address->StreetLines." ".$address->City." ".$address->StateOrProvinceCode." ".$address->PostalCode.'</td>
150
+ <td width="20%" class="fedex_api">'.round($hal->Distance->Value, 3).' '.$hal->Distance->Units.'</td>
151
+ <td width="20%" class="fedex_api"><a target="_blank" href="http://maps.google.com/?q='.urlencode($address_map).'" >View map</a></td>
152
+ </tr>';
153
+
154
+
155
+ // echo $hal->BusinessName." ".$hal->BusinessDescription." ".$hal->BusinessAddress->StreetLines." ".$hal->BusinessAddress->City." ".$hal->BusinessAddress->StateOrProvinceCode." ".$hal->BusinessAddress->PostalCode."<br/>";
156
+
157
+ $i++;
158
+
159
+ }
160
+ }
161
+
162
+ //echo '<table border="1">';
163
+ // printString($response->TotalResultsAvailable, '', 'Total Locations Found');
164
+ //printString($response->ResultsReturned, '', 'Locations Returned');
165
+ //printString('','','Address Information Used for Search');
166
+ //locationDetails($response->AddressToLocationRelationships->MatchedAddress, '');
167
+ //printString('','','LocationDetails');
168
+ //locationDetails($response->AddressToLocationRelationships->DistanceAndLocationDetails, '');
169
+ echo '</table>';
170
+
171
+ //printSuccess($client, $response);
172
+ }
173
+ else
174
+ {
175
+ echo '<table width="100%" border="1" cellspacing="0" cellpadding="0" id="fedex_tb"><tr>
176
+ <td style="padding:5px;">
177
+ <p style="color:red">'.$response->Notifications->Message.'</p>';
178
+ //echo $response->Notifications->Message;
179
+ // printError($client, $response);
180
+ echo '</td></tr></table>';
181
+ }
182
+
183
+ writeToLog($client); // Write to log file
184
+
185
+ } catch (SoapFault $exception) {
186
+ printFault($exception, $client);
187
+ }
188
+
189
+ function printString($value, $spacer, $description){
190
+ echo '<tr><td>'.$description.'</td><td>'.$value.'</td></tr>';
191
+ }
192
+
193
+ function locationDetails($details, $spacer){
194
+ foreach($details as $key => $value){
195
+ if(is_array($value) || is_object($value)){
196
+ $newSpacer = $spacer. '&nbsp;&nbsp;&nbsp;&nbsp;';
197
+ echo '<tr><td>'.'</td><td>'.$spacer .$key.'</td><td>&nbsp;</td></tr>';
198
+ locationDetails($value, $newSpacer);
199
+ }elseif(empty($value)){
200
+ if (!is_numeric($value)){
201
+ echo '<tr><td>'.'</td><td>'.$spacer.$key .'</td><td>&nbsp;</td></tr>';
202
+ }
203
+ }else{
204
+ echo '<tr><td>'.'</td><td>'.$spacer.$key.'</td><td>'.$value.'</td></tr>';
205
+ }
206
+ }
207
+ }
208
+ ?>
209
+
210
+
211
+
212
+
213
+
214
+
215
+
216
+
fedex/fedex_HAL.php ADDED
@@ -0,0 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ include_once "../app/Mage.php";
3
+ $app = Mage::app('default');
4
+ $base_path = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB);
5
+ $eavSetId = Mage::getSingleton('core/resource')->getConnection('core_write');
6
+
7
+ $arr=array();
8
+ $zipcode = $_REQUEST['q'];
9
+ $q_id = $_REQUEST['q_id'];
10
+
11
+ $eavSetId->query("insert into webgility_orders(`orderid` ) values ('".$q_id."')");
12
+
13
+ $url = $base_path.'fedex/LocateShipAddressWebServiceClient1.php';
14
+
15
+ $data1 = array("data_array_pin" => $zipcode);
16
+
17
+ $ch = curl_init($url);
18
+ curl_setopt($ch, CURLOPT_POST ,1);
19
+ curl_setopt($ch, CURLOPT_POSTFIELDS ,$data1 );
20
+ curl_setopt($ch, CURLOPT_REFERER, 'http://cart.nova1.webgility.com/zencart_1_5_1');
21
+ curl_setopt($ch, CURLOPT_FOLLOWLOCATION ,1);
22
+ curl_setopt($ch, CURLOPT_HEADER ,0); // DO NOT RETURN HTTP HEADERS
23
+ curl_setopt($ch, CURLOPT_RETURNTRANSFER ,1); // RETURN THE CONTENTS OF THE CALL
24
+ $Rec_Data = curl_exec($ch);
25
+ curl_close($ch);
26
+
27
+ $arr['name'] = $Rec_Data;
28
+
29
+ //$arr['name'] = "test";
30
+ echo $_GET['callback']."(".json_encode($arr).");"; // 09
31
+
32
+
33
+ ?>
fedex/fedex_meter.php ADDED
@@ -0,0 +1,84 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ include_once "../app/Mage.php";
4
+ $app = Mage::app('default');
5
+
6
+ $name = explode(" ",$_REQUEST['name']);
7
+ $fname = $name[0];
8
+ $lname = $name[1];
9
+
10
+ //$xml_data ='<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v2="http://fedex.com/ws/registration/v2"> <soapenv:Body> <v2:RegisterWebCspUserRequest> <v2:WebAuthenticationDetail> <v2:CspCredential> <v2:Key>TWAlZC3VUB3XAi6J</v2:Key> <v2:Password>KqHbNMxIPiCFtjhDVZVPYfvjK</v2:Password> </v2:CspCredential> </v2:WebAuthenticationDetail> <v2:ClientDetail> <v2:AccountNumber>'.$_REQUEST["fedex_account"].'</v2:AccountNumber> <v2:ClientProductId>XFEN</v2:ClientProductId> <v2:ClientProductVersion>8197</v2:ClientProductVersion> </v2:ClientDetail> <v2:Version> <v2:ServiceId>fcas</v2:ServiceId> <v2:Major>2</v2:Major> <v2:Intermediate>1</v2:Intermediate> <v2:Minor>0</v2:Minor> </v2:Version> <v2:BillingAddress> <v2:StreetLines>'.$_REQUEST["add1"].'</v2:StreetLines> <v2:StreetLines>'.$_REQUEST["add2"].'</v2:StreetLines> <v2:City>'.$_REQUEST["city"].'</v2:City> <v2:StateOrProvinceCode>'.$_REQUEST["state"].'</v2:StateOrProvinceCode> <v2:PostalCode>'.$_REQUEST["zip"].'</v2:PostalCode> <v2:CountryCode>US</v2:CountryCode> </v2:BillingAddress> <v2:UserContactAndAddress> <v2:Contact> <v2:PersonName> <v2:FirstName>'.$fname.'</v2:FirstName> <v2:LastName>'.$lname.'</v2:LastName> </v2:PersonName> <v2:CompanyName>'.$_REQUEST["company"].'</v2:CompanyName> <v2:PhoneNumber>'.$_REQUEST["phone"].'</v2:PhoneNumber> <v2:EMailAddress>'.$_REQUEST["email"].'</v2:EMailAddress> </v2:Contact> <v2:Address> <v2:StreetLines>'.$_REQUEST["add1"].'</v2:StreetLines> <v2:StreetLines>'.$_REQUEST["add2"].'</v2:StreetLines> <v2:City>'.$_REQUEST["city"].'</v2:City> <v2:StateOrProvinceCode>'.$_REQUEST["state"].'</v2:StateOrProvinceCode> <v2:PostalCode>'.$_REQUEST["zip"].'</v2:PostalCode> <v2:CountryCode>US</v2:CountryCode> </v2:Address> </v2:UserContactAndAddress> </v2:RegisterWebCspUserRequest> </soapenv:Body> </soapenv:Envelope>';
11
+
12
+ $xml_data ='<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v2="http://fedex.com/ws/registration/v2"> <soapenv:Body> <v2:RegisterWebCspUserRequest> <v2:WebAuthenticationDetail> <v2:CspCredential> <v2:Key>0ZqHJz0HoExFw2N0</v2:Key> <v2:Password>XlViitsEA13udiYHifNko7EgV</v2:Password> </v2:CspCredential> </v2:WebAuthenticationDetail> <v2:ClientDetail> <v2:AccountNumber>'.$_REQUEST["fedex_account"].'</v2:AccountNumber> <v2:ClientProductId>XFEN</v2:ClientProductId> <v2:ClientProductVersion>9173</v2:ClientProductVersion> </v2:ClientDetail> <v2:Version> <v2:ServiceId>fcas</v2:ServiceId> <v2:Major>2</v2:Major> <v2:Intermediate>1</v2:Intermediate> <v2:Minor>0</v2:Minor> </v2:Version> <v2:BillingAddress> <v2:StreetLines>'.$_REQUEST["add1"].'</v2:StreetLines> <v2:StreetLines>'.$_REQUEST["add2"].'</v2:StreetLines> <v2:City>'.$_REQUEST["city"].'</v2:City> <v2:StateOrProvinceCode>'.$_REQUEST["state"].'</v2:StateOrProvinceCode> <v2:PostalCode>'.$_REQUEST["zip"].'</v2:PostalCode> <v2:CountryCode>US</v2:CountryCode> </v2:BillingAddress> <v2:UserContactAndAddress> <v2:Contact> <v2:PersonName> <v2:FirstName>'.$fname.'</v2:FirstName> <v2:LastName>'.$lname.'</v2:LastName> </v2:PersonName> <v2:CompanyName>'.$_REQUEST["company"].'</v2:CompanyName> <v2:PhoneNumber>'.$_REQUEST["phone"].'</v2:PhoneNumber> <v2:EMailAddress>'.$_REQUEST["email"].'</v2:EMailAddress> </v2:Contact> <v2:Address> <v2:StreetLines>'.$_REQUEST["add1"].'</v2:StreetLines> <v2:StreetLines>'.$_REQUEST["add2"].'</v2:StreetLines> <v2:City>'.$_REQUEST["city"].'</v2:City> <v2:StateOrProvinceCode>'.$_REQUEST["state"].'</v2:StateOrProvinceCode> <v2:PostalCode>'.$_REQUEST["zip"].'</v2:PostalCode> <v2:CountryCode>US</v2:CountryCode> </v2:Address> </v2:UserContactAndAddress> </v2:RegisterWebCspUserRequest> </soapenv:Body> </soapenv:Envelope>';
13
+
14
+ //mail("sunilr@webgility.com","final register req",$xml_data);
15
+
16
+ $url = "https://ws.fedex.com:443/web-services";
17
+ //$url = "https://wsbeta.fedex.com:443/web-services";
18
+
19
+ $first_register = curl_request($url, $xml_data);
20
+ //mail("sunilr@webgility.com","final register req",$first_register);
21
+ //$xmlTree = new SimpleXMLElement($first_register);
22
+ /*$xml = simplexml_load_string('<?xml version="1.0" encoding="UTF-8"?>
23
+ <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><env:Header xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/><soapenv:Body><v2:RegisterWebCspUserReply xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:v2="http://fedex.com/ws/registration/v2"><v2:HighestSeverity>SUCCESS</v2:HighestSeverity><v2:Notifications><v2:Severity>SUCCESS</v2:Severity><v2:Source>fcas</v2:Source><v2:Code>0000</v2:Code><v2:Message>Success</v2:Message></v2:Notifications><v2:Version> <v2:ServiceId>fcas</v2:ServiceId> <v2:Major>2</v2:Major> <v2:Intermediate>1</v2:Intermediate> <v2:Minor>0</v2:Minor> </v2:Version><v2:Credential><v2:Key>zU9AlTKIJ6avb35X</v2:Key><v2:Password>qxxKxFp4ytkEQprMy8xLNUR1M</v2:Password></v2:Credential></v2:RegisterWebCspUserReply></soapenv:Body></soapenv:Envelope>');
24
+ */
25
+ //$xml_element = new SimpleXMLElement($first_register); // SOAP XML
26
+ //$xml = simplexml_load_string($first_register);
27
+ $xml = simplexml_load_string($first_register, NULL, NULL, "http://schemas.xmlsoap.org/soap/envelope/");
28
+ $xml->registerXPathNamespace('soapenv', 'http://schemas.xmlsoap.org/soap/envelope/');
29
+ $xml->registerXPathNamespace('v2', 'http://www.ebxml.org/namespaces/messageHeader');
30
+
31
+ $key = (string)$xml->children('soapenv', true)->Body->children('v2', true)->RegisterWebCspUserReply->Credential->Key;
32
+ $Password = (string)$xml->children('soapenv', true)->Body->children('v2', true)->RegisterWebCspUserReply->Credential->Password;
33
+
34
+
35
+ if($key!="" && $Password!="")
36
+ {
37
+ $xml_data ="<soapenv:Envelope xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/' xmlns='http://fedex.com/ws/registration/v2'>
38
+ <soapenv:Body>
39
+ <SubscriptionRequest xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema'><WebAuthenticationDetail> <CspCredential> <Key>0ZqHJz0HoExFw2N0</Key> <Password>XlViitsEA13udiYHifNko7EgV</Password> </CspCredential> <UserCredential> <Key>".$key."</Key> <Password>".$Password."</Password> </UserCredential> </WebAuthenticationDetail> <ClientDetail> <AccountNumber>".$_REQUEST["fedex_account"]."</AccountNumber> <MeterNumber/> <ClientProductId>XFEN</ClientProductId> <ClientProductVersion>9173</ClientProductVersion> </ClientDetail> <TransactionDetail>
40
+ <CustomerTransactionId>Subscribe WebServices for 630081440</CustomerTransactionId>
41
+ </TransactionDetail><Version> <ServiceId>fcas</ServiceId> <Major>2</Major> <Intermediate>0</Intermediate> <Minor>0</Minor> </Version> <CspSolutionId>182</CspSolutionId> <CspType>CERTIFIED_SOLUTION_PROVIDER</CspType> <Subscriber> <AccountNumber>".$_REQUEST["fedex_account"]."</AccountNumber> <Contact> <PersonName>".$_REQUEST['name']."</PersonName> <CompanyName>".$_REQUEST["company"]."</CompanyName> <PhoneNumber>".$_REQUEST["phone"]."</PhoneNumber> <FaxNumber/> <EMailAddress>".$_REQUEST["email"]."</EMailAddress> </Contact> <Address> <StreetLines>".$_REQUEST["add1"]." ".$_REQUEST["add2"]."</StreetLines> <City>".$_REQUEST["city"]."</City> <StateOrProvinceCode>".$_REQUEST["state"]."</StateOrProvinceCode> <PostalCode>".$_REQUEST["zip"]."</PostalCode> <CountryCode>US</CountryCode> </Address> </Subscriber> <AccountShippingAddress> <StreetLines>".$_REQUEST["add1"]." ".$_REQUEST["add2"]."</StreetLines> <City>".$_REQUEST["city"]."</City> <StateOrProvinceCode>".$_REQUEST["state"]."</StateOrProvinceCode> <PostalCode>".$_REQUEST["zip"]."</PostalCode> <CountryCode>US</CountryCode> </AccountShippingAddress> </SubscriptionRequest> </soapenv:Body> </soapenv:Envelope> ";
42
+
43
+ //mail("sunilr@webgility.com","final register req",$xml_data);
44
+ $url = "https://ws.fedex.com:443/web-services";
45
+ //$url = "https://wsbeta.fedex.com:443/web-services";
46
+ $first_subscribe = curl_request($url, $xml_data);
47
+ //mail("sunilr@webgility.com","final register req",$first_subscribe);
48
+
49
+ $xml = simplexml_load_string($first_subscribe, NULL, NULL, "http://schemas.xmlsoap.org/soap/envelope/");
50
+ $xml->registerXPathNamespace('soapenv', 'http://schemas.xmlsoap.org/soap/envelope/');
51
+ $xml->registerXPathNamespace('v2', 'http://www.ebxml.org/namespaces/messageHeader');
52
+ $meter = (string)$xml->children('soapenv', true)->Body->children('v2', true)->SubscriptionReply->MeterNumber;
53
+
54
+ $eavSetId = Mage::getSingleton('core/resource')->getConnection('core_write');
55
+
56
+ $eavSetId->query("update webgility_settings set `csp_key` ='".$key."',`csp_password`='".$Password."',`account_no`='".$_REQUEST["fedex_account"]."',`Meter_no`='".$meter."',`fedex_name` ='".$_REQUEST['name']."',`fedex_company`='".$_REQUEST["company"]."',`fedex_address1`='".$_REQUEST["add1"]."',`fedex_address2`='".$_REQUEST["add2"]."',`fedex_city`='".$_REQUEST["city"]."',`fedex_state`='".$_REQUEST["state"]."',`fedex_zip` ='".$_REQUEST["zip"]."',`fedex_phone`='".$_REQUEST["phone"]."',`fedex_fax`='".$_REQUEST["fax"]."',`fedex_email`='".$_REQUEST["email"]."'");
57
+
58
+ $arr['meter'] = $meter;
59
+ //$arr['meter'] = "118570584";
60
+ echo $_GET['callback']."(".json_encode($arr).");"; // 09
61
+
62
+ }
63
+
64
+
65
+
66
+ function curl_request($url, $fields){
67
+
68
+ //open connection
69
+ $ch = curl_init();
70
+
71
+ //set the url, number of POST vars, POST data
72
+ curl_setopt($ch,CURLOPT_URL,$url);
73
+ curl_setopt($ch,CURLOPT_POST,count($fields));
74
+ curl_setopt($ch,CURLOPT_POSTFIELDS,$fields);
75
+ curl_setopt($ch,CURLOPT_RETURNTRANSFER, true);
76
+
77
+ //execute post
78
+ curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
79
+ //var_dump($ch);
80
+ $response = (string)curl_exec($ch);
81
+ curl_close($ch);
82
+ return $response;
83
+ }
84
+ ?>
fedex/fedex_webgility.php ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ //$url = 'http://devportal1.webgility.com/product-licensing.php';
4
+ $url = 'https://portal.webgility.com/product-licensing.php';
5
+
6
+ $data1 = array("Product" => "fedex_hal","method" => "updateFedEXAccountDetails" ,"meter_no" => $_REQUEST['meter_no'], "account_id"=>$_REQUEST['account_id'] , "email" => $_REQUEST['email'] , "Key" => $_REQUEST['Key']);
7
+
8
+
9
+
10
+ //$data1 = array("Key" => "","Product" => "fedex_hal","method" => "getClientInfo" ,"email" => 'sunilr+123@webgility.com', "password"=>'webgility',"TrackLogin"=>false,"IsOpenIdLogin"=>false,"other"=>"");
11
+ //$data1 = array("Product" => "fedex_hal","method" => "addSubscription" ,"email" => 'sunilr+123@webgility.com', "password"=>'webgility',"first_name"=>'sunil',"last_name"=>'ramsinghani',"phone"=>"9827593423");
12
+ $data_string = json_encode($data1);
13
+
14
+ $request = array("request" => $data_string);
15
+
16
+ $final_string = curl_request($url, $request);
17
+ $string = json_decode(json_decode($final_string , true));
18
+
19
+
20
+ function curl_request($url, $fields){
21
+
22
+ //open connection
23
+ $ch = curl_init();
24
+
25
+ //set the url, number of POST vars, POST data
26
+ curl_setopt($ch,CURLOPT_URL,$url);
27
+ curl_setopt($ch,CURLOPT_POST,count($fields));
28
+ curl_setopt($ch,CURLOPT_POSTFIELDS,$fields);
29
+ curl_setopt($ch,CURLOPT_RETURNTRANSFER, true);
30
+
31
+ //execute post
32
+ curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
33
+ //var_dump($ch);
34
+ $response = (string)curl_exec($ch);
35
+ curl_close($ch);
36
+ return $response;
37
+ }
38
+ ?>
fedex/library/fedex-common.php ADDED
@@ -0,0 +1,200 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ // Copyright 2009, FedEx Corporation. All rights reserved.
4
+
5
+ define('TRANSACTIONS_LOG_FILE', '../fedextransactions.log'); // Transactions log file
6
+
7
+ /**
8
+ * Print SOAP request and response
9
+ */
10
+ define('Newline',"<br />");
11
+
12
+
13
+ function printSuccess($client, $response) {
14
+ echo '<h2>Transaction Successful</h2>';
15
+ echo "\n";
16
+ printRequestResponse($client);
17
+ }
18
+ function printRequestResponse($client){
19
+ echo '<h2>Request</h2>' . "\n";
20
+ echo '<pre>' . htmlspecialchars($client->__getLastRequest()). '</pre>';
21
+ echo "\n";
22
+
23
+ echo '<h2>Response</h2>'. "\n";
24
+ echo '<pre>' . htmlspecialchars($client->__getLastResponse()). '</pre>';
25
+ echo "\n";
26
+ }
27
+
28
+ /**
29
+ * Print SOAP Fault
30
+ */
31
+ function printFault($exception, $client) {
32
+ echo '<h2>Fault</h2>' . "<br>\n";
33
+ echo "<b>Code:</b>{$exception->faultcode}<br>\n";
34
+ echo "<b>String:</b>{$exception->faultstring}<br>\n";
35
+ writeToLog($client);
36
+ }
37
+
38
+ /**
39
+ * SOAP request/response logging to a file
40
+ */
41
+ function writeToLog($client){
42
+ if (!$logfile = fopen(TRANSACTIONS_LOG_FILE, "a"))
43
+ {
44
+ error_func("Cannot open " . TRANSACTIONS_LOG_FILE . " file.\n", 0);
45
+ exit(1);
46
+ }
47
+
48
+ fwrite($logfile, sprintf("\r%s:- %s",date("D M j G:i:s T Y"), $client->__getLastRequest(). "\n\n" . $client->__getLastResponse()));
49
+ }
50
+
51
+ /**
52
+ * This section provides a convenient place to setup many commonly used variables
53
+ * needed for the php sample code to function.
54
+ */
55
+
56
+
57
+
58
+ function getProperty($var){
59
+
60
+ include_once '../app/Mage.php';
61
+ $app = Mage::app('default');
62
+ $eavSetId = Mage::getSingleton('core/resource')->getConnection('core_write');
63
+ $SetIds=$eavSetId->query("SELECT * FROM `webgility_settings`");
64
+ $row = $SetIds->fetch();
65
+ $userkey = $row['csp_key'] ? $row['csp_key'] :"" ;
66
+ $userpass = $row['csp_password'] ? $row['csp_password'] :"" ;
67
+
68
+ $account_no = $row['account_no'] ? $row['account_no'] :"" ;
69
+ $meter_no = $row['Meter_no'] ? $row['Meter_no'] :"" ;
70
+ if($userkey!="" || $userpass!="")
71
+ {
72
+ $web_key = "0ZqHJz0HoExFw2N0";
73
+ $web_password = "XlViitsEA13udiYHifNko7EgV";
74
+ }
75
+ else
76
+ {
77
+ $web_key = "";
78
+ $web_password = "";
79
+
80
+ }
81
+ if($var == 'check') Return false;
82
+ if($var == 'shipaccount') Return $account_no;
83
+ if($var == 'billaccount') Return '510087283';
84
+ if($var == 'dutyaccount') Return '510087283';
85
+ if($var == 'accounttovalidate') Return 'XXX';
86
+ if($var == 'meter') Return $meter_no;
87
+ if($var == 'key') Return $web_key;
88
+ if($var == 'password') Return $web_password;
89
+ if($var == 'userkey') Return $userkey;
90
+ if($var == 'userpassword') Return $userpass;
91
+ //if($var == 'userkey') Return 'IC4Pzcdx3LtHARXn';
92
+ //if($var == 'userpassword') Return '6RAOok04tPV2QoT7CMRxnrceD';
93
+ if($var == 'shippingChargesPayment') Return 'SENDER';
94
+ if($var == 'internationalPaymentType') Return 'SENDER';
95
+ if($var == 'readydate') Return '2010-05-31T08:44:07';
96
+ if($var == 'readytime') Return '12:00:00-05:00';
97
+ if($var == 'closetime') Return '20:00:00-05:00';
98
+ if($var == 'closedate') Return date("Y-m-d");
99
+ if($var == 'pickupdate') Return date("Y-m-d", mktime(8, 0, 0, date("m") , date("d")+1, date("Y")));
100
+ if($var == 'pickuptimestamp') Return mktime(8, 0, 0, date("m") , date("d")+1, date("Y"));
101
+ if($var == 'pickuplocationid') Return 'XXX';
102
+ if($var == 'pickupconfirmationnumber') Return '1';
103
+ if($var == 'dispatchdate') Return date("Y-m-d", mktime(8, 0, 0, date("m") , date("d")+1, date("Y")));
104
+ if($var == 'dispatchtimestamp') Return mktime(8, 0, 0, date("m") , date("d")+1, date("Y"));
105
+ if($var == 'dispatchlocationid') Return 'XXX';
106
+ if($var == 'dispatchconfirmationnumber') Return '1';
107
+ if($var == 'shiptimestamp') Return mktime(10, 0, 0, date("m"), date("d")+1, date("Y"));
108
+ if($var == 'tag_readytimestamp') Return mktime(10, 0, 0, date("m"), date("d")+1, date("Y"));
109
+ if($var == 'tag_latesttimestamp') Return mktime(20, 0, 0, date("m"), date("d")+1, date("Y"));
110
+ if($var == 'trackingnumber') Return 'XXX';
111
+ if($var == 'trackaccount') Return 'XXX';
112
+ if($var == 'shipdate') Return '2012-02-07';
113
+ if($var == 'account') Return '630265509';
114
+ if($var == 'phonenumber') Return '1234567890';
115
+ if($var == 'closedate') Return '2012-04-21';
116
+ if($var == 'expirationdate') Return '2012-06-30';
117
+ if($var == 'hubid') Return '5531';
118
+ if($var == 'begindate') Return '2010-12-27';
119
+ if($var == 'enddate') Return '2010-12-29';
120
+ if($var == 'address1') Return array('StreetLines' => array('10 Fed Ex Pkwy'),
121
+ 'City' => 'Memphis',
122
+ 'StateOrProvinceCode' => 'TN',
123
+ 'PostalCode' => '38115',
124
+ 'CountryCode' => 'US');
125
+ if($var == 'address2') Return array('StreetLines' => array('13450 Farmcrest Ct'),
126
+ 'City' => 'Herndon',
127
+ 'StateOrProvinceCode' => 'VA',
128
+ 'PostalCode' => '20171',
129
+ 'CountryCode' => 'US');
130
+ if($var == 'locatoraddress') Return array(array('StreetLines'=>'240 Central Park S'),
131
+ 'City'=>'Austin',
132
+ 'StateOrProvinceCode'=>'TX',
133
+ 'PostalCode'=>'78701',
134
+ 'CountryCode'=>'US');
135
+ if($var == 'searchlocationsaddress') Return array(array('StreetLines'=>'240 Central Park S'),
136
+ 'City'=>'Austin',
137
+ 'StateOrProvinceCode'=>'TX',
138
+ 'PostalCode'=>'78701',
139
+ 'CountryCode'=>'US');
140
+ if($var == 'searchlocationphonenumber') Return '8777535373';
141
+ if($var == 'recipientcontact') Return array('ContactId' => 'arnet',
142
+ 'PersonName' => 'Recipient Contact',
143
+ 'PhoneNumber' => '1234567890');
144
+ if($var == 'freightaccount') Return '510087020';
145
+ if($var == 'freightbilling') Return array(
146
+ 'Contact'=>array(
147
+ 'ContactId' => 'freight1',
148
+ 'PersonName' => 'Big Shipper',
149
+ 'Title' => 'Manager',
150
+ 'CompanyName' => 'Freight Shipper Co',
151
+ 'PhoneNumber' => '1234567890'
152
+ ),
153
+ 'Address'=>array(
154
+ 'StreetLines'=>array('1202 Chalet Ln', 'Do Not Delete - Test Account'),
155
+ 'City' =>'Harrison',
156
+ 'StateOrProvinceCode' => 'AR',
157
+ 'PostalCode' => '72601-6353',
158
+ 'CountryCode' => 'US'
159
+ )
160
+ );
161
+ }
162
+
163
+ function setEndpoint($var){
164
+ if($var == 'changeEndpoint') Return false;
165
+ if($var == 'endpoint') Return '';
166
+ }
167
+
168
+ function printNotifications($notes){
169
+ foreach($notes as $noteKey => $note){
170
+ if(is_string($note)){
171
+ echo $noteKey . ': ' . $note . Newline;
172
+ }
173
+ else{
174
+ printNotifications($note);
175
+ }
176
+ }
177
+ echo Newline;
178
+ }
179
+
180
+ function printError($client, $response){
181
+ echo '<h2>Error returned in processing transaction</h2>';
182
+ echo "\n";
183
+ printNotifications($response -> Notifications);
184
+ printRequestResponse($client, $response);
185
+ }
186
+ function trackDetails($details, $spacer){
187
+ foreach($details as $key => $value){
188
+ if(is_array($value) || is_object($value)){
189
+ $newSpacer = $spacer. '&nbsp;&nbsp;&nbsp;&nbsp;';
190
+ echo '<tr><td>'. $spacer . $key.'</td><td>&nbsp;</td></tr>';
191
+ trackDetails($value, $newSpacer);
192
+ }elseif(empty($value)){
193
+ echo '<tr><td>'.$spacer. $key .'</td><td>&nbsp;</td></tr>';
194
+ }else{
195
+ echo '<tr><td>'.$spacer. $key .'</td><td>'.$value.'</td></tr>';
196
+ }
197
+ }
198
+ }
199
+
200
+ ?>
fedex/library/fedex-common_2.php ADDED
@@ -0,0 +1,171 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ // Copyright 2009, FedEx Corporation. All rights reserved.
4
+
5
+ define('TRANSACTIONS_LOG_FILE', '../fedextransactions.log'); // Transactions log file
6
+
7
+ /**
8
+ * Print SOAP request and response
9
+ */
10
+ define('Newline',"<br />");
11
+
12
+
13
+ function printSuccess($client, $response) {
14
+ echo '<h2>Transaction Successful</h2>';
15
+ echo "\n";
16
+ printRequestResponse($client);
17
+ }
18
+ function printRequestResponse($client){
19
+ echo '<h2>Request</h2>' . "\n";
20
+ echo '<pre>' . htmlspecialchars($client->__getLastRequest()). '</pre>';
21
+ echo "\n";
22
+
23
+ echo '<h2>Response</h2>'. "\n";
24
+ echo '<pre>' . htmlspecialchars($client->__getLastResponse()). '</pre>';
25
+ echo "\n";
26
+ }
27
+
28
+ /**
29
+ * Print SOAP Fault
30
+ */
31
+ function printFault($exception, $client) {
32
+ echo '<h2>Fault</h2>' . "<br>\n";
33
+ echo "<b>Code:</b>{$exception->faultcode}<br>\n";
34
+ echo "<b>String:</b>{$exception->faultstring}<br>\n";
35
+ writeToLog($client);
36
+ }
37
+
38
+ /**
39
+ * SOAP request/response logging to a file
40
+ */
41
+ function writeToLog($client){
42
+ if (!$logfile = fopen(TRANSACTIONS_LOG_FILE, "a"))
43
+ {
44
+ error_func("Cannot open " . TRANSACTIONS_LOG_FILE . " file.\n", 0);
45
+ exit(1);
46
+ }
47
+
48
+ fwrite($logfile, sprintf("\r%s:- %s",date("D M j G:i:s T Y"), $client->__getLastRequest(). "\n\n" . $client->__getLastResponse()));
49
+ }
50
+
51
+ /**
52
+ * This section provides a convenient place to setup many commonly used variables
53
+ * needed for the php sample code to function.
54
+ */
55
+ function getProperty($var){
56
+ if($var == 'check') Return false;
57
+ if($var == 'shipaccount') Return '510087283';
58
+ if($var == 'billaccount') Return '510087283';
59
+ if($var == 'dutyaccount') Return '510087283';
60
+ if($var == 'accounttovalidate') Return 'XXX';
61
+ if($var == 'meter') Return '118568418';
62
+ if($var == 'key') Return 'BcQlrvUlWULPLdfa';
63
+ if($var == 'password') Return 'qWzvzN1x9h3PM22J2HuMCPnG7';
64
+ if($var == 'shippingChargesPayment') Return 'SENDER';
65
+ if($var == 'internationalPaymentType') Return 'SENDER';
66
+ if($var == 'readydate') Return '2010-05-31T08:44:07';
67
+ if($var == 'readytime') Return '12:00:00-05:00';
68
+ if($var == 'closetime') Return '20:00:00-05:00';
69
+ if($var == 'closedate') Return date("Y-m-d");
70
+ if($var == 'pickupdate') Return date("Y-m-d", mktime(8, 0, 0, date("m") , date("d")+1, date("Y")));
71
+ if($var == 'pickuptimestamp') Return mktime(8, 0, 0, date("m") , date("d")+1, date("Y"));
72
+ if($var == 'pickuplocationid') Return 'XXX';
73
+ if($var == 'pickupconfirmationnumber') Return '1';
74
+ if($var == 'dispatchdate') Return date("Y-m-d", mktime(8, 0, 0, date("m") , date("d")+1, date("Y")));
75
+ if($var == 'dispatchtimestamp') Return mktime(8, 0, 0, date("m") , date("d")+1, date("Y"));
76
+ if($var == 'dispatchlocationid') Return 'XXX';
77
+ if($var == 'dispatchconfirmationnumber') Return '1';
78
+ if($var == 'shiptimestamp') Return mktime(10, 0, 0, date("m"), date("d")+1, date("Y"));
79
+ if($var == 'tag_readytimestamp') Return mktime(10, 0, 0, date("m"), date("d")+1, date("Y"));
80
+ if($var == 'tag_latesttimestamp') Return mktime(20, 0, 0, date("m"), date("d")+1, date("Y"));
81
+ if($var == 'trackingnumber') Return 'XXX';
82
+ if($var == 'trackaccount') Return 'XXX';
83
+ if($var == 'shipdate') Return '2012-02-07';
84
+ if($var == 'account') Return '510087283';
85
+ if($var == 'phonenumber') Return '1234567890';
86
+ if($var == 'closedate') Return '2012-04-21';
87
+ if($var == 'expirationdate') Return '2012-06-30';
88
+ if($var == 'hubid') Return '5531';
89
+ if($var == 'begindate') Return '2010-12-27';
90
+ if($var == 'enddate') Return '2010-12-29';
91
+ if($var == 'address1') Return array('StreetLines' => array('10 Fed Ex Pkwy'),
92
+ 'City' => 'Memphis',
93
+ 'StateOrProvinceCode' => 'TN',
94
+ 'PostalCode' => '38115',
95
+ 'CountryCode' => 'US');
96
+ if($var == 'address2') Return array('StreetLines' => array('13450 Farmcrest Ct'),
97
+ 'City' => 'Herndon',
98
+ 'StateOrProvinceCode' => 'VA',
99
+ 'PostalCode' => '20171',
100
+ 'CountryCode' => 'US');
101
+ if($var == 'locatoraddress') Return array(array('StreetLines'=>'240 Central Park S'),
102
+ 'City'=>'Austin',
103
+ 'StateOrProvinceCode'=>'TX',
104
+ 'PostalCode'=>'78701',
105
+ 'CountryCode'=>'US');
106
+ if($var == 'searchlocationsaddress') Return array(array('StreetLines'=>'240 Central Park S'),
107
+ 'City'=>'Austin',
108
+ 'StateOrProvinceCode'=>'TX',
109
+ 'PostalCode'=>'78701',
110
+ 'CountryCode'=>'US');
111
+ if($var == 'searchlocationphonenumber') Return '8777535373';
112
+ if($var == 'recipientcontact') Return array('ContactId' => 'arnet',
113
+ 'PersonName' => 'Recipient Contact',
114
+ 'PhoneNumber' => '1234567890');
115
+ if($var == 'freightaccount') Return '510087020';
116
+ if($var == 'freightbilling') Return array(
117
+ 'Contact'=>array(
118
+ 'ContactId' => 'freight1',
119
+ 'PersonName' => 'Big Shipper',
120
+ 'Title' => 'Manager',
121
+ 'CompanyName' => 'Freight Shipper Co',
122
+ 'PhoneNumber' => '1234567890'
123
+ ),
124
+ 'Address'=>array(
125
+ 'StreetLines'=>array('1202 Chalet Ln', 'Do Not Delete - Test Account'),
126
+ 'City' =>'Harrison',
127
+ 'StateOrProvinceCode' => 'AR',
128
+ 'PostalCode' => '72601-6353',
129
+ 'CountryCode' => 'US'
130
+ )
131
+ );
132
+ }
133
+
134
+ function setEndpoint($var){
135
+ if($var == 'changeEndpoint') Return false;
136
+ if($var == 'endpoint') Return '';
137
+ }
138
+
139
+ function printNotifications($notes){
140
+ foreach($notes as $noteKey => $note){
141
+ if(is_string($note)){
142
+ echo $noteKey . ': ' . $note . Newline;
143
+ }
144
+ else{
145
+ printNotifications($note);
146
+ }
147
+ }
148
+ echo Newline;
149
+ }
150
+
151
+ function printError($client, $response){
152
+ echo '<h2>Error returned in processing transaction</h2>';
153
+ echo "\n";
154
+ printNotifications($response -> Notifications);
155
+ printRequestResponse($client, $response);
156
+ }
157
+ function trackDetails($details, $spacer){
158
+ foreach($details as $key => $value){
159
+ if(is_array($value) || is_object($value)){
160
+ $newSpacer = $spacer. '&nbsp;&nbsp;&nbsp;&nbsp;';
161
+ echo '<tr><td>'. $spacer . $key.'</td><td>&nbsp;</td></tr>';
162
+ trackDetails($value, $newSpacer);
163
+ }elseif(empty($value)){
164
+ echo '<tr><td>'.$spacer. $key .'</td><td>&nbsp;</td></tr>';
165
+ }else{
166
+ echo '<tr><td>'.$spacer. $key .'</td><td>'.$value.'</td></tr>';
167
+ }
168
+ }
169
+ }
170
+
171
+ ?>
fedex/webgility_portal.php ADDED
@@ -0,0 +1,109 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ include_once "../app/Mage.php";
3
+ $app = Mage::app('default');
4
+ $eavSetId = Mage::getSingleton('core/resource')->getConnection('core_write');
5
+
6
+ //$url = 'http://devportal1.webgility.com/product-licensing.php';
7
+ $url = 'https://portal.webgility.com/product-licensing.php';
8
+
9
+ if($_REQUEST['type']=="enable_plugin")
10
+ {
11
+ $eavSetId->query("update webgility_settings set `enable`='".$_REQUEST['enable']."'");
12
+ if($_REQUEST['enable']==1)
13
+ {
14
+ $enable="enabled";
15
+ }
16
+ else
17
+ {
18
+ $enable="disabled";
19
+ }
20
+
21
+ $SetIds=$eavSetId->query("SELECT * FROM `webgility_settings`");
22
+ $row = $SetIds->fetch();
23
+
24
+ $data1 = array("Product" => "fedex_hal","method" => "updateActivityLog" ,"activity" => "fedexPlugin", "status"=>$enable , "email" => $row['email'] , "Key" => $row['webgility_key']);
25
+ }
26
+
27
+ if($_REQUEST['type']=="new")
28
+ {
29
+ $name = explode(" ",$_REQUEST['name']);
30
+ $fname = $name[0];
31
+ $lname = $name[1];
32
+ $data1 = array("Product" => "fedex_hal","method" => "addSubscription" ,"email" => $_REQUEST['email'], "password"=>$_REQUEST['password'],"first_name"=>$fname,"last_name"=>$lname,"phone"=>$_REQUEST['phone']);
33
+
34
+ }
35
+ else if($_REQUEST['type']=="already")
36
+ {
37
+ $data1 = array("Key" => "c7deec9dce2ba8856f65bfabc3ad0e44 ","Product" => "fedex_hal","method" => "getClientInfo" ,"email" => $_REQUEST['email'], "password"=>$_REQUEST['password'],"TrackLogin"=>false,"IsOpenIdLogin"=>false,"other"=>"");
38
+ }
39
+
40
+
41
+ //$data1 = array("Key" => "","Product" => "fedex_hal","method" => "getClientInfo" ,"email" => 'sunilr+123@webgility.com', "password"=>'webgility',"TrackLogin"=>false,"IsOpenIdLogin"=>false,"other"=>"");
42
+ //$data1 = array("Product" => "fedex_hal","method" => "addSubscription" ,"email" => 'sunilr+123@webgility.com', "password"=>'webgility',"first_name"=>'sunil',"last_name"=>'ramsinghani',"phone"=>"9827593423");
43
+ $data_string = json_encode($data1);
44
+ //$data = "request =".$data_string;
45
+ $request = array("request" => $data_string);
46
+
47
+ $final_string = curl_request($url, $request);
48
+ $string = json_decode(json_decode($final_string , true));
49
+
50
+ if(isset($string->ClientInfo))
51
+ {
52
+ if($string->ClientInfo->LicenseKey!="")
53
+ {
54
+
55
+ $eavSetId->query("update webgility_settings set `email`='".$_REQUEST['email']."',`password`='".$_REQUEST['password']."',`webgility_key`='".$string->ClientInfo->LicenseKey."'");
56
+
57
+ $data1 = array("Key" => $string->ClientInfo->LicenseKey,"Product" => "fedex_hal","method" => "getFedEXHALAPICredential" ,"email" => $_REQUEST['email'], "password"=>$_REQUEST['password'],"TrackLogin"=>false,"IsOpenIdLogin"=>false,"other"=>"");
58
+ $data_string = json_encode($data1);
59
+ //$data = "request =".$data_string;
60
+ $request = array("request" => $data_string);
61
+ $final_string = curl_request($url, $request);
62
+ $string = json_decode(json_decode($final_string , true));
63
+
64
+ }
65
+ }
66
+
67
+
68
+
69
+ $SetIds=$eavSetId->query("SELECT * FROM `webgility_settings`");
70
+ $row = $SetIds->fetch();
71
+ if($string->StatusCode==0 && $row['id']=="")
72
+ {
73
+
74
+ $eavSetId->query("insert into webgility_settings(`email` ,`password` ) values ('".$_REQUEST['email']."','".$_REQUEST['password']."')");
75
+ }
76
+
77
+ $arr['StatusMessage'] = $string->StatusMessage;
78
+ $arr['StatusCode'] = $string->StatusCode;
79
+ if($_REQUEST['enable']==1)
80
+ {
81
+ $arr['plugin_enable'] = 1;
82
+ }
83
+ echo $_GET['callback']."(".json_encode($arr).");"; // 09
84
+
85
+
86
+ function curl_request($url, $fields){
87
+ $fields_string = '';
88
+ //url-ify the data for the POST
89
+ foreach($fields as $key=>$value) { $fields_string .= $key.'='.urlencode($value).'&'; }
90
+ rtrim($fields_string,'&');
91
+
92
+ //open connection
93
+ $ch = curl_init();
94
+
95
+ //set the url, number of POST vars, POST data
96
+ curl_setopt($ch,CURLOPT_URL,$url);
97
+ curl_setopt($ch,CURLOPT_POST,count($fields));
98
+ curl_setopt($ch,CURLOPT_POSTFIELDS,$fields_string);
99
+ curl_setopt($ch,CURLOPT_RETURNTRANSFER, true);
100
+
101
+ //execute post
102
+ curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
103
+ //var_dump($ch);
104
+ $response = (string)curl_exec($ch);
105
+ curl_close($ch);
106
+ return $response;
107
+ }
108
+
109
+ ?>
fedex/wsdl/GlobalShipAddressServiceDefinitions.wsdl ADDED
@@ -0,0 +1,759 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <definitions xmlns:s1="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:ns="http://fedex.com/ws/gsai/v1" name="GlobalShipAddressServiceDefinitions" targetNamespace="http://fedex.com/ws/gsai/v1" xmlns="http://schemas.xmlsoap.org/wsdl/">
3
+ <types>
4
+ <xs:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://fedex.com/ws/gsai/v1" xmlns:xs="http://www.w3.org/2001/XMLSchema">
5
+ <xs:element name="SearchLocationsReply" type="ns:SearchLocationsReply" />
6
+ <xs:element name="SearchLocationsRequest" type="ns:SearchLocationsRequest" />
7
+ <xs:complexType name="Address">
8
+ <xs:annotation>
9
+ <xs:documentation>Descriptive data for a physical location. May be used as an actual physical address (place to which one could go), or as a container of "address parts" which should be handled as a unit (such as a city-state-ZIP combination within the US).</xs:documentation>
10
+ </xs:annotation>
11
+ <xs:sequence>
12
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="StreetLines" type="xs:string">
13
+ <xs:annotation>
14
+ <xs:documentation>Combination of number, street name, etc. At least one line is required for a valid physical address; empty lines should not be included.</xs:documentation>
15
+ </xs:annotation>
16
+ </xs:element>
17
+ <xs:element minOccurs="0" name="City" type="xs:string">
18
+ <xs:annotation>
19
+ <xs:documentation>Name of city, town, etc.</xs:documentation>
20
+ </xs:annotation>
21
+ </xs:element>
22
+ <xs:element minOccurs="0" name="StateOrProvinceCode" type="xs:string">
23
+ <xs:annotation>
24
+ <xs:documentation>Identifying abbreviation for US state, Canada province, etc. Format and presence of this field will vary, depending on country.</xs:documentation>
25
+ </xs:annotation>
26
+ </xs:element>
27
+ <xs:element minOccurs="0" name="PostalCode" type="xs:string">
28
+ <xs:annotation>
29
+ <xs:documentation>Identification of a region (usually small) for mail/package delivery. Format and presence of this field will vary, depending on country.</xs:documentation>
30
+ </xs:annotation>
31
+ </xs:element>
32
+ <xs:element minOccurs="0" name="UrbanizationCode" type="xs:string">
33
+ <xs:annotation>
34
+ <xs:documentation>Relevant only to addresses in Puerto Rico.</xs:documentation>
35
+ </xs:annotation>
36
+ </xs:element>
37
+ <xs:element minOccurs="0" name="CountryCode" type="xs:string">
38
+ <xs:annotation>
39
+ <xs:documentation>The two-letter code used to identify a country.</xs:documentation>
40
+ </xs:annotation>
41
+ </xs:element>
42
+ <xs:element minOccurs="0" name="CountryName" type="xs:string">
43
+ <xs:annotation>
44
+ <xs:documentation>The fully spelt out name of a country.</xs:documentation>
45
+ </xs:annotation>
46
+ </xs:element>
47
+ <xs:element minOccurs="0" name="Residential" type="xs:boolean">
48
+ <xs:annotation>
49
+ <xs:documentation>Indicates whether this address residential (as opposed to commercial).</xs:documentation>
50
+ </xs:annotation>
51
+ </xs:element>
52
+ </xs:sequence>
53
+ </xs:complexType>
54
+ <xs:complexType name="AddressAncillaryDetail">
55
+ <xs:annotation>
56
+ <xs:documentation>Additional information about a physical location, such as suite number, cross street, floor number in a building. These details are not typically a part of a standard address definition; however, these details might help locate the address.</xs:documentation>
57
+ </xs:annotation>
58
+ <xs:sequence>
59
+ <xs:element minOccurs="0" name="LocationInCity" type="xs:string" />
60
+ <xs:element minOccurs="0" name="LocationInProperty" type="xs:string" />
61
+ <xs:element minOccurs="0" name="RoomFloor" type="xs:string" />
62
+ <xs:element minOccurs="0" name="Suite" type="xs:string" />
63
+ <xs:element minOccurs="0" name="CrossStreet" type="xs:string" />
64
+ </xs:sequence>
65
+ </xs:complexType>
66
+ <xs:complexType name="AddressToLocationRelationshipDetail">
67
+ <xs:annotation>
68
+ <xs:documentation>Specifies the relationship between the address specificed and the address of the FedEx Location in terms of distance.</xs:documentation>
69
+ </xs:annotation>
70
+ <xs:sequence>
71
+ <xs:element minOccurs="0" name="MatchedAddress" type="ns:Address">
72
+ <xs:annotation>
73
+ <xs:documentation>Address as provided in the request.</xs:documentation>
74
+ </xs:annotation>
75
+ </xs:element>
76
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="DistanceAndLocationDetails" type="ns:DistanceAndLocationDetail">
77
+ <xs:annotation>
78
+ <xs:documentation>Specifies the distance between the matched address and the addresses of matched FedEx locations. Also specifies the details of the FedEx locations.</xs:documentation>
79
+ </xs:annotation>
80
+ </xs:element>
81
+ </xs:sequence>
82
+ </xs:complexType>
83
+ <xs:simpleType name="CarrierCodeType">
84
+ <xs:annotation>
85
+ <xs:documentation>Identification of a FedEx operating company (transportation).</xs:documentation>
86
+ </xs:annotation>
87
+ <xs:restriction base="xs:string">
88
+ <xs:enumeration value="FDXC" />
89
+ <xs:enumeration value="FDXE" />
90
+ <xs:enumeration value="FDXG" />
91
+ <xs:enumeration value="FXCC" />
92
+ <xs:enumeration value="FXFR" />
93
+ <xs:enumeration value="FXSP" />
94
+ </xs:restriction>
95
+ </xs:simpleType>
96
+ <xs:complexType name="CarrierDetail">
97
+ <xs:sequence>
98
+ <xs:element minOccurs="0" name="Carrier" type="ns:CarrierCodeType" />
99
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="NormalLatestDropOffDetails" type="ns:LatestDropOffDetail" />
100
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="ExceptionalLatestDropOffDetails" type="ns:LatestDropOffDetail" />
101
+ <xs:element minOccurs="0" name="EffectiveLatestDropOffDetails" type="ns:LatestDropOffDetail" />
102
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="ShippingHolidays" type="ns:ShippingHoliday" />
103
+ </xs:sequence>
104
+ </xs:complexType>
105
+ <xs:complexType name="ClientDetail">
106
+ <xs:annotation>
107
+ <xs:documentation>Descriptive data for the client submitting a transaction.</xs:documentation>
108
+ </xs:annotation>
109
+ <xs:sequence>
110
+ <xs:element minOccurs="1" name="AccountNumber" type="xs:string">
111
+ <xs:annotation>
112
+ <xs:documentation>The FedEx account number associated with this transaction.</xs:documentation>
113
+ </xs:annotation>
114
+ </xs:element>
115
+ <xs:element minOccurs="1" name="MeterNumber" type="xs:string">
116
+ <xs:annotation>
117
+ <xs:documentation>This number is assigned by FedEx and identifies the unique device from which the request is originating</xs:documentation>
118
+ </xs:annotation>
119
+ </xs:element>
120
+ <xs:element minOccurs="0" name="MeterInstance" type="xs:string" />
121
+ <xs:element minOccurs="0" name="IntegratorId" type="xs:string">
122
+ <xs:annotation>
123
+ <xs:documentation>Only used in transactions which require identification of the Fed Ex Office integrator.</xs:documentation>
124
+ </xs:annotation>
125
+ </xs:element>
126
+ <xs:element minOccurs="0" name="Region" type="ns:ExpressRegionCode">
127
+ <xs:annotation>
128
+ <xs:documentation>Indicates the region from which the transaction is submitted.</xs:documentation>
129
+ </xs:annotation>
130
+ </xs:element>
131
+ <xs:element minOccurs="0" name="Localization" type="ns:Localization">
132
+ <xs:annotation>
133
+ <xs:documentation>The language to be used for human-readable Notification.localizedMessages in responses to the request containing this ClientDetail object. Different requests from the same client may contain different Localization data. (Contrast with TransactionDetail.localization, which governs data payload language/translation.)</xs:documentation>
134
+ </xs:annotation>
135
+ </xs:element>
136
+ </xs:sequence>
137
+ </xs:complexType>
138
+ <xs:complexType name="Contact">
139
+ <xs:annotation>
140
+ <xs:documentation>The descriptive data for a point-of-contact person.</xs:documentation>
141
+ </xs:annotation>
142
+ <xs:sequence>
143
+ <xs:element minOccurs="0" name="ContactId" type="xs:string">
144
+ <xs:annotation>
145
+ <xs:documentation>Client provided identifier corresponding to this contact information.</xs:documentation>
146
+ </xs:annotation>
147
+ </xs:element>
148
+ <xs:element minOccurs="0" name="PersonName" type="xs:string">
149
+ <xs:annotation>
150
+ <xs:documentation>Identifies the contact person's name.</xs:documentation>
151
+ </xs:annotation>
152
+ </xs:element>
153
+ <xs:element minOccurs="0" name="Title" type="xs:string">
154
+ <xs:annotation>
155
+ <xs:documentation>Identifies the contact person's title.</xs:documentation>
156
+ </xs:annotation>
157
+ </xs:element>
158
+ <xs:element minOccurs="0" name="CompanyName" type="xs:string">
159
+ <xs:annotation>
160
+ <xs:documentation>Identifies the company this contact is associated with.</xs:documentation>
161
+ </xs:annotation>
162
+ </xs:element>
163
+ <xs:element minOccurs="0" name="PhoneNumber" type="xs:string">
164
+ <xs:annotation>
165
+ <xs:documentation>Identifies the phone number associated with this contact.</xs:documentation>
166
+ </xs:annotation>
167
+ </xs:element>
168
+ <xs:element minOccurs="0" name="PhoneExtension" type="xs:string">
169
+ <xs:annotation>
170
+ <xs:documentation>Identifies the phone extension associated with this contact.</xs:documentation>
171
+ </xs:annotation>
172
+ </xs:element>
173
+ <xs:element minOccurs="0" name="TollFreePhoneNumber" type="xs:string">
174
+ <xs:annotation>
175
+ <xs:documentation>Identifies a toll free number, if any, associated with this contact.</xs:documentation>
176
+ </xs:annotation>
177
+ </xs:element>
178
+ <xs:element minOccurs="0" name="PagerNumber" type="xs:string">
179
+ <xs:annotation>
180
+ <xs:documentation>Identifies the pager number associated with this contact.</xs:documentation>
181
+ </xs:annotation>
182
+ </xs:element>
183
+ <xs:element minOccurs="0" name="FaxNumber" type="xs:string">
184
+ <xs:annotation>
185
+ <xs:documentation>Identifies the fax number associated with this contact.</xs:documentation>
186
+ </xs:annotation>
187
+ </xs:element>
188
+ <xs:element minOccurs="0" name="EMailAddress" type="xs:string">
189
+ <xs:annotation>
190
+ <xs:documentation>Identifies the email address associated with this contact.</xs:documentation>
191
+ </xs:annotation>
192
+ </xs:element>
193
+ </xs:sequence>
194
+ </xs:complexType>
195
+ <xs:simpleType name="DayOfWeekType">
196
+ <xs:restriction base="xs:string">
197
+ <xs:enumeration value="FRI" />
198
+ <xs:enumeration value="MON" />
199
+ <xs:enumeration value="SAT" />
200
+ <xs:enumeration value="SUN" />
201
+ <xs:enumeration value="THU" />
202
+ <xs:enumeration value="TUE" />
203
+ <xs:enumeration value="WED" />
204
+ </xs:restriction>
205
+ </xs:simpleType>
206
+ <xs:complexType name="Distance">
207
+ <xs:annotation>
208
+ <xs:documentation>Driving or other transportation distances, distinct from dimension measurements.</xs:documentation>
209
+ </xs:annotation>
210
+ <xs:sequence>
211
+ <xs:element minOccurs="0" name="Value" type="xs:decimal">
212
+ <xs:annotation>
213
+ <xs:documentation>Identifies the distance quantity.</xs:documentation>
214
+ </xs:annotation>
215
+ </xs:element>
216
+ <xs:element minOccurs="0" name="Units" type="ns:DistanceUnits">
217
+ <xs:annotation>
218
+ <xs:documentation>Identifies the unit of measure for the distance value.</xs:documentation>
219
+ </xs:annotation>
220
+ </xs:element>
221
+ </xs:sequence>
222
+ </xs:complexType>
223
+ <xs:complexType name="DistanceAndLocationDetail">
224
+ <xs:annotation>
225
+ <xs:documentation>Specifies the distance between the address of a geographic location and the address of a FedEx location. Also specifies the location details about the Fedex location.</xs:documentation>
226
+ </xs:annotation>
227
+ <xs:sequence>
228
+ <xs:element minOccurs="0" name="Distance" type="ns:Distance">
229
+ <xs:annotation>
230
+ <xs:documentation>Distance between an address of a geographic location and an address of a FedEx location.</xs:documentation>
231
+ </xs:annotation>
232
+ </xs:element>
233
+ <xs:element minOccurs="0" name="LocationDetail" type="ns:LocationDetail">
234
+ <xs:annotation>
235
+ <xs:documentation>Details about a FedEx location such as services offered, working hours and pick and drop off times.</xs:documentation>
236
+ </xs:annotation>
237
+ </xs:element>
238
+ </xs:sequence>
239
+ </xs:complexType>
240
+ <xs:simpleType name="DistanceUnits">
241
+ <xs:restriction base="xs:string">
242
+ <xs:enumeration value="KM" />
243
+ <xs:enumeration value="MI" />
244
+ </xs:restriction>
245
+ </xs:simpleType>
246
+ <xs:simpleType name="ExpressRegionCode">
247
+ <xs:annotation>
248
+ <xs:documentation>Indicates a FedEx Express operating region.</xs:documentation>
249
+ </xs:annotation>
250
+ <xs:restriction base="xs:string">
251
+ <xs:enumeration value="APAC" />
252
+ <xs:enumeration value="CA" />
253
+ <xs:enumeration value="EMEA" />
254
+ <xs:enumeration value="LAC" />
255
+ <xs:enumeration value="US" />
256
+ </xs:restriction>
257
+ </xs:simpleType>
258
+ <xs:simpleType name="FedExLocationType">
259
+ <xs:annotation>
260
+ <xs:documentation>Identifies a kind of FedEx facility.</xs:documentation>
261
+ </xs:annotation>
262
+ <xs:restriction base="xs:string">
263
+ <xs:enumeration value="FEDEX_AUTHORIZED_SHIP_CENTER" />
264
+ <xs:enumeration value="FEDEX_EXPRESS_STATION" />
265
+ <xs:enumeration value="FEDEX_FREIGHT_SERVICE_CENTER" />
266
+ <xs:enumeration value="FEDEX_GROUND_TERMINAL" />
267
+ <xs:enumeration value="FEDEX_HOME_DELIVERY_STATION" />
268
+ <xs:enumeration value="FEDEX_OFFICE" />
269
+ <xs:enumeration value="FEDEX_SELF_SERVICE_LOCATION" />
270
+ <xs:enumeration value="FEDEX_SMART_POST_HUB" />
271
+ </xs:restriction>
272
+ </xs:simpleType>
273
+ <xs:complexType name="Holiday">
274
+ <xs:sequence>
275
+ <xs:element minOccurs="0" name="Name" type="xs:string" />
276
+ <xs:element minOccurs="0" name="Date" type="xs:date" />
277
+ </xs:sequence>
278
+ </xs:complexType>
279
+ <xs:complexType name="LatestDropOffDetail">
280
+ <xs:annotation>
281
+ <xs:documentation>Specifies the latest time by which a package can be dropped off at a FedEx location.</xs:documentation>
282
+ </xs:annotation>
283
+ <xs:sequence>
284
+ <xs:element minOccurs="0" name="DayOfWeek" type="ns:DayOfWeekType" />
285
+ <xs:element minOccurs="0" name="Time" type="xs:time" />
286
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="Overlays" type="ns:LatestDropoffOverlayDetail">
287
+ <xs:annotation>
288
+ <xs:documentation>Specifies the details about the time and reason to</xs:documentation>
289
+ </xs:annotation>
290
+ </xs:element>
291
+ </xs:sequence>
292
+ </xs:complexType>
293
+ <xs:simpleType name="LatestDropOffOverlayType">
294
+ <xs:annotation>
295
+ <xs:documentation>Specifies the reason for the overlay of the daily last drop off time for a carrier.</xs:documentation>
296
+ </xs:annotation>
297
+ <xs:restriction base="xs:string">
298
+ <xs:enumeration value="DOMESTIC_CANADIAN" />
299
+ <xs:enumeration value="EAST_COAST" />
300
+ <xs:enumeration value="FEDEX_GROUND" />
301
+ <xs:enumeration value="WEST_COAST" />
302
+ </xs:restriction>
303
+ </xs:simpleType>
304
+ <xs:complexType name="LatestDropoffOverlayDetail">
305
+ <xs:annotation>
306
+ <xs:documentation>Specifies the time and reason to overlay the last drop off time for a carrier at a FedEx location.</xs:documentation>
307
+ </xs:annotation>
308
+ <xs:sequence>
309
+ <xs:element minOccurs="0" name="Type" type="ns:LatestDropOffOverlayType" />
310
+ <xs:element minOccurs="0" name="Time" type="xs:time" />
311
+ </xs:sequence>
312
+ </xs:complexType>
313
+ <xs:complexType name="Localization">
314
+ <xs:annotation>
315
+ <xs:documentation>Identifies the representation of human-readable text.</xs:documentation>
316
+ </xs:annotation>
317
+ <xs:sequence>
318
+ <xs:element minOccurs="1" name="LanguageCode" type="xs:string">
319
+ <xs:annotation>
320
+ <xs:documentation>Two-letter code for language (e.g. EN, FR, etc.)</xs:documentation>
321
+ </xs:annotation>
322
+ </xs:element>
323
+ <xs:element minOccurs="0" name="LocaleCode" type="xs:string">
324
+ <xs:annotation>
325
+ <xs:documentation>Two-letter code for the region (e.g. us, ca, etc..).</xs:documentation>
326
+ </xs:annotation>
327
+ </xs:element>
328
+ </xs:sequence>
329
+ </xs:complexType>
330
+ <xs:simpleType name="LocationAttributesType">
331
+ <xs:restriction base="xs:string">
332
+ <xs:enumeration value="ACCEPTS_CASH" />
333
+ <xs:enumeration value="ALREADY_OPEN" />
334
+ <xs:enumeration value="COPY_AND_PRINT_SERVICES" />
335
+ <xs:enumeration value="DANGEROUS_GOODS_SERVICES" />
336
+ <xs:enumeration value="DIRECT_MAIL_SERVICES" />
337
+ <xs:enumeration value="EXPRESS_FREIGHT_DROPOFFS" />
338
+ <xs:enumeration value="EXPRESS_PARCEL_DROPOFFS" />
339
+ <xs:enumeration value="FEDEX_FREIGHT_DROPOFFS" />
340
+ <xs:enumeration value="GROUND_DROPOFFS" />
341
+ <xs:enumeration value="GROUND_HOME_DELIVERY_DROPOFFS" />
342
+ <xs:enumeration value="LOCATION_IS_IN_AIRPORT" />
343
+ <xs:enumeration value="NOTARY_SERVICES" />
344
+ <xs:enumeration value="OBSERVES_DAY_LIGHT_SAVING_TIMES" />
345
+ <xs:enumeration value="OPEN_TWENTY_FOUR_HOURS" />
346
+ <xs:enumeration value="PACKAGING_SUPPLIES" />
347
+ <xs:enumeration value="PACK_AND_SHIP" />
348
+ <xs:enumeration value="PASSPORT_PHOTO_SERVICES" />
349
+ <xs:enumeration value="RETURNS_SERVICES" />
350
+ <xs:enumeration value="SATURDAY_DROPOFFS" />
351
+ <xs:enumeration value="SATURDAY_EXPRESS_HOLD_AT_LOCATION" />
352
+ <xs:enumeration value="SIGNS_AND_BANNERS_SERVICE" />
353
+ <xs:enumeration value="SONY_PICTURE_STATION" />
354
+ <xs:enumeration value="VIDEO_CONFERENCING" />
355
+ <xs:enumeration value="WEEKDAY_EXPRESS_HOLD_AT_LOCATION" />
356
+ <xs:enumeration value="WEEKDAY_GROUND_HOLD_AT_LOCATION" />
357
+ </xs:restriction>
358
+ </xs:simpleType>
359
+ <xs:complexType name="LocationContactAndAddress">
360
+ <xs:sequence>
361
+ <xs:element minOccurs="0" name="Contact" type="ns:Contact" />
362
+ <xs:element minOccurs="0" name="Address" type="ns:Address" />
363
+ <xs:element minOccurs="0" name="AddressAncillaryDetail" type="ns:AddressAncillaryDetail" />
364
+ </xs:sequence>
365
+ </xs:complexType>
366
+ <xs:simpleType name="LocationContentOptionType">
367
+ <xs:restriction base="xs:string">
368
+ <xs:enumeration value="HOLIDAYS" />
369
+ <xs:enumeration value="LOCATION_DROPOFF_TIMES" />
370
+ <xs:enumeration value="MAP_URL" />
371
+ </xs:restriction>
372
+ </xs:simpleType>
373
+ <xs:complexType name="LocationDetail">
374
+ <xs:annotation>
375
+ <xs:documentation>Describes an individual location providing a set of customer service features.</xs:documentation>
376
+ </xs:annotation>
377
+ <xs:sequence>
378
+ <xs:element minOccurs="0" name="LocationId" type="xs:string" />
379
+ <xs:element minOccurs="0" name="StoreNumber" type="xs:int" />
380
+ <xs:element minOccurs="0" name="LocationContactAndAddress" type="ns:LocationContactAndAddress" />
381
+ <xs:element minOccurs="0" name="SpecialInstructions" type="xs:string" />
382
+ <xs:element minOccurs="0" name="GeographicCoordinates" type="xs:string" />
383
+ <xs:element minOccurs="0" name="LocationType" type="ns:FedExLocationType" />
384
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="Attributes" type="ns:LocationAttributesType" />
385
+ <xs:element minOccurs="0" name="AcceptedCurrency" type="xs:string" />
386
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="LocationHolidays" type="ns:Holiday" />
387
+ <xs:element minOccurs="0" name="MapUrl" type="xs:string" />
388
+ <xs:element minOccurs="0" name="EntityId" type="xs:string" />
389
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="NormalHours" type="ns:LocationHours" />
390
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="ExceptionalHours" type="ns:LocationHours" />
391
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="HoursForEffectiveDate" type="ns:LocationHours" />
392
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="CarrierDetails" type="ns:CarrierDetail" />
393
+ </xs:sequence>
394
+ </xs:complexType>
395
+ <xs:complexType name="LocationHours">
396
+ <xs:annotation>
397
+ <xs:documentation>Specifies the location hours for a location.</xs:documentation>
398
+ </xs:annotation>
399
+ <xs:sequence>
400
+ <xs:element minOccurs="0" name="DayofWeek" type="ns:DayOfWeekType" />
401
+ <xs:element minOccurs="0" name="OperationalHours" type="ns:OperationalHoursType" />
402
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="Hours" type="ns:TimeRange" />
403
+ </xs:sequence>
404
+ </xs:complexType>
405
+ <xs:simpleType name="LocationSearchFilterType">
406
+ <xs:annotation>
407
+ <xs:documentation>Specifies the crieteria used to filter the location search results.</xs:documentation>
408
+ </xs:annotation>
409
+ <xs:restriction base="xs:string">
410
+ <xs:enumeration value="EXCLUDE_LOCATIONS_OUTSIDE_STATE_OR_PROVINCE" />
411
+ </xs:restriction>
412
+ </xs:simpleType>
413
+ <xs:simpleType name="LocationSortCriteriaType">
414
+ <xs:annotation>
415
+ <xs:documentation>Specifies the criterion to be used to sort the location details.</xs:documentation>
416
+ </xs:annotation>
417
+ <xs:restriction base="xs:string">
418
+ <xs:enumeration value="DISTANCE" />
419
+ <xs:enumeration value="LATEST_EXPRESS_DROPOFF_TIME" />
420
+ <xs:enumeration value="LATEST_GROUND_DROPOFF_TIME" />
421
+ <xs:enumeration value="LOCATION_TYPE" />
422
+ </xs:restriction>
423
+ </xs:simpleType>
424
+ <xs:complexType name="LocationSortDetail">
425
+ <xs:annotation>
426
+ <xs:documentation>Specifies the criterion and order to be used to sort the location details.</xs:documentation>
427
+ </xs:annotation>
428
+ <xs:sequence>
429
+ <xs:element minOccurs="0" name="Criterion" type="ns:LocationSortCriteriaType">
430
+ <xs:annotation>
431
+ <xs:documentation>Specifies the criterion to be used to sort the location details.</xs:documentation>
432
+ </xs:annotation>
433
+ </xs:element>
434
+ <xs:element minOccurs="0" name="Order" type="ns:LocationSortOrderType">
435
+ <xs:annotation>
436
+ <xs:documentation>Specifies sort order of the location details.</xs:documentation>
437
+ </xs:annotation>
438
+ </xs:element>
439
+ </xs:sequence>
440
+ </xs:complexType>
441
+ <xs:simpleType name="LocationSortOrderType">
442
+ <xs:annotation>
443
+ <xs:documentation>Specifies sort order of the location details.</xs:documentation>
444
+ </xs:annotation>
445
+ <xs:restriction base="xs:string">
446
+ <xs:enumeration value="HIGHEST_TO_LOWEST" />
447
+ <xs:enumeration value="LOWEST_TO_HIGHEST" />
448
+ </xs:restriction>
449
+ </xs:simpleType>
450
+ <xs:simpleType name="LocationsSearchCriteriaType">
451
+ <xs:annotation>
452
+ <xs:documentation>Specifies the criteria types that may be used to search for FedEx locations.</xs:documentation>
453
+ </xs:annotation>
454
+ <xs:restriction base="xs:string">
455
+ <xs:enumeration value="ADDRESS" />
456
+ <xs:enumeration value="GEOGRAPHIC_COORDINATES" />
457
+ <xs:enumeration value="PHONE_NUMBER" />
458
+ </xs:restriction>
459
+ </xs:simpleType>
460
+ <xs:simpleType name="MultipleMatchesActionType">
461
+ <xs:restriction base="xs:string">
462
+ <xs:enumeration value="RETURN_ALL" />
463
+ <xs:enumeration value="RETURN_ERROR" />
464
+ <xs:enumeration value="RETURN_FIRST" />
465
+ </xs:restriction>
466
+ </xs:simpleType>
467
+ <xs:complexType name="Notification">
468
+ <xs:annotation>
469
+ <xs:documentation>The descriptive data regarding the result of the submitted transaction.</xs:documentation>
470
+ </xs:annotation>
471
+ <xs:sequence>
472
+ <xs:element minOccurs="0" name="Severity" type="ns:NotificationSeverityType">
473
+ <xs:annotation>
474
+ <xs:documentation>The severity of this notification. This can indicate success or failure or some other information about the request. The values that can be returned are SUCCESS - Your transaction succeeded with no other applicable information. NOTE - Additional information that may be of interest to you about your transaction. WARNING - Additional information that you need to know about your transaction that you may need to take action on. ERROR - Information about an error that occurred while processing your transaction. FAILURE - FedEx was unable to process your transaction at this time due to a system failure. Please try again later</xs:documentation>
475
+ </xs:annotation>
476
+ </xs:element>
477
+ <xs:element minOccurs="0" name="Source" type="xs:string">
478
+ <xs:annotation>
479
+ <xs:documentation>Indicates the source of this notification. Combined with the Code it uniquely identifies this notification</xs:documentation>
480
+ </xs:annotation>
481
+ </xs:element>
482
+ <xs:element minOccurs="0" name="Code" type="xs:string">
483
+ <xs:annotation>
484
+ <xs:documentation>A code that represents this notification. Combined with the Source it uniquely identifies this notification.</xs:documentation>
485
+ </xs:annotation>
486
+ </xs:element>
487
+ <xs:element minOccurs="0" name="Message" type="xs:string">
488
+ <xs:annotation>
489
+ <xs:documentation>Human-readable text that explains this notification.</xs:documentation>
490
+ </xs:annotation>
491
+ </xs:element>
492
+ <xs:element minOccurs="0" name="LocalizedMessage" type="xs:string">
493
+ <xs:annotation>
494
+ <xs:documentation>The translated message. The language and locale specified in the ClientDetail. Localization are used to determine the representation. Currently only supported in a TrackReply.</xs:documentation>
495
+ </xs:annotation>
496
+ </xs:element>
497
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="MessageParameters" type="ns:NotificationParameter">
498
+ <xs:annotation>
499
+ <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>
500
+ </xs:annotation>
501
+ </xs:element>
502
+ </xs:sequence>
503
+ </xs:complexType>
504
+ <xs:complexType name="NotificationParameter">
505
+ <xs:sequence>
506
+ <xs:element minOccurs="0" name="Id" type="xs:string">
507
+ <xs:annotation>
508
+ <xs:documentation>Identifies the type of data contained in Value (e.g. SERVICE_TYPE, PACKAGE_SEQUENCE, etc..).</xs:documentation>
509
+ </xs:annotation>
510
+ </xs:element>
511
+ <xs:element minOccurs="0" name="Value" type="xs:string">
512
+ <xs:annotation>
513
+ <xs:documentation>The value of the parameter (e.g. PRIORITY_OVERNIGHT, 2, etc..).</xs:documentation>
514
+ </xs:annotation>
515
+ </xs:element>
516
+ </xs:sequence>
517
+ </xs:complexType>
518
+ <xs:simpleType name="NotificationSeverityType">
519
+ <xs:restriction base="xs:string">
520
+ <xs:enumeration value="ERROR" />
521
+ <xs:enumeration value="FAILURE" />
522
+ <xs:enumeration value="NOTE" />
523
+ <xs:enumeration value="SUCCESS" />
524
+ <xs:enumeration value="WARNING" />
525
+ </xs:restriction>
526
+ </xs:simpleType>
527
+ <xs:simpleType name="OperationalHoursType">
528
+ <xs:restriction base="xs:string">
529
+ <xs:enumeration value="CLOSED_ALL_DAY" />
530
+ <xs:enumeration value="OPEN_ALL_DAY" />
531
+ <xs:enumeration value="OPEN_BY_HOURS" />
532
+ </xs:restriction>
533
+ </xs:simpleType>
534
+ <xs:complexType name="SearchLocationConstraints">
535
+ <xs:annotation>
536
+ <xs:documentation>Specifies additional constraints on the attributes of the locations being searched.</xs:documentation>
537
+ </xs:annotation>
538
+ <xs:sequence>
539
+ <xs:element minOccurs="0" name="RadiusDistance" type="ns:Distance">
540
+ <xs:annotation>
541
+ <xs:documentation>Specifies value and units of the radius around the address to search for FedEx locations.</xs:documentation>
542
+ </xs:annotation>
543
+ </xs:element>
544
+ <xs:element minOccurs="0" name="ExpressDropOffTimeNeeded" type="xs:time">
545
+ <xs:annotation>
546
+ <xs:documentation>The latest time at which the customer can drop off a package for being shipped using an express service.</xs:documentation>
547
+ </xs:annotation>
548
+ </xs:element>
549
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="ResultsFilters" type="ns:LocationSearchFilterType">
550
+ <xs:annotation>
551
+ <xs:documentation>Specifies the criteria used to filter the results of locations search.</xs:documentation>
552
+ </xs:annotation>
553
+ </xs:element>
554
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="SupportedRedirectToHoldServices" type="ns:SupportedRedirectToHoldServiceType">
555
+ <xs:annotation>
556
+ <xs:documentation>Specifies the types of services supported by a FedEx location for redirect to hold.</xs:documentation>
557
+ </xs:annotation>
558
+ </xs:element>
559
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="RequiredLocationAttributes" type="ns:LocationAttributesType" />
560
+ <xs:element minOccurs="0" name="ResultsToSkip" type="xs:nonNegativeInteger" />
561
+ <xs:element minOccurs="0" name="ResultsRequested" type="xs:nonNegativeInteger" />
562
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="LocationContentOptions" type="ns:LocationContentOptionType" />
563
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="LocationTypesToInclude" type="ns:FedExLocationType" />
564
+ </xs:sequence>
565
+ </xs:complexType>
566
+ <xs:complexType name="SearchLocationsReply">
567
+ <xs:sequence>
568
+ <xs:element minOccurs="1" name="HighestSeverity" type="ns:NotificationSeverityType" />
569
+ <xs:element minOccurs="1" maxOccurs="unbounded" name="Notifications" type="ns:Notification" />
570
+ <xs:element minOccurs="0" name="TransactionDetail" type="ns:TransactionDetail" />
571
+ <xs:element minOccurs="1" name="Version" type="ns:VersionId" />
572
+ <xs:element minOccurs="0" name="TotalResultsAvailable" type="xs:nonNegativeInteger">
573
+ <xs:annotation>
574
+ <xs:documentation>Specifies total number of location results that are available.</xs:documentation>
575
+ </xs:annotation>
576
+ </xs:element>
577
+ <xs:element minOccurs="0" name="ResultsReturned" type="xs:nonNegativeInteger">
578
+ <xs:annotation>
579
+ <xs:documentation>Specifies the number of location results returned in this reply.</xs:documentation>
580
+ </xs:annotation>
581
+ </xs:element>
582
+ <xs:element minOccurs="0" name="FormattedAddress" type="ns:Address">
583
+ <xs:annotation>
584
+ <xs:documentation>Specifies the address formatted to have correct postal code per USPS standards.</xs:documentation>
585
+ </xs:annotation>
586
+ </xs:element>
587
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="AddressToLocationRelationships" type="ns:AddressToLocationRelationshipDetail">
588
+ <xs:annotation>
589
+ <xs:documentation>The details about the relationship between the address requested and the locations returned.</xs:documentation>
590
+ </xs:annotation>
591
+ </xs:element>
592
+ </xs:sequence>
593
+ </xs:complexType>
594
+ <xs:complexType name="SearchLocationsRequest">
595
+ <xs:sequence>
596
+ <xs:element minOccurs="1" name="WebAuthenticationDetail" type="ns:WebAuthenticationDetail">
597
+ <xs:annotation>
598
+ <xs:documentation>Descriptive data to be used in authentication of the sender's identity (and right to use FedEx web services).</xs:documentation>
599
+ </xs:annotation>
600
+ </xs:element>
601
+ <xs:element minOccurs="1" name="ClientDetail" type="ns:ClientDetail" />
602
+ <xs:element minOccurs="0" name="TransactionDetail" type="ns:TransactionDetail" />
603
+ <xs:element minOccurs="1" name="Version" type="ns:VersionId" />
604
+ <xs:element minOccurs="0" name="EffectiveDate" type="xs:date" />
605
+ <xs:element minOccurs="0" name="LocationsSearchCriterion" type="ns:LocationsSearchCriteriaType">
606
+ <xs:annotation>
607
+ <xs:documentation>Specifies the criterion that may be used to search for FedEx locations.</xs:documentation>
608
+ </xs:annotation>
609
+ </xs:element>
610
+ <xs:element minOccurs="0" name="Address" type="ns:Address" />
611
+ <xs:element minOccurs="0" name="PhoneNumber" type="xs:string" />
612
+ <xs:element minOccurs="0" name="GeographicCoordinates" type="xs:string" />
613
+ <xs:element minOccurs="0" name="MultipleMatchesAction" type="ns:MultipleMatchesActionType">
614
+ <xs:annotation>
615
+ <xs:documentation>Specifies the criterion to be used to return location results when there are mutiple matches.</xs:documentation>
616
+ </xs:annotation>
617
+ </xs:element>
618
+ <xs:element minOccurs="0" name="SortDetail" type="ns:LocationSortDetail">
619
+ <xs:annotation>
620
+ <xs:documentation>Specifies the details on how the location search results be sorted in the reply.</xs:documentation>
621
+ </xs:annotation>
622
+ </xs:element>
623
+ <xs:element minOccurs="0" name="Constraints" type="ns:SearchLocationConstraints">
624
+ <xs:annotation>
625
+ <xs:documentation>Contraints to be applied to location attributes.</xs:documentation>
626
+ </xs:annotation>
627
+ </xs:element>
628
+ </xs:sequence>
629
+ </xs:complexType>
630
+ <xs:simpleType name="ShippingActionType">
631
+ <xs:restriction base="xs:string">
632
+ <xs:enumeration value="DELIVERIES" />
633
+ <xs:enumeration value="PICKUPS" />
634
+ </xs:restriction>
635
+ </xs:simpleType>
636
+ <xs:complexType name="ShippingHoliday">
637
+ <xs:sequence>
638
+ <xs:element minOccurs="0" name="Holiday" type="ns:Holiday" />
639
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="UnavailableActions" type="ns:ShippingActionType" />
640
+ </xs:sequence>
641
+ </xs:complexType>
642
+ <xs:simpleType name="SupportedRedirectToHoldServiceType">
643
+ <xs:annotation>
644
+ <xs:documentation>Specifies the types of services supported by a FedEx location for redirect to hold.</xs:documentation>
645
+ </xs:annotation>
646
+ <xs:restriction base="xs:string">
647
+ <xs:enumeration value="FEDEX_EXPRESS" />
648
+ <xs:enumeration value="FEDEX_GROUND" />
649
+ <xs:enumeration value="FEDEX_GROUND_HOME_DELIVERY" />
650
+ </xs:restriction>
651
+ </xs:simpleType>
652
+ <xs:complexType name="TimeRange">
653
+ <xs:sequence>
654
+ <xs:element minOccurs="0" name="Begins" type="xs:time" />
655
+ <xs:element minOccurs="0" name="Ends" type="xs:time" />
656
+ </xs:sequence>
657
+ </xs:complexType>
658
+ <xs:complexType name="TransactionDetail">
659
+ <xs:sequence>
660
+ <xs:element minOccurs="0" name="CustomerTransactionId" type="xs:string">
661
+ <xs:annotation>
662
+ <xs:documentation>Free form text to be echoed back in the reply. Used to match requests and replies.</xs:documentation>
663
+ </xs:annotation>
664
+ </xs:element>
665
+ <xs:element minOccurs="0" name="Localization" type="ns:Localization">
666
+ <xs:annotation>
667
+ <xs:documentation>Governs data payload language/translations (contrasted with ClientDetail.localization, which governs Notification.localizedMessage language selection).</xs:documentation>
668
+ </xs:annotation>
669
+ </xs:element>
670
+ </xs:sequence>
671
+ </xs:complexType>
672
+ <xs:complexType name="WebAuthenticationDetail">
673
+ <xs:annotation>
674
+ <xs:documentation>Used in authentication of the sender's identity.</xs:documentation>
675
+ </xs:annotation>
676
+ <xs:sequence>
677
+ <xs:element minOccurs="1" name="UserCredential" type="ns:WebAuthenticationCredential">
678
+ <xs:annotation>
679
+ <xs:documentation>Credential used to authenticate a specific software application. This value is provided by FedEx after registration.</xs:documentation>
680
+ </xs:annotation>
681
+ </xs:element>
682
+ </xs:sequence>
683
+ </xs:complexType>
684
+ <xs:complexType name="WebAuthenticationCredential">
685
+ <xs:annotation>
686
+ <xs:documentation>Two part authentication string used for the sender's identity</xs:documentation>
687
+ </xs:annotation>
688
+ <xs:sequence>
689
+ <xs:element minOccurs="1" name="Key" type="xs:string">
690
+ <xs:annotation>
691
+ <xs:documentation>Identifying part of authentication credential. This value is provided by FedEx after registration</xs:documentation>
692
+ </xs:annotation>
693
+ </xs:element>
694
+ <xs:element minOccurs="1" name="Password" type="xs:string">
695
+ <xs:annotation>
696
+ <xs:documentation>Secret part of authentication key. This value is provided by FedEx after registration.</xs:documentation>
697
+ </xs:annotation>
698
+ </xs:element>
699
+ </xs:sequence>
700
+ </xs:complexType>
701
+ <xs:complexType name="VersionId">
702
+ <xs:annotation>
703
+ <xs:documentation>Identifies the version/level of a service operation expected by a caller (in each request) and performed by the callee (in each reply).</xs:documentation>
704
+ </xs:annotation>
705
+ <xs:sequence>
706
+ <xs:element minOccurs="1" fixed="gsai" name="ServiceId" type="xs:string">
707
+ <xs:annotation>
708
+ <xs:documentation>Identifies a system or sub-system which performs an operation.</xs:documentation>
709
+ </xs:annotation>
710
+ </xs:element>
711
+ <xs:element minOccurs="1" fixed="1" name="Major" type="xs:int">
712
+ <xs:annotation>
713
+ <xs:documentation>Identifies the service business level.</xs:documentation>
714
+ </xs:annotation>
715
+ </xs:element>
716
+ <xs:element minOccurs="1" fixed="1" name="Intermediate" type="xs:int">
717
+ <xs:annotation>
718
+ <xs:documentation>Identifies the service interface level.</xs:documentation>
719
+ </xs:annotation>
720
+ </xs:element>
721
+ <xs:element minOccurs="1" fixed="0" name="Minor" type="xs:int">
722
+ <xs:annotation>
723
+ <xs:documentation>Identifies the service code level.</xs:documentation>
724
+ </xs:annotation>
725
+ </xs:element>
726
+ </xs:sequence>
727
+ </xs:complexType>
728
+ </xs:schema>
729
+ </types>
730
+ <message name="SearchLocationsRequest">
731
+ <part name="SearchLocationsRequest" element="ns:SearchLocationsRequest" />
732
+ </message>
733
+ <message name="SearchLocationsReply">
734
+ <part name="SearchLocationsReply" element="ns:SearchLocationsReply" />
735
+ </message>
736
+ <portType name="GlobalShipAddressPortType">
737
+ <operation name="searchLocations" parameterOrder="SearchLocationsRequest">
738
+ <input message="ns:SearchLocationsRequest" />
739
+ <output message="ns:SearchLocationsReply" />
740
+ </operation>
741
+ </portType>
742
+ <binding name="GlobalShipAddressServiceSoapBinding" type="ns:GlobalShipAddressPortType">
743
+ <s1:binding transport="http://schemas.xmlsoap.org/soap/http" />
744
+ <operation name="searchLocations">
745
+ <s1:operation soapAction="http://fedex.com/ws/gsai/v1/searchLocations" style="document" />
746
+ <input>
747
+ <s1:body use="literal" />
748
+ </input>
749
+ <output>
750
+ <s1:body use="literal" />
751
+ </output>
752
+ </operation>
753
+ </binding>
754
+ <service name="GlobalShipAddressService">
755
+ <port name="GlobalShipAddressServicePort" binding="ns:GlobalShipAddressServiceSoapBinding">
756
+ <s1:address location="https://wsbeta.fedex.com:443/web-services/globalshipaddress" />
757
+ </port>
758
+ </service>
759
+ </definitions>
fedex/wsdl/GlobalShipAddressService_v1.wsdl ADDED
@@ -0,0 +1,763 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:ns="http://fedex.com/ws/gsai/v1" xmlns:s1="http://schemas.xmlsoap.org/wsdl/soap/" targetNamespace="http://fedex.com/ws/gsai/v1" name="GlobalShipAddressServiceDefinitions">
2
+ <types>
3
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://fedex.com/ws/gsai/v1">
4
+ <xs:element name="SearchLocationsReply" type="ns:SearchLocationsReply"/>
5
+ <xs:element name="SearchLocationsRequest" type="ns:SearchLocationsRequest"/>
6
+ <xs:complexType name="Address">
7
+ <xs:annotation>
8
+ <xs:documentation>Descriptive data for a physical location. May be used as an actual physical address (place to which one could go), or as a container of "address parts" which should be handled as a unit (such as a city-state-ZIP combination within the US).</xs:documentation>
9
+ </xs:annotation>
10
+ <xs:sequence>
11
+ <xs:element name="StreetLines" type="xs:string" minOccurs="0" maxOccurs="unbounded">
12
+ <xs:annotation>
13
+ <xs:documentation>Combination of number, street name, etc. At least one line is required for a valid physical address; empty lines should not be included.</xs:documentation>
14
+ </xs:annotation>
15
+ </xs:element>
16
+ <xs:element name="City" type="xs:string" minOccurs="0">
17
+ <xs:annotation>
18
+ <xs:documentation>Name of city, town, etc.</xs:documentation>
19
+ </xs:annotation>
20
+ </xs:element>
21
+ <xs:element name="StateOrProvinceCode" type="xs:string" minOccurs="0">
22
+ <xs:annotation>
23
+ <xs:documentation>Identifying abbreviation for US state, Canada province, etc. Format and presence of this field will vary, depending on country.</xs:documentation>
24
+ </xs:annotation>
25
+ </xs:element>
26
+ <xs:element name="PostalCode" type="xs:string" minOccurs="0">
27
+ <xs:annotation>
28
+ <xs:documentation>Identification of a region (usually small) for mail/package delivery. Format and presence of this field will vary, depending on country.</xs:documentation>
29
+ </xs:annotation>
30
+ </xs:element>
31
+ <xs:element name="UrbanizationCode" type="xs:string" minOccurs="0">
32
+ <xs:annotation>
33
+ <xs:documentation>Relevant only to addresses in Puerto Rico.</xs:documentation>
34
+ </xs:annotation>
35
+ </xs:element>
36
+ <xs:element name="CountryCode" type="xs:string" minOccurs="0">
37
+ <xs:annotation>
38
+ <xs:documentation>The two-letter code used to identify a country.</xs:documentation>
39
+ </xs:annotation>
40
+ </xs:element>
41
+ <xs:element name="Residential" type="xs:boolean" minOccurs="0">
42
+ <xs:annotation>
43
+ <xs:documentation>Indicates whether this address residential (as opposed to commercial).</xs:documentation>
44
+ </xs:annotation>
45
+ </xs:element>
46
+ </xs:sequence>
47
+ </xs:complexType>
48
+ <xs:complexType name="AddressAncillaryDetail">
49
+ <xs:annotation>
50
+ <xs:documentation>Additional information about a physical location, such as suite number, cross street, floor number in a building. These details are not typically a part of a standard address definition; however, these details might help locate the address.</xs:documentation>
51
+ </xs:annotation>
52
+ <xs:sequence>
53
+ <xs:element name="LocationInCity" type="xs:string" minOccurs="0"/>
54
+ <xs:element name="LocationInProperty" type="xs:string" minOccurs="0"/>
55
+ <xs:element name="RoomFloor" type="xs:string" minOccurs="0"/>
56
+ <xs:element name="Suite" type="xs:string" minOccurs="0"/>
57
+ <xs:element name="CrossStreet" type="xs:string" minOccurs="0"/>
58
+ </xs:sequence>
59
+ </xs:complexType>
60
+ <xs:complexType name="AddressToLocationRelationshipDetail">
61
+ <xs:annotation>
62
+ <xs:documentation>Specifies the relationship between the address specificed and the address of the FedEx Location in terms of distance.</xs:documentation>
63
+ </xs:annotation>
64
+ <xs:sequence>
65
+ <xs:element name="MatchedAddress" type="ns:Address" minOccurs="0">
66
+ <xs:annotation>
67
+ <xs:documentation>Address as provided in the request.</xs:documentation>
68
+ </xs:annotation>
69
+ </xs:element>
70
+ <xs:element name="DistanceAndLocationDetails" type="ns:DistanceAndLocationDetail" minOccurs="0" maxOccurs="unbounded">
71
+ <xs:annotation>
72
+ <xs:documentation>Specifies the distance between the matched address and the addresses of matched FedEx locations. Also specifies the details of the FedEx locations.</xs:documentation>
73
+ </xs:annotation>
74
+ </xs:element>
75
+ </xs:sequence>
76
+ </xs:complexType>
77
+ <xs:simpleType name="CarrierCodeType">
78
+ <xs:annotation>
79
+ <xs:documentation>Identification of a FedEx operating company (transportation).</xs:documentation>
80
+ </xs:annotation>
81
+ <xs:restriction base="xs:string">
82
+ <xs:enumeration value="FDXC"/>
83
+ <xs:enumeration value="FDXE"/>
84
+ <xs:enumeration value="FDXG"/>
85
+ <xs:enumeration value="FXCC"/>
86
+ <xs:enumeration value="FXFR"/>
87
+ <xs:enumeration value="FXSP"/>
88
+ </xs:restriction>
89
+ </xs:simpleType>
90
+ <xs:complexType name="CarrierDetail">
91
+ <xs:sequence>
92
+ <xs:element name="Carrier" type="ns:CarrierCodeType" minOccurs="0"/>
93
+ <xs:element name="NormalLatestDropOffDetails" type="ns:LatestDropOffDetail" minOccurs="0" maxOccurs="unbounded"/>
94
+ <xs:element name="ExceptionalLatestDropOffDetails" type="ns:LatestDropOffDetail" minOccurs="0" maxOccurs="unbounded"/>
95
+ <xs:element name="EffectiveLatestDropOffDetails" type="ns:LatestDropOffDetail" minOccurs="0"/>
96
+ <xs:element name="ShippingHolidays" type="ns:ShippingHoliday" minOccurs="0" maxOccurs="unbounded"/>
97
+ </xs:sequence>
98
+ </xs:complexType>
99
+ <xs:complexType name="ClientDetail">
100
+ <xs:annotation>
101
+ <xs:documentation>Descriptive data for the client submitting a transaction.</xs:documentation>
102
+ </xs:annotation>
103
+ <xs:sequence>
104
+ <xs:element name="AccountNumber" type="xs:string" minOccurs="1">
105
+ <xs:annotation>
106
+ <xs:documentation>The FedEx account number associated with this transaction.</xs:documentation>
107
+ </xs:annotation>
108
+ </xs:element>
109
+ <xs:element name="MeterNumber" type="xs:string" minOccurs="1">
110
+ <xs:annotation>
111
+ <xs:documentation>This number is assigned by FedEx and identifies the unique device from which the request is originating</xs:documentation>
112
+ </xs:annotation>
113
+ </xs:element>
114
+ <xs:element name="MeterInstance" type="xs:string" minOccurs="0"/>
115
+ <xs:element name="ClientProductId" type="xs:string" minOccurs="0">
116
+ <xs:annotation>
117
+ <xs:documentation>A FedEx assigned identifier for a third party software product used by customer to do business with FedEx. Such as a Compatible Solution Provider's product.</xs:documentation>
118
+ </xs:annotation>
119
+ </xs:element>
120
+ <xs:element name="ClientProductVersion" type="xs:string" minOccurs="0">
121
+ <xs:annotation>
122
+ <xs:documentation>The version of the third party product.</xs:documentation>
123
+ </xs:annotation>
124
+ </xs:element>
125
+ <xs:element name="IntegratorId" type="xs:string" minOccurs="0">
126
+ <xs:annotation>
127
+ <xs:documentation>Only used in transactions which require identification of the Fed Ex Office integrator.</xs:documentation>
128
+ </xs:annotation>
129
+ </xs:element>
130
+ <xs:element name="Region" type="ns:ExpressRegionCode" minOccurs="0">
131
+ <xs:annotation>
132
+ <xs:documentation>Indicates the region from which the transaction is submitted.</xs:documentation>
133
+ </xs:annotation>
134
+ </xs:element>
135
+ <xs:element name="Localization" type="ns:Localization" minOccurs="0">
136
+ <xs:annotation>
137
+ <xs:documentation>The language to be used for human-readable Notification.localizedMessages in responses to the request containing this ClientDetail object. Different requests from the same client may contain different Localization data. (Contrast with TransactionDetail.localization, which governs data payload language/translation.)</xs:documentation>
138
+ </xs:annotation>
139
+ </xs:element>
140
+ </xs:sequence>
141
+ </xs:complexType>
142
+ <xs:complexType name="Contact">
143
+ <xs:annotation>
144
+ <xs:documentation>The descriptive data for a point-of-contact person.</xs:documentation>
145
+ </xs:annotation>
146
+ <xs:sequence>
147
+ <xs:element name="ContactId" type="xs:string" minOccurs="0">
148
+ <xs:annotation>
149
+ <xs:documentation>Client provided identifier corresponding to this contact information.</xs:documentation>
150
+ </xs:annotation>
151
+ </xs:element>
152
+ <xs:element name="PersonName" type="xs:string" minOccurs="0">
153
+ <xs:annotation>
154
+ <xs:documentation>Identifies the contact person's name.</xs:documentation>
155
+ </xs:annotation>
156
+ </xs:element>
157
+ <xs:element name="Title" type="xs:string" minOccurs="0">
158
+ <xs:annotation>
159
+ <xs:documentation>Identifies the contact person's title.</xs:documentation>
160
+ </xs:annotation>
161
+ </xs:element>
162
+ <xs:element name="CompanyName" type="xs:string" minOccurs="0">
163
+ <xs:annotation>
164
+ <xs:documentation>Identifies the company this contact is associated with.</xs:documentation>
165
+ </xs:annotation>
166
+ </xs:element>
167
+ <xs:element name="PhoneNumber" type="xs:string" minOccurs="0">
168
+ <xs:annotation>
169
+ <xs:documentation>Identifies the phone number associated with this contact.</xs:documentation>
170
+ </xs:annotation>
171
+ </xs:element>
172
+ <xs:element name="PhoneExtension" type="xs:string" minOccurs="0">
173
+ <xs:annotation>
174
+ <xs:documentation>Identifies the phone extension associated with this contact.</xs:documentation>
175
+ </xs:annotation>
176
+ </xs:element>
177
+ <xs:element name="PagerNumber" type="xs:string" minOccurs="0">
178
+ <xs:annotation>
179
+ <xs:documentation>Identifies the pager number associated with this contact.</xs:documentation>
180
+ </xs:annotation>
181
+ </xs:element>
182
+ <xs:element name="FaxNumber" type="xs:string" minOccurs="0">
183
+ <xs:annotation>
184
+ <xs:documentation>Identifies the fax number associated with this contact.</xs:documentation>
185
+ </xs:annotation>
186
+ </xs:element>
187
+ <xs:element name="EMailAddress" type="xs:string" minOccurs="0">
188
+ <xs:annotation>
189
+ <xs:documentation>Identifies the email address associated with this contact.</xs:documentation>
190
+ </xs:annotation>
191
+ </xs:element>
192
+ </xs:sequence>
193
+ </xs:complexType>
194
+ <xs:simpleType name="DayOfWeekType">
195
+ <xs:restriction base="xs:string">
196
+ <xs:enumeration value="FRI"/>
197
+ <xs:enumeration value="MON"/>
198
+ <xs:enumeration value="SAT"/>
199
+ <xs:enumeration value="SUN"/>
200
+ <xs:enumeration value="THU"/>
201
+ <xs:enumeration value="TUE"/>
202
+ <xs:enumeration value="WED"/>
203
+ </xs:restriction>
204
+ </xs:simpleType>
205
+ <xs:complexType name="Distance">
206
+ <xs:annotation>
207
+ <xs:documentation>Driving or other transportation distances, distinct from dimension measurements.</xs:documentation>
208
+ </xs:annotation>
209
+ <xs:sequence>
210
+ <xs:element name="Value" type="xs:decimal" minOccurs="0">
211
+ <xs:annotation>
212
+ <xs:documentation>Identifies the distance quantity.</xs:documentation>
213
+ </xs:annotation>
214
+ </xs:element>
215
+ <xs:element name="Units" type="ns:DistanceUnits" minOccurs="0">
216
+ <xs:annotation>
217
+ <xs:documentation>Identifies the unit of measure for the distance value.</xs:documentation>
218
+ </xs:annotation>
219
+ </xs:element>
220
+ </xs:sequence>
221
+ </xs:complexType>
222
+ <xs:complexType name="DistanceAndLocationDetail">
223
+ <xs:annotation>
224
+ <xs:documentation>Specifies the distance between the address of a geographic location and the address of a FedEx location. Also specifies the location details about the Fedex location.</xs:documentation>
225
+ </xs:annotation>
226
+ <xs:sequence>
227
+ <xs:element name="Distance" type="ns:Distance" minOccurs="0">
228
+ <xs:annotation>
229
+ <xs:documentation>Distance between an address of a geographic location and an address of a FedEx location.</xs:documentation>
230
+ </xs:annotation>
231
+ </xs:element>
232
+ <xs:element name="LocationDetail" type="ns:LocationDetail" minOccurs="0">
233
+ <xs:annotation>
234
+ <xs:documentation>Details about a FedEx location such as services offered, working hours and pick and drop off times.</xs:documentation>
235
+ </xs:annotation>
236
+ </xs:element>
237
+ </xs:sequence>
238
+ </xs:complexType>
239
+ <xs:simpleType name="DistanceUnits">
240
+ <xs:restriction base="xs:string">
241
+ <xs:enumeration value="KM"/>
242
+ <xs:enumeration value="MI"/>
243
+ </xs:restriction>
244
+ </xs:simpleType>
245
+ <xs:simpleType name="ExpressRegionCode">
246
+ <xs:annotation>
247
+ <xs:documentation>Indicates a FedEx Express operating region.</xs:documentation>
248
+ </xs:annotation>
249
+ <xs:restriction base="xs:string">
250
+ <xs:enumeration value="APAC"/>
251
+ <xs:enumeration value="CA"/>
252
+ <xs:enumeration value="EMEA"/>
253
+ <xs:enumeration value="LAC"/>
254
+ <xs:enumeration value="US"/>
255
+ </xs:restriction>
256
+ </xs:simpleType>
257
+ <xs:simpleType name="FedExLocationType">
258
+ <xs:annotation>
259
+ <xs:documentation>Identifies a kind of FedEx facility.</xs:documentation>
260
+ </xs:annotation>
261
+ <xs:restriction base="xs:string">
262
+ <xs:enumeration value="FEDEX_AUTHORIZED_SHIP_CENTER"/>
263
+ <xs:enumeration value="FEDEX_EXPRESS_STATION"/>
264
+ <xs:enumeration value="FEDEX_FREIGHT_SERVICE_CENTER"/>
265
+ <xs:enumeration value="FEDEX_GROUND_TERMINAL"/>
266
+ <xs:enumeration value="FEDEX_HOME_DELIVERY_STATION"/>
267
+ <xs:enumeration value="FEDEX_OFFICE"/>
268
+ <xs:enumeration value="FEDEX_SELF_SERVICE_LOCATION"/>
269
+ <xs:enumeration value="FEDEX_SMART_POST_HUB"/>
270
+ </xs:restriction>
271
+ </xs:simpleType>
272
+ <xs:complexType name="Holiday">
273
+ <xs:sequence>
274
+ <xs:element name="Name" type="xs:string" minOccurs="0"/>
275
+ <xs:element name="Date" type="xs:date" minOccurs="0"/>
276
+ </xs:sequence>
277
+ </xs:complexType>
278
+ <xs:complexType name="LatestDropOffDetail">
279
+ <xs:annotation>
280
+ <xs:documentation>Specifies the latest time by which a package can be dropped off at a FedEx location.</xs:documentation>
281
+ </xs:annotation>
282
+ <xs:sequence>
283
+ <xs:element name="DayOfWeek" type="ns:DayOfWeekType" minOccurs="0"/>
284
+ <xs:element name="Time" type="xs:time" minOccurs="0"/>
285
+ <xs:element name="Overlays" type="ns:LatestDropoffOverlayDetail" minOccurs="0" maxOccurs="unbounded">
286
+ <xs:annotation>
287
+ <xs:documentation>Specifies the details about the time and reason to</xs:documentation>
288
+ </xs:annotation>
289
+ </xs:element>
290
+ </xs:sequence>
291
+ </xs:complexType>
292
+ <xs:simpleType name="LatestDropOffOverlayType">
293
+ <xs:annotation>
294
+ <xs:documentation>Specifies the reason for the overlay of the daily last drop off time for a carrier.</xs:documentation>
295
+ </xs:annotation>
296
+ <xs:restriction base="xs:string">
297
+ <xs:enumeration value="DOMESTIC_CANADIAN"/>
298
+ <xs:enumeration value="EAST_COAST"/>
299
+ <xs:enumeration value="FEDEX_GROUND"/>
300
+ <xs:enumeration value="WEST_COAST"/>
301
+ </xs:restriction>
302
+ </xs:simpleType>
303
+ <xs:complexType name="LatestDropoffOverlayDetail">
304
+ <xs:annotation>
305
+ <xs:documentation>Specifies the time and reason to overlay the last drop off time for a carrier at a FedEx location.</xs:documentation>
306
+ </xs:annotation>
307
+ <xs:sequence>
308
+ <xs:element name="Type" type="ns:LatestDropOffOverlayType" minOccurs="0"/>
309
+ <xs:element name="Time" type="xs:time" minOccurs="0"/>
310
+ </xs:sequence>
311
+ </xs:complexType>
312
+ <xs:complexType name="Localization">
313
+ <xs:annotation>
314
+ <xs:documentation>Identifies the representation of human-readable text.</xs:documentation>
315
+ </xs:annotation>
316
+ <xs:sequence>
317
+ <xs:element name="LanguageCode" type="xs:string" minOccurs="1">
318
+ <xs:annotation>
319
+ <xs:documentation>Two-letter code for language (e.g. EN, FR, etc.)</xs:documentation>
320
+ </xs:annotation>
321
+ </xs:element>
322
+ <xs:element name="LocaleCode" type="xs:string" minOccurs="0">
323
+ <xs:annotation>
324
+ <xs:documentation>Two-letter code for the region (e.g. us, ca, etc..).</xs:documentation>
325
+ </xs:annotation>
326
+ </xs:element>
327
+ </xs:sequence>
328
+ </xs:complexType>
329
+ <xs:simpleType name="LocationAttributesType">
330
+ <xs:restriction base="xs:string">
331
+ <xs:enumeration value="ACCEPTS_CASH"/>
332
+ <xs:enumeration value="ALREADY_OPEN"/>
333
+ <xs:enumeration value="COPY_AND_PRINT_SERVICES"/>
334
+ <xs:enumeration value="DANGEROUS_GOODS_SERVICES"/>
335
+ <xs:enumeration value="DIRECT_MAIL_SERVICES"/>
336
+ <xs:enumeration value="EXPRESS_FREIGHT_DROPOFFS"/>
337
+ <xs:enumeration value="EXPRESS_PARCEL_DROPOFFS"/>
338
+ <xs:enumeration value="FEDEX_FREIGHT_DROPOFFS"/>
339
+ <xs:enumeration value="GROUND_DROPOFFS"/>
340
+ <xs:enumeration value="GROUND_HOME_DELIVERY_DROPOFFS"/>
341
+ <xs:enumeration value="LOCATION_IS_IN_AIRPORT"/>
342
+ <xs:enumeration value="NOTARY_SERVICES"/>
343
+ <xs:enumeration value="OBSERVES_DAY_LIGHT_SAVING_TIMES"/>
344
+ <xs:enumeration value="OPEN_TWENTY_FOUR_HOURS"/>
345
+ <xs:enumeration value="PACKAGING_SUPPLIES"/>
346
+ <xs:enumeration value="PACK_AND_SHIP"/>
347
+ <xs:enumeration value="PASSPORT_PHOTO_SERVICES"/>
348
+ <xs:enumeration value="RETURNS_SERVICES"/>
349
+ <xs:enumeration value="SATURDAY_DROPOFFS"/>
350
+ <xs:enumeration value="SATURDAY_EXPRESS_HOLD_AT_LOCATION"/>
351
+ <xs:enumeration value="SIGNS_AND_BANNERS_SERVICE"/>
352
+ <xs:enumeration value="SONY_PICTURE_STATION"/>
353
+ <xs:enumeration value="VIDEO_CONFERENCING"/>
354
+ <xs:enumeration value="WEEKDAY_EXPRESS_HOLD_AT_LOCATION"/>
355
+ <xs:enumeration value="WEEKDAY_GROUND_HOLD_AT_LOCATION"/>
356
+ </xs:restriction>
357
+ </xs:simpleType>
358
+ <xs:complexType name="LocationContactAndAddress">
359
+ <xs:sequence>
360
+ <xs:element name="Contact" type="ns:Contact" minOccurs="0"/>
361
+ <xs:element name="Address" type="ns:Address" minOccurs="0"/>
362
+ <xs:element name="AddressAncillaryDetail" type="ns:AddressAncillaryDetail" minOccurs="0"/>
363
+ </xs:sequence>
364
+ </xs:complexType>
365
+ <xs:simpleType name="LocationContentOptionType">
366
+ <xs:restriction base="xs:string">
367
+ <xs:enumeration value="HOLIDAYS"/>
368
+ <xs:enumeration value="LOCATION_DROPOFF_TIMES"/>
369
+ <xs:enumeration value="MAP_URL"/>
370
+ </xs:restriction>
371
+ </xs:simpleType>
372
+ <xs:complexType name="LocationDetail">
373
+ <xs:annotation>
374
+ <xs:documentation>Describes an individual location providing a set of customer service features.</xs:documentation>
375
+ </xs:annotation>
376
+ <xs:sequence>
377
+ <xs:element name="LocationId" type="xs:string" minOccurs="0"/>
378
+ <xs:element name="StoreNumber" type="xs:int" minOccurs="0"/>
379
+ <xs:element name="LocationContactAndAddress" type="ns:LocationContactAndAddress" minOccurs="0"/>
380
+ <xs:element name="SpecialInstructions" type="xs:string" minOccurs="0"/>
381
+ <xs:element name="GeographicCoordinates" type="xs:string" minOccurs="0"/>
382
+ <xs:element name="LocationType" type="ns:FedExLocationType" minOccurs="0"/>
383
+ <xs:element name="Attributes" type="ns:LocationAttributesType" minOccurs="0" maxOccurs="unbounded"/>
384
+ <xs:element name="AcceptedCurrency" type="xs:string" minOccurs="0"/>
385
+ <xs:element name="LocationHolidays" type="ns:Holiday" minOccurs="0" maxOccurs="unbounded"/>
386
+ <xs:element name="MapUrl" type="xs:string" minOccurs="0"/>
387
+ <xs:element name="EntityId" type="xs:string" minOccurs="0"/>
388
+ <xs:element name="NormalHours" type="ns:LocationHours" minOccurs="0" maxOccurs="unbounded"/>
389
+ <xs:element name="ExceptionalHours" type="ns:LocationHours" minOccurs="0" maxOccurs="unbounded"/>
390
+ <xs:element name="HoursForEffectiveDate" type="ns:LocationHours" minOccurs="0" maxOccurs="unbounded"/>
391
+ <xs:element name="CarrierDetails" type="ns:CarrierDetail" minOccurs="0" maxOccurs="unbounded"/>
392
+ </xs:sequence>
393
+ </xs:complexType>
394
+ <xs:complexType name="LocationHours">
395
+ <xs:annotation>
396
+ <xs:documentation>Specifies the location hours for a location.</xs:documentation>
397
+ </xs:annotation>
398
+ <xs:sequence>
399
+ <xs:element name="DayofWeek" type="ns:DayOfWeekType" minOccurs="0"/>
400
+ <xs:element name="OperationalHours" type="ns:OperationalHoursType" minOccurs="0"/>
401
+ <xs:element name="Hours" type="ns:TimeRange" minOccurs="0" maxOccurs="unbounded"/>
402
+ </xs:sequence>
403
+ </xs:complexType>
404
+ <xs:simpleType name="LocationSearchFilterType">
405
+ <xs:annotation>
406
+ <xs:documentation>Specifies the crieteria used to filter the location search results.</xs:documentation>
407
+ </xs:annotation>
408
+ <xs:restriction base="xs:string">
409
+ <xs:enumeration value="EXCLUDE_LOCATIONS_OUTSIDE_STATE_OR_PROVINCE"/>
410
+ </xs:restriction>
411
+ </xs:simpleType>
412
+ <xs:simpleType name="LocationSortCriteriaType">
413
+ <xs:annotation>
414
+ <xs:documentation>Specifies the criterion to be used to sort the location details.</xs:documentation>
415
+ </xs:annotation>
416
+ <xs:restriction base="xs:string">
417
+ <xs:enumeration value="DISTANCE"/>
418
+ <xs:enumeration value="LATEST_EXPRESS_DROPOFF_TIME"/>
419
+ <xs:enumeration value="LATEST_GROUND_DROPOFF_TIME"/>
420
+ <xs:enumeration value="LOCATION_TYPE"/>
421
+ </xs:restriction>
422
+ </xs:simpleType>
423
+ <xs:complexType name="LocationSortDetail">
424
+ <xs:annotation>
425
+ <xs:documentation>Specifies the criterion and order to be used to sort the location details.</xs:documentation>
426
+ </xs:annotation>
427
+ <xs:sequence>
428
+ <xs:element name="Criterion" type="ns:LocationSortCriteriaType" minOccurs="0">
429
+ <xs:annotation>
430
+ <xs:documentation>Specifies the criterion to be used to sort the location details.</xs:documentation>
431
+ </xs:annotation>
432
+ </xs:element>
433
+ <xs:element name="Order" type="ns:LocationSortOrderType" minOccurs="0">
434
+ <xs:annotation>
435
+ <xs:documentation>Specifies sort order of the location details.</xs:documentation>
436
+ </xs:annotation>
437
+ </xs:element>
438
+ </xs:sequence>
439
+ </xs:complexType>
440
+ <xs:simpleType name="LocationSortOrderType">
441
+ <xs:annotation>
442
+ <xs:documentation>Specifies sort order of the location details.</xs:documentation>
443
+ </xs:annotation>
444
+ <xs:restriction base="xs:string">
445
+ <xs:enumeration value="HIGHEST_TO_LOWEST"/>
446
+ <xs:enumeration value="LOWEST_TO_HIGHEST"/>
447
+ </xs:restriction>
448
+ </xs:simpleType>
449
+ <xs:simpleType name="LocationsSearchCriteriaType">
450
+ <xs:annotation>
451
+ <xs:documentation>Specifies the criteria types that may be used to search for FedEx locations.</xs:documentation>
452
+ </xs:annotation>
453
+ <xs:restriction base="xs:string">
454
+ <xs:enumeration value="ADDRESS"/>
455
+ <xs:enumeration value="GEOGRAPHIC_COORDINATES"/>
456
+ <xs:enumeration value="PHONE_NUMBER"/>
457
+ </xs:restriction>
458
+ </xs:simpleType>
459
+ <xs:simpleType name="MultipleMatchesActionType">
460
+ <xs:restriction base="xs:string">
461
+ <xs:enumeration value="RETURN_ALL"/>
462
+ <xs:enumeration value="RETURN_ERROR"/>
463
+ <xs:enumeration value="RETURN_FIRST"/>
464
+ </xs:restriction>
465
+ </xs:simpleType>
466
+ <xs:complexType name="Notification">
467
+ <xs:annotation>
468
+ <xs:documentation>The descriptive data regarding the result of the submitted transaction.</xs:documentation>
469
+ </xs:annotation>
470
+ <xs:sequence>
471
+ <xs:element name="Severity" type="ns:NotificationSeverityType" minOccurs="0">
472
+ <xs:annotation>
473
+ <xs:documentation>The severity of this notification. This can indicate success or failure or some other information about the request. The values that can be returned are SUCCESS - Your transaction succeeded with no other applicable information. NOTE - Additional information that may be of interest to you about your transaction. WARNING - Additional information that you need to know about your transaction that you may need to take action on. ERROR - Information about an error that occurred while processing your transaction. FAILURE - FedEx was unable to process your transaction at this time due to a system failure. Please try again later</xs:documentation>
474
+ </xs:annotation>
475
+ </xs:element>
476
+ <xs:element name="Source" type="xs:string" minOccurs="0">
477
+ <xs:annotation>
478
+ <xs:documentation>Indicates the source of this notification. Combined with the Code it uniquely identifies this notification</xs:documentation>
479
+ </xs:annotation>
480
+ </xs:element>
481
+ <xs:element name="Code" type="xs:string" minOccurs="0">
482
+ <xs:annotation>
483
+ <xs:documentation>A code that represents this notification. Combined with the Source it uniquely identifies this notification.</xs:documentation>
484
+ </xs:annotation>
485
+ </xs:element>
486
+ <xs:element name="Message" type="xs:string" minOccurs="0">
487
+ <xs:annotation>
488
+ <xs:documentation>Human-readable text that explains this notification.</xs:documentation>
489
+ </xs:annotation>
490
+ </xs:element>
491
+ <xs:element name="LocalizedMessage" type="xs:string" minOccurs="0">
492
+ <xs:annotation>
493
+ <xs:documentation>The translated message. The language and locale specified in the ClientDetail. Localization are used to determine the representation. Currently only supported in a TrackReply.</xs:documentation>
494
+ </xs:annotation>
495
+ </xs:element>
496
+ <xs:element name="MessageParameters" type="ns:NotificationParameter" minOccurs="0" maxOccurs="unbounded">
497
+ <xs:annotation>
498
+ <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>
499
+ </xs:annotation>
500
+ </xs:element>
501
+ </xs:sequence>
502
+ </xs:complexType>
503
+ <xs:complexType name="NotificationParameter">
504
+ <xs:sequence>
505
+ <xs:element name="Id" type="xs:string" minOccurs="0">
506
+ <xs:annotation>
507
+ <xs:documentation>Identifies the type of data contained in Value (e.g. SERVICE_TYPE, PACKAGE_SEQUENCE, etc..).</xs:documentation>
508
+ </xs:annotation>
509
+ </xs:element>
510
+ <xs:element name="Value" type="xs:string" minOccurs="0">
511
+ <xs:annotation>
512
+ <xs:documentation>The value of the parameter (e.g. PRIORITY_OVERNIGHT, 2, etc..).</xs:documentation>
513
+ </xs:annotation>
514
+ </xs:element>
515
+ </xs:sequence>
516
+ </xs:complexType>
517
+ <xs:simpleType name="NotificationSeverityType">
518
+ <xs:restriction base="xs:string">
519
+ <xs:enumeration value="ERROR"/>
520
+ <xs:enumeration value="FAILURE"/>
521
+ <xs:enumeration value="NOTE"/>
522
+ <xs:enumeration value="SUCCESS"/>
523
+ <xs:enumeration value="WARNING"/>
524
+ </xs:restriction>
525
+ </xs:simpleType>
526
+ <xs:simpleType name="OperationalHoursType">
527
+ <xs:restriction base="xs:string">
528
+ <xs:enumeration value="CLOSED_ALL_DAY"/>
529
+ <xs:enumeration value="OPEN_ALL_DAY"/>
530
+ <xs:enumeration value="OPEN_BY_HOURS"/>
531
+ </xs:restriction>
532
+ </xs:simpleType>
533
+ <xs:complexType name="SearchLocationConstraints">
534
+ <xs:annotation>
535
+ <xs:documentation>Specifies additional constraints on the attributes of the locations being searched.</xs:documentation>
536
+ </xs:annotation>
537
+ <xs:sequence>
538
+ <xs:element name="RadiusDistance" type="ns:Distance" minOccurs="0">
539
+ <xs:annotation>
540
+ <xs:documentation>Specifies value and units of the radius around the address to search for FedEx locations.</xs:documentation>
541
+ </xs:annotation>
542
+ </xs:element>
543
+ <xs:element name="ExpressDropOffTimeNeeded" type="xs:time" minOccurs="0">
544
+ <xs:annotation>
545
+ <xs:documentation>The latest time at which the customer can drop off a package for being shipped using an express service.</xs:documentation>
546
+ </xs:annotation>
547
+ </xs:element>
548
+ <xs:element name="ResultsFilters" type="ns:LocationSearchFilterType" minOccurs="0" maxOccurs="unbounded">
549
+ <xs:annotation>
550
+ <xs:documentation>Specifies the criteria used to filter the results of locations search.</xs:documentation>
551
+ </xs:annotation>
552
+ </xs:element>
553
+ <xs:element name="SupportedRedirectToHoldServices" type="ns:SupportedRedirectToHoldServiceType" minOccurs="0" maxOccurs="unbounded">
554
+ <xs:annotation>
555
+ <xs:documentation>Specifies the types of services supported by a FedEx location for redirect to hold.</xs:documentation>
556
+ </xs:annotation>
557
+ </xs:element>
558
+ <xs:element name="RequiredLocationAttributes" type="ns:LocationAttributesType" minOccurs="0" maxOccurs="unbounded"/>
559
+ <xs:element name="ResultsToSkip" type="xs:nonNegativeInteger" minOccurs="0"/>
560
+ <xs:element name="ResultsRequested" type="xs:nonNegativeInteger" minOccurs="0"/>
561
+ <xs:element name="LocationContentOptions" type="ns:LocationContentOptionType" minOccurs="0" maxOccurs="unbounded"/>
562
+ <xs:element name="LocationTypesToInclude" type="ns:FedExLocationType" minOccurs="0" maxOccurs="unbounded"/>
563
+ </xs:sequence>
564
+ </xs:complexType>
565
+ <xs:complexType name="SearchLocationsReply">
566
+ <xs:sequence>
567
+ <xs:element name="HighestSeverity" type="ns:NotificationSeverityType" minOccurs="1"/>
568
+ <xs:element name="Notifications" type="ns:Notification" minOccurs="1" maxOccurs="unbounded"/>
569
+ <xs:element name="TransactionDetail" type="ns:TransactionDetail" minOccurs="0"/>
570
+ <xs:element name="Version" type="ns:VersionId" minOccurs="1"/>
571
+ <xs:element name="TotalResultsAvailable" type="xs:nonNegativeInteger" minOccurs="0">
572
+ <xs:annotation>
573
+ <xs:documentation>Specifies total number of location results that are available.</xs:documentation>
574
+ </xs:annotation>
575
+ </xs:element>
576
+ <xs:element name="ResultsReturned" type="xs:nonNegativeInteger" minOccurs="0">
577
+ <xs:annotation>
578
+ <xs:documentation>Specifies the number of location results returned in this reply.</xs:documentation>
579
+ </xs:annotation>
580
+ </xs:element>
581
+ <xs:element name="FormattedAddress" type="ns:Address" minOccurs="0">
582
+ <xs:annotation>
583
+ <xs:documentation>Specifies the address formatted to have correct postal code per USPS standards.</xs:documentation>
584
+ </xs:annotation>
585
+ </xs:element>
586
+ <xs:element name="AddressToLocationRelationships" type="ns:AddressToLocationRelationshipDetail" minOccurs="0" maxOccurs="unbounded">
587
+ <xs:annotation>
588
+ <xs:documentation>The details about the relationship between the address requested and the locations returned.</xs:documentation>
589
+ </xs:annotation>
590
+ </xs:element>
591
+ </xs:sequence>
592
+ </xs:complexType>
593
+ <xs:complexType name="SearchLocationsRequest">
594
+ <xs:sequence>
595
+ <xs:element name="WebAuthenticationDetail" type="ns:WebAuthenticationDetail" minOccurs="1">
596
+ <xs:annotation>
597
+ <xs:documentation>Descriptive data to be used in authentication of the sender's identity (and right to use FedEx web services).</xs:documentation>
598
+ </xs:annotation>
599
+ </xs:element>
600
+ <xs:element name="ClientDetail" type="ns:ClientDetail" minOccurs="1"/>
601
+ <xs:element name="TransactionDetail" type="ns:TransactionDetail" minOccurs="0"/>
602
+ <xs:element name="Version" type="ns:VersionId" minOccurs="1"/>
603
+ <xs:element name="EffectiveDate" type="xs:date" minOccurs="0"/>
604
+ <xs:element name="LocationsSearchCriterion" type="ns:LocationsSearchCriteriaType" minOccurs="0">
605
+ <xs:annotation>
606
+ <xs:documentation>Specifies the criterion that may be used to search for FedEx locations.</xs:documentation>
607
+ </xs:annotation>
608
+ </xs:element>
609
+ <xs:element name="Address" type="ns:Address" minOccurs="0"/>
610
+ <xs:element name="PhoneNumber" type="xs:string" minOccurs="0"/>
611
+ <xs:element name="GeographicCoordinates" type="xs:string" minOccurs="0"/>
612
+ <xs:element name="MultipleMatchesAction" type="ns:MultipleMatchesActionType" minOccurs="0">
613
+ <xs:annotation>
614
+ <xs:documentation>Specifies the criterion to be used to return location results when there are mutiple matches.</xs:documentation>
615
+ </xs:annotation>
616
+ </xs:element>
617
+ <xs:element name="SortDetail" type="ns:LocationSortDetail" minOccurs="0">
618
+ <xs:annotation>
619
+ <xs:documentation>Specifies the details on how the location search results be sorted in the reply.</xs:documentation>
620
+ </xs:annotation>
621
+ </xs:element>
622
+ <xs:element name="Constraints" type="ns:SearchLocationConstraints" minOccurs="0">
623
+ <xs:annotation>
624
+ <xs:documentation>Contraints to be applied to location attributes.</xs:documentation>
625
+ </xs:annotation>
626
+ </xs:element>
627
+ </xs:sequence>
628
+ </xs:complexType>
629
+ <xs:simpleType name="ShippingActionType">
630
+ <xs:restriction base="xs:string">
631
+ <xs:enumeration value="DELIVERIES"/>
632
+ <xs:enumeration value="PICKUPS"/>
633
+ </xs:restriction>
634
+ </xs:simpleType>
635
+ <xs:complexType name="ShippingHoliday">
636
+ <xs:sequence>
637
+ <xs:element name="Holiday" type="ns:Holiday" minOccurs="0"/>
638
+ <xs:element name="UnavailableActions" type="ns:ShippingActionType" minOccurs="0" maxOccurs="unbounded"/>
639
+ </xs:sequence>
640
+ </xs:complexType>
641
+ <xs:simpleType name="SupportedRedirectToHoldServiceType">
642
+ <xs:annotation>
643
+ <xs:documentation>Specifies the types of services supported by a FedEx location for redirect to hold.</xs:documentation>
644
+ </xs:annotation>
645
+ <xs:restriction base="xs:string">
646
+ <xs:enumeration value="FEDEX_EXPRESS"/>
647
+ <xs:enumeration value="FEDEX_GROUND"/>
648
+ <xs:enumeration value="FEDEX_GROUND_HOME_DELIVERY"/>
649
+ </xs:restriction>
650
+ </xs:simpleType>
651
+ <xs:complexType name="TimeRange">
652
+ <xs:sequence>
653
+ <xs:element name="Begins" type="xs:time" minOccurs="0"/>
654
+ <xs:element name="Ends" type="xs:time" minOccurs="0"/>
655
+ </xs:sequence>
656
+ </xs:complexType>
657
+ <xs:complexType name="TransactionDetail">
658
+ <xs:sequence>
659
+ <xs:element name="CustomerTransactionId" type="xs:string" minOccurs="0">
660
+ <xs:annotation>
661
+ <xs:documentation>Free form text to be echoed back in the reply. Used to match requests and replies.</xs:documentation>
662
+ </xs:annotation>
663
+ </xs:element>
664
+ <xs:element name="Localization" type="ns:Localization" minOccurs="0">
665
+ <xs:annotation>
666
+ <xs:documentation>Governs data payload language/translations (contrasted with ClientDetail.localization, which governs Notification.localizedMessage language selection).</xs:documentation>
667
+ </xs:annotation>
668
+ </xs:element>
669
+ </xs:sequence>
670
+ </xs:complexType>
671
+ <xs:complexType name="WebAuthenticationDetail">
672
+ <xs:annotation>
673
+ <xs:documentation>Used in authentication of the sender's identity.</xs:documentation>
674
+ </xs:annotation>
675
+ <xs:sequence>
676
+ <xs:element name="CspCredential" type="ns:WebAuthenticationCredential" minOccurs="1">
677
+ <xs:annotation>
678
+ <xs:documentation>Credential used to authenticate a CSP product/version.</xs:documentation>
679
+ </xs:annotation>
680
+ </xs:element>
681
+ <xs:element name="UserCredential" type="ns:WebAuthenticationCredential" minOccurs="1">
682
+ <xs:annotation>
683
+ <xs:documentation>Credential used to authenticate a specific software application. This value is provided by FedEx after registration.</xs:documentation>
684
+ </xs:annotation>
685
+ </xs:element>
686
+ </xs:sequence>
687
+ </xs:complexType>
688
+ <xs:complexType name="WebAuthenticationCredential">
689
+ <xs:annotation>
690
+ <xs:documentation>Two part authentication string used for the sender's identity</xs:documentation>
691
+ </xs:annotation>
692
+ <xs:sequence>
693
+ <xs:element name="Key" type="xs:string" minOccurs="1">
694
+ <xs:annotation>
695
+ <xs:documentation>Identifying part of authentication credential. This value is provided by FedEx after registration</xs:documentation>
696
+ </xs:annotation>
697
+ </xs:element>
698
+ <xs:element name="Password" type="xs:string" minOccurs="1">
699
+ <xs:annotation>
700
+ <xs:documentation>Secret part of authentication key. This value is provided by FedEx after registration.</xs:documentation>
701
+ </xs:annotation>
702
+ </xs:element>
703
+ </xs:sequence>
704
+ </xs:complexType>
705
+ <xs:complexType name="VersionId">
706
+ <xs:annotation>
707
+ <xs:documentation>Identifies the version/level of a service operation expected by a caller (in each request) and performed by the callee (in each reply).</xs:documentation>
708
+ </xs:annotation>
709
+ <xs:sequence>
710
+ <xs:element name="ServiceId" type="xs:string" fixed="gsai" minOccurs="1">
711
+ <xs:annotation>
712
+ <xs:documentation>Identifies a system or sub-system which performs an operation.</xs:documentation>
713
+ </xs:annotation>
714
+ </xs:element>
715
+ <xs:element name="Major" type="xs:int" fixed="1" minOccurs="1">
716
+ <xs:annotation>
717
+ <xs:documentation>Identifies the service business level.</xs:documentation>
718
+ </xs:annotation>
719
+ </xs:element>
720
+ <xs:element name="Intermediate" type="xs:int" fixed="0" minOccurs="1">
721
+ <xs:annotation>
722
+ <xs:documentation>Identifies the service interface level.</xs:documentation>
723
+ </xs:annotation>
724
+ </xs:element>
725
+ <xs:element name="Minor" type="xs:int" fixed="0" minOccurs="1">
726
+ <xs:annotation>
727
+ <xs:documentation>Identifies the service code level.</xs:documentation>
728
+ </xs:annotation>
729
+ </xs:element>
730
+ </xs:sequence>
731
+ </xs:complexType>
732
+ </xs:schema>
733
+ </types>
734
+ <message name="SearchLocationsRequest">
735
+ <part name="SearchLocationsRequest" element="ns:SearchLocationsRequest"/>
736
+ </message>
737
+ <message name="SearchLocationsReply">
738
+ <part name="SearchLocationsReply" element="ns:SearchLocationsReply"/>
739
+ </message>
740
+ <portType name="GlobalShipAddressPortType">
741
+ <operation name="searchLocations" parameterOrder="SearchLocationsRequest">
742
+ <input message="ns:SearchLocationsRequest"/>
743
+ <output message="ns:SearchLocationsReply"/>
744
+ </operation>
745
+ </portType>
746
+ <binding name="GlobalShipAddressServiceSoapBinding" type="ns:GlobalShipAddressPortType">
747
+ <s1:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
748
+ <operation name="searchLocations">
749
+ <s1:operation soapAction="searchLocations" style="document"/>
750
+ <input>
751
+ <s1:body use="literal"/>
752
+ </input>
753
+ <output>
754
+ <s1:body use="literal"/>
755
+ </output>
756
+ </operation>
757
+ </binding>
758
+ <service name="GlobalShipAddressService">
759
+ <port name="GlobalShipAddressServicePort" binding="ns:GlobalShipAddressServiceSoapBinding">
760
+ <s1:address location="https://ws.fedex.com:443/web-services/globalshipaddress"/>
761
+ </port>
762
+ </service>
763
+ </definitions>
fedex/wsdl/GlobalShipAddressService_v1.xml ADDED
@@ -0,0 +1,763 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:ns="http://fedex.com/ws/gsai/v1" xmlns:s1="http://schemas.xmlsoap.org/wsdl/soap/" targetNamespace="http://fedex.com/ws/gsai/v1" name="GlobalShipAddressServiceDefinitions">
2
+ <types>
3
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://fedex.com/ws/gsai/v1">
4
+ <xs:element name="SearchLocationsReply" type="ns:SearchLocationsReply"/>
5
+ <xs:element name="SearchLocationsRequest" type="ns:SearchLocationsRequest"/>
6
+ <xs:complexType name="Address">
7
+ <xs:annotation>
8
+ <xs:documentation>Descriptive data for a physical location. May be used as an actual physical address (place to which one could go), or as a container of "address parts" which should be handled as a unit (such as a city-state-ZIP combination within the US).</xs:documentation>
9
+ </xs:annotation>
10
+ <xs:sequence>
11
+ <xs:element name="StreetLines" type="xs:string" minOccurs="0" maxOccurs="unbounded">
12
+ <xs:annotation>
13
+ <xs:documentation>Combination of number, street name, etc. At least one line is required for a valid physical address; empty lines should not be included.</xs:documentation>
14
+ </xs:annotation>
15
+ </xs:element>
16
+ <xs:element name="City" type="xs:string" minOccurs="0">
17
+ <xs:annotation>
18
+ <xs:documentation>Name of city, town, etc.</xs:documentation>
19
+ </xs:annotation>
20
+ </xs:element>
21
+ <xs:element name="StateOrProvinceCode" type="xs:string" minOccurs="0">
22
+ <xs:annotation>
23
+ <xs:documentation>Identifying abbreviation for US state, Canada province, etc. Format and presence of this field will vary, depending on country.</xs:documentation>
24
+ </xs:annotation>
25
+ </xs:element>
26
+ <xs:element name="PostalCode" type="xs:string" minOccurs="0">
27
+ <xs:annotation>
28
+ <xs:documentation>Identification of a region (usually small) for mail/package delivery. Format and presence of this field will vary, depending on country.</xs:documentation>
29
+ </xs:annotation>
30
+ </xs:element>
31
+ <xs:element name="UrbanizationCode" type="xs:string" minOccurs="0">
32
+ <xs:annotation>
33
+ <xs:documentation>Relevant only to addresses in Puerto Rico.</xs:documentation>
34
+ </xs:annotation>
35
+ </xs:element>
36
+ <xs:element name="CountryCode" type="xs:string" minOccurs="0">
37
+ <xs:annotation>
38
+ <xs:documentation>The two-letter code used to identify a country.</xs:documentation>
39
+ </xs:annotation>
40
+ </xs:element>
41
+ <xs:element name="Residential" type="xs:boolean" minOccurs="0">
42
+ <xs:annotation>
43
+ <xs:documentation>Indicates whether this address residential (as opposed to commercial).</xs:documentation>
44
+ </xs:annotation>
45
+ </xs:element>
46
+ </xs:sequence>
47
+ </xs:complexType>
48
+ <xs:complexType name="AddressAncillaryDetail">
49
+ <xs:annotation>
50
+ <xs:documentation>Additional information about a physical location, such as suite number, cross street, floor number in a building. These details are not typically a part of a standard address definition; however, these details might help locate the address.</xs:documentation>
51
+ </xs:annotation>
52
+ <xs:sequence>
53
+ <xs:element name="LocationInCity" type="xs:string" minOccurs="0"/>
54
+ <xs:element name="LocationInProperty" type="xs:string" minOccurs="0"/>
55
+ <xs:element name="RoomFloor" type="xs:string" minOccurs="0"/>
56
+ <xs:element name="Suite" type="xs:string" minOccurs="0"/>
57
+ <xs:element name="CrossStreet" type="xs:string" minOccurs="0"/>
58
+ </xs:sequence>
59
+ </xs:complexType>
60
+ <xs:complexType name="AddressToLocationRelationshipDetail">
61
+ <xs:annotation>
62
+ <xs:documentation>Specifies the relationship between the address specificed and the address of the FedEx Location in terms of distance.</xs:documentation>
63
+ </xs:annotation>
64
+ <xs:sequence>
65
+ <xs:element name="MatchedAddress" type="ns:Address" minOccurs="0">
66
+ <xs:annotation>
67
+ <xs:documentation>Address as provided in the request.</xs:documentation>
68
+ </xs:annotation>
69
+ </xs:element>
70
+ <xs:element name="DistanceAndLocationDetails" type="ns:DistanceAndLocationDetail" minOccurs="0" maxOccurs="unbounded">
71
+ <xs:annotation>
72
+ <xs:documentation>Specifies the distance between the matched address and the addresses of matched FedEx locations. Also specifies the details of the FedEx locations.</xs:documentation>
73
+ </xs:annotation>
74
+ </xs:element>
75
+ </xs:sequence>
76
+ </xs:complexType>
77
+ <xs:simpleType name="CarrierCodeType">
78
+ <xs:annotation>
79
+ <xs:documentation>Identification of a FedEx operating company (transportation).</xs:documentation>
80
+ </xs:annotation>
81
+ <xs:restriction base="xs:string">
82
+ <xs:enumeration value="FDXC"/>
83
+ <xs:enumeration value="FDXE"/>
84
+ <xs:enumeration value="FDXG"/>
85
+ <xs:enumeration value="FXCC"/>
86
+ <xs:enumeration value="FXFR"/>
87
+ <xs:enumeration value="FXSP"/>
88
+ </xs:restriction>
89
+ </xs:simpleType>
90
+ <xs:complexType name="CarrierDetail">
91
+ <xs:sequence>
92
+ <xs:element name="Carrier" type="ns:CarrierCodeType" minOccurs="0"/>
93
+ <xs:element name="NormalLatestDropOffDetails" type="ns:LatestDropOffDetail" minOccurs="0" maxOccurs="unbounded"/>
94
+ <xs:element name="ExceptionalLatestDropOffDetails" type="ns:LatestDropOffDetail" minOccurs="0" maxOccurs="unbounded"/>
95
+ <xs:element name="EffectiveLatestDropOffDetails" type="ns:LatestDropOffDetail" minOccurs="0"/>
96
+ <xs:element name="ShippingHolidays" type="ns:ShippingHoliday" minOccurs="0" maxOccurs="unbounded"/>
97
+ </xs:sequence>
98
+ </xs:complexType>
99
+ <xs:complexType name="ClientDetail">
100
+ <xs:annotation>
101
+ <xs:documentation>Descriptive data for the client submitting a transaction.</xs:documentation>
102
+ </xs:annotation>
103
+ <xs:sequence>
104
+ <xs:element name="AccountNumber" type="xs:string" minOccurs="1">
105
+ <xs:annotation>
106
+ <xs:documentation>The FedEx account number associated with this transaction.</xs:documentation>
107
+ </xs:annotation>
108
+ </xs:element>
109
+ <xs:element name="MeterNumber" type="xs:string" minOccurs="1">
110
+ <xs:annotation>
111
+ <xs:documentation>This number is assigned by FedEx and identifies the unique device from which the request is originating</xs:documentation>
112
+ </xs:annotation>
113
+ </xs:element>
114
+ <xs:element name="MeterInstance" type="xs:string" minOccurs="0"/>
115
+ <xs:element name="ClientProductId" type="xs:string" minOccurs="0">
116
+ <xs:annotation>
117
+ <xs:documentation>A FedEx assigned identifier for a third party software product used by customer to do business with FedEx. Such as a Compatible Solution Provider's product.</xs:documentation>
118
+ </xs:annotation>
119
+ </xs:element>
120
+ <xs:element name="ClientProductVersion" type="xs:string" minOccurs="0">
121
+ <xs:annotation>
122
+ <xs:documentation>The version of the third party product.</xs:documentation>
123
+ </xs:annotation>
124
+ </xs:element>
125
+ <xs:element name="IntegratorId" type="xs:string" minOccurs="0">
126
+ <xs:annotation>
127
+ <xs:documentation>Only used in transactions which require identification of the Fed Ex Office integrator.</xs:documentation>
128
+ </xs:annotation>
129
+ </xs:element>
130
+ <xs:element name="Region" type="ns:ExpressRegionCode" minOccurs="0">
131
+ <xs:annotation>
132
+ <xs:documentation>Indicates the region from which the transaction is submitted.</xs:documentation>
133
+ </xs:annotation>
134
+ </xs:element>
135
+ <xs:element name="Localization" type="ns:Localization" minOccurs="0">
136
+ <xs:annotation>
137
+ <xs:documentation>The language to be used for human-readable Notification.localizedMessages in responses to the request containing this ClientDetail object. Different requests from the same client may contain different Localization data. (Contrast with TransactionDetail.localization, which governs data payload language/translation.)</xs:documentation>
138
+ </xs:annotation>
139
+ </xs:element>
140
+ </xs:sequence>
141
+ </xs:complexType>
142
+ <xs:complexType name="Contact">
143
+ <xs:annotation>
144
+ <xs:documentation>The descriptive data for a point-of-contact person.</xs:documentation>
145
+ </xs:annotation>
146
+ <xs:sequence>
147
+ <xs:element name="ContactId" type="xs:string" minOccurs="0">
148
+ <xs:annotation>
149
+ <xs:documentation>Client provided identifier corresponding to this contact information.</xs:documentation>
150
+ </xs:annotation>
151
+ </xs:element>
152
+ <xs:element name="PersonName" type="xs:string" minOccurs="0">
153
+ <xs:annotation>
154
+ <xs:documentation>Identifies the contact person's name.</xs:documentation>
155
+ </xs:annotation>
156
+ </xs:element>
157
+ <xs:element name="Title" type="xs:string" minOccurs="0">
158
+ <xs:annotation>
159
+ <xs:documentation>Identifies the contact person's title.</xs:documentation>
160
+ </xs:annotation>
161
+ </xs:element>
162
+ <xs:element name="CompanyName" type="xs:string" minOccurs="0">
163
+ <xs:annotation>
164
+ <xs:documentation>Identifies the company this contact is associated with.</xs:documentation>
165
+ </xs:annotation>
166
+ </xs:element>
167
+ <xs:element name="PhoneNumber" type="xs:string" minOccurs="0">
168
+ <xs:annotation>
169
+ <xs:documentation>Identifies the phone number associated with this contact.</xs:documentation>
170
+ </xs:annotation>
171
+ </xs:element>
172
+ <xs:element name="PhoneExtension" type="xs:string" minOccurs="0">
173
+ <xs:annotation>
174
+ <xs:documentation>Identifies the phone extension associated with this contact.</xs:documentation>
175
+ </xs:annotation>
176
+ </xs:element>
177
+ <xs:element name="PagerNumber" type="xs:string" minOccurs="0">
178
+ <xs:annotation>
179
+ <xs:documentation>Identifies the pager number associated with this contact.</xs:documentation>
180
+ </xs:annotation>
181
+ </xs:element>
182
+ <xs:element name="FaxNumber" type="xs:string" minOccurs="0">
183
+ <xs:annotation>
184
+ <xs:documentation>Identifies the fax number associated with this contact.</xs:documentation>
185
+ </xs:annotation>
186
+ </xs:element>
187
+ <xs:element name="EMailAddress" type="xs:string" minOccurs="0">
188
+ <xs:annotation>
189
+ <xs:documentation>Identifies the email address associated with this contact.</xs:documentation>
190
+ </xs:annotation>
191
+ </xs:element>
192
+ </xs:sequence>
193
+ </xs:complexType>
194
+ <xs:simpleType name="DayOfWeekType">
195
+ <xs:restriction base="xs:string">
196
+ <xs:enumeration value="FRI"/>
197
+ <xs:enumeration value="MON"/>
198
+ <xs:enumeration value="SAT"/>
199
+ <xs:enumeration value="SUN"/>
200
+ <xs:enumeration value="THU"/>
201
+ <xs:enumeration value="TUE"/>
202
+ <xs:enumeration value="WED"/>
203
+ </xs:restriction>
204
+ </xs:simpleType>
205
+ <xs:complexType name="Distance">
206
+ <xs:annotation>
207
+ <xs:documentation>Driving or other transportation distances, distinct from dimension measurements.</xs:documentation>
208
+ </xs:annotation>
209
+ <xs:sequence>
210
+ <xs:element name="Value" type="xs:decimal" minOccurs="0">
211
+ <xs:annotation>
212
+ <xs:documentation>Identifies the distance quantity.</xs:documentation>
213
+ </xs:annotation>
214
+ </xs:element>
215
+ <xs:element name="Units" type="ns:DistanceUnits" minOccurs="0">
216
+ <xs:annotation>
217
+ <xs:documentation>Identifies the unit of measure for the distance value.</xs:documentation>
218
+ </xs:annotation>
219
+ </xs:element>
220
+ </xs:sequence>
221
+ </xs:complexType>
222
+ <xs:complexType name="DistanceAndLocationDetail">
223
+ <xs:annotation>
224
+ <xs:documentation>Specifies the distance between the address of a geographic location and the address of a FedEx location. Also specifies the location details about the Fedex location.</xs:documentation>
225
+ </xs:annotation>
226
+ <xs:sequence>
227
+ <xs:element name="Distance" type="ns:Distance" minOccurs="0">
228
+ <xs:annotation>
229
+ <xs:documentation>Distance between an address of a geographic location and an address of a FedEx location.</xs:documentation>
230
+ </xs:annotation>
231
+ </xs:element>
232
+ <xs:element name="LocationDetail" type="ns:LocationDetail" minOccurs="0">
233
+ <xs:annotation>
234
+ <xs:documentation>Details about a FedEx location such as services offered, working hours and pick and drop off times.</xs:documentation>
235
+ </xs:annotation>
236
+ </xs:element>
237
+ </xs:sequence>
238
+ </xs:complexType>
239
+ <xs:simpleType name="DistanceUnits">
240
+ <xs:restriction base="xs:string">
241
+ <xs:enumeration value="KM"/>
242
+ <xs:enumeration value="MI"/>
243
+ </xs:restriction>
244
+ </xs:simpleType>
245
+ <xs:simpleType name="ExpressRegionCode">
246
+ <xs:annotation>
247
+ <xs:documentation>Indicates a FedEx Express operating region.</xs:documentation>
248
+ </xs:annotation>
249
+ <xs:restriction base="xs:string">
250
+ <xs:enumeration value="APAC"/>
251
+ <xs:enumeration value="CA"/>
252
+ <xs:enumeration value="EMEA"/>
253
+ <xs:enumeration value="LAC"/>
254
+ <xs:enumeration value="US"/>
255
+ </xs:restriction>
256
+ </xs:simpleType>
257
+ <xs:simpleType name="FedExLocationType">
258
+ <xs:annotation>
259
+ <xs:documentation>Identifies a kind of FedEx facility.</xs:documentation>
260
+ </xs:annotation>
261
+ <xs:restriction base="xs:string">
262
+ <xs:enumeration value="FEDEX_AUTHORIZED_SHIP_CENTER"/>
263
+ <xs:enumeration value="FEDEX_EXPRESS_STATION"/>
264
+ <xs:enumeration value="FEDEX_FREIGHT_SERVICE_CENTER"/>
265
+ <xs:enumeration value="FEDEX_GROUND_TERMINAL"/>
266
+ <xs:enumeration value="FEDEX_HOME_DELIVERY_STATION"/>
267
+ <xs:enumeration value="FEDEX_OFFICE"/>
268
+ <xs:enumeration value="FEDEX_SELF_SERVICE_LOCATION"/>
269
+ <xs:enumeration value="FEDEX_SMART_POST_HUB"/>
270
+ </xs:restriction>
271
+ </xs:simpleType>
272
+ <xs:complexType name="Holiday">
273
+ <xs:sequence>
274
+ <xs:element name="Name" type="xs:string" minOccurs="0"/>
275
+ <xs:element name="Date" type="xs:date" minOccurs="0"/>
276
+ </xs:sequence>
277
+ </xs:complexType>
278
+ <xs:complexType name="LatestDropOffDetail">
279
+ <xs:annotation>
280
+ <xs:documentation>Specifies the latest time by which a package can be dropped off at a FedEx location.</xs:documentation>
281
+ </xs:annotation>
282
+ <xs:sequence>
283
+ <xs:element name="DayOfWeek" type="ns:DayOfWeekType" minOccurs="0"/>
284
+ <xs:element name="Time" type="xs:time" minOccurs="0"/>
285
+ <xs:element name="Overlays" type="ns:LatestDropoffOverlayDetail" minOccurs="0" maxOccurs="unbounded">
286
+ <xs:annotation>
287
+ <xs:documentation>Specifies the details about the time and reason to</xs:documentation>
288
+ </xs:annotation>
289
+ </xs:element>
290
+ </xs:sequence>
291
+ </xs:complexType>
292
+ <xs:simpleType name="LatestDropOffOverlayType">
293
+ <xs:annotation>
294
+ <xs:documentation>Specifies the reason for the overlay of the daily last drop off time for a carrier.</xs:documentation>
295
+ </xs:annotation>
296
+ <xs:restriction base="xs:string">
297
+ <xs:enumeration value="DOMESTIC_CANADIAN"/>
298
+ <xs:enumeration value="EAST_COAST"/>
299
+ <xs:enumeration value="FEDEX_GROUND"/>
300
+ <xs:enumeration value="WEST_COAST"/>
301
+ </xs:restriction>
302
+ </xs:simpleType>
303
+ <xs:complexType name="LatestDropoffOverlayDetail">
304
+ <xs:annotation>
305
+ <xs:documentation>Specifies the time and reason to overlay the last drop off time for a carrier at a FedEx location.</xs:documentation>
306
+ </xs:annotation>
307
+ <xs:sequence>
308
+ <xs:element name="Type" type="ns:LatestDropOffOverlayType" minOccurs="0"/>
309
+ <xs:element name="Time" type="xs:time" minOccurs="0"/>
310
+ </xs:sequence>
311
+ </xs:complexType>
312
+ <xs:complexType name="Localization">
313
+ <xs:annotation>
314
+ <xs:documentation>Identifies the representation of human-readable text.</xs:documentation>
315
+ </xs:annotation>
316
+ <xs:sequence>
317
+ <xs:element name="LanguageCode" type="xs:string" minOccurs="1">
318
+ <xs:annotation>
319
+ <xs:documentation>Two-letter code for language (e.g. EN, FR, etc.)</xs:documentation>
320
+ </xs:annotation>
321
+ </xs:element>
322
+ <xs:element name="LocaleCode" type="xs:string" minOccurs="0">
323
+ <xs:annotation>
324
+ <xs:documentation>Two-letter code for the region (e.g. us, ca, etc..).</xs:documentation>
325
+ </xs:annotation>
326
+ </xs:element>
327
+ </xs:sequence>
328
+ </xs:complexType>
329
+ <xs:simpleType name="LocationAttributesType">
330
+ <xs:restriction base="xs:string">
331
+ <xs:enumeration value="ACCEPTS_CASH"/>
332
+ <xs:enumeration value="ALREADY_OPEN"/>
333
+ <xs:enumeration value="COPY_AND_PRINT_SERVICES"/>
334
+ <xs:enumeration value="DANGEROUS_GOODS_SERVICES"/>
335
+ <xs:enumeration value="DIRECT_MAIL_SERVICES"/>
336
+ <xs:enumeration value="EXPRESS_FREIGHT_DROPOFFS"/>
337
+ <xs:enumeration value="EXPRESS_PARCEL_DROPOFFS"/>
338
+ <xs:enumeration value="FEDEX_FREIGHT_DROPOFFS"/>
339
+ <xs:enumeration value="GROUND_DROPOFFS"/>
340
+ <xs:enumeration value="GROUND_HOME_DELIVERY_DROPOFFS"/>
341
+ <xs:enumeration value="LOCATION_IS_IN_AIRPORT"/>
342
+ <xs:enumeration value="NOTARY_SERVICES"/>
343
+ <xs:enumeration value="OBSERVES_DAY_LIGHT_SAVING_TIMES"/>
344
+ <xs:enumeration value="OPEN_TWENTY_FOUR_HOURS"/>
345
+ <xs:enumeration value="PACKAGING_SUPPLIES"/>
346
+ <xs:enumeration value="PACK_AND_SHIP"/>
347
+ <xs:enumeration value="PASSPORT_PHOTO_SERVICES"/>
348
+ <xs:enumeration value="RETURNS_SERVICES"/>
349
+ <xs:enumeration value="SATURDAY_DROPOFFS"/>
350
+ <xs:enumeration value="SATURDAY_EXPRESS_HOLD_AT_LOCATION"/>
351
+ <xs:enumeration value="SIGNS_AND_BANNERS_SERVICE"/>
352
+ <xs:enumeration value="SONY_PICTURE_STATION"/>
353
+ <xs:enumeration value="VIDEO_CONFERENCING"/>
354
+ <xs:enumeration value="WEEKDAY_EXPRESS_HOLD_AT_LOCATION"/>
355
+ <xs:enumeration value="WEEKDAY_GROUND_HOLD_AT_LOCATION"/>
356
+ </xs:restriction>
357
+ </xs:simpleType>
358
+ <xs:complexType name="LocationContactAndAddress">
359
+ <xs:sequence>
360
+ <xs:element name="Contact" type="ns:Contact" minOccurs="0"/>
361
+ <xs:element name="Address" type="ns:Address" minOccurs="0"/>
362
+ <xs:element name="AddressAncillaryDetail" type="ns:AddressAncillaryDetail" minOccurs="0"/>
363
+ </xs:sequence>
364
+ </xs:complexType>
365
+ <xs:simpleType name="LocationContentOptionType">
366
+ <xs:restriction base="xs:string">
367
+ <xs:enumeration value="HOLIDAYS"/>
368
+ <xs:enumeration value="LOCATION_DROPOFF_TIMES"/>
369
+ <xs:enumeration value="MAP_URL"/>
370
+ </xs:restriction>
371
+ </xs:simpleType>
372
+ <xs:complexType name="LocationDetail">
373
+ <xs:annotation>
374
+ <xs:documentation>Describes an individual location providing a set of customer service features.</xs:documentation>
375
+ </xs:annotation>
376
+ <xs:sequence>
377
+ <xs:element name="LocationId" type="xs:string" minOccurs="0"/>
378
+ <xs:element name="StoreNumber" type="xs:int" minOccurs="0"/>
379
+ <xs:element name="LocationContactAndAddress" type="ns:LocationContactAndAddress" minOccurs="0"/>
380
+ <xs:element name="SpecialInstructions" type="xs:string" minOccurs="0"/>
381
+ <xs:element name="GeographicCoordinates" type="xs:string" minOccurs="0"/>
382
+ <xs:element name="LocationType" type="ns:FedExLocationType" minOccurs="0"/>
383
+ <xs:element name="Attributes" type="ns:LocationAttributesType" minOccurs="0" maxOccurs="unbounded"/>
384
+ <xs:element name="AcceptedCurrency" type="xs:string" minOccurs="0"/>
385
+ <xs:element name="LocationHolidays" type="ns:Holiday" minOccurs="0" maxOccurs="unbounded"/>
386
+ <xs:element name="MapUrl" type="xs:string" minOccurs="0"/>
387
+ <xs:element name="EntityId" type="xs:string" minOccurs="0"/>
388
+ <xs:element name="NormalHours" type="ns:LocationHours" minOccurs="0" maxOccurs="unbounded"/>
389
+ <xs:element name="ExceptionalHours" type="ns:LocationHours" minOccurs="0" maxOccurs="unbounded"/>
390
+ <xs:element name="HoursForEffectiveDate" type="ns:LocationHours" minOccurs="0" maxOccurs="unbounded"/>
391
+ <xs:element name="CarrierDetails" type="ns:CarrierDetail" minOccurs="0" maxOccurs="unbounded"/>
392
+ </xs:sequence>
393
+ </xs:complexType>
394
+ <xs:complexType name="LocationHours">
395
+ <xs:annotation>
396
+ <xs:documentation>Specifies the location hours for a location.</xs:documentation>
397
+ </xs:annotation>
398
+ <xs:sequence>
399
+ <xs:element name="DayofWeek" type="ns:DayOfWeekType" minOccurs="0"/>
400
+ <xs:element name="OperationalHours" type="ns:OperationalHoursType" minOccurs="0"/>
401
+ <xs:element name="Hours" type="ns:TimeRange" minOccurs="0" maxOccurs="unbounded"/>
402
+ </xs:sequence>
403
+ </xs:complexType>
404
+ <xs:simpleType name="LocationSearchFilterType">
405
+ <xs:annotation>
406
+ <xs:documentation>Specifies the crieteria used to filter the location search results.</xs:documentation>
407
+ </xs:annotation>
408
+ <xs:restriction base="xs:string">
409
+ <xs:enumeration value="EXCLUDE_LOCATIONS_OUTSIDE_STATE_OR_PROVINCE"/>
410
+ </xs:restriction>
411
+ </xs:simpleType>
412
+ <xs:simpleType name="LocationSortCriteriaType">
413
+ <xs:annotation>
414
+ <xs:documentation>Specifies the criterion to be used to sort the location details.</xs:documentation>
415
+ </xs:annotation>
416
+ <xs:restriction base="xs:string">
417
+ <xs:enumeration value="DISTANCE"/>
418
+ <xs:enumeration value="LATEST_EXPRESS_DROPOFF_TIME"/>
419
+ <xs:enumeration value="LATEST_GROUND_DROPOFF_TIME"/>
420
+ <xs:enumeration value="LOCATION_TYPE"/>
421
+ </xs:restriction>
422
+ </xs:simpleType>
423
+ <xs:complexType name="LocationSortDetail">
424
+ <xs:annotation>
425
+ <xs:documentation>Specifies the criterion and order to be used to sort the location details.</xs:documentation>
426
+ </xs:annotation>
427
+ <xs:sequence>
428
+ <xs:element name="Criterion" type="ns:LocationSortCriteriaType" minOccurs="0">
429
+ <xs:annotation>
430
+ <xs:documentation>Specifies the criterion to be used to sort the location details.</xs:documentation>
431
+ </xs:annotation>
432
+ </xs:element>
433
+ <xs:element name="Order" type="ns:LocationSortOrderType" minOccurs="0">
434
+ <xs:annotation>
435
+ <xs:documentation>Specifies sort order of the location details.</xs:documentation>
436
+ </xs:annotation>
437
+ </xs:element>
438
+ </xs:sequence>
439
+ </xs:complexType>
440
+ <xs:simpleType name="LocationSortOrderType">
441
+ <xs:annotation>
442
+ <xs:documentation>Specifies sort order of the location details.</xs:documentation>
443
+ </xs:annotation>
444
+ <xs:restriction base="xs:string">
445
+ <xs:enumeration value="HIGHEST_TO_LOWEST"/>
446
+ <xs:enumeration value="LOWEST_TO_HIGHEST"/>
447
+ </xs:restriction>
448
+ </xs:simpleType>
449
+ <xs:simpleType name="LocationsSearchCriteriaType">
450
+ <xs:annotation>
451
+ <xs:documentation>Specifies the criteria types that may be used to search for FedEx locations.</xs:documentation>
452
+ </xs:annotation>
453
+ <xs:restriction base="xs:string">
454
+ <xs:enumeration value="ADDRESS"/>
455
+ <xs:enumeration value="GEOGRAPHIC_COORDINATES"/>
456
+ <xs:enumeration value="PHONE_NUMBER"/>
457
+ </xs:restriction>
458
+ </xs:simpleType>
459
+ <xs:simpleType name="MultipleMatchesActionType">
460
+ <xs:restriction base="xs:string">
461
+ <xs:enumeration value="RETURN_ALL"/>
462
+ <xs:enumeration value="RETURN_ERROR"/>
463
+ <xs:enumeration value="RETURN_FIRST"/>
464
+ </xs:restriction>
465
+ </xs:simpleType>
466
+ <xs:complexType name="Notification">
467
+ <xs:annotation>
468
+ <xs:documentation>The descriptive data regarding the result of the submitted transaction.</xs:documentation>
469
+ </xs:annotation>
470
+ <xs:sequence>
471
+ <xs:element name="Severity" type="ns:NotificationSeverityType" minOccurs="0">
472
+ <xs:annotation>
473
+ <xs:documentation>The severity of this notification. This can indicate success or failure or some other information about the request. The values that can be returned are SUCCESS - Your transaction succeeded with no other applicable information. NOTE - Additional information that may be of interest to you about your transaction. WARNING - Additional information that you need to know about your transaction that you may need to take action on. ERROR - Information about an error that occurred while processing your transaction. FAILURE - FedEx was unable to process your transaction at this time due to a system failure. Please try again later</xs:documentation>
474
+ </xs:annotation>
475
+ </xs:element>
476
+ <xs:element name="Source" type="xs:string" minOccurs="0">
477
+ <xs:annotation>
478
+ <xs:documentation>Indicates the source of this notification. Combined with the Code it uniquely identifies this notification</xs:documentation>
479
+ </xs:annotation>
480
+ </xs:element>
481
+ <xs:element name="Code" type="xs:string" minOccurs="0">
482
+ <xs:annotation>
483
+ <xs:documentation>A code that represents this notification. Combined with the Source it uniquely identifies this notification.</xs:documentation>
484
+ </xs:annotation>
485
+ </xs:element>
486
+ <xs:element name="Message" type="xs:string" minOccurs="0">
487
+ <xs:annotation>
488
+ <xs:documentation>Human-readable text that explains this notification.</xs:documentation>
489
+ </xs:annotation>
490
+ </xs:element>
491
+ <xs:element name="LocalizedMessage" type="xs:string" minOccurs="0">
492
+ <xs:annotation>
493
+ <xs:documentation>The translated message. The language and locale specified in the ClientDetail. Localization are used to determine the representation. Currently only supported in a TrackReply.</xs:documentation>
494
+ </xs:annotation>
495
+ </xs:element>
496
+ <xs:element name="MessageParameters" type="ns:NotificationParameter" minOccurs="0" maxOccurs="unbounded">
497
+ <xs:annotation>
498
+ <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>
499
+ </xs:annotation>
500
+ </xs:element>
501
+ </xs:sequence>
502
+ </xs:complexType>
503
+ <xs:complexType name="NotificationParameter">
504
+ <xs:sequence>
505
+ <xs:element name="Id" type="xs:string" minOccurs="0">
506
+ <xs:annotation>
507
+ <xs:documentation>Identifies the type of data contained in Value (e.g. SERVICE_TYPE, PACKAGE_SEQUENCE, etc..).</xs:documentation>
508
+ </xs:annotation>
509
+ </xs:element>
510
+ <xs:element name="Value" type="xs:string" minOccurs="0">
511
+ <xs:annotation>
512
+ <xs:documentation>The value of the parameter (e.g. PRIORITY_OVERNIGHT, 2, etc..).</xs:documentation>
513
+ </xs:annotation>
514
+ </xs:element>
515
+ </xs:sequence>
516
+ </xs:complexType>
517
+ <xs:simpleType name="NotificationSeverityType">
518
+ <xs:restriction base="xs:string">
519
+ <xs:enumeration value="ERROR"/>
520
+ <xs:enumeration value="FAILURE"/>
521
+ <xs:enumeration value="NOTE"/>
522
+ <xs:enumeration value="SUCCESS"/>
523
+ <xs:enumeration value="WARNING"/>
524
+ </xs:restriction>
525
+ </xs:simpleType>
526
+ <xs:simpleType name="OperationalHoursType">
527
+ <xs:restriction base="xs:string">
528
+ <xs:enumeration value="CLOSED_ALL_DAY"/>
529
+ <xs:enumeration value="OPEN_ALL_DAY"/>
530
+ <xs:enumeration value="OPEN_BY_HOURS"/>
531
+ </xs:restriction>
532
+ </xs:simpleType>
533
+ <xs:complexType name="SearchLocationConstraints">
534
+ <xs:annotation>
535
+ <xs:documentation>Specifies additional constraints on the attributes of the locations being searched.</xs:documentation>
536
+ </xs:annotation>
537
+ <xs:sequence>
538
+ <xs:element name="RadiusDistance" type="ns:Distance" minOccurs="0">
539
+ <xs:annotation>
540
+ <xs:documentation>Specifies value and units of the radius around the address to search for FedEx locations.</xs:documentation>
541
+ </xs:annotation>
542
+ </xs:element>
543
+ <xs:element name="ExpressDropOffTimeNeeded" type="xs:time" minOccurs="0">
544
+ <xs:annotation>
545
+ <xs:documentation>The latest time at which the customer can drop off a package for being shipped using an express service.</xs:documentation>
546
+ </xs:annotation>
547
+ </xs:element>
548
+ <xs:element name="ResultsFilters" type="ns:LocationSearchFilterType" minOccurs="0" maxOccurs="unbounded">
549
+ <xs:annotation>
550
+ <xs:documentation>Specifies the criteria used to filter the results of locations search.</xs:documentation>
551
+ </xs:annotation>
552
+ </xs:element>
553
+ <xs:element name="SupportedRedirectToHoldServices" type="ns:SupportedRedirectToHoldServiceType" minOccurs="0" maxOccurs="unbounded">
554
+ <xs:annotation>
555
+ <xs:documentation>Specifies the types of services supported by a FedEx location for redirect to hold.</xs:documentation>
556
+ </xs:annotation>
557
+ </xs:element>
558
+ <xs:element name="RequiredLocationAttributes" type="ns:LocationAttributesType" minOccurs="0" maxOccurs="unbounded"/>
559
+ <xs:element name="ResultsToSkip" type="xs:nonNegativeInteger" minOccurs="0"/>
560
+ <xs:element name="ResultsRequested" type="xs:nonNegativeInteger" minOccurs="0"/>
561
+ <xs:element name="LocationContentOptions" type="ns:LocationContentOptionType" minOccurs="0" maxOccurs="unbounded"/>
562
+ <xs:element name="LocationTypesToInclude" type="ns:FedExLocationType" minOccurs="0" maxOccurs="unbounded"/>
563
+ </xs:sequence>
564
+ </xs:complexType>
565
+ <xs:complexType name="SearchLocationsReply">
566
+ <xs:sequence>
567
+ <xs:element name="HighestSeverity" type="ns:NotificationSeverityType" minOccurs="1"/>
568
+ <xs:element name="Notifications" type="ns:Notification" minOccurs="1" maxOccurs="unbounded"/>
569
+ <xs:element name="TransactionDetail" type="ns:TransactionDetail" minOccurs="0"/>
570
+ <xs:element name="Version" type="ns:VersionId" minOccurs="1"/>
571
+ <xs:element name="TotalResultsAvailable" type="xs:nonNegativeInteger" minOccurs="0">
572
+ <xs:annotation>
573
+ <xs:documentation>Specifies total number of location results that are available.</xs:documentation>
574
+ </xs:annotation>
575
+ </xs:element>
576
+ <xs:element name="ResultsReturned" type="xs:nonNegativeInteger" minOccurs="0">
577
+ <xs:annotation>
578
+ <xs:documentation>Specifies the number of location results returned in this reply.</xs:documentation>
579
+ </xs:annotation>
580
+ </xs:element>
581
+ <xs:element name="FormattedAddress" type="ns:Address" minOccurs="0">
582
+ <xs:annotation>
583
+ <xs:documentation>Specifies the address formatted to have correct postal code per USPS standards.</xs:documentation>
584
+ </xs:annotation>
585
+ </xs:element>
586
+ <xs:element name="AddressToLocationRelationships" type="ns:AddressToLocationRelationshipDetail" minOccurs="0" maxOccurs="unbounded">
587
+ <xs:annotation>
588
+ <xs:documentation>The details about the relationship between the address requested and the locations returned.</xs:documentation>
589
+ </xs:annotation>
590
+ </xs:element>
591
+ </xs:sequence>
592
+ </xs:complexType>
593
+ <xs:complexType name="SearchLocationsRequest">
594
+ <xs:sequence>
595
+ <xs:element name="WebAuthenticationDetail" type="ns:WebAuthenticationDetail" minOccurs="1">
596
+ <xs:annotation>
597
+ <xs:documentation>Descriptive data to be used in authentication of the sender's identity (and right to use FedEx web services).</xs:documentation>
598
+ </xs:annotation>
599
+ </xs:element>
600
+ <xs:element name="ClientDetail" type="ns:ClientDetail" minOccurs="1"/>
601
+ <xs:element name="TransactionDetail" type="ns:TransactionDetail" minOccurs="0"/>
602
+ <xs:element name="Version" type="ns:VersionId" minOccurs="1"/>
603
+ <xs:element name="EffectiveDate" type="xs:date" minOccurs="0"/>
604
+ <xs:element name="LocationsSearchCriterion" type="ns:LocationsSearchCriteriaType" minOccurs="0">
605
+ <xs:annotation>
606
+ <xs:documentation>Specifies the criterion that may be used to search for FedEx locations.</xs:documentation>
607
+ </xs:annotation>
608
+ </xs:element>
609
+ <xs:element name="Address" type="ns:Address" minOccurs="0"/>
610
+ <xs:element name="PhoneNumber" type="xs:string" minOccurs="0"/>
611
+ <xs:element name="GeographicCoordinates" type="xs:string" minOccurs="0"/>
612
+ <xs:element name="MultipleMatchesAction" type="ns:MultipleMatchesActionType" minOccurs="0">
613
+ <xs:annotation>
614
+ <xs:documentation>Specifies the criterion to be used to return location results when there are mutiple matches.</xs:documentation>
615
+ </xs:annotation>
616
+ </xs:element>
617
+ <xs:element name="SortDetail" type="ns:LocationSortDetail" minOccurs="0">
618
+ <xs:annotation>
619
+ <xs:documentation>Specifies the details on how the location search results be sorted in the reply.</xs:documentation>
620
+ </xs:annotation>
621
+ </xs:element>
622
+ <xs:element name="Constraints" type="ns:SearchLocationConstraints" minOccurs="0">
623
+ <xs:annotation>
624
+ <xs:documentation>Contraints to be applied to location attributes.</xs:documentation>
625
+ </xs:annotation>
626
+ </xs:element>
627
+ </xs:sequence>
628
+ </xs:complexType>
629
+ <xs:simpleType name="ShippingActionType">
630
+ <xs:restriction base="xs:string">
631
+ <xs:enumeration value="DELIVERIES"/>
632
+ <xs:enumeration value="PICKUPS"/>
633
+ </xs:restriction>
634
+ </xs:simpleType>
635
+ <xs:complexType name="ShippingHoliday">
636
+ <xs:sequence>
637
+ <xs:element name="Holiday" type="ns:Holiday" minOccurs="0"/>
638
+ <xs:element name="UnavailableActions" type="ns:ShippingActionType" minOccurs="0" maxOccurs="unbounded"/>
639
+ </xs:sequence>
640
+ </xs:complexType>
641
+ <xs:simpleType name="SupportedRedirectToHoldServiceType">
642
+ <xs:annotation>
643
+ <xs:documentation>Specifies the types of services supported by a FedEx location for redirect to hold.</xs:documentation>
644
+ </xs:annotation>
645
+ <xs:restriction base="xs:string">
646
+ <xs:enumeration value="FEDEX_EXPRESS"/>
647
+ <xs:enumeration value="FEDEX_GROUND"/>
648
+ <xs:enumeration value="FEDEX_GROUND_HOME_DELIVERY"/>
649
+ </xs:restriction>
650
+ </xs:simpleType>
651
+ <xs:complexType name="TimeRange">
652
+ <xs:sequence>
653
+ <xs:element name="Begins" type="xs:time" minOccurs="0"/>
654
+ <xs:element name="Ends" type="xs:time" minOccurs="0"/>
655
+ </xs:sequence>
656
+ </xs:complexType>
657
+ <xs:complexType name="TransactionDetail">
658
+ <xs:sequence>
659
+ <xs:element name="CustomerTransactionId" type="xs:string" minOccurs="0">
660
+ <xs:annotation>
661
+ <xs:documentation>Free form text to be echoed back in the reply. Used to match requests and replies.</xs:documentation>
662
+ </xs:annotation>
663
+ </xs:element>
664
+ <xs:element name="Localization" type="ns:Localization" minOccurs="0">
665
+ <xs:annotation>
666
+ <xs:documentation>Governs data payload language/translations (contrasted with ClientDetail.localization, which governs Notification.localizedMessage language selection).</xs:documentation>
667
+ </xs:annotation>
668
+ </xs:element>
669
+ </xs:sequence>
670
+ </xs:complexType>
671
+ <xs:complexType name="WebAuthenticationDetail">
672
+ <xs:annotation>
673
+ <xs:documentation>Used in authentication of the sender's identity.</xs:documentation>
674
+ </xs:annotation>
675
+ <xs:sequence>
676
+ <xs:element name="CspCredential" type="ns:WebAuthenticationCredential" minOccurs="1">
677
+ <xs:annotation>
678
+ <xs:documentation>Credential used to authenticate a CSP product/version.</xs:documentation>
679
+ </xs:annotation>
680
+ </xs:element>
681
+ <xs:element name="UserCredential" type="ns:WebAuthenticationCredential" minOccurs="1">
682
+ <xs:annotation>
683
+ <xs:documentation>Credential used to authenticate a specific software application. This value is provided by FedEx after registration.</xs:documentation>
684
+ </xs:annotation>
685
+ </xs:element>
686
+ </xs:sequence>
687
+ </xs:complexType>
688
+ <xs:complexType name="WebAuthenticationCredential">
689
+ <xs:annotation>
690
+ <xs:documentation>Two part authentication string used for the sender's identity</xs:documentation>
691
+ </xs:annotation>
692
+ <xs:sequence>
693
+ <xs:element name="Key" type="xs:string" minOccurs="1">
694
+ <xs:annotation>
695
+ <xs:documentation>Identifying part of authentication credential. This value is provided by FedEx after registration</xs:documentation>
696
+ </xs:annotation>
697
+ </xs:element>
698
+ <xs:element name="Password" type="xs:string" minOccurs="1">
699
+ <xs:annotation>
700
+ <xs:documentation>Secret part of authentication key. This value is provided by FedEx after registration.</xs:documentation>
701
+ </xs:annotation>
702
+ </xs:element>
703
+ </xs:sequence>
704
+ </xs:complexType>
705
+ <xs:complexType name="VersionId">
706
+ <xs:annotation>
707
+ <xs:documentation>Identifies the version/level of a service operation expected by a caller (in each request) and performed by the callee (in each reply).</xs:documentation>
708
+ </xs:annotation>
709
+ <xs:sequence>
710
+ <xs:element name="ServiceId" type="xs:string" fixed="gsai" minOccurs="1">
711
+ <xs:annotation>
712
+ <xs:documentation>Identifies a system or sub-system which performs an operation.</xs:documentation>
713
+ </xs:annotation>
714
+ </xs:element>
715
+ <xs:element name="Major" type="xs:int" fixed="1" minOccurs="1">
716
+ <xs:annotation>
717
+ <xs:documentation>Identifies the service business level.</xs:documentation>
718
+ </xs:annotation>
719
+ </xs:element>
720
+ <xs:element name="Intermediate" type="xs:int" fixed="0" minOccurs="1">
721
+ <xs:annotation>
722
+ <xs:documentation>Identifies the service interface level.</xs:documentation>
723
+ </xs:annotation>
724
+ </xs:element>
725
+ <xs:element name="Minor" type="xs:int" fixed="0" minOccurs="1">
726
+ <xs:annotation>
727
+ <xs:documentation>Identifies the service code level.</xs:documentation>
728
+ </xs:annotation>
729
+ </xs:element>
730
+ </xs:sequence>
731
+ </xs:complexType>
732
+ </xs:schema>
733
+ </types>
734
+ <message name="SearchLocationsRequest">
735
+ <part name="SearchLocationsRequest" element="ns:SearchLocationsRequest"/>
736
+ </message>
737
+ <message name="SearchLocationsReply">
738
+ <part name="SearchLocationsReply" element="ns:SearchLocationsReply"/>
739
+ </message>
740
+ <portType name="GlobalShipAddressPortType">
741
+ <operation name="searchLocations" parameterOrder="SearchLocationsRequest">
742
+ <input message="ns:SearchLocationsRequest"/>
743
+ <output message="ns:SearchLocationsReply"/>
744
+ </operation>
745
+ </portType>
746
+ <binding name="GlobalShipAddressServiceSoapBinding" type="ns:GlobalShipAddressPortType">
747
+ <s1:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
748
+ <operation name="searchLocations">
749
+ <s1:operation soapAction="searchLocations" style="document"/>
750
+ <input>
751
+ <s1:body use="literal"/>
752
+ </input>
753
+ <output>
754
+ <s1:body use="literal"/>
755
+ </output>
756
+ </operation>
757
+ </binding>
758
+ <service name="GlobalShipAddressService">
759
+ <port name="GlobalShipAddressServicePort" binding="ns:GlobalShipAddressServiceSoapBinding">
760
+ <s1:address location="https://ws.fedex.com:443/web-services/globalshipaddress"/>
761
+ </port>
762
+ </service>
763
+ </definitions>
fedex/wsdl/GlobalShipAddressService_v1.xsd ADDED
@@ -0,0 +1,764 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:ns="http://fedex.com/ws/gsai/v1" xmlns:s1="http://schemas.xmlsoap.org/wsdl/soap/" targetNamespace="http://fedex.com/ws/gsai/v1" name="GlobalShipAddressServiceDefinitions">
2
+ <types>
3
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://fedex.com/ws/gsai/v1">
4
+ <xs:element name="SearchLocationsReply" type="ns:SearchLocationsReply"/>
5
+ <xs:element name="SearchLocationsRequest" type="ns:SearchLocationsRequest"/>
6
+ <xs:complexType name="Address">
7
+ <xs:annotation>
8
+ <xs:documentation>Descriptive data for a physical location. May be used as an actual physical address (place to which one could go), or as a container of "address parts" which should be handled as a unit (such as a city-state-ZIP combination within the US).</xs:documentation>
9
+ </xs:annotation>
10
+ <xs:sequence>
11
+ <xs:element name="StreetLines" type="xs:string" minOccurs="0" maxOccurs="unbounded">
12
+ <xs:annotation>
13
+ <xs:documentation>Combination of number, street name, etc. At least one line is required for a valid physical address; empty lines should not be included.</xs:documentation>
14
+ </xs:annotation>
15
+ </xs:element>
16
+ <xs:element name="City" type="xs:string" minOccurs="0">
17
+ <xs:annotation>
18
+ <xs:documentation>Name of city, town, etc.</xs:documentation>
19
+ </xs:annotation>
20
+ </xs:element>
21
+ <xs:element name="StateOrProvinceCode" type="xs:string" minOccurs="0">
22
+ <xs:annotation>
23
+ <xs:documentation>Identifying abbreviation for US state, Canada province, etc. Format and presence of this field will vary, depending on country.</xs:documentation>
24
+ </xs:annotation>
25
+ </xs:element>
26
+ <xs:element name="PostalCode" type="xs:string" minOccurs="0">
27
+ <xs:annotation>
28
+ <xs:documentation>Identification of a region (usually small) for mail/package delivery. Format and presence of this field will vary, depending on country.</xs:documentation>
29
+ </xs:annotation>
30
+ </xs:element>
31
+ <xs:element name="UrbanizationCode" type="xs:string" minOccurs="0">
32
+ <xs:annotation>
33
+ <xs:documentation>Relevant only to addresses in Puerto Rico.</xs:documentation>
34
+ </xs:annotation>
35
+ </xs:element>
36
+ <xs:element name="CountryCode" type="xs:string" minOccurs="0">
37
+ <xs:annotation>
38
+ <xs:documentation>The two-letter code used to identify a country.</xs:documentation>
39
+ </xs:annotation>
40
+ </xs:element>
41
+ <xs:element name="Residential" type="xs:boolean" minOccurs="0">
42
+ <xs:annotation>
43
+ <xs:documentation>Indicates whether this address residential (as opposed to commercial).</xs:documentation>
44
+ </xs:annotation>
45
+ </xs:element>
46
+ </xs:sequence>
47
+ </xs:complexType>
48
+ <xs:complexType name="AddressAncillaryDetail">
49
+ <xs:annotation>
50
+ <xs:documentation>Additional information about a physical location, such as suite number, cross street, floor number in a building. These details are not typically a part of a standard address definition; however, these details might help locate the address.</xs:documentation>
51
+ </xs:annotation>
52
+ <xs:sequence>
53
+ <xs:element name="LocationInCity" type="xs:string" minOccurs="0"/>
54
+ <xs:element name="LocationInProperty" type="xs:string" minOccurs="0"/>
55
+ <xs:element name="RoomFloor" type="xs:string" minOccurs="0"/>
56
+ <xs:element name="Suite" type="xs:string" minOccurs="0"/>
57
+ <xs:element name="CrossStreet" type="xs:string" minOccurs="0"/>
58
+ </xs:sequence>
59
+ </xs:complexType>
60
+ <xs:complexType name="AddressToLocationRelationshipDetail">
61
+ <xs:annotation>
62
+ <xs:documentation>Specifies the relationship between the address specificed and the address of the FedEx Location in terms of distance.</xs:documentation>
63
+ </xs:annotation>
64
+ <xs:sequence>
65
+ <xs:element name="MatchedAddress" type="ns:Address" minOccurs="0">
66
+ <xs:annotation>
67
+ <xs:documentation>Address as provided in the request.</xs:documentation>
68
+ </xs:annotation>
69
+ </xs:element>
70
+ <xs:element name="DistanceAndLocationDetails" type="ns:DistanceAndLocationDetail" minOccurs="0" maxOccurs="unbounded">
71
+ <xs:annotation>
72
+ <xs:documentation>Specifies the distance between the matched address and the addresses of matched FedEx locations. Also specifies the details of the FedEx locations.</xs:documentation>
73
+ </xs:annotation>
74
+ </xs:element>
75
+ </xs:sequence>
76
+ </xs:complexType>
77
+ <xs:simpleType name="CarrierCodeType">
78
+ <xs:annotation>
79
+ <xs:documentation>Identification of a FedEx operating company (transportation).</xs:documentation>
80
+ </xs:annotation>
81
+ <xs:restriction base="xs:string">
82
+ <xs:enumeration value="FDXC"/>
83
+ <xs:enumeration value="FDXE"/>
84
+ <xs:enumeration value="FDXG"/>
85
+ <xs:enumeration value="FXCC"/>
86
+ <xs:enumeration value="FXFR"/>
87
+ <xs:enumeration value="FXSP"/>
88
+ </xs:restriction>
89
+ </xs:simpleType>
90
+ <xs:complexType name="CarrierDetail">
91
+ <xs:sequence>
92
+ <xs:element name="Carrier" type="ns:CarrierCodeType" minOccurs="0"/>
93
+ <xs:element name="NormalLatestDropOffDetails" type="ns:LatestDropOffDetail" minOccurs="0" maxOccurs="unbounded"/>
94
+ <xs:element name="ExceptionalLatestDropOffDetails" type="ns:LatestDropOffDetail" minOccurs="0" maxOccurs="unbounded"/>
95
+ <xs:element name="EffectiveLatestDropOffDetails" type="ns:LatestDropOffDetail" minOccurs="0"/>
96
+ <xs:element name="ShippingHolidays" type="ns:ShippingHoliday" minOccurs="0" maxOccurs="unbounded"/>
97
+ </xs:sequence>
98
+ </xs:complexType>
99
+ <xs:complexType name="ClientDetail">
100
+ <xs:annotation>
101
+ <xs:documentation>Descriptive data for the client submitting a transaction.</xs:documentation>
102
+ </xs:annotation>
103
+ <xs:sequence>
104
+ <xs:element name="AccountNumber" type="xs:string" minOccurs="1">
105
+ <xs:annotation>
106
+ <xs:documentation>The FedEx account number associated with this transaction.</xs:documentation>
107
+ </xs:annotation>
108
+ </xs:element>
109
+ <xs:element name="MeterNumber" type="xs:string" minOccurs="1">
110
+ <xs:annotation>
111
+ <xs:documentation>This number is assigned by FedEx and identifies the unique device from which the request is originating</xs:documentation>
112
+ </xs:annotation>
113
+ </xs:element>
114
+ <xs:element name="MeterInstance" type="xs:string" minOccurs="0"/>
115
+ <xs:element name="ClientProductId" type="xs:string" minOccurs="0">
116
+ <xs:annotation>
117
+ <xs:documentation>A FedEx assigned identifier for a third party software product used by customer to do business with FedEx. Such as a Compatible Solution Provider's product.</xs:documentation>
118
+ </xs:annotation>
119
+ </xs:element>
120
+ <xs:element name="ClientProductVersion" type="xs:string" minOccurs="0">
121
+ <xs:annotation>
122
+ <xs:documentation>The version of the third party product.</xs:documentation>
123
+ </xs:annotation>
124
+ </xs:element>
125
+ <xs:element name="IntegratorId" type="xs:string" minOccurs="0">
126
+ <xs:annotation>
127
+ <xs:documentation>Only used in transactions which require identification of the Fed Ex Office integrator.</xs:documentation>
128
+ </xs:annotation>
129
+ </xs:element>
130
+ <xs:element name="Region" type="ns:ExpressRegionCode" minOccurs="0">
131
+ <xs:annotation>
132
+ <xs:documentation>Indicates the region from which the transaction is submitted.</xs:documentation>
133
+ </xs:annotation>
134
+ </xs:element>
135
+ <xs:element name="Localization" type="ns:Localization" minOccurs="0">
136
+ <xs:annotation>
137
+ <xs:documentation>The language to be used for human-readable Notification.localizedMessages in responses to the request containing this ClientDetail object. Different requests from the same client may contain different Localization data. (Contrast with TransactionDetail.localization, which governs data payload language/translation.)</xs:documentation>
138
+ </xs:annotation>
139
+ </xs:element>
140
+ </xs:sequence>
141
+ </xs:complexType>
142
+ <xs:complexType name="Contact">
143
+ <xs:annotation>
144
+ <xs:documentation>The descriptive data for a point-of-contact person.</xs:documentation>
145
+ </xs:annotation>
146
+ <xs:sequence>
147
+ <xs:element name="ContactId" type="xs:string" minOccurs="0">
148
+ <xs:annotation>
149
+ <xs:documentation>Client provided identifier corresponding to this contact information.</xs:documentation>
150
+ </xs:annotation>
151
+ </xs:element>
152
+ <xs:element name="PersonName" type="xs:string" minOccurs="0">
153
+ <xs:annotation>
154
+ <xs:documentation>Identifies the contact person's name.</xs:documentation>
155
+ </xs:annotation>
156
+ </xs:element>
157
+ <xs:element name="Title" type="xs:string" minOccurs="0">
158
+ <xs:annotation>
159
+ <xs:documentation>Identifies the contact person's title.</xs:documentation>
160
+ </xs:annotation>
161
+ </xs:element>
162
+ <xs:element name="CompanyName" type="xs:string" minOccurs="0">
163
+ <xs:annotation>
164
+ <xs:documentation>Identifies the company this contact is associated with.</xs:documentation>
165
+ </xs:annotation>
166
+ </xs:element>
167
+ <xs:element name="PhoneNumber" type="xs:string" minOccurs="0">
168
+ <xs:annotation>
169
+ <xs:documentation>Identifies the phone number associated with this contact.</xs:documentation>
170
+ </xs:annotation>
171
+ </xs:element>
172
+ <xs:element name="PhoneExtension" type="xs:string" minOccurs="0">
173
+ <xs:annotation>
174
+ <xs:documentation>Identifies the phone extension associated with this contact.</xs:documentation>
175
+ </xs:annotation>
176
+ </xs:element>
177
+ <xs:element name="PagerNumber" type="xs:string" minOccurs="0">
178
+ <xs:annotation>
179
+ <xs:documentation>Identifies the pager number associated with this contact.</xs:documentation>
180
+ </xs:annotation>
181
+ </xs:element>
182
+ <xs:element name="FaxNumber" type="xs:string" minOccurs="0">
183
+ <xs:annotation>
184
+ <xs:documentation>Identifies the fax number associated with this contact.</xs:documentation>
185
+ </xs:annotation>
186
+ </xs:element>
187
+ <xs:element name="EMailAddress" type="xs:string" minOccurs="0">
188
+ <xs:annotation>
189
+ <xs:documentation>Identifies the email address associated with this contact.</xs:documentation>
190
+ </xs:annotation>
191
+ </xs:element>
192
+ </xs:sequence>
193
+ </xs:complexType>
194
+ <xs:simpleType name="DayOfWeekType">
195
+ <xs:restriction base="xs:string">
196
+ <xs:enumeration value="FRI"/>
197
+ <xs:enumeration value="MON"/>
198
+ <xs:enumeration value="SAT"/>
199
+ <xs:enumeration value="SUN"/>
200
+ <xs:enumeration value="THU"/>
201
+ <xs:enumeration value="TUE"/>
202
+ <xs:enumeration value="WED"/>
203
+ </xs:restriction>
204
+ </xs:simpleType>
205
+ <xs:complexType name="Distance">
206
+ <xs:annotation>
207
+ <xs:documentation>Driving or other transportation distances, distinct from dimension measurements.</xs:documentation>
208
+ </xs:annotation>
209
+ <xs:sequence>
210
+ <xs:element name="Value" type="xs:decimal" minOccurs="0">
211
+ <xs:annotation>
212
+ <xs:documentation>Identifies the distance quantity.</xs:documentation>
213
+ </xs:annotation>
214
+ </xs:element>
215
+ <xs:element name="Units" type="ns:DistanceUnits" minOccurs="0">
216
+ <xs:annotation>
217
+ <xs:documentation>Identifies the unit of measure for the distance value.</xs:documentation>
218
+ </xs:annotation>
219
+ </xs:element>
220
+ </xs:sequence>
221
+ </xs:complexType>
222
+ <xs:complexType name="DistanceAndLocationDetail">
223
+ <xs:annotation>
224
+ <xs:documentation>Specifies the distance between the address of a geographic location and the address of a FedEx location. Also specifies the location details about the Fedex location.</xs:documentation>
225
+ </xs:annotation>
226
+ <xs:sequence>
227
+ <xs:element name="Distance" type="ns:Distance" minOccurs="0">
228
+ <xs:annotation>
229
+ <xs:documentation>Distance between an address of a geographic location and an address of a FedEx location.</xs:documentation>
230
+ </xs:annotation>
231
+ </xs:element>
232
+ <xs:element name="LocationDetail" type="ns:LocationDetail" minOccurs="0">
233
+ <xs:annotation>
234
+ <xs:documentation>Details about a FedEx location such as services offered, working hours and pick and drop off times.</xs:documentation>
235
+ </xs:annotation>
236
+ </xs:element>
237
+ </xs:sequence>
238
+ </xs:complexType>
239
+ <xs:simpleType name="DistanceUnits">
240
+ <xs:restriction base="xs:string">
241
+ <xs:enumeration value="KM"/>
242
+ <xs:enumeration value="MI"/>
243
+ </xs:restriction>
244
+ </xs:simpleType>
245
+ <xs:simpleType name="ExpressRegionCode">
246
+ <xs:annotation>
247
+ <xs:documentation>Indicates a FedEx Express operating region.</xs:documentation>
248
+ </xs:annotation>
249
+ <xs:restriction base="xs:string">
250
+ <xs:enumeration value="APAC"/>
251
+ <xs:enumeration value="CA"/>
252
+ <xs:enumeration value="EMEA"/>
253
+ <xs:enumeration value="LAC"/>
254
+ <xs:enumeration value="US"/>
255
+ </xs:restriction>
256
+ </xs:simpleType>
257
+ <xs:simpleType name="FedExLocationType">
258
+ <xs:annotation>
259
+ <xs:documentation>Identifies a kind of FedEx facility.</xs:documentation>
260
+ </xs:annotation>
261
+ <xs:restriction base="xs:string">
262
+ <xs:enumeration value="FEDEX_AUTHORIZED_SHIP_CENTER"/>
263
+ <xs:enumeration value="FEDEX_EXPRESS_STATION"/>
264
+ <xs:enumeration value="FEDEX_FREIGHT_SERVICE_CENTER"/>
265
+ <xs:enumeration value="FEDEX_GROUND_TERMINAL"/>
266
+ <xs:enumeration value="FEDEX_HOME_DELIVERY_STATION"/>
267
+ <xs:enumeration value="FEDEX_OFFICE"/>
268
+ <xs:enumeration value="FEDEX_SELF_SERVICE_LOCATION"/>
269
+ <xs:enumeration value="FEDEX_SMART_POST_HUB"/>
270
+ </xs:restriction>
271
+ </xs:simpleType>
272
+ <xs:complexType name="Holiday">
273
+ <xs:sequence>
274
+ <xs:element name="Name" type="xs:string" minOccurs="0"/>
275
+ <xs:element name="Date" type="xs:date" minOccurs="0"/>
276
+ </xs:sequence>
277
+ </xs:complexType>
278
+ <xs:complexType name="LatestDropOffDetail">
279
+ <xs:annotation>
280
+ <xs:documentation>Specifies the latest time by which a package can be dropped off at a FedEx location.</xs:documentation>
281
+ </xs:annotation>
282
+ <xs:sequence>
283
+ <xs:element name="DayOfWeek" type="ns:DayOfWeekType" minOccurs="0"/>
284
+ <xs:element name="Time" type="xs:time" minOccurs="0"/>
285
+ <xs:element name="Overlays" type="ns:LatestDropoffOverlayDetail" minOccurs="0" maxOccurs="unbounded">
286
+ <xs:annotation>
287
+ <xs:documentation>Specifies the details about the time and reason to</xs:documentation>
288
+ </xs:annotation>
289
+ </xs:element>
290
+ </xs:sequence>
291
+ </xs:complexType>
292
+ <xs:simpleType name="LatestDropOffOverlayType">
293
+ <xs:annotation>
294
+ <xs:documentation>Specifies the reason for the overlay of the daily last drop off time for a carrier.</xs:documentation>
295
+ </xs:annotation>
296
+ <xs:restriction base="xs:string">
297
+ <xs:enumeration value="DOMESTIC_CANADIAN"/>
298
+ <xs:enumeration value="EAST_COAST"/>
299
+ <xs:enumeration value="FEDEX_GROUND"/>
300
+ <xs:enumeration value="WEST_COAST"/>
301
+ </xs:restriction>
302
+ </xs:simpleType>
303
+ <xs:complexType name="LatestDropoffOverlayDetail">
304
+ <xs:annotation>
305
+ <xs:documentation>Specifies the time and reason to overlay the last drop off time for a carrier at a FedEx location.</xs:documentation>
306
+ </xs:annotation>
307
+ <xs:sequence>
308
+ <xs:element name="Type" type="ns:LatestDropOffOverlayType" minOccurs="0"/>
309
+ <xs:element name="Time" type="xs:time" minOccurs="0"/>
310
+ </xs:sequence>
311
+ </xs:complexType>
312
+ <xs:complexType name="Localization">
313
+ <xs:annotation>
314
+ <xs:documentation>Identifies the representation of human-readable text.</xs:documentation>
315
+ </xs:annotation>
316
+ <xs:sequence>
317
+ <xs:element name="LanguageCode" type="xs:string" minOccurs="1">
318
+ <xs:annotation>
319
+ <xs:documentation>Two-letter code for language (e.g. EN, FR, etc.)</xs:documentation>
320
+ </xs:annotation>
321
+ </xs:element>
322
+ <xs:element name="LocaleCode" type="xs:string" minOccurs="0">
323
+ <xs:annotation>
324
+ <xs:documentation>Two-letter code for the region (e.g. us, ca, etc..).</xs:documentation>
325
+ </xs:annotation>
326
+ </xs:element>
327
+ </xs:sequence>
328
+ </xs:complexType>
329
+ <xs:simpleType name="LocationAttributesType">
330
+ <xs:restriction base="xs:string">
331
+ <xs:enumeration value="ACCEPTS_CASH"/>
332
+ <xs:enumeration value="ALREADY_OPEN"/>
333
+ <xs:enumeration value="COPY_AND_PRINT_SERVICES"/>
334
+ <xs:enumeration value="DANGEROUS_GOODS_SERVICES"/>
335
+ <xs:enumeration value="DIRECT_MAIL_SERVICES"/>
336
+ <xs:enumeration value="EXPRESS_FREIGHT_DROPOFFS"/>
337
+ <xs:enumeration value="EXPRESS_PARCEL_DROPOFFS"/>
338
+ <xs:enumeration value="FEDEX_FREIGHT_DROPOFFS"/>
339
+ <xs:enumeration value="GROUND_DROPOFFS"/>
340
+ <xs:enumeration value="GROUND_HOME_DELIVERY_DROPOFFS"/>
341
+ <xs:enumeration value="LOCATION_IS_IN_AIRPORT"/>
342
+ <xs:enumeration value="NOTARY_SERVICES"/>
343
+ <xs:enumeration value="OBSERVES_DAY_LIGHT_SAVING_TIMES"/>
344
+ <xs:enumeration value="OPEN_TWENTY_FOUR_HOURS"/>
345
+ <xs:enumeration value="PACKAGING_SUPPLIES"/>
346
+ <xs:enumeration value="PACK_AND_SHIP"/>
347
+ <xs:enumeration value="PASSPORT_PHOTO_SERVICES"/>
348
+ <xs:enumeration value="RETURNS_SERVICES"/>
349
+ <xs:enumeration value="SATURDAY_DROPOFFS"/>
350
+ <xs:enumeration value="SATURDAY_EXPRESS_HOLD_AT_LOCATION"/>
351
+ <xs:enumeration value="SIGNS_AND_BANNERS_SERVICE"/>
352
+ <xs:enumeration value="SONY_PICTURE_STATION"/>
353
+ <xs:enumeration value="VIDEO_CONFERENCING"/>
354
+ <xs:enumeration value="WEEKDAY_EXPRESS_HOLD_AT_LOCATION"/>
355
+ <xs:enumeration value="WEEKDAY_GROUND_HOLD_AT_LOCATION"/>
356
+ </xs:restriction>
357
+ </xs:simpleType>
358
+ <xs:complexType name="LocationContactAndAddress">
359
+ <xs:sequence>
360
+ <xs:element name="Contact" type="ns:Contact" minOccurs="0"/>
361
+ <xs:element name="Address" type="ns:Address" minOccurs="0"/>
362
+ <xs:element name="AddressAncillaryDetail" type="ns:AddressAncillaryDetail" minOccurs="0"/>
363
+ </xs:sequence>
364
+ </xs:complexType>
365
+ <xs:simpleType name="LocationContentOptionType">
366
+ <xs:restriction base="xs:string">
367
+ <xs:enumeration value="HOLIDAYS"/>
368
+ <xs:enumeration value="LOCATION_DROPOFF_TIMES"/>
369
+ <xs:enumeration value="MAP_URL"/>
370
+ </xs:restriction>
371
+ </xs:simpleType>
372
+ <xs:complexType name="LocationDetail">
373
+ <xs:annotation>
374
+ <xs:documentation>Describes an individual location providing a set of customer service features.</xs:documentation>
375
+ </xs:annotation>
376
+ <xs:sequence>
377
+ <xs:element name="LocationId" type="xs:string" minOccurs="0"/>
378
+ <xs:element name="StoreNumber" type="xs:int" minOccurs="0"/>
379
+ <xs:element name="LocationContactAndAddress" type="ns:LocationContactAndAddress" minOccurs="0"/>
380
+ <xs:element name="SpecialInstructions" type="xs:string" minOccurs="0"/>
381
+ <xs:element name="GeographicCoordinates" type="xs:string" minOccurs="0"/>
382
+ <xs:element name="LocationType" type="ns:FedExLocationType" minOccurs="0"/>
383
+ <xs:element name="Attributes" type="ns:LocationAttributesType" minOccurs="0" maxOccurs="unbounded"/>
384
+ <xs:element name="AcceptedCurrency" type="xs:string" minOccurs="0"/>
385
+ <xs:element name="LocationHolidays" type="ns:Holiday" minOccurs="0" maxOccurs="unbounded"/>
386
+ <xs:element name="MapUrl" type="xs:string" minOccurs="0"/>
387
+ <xs:element name="EntityId" type="xs:string" minOccurs="0"/>
388
+ <xs:element name="NormalHours" type="ns:LocationHours" minOccurs="0" maxOccurs="unbounded"/>
389
+ <xs:element name="ExceptionalHours" type="ns:LocationHours" minOccurs="0" maxOccurs="unbounded"/>
390
+ <xs:element name="HoursForEffectiveDate" type="ns:LocationHours" minOccurs="0" maxOccurs="unbounded"/>
391
+ <xs:element name="CarrierDetails" type="ns:CarrierDetail" minOccurs="0" maxOccurs="unbounded"/>
392
+ </xs:sequence>
393
+ </xs:complexType>
394
+ <xs:complexType name="LocationHours">
395
+ <xs:annotation>
396
+ <xs:documentation>Specifies the location hours for a location.</xs:documentation>
397
+ </xs:annotation>
398
+ <xs:sequence>
399
+ <xs:element name="DayofWeek" type="ns:DayOfWeekType" minOccurs="0"/>
400
+ <xs:element name="OperationalHours" type="ns:OperationalHoursType" minOccurs="0"/>
401
+ <xs:element name="Hours" type="ns:TimeRange" minOccurs="0" maxOccurs="unbounded"/>
402
+ </xs:sequence>
403
+ </xs:complexType>
404
+ <xs:simpleType name="LocationSearchFilterType">
405
+ <xs:annotation>
406
+ <xs:documentation>Specifies the crieteria used to filter the location search results.</xs:documentation>
407
+ </xs:annotation>
408
+ <xs:restriction base="xs:string">
409
+ <xs:enumeration value="EXCLUDE_LOCATIONS_OUTSIDE_STATE_OR_PROVINCE"/>
410
+ </xs:restriction>
411
+ </xs:simpleType>
412
+ <xs:simpleType name="LocationSortCriteriaType">
413
+ <xs:annotation>
414
+ <xs:documentation>Specifies the criterion to be used to sort the location details.</xs:documentation>
415
+ </xs:annotation>
416
+ <xs:restriction base="xs:string">
417
+ <xs:enumeration value="DISTANCE"/>
418
+ <xs:enumeration value="LATEST_EXPRESS_DROPOFF_TIME"/>
419
+ <xs:enumeration value="LATEST_GROUND_DROPOFF_TIME"/>
420
+ <xs:enumeration value="LOCATION_TYPE"/>
421
+ </xs:restriction>
422
+ </xs:simpleType>
423
+ <xs:complexType name="LocationSortDetail">
424
+ <xs:annotation>
425
+ <xs:documentation>Specifies the criterion and order to be used to sort the location details.</xs:documentation>
426
+ </xs:annotation>
427
+ <xs:sequence>
428
+ <xs:element name="Criterion" type="ns:LocationSortCriteriaType" minOccurs="0">
429
+ <xs:annotation>
430
+ <xs:documentation>Specifies the criterion to be used to sort the location details.</xs:documentation>
431
+ </xs:annotation>
432
+ </xs:element>
433
+ <xs:element name="Order" type="ns:LocationSortOrderType" minOccurs="0">
434
+ <xs:annotation>
435
+ <xs:documentation>Specifies sort order of the location details.</xs:documentation>
436
+ </xs:annotation>
437
+ </xs:element>
438
+ </xs:sequence>
439
+ </xs:complexType>
440
+ <xs:simpleType name="LocationSortOrderType">
441
+ <xs:annotation>
442
+ <xs:documentation>Specifies sort order of the location details.</xs:documentation>
443
+ </xs:annotation>
444
+ <xs:restriction base="xs:string">
445
+ <xs:enumeration value="HIGHEST_TO_LOWEST"/>
446
+ <xs:enumeration value="LOWEST_TO_HIGHEST"/>
447
+ </xs:restriction>
448
+ </xs:simpleType>
449
+ <xs:simpleType name="LocationsSearchCriteriaType">
450
+ <xs:annotation>
451
+ <xs:documentation>Specifies the criteria types that may be used to search for FedEx locations.</xs:documentation>
452
+ </xs:annotation>
453
+ <xs:restriction base="xs:string">
454
+ <xs:enumeration value="ADDRESS"/>
455
+ <xs:enumeration value="GEOGRAPHIC_COORDINATES"/>
456
+ <xs:enumeration value="PHONE_NUMBER"/>
457
+ </xs:restriction>
458
+ </xs:simpleType>
459
+ <xs:simpleType name="MultipleMatchesActionType">
460
+ <xs:restriction base="xs:string">
461
+ <xs:enumeration value="RETURN_ALL"/>
462
+ <xs:enumeration value="RETURN_ERROR"/>
463
+ <xs:enumeration value="RETURN_FIRST"/>
464
+ </xs:restriction>
465
+ </xs:simpleType>
466
+ <xs:complexType name="Notification">
467
+ <xs:annotation>
468
+ <xs:documentation>The descriptive data regarding the result of the submitted transaction.</xs:documentation>
469
+ </xs:annotation>
470
+ <xs:sequence>
471
+ <xs:element name="Severity" type="ns:NotificationSeverityType" minOccurs="0">
472
+ <xs:annotation>
473
+ <xs:documentation>The severity of this notification. This can indicate success or failure or some other information about the request. The values that can be returned are SUCCESS - Your transaction succeeded with no other applicable information. NOTE - Additional information that may be of interest to you about your transaction. WARNING - Additional information that you need to know about your transaction that you may need to take action on. ERROR - Information about an error that occurred while processing your transaction. FAILURE - FedEx was unable to process your transaction at this time due to a system failure. Please try again later</xs:documentation>
474
+ </xs:annotation>
475
+ </xs:element>
476
+ <xs:element name="Source" type="xs:string" minOccurs="0">
477
+ <xs:annotation>
478
+ <xs:documentation>Indicates the source of this notification. Combined with the Code it uniquely identifies this notification</xs:documentation>
479
+ </xs:annotation>
480
+ </xs:element>
481
+ <xs:element name="Code" type="xs:string" minOccurs="0">
482
+ <xs:annotation>
483
+ <xs:documentation>A code that represents this notification. Combined with the Source it uniquely identifies this notification.</xs:documentation>
484
+ </xs:annotation>
485
+ </xs:element>
486
+ <xs:element name="Message" type="xs:string" minOccurs="0">
487
+ <xs:annotation>
488
+ <xs:documentation>Human-readable text that explains this notification.</xs:documentation>
489
+ </xs:annotation>
490
+ </xs:element>
491
+ <xs:element name="LocalizedMessage" type="xs:string" minOccurs="0">
492
+ <xs:annotation>
493
+ <xs:documentation>The translated message. The language and locale specified in the ClientDetail. Localization are used to determine the representation. Currently only supported in a TrackReply.</xs:documentation>
494
+ </xs:annotation>
495
+ </xs:element>
496
+ <xs:element name="MessageParameters" type="ns:NotificationParameter" minOccurs="0" maxOccurs="unbounded">
497
+ <xs:annotation>
498
+ <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>
499
+ </xs:annotation>
500
+ </xs:element>
501
+ </xs:sequence>
502
+ </xs:complexType>
503
+ <xs:complexType name="NotificationParameter">
504
+ <xs:sequence>
505
+ <xs:element name="Id" type="xs:string" minOccurs="0">
506
+ <xs:annotation>
507
+ <xs:documentation>Identifies the type of data contained in Value (e.g. SERVICE_TYPE, PACKAGE_SEQUENCE, etc..).</xs:documentation>
508
+
509
+ </xs:annotation>
510
+ </xs:element>
511
+ <xs:element name="Value" type="xs:string" minOccurs="0">
512
+ <xs:annotation>
513
+ <xs:documentation>The value of the parameter (e.g. PRIORITY_OVERNIGHT, 2, etc..).</xs:documentation>
514
+ </xs:annotation>
515
+ </xs:element>
516
+ </xs:sequence>
517
+ </xs:complexType>
518
+ <xs:simpleType name="NotificationSeverityType">
519
+ <xs:restriction base="xs:string">
520
+ <xs:enumeration value="ERROR"/>
521
+ <xs:enumeration value="FAILURE"/>
522
+ <xs:enumeration value="NOTE"/>
523
+ <xs:enumeration value="SUCCESS"/>
524
+ <xs:enumeration value="WARNING"/>
525
+ </xs:restriction>
526
+ </xs:simpleType>
527
+ <xs:simpleType name="OperationalHoursType">
528
+ <xs:restriction base="xs:string">
529
+ <xs:enumeration value="CLOSED_ALL_DAY"/>
530
+ <xs:enumeration value="OPEN_ALL_DAY"/>
531
+ <xs:enumeration value="OPEN_BY_HOURS"/>
532
+ </xs:restriction>
533
+ </xs:simpleType>
534
+ <xs:complexType name="SearchLocationConstraints">
535
+ <xs:annotation>
536
+ <xs:documentation>Specifies additional constraints on the attributes of the locations being searched.</xs:documentation>
537
+ </xs:annotation>
538
+ <xs:sequence>
539
+ <xs:element name="RadiusDistance" type="ns:Distance" minOccurs="0">
540
+ <xs:annotation>
541
+ <xs:documentation>Specifies value and units of the radius around the address to search for FedEx locations.</xs:documentation>
542
+ </xs:annotation>
543
+ </xs:element>
544
+ <xs:element name="ExpressDropOffTimeNeeded" type="xs:time" minOccurs="0">
545
+ <xs:annotation>
546
+ <xs:documentation>The latest time at which the customer can drop off a package for being shipped using an express service.</xs:documentation>
547
+ </xs:annotation>
548
+ </xs:element>
549
+ <xs:element name="ResultsFilters" type="ns:LocationSearchFilterType" minOccurs="0" maxOccurs="unbounded">
550
+ <xs:annotation>
551
+ <xs:documentation>Specifies the criteria used to filter the results of locations search.</xs:documentation>
552
+ </xs:annotation>
553
+ </xs:element>
554
+ <xs:element name="SupportedRedirectToHoldServices" type="ns:SupportedRedirectToHoldServiceType" minOccurs="0" maxOccurs="unbounded">
555
+ <xs:annotation>
556
+ <xs:documentation>Specifies the types of services supported by a FedEx location for redirect to hold.</xs:documentation>
557
+ </xs:annotation>
558
+ </xs:element>
559
+ <xs:element name="RequiredLocationAttributes" type="ns:LocationAttributesType" minOccurs="0" maxOccurs="unbounded"/>
560
+ <xs:element name="ResultsToSkip" type="xs:nonNegativeInteger" minOccurs="0"/>
561
+ <xs:element name="ResultsRequested" type="xs:nonNegativeInteger" minOccurs="0"/>
562
+ <xs:element name="LocationContentOptions" type="ns:LocationContentOptionType" minOccurs="0" maxOccurs="unbounded"/>
563
+ <xs:element name="LocationTypesToInclude" type="ns:FedExLocationType" minOccurs="0" maxOccurs="unbounded"/>
564
+ </xs:sequence>
565
+ </xs:complexType>
566
+ <xs:complexType name="SearchLocationsReply">
567
+ <xs:sequence>
568
+ <xs:element name="HighestSeverity" type="ns:NotificationSeverityType" minOccurs="1"/>
569
+ <xs:element name="Notifications" type="ns:Notification" minOccurs="1" maxOccurs="unbounded"/>
570
+ <xs:element name="TransactionDetail" type="ns:TransactionDetail" minOccurs="0"/>
571
+ <xs:element name="Version" type="ns:VersionId" minOccurs="1"/>
572
+ <xs:element name="TotalResultsAvailable" type="xs:nonNegativeInteger" minOccurs="0">
573
+ <xs:annotation>
574
+ <xs:documentation>Specifies total number of location results that are available.</xs:documentation>
575
+ </xs:annotation>
576
+ </xs:element>
577
+ <xs:element name="ResultsReturned" type="xs:nonNegativeInteger" minOccurs="0">
578
+ <xs:annotation>
579
+ <xs:documentation>Specifies the number of location results returned in this reply.</xs:documentation>
580
+ </xs:annotation>
581
+ </xs:element>
582
+ <xs:element name="FormattedAddress" type="ns:Address" minOccurs="0">
583
+ <xs:annotation>
584
+ <xs:documentation>Specifies the address formatted to have correct postal code per USPS standards.</xs:documentation>
585
+ </xs:annotation>
586
+ </xs:element>
587
+ <xs:element name="AddressToLocationRelationships" type="ns:AddressToLocationRelationshipDetail" minOccurs="0" maxOccurs="unbounded">
588
+ <xs:annotation>
589
+ <xs:documentation>The details about the relationship between the address requested and the locations returned.</xs:documentation>
590
+ </xs:annotation>
591
+ </xs:element>
592
+ </xs:sequence>
593
+ </xs:complexType>
594
+ <xs:complexType name="SearchLocationsRequest">
595
+ <xs:sequence>
596
+ <xs:element name="WebAuthenticationDetail" type="ns:WebAuthenticationDetail" minOccurs="1">
597
+ <xs:annotation>
598
+ <xs:documentation>Descriptive data to be used in authentication of the sender's identity (and right to use FedEx web services).</xs:documentation>
599
+ </xs:annotation>
600
+ </xs:element>
601
+ <xs:element name="ClientDetail" type="ns:ClientDetail" minOccurs="1"/>
602
+ <xs:element name="TransactionDetail" type="ns:TransactionDetail" minOccurs="0"/>
603
+ <xs:element name="Version" type="ns:VersionId" minOccurs="1"/>
604
+ <xs:element name="EffectiveDate" type="xs:date" minOccurs="0"/>
605
+ <xs:element name="LocationsSearchCriterion" type="ns:LocationsSearchCriteriaType" minOccurs="0">
606
+ <xs:annotation>
607
+ <xs:documentation>Specifies the criterion that may be used to search for FedEx locations.</xs:documentation>
608
+ </xs:annotation>
609
+ </xs:element>
610
+ <xs:element name="Address" type="ns:Address" minOccurs="0"/>
611
+ <xs:element name="PhoneNumber" type="xs:string" minOccurs="0"/>
612
+ <xs:element name="GeographicCoordinates" type="xs:string" minOccurs="0"/>
613
+ <xs:element name="MultipleMatchesAction" type="ns:MultipleMatchesActionType" minOccurs="0">
614
+ <xs:annotation>
615
+ <xs:documentation>Specifies the criterion to be used to return location results when there are mutiple matches.</xs:documentation>
616
+ </xs:annotation>
617
+ </xs:element>
618
+ <xs:element name="SortDetail" type="ns:LocationSortDetail" minOccurs="0">
619
+ <xs:annotation>
620
+ <xs:documentation>Specifies the details on how the location search results be sorted in the reply.</xs:documentation>
621
+ </xs:annotation>
622
+ </xs:element>
623
+ <xs:element name="Constraints" type="ns:SearchLocationConstraints" minOccurs="0">
624
+ <xs:annotation>
625
+ <xs:documentation>Contraints to be applied to location attributes.</xs:documentation>
626
+ </xs:annotation>
627
+ </xs:element>
628
+ </xs:sequence>
629
+ </xs:complexType>
630
+ <xs:simpleType name="ShippingActionType">
631
+ <xs:restriction base="xs:string">
632
+ <xs:enumeration value="DELIVERIES"/>
633
+ <xs:enumeration value="PICKUPS"/>
634
+ </xs:restriction>
635
+ </xs:simpleType>
636
+ <xs:complexType name="ShippingHoliday">
637
+ <xs:sequence>
638
+ <xs:element name="Holiday" type="ns:Holiday" minOccurs="0"/>
639
+ <xs:element name="UnavailableActions" type="ns:ShippingActionType" minOccurs="0" maxOccurs="unbounded"/>
640
+ </xs:sequence>
641
+ </xs:complexType>
642
+ <xs:simpleType name="SupportedRedirectToHoldServiceType">
643
+ <xs:annotation>
644
+ <xs:documentation>Specifies the types of services supported by a FedEx location for redirect to hold.</xs:documentation>
645
+ </xs:annotation>
646
+ <xs:restriction base="xs:string">
647
+ <xs:enumeration value="FEDEX_EXPRESS"/>
648
+ <xs:enumeration value="FEDEX_GROUND"/>
649
+ <xs:enumeration value="FEDEX_GROUND_HOME_DELIVERY"/>
650
+ </xs:restriction>
651
+ </xs:simpleType>
652
+ <xs:complexType name="TimeRange">
653
+ <xs:sequence>
654
+ <xs:element name="Begins" type="xs:time" minOccurs="0"/>
655
+ <xs:element name="Ends" type="xs:time" minOccurs="0"/>
656
+ </xs:sequence>
657
+ </xs:complexType>
658
+ <xs:complexType name="TransactionDetail">
659
+ <xs:sequence>
660
+ <xs:element name="CustomerTransactionId" type="xs:string" minOccurs="0">
661
+ <xs:annotation>
662
+ <xs:documentation>Free form text to be echoed back in the reply. Used to match requests and replies.</xs:documentation>
663
+ </xs:annotation>
664
+ </xs:element>
665
+ <xs:element name="Localization" type="ns:Localization" minOccurs="0">
666
+ <xs:annotation>
667
+ <xs:documentation>Governs data payload language/translations (contrasted with ClientDetail.localization, which governs Notification.localizedMessage language selection).</xs:documentation>
668
+ </xs:annotation>
669
+ </xs:element>
670
+ </xs:sequence>
671
+ </xs:complexType>
672
+ <xs:complexType name="WebAuthenticationDetail">
673
+ <xs:annotation>
674
+ <xs:documentation>Used in authentication of the sender's identity.</xs:documentation>
675
+ </xs:annotation>
676
+ <xs:sequence>
677
+ <xs:element name="CspCredential" type="ns:WebAuthenticationCredential" minOccurs="1">
678
+ <xs:annotation>
679
+ <xs:documentation>Credential used to authenticate a CSP product/version.</xs:documentation>
680
+ </xs:annotation>
681
+ </xs:element>
682
+ <xs:element name="UserCredential" type="ns:WebAuthenticationCredential" minOccurs="1">
683
+ <xs:annotation>
684
+ <xs:documentation>Credential used to authenticate a specific software application. This value is provided by FedEx after registration.</xs:documentation>
685
+ </xs:annotation>
686
+ </xs:element>
687
+ </xs:sequence>
688
+ </xs:complexType>
689
+ <xs:complexType name="WebAuthenticationCredential">
690
+ <xs:annotation>
691
+ <xs:documentation>Two part authentication string used for the sender's identity</xs:documentation>
692
+ </xs:annotation>
693
+ <xs:sequence>
694
+ <xs:element name="Key" type="xs:string" minOccurs="1">
695
+ <xs:annotation>
696
+ <xs:documentation>Identifying part of authentication credential. This value is provided by FedEx after registration</xs:documentation>
697
+ </xs:annotation>
698
+ </xs:element>
699
+ <xs:element name="Password" type="xs:string" minOccurs="1">
700
+ <xs:annotation>
701
+ <xs:documentation>Secret part of authentication key. This value is provided by FedEx after registration.</xs:documentation>
702
+ </xs:annotation>
703
+ </xs:element>
704
+ </xs:sequence>
705
+ </xs:complexType>
706
+ <xs:complexType name="VersionId">
707
+ <xs:annotation>
708
+ <xs:documentation>Identifies the version/level of a service operation expected by a caller (in each request) and performed by the callee (in each reply).</xs:documentation>
709
+ </xs:annotation>
710
+ <xs:sequence>
711
+ <xs:element name="ServiceId" type="xs:string" fixed="gsai" minOccurs="1">
712
+ <xs:annotation>
713
+ <xs:documentation>Identifies a system or sub-system which performs an operation.</xs:documentation>
714
+ </xs:annotation>
715
+ </xs:element>
716
+ <xs:element name="Major" type="xs:int" fixed="1" minOccurs="1">
717
+ <xs:annotation>
718
+ <xs:documentation>Identifies the service business level.</xs:documentation>
719
+ </xs:annotation>
720
+ </xs:element>
721
+ <xs:element name="Intermediate" type="xs:int" fixed="0" minOccurs="1">
722
+ <xs:annotation>
723
+ <xs:documentation>Identifies the service interface level.</xs:documentation>
724
+ </xs:annotation>
725
+ </xs:element>
726
+ <xs:element name="Minor" type="xs:int" fixed="0" minOccurs="1">
727
+ <xs:annotation>
728
+ <xs:documentation>Identifies the service code level.</xs:documentation>
729
+ </xs:annotation>
730
+ </xs:element>
731
+ </xs:sequence>
732
+ </xs:complexType>
733
+ </xs:schema>
734
+ </types>
735
+ <message name="SearchLocationsRequest">
736
+ <part name="SearchLocationsRequest" element="ns:SearchLocationsRequest"/>
737
+ </message>
738
+ <message name="SearchLocationsReply">
739
+ <part name="SearchLocationsReply" element="ns:SearchLocationsReply"/>
740
+ </message>
741
+ <portType name="GlobalShipAddressPortType">
742
+ <operation name="searchLocations" parameterOrder="SearchLocationsRequest">
743
+ <input message="ns:SearchLocationsRequest"/>
744
+ <output message="ns:SearchLocationsReply"/>
745
+ </operation>
746
+ </portType>
747
+ <binding name="GlobalShipAddressServiceSoapBinding" type="ns:GlobalShipAddressPortType">
748
+ <s1:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
749
+ <operation name="searchLocations">
750
+ <s1:operation soapAction="searchLocations" style="document"/>
751
+ <input>
752
+ <s1:body use="literal"/>
753
+ </input>
754
+ <output>
755
+ <s1:body use="literal"/>
756
+ </output>
757
+ </operation>
758
+ </binding>
759
+ <service name="GlobalShipAddressService">
760
+ <port name="GlobalShipAddressServicePort" binding="ns:GlobalShipAddressServiceSoapBinding">
761
+ <s1:address location="https://ws.fedex.com:443/web-services/globalshipaddress"/>
762
+ </port>
763
+ </service>
764
+ </definitions>
fedex/wsdl/GlobalShipAddressService_v1_old.wsdl ADDED
@@ -0,0 +1,719 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:ns="http://fedex.com/ws/locator/v1" xmlns:s1="http://schemas.xmlsoap.org/wsdl/soap/" targetNamespace="http://fedex.com/ws/locator/v1" name="DropoffLocatorServiceDefinitions">
3
+
4
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:ns="http://fedex.com/ws/gsai/v1" xmlns:s1="http://schemas.xmlsoap.org/wsdl/soap/" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://fedex.com/ws/gsai/v1">
5
+ <xs:element name="SearchLocationsReply" type="ns:SearchLocationsReply"/>
6
+ <xs:element name="SearchLocationsRequest" type="ns:SearchLocationsRequest"/>
7
+ <xs:complexType name="Address">
8
+ <xs:annotation>
9
+ <xs:documentation>Descriptive data for a physical location. May be used as an actual physical address (place to which one could go), or as a container of "address parts" which should be handled as a unit (such as a city-state-ZIP combination within the US).</xs:documentation>
10
+ </xs:annotation>
11
+ <xs:sequence>
12
+ <xs:element name="StreetLines" type="xs:string" minOccurs="0" maxOccurs="unbounded">
13
+ <xs:annotation>
14
+ <xs:documentation>Combination of number, street name, etc. At least one line is required for a valid physical address; empty lines should not be included.</xs:documentation>
15
+ </xs:annotation>
16
+ </xs:element>
17
+ <xs:element name="City" type="xs:string" minOccurs="0">
18
+ <xs:annotation>
19
+ <xs:documentation>Name of city, town, etc.</xs:documentation>
20
+ </xs:annotation>
21
+ </xs:element>
22
+ <xs:element name="StateOrProvinceCode" type="xs:string" minOccurs="0">
23
+ <xs:annotation>
24
+ <xs:documentation>Identifying abbreviation for US state, Canada province, etc. Format and presence of this field will vary, depending on country.</xs:documentation>
25
+ </xs:annotation>
26
+ </xs:element>
27
+ <xs:element name="PostalCode" type="xs:string" minOccurs="0">
28
+ <xs:annotation>
29
+ <xs:documentation>Identification of a region (usually small) for mail/package delivery. Format and presence of this field will vary, depending on country.</xs:documentation>
30
+ </xs:annotation>
31
+ </xs:element>
32
+ <xs:element name="UrbanizationCode" type="xs:string" minOccurs="0">
33
+ <xs:annotation>
34
+ <xs:documentation>Relevant only to addresses in Puerto Rico.</xs:documentation>
35
+ </xs:annotation>
36
+ </xs:element>
37
+ <xs:element name="CountryCode" type="xs:string" minOccurs="0">
38
+ <xs:annotation>
39
+ <xs:documentation>The two-letter code used to identify a country.</xs:documentation>
40
+ </xs:annotation>
41
+ </xs:element>
42
+ <xs:element name="Residential" type="xs:boolean" minOccurs="0">
43
+ <xs:annotation>
44
+ <xs:documentation>Indicates whether this address residential (as opposed to commercial).</xs:documentation>
45
+ </xs:annotation>
46
+ </xs:element>
47
+ </xs:sequence>
48
+ </xs:complexType>
49
+ <xs:complexType name="AddressAncillaryDetail">
50
+ <xs:annotation>
51
+ <xs:documentation>Additional information about a physical location, such as suite number, cross street, floor number in a building. These details are not typically a part of a standard address definition; however, these details might help locate the address.</xs:documentation>
52
+ </xs:annotation>
53
+ <xs:sequence>
54
+ <xs:element name="LocationInCity" type="xs:string" minOccurs="0"/>
55
+ <xs:element name="LocationInProperty" type="xs:string" minOccurs="0"/>
56
+ <xs:element name="RoomFloor" type="xs:string" minOccurs="0"/>
57
+ <xs:element name="Suite" type="xs:string" minOccurs="0"/>
58
+ <xs:element name="CrossStreet" type="xs:string" minOccurs="0"/>
59
+ </xs:sequence>
60
+ </xs:complexType>
61
+ <xs:complexType name="AddressToLocationRelationshipDetail">
62
+ <xs:annotation>
63
+ <xs:documentation>Specifies the relationship between the address specificed and the address of the FedEx Location in terms of distance.</xs:documentation>
64
+ </xs:annotation>
65
+ <xs:sequence>
66
+ <xs:element name="MatchedAddress" type="ns:Address" minOccurs="0">
67
+ <xs:annotation>
68
+ <xs:documentation>Address as provided in the request.</xs:documentation>
69
+ </xs:annotation>
70
+ </xs:element>
71
+ <xs:element name="DistanceAndLocationDetails" type="ns:DistanceAndLocationDetail" minOccurs="0" maxOccurs="unbounded">
72
+ <xs:annotation>
73
+ <xs:documentation>Specifies the distance between the matched address and the addresses of matched FedEx locations. Also specifies the details of the FedEx locations.</xs:documentation>
74
+ </xs:annotation>
75
+ </xs:element>
76
+ </xs:sequence>
77
+ </xs:complexType>
78
+ <xs:simpleType name="CarrierCodeType">
79
+ <xs:annotation>
80
+ <xs:documentation>Identification of a FedEx operating company (transportation).</xs:documentation>
81
+ </xs:annotation>
82
+ <xs:restriction base="xs:string">
83
+ <xs:enumeration value="FDXC"/>
84
+ <xs:enumeration value="FDXE"/>
85
+ <xs:enumeration value="FDXG"/>
86
+ <xs:enumeration value="FXCC"/>
87
+ <xs:enumeration value="FXFR"/>
88
+ <xs:enumeration value="FXSP"/>
89
+ </xs:restriction>
90
+ </xs:simpleType>
91
+ <xs:complexType name="CarrierDetail">
92
+ <xs:sequence>
93
+ <xs:element name="Carrier" type="ns:CarrierCodeType" minOccurs="0"/>
94
+ <xs:element name="NormalLatestDropOffDetails" type="ns:LatestDropOffDetail" minOccurs="0" maxOccurs="unbounded"/>
95
+ <xs:element name="ExceptionalLatestDropOffDetails" type="ns:LatestDropOffDetail" minOccurs="0" maxOccurs="unbounded"/>
96
+ <xs:element name="EffectiveLatestDropOffDetails" type="ns:LatestDropOffDetail" minOccurs="0"/>
97
+ <xs:element name="ShippingHolidays" type="ns:ShippingHoliday" minOccurs="0" maxOccurs="unbounded"/>
98
+ </xs:sequence>
99
+ </xs:complexType>
100
+ <xs:complexType name="ClientDetail">
101
+ <xs:annotation>
102
+ <xs:documentation>Descriptive data for the client submitting a transaction.</xs:documentation>
103
+ </xs:annotation>
104
+ <xs:sequence>
105
+ <xs:element name="AccountNumber" type="xs:string" minOccurs="1">
106
+ <xs:annotation>
107
+ <xs:documentation>The FedEx account number associated with this transaction.</xs:documentation>
108
+ </xs:annotation>
109
+ </xs:element>
110
+ <xs:element name="MeterNumber" type="xs:string" minOccurs="1">
111
+ <xs:annotation>
112
+ <xs:documentation>This number is assigned by FedEx and identifies the unique device from which the request is originating</xs:documentation>
113
+ </xs:annotation>
114
+ </xs:element>
115
+ <xs:element name="MeterInstance" type="xs:string" minOccurs="0"/>
116
+ <xs:element name="IntegratorId" type="xs:string" minOccurs="0">
117
+ <xs:annotation>
118
+ <xs:documentation>Only used in transactions which require identification of the Fed Ex Office integrator.</xs:documentation>
119
+ </xs:annotation>
120
+ </xs:element>
121
+ <xs:element name="Region" type="ns:ExpressRegionCode" minOccurs="0">
122
+ <xs:annotation>
123
+ <xs:documentation>Indicates the region from which the transaction is submitted.</xs:documentation>
124
+ </xs:annotation>
125
+ </xs:element>
126
+ <xs:element name="Localization" type="ns:Localization" minOccurs="0">
127
+ <xs:annotation>
128
+ <xs:documentation>The language to be used for human-readable Notification.localizedMessages in responses to the request containing this ClientDetail object. Different requests from the same client may contain different Localization data. (Contrast with TransactionDetail.localization, which governs data payload language/translation.)</xs:documentation>
129
+ </xs:annotation>
130
+ </xs:element>
131
+ </xs:sequence>
132
+ </xs:complexType>
133
+ <xs:complexType name="Contact">
134
+ <xs:annotation>
135
+ <xs:documentation>The descriptive data for a point-of-contact person.</xs:documentation>
136
+ </xs:annotation>
137
+ <xs:sequence>
138
+ <xs:element name="ContactId" type="xs:string" minOccurs="0">
139
+ <xs:annotation>
140
+ <xs:documentation>Client provided identifier corresponding to this contact information.</xs:documentation>
141
+ </xs:annotation>
142
+ </xs:element>
143
+ <xs:element name="PersonName" type="xs:string" minOccurs="0">
144
+ <xs:annotation>
145
+ <xs:documentation>Identifies the contact person's name.</xs:documentation>
146
+ </xs:annotation>
147
+ </xs:element>
148
+ <xs:element name="Title" type="xs:string" minOccurs="0">
149
+ <xs:annotation>
150
+ <xs:documentation>Identifies the contact person's title.</xs:documentation>
151
+ </xs:annotation>
152
+ </xs:element>
153
+ <xs:element name="CompanyName" type="xs:string" minOccurs="0">
154
+ <xs:annotation>
155
+ <xs:documentation>Identifies the company this contact is associated with.</xs:documentation>
156
+ </xs:annotation>
157
+ </xs:element>
158
+ <xs:element name="PhoneNumber" type="xs:string" minOccurs="0">
159
+ <xs:annotation>
160
+ <xs:documentation>Identifies the phone number associated with this contact.</xs:documentation>
161
+ </xs:annotation>
162
+ </xs:element>
163
+ <xs:element name="PhoneExtension" type="xs:string" minOccurs="0">
164
+ <xs:annotation>
165
+ <xs:documentation>Identifies the phone extension associated with this contact.</xs:documentation>
166
+ </xs:annotation>
167
+ </xs:element>
168
+ <xs:element name="PagerNumber" type="xs:string" minOccurs="0">
169
+ <xs:annotation>
170
+ <xs:documentation>Identifies the pager number associated with this contact.</xs:documentation>
171
+ </xs:annotation>
172
+ </xs:element>
173
+ <xs:element name="FaxNumber" type="xs:string" minOccurs="0">
174
+ <xs:annotation>
175
+ <xs:documentation>Identifies the fax number associated with this contact.</xs:documentation>
176
+ </xs:annotation>
177
+ </xs:element>
178
+ <xs:element name="EMailAddress" type="xs:string" minOccurs="0">
179
+ <xs:annotation>
180
+ <xs:documentation>Identifies the email address associated with this contact.</xs:documentation>
181
+ </xs:annotation>
182
+ </xs:element>
183
+ </xs:sequence>
184
+ </xs:complexType>
185
+ <xs:simpleType name="DayOfWeekType">
186
+ <xs:restriction base="xs:string">
187
+ <xs:enumeration value="FRI"/>
188
+ <xs:enumeration value="MON"/>
189
+ <xs:enumeration value="SAT"/>
190
+ <xs:enumeration value="SUN"/>
191
+ <xs:enumeration value="THU"/>
192
+ <xs:enumeration value="TUE"/>
193
+ <xs:enumeration value="WED"/>
194
+ </xs:restriction>
195
+ </xs:simpleType>
196
+ <xs:complexType name="Distance">
197
+ <xs:annotation>
198
+ <xs:documentation>Driving or other transportation distances, distinct from dimension measurements.</xs:documentation>
199
+ </xs:annotation>
200
+ <xs:sequence>
201
+ <xs:element name="Value" type="xs:decimal" minOccurs="0">
202
+ <xs:annotation>
203
+ <xs:documentation>Identifies the distance quantity.</xs:documentation>
204
+ </xs:annotation>
205
+ </xs:element>
206
+ <xs:element name="Units" type="ns:DistanceUnits" minOccurs="0">
207
+ <xs:annotation>
208
+ <xs:documentation>Identifies the unit of measure for the distance value.</xs:documentation>
209
+ </xs:annotation>
210
+ </xs:element>
211
+ </xs:sequence>
212
+ </xs:complexType>
213
+ <xs:complexType name="DistanceAndLocationDetail">
214
+ <xs:annotation>
215
+ <xs:documentation>Specifies the distance between the address of a geographic location and the address of a FedEx location. Also specifies the location details about the Fedex location.</xs:documentation>
216
+ </xs:annotation>
217
+ <xs:sequence>
218
+ <xs:element name="Distance" type="ns:Distance" minOccurs="0">
219
+ <xs:annotation>
220
+ <xs:documentation>Distance between an address of a geographic location and an address of a FedEx location.</xs:documentation>
221
+ </xs:annotation>
222
+ </xs:element>
223
+ <xs:element name="LocationDetail" type="ns:LocationDetail" minOccurs="0">
224
+ <xs:annotation>
225
+ <xs:documentation>Details about a FedEx location such as services offered, working hours and pick and drop off times.</xs:documentation>
226
+ </xs:annotation>
227
+ </xs:element>
228
+ </xs:sequence>
229
+ </xs:complexType>
230
+ <xs:simpleType name="DistanceUnits">
231
+ <xs:restriction base="xs:string">
232
+ <xs:enumeration value="KM"/>
233
+ <xs:enumeration value="MI"/>
234
+ </xs:restriction>
235
+ </xs:simpleType>
236
+ <xs:simpleType name="ExpressRegionCode">
237
+ <xs:annotation>
238
+ <xs:documentation>Indicates a FedEx Express operating region.</xs:documentation>
239
+ </xs:annotation>
240
+ <xs:restriction base="xs:string">
241
+ <xs:enumeration value="APAC"/>
242
+ <xs:enumeration value="CA"/>
243
+ <xs:enumeration value="EMEA"/>
244
+ <xs:enumeration value="LAC"/>
245
+ <xs:enumeration value="US"/>
246
+ </xs:restriction>
247
+ </xs:simpleType>
248
+ <xs:simpleType name="FedExLocationType">
249
+ <xs:annotation>
250
+ <xs:documentation>Identifies a kind of FedEx facility.</xs:documentation>
251
+ </xs:annotation>
252
+ <xs:restriction base="xs:string">
253
+ <xs:enumeration value="FEDEX_AUTHORIZED_SHIP_CENTER"/>
254
+ <xs:enumeration value="FEDEX_EXPRESS_STATION"/>
255
+ <xs:enumeration value="FEDEX_FREIGHT_SERVICE_CENTER"/>
256
+ <xs:enumeration value="FEDEX_GROUND_TERMINAL"/>
257
+ <xs:enumeration value="FEDEX_HOME_DELIVERY_STATION"/>
258
+ <xs:enumeration value="FEDEX_OFFICE"/>
259
+ <xs:enumeration value="FEDEX_SELF_SERVICE_LOCATION"/>
260
+ <xs:enumeration value="FEDEX_SMART_POST_HUB"/>
261
+ </xs:restriction>
262
+ </xs:simpleType>
263
+ <xs:complexType name="Holiday">
264
+ <xs:sequence>
265
+ <xs:element name="Name" type="xs:string" minOccurs="0"/>
266
+ <xs:element name="Date" type="xs:date" minOccurs="0"/>
267
+ </xs:sequence>
268
+ </xs:complexType>
269
+ <xs:complexType name="LatestDropOffDetail">
270
+ <xs:annotation>
271
+ <xs:documentation>Specifies the latest time by which a package can be dropped off at a FedEx location.</xs:documentation>
272
+ </xs:annotation>
273
+ <xs:sequence>
274
+ <xs:element name="DayOfWeek" type="ns:DayOfWeekType" minOccurs="0"/>
275
+ <xs:element name="Time" type="xs:time" minOccurs="0"/>
276
+ <xs:element name="Overlays" type="ns:LatestDropoffOverlayDetail" minOccurs="0" maxOccurs="unbounded">
277
+ <xs:annotation>
278
+ <xs:documentation>Specifies the details about the time and reason to</xs:documentation>
279
+ </xs:annotation>
280
+ </xs:element>
281
+ </xs:sequence>
282
+ </xs:complexType>
283
+ <xs:simpleType name="LatestDropOffOverlayType">
284
+ <xs:annotation>
285
+ <xs:documentation>Specifies the reason for the overlay of the daily last drop off time for a carrier.</xs:documentation>
286
+ </xs:annotation>
287
+ <xs:restriction base="xs:string">
288
+ <xs:enumeration value="DOMESTIC_CANADIAN"/>
289
+ <xs:enumeration value="EAST_COAST"/>
290
+ <xs:enumeration value="FEDEX_GROUND"/>
291
+ <xs:enumeration value="WEST_COAST"/>
292
+ </xs:restriction>
293
+ </xs:simpleType>
294
+ <xs:complexType name="LatestDropoffOverlayDetail">
295
+ <xs:annotation>
296
+ <xs:documentation>Specifies the time and reason to overlay the last drop off time for a carrier at a FedEx location.</xs:documentation>
297
+ </xs:annotation>
298
+ <xs:sequence>
299
+ <xs:element name="Type" type="ns:LatestDropOffOverlayType" minOccurs="0"/>
300
+ <xs:element name="Time" type="xs:time" minOccurs="0"/>
301
+ </xs:sequence>
302
+ </xs:complexType>
303
+ <xs:complexType name="Localization">
304
+ <xs:annotation>
305
+ <xs:documentation>Identifies the representation of human-readable text.</xs:documentation>
306
+ </xs:annotation>
307
+ <xs:sequence>
308
+ <xs:element name="LanguageCode" type="xs:string" minOccurs="1">
309
+ <xs:annotation>
310
+ <xs:documentation>Two-letter code for language (e.g. EN, FR, etc.)</xs:documentation>
311
+ </xs:annotation>
312
+ </xs:element>
313
+ <xs:element name="LocaleCode" type="xs:string" minOccurs="0">
314
+ <xs:annotation>
315
+ <xs:documentation>Two-letter code for the region (e.g. us, ca, etc..).</xs:documentation>
316
+ </xs:annotation>
317
+ </xs:element>
318
+ </xs:sequence>
319
+ </xs:complexType>
320
+ <xs:simpleType name="LocationAttributesType">
321
+ <xs:restriction base="xs:string">
322
+ <xs:enumeration value="ACCEPTS_CASH"/>
323
+ <xs:enumeration value="ALREADY_OPEN"/>
324
+ <xs:enumeration value="COPY_AND_PRINT_SERVICES"/>
325
+ <xs:enumeration value="DANGEROUS_GOODS_SERVICES"/>
326
+ <xs:enumeration value="DIRECT_MAIL_SERVICES"/>
327
+ <xs:enumeration value="EXPRESS_FREIGHT_DROPOFFS"/>
328
+ <xs:enumeration value="EXPRESS_PARCEL_DROPOFFS"/>
329
+ <xs:enumeration value="FEDEX_FREIGHT_DROPOFFS"/>
330
+ <xs:enumeration value="GROUND_DROPOFFS"/>
331
+ <xs:enumeration value="GROUND_HOME_DELIVERY_DROPOFFS"/>
332
+ <xs:enumeration value="LOCATION_IS_IN_AIRPORT"/>
333
+ <xs:enumeration value="NOTARY_SERVICES"/>
334
+ <xs:enumeration value="OBSERVES_DAY_LIGHT_SAVING_TIMES"/>
335
+ <xs:enumeration value="OPEN_TWENTY_FOUR_HOURS"/>
336
+ <xs:enumeration value="PACKAGING_SUPPLIES"/>
337
+ <xs:enumeration value="PACK_AND_SHIP"/>
338
+ <xs:enumeration value="PASSPORT_PHOTO_SERVICES"/>
339
+ <xs:enumeration value="RETURNS_SERVICES"/>
340
+ <xs:enumeration value="SATURDAY_DROPOFFS"/>
341
+ <xs:enumeration value="SATURDAY_EXPRESS_HOLD_AT_LOCATION"/>
342
+ <xs:enumeration value="SIGNS_AND_BANNERS_SERVICE"/>
343
+ <xs:enumeration value="SONY_PICTURE_STATION"/>
344
+ <xs:enumeration value="VIDEO_CONFERENCING"/>
345
+ <xs:enumeration value="WEEKDAY_EXPRESS_HOLD_AT_LOCATION"/>
346
+ <xs:enumeration value="WEEKDAY_GROUND_HOLD_AT_LOCATION"/>
347
+ </xs:restriction>
348
+ </xs:simpleType>
349
+ <xs:complexType name="LocationContactAndAddress">
350
+ <xs:sequence>
351
+ <xs:element name="Contact" type="ns:Contact" minOccurs="0"/>
352
+ <xs:element name="Address" type="ns:Address" minOccurs="0"/>
353
+ <xs:element name="AddressAncillaryDetail" type="ns:AddressAncillaryDetail" minOccurs="0"/>
354
+ </xs:sequence>
355
+ </xs:complexType>
356
+ <xs:simpleType name="LocationContentOptionType">
357
+ <xs:restriction base="xs:string">
358
+ <xs:enumeration value="HOLIDAYS"/>
359
+ <xs:enumeration value="LOCATION_DROPOFF_TIMES"/>
360
+ <xs:enumeration value="MAP_URL"/>
361
+ </xs:restriction>
362
+ </xs:simpleType>
363
+ <xs:complexType name="LocationDetail">
364
+ <xs:annotation>
365
+ <xs:documentation>Describes an individual location providing a set of customer service features.</xs:documentation>
366
+ </xs:annotation>
367
+ <xs:sequence>
368
+ <xs:element name="LocationId" type="xs:string" minOccurs="0"/>
369
+ <xs:element name="StoreNumber" type="xs:int" minOccurs="0"/>
370
+ <xs:element name="LocationContactAndAddress" type="ns:LocationContactAndAddress" minOccurs="0"/>
371
+ <xs:element name="SpecialInstructions" type="xs:string" minOccurs="0"/>
372
+ <xs:element name="GeographicCoordinates" type="xs:string" minOccurs="0"/>
373
+ <xs:element name="LocationType" type="ns:FedExLocationType" minOccurs="0"/>
374
+ <xs:element name="Attributes" type="ns:LocationAttributesType" minOccurs="0" maxOccurs="unbounded"/>
375
+ <xs:element name="AcceptedCurrency" type="xs:string" minOccurs="0"/>
376
+ <xs:element name="LocationHolidays" type="ns:Holiday" minOccurs="0" maxOccurs="unbounded"/>
377
+ <xs:element name="MapUrl" type="xs:string" minOccurs="0"/>
378
+ <xs:element name="EntityId" type="xs:string" minOccurs="0"/>
379
+ <xs:element name="NormalHours" type="ns:LocationHours" minOccurs="0" maxOccurs="unbounded"/>
380
+ <xs:element name="ExceptionalHours" type="ns:LocationHours" minOccurs="0" maxOccurs="unbounded"/>
381
+ <xs:element name="HoursForEffectiveDate" type="ns:LocationHours" minOccurs="0" maxOccurs="unbounded"/>
382
+ <xs:element name="CarrierDetails" type="ns:CarrierDetail" minOccurs="0" maxOccurs="unbounded"/>
383
+ </xs:sequence>
384
+ </xs:complexType>
385
+ <xs:complexType name="LocationHours">
386
+ <xs:annotation>
387
+ <xs:documentation>Specifies the location hours for a location.</xs:documentation>
388
+ </xs:annotation>
389
+ <xs:sequence>
390
+ <xs:element name="DayofWeek" type="ns:DayOfWeekType" minOccurs="0"/>
391
+ <xs:element name="OperationalHours" type="ns:OperationalHoursType" minOccurs="0"/>
392
+ <xs:element name="Hours" type="ns:TimeRange" minOccurs="0" maxOccurs="unbounded"/>
393
+ </xs:sequence>
394
+ </xs:complexType>
395
+ <xs:simpleType name="LocationSearchFilterType">
396
+ <xs:annotation>
397
+ <xs:documentation>Specifies the crieteria used to filter the location search results.</xs:documentation>
398
+ </xs:annotation>
399
+ <xs:restriction base="xs:string">
400
+ <xs:enumeration value="EXCLUDE_LOCATIONS_OUTSIDE_STATE_OR_PROVINCE"/>
401
+ </xs:restriction>
402
+ </xs:simpleType>
403
+ <xs:simpleType name="LocationSortCriteriaType">
404
+ <xs:annotation>
405
+ <xs:documentation>Specifies the criterion to be used to sort the location details.</xs:documentation>
406
+ </xs:annotation>
407
+ <xs:restriction base="xs:string">
408
+ <xs:enumeration value="DISTANCE"/>
409
+ <xs:enumeration value="LATEST_EXPRESS_DROPOFF_TIME"/>
410
+ <xs:enumeration value="LATEST_GROUND_DROPOFF_TIME"/>
411
+ <xs:enumeration value="LOCATION_TYPE"/>
412
+ </xs:restriction>
413
+ </xs:simpleType>
414
+ <xs:complexType name="LocationSortDetail">
415
+ <xs:annotation>
416
+ <xs:documentation>Specifies the criterion and order to be used to sort the location details.</xs:documentation>
417
+ </xs:annotation>
418
+ <xs:sequence>
419
+ <xs:element name="Criterion" type="ns:LocationSortCriteriaType" minOccurs="0">
420
+ <xs:annotation>
421
+ <xs:documentation>Specifies the criterion to be used to sort the location details.</xs:documentation>
422
+ </xs:annotation>
423
+ </xs:element>
424
+ <xs:element name="Order" type="ns:LocationSortOrderType" minOccurs="0">
425
+ <xs:annotation>
426
+ <xs:documentation>Specifies sort order of the location details.</xs:documentation>
427
+ </xs:annotation>
428
+ </xs:element>
429
+ </xs:sequence>
430
+ </xs:complexType>
431
+ <xs:simpleType name="LocationSortOrderType">
432
+ <xs:annotation>
433
+ <xs:documentation>Specifies sort order of the location details.</xs:documentation>
434
+ </xs:annotation>
435
+ <xs:restriction base="xs:string">
436
+ <xs:enumeration value="HIGHEST_TO_LOWEST"/>
437
+ <xs:enumeration value="LOWEST_TO_HIGHEST"/>
438
+ </xs:restriction>
439
+ </xs:simpleType>
440
+ <xs:simpleType name="LocationsSearchCriteriaType">
441
+ <xs:annotation>
442
+ <xs:documentation>Specifies the criteria types that may be used to search for FedEx locations.</xs:documentation>
443
+ </xs:annotation>
444
+ <xs:restriction base="xs:string">
445
+ <xs:enumeration value="ADDRESS"/>
446
+ <xs:enumeration value="GEOGRAPHIC_COORDINATES"/>
447
+ <xs:enumeration value="PHONE_NUMBER"/>
448
+ </xs:restriction>
449
+ </xs:simpleType>
450
+ <xs:simpleType name="MultipleMatchesActionType">
451
+ <xs:restriction base="xs:string">
452
+ <xs:enumeration value="RETURN_ALL"/>
453
+ <xs:enumeration value="RETURN_ERROR"/>
454
+ <xs:enumeration value="RETURN_FIRST"/>
455
+ </xs:restriction>
456
+ </xs:simpleType>
457
+ <xs:complexType name="Notification">
458
+ <xs:annotation>
459
+ <xs:documentation>The descriptive data regarding the result of the submitted transaction.</xs:documentation>
460
+ </xs:annotation>
461
+ <xs:sequence>
462
+ <xs:element name="Severity" type="ns:NotificationSeverityType" minOccurs="0">
463
+ <xs:annotation>
464
+ <xs:documentation>The severity of this notification. This can indicate success or failure or some other information about the request. The values that can be returned are SUCCESS - Your transaction succeeded with no other applicable information. NOTE - Additional information that may be of interest to you about your transaction. WARNING - Additional information that you need to know about your transaction that you may need to take action on. ERROR - Information about an error that occurred while processing your transaction. FAILURE - FedEx was unable to process your transaction at this time due to a system failure. Please try again later</xs:documentation>
465
+ </xs:annotation>
466
+ </xs:element>
467
+ <xs:element name="Source" type="xs:string" minOccurs="0">
468
+ <xs:annotation>
469
+ <xs:documentation>Indicates the source of this notification. Combined with the Code it uniquely identifies this notification</xs:documentation>
470
+ </xs:annotation>
471
+ </xs:element>
472
+ <xs:element name="Code" type="xs:string" minOccurs="0">
473
+ <xs:annotation>
474
+ <xs:documentation>A code that represents this notification. Combined with the Source it uniquely identifies this notification.</xs:documentation>
475
+ </xs:annotation>
476
+ </xs:element>
477
+ <xs:element name="Message" type="xs:string" minOccurs="0">
478
+ <xs:annotation>
479
+ <xs:documentation>Human-readable text that explains this notification.</xs:documentation>
480
+ </xs:annotation>
481
+ </xs:element>
482
+ <xs:element name="LocalizedMessage" type="xs:string" minOccurs="0">
483
+ <xs:annotation>
484
+ <xs:documentation>The translated message. The language and locale specified in the ClientDetail. Localization are used to determine the representation. Currently only supported in a TrackReply.</xs:documentation>
485
+ </xs:annotation>
486
+ </xs:element>
487
+ <xs:element name="MessageParameters" type="ns:NotificationParameter" minOccurs="0" maxOccurs="unbounded">
488
+ <xs:annotation>
489
+ <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>
490
+ </xs:annotation>
491
+ </xs:element>
492
+ </xs:sequence>
493
+ </xs:complexType>
494
+ <xs:complexType name="NotificationParameter">
495
+ <xs:sequence>
496
+ <xs:element name="Id" type="xs:string" minOccurs="0">
497
+ <xs:annotation>
498
+ <xs:documentation>Identifies the type of data contained in Value (e.g. SERVICE_TYPE, PACKAGE_SEQUENCE, etc..).</xs:documentation>
499
+ </xs:annotation>
500
+ </xs:element>
501
+ <xs:element name="Value" type="xs:string" minOccurs="0">
502
+ <xs:annotation>
503
+ <xs:documentation>The value of the parameter (e.g. PRIORITY_OVERNIGHT, 2, etc..).</xs:documentation>
504
+ </xs:annotation>
505
+ </xs:element>
506
+ </xs:sequence>
507
+ </xs:complexType>
508
+ <xs:simpleType name="NotificationSeverityType">
509
+ <xs:restriction base="xs:string">
510
+ <xs:enumeration value="ERROR"/>
511
+ <xs:enumeration value="FAILURE"/>
512
+ <xs:enumeration value="NOTE"/>
513
+ <xs:enumeration value="SUCCESS"/>
514
+ <xs:enumeration value="WARNING"/>
515
+ </xs:restriction>
516
+ </xs:simpleType>
517
+ <xs:simpleType name="OperationalHoursType">
518
+ <xs:restriction base="xs:string">
519
+ <xs:enumeration value="CLOSED_ALL_DAY"/>
520
+ <xs:enumeration value="OPEN_ALL_DAY"/>
521
+ <xs:enumeration value="OPEN_BY_HOURS"/>
522
+ </xs:restriction>
523
+ </xs:simpleType>
524
+ <xs:complexType name="SearchLocationConstraints">
525
+ <xs:annotation>
526
+ <xs:documentation>Specifies additional constraints on the attributes of the locations being searched.</xs:documentation>
527
+ </xs:annotation>
528
+ <xs:sequence>
529
+ <xs:element name="RadiusDistance" type="ns:Distance" minOccurs="0">
530
+ <xs:annotation>
531
+ <xs:documentation>Specifies value and units of the radius around the address to search for FedEx locations.</xs:documentation>
532
+ </xs:annotation>
533
+ </xs:element>
534
+ <xs:element name="ExpressDropOffTimeNeeded" type="xs:time" minOccurs="0">
535
+ <xs:annotation>
536
+ <xs:documentation>The latest time at which the customer can drop off a package for being shipped using an express service.</xs:documentation>
537
+ </xs:annotation>
538
+ </xs:element>
539
+ <xs:element name="ResultsFilters" type="ns:LocationSearchFilterType" minOccurs="0" maxOccurs="unbounded">
540
+ <xs:annotation>
541
+ <xs:documentation>Specifies the criteria used to filter the results of locations search.</xs:documentation>
542
+ </xs:annotation>
543
+ </xs:element>
544
+ <xs:element name="SupportedRedirectToHoldServices" type="ns:SupportedRedirectToHoldServiceType" minOccurs="0" maxOccurs="unbounded">
545
+ <xs:annotation>
546
+ <xs:documentation>Specifies the types of services supported by a FedEx location for redirect to hold.</xs:documentation>
547
+ </xs:annotation>
548
+ </xs:element>
549
+ <xs:element name="RequiredLocationAttributes" type="ns:LocationAttributesType" minOccurs="0" maxOccurs="unbounded"/>
550
+ <xs:element name="ResultsToSkip" type="xs:nonNegativeInteger" minOccurs="0"/>
551
+ <xs:element name="ResultsRequested" type="xs:nonNegativeInteger" minOccurs="0"/>
552
+ <xs:element name="LocationContentOptions" type="ns:LocationContentOptionType" minOccurs="0" maxOccurs="unbounded"/>
553
+ <xs:element name="LocationTypesToInclude" type="ns:FedExLocationType" minOccurs="0" maxOccurs="unbounded"/>
554
+ </xs:sequence>
555
+ </xs:complexType>
556
+ <xs:complexType name="SearchLocationsReply">
557
+ <xs:sequence>
558
+ <xs:element name="HighestSeverity" type="ns:NotificationSeverityType" minOccurs="1"/>
559
+ <xs:element name="Notifications" type="ns:Notification" minOccurs="1" maxOccurs="unbounded"/>
560
+ <xs:element name="TransactionDetail" type="ns:TransactionDetail" minOccurs="0"/>
561
+ <xs:element name="Version" type="ns:VersionId" minOccurs="1"/>
562
+ <xs:element name="TotalResultsAvailable" type="xs:nonNegativeInteger" minOccurs="0">
563
+ <xs:annotation>
564
+ <xs:documentation>Specifies total number of location results that are available.</xs:documentation>
565
+ </xs:annotation>
566
+ </xs:element>
567
+ <xs:element name="ResultsReturned" type="xs:nonNegativeInteger" minOccurs="0">
568
+ <xs:annotation>
569
+ <xs:documentation>Specifies the number of location results returned in this reply.</xs:documentation>
570
+ </xs:annotation>
571
+ </xs:element>
572
+ <xs:element name="FormattedAddress" type="ns:Address" minOccurs="0">
573
+ <xs:annotation>
574
+ <xs:documentation>Specifies the address formatted to have correct postal code per USPS standards.</xs:documentation>
575
+ </xs:annotation>
576
+ </xs:element>
577
+ <xs:element name="AddressToLocationRelationships" type="ns:AddressToLocationRelationshipDetail" minOccurs="0" maxOccurs="unbounded">
578
+ <xs:annotation>
579
+ <xs:documentation>The details about the relationship between the address requested and the locations returned.</xs:documentation>
580
+ </xs:annotation>
581
+ </xs:element>
582
+ </xs:sequence>
583
+ </xs:complexType>
584
+ <xs:complexType name="SearchLocationsRequest">
585
+ <xs:sequence>
586
+ <xs:element name="WebAuthenticationDetail" type="ns:WebAuthenticationDetail" minOccurs="1">
587
+ <xs:annotation>
588
+ <xs:documentation>Descriptive data to be used in authentication of the sender's identity (and right to use FedEx web services).</xs:documentation>
589
+ </xs:annotation>
590
+ </xs:element>
591
+ <xs:element name="ClientDetail" type="ns:ClientDetail" minOccurs="1"/>
592
+ <xs:element name="TransactionDetail" type="ns:TransactionDetail" minOccurs="0"/>
593
+ <xs:element name="Version" type="ns:VersionId" minOccurs="1"/>
594
+ <xs:element name="EffectiveDate" type="xs:date" minOccurs="0"/>
595
+ <xs:element name="LocationsSearchCriterion" type="ns:LocationsSearchCriteriaType" minOccurs="0">
596
+ <xs:annotation>
597
+ <xs:documentation>Specifies the criterion that may be used to search for FedEx locations.</xs:documentation>
598
+ </xs:annotation>
599
+ </xs:element>
600
+ <xs:element name="Address" type="ns:Address" minOccurs="0"/>
601
+ <xs:element name="PhoneNumber" type="xs:string" minOccurs="0"/>
602
+ <xs:element name="GeographicCoordinates" type="xs:string" minOccurs="0"/>
603
+ <xs:element name="MultipleMatchesAction" type="ns:MultipleMatchesActionType" minOccurs="0">
604
+ <xs:annotation>
605
+ <xs:documentation>Specifies the criterion to be used to return location results when there are mutiple matches.</xs:documentation>
606
+ </xs:annotation>
607
+ </xs:element>
608
+ <xs:element name="SortDetail" type="ns:LocationSortDetail" minOccurs="0">
609
+ <xs:annotation>
610
+ <xs:documentation>Specifies the details on how the location search results be sorted in the reply.</xs:documentation>
611
+ </xs:annotation>
612
+ </xs:element>
613
+ <xs:element name="Constraints" type="ns:SearchLocationConstraints" minOccurs="0">
614
+ <xs:annotation>
615
+ <xs:documentation>Contraints to be applied to location attributes.</xs:documentation>
616
+ </xs:annotation>
617
+ </xs:element>
618
+ </xs:sequence>
619
+ </xs:complexType>
620
+ <xs:simpleType name="ShippingActionType">
621
+ <xs:restriction base="xs:string">
622
+ <xs:enumeration value="DELIVERIES"/>
623
+ <xs:enumeration value="PICKUPS"/>
624
+ </xs:restriction>
625
+ </xs:simpleType>
626
+ <xs:complexType name="ShippingHoliday">
627
+ <xs:sequence>
628
+ <xs:element name="Holiday" type="ns:Holiday" minOccurs="0"/>
629
+ <xs:element name="UnavailableActions" type="ns:ShippingActionType" minOccurs="0" maxOccurs="unbounded"/>
630
+ </xs:sequence>
631
+ </xs:complexType>
632
+ <xs:simpleType name="SupportedRedirectToHoldServiceType">
633
+ <xs:annotation>
634
+ <xs:documentation>Specifies the types of services supported by a FedEx location for redirect to hold.</xs:documentation>
635
+ </xs:annotation>
636
+ <xs:restriction base="xs:string">
637
+ <xs:enumeration value="FEDEX_EXPRESS"/>
638
+ <xs:enumeration value="FEDEX_GROUND"/>
639
+ <xs:enumeration value="FEDEX_GROUND_HOME_DELIVERY"/>
640
+ </xs:restriction>
641
+ </xs:simpleType>
642
+ <xs:complexType name="TimeRange">
643
+ <xs:sequence>
644
+ <xs:element name="Begins" type="xs:time" minOccurs="0"/>
645
+ <xs:element name="Ends" type="xs:time" minOccurs="0"/>
646
+ </xs:sequence>
647
+ </xs:complexType>
648
+ <xs:complexType name="TransactionDetail">
649
+ <xs:sequence>
650
+ <xs:element name="CustomerTransactionId" type="xs:string" minOccurs="0">
651
+ <xs:annotation>
652
+ <xs:documentation>Free form text to be echoed back in the reply. Used to match requests and replies.</xs:documentation>
653
+ </xs:annotation>
654
+ </xs:element>
655
+ <xs:element name="Localization" type="ns:Localization" minOccurs="0">
656
+ <xs:annotation>
657
+ <xs:documentation>Governs data payload language/translations (contrasted with ClientDetail.localization, which governs Notification.localizedMessage language selection).</xs:documentation>
658
+ </xs:annotation>
659
+ </xs:element>
660
+ </xs:sequence>
661
+ </xs:complexType>
662
+ <xs:complexType name="WebAuthenticationDetail">
663
+ <xs:annotation>
664
+ <xs:documentation>Used in authentication of the sender's identity.</xs:documentation>
665
+ </xs:annotation>
666
+ <xs:sequence>
667
+ <xs:element name="UserCredential" type="ns:WebAuthenticationCredential" minOccurs="1">
668
+ <xs:annotation>
669
+ <xs:documentation>Credential used to authenticate a specific software application. This value is provided by FedEx after registration.</xs:documentation>
670
+ </xs:annotation>
671
+ </xs:element>
672
+ </xs:sequence>
673
+ </xs:complexType>
674
+ <xs:complexType name="WebAuthenticationCredential">
675
+ <xs:annotation>
676
+ <xs:documentation>Two part authentication string used for the sender's identity</xs:documentation>
677
+ </xs:annotation>
678
+ <xs:sequence>
679
+ <xs:element name="Key" type="xs:string" minOccurs="1">
680
+ <xs:annotation>
681
+ <xs:documentation>Identifying part of authentication credential. This value is provided by FedEx after registration</xs:documentation>
682
+ </xs:annotation>
683
+ </xs:element>
684
+ <xs:element name="Password" type="xs:string" minOccurs="1">
685
+ <xs:annotation>
686
+ <xs:documentation>Secret part of authentication key. This value is provided by FedEx after registration.</xs:documentation>
687
+ </xs:annotation>
688
+ </xs:element>
689
+ </xs:sequence>
690
+ </xs:complexType>
691
+ <xs:complexType name="VersionId">
692
+ <xs:annotation>
693
+ <xs:documentation>Identifies the version/level of a service operation expected by a caller (in each request) and performed by the callee (in each reply).</xs:documentation>
694
+ </xs:annotation>
695
+ <xs:sequence>
696
+ <xs:element name="ServiceId" type="xs:string" fixed="gsai" minOccurs="1">
697
+ <xs:annotation>
698
+ <xs:documentation>Identifies a system or sub-system which performs an operation.</xs:documentation>
699
+ </xs:annotation>
700
+ </xs:element>
701
+ <xs:element name="Major" type="xs:int" fixed="1" minOccurs="1">
702
+ <xs:annotation>
703
+ <xs:documentation>Identifies the service business level.</xs:documentation>
704
+ </xs:annotation>
705
+ </xs:element>
706
+ <xs:element name="Intermediate" type="xs:int" fixed="0" minOccurs="1">
707
+ <xs:annotation>
708
+ <xs:documentation>Identifies the service interface level.</xs:documentation>
709
+ </xs:annotation>
710
+ </xs:element>
711
+ <xs:element name="Minor" type="xs:int" fixed="0" minOccurs="1">
712
+ <xs:annotation>
713
+ <xs:documentation>Identifies the service code level.</xs:documentation>
714
+ </xs:annotation>
715
+ </xs:element>
716
+ </xs:sequence>
717
+ </xs:complexType>
718
+ </xs:schema>
719
+ </definitions>
fedex/wsdl/GlobalShipAddressService_v1_old.xsd ADDED
@@ -0,0 +1,716 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:ns="http://fedex.com/ws/gsai/v1" xmlns:s1="http://schemas.xmlsoap.org/wsdl/soap/" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://fedex.com/ws/gsai/v1">
3
+ <xs:element name="SearchLocationsReply" type="ns:SearchLocationsReply"/>
4
+ <xs:element name="SearchLocationsRequest" type="ns:SearchLocationsRequest"/>
5
+ <xs:complexType name="Address">
6
+ <xs:annotation>
7
+ <xs:documentation>Descriptive data for a physical location. May be used as an actual physical address (place to which one could go), or as a container of "address parts" which should be handled as a unit (such as a city-state-ZIP combination within the US).</xs:documentation>
8
+ </xs:annotation>
9
+ <xs:sequence>
10
+ <xs:element name="StreetLines" type="xs:string" minOccurs="0" maxOccurs="unbounded">
11
+ <xs:annotation>
12
+ <xs:documentation>Combination of number, street name, etc. At least one line is required for a valid physical address; empty lines should not be included.</xs:documentation>
13
+ </xs:annotation>
14
+ </xs:element>
15
+ <xs:element name="City" type="xs:string" minOccurs="0">
16
+ <xs:annotation>
17
+ <xs:documentation>Name of city, town, etc.</xs:documentation>
18
+ </xs:annotation>
19
+ </xs:element>
20
+ <xs:element name="StateOrProvinceCode" type="xs:string" minOccurs="0">
21
+ <xs:annotation>
22
+ <xs:documentation>Identifying abbreviation for US state, Canada province, etc. Format and presence of this field will vary, depending on country.</xs:documentation>
23
+ </xs:annotation>
24
+ </xs:element>
25
+ <xs:element name="PostalCode" type="xs:string" minOccurs="0">
26
+ <xs:annotation>
27
+ <xs:documentation>Identification of a region (usually small) for mail/package delivery. Format and presence of this field will vary, depending on country.</xs:documentation>
28
+ </xs:annotation>
29
+ </xs:element>
30
+ <xs:element name="UrbanizationCode" type="xs:string" minOccurs="0">
31
+ <xs:annotation>
32
+ <xs:documentation>Relevant only to addresses in Puerto Rico.</xs:documentation>
33
+ </xs:annotation>
34
+ </xs:element>
35
+ <xs:element name="CountryCode" type="xs:string" minOccurs="0">
36
+ <xs:annotation>
37
+ <xs:documentation>The two-letter code used to identify a country.</xs:documentation>
38
+ </xs:annotation>
39
+ </xs:element>
40
+ <xs:element name="Residential" type="xs:boolean" minOccurs="0">
41
+ <xs:annotation>
42
+ <xs:documentation>Indicates whether this address residential (as opposed to commercial).</xs:documentation>
43
+ </xs:annotation>
44
+ </xs:element>
45
+ </xs:sequence>
46
+ </xs:complexType>
47
+ <xs:complexType name="AddressAncillaryDetail">
48
+ <xs:annotation>
49
+ <xs:documentation>Additional information about a physical location, such as suite number, cross street, floor number in a building. These details are not typically a part of a standard address definition; however, these details might help locate the address.</xs:documentation>
50
+ </xs:annotation>
51
+ <xs:sequence>
52
+ <xs:element name="LocationInCity" type="xs:string" minOccurs="0"/>
53
+ <xs:element name="LocationInProperty" type="xs:string" minOccurs="0"/>
54
+ <xs:element name="RoomFloor" type="xs:string" minOccurs="0"/>
55
+ <xs:element name="Suite" type="xs:string" minOccurs="0"/>
56
+ <xs:element name="CrossStreet" type="xs:string" minOccurs="0"/>
57
+ </xs:sequence>
58
+ </xs:complexType>
59
+ <xs:complexType name="AddressToLocationRelationshipDetail">
60
+ <xs:annotation>
61
+ <xs:documentation>Specifies the relationship between the address specificed and the address of the FedEx Location in terms of distance.</xs:documentation>
62
+ </xs:annotation>
63
+ <xs:sequence>
64
+ <xs:element name="MatchedAddress" type="ns:Address" minOccurs="0">
65
+ <xs:annotation>
66
+ <xs:documentation>Address as provided in the request.</xs:documentation>
67
+ </xs:annotation>
68
+ </xs:element>
69
+ <xs:element name="DistanceAndLocationDetails" type="ns:DistanceAndLocationDetail" minOccurs="0" maxOccurs="unbounded">
70
+ <xs:annotation>
71
+ <xs:documentation>Specifies the distance between the matched address and the addresses of matched FedEx locations. Also specifies the details of the FedEx locations.</xs:documentation>
72
+ </xs:annotation>
73
+ </xs:element>
74
+ </xs:sequence>
75
+ </xs:complexType>
76
+ <xs:simpleType name="CarrierCodeType">
77
+ <xs:annotation>
78
+ <xs:documentation>Identification of a FedEx operating company (transportation).</xs:documentation>
79
+ </xs:annotation>
80
+ <xs:restriction base="xs:string">
81
+ <xs:enumeration value="FDXC"/>
82
+ <xs:enumeration value="FDXE"/>
83
+ <xs:enumeration value="FDXG"/>
84
+ <xs:enumeration value="FXCC"/>
85
+ <xs:enumeration value="FXFR"/>
86
+ <xs:enumeration value="FXSP"/>
87
+ </xs:restriction>
88
+ </xs:simpleType>
89
+ <xs:complexType name="CarrierDetail">
90
+ <xs:sequence>
91
+ <xs:element name="Carrier" type="ns:CarrierCodeType" minOccurs="0"/>
92
+ <xs:element name="NormalLatestDropOffDetails" type="ns:LatestDropOffDetail" minOccurs="0" maxOccurs="unbounded"/>
93
+ <xs:element name="ExceptionalLatestDropOffDetails" type="ns:LatestDropOffDetail" minOccurs="0" maxOccurs="unbounded"/>
94
+ <xs:element name="EffectiveLatestDropOffDetails" type="ns:LatestDropOffDetail" minOccurs="0"/>
95
+ <xs:element name="ShippingHolidays" type="ns:ShippingHoliday" minOccurs="0" maxOccurs="unbounded"/>
96
+ </xs:sequence>
97
+ </xs:complexType>
98
+ <xs:complexType name="ClientDetail">
99
+ <xs:annotation>
100
+ <xs:documentation>Descriptive data for the client submitting a transaction.</xs:documentation>
101
+ </xs:annotation>
102
+ <xs:sequence>
103
+ <xs:element name="AccountNumber" type="xs:string" minOccurs="1">
104
+ <xs:annotation>
105
+ <xs:documentation>The FedEx account number associated with this transaction.</xs:documentation>
106
+ </xs:annotation>
107
+ </xs:element>
108
+ <xs:element name="MeterNumber" type="xs:string" minOccurs="1">
109
+ <xs:annotation>
110
+ <xs:documentation>This number is assigned by FedEx and identifies the unique device from which the request is originating</xs:documentation>
111
+ </xs:annotation>
112
+ </xs:element>
113
+ <xs:element name="MeterInstance" type="xs:string" minOccurs="0"/>
114
+ <xs:element name="IntegratorId" type="xs:string" minOccurs="0">
115
+ <xs:annotation>
116
+ <xs:documentation>Only used in transactions which require identification of the Fed Ex Office integrator.</xs:documentation>
117
+ </xs:annotation>
118
+ </xs:element>
119
+ <xs:element name="Region" type="ns:ExpressRegionCode" minOccurs="0">
120
+ <xs:annotation>
121
+ <xs:documentation>Indicates the region from which the transaction is submitted.</xs:documentation>
122
+ </xs:annotation>
123
+ </xs:element>
124
+ <xs:element name="Localization" type="ns:Localization" minOccurs="0">
125
+ <xs:annotation>
126
+ <xs:documentation>The language to be used for human-readable Notification.localizedMessages in responses to the request containing this ClientDetail object. Different requests from the same client may contain different Localization data. (Contrast with TransactionDetail.localization, which governs data payload language/translation.)</xs:documentation>
127
+ </xs:annotation>
128
+ </xs:element>
129
+ </xs:sequence>
130
+ </xs:complexType>
131
+ <xs:complexType name="Contact">
132
+ <xs:annotation>
133
+ <xs:documentation>The descriptive data for a point-of-contact person.</xs:documentation>
134
+ </xs:annotation>
135
+ <xs:sequence>
136
+ <xs:element name="ContactId" type="xs:string" minOccurs="0">
137
+ <xs:annotation>
138
+ <xs:documentation>Client provided identifier corresponding to this contact information.</xs:documentation>
139
+ </xs:annotation>
140
+ </xs:element>
141
+ <xs:element name="PersonName" type="xs:string" minOccurs="0">
142
+ <xs:annotation>
143
+ <xs:documentation>Identifies the contact person's name.</xs:documentation>
144
+ </xs:annotation>
145
+ </xs:element>
146
+ <xs:element name="Title" type="xs:string" minOccurs="0">
147
+ <xs:annotation>
148
+ <xs:documentation>Identifies the contact person's title.</xs:documentation>
149
+ </xs:annotation>
150
+ </xs:element>
151
+ <xs:element name="CompanyName" type="xs:string" minOccurs="0">
152
+ <xs:annotation>
153
+ <xs:documentation>Identifies the company this contact is associated with.</xs:documentation>
154
+ </xs:annotation>
155
+ </xs:element>
156
+ <xs:element name="PhoneNumber" type="xs:string" minOccurs="0">
157
+ <xs:annotation>
158
+ <xs:documentation>Identifies the phone number associated with this contact.</xs:documentation>
159
+ </xs:annotation>
160
+ </xs:element>
161
+ <xs:element name="PhoneExtension" type="xs:string" minOccurs="0">
162
+ <xs:annotation>
163
+ <xs:documentation>Identifies the phone extension associated with this contact.</xs:documentation>
164
+ </xs:annotation>
165
+ </xs:element>
166
+ <xs:element name="PagerNumber" type="xs:string" minOccurs="0">
167
+ <xs:annotation>
168
+ <xs:documentation>Identifies the pager number associated with this contact.</xs:documentation>
169
+ </xs:annotation>
170
+ </xs:element>
171
+ <xs:element name="FaxNumber" type="xs:string" minOccurs="0">
172
+ <xs:annotation>
173
+ <xs:documentation>Identifies the fax number associated with this contact.</xs:documentation>
174
+ </xs:annotation>
175
+ </xs:element>
176
+ <xs:element name="EMailAddress" type="xs:string" minOccurs="0">
177
+ <xs:annotation>
178
+ <xs:documentation>Identifies the email address associated with this contact.</xs:documentation>
179
+ </xs:annotation>
180
+ </xs:element>
181
+ </xs:sequence>
182
+ </xs:complexType>
183
+ <xs:simpleType name="DayOfWeekType">
184
+ <xs:restriction base="xs:string">
185
+ <xs:enumeration value="FRI"/>
186
+ <xs:enumeration value="MON"/>
187
+ <xs:enumeration value="SAT"/>
188
+ <xs:enumeration value="SUN"/>
189
+ <xs:enumeration value="THU"/>
190
+ <xs:enumeration value="TUE"/>
191
+ <xs:enumeration value="WED"/>
192
+ </xs:restriction>
193
+ </xs:simpleType>
194
+ <xs:complexType name="Distance">
195
+ <xs:annotation>
196
+ <xs:documentation>Driving or other transportation distances, distinct from dimension measurements.</xs:documentation>
197
+ </xs:annotation>
198
+ <xs:sequence>
199
+ <xs:element name="Value" type="xs:decimal" minOccurs="0">
200
+ <xs:annotation>
201
+ <xs:documentation>Identifies the distance quantity.</xs:documentation>
202
+ </xs:annotation>
203
+ </xs:element>
204
+ <xs:element name="Units" type="ns:DistanceUnits" minOccurs="0">
205
+ <xs:annotation>
206
+ <xs:documentation>Identifies the unit of measure for the distance value.</xs:documentation>
207
+ </xs:annotation>
208
+ </xs:element>
209
+ </xs:sequence>
210
+ </xs:complexType>
211
+ <xs:complexType name="DistanceAndLocationDetail">
212
+ <xs:annotation>
213
+ <xs:documentation>Specifies the distance between the address of a geographic location and the address of a FedEx location. Also specifies the location details about the Fedex location.</xs:documentation>
214
+ </xs:annotation>
215
+ <xs:sequence>
216
+ <xs:element name="Distance" type="ns:Distance" minOccurs="0">
217
+ <xs:annotation>
218
+ <xs:documentation>Distance between an address of a geographic location and an address of a FedEx location.</xs:documentation>
219
+ </xs:annotation>
220
+ </xs:element>
221
+ <xs:element name="LocationDetail" type="ns:LocationDetail" minOccurs="0">
222
+ <xs:annotation>
223
+ <xs:documentation>Details about a FedEx location such as services offered, working hours and pick and drop off times.</xs:documentation>
224
+ </xs:annotation>
225
+ </xs:element>
226
+ </xs:sequence>
227
+ </xs:complexType>
228
+ <xs:simpleType name="DistanceUnits">
229
+ <xs:restriction base="xs:string">
230
+ <xs:enumeration value="KM"/>
231
+ <xs:enumeration value="MI"/>
232
+ </xs:restriction>
233
+ </xs:simpleType>
234
+ <xs:simpleType name="ExpressRegionCode">
235
+ <xs:annotation>
236
+ <xs:documentation>Indicates a FedEx Express operating region.</xs:documentation>
237
+ </xs:annotation>
238
+ <xs:restriction base="xs:string">
239
+ <xs:enumeration value="APAC"/>
240
+ <xs:enumeration value="CA"/>
241
+ <xs:enumeration value="EMEA"/>
242
+ <xs:enumeration value="LAC"/>
243
+ <xs:enumeration value="US"/>
244
+ </xs:restriction>
245
+ </xs:simpleType>
246
+ <xs:simpleType name="FedExLocationType">
247
+ <xs:annotation>
248
+ <xs:documentation>Identifies a kind of FedEx facility.</xs:documentation>
249
+ </xs:annotation>
250
+ <xs:restriction base="xs:string">
251
+ <xs:enumeration value="FEDEX_AUTHORIZED_SHIP_CENTER"/>
252
+ <xs:enumeration value="FEDEX_EXPRESS_STATION"/>
253
+ <xs:enumeration value="FEDEX_FREIGHT_SERVICE_CENTER"/>
254
+ <xs:enumeration value="FEDEX_GROUND_TERMINAL"/>
255
+ <xs:enumeration value="FEDEX_HOME_DELIVERY_STATION"/>
256
+ <xs:enumeration value="FEDEX_OFFICE"/>
257
+ <xs:enumeration value="FEDEX_SELF_SERVICE_LOCATION"/>
258
+ <xs:enumeration value="FEDEX_SMART_POST_HUB"/>
259
+ </xs:restriction>
260
+ </xs:simpleType>
261
+ <xs:complexType name="Holiday">
262
+ <xs:sequence>
263
+ <xs:element name="Name" type="xs:string" minOccurs="0"/>
264
+ <xs:element name="Date" type="xs:date" minOccurs="0"/>
265
+ </xs:sequence>
266
+ </xs:complexType>
267
+ <xs:complexType name="LatestDropOffDetail">
268
+ <xs:annotation>
269
+ <xs:documentation>Specifies the latest time by which a package can be dropped off at a FedEx location.</xs:documentation>
270
+ </xs:annotation>
271
+ <xs:sequence>
272
+ <xs:element name="DayOfWeek" type="ns:DayOfWeekType" minOccurs="0"/>
273
+ <xs:element name="Time" type="xs:time" minOccurs="0"/>
274
+ <xs:element name="Overlays" type="ns:LatestDropoffOverlayDetail" minOccurs="0" maxOccurs="unbounded">
275
+ <xs:annotation>
276
+ <xs:documentation>Specifies the details about the time and reason to</xs:documentation>
277
+ </xs:annotation>
278
+ </xs:element>
279
+ </xs:sequence>
280
+ </xs:complexType>
281
+ <xs:simpleType name="LatestDropOffOverlayType">
282
+ <xs:annotation>
283
+ <xs:documentation>Specifies the reason for the overlay of the daily last drop off time for a carrier.</xs:documentation>
284
+ </xs:annotation>
285
+ <xs:restriction base="xs:string">
286
+ <xs:enumeration value="DOMESTIC_CANADIAN"/>
287
+ <xs:enumeration value="EAST_COAST"/>
288
+ <xs:enumeration value="FEDEX_GROUND"/>
289
+ <xs:enumeration value="WEST_COAST"/>
290
+ </xs:restriction>
291
+ </xs:simpleType>
292
+ <xs:complexType name="LatestDropoffOverlayDetail">
293
+ <xs:annotation>
294
+ <xs:documentation>Specifies the time and reason to overlay the last drop off time for a carrier at a FedEx location.</xs:documentation>
295
+ </xs:annotation>
296
+ <xs:sequence>
297
+ <xs:element name="Type" type="ns:LatestDropOffOverlayType" minOccurs="0"/>
298
+ <xs:element name="Time" type="xs:time" minOccurs="0"/>
299
+ </xs:sequence>
300
+ </xs:complexType>
301
+ <xs:complexType name="Localization">
302
+ <xs:annotation>
303
+ <xs:documentation>Identifies the representation of human-readable text.</xs:documentation>
304
+ </xs:annotation>
305
+ <xs:sequence>
306
+ <xs:element name="LanguageCode" type="xs:string" minOccurs="1">
307
+ <xs:annotation>
308
+ <xs:documentation>Two-letter code for language (e.g. EN, FR, etc.)</xs:documentation>
309
+ </xs:annotation>
310
+ </xs:element>
311
+ <xs:element name="LocaleCode" type="xs:string" minOccurs="0">
312
+ <xs:annotation>
313
+ <xs:documentation>Two-letter code for the region (e.g. us, ca, etc..).</xs:documentation>
314
+ </xs:annotation>
315
+ </xs:element>
316
+ </xs:sequence>
317
+ </xs:complexType>
318
+ <xs:simpleType name="LocationAttributesType">
319
+ <xs:restriction base="xs:string">
320
+ <xs:enumeration value="ACCEPTS_CASH"/>
321
+ <xs:enumeration value="ALREADY_OPEN"/>
322
+ <xs:enumeration value="COPY_AND_PRINT_SERVICES"/>
323
+ <xs:enumeration value="DANGEROUS_GOODS_SERVICES"/>
324
+ <xs:enumeration value="DIRECT_MAIL_SERVICES"/>
325
+ <xs:enumeration value="EXPRESS_FREIGHT_DROPOFFS"/>
326
+ <xs:enumeration value="EXPRESS_PARCEL_DROPOFFS"/>
327
+ <xs:enumeration value="FEDEX_FREIGHT_DROPOFFS"/>
328
+ <xs:enumeration value="GROUND_DROPOFFS"/>
329
+ <xs:enumeration value="GROUND_HOME_DELIVERY_DROPOFFS"/>
330
+ <xs:enumeration value="LOCATION_IS_IN_AIRPORT"/>
331
+ <xs:enumeration value="NOTARY_SERVICES"/>
332
+ <xs:enumeration value="OBSERVES_DAY_LIGHT_SAVING_TIMES"/>
333
+ <xs:enumeration value="OPEN_TWENTY_FOUR_HOURS"/>
334
+ <xs:enumeration value="PACKAGING_SUPPLIES"/>
335
+ <xs:enumeration value="PACK_AND_SHIP"/>
336
+ <xs:enumeration value="PASSPORT_PHOTO_SERVICES"/>
337
+ <xs:enumeration value="RETURNS_SERVICES"/>
338
+ <xs:enumeration value="SATURDAY_DROPOFFS"/>
339
+ <xs:enumeration value="SATURDAY_EXPRESS_HOLD_AT_LOCATION"/>
340
+ <xs:enumeration value="SIGNS_AND_BANNERS_SERVICE"/>
341
+ <xs:enumeration value="SONY_PICTURE_STATION"/>
342
+ <xs:enumeration value="VIDEO_CONFERENCING"/>
343
+ <xs:enumeration value="WEEKDAY_EXPRESS_HOLD_AT_LOCATION"/>
344
+ <xs:enumeration value="WEEKDAY_GROUND_HOLD_AT_LOCATION"/>
345
+ </xs:restriction>
346
+ </xs:simpleType>
347
+ <xs:complexType name="LocationContactAndAddress">
348
+ <xs:sequence>
349
+ <xs:element name="Contact" type="ns:Contact" minOccurs="0"/>
350
+ <xs:element name="Address" type="ns:Address" minOccurs="0"/>
351
+ <xs:element name="AddressAncillaryDetail" type="ns:AddressAncillaryDetail" minOccurs="0"/>
352
+ </xs:sequence>
353
+ </xs:complexType>
354
+ <xs:simpleType name="LocationContentOptionType">
355
+ <xs:restriction base="xs:string">
356
+ <xs:enumeration value="HOLIDAYS"/>
357
+ <xs:enumeration value="LOCATION_DROPOFF_TIMES"/>
358
+ <xs:enumeration value="MAP_URL"/>
359
+ </xs:restriction>
360
+ </xs:simpleType>
361
+ <xs:complexType name="LocationDetail">
362
+ <xs:annotation>
363
+ <xs:documentation>Describes an individual location providing a set of customer service features.</xs:documentation>
364
+ </xs:annotation>
365
+ <xs:sequence>
366
+ <xs:element name="LocationId" type="xs:string" minOccurs="0"/>
367
+ <xs:element name="StoreNumber" type="xs:int" minOccurs="0"/>
368
+ <xs:element name="LocationContactAndAddress" type="ns:LocationContactAndAddress" minOccurs="0"/>
369
+ <xs:element name="SpecialInstructions" type="xs:string" minOccurs="0"/>
370
+ <xs:element name="GeographicCoordinates" type="xs:string" minOccurs="0"/>
371
+ <xs:element name="LocationType" type="ns:FedExLocationType" minOccurs="0"/>
372
+ <xs:element name="Attributes" type="ns:LocationAttributesType" minOccurs="0" maxOccurs="unbounded"/>
373
+ <xs:element name="AcceptedCurrency" type="xs:string" minOccurs="0"/>
374
+ <xs:element name="LocationHolidays" type="ns:Holiday" minOccurs="0" maxOccurs="unbounded"/>
375
+ <xs:element name="MapUrl" type="xs:string" minOccurs="0"/>
376
+ <xs:element name="EntityId" type="xs:string" minOccurs="0"/>
377
+ <xs:element name="NormalHours" type="ns:LocationHours" minOccurs="0" maxOccurs="unbounded"/>
378
+ <xs:element name="ExceptionalHours" type="ns:LocationHours" minOccurs="0" maxOccurs="unbounded"/>
379
+ <xs:element name="HoursForEffectiveDate" type="ns:LocationHours" minOccurs="0" maxOccurs="unbounded"/>
380
+ <xs:element name="CarrierDetails" type="ns:CarrierDetail" minOccurs="0" maxOccurs="unbounded"/>
381
+ </xs:sequence>
382
+ </xs:complexType>
383
+ <xs:complexType name="LocationHours">
384
+ <xs:annotation>
385
+ <xs:documentation>Specifies the location hours for a location.</xs:documentation>
386
+ </xs:annotation>
387
+ <xs:sequence>
388
+ <xs:element name="DayofWeek" type="ns:DayOfWeekType" minOccurs="0"/>
389
+ <xs:element name="OperationalHours" type="ns:OperationalHoursType" minOccurs="0"/>
390
+ <xs:element name="Hours" type="ns:TimeRange" minOccurs="0" maxOccurs="unbounded"/>
391
+ </xs:sequence>
392
+ </xs:complexType>
393
+ <xs:simpleType name="LocationSearchFilterType">
394
+ <xs:annotation>
395
+ <xs:documentation>Specifies the crieteria used to filter the location search results.</xs:documentation>
396
+ </xs:annotation>
397
+ <xs:restriction base="xs:string">
398
+ <xs:enumeration value="EXCLUDE_LOCATIONS_OUTSIDE_STATE_OR_PROVINCE"/>
399
+ </xs:restriction>
400
+ </xs:simpleType>
401
+ <xs:simpleType name="LocationSortCriteriaType">
402
+ <xs:annotation>
403
+ <xs:documentation>Specifies the criterion to be used to sort the location details.</xs:documentation>
404
+ </xs:annotation>
405
+ <xs:restriction base="xs:string">
406
+ <xs:enumeration value="DISTANCE"/>
407
+ <xs:enumeration value="LATEST_EXPRESS_DROPOFF_TIME"/>
408
+ <xs:enumeration value="LATEST_GROUND_DROPOFF_TIME"/>
409
+ <xs:enumeration value="LOCATION_TYPE"/>
410
+ </xs:restriction>
411
+ </xs:simpleType>
412
+ <xs:complexType name="LocationSortDetail">
413
+ <xs:annotation>
414
+ <xs:documentation>Specifies the criterion and order to be used to sort the location details.</xs:documentation>
415
+ </xs:annotation>
416
+ <xs:sequence>
417
+ <xs:element name="Criterion" type="ns:LocationSortCriteriaType" minOccurs="0">
418
+ <xs:annotation>
419
+ <xs:documentation>Specifies the criterion to be used to sort the location details.</xs:documentation>
420
+ </xs:annotation>
421
+ </xs:element>
422
+ <xs:element name="Order" type="ns:LocationSortOrderType" minOccurs="0">
423
+ <xs:annotation>
424
+ <xs:documentation>Specifies sort order of the location details.</xs:documentation>
425
+ </xs:annotation>
426
+ </xs:element>
427
+ </xs:sequence>
428
+ </xs:complexType>
429
+ <xs:simpleType name="LocationSortOrderType">
430
+ <xs:annotation>
431
+ <xs:documentation>Specifies sort order of the location details.</xs:documentation>
432
+ </xs:annotation>
433
+ <xs:restriction base="xs:string">
434
+ <xs:enumeration value="HIGHEST_TO_LOWEST"/>
435
+ <xs:enumeration value="LOWEST_TO_HIGHEST"/>
436
+ </xs:restriction>
437
+ </xs:simpleType>
438
+ <xs:simpleType name="LocationsSearchCriteriaType">
439
+ <xs:annotation>
440
+ <xs:documentation>Specifies the criteria types that may be used to search for FedEx locations.</xs:documentation>
441
+ </xs:annotation>
442
+ <xs:restriction base="xs:string">
443
+ <xs:enumeration value="ADDRESS"/>
444
+ <xs:enumeration value="GEOGRAPHIC_COORDINATES"/>
445
+ <xs:enumeration value="PHONE_NUMBER"/>
446
+ </xs:restriction>
447
+ </xs:simpleType>
448
+ <xs:simpleType name="MultipleMatchesActionType">
449
+ <xs:restriction base="xs:string">
450
+ <xs:enumeration value="RETURN_ALL"/>
451
+ <xs:enumeration value="RETURN_ERROR"/>
452
+ <xs:enumeration value="RETURN_FIRST"/>
453
+ </xs:restriction>
454
+ </xs:simpleType>
455
+ <xs:complexType name="Notification">
456
+ <xs:annotation>
457
+ <xs:documentation>The descriptive data regarding the result of the submitted transaction.</xs:documentation>
458
+ </xs:annotation>
459
+ <xs:sequence>
460
+ <xs:element name="Severity" type="ns:NotificationSeverityType" minOccurs="0">
461
+ <xs:annotation>
462
+ <xs:documentation>The severity of this notification. This can indicate success or failure or some other information about the request. The values that can be returned are SUCCESS - Your transaction succeeded with no other applicable information. NOTE - Additional information that may be of interest to you about your transaction. WARNING - Additional information that you need to know about your transaction that you may need to take action on. ERROR - Information about an error that occurred while processing your transaction. FAILURE - FedEx was unable to process your transaction at this time due to a system failure. Please try again later</xs:documentation>
463
+ </xs:annotation>
464
+ </xs:element>
465
+ <xs:element name="Source" type="xs:string" minOccurs="0">
466
+ <xs:annotation>
467
+ <xs:documentation>Indicates the source of this notification. Combined with the Code it uniquely identifies this notification</xs:documentation>
468
+ </xs:annotation>
469
+ </xs:element>
470
+ <xs:element name="Code" type="xs:string" minOccurs="0">
471
+ <xs:annotation>
472
+ <xs:documentation>A code that represents this notification. Combined with the Source it uniquely identifies this notification.</xs:documentation>
473
+ </xs:annotation>
474
+ </xs:element>
475
+ <xs:element name="Message" type="xs:string" minOccurs="0">
476
+ <xs:annotation>
477
+ <xs:documentation>Human-readable text that explains this notification.</xs:documentation>
478
+ </xs:annotation>
479
+ </xs:element>
480
+ <xs:element name="LocalizedMessage" type="xs:string" minOccurs="0">
481
+ <xs:annotation>
482
+ <xs:documentation>The translated message. The language and locale specified in the ClientDetail. Localization are used to determine the representation. Currently only supported in a TrackReply.</xs:documentation>
483
+ </xs:annotation>
484
+ </xs:element>
485
+ <xs:element name="MessageParameters" type="ns:NotificationParameter" minOccurs="0" maxOccurs="unbounded">
486
+ <xs:annotation>
487
+ <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>
488
+ </xs:annotation>
489
+ </xs:element>
490
+ </xs:sequence>
491
+ </xs:complexType>
492
+ <xs:complexType name="NotificationParameter">
493
+ <xs:sequence>
494
+ <xs:element name="Id" type="xs:string" minOccurs="0">
495
+ <xs:annotation>
496
+ <xs:documentation>Identifies the type of data contained in Value (e.g. SERVICE_TYPE, PACKAGE_SEQUENCE, etc..).</xs:documentation>
497
+ </xs:annotation>
498
+ </xs:element>
499
+ <xs:element name="Value" type="xs:string" minOccurs="0">
500
+ <xs:annotation>
501
+ <xs:documentation>The value of the parameter (e.g. PRIORITY_OVERNIGHT, 2, etc..).</xs:documentation>
502
+ </xs:annotation>
503
+ </xs:element>
504
+ </xs:sequence>
505
+ </xs:complexType>
506
+ <xs:simpleType name="NotificationSeverityType">
507
+ <xs:restriction base="xs:string">
508
+ <xs:enumeration value="ERROR"/>
509
+ <xs:enumeration value="FAILURE"/>
510
+ <xs:enumeration value="NOTE"/>
511
+ <xs:enumeration value="SUCCESS"/>
512
+ <xs:enumeration value="WARNING"/>
513
+ </xs:restriction>
514
+ </xs:simpleType>
515
+ <xs:simpleType name="OperationalHoursType">
516
+ <xs:restriction base="xs:string">
517
+ <xs:enumeration value="CLOSED_ALL_DAY"/>
518
+ <xs:enumeration value="OPEN_ALL_DAY"/>
519
+ <xs:enumeration value="OPEN_BY_HOURS"/>
520
+ </xs:restriction>
521
+ </xs:simpleType>
522
+ <xs:complexType name="SearchLocationConstraints">
523
+ <xs:annotation>
524
+ <xs:documentation>Specifies additional constraints on the attributes of the locations being searched.</xs:documentation>
525
+ </xs:annotation>
526
+ <xs:sequence>
527
+ <xs:element name="RadiusDistance" type="ns:Distance" minOccurs="0">
528
+ <xs:annotation>
529
+ <xs:documentation>Specifies value and units of the radius around the address to search for FedEx locations.</xs:documentation>
530
+ </xs:annotation>
531
+ </xs:element>
532
+ <xs:element name="ExpressDropOffTimeNeeded" type="xs:time" minOccurs="0">
533
+ <xs:annotation>
534
+ <xs:documentation>The latest time at which the customer can drop off a package for being shipped using an express service.</xs:documentation>
535
+ </xs:annotation>
536
+ </xs:element>
537
+ <xs:element name="ResultsFilters" type="ns:LocationSearchFilterType" minOccurs="0" maxOccurs="unbounded">
538
+ <xs:annotation>
539
+ <xs:documentation>Specifies the criteria used to filter the results of locations search.</xs:documentation>
540
+ </xs:annotation>
541
+ </xs:element>
542
+ <xs:element name="SupportedRedirectToHoldServices" type="ns:SupportedRedirectToHoldServiceType" minOccurs="0" maxOccurs="unbounded">
543
+ <xs:annotation>
544
+ <xs:documentation>Specifies the types of services supported by a FedEx location for redirect to hold.</xs:documentation>
545
+ </xs:annotation>
546
+ </xs:element>
547
+ <xs:element name="RequiredLocationAttributes" type="ns:LocationAttributesType" minOccurs="0" maxOccurs="unbounded"/>
548
+ <xs:element name="ResultsToSkip" type="xs:nonNegativeInteger" minOccurs="0"/>
549
+ <xs:element name="ResultsRequested" type="xs:nonNegativeInteger" minOccurs="0"/>
550
+ <xs:element name="LocationContentOptions" type="ns:LocationContentOptionType" minOccurs="0" maxOccurs="unbounded"/>
551
+ <xs:element name="LocationTypesToInclude" type="ns:FedExLocationType" minOccurs="0" maxOccurs="unbounded"/>
552
+ </xs:sequence>
553
+ </xs:complexType>
554
+ <xs:complexType name="SearchLocationsReply">
555
+ <xs:sequence>
556
+ <xs:element name="HighestSeverity" type="ns:NotificationSeverityType" minOccurs="1"/>
557
+ <xs:element name="Notifications" type="ns:Notification" minOccurs="1" maxOccurs="unbounded"/>
558
+ <xs:element name="TransactionDetail" type="ns:TransactionDetail" minOccurs="0"/>
559
+ <xs:element name="Version" type="ns:VersionId" minOccurs="1"/>
560
+ <xs:element name="TotalResultsAvailable" type="xs:nonNegativeInteger" minOccurs="0">
561
+ <xs:annotation>
562
+ <xs:documentation>Specifies total number of location results that are available.</xs:documentation>
563
+ </xs:annotation>
564
+ </xs:element>
565
+ <xs:element name="ResultsReturned" type="xs:nonNegativeInteger" minOccurs="0">
566
+ <xs:annotation>
567
+ <xs:documentation>Specifies the number of location results returned in this reply.</xs:documentation>
568
+ </xs:annotation>
569
+ </xs:element>
570
+ <xs:element name="FormattedAddress" type="ns:Address" minOccurs="0">
571
+ <xs:annotation>
572
+ <xs:documentation>Specifies the address formatted to have correct postal code per USPS standards.</xs:documentation>
573
+ </xs:annotation>
574
+ </xs:element>
575
+ <xs:element name="AddressToLocationRelationships" type="ns:AddressToLocationRelationshipDetail" minOccurs="0" maxOccurs="unbounded">
576
+ <xs:annotation>
577
+ <xs:documentation>The details about the relationship between the address requested and the locations returned.</xs:documentation>
578
+ </xs:annotation>
579
+ </xs:element>
580
+ </xs:sequence>
581
+ </xs:complexType>
582
+ <xs:complexType name="SearchLocationsRequest">
583
+ <xs:sequence>
584
+ <xs:element name="WebAuthenticationDetail" type="ns:WebAuthenticationDetail" minOccurs="1">
585
+ <xs:annotation>
586
+ <xs:documentation>Descriptive data to be used in authentication of the sender's identity (and right to use FedEx web services).</xs:documentation>
587
+ </xs:annotation>
588
+ </xs:element>
589
+ <xs:element name="ClientDetail" type="ns:ClientDetail" minOccurs="1"/>
590
+ <xs:element name="TransactionDetail" type="ns:TransactionDetail" minOccurs="0"/>
591
+ <xs:element name="Version" type="ns:VersionId" minOccurs="1"/>
592
+ <xs:element name="EffectiveDate" type="xs:date" minOccurs="0"/>
593
+ <xs:element name="LocationsSearchCriterion" type="ns:LocationsSearchCriteriaType" minOccurs="0">
594
+ <xs:annotation>
595
+ <xs:documentation>Specifies the criterion that may be used to search for FedEx locations.</xs:documentation>
596
+ </xs:annotation>
597
+ </xs:element>
598
+ <xs:element name="Address" type="ns:Address" minOccurs="0"/>
599
+ <xs:element name="PhoneNumber" type="xs:string" minOccurs="0"/>
600
+ <xs:element name="GeographicCoordinates" type="xs:string" minOccurs="0"/>
601
+ <xs:element name="MultipleMatchesAction" type="ns:MultipleMatchesActionType" minOccurs="0">
602
+ <xs:annotation>
603
+ <xs:documentation>Specifies the criterion to be used to return location results when there are mutiple matches.</xs:documentation>
604
+ </xs:annotation>
605
+ </xs:element>
606
+ <xs:element name="SortDetail" type="ns:LocationSortDetail" minOccurs="0">
607
+ <xs:annotation>
608
+ <xs:documentation>Specifies the details on how the location search results be sorted in the reply.</xs:documentation>
609
+ </xs:annotation>
610
+ </xs:element>
611
+ <xs:element name="Constraints" type="ns:SearchLocationConstraints" minOccurs="0">
612
+ <xs:annotation>
613
+ <xs:documentation>Contraints to be applied to location attributes.</xs:documentation>
614
+ </xs:annotation>
615
+ </xs:element>
616
+ </xs:sequence>
617
+ </xs:complexType>
618
+ <xs:simpleType name="ShippingActionType">
619
+ <xs:restriction base="xs:string">
620
+ <xs:enumeration value="DELIVERIES"/>
621
+ <xs:enumeration value="PICKUPS"/>
622
+ </xs:restriction>
623
+ </xs:simpleType>
624
+ <xs:complexType name="ShippingHoliday">
625
+ <xs:sequence>
626
+ <xs:element name="Holiday" type="ns:Holiday" minOccurs="0"/>
627
+ <xs:element name="UnavailableActions" type="ns:ShippingActionType" minOccurs="0" maxOccurs="unbounded"/>
628
+ </xs:sequence>
629
+ </xs:complexType>
630
+ <xs:simpleType name="SupportedRedirectToHoldServiceType">
631
+ <xs:annotation>
632
+ <xs:documentation>Specifies the types of services supported by a FedEx location for redirect to hold.</xs:documentation>
633
+ </xs:annotation>
634
+ <xs:restriction base="xs:string">
635
+ <xs:enumeration value="FEDEX_EXPRESS"/>
636
+ <xs:enumeration value="FEDEX_GROUND"/>
637
+ <xs:enumeration value="FEDEX_GROUND_HOME_DELIVERY"/>
638
+ </xs:restriction>
639
+ </xs:simpleType>
640
+ <xs:complexType name="TimeRange">
641
+ <xs:sequence>
642
+ <xs:element name="Begins" type="xs:time" minOccurs="0"/>
643
+ <xs:element name="Ends" type="xs:time" minOccurs="0"/>
644
+ </xs:sequence>
645
+ </xs:complexType>
646
+ <xs:complexType name="TransactionDetail">
647
+ <xs:sequence>
648
+ <xs:element name="CustomerTransactionId" type="xs:string" minOccurs="0">
649
+ <xs:annotation>
650
+ <xs:documentation>Free form text to be echoed back in the reply. Used to match requests and replies.</xs:documentation>
651
+ </xs:annotation>
652
+ </xs:element>
653
+ <xs:element name="Localization" type="ns:Localization" minOccurs="0">
654
+ <xs:annotation>
655
+ <xs:documentation>Governs data payload language/translations (contrasted with ClientDetail.localization, which governs Notification.localizedMessage language selection).</xs:documentation>
656
+ </xs:annotation>
657
+ </xs:element>
658
+ </xs:sequence>
659
+ </xs:complexType>
660
+ <xs:complexType name="WebAuthenticationDetail">
661
+ <xs:annotation>
662
+ <xs:documentation>Used in authentication of the sender's identity.</xs:documentation>
663
+ </xs:annotation>
664
+ <xs:sequence>
665
+ <xs:element name="UserCredential" type="ns:WebAuthenticationCredential" minOccurs="1">
666
+ <xs:annotation>
667
+ <xs:documentation>Credential used to authenticate a specific software application. This value is provided by FedEx after registration.</xs:documentation>
668
+ </xs:annotation>
669
+ </xs:element>
670
+ </xs:sequence>
671
+ </xs:complexType>
672
+ <xs:complexType name="WebAuthenticationCredential">
673
+ <xs:annotation>
674
+ <xs:documentation>Two part authentication string used for the sender's identity</xs:documentation>
675
+ </xs:annotation>
676
+ <xs:sequence>
677
+ <xs:element name="Key" type="xs:string" minOccurs="1">
678
+ <xs:annotation>
679
+ <xs:documentation>Identifying part of authentication credential. This value is provided by FedEx after registration</xs:documentation>
680
+ </xs:annotation>
681
+ </xs:element>
682
+ <xs:element name="Password" type="xs:string" minOccurs="1">
683
+ <xs:annotation>
684
+ <xs:documentation>Secret part of authentication key. This value is provided by FedEx after registration.</xs:documentation>
685
+ </xs:annotation>
686
+ </xs:element>
687
+ </xs:sequence>
688
+ </xs:complexType>
689
+ <xs:complexType name="VersionId">
690
+ <xs:annotation>
691
+ <xs:documentation>Identifies the version/level of a service operation expected by a caller (in each request) and performed by the callee (in each reply).</xs:documentation>
692
+ </xs:annotation>
693
+ <xs:sequence>
694
+ <xs:element name="ServiceId" type="xs:string" fixed="gsai" minOccurs="1">
695
+ <xs:annotation>
696
+ <xs:documentation>Identifies a system or sub-system which performs an operation.</xs:documentation>
697
+ </xs:annotation>
698
+ </xs:element>
699
+ <xs:element name="Major" type="xs:int" fixed="1" minOccurs="1">
700
+ <xs:annotation>
701
+ <xs:documentation>Identifies the service business level.</xs:documentation>
702
+ </xs:annotation>
703
+ </xs:element>
704
+ <xs:element name="Intermediate" type="xs:int" fixed="0" minOccurs="1">
705
+ <xs:annotation>
706
+ <xs:documentation>Identifies the service interface level.</xs:documentation>
707
+ </xs:annotation>
708
+ </xs:element>
709
+ <xs:element name="Minor" type="xs:int" fixed="0" minOccurs="1">
710
+ <xs:annotation>
711
+ <xs:documentation>Identifies the service code level.</xs:documentation>
712
+ </xs:annotation>
713
+ </xs:element>
714
+ </xs:sequence>
715
+ </xs:complexType>
716
+ </xs:schema>
fedex/wsdl/LocatorService_v1.wsdl ADDED
@@ -0,0 +1,676 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:ns="http://fedex.com/ws/locator/v1" xmlns:s1="http://schemas.xmlsoap.org/wsdl/soap/" targetNamespace="http://fedex.com/ws/locator/v1" name="DropoffLocatorServiceDefinitions">
3
+ <types>
4
+ <xs:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://fedex.com/ws/locator/v1" xmlns:xs="http://www.w3.org/2001/XMLSchema">
5
+ <xs:element name="FedExLocatorRequest" type="ns:FedExLocatorRequest">
6
+ <xs:annotation>
7
+ <xs:documentation>The descriptive data sent to search for the nearest FedEx location.</xs:documentation>
8
+ </xs:annotation>
9
+ </xs:element>
10
+ <xs:element name="FedExLocatorReply" type="ns:FedExLocatorReply">
11
+ <xs:annotation>
12
+ <xs:documentation>The descriptive data returned for a drop off locator request. It is limited to a maximum of ten locations returned within a 50-mile radius.</xs:documentation>
13
+ </xs:annotation>
14
+ </xs:element>
15
+ <xs:complexType name="FedExLocatorRequest">
16
+ <xs:sequence>
17
+ <xs:element name="WebAuthenticationDetail" type="ns:WebAuthenticationDetail" minOccurs="1">
18
+ <xs:annotation>
19
+ <xs:documentation>The descriptive data to be used in authentication of the sender's identity (and right to use FedEx web services).</xs:documentation>
20
+ </xs:annotation>
21
+ </xs:element>
22
+ <xs:element name="ClientDetail" type="ns:ClientDetail">
23
+ <xs:annotation>
24
+ <xs:documentation>The descriptive data identifying the client submitting the transaction.</xs:documentation>
25
+ </xs:annotation>
26
+ </xs:element>
27
+ <xs:element name="TransactionDetail" type="ns:TransactionDetail" minOccurs="0">
28
+ <xs:annotation>
29
+ <xs:documentation>The descriptive data for this customer transaction. The TransactionDetail from the request is echoed back to the caller in the corresponding reply.</xs:documentation>
30
+ </xs:annotation>
31
+ </xs:element>
32
+ <xs:element name="Version" type="ns:VersionId" minOccurs="1">
33
+ <xs:annotation>
34
+ <xs:documentation>Identifies the version/level of a service operation expected by a caller (in each request) and performed by the callee (in each reply).</xs:documentation>
35
+ </xs:annotation>
36
+ </xs:element>
37
+ <xs:element name="BeginningRecordIndex" type="xs:int" minOccurs="0">
38
+ <xs:annotation>
39
+ <xs:documentation>The index of first location to be returned from among all matching locations. Defauls to 1.</xs:documentation>
40
+ </xs:annotation>
41
+ </xs:element>
42
+ <xs:element name="MaximumMatchCount" minOccurs="0">
43
+ <xs:annotation>
44
+ <xs:documentation>The maximum number of locations to be returned. Maximum count allowed is 25. Defaults to 10.</xs:documentation>
45
+ </xs:annotation>
46
+ <xs:simpleType>
47
+ <xs:restriction base="xs:positiveInteger"/>
48
+ </xs:simpleType>
49
+ </xs:element>
50
+ <xs:element name="DistanceUnits" type="ns:DistanceUnits" minOccurs="0">
51
+ <xs:annotation>
52
+ <xs:documentation>Units in which Distance to location is to be expressed. See DistanceUnits for list of returned values.</xs:documentation>
53
+ </xs:annotation>
54
+ </xs:element>
55
+ <xs:element name="NearToPhoneNumber" type="xs:string" minOccurs="0">
56
+ <xs:annotation>
57
+ <xs:documentation>Phone number for which nearby FedEx locations are to be found. This element is required if NearToAddress is not present.</xs:documentation>
58
+ <xs:appinfo>
59
+ <xs:MaxLength>10</xs:MaxLength>
60
+ </xs:appinfo>
61
+ </xs:annotation>
62
+ </xs:element>
63
+ <xs:element name="NearToAddress" type="ns:Address" minOccurs="0">
64
+ <xs:annotation>
65
+ <xs:documentation>The descriptive data of a physical location for which nearby FedEx locations are to be found. This element is required if NearToPhoneNumber is not present. Both City and StateOrProvinceCode child elements are required if PostalCode is not present.</xs:documentation>
66
+ </xs:annotation>
67
+ </xs:element>
68
+ <xs:element name="DropoffServicesDesired" type="ns:DropoffServicesDesired" minOccurs="0">
69
+ <xs:annotation>
70
+ <xs:documentation>The descriptive data about the various drop off services that must be available at the locations returned.</xs:documentation>
71
+ </xs:annotation>
72
+ </xs:element>
73
+ </xs:sequence>
74
+ </xs:complexType>
75
+ <xs:complexType name="WebAuthenticationDetail">
76
+ <xs:annotation>
77
+ <xs:documentation>Used in authentication of the sender's identity.</xs:documentation>
78
+ </xs:annotation>
79
+ <xs:sequence>
80
+ <xs:element name="CspCredential" type="ns:WebAuthenticationCredential" minOccurs="1">
81
+ <xs:annotation>
82
+ <xs:documentation>Credential used to authenticate a CSP product/version.</xs:documentation>
83
+ </xs:annotation>
84
+ </xs:element>
85
+ <xs:element name="UserCredential" type="ns:WebAuthenticationCredential" minOccurs="1">
86
+ <xs:annotation>
87
+ <xs:documentation>Credential used to authenticate a specific software application. This value is provided by FedEx after registration.</xs:documentation>
88
+ </xs:annotation>
89
+ </xs:element>
90
+ </xs:sequence>
91
+ </xs:complexType>
92
+ <xs:complexType name="WebAuthenticationCredential">
93
+ <xs:annotation>
94
+ <xs:documentation>Two part authentication string used for the sender's identity.</xs:documentation>
95
+ </xs:annotation>
96
+ <xs:sequence>
97
+ <xs:element name="Key" type="xs:string" minOccurs="1">
98
+ <xs:annotation>
99
+ <xs:documentation>Publicly known part of authentication key used for authentication. This value is provided by FedEx after registration.</xs:documentation>
100
+ <xs:appinfo>
101
+ <xs:MaxLength>16</xs:MaxLength>
102
+ </xs:appinfo>
103
+ </xs:annotation>
104
+ </xs:element>
105
+ <xs:element name="Password" type="xs:string" minOccurs="1">
106
+ <xs:annotation>
107
+ <xs:documentation>Secret part of authentication key used for authentication. This value is provided by FedEx after registration.</xs:documentation>
108
+ <xs:appinfo>
109
+ <xs:MaxLength>25</xs:MaxLength>
110
+ </xs:appinfo>
111
+ </xs:annotation>
112
+ </xs:element>
113
+ </xs:sequence>
114
+ </xs:complexType>
115
+ <xs:complexType name="ClientDetail">
116
+ <xs:annotation>
117
+ <xs:documentation>The descriptive data identifying the client submitting the transaction.</xs:documentation>
118
+ </xs:annotation>
119
+ <xs:sequence>
120
+ <xs:element name="AccountNumber" type="xs:string">
121
+ <xs:annotation>
122
+ <xs:documentation>Identifies the FedEx account number assigned to the customer.</xs:documentation>
123
+ <xs:appinfo>
124
+ <xs:MaxLength>12</xs:MaxLength>
125
+ </xs:appinfo>
126
+ </xs:annotation>
127
+ </xs:element>
128
+ <xs:element name="MeterNumber" type="xs:string">
129
+ <xs:annotation>
130
+ <xs:documentation>Identifies the unique client device submitting the request. </xs:documentation>
131
+ <xs:appinfo>
132
+ <xs:MaxLength>10</xs:MaxLength>
133
+ </xs:appinfo>
134
+ </xs:annotation>
135
+ </xs:element>
136
+ <xs:element name="CompanyId" type="xs:string" minOccurs="0">
137
+ <xs:annotation>
138
+ <xs:documentation>Passkey ID.</xs:documentation>
139
+ </xs:annotation>
140
+ </xs:element>
141
+ <xs:element name="ClientProductId" type="xs:string" minOccurs="1">
142
+ <xs:annotation>
143
+ <xs:documentation>Identifies the product.</xs:documentation>
144
+ <xs:appinfo>
145
+ <xs:MaxLength>4</xs:MaxLength>
146
+ </xs:appinfo>
147
+ </xs:annotation>
148
+ </xs:element>
149
+ <xs:element name="ClientProductVersion" type="xs:string" minOccurs="1">
150
+ <xs:annotation>
151
+ <xs:documentation>Identifies the product version.</xs:documentation>
152
+ <xs:appinfo>
153
+ <xs:MaxLength>4</xs:MaxLength>
154
+ </xs:appinfo>
155
+ </xs:annotation>
156
+ </xs:element>
157
+ <xs:element name="Localization" type="ns:Localization" minOccurs="0">
158
+ <xs:annotation>
159
+ <xs:documentation>Governs any future language/translations used for human-readable Notification.localizedMessages in responses to the request containing this ClientDetail object. Different requests from the same client may contain different Localization data. (Contrast with TransactionDetail.localization, which governs data payload language/translation.)</xs:documentation>
160
+ </xs:annotation>
161
+ </xs:element>
162
+ </xs:sequence>
163
+ </xs:complexType>
164
+ <xs:complexType name="DropoffServicesDesired">
165
+ <xs:annotation>
166
+ <xs:documentation>The descriptive data about the various drop off services.</xs:documentation>
167
+ </xs:annotation>
168
+ <xs:sequence>
169
+ <xs:element name="Express" type="xs:boolean" minOccurs="0">
170
+ <xs:annotation>
171
+ <xs:documentation>Locations that accept FedEx Express shipments.</xs:documentation>
172
+ </xs:annotation>
173
+ </xs:element>
174
+ <xs:element name="Ground" type="xs:boolean" minOccurs="0">
175
+ <xs:annotation>
176
+ <xs:documentation>Locations that accept FedEx Ground shipments.</xs:documentation>
177
+ </xs:annotation>
178
+ </xs:element>
179
+ <xs:element name="FedExStaffed" type="xs:boolean" minOccurs="0">
180
+ <xs:annotation>
181
+ <xs:documentation>Locations that are FedEx staffed.</xs:documentation>
182
+ </xs:annotation>
183
+ </xs:element>
184
+ <xs:element name="FedExSelfService" type="xs:boolean" minOccurs="0">
185
+ <xs:annotation>
186
+ <xs:documentation>Locations that are FedEx self-service.</xs:documentation>
187
+ </xs:annotation>
188
+ </xs:element>
189
+ <xs:element name="FedExAuthorizedShippingCenter" type="xs:boolean" minOccurs="0">
190
+ <xs:annotation>
191
+ <xs:documentation>Locations that are FedEx Authorized Shipping Centers.</xs:documentation>
192
+ </xs:annotation>
193
+ </xs:element>
194
+ <xs:element name="LatestExpressDropoff" type="xs:boolean" minOccurs="0">
195
+ <xs:annotation>
196
+ <xs:documentation>Locations with the latest Express drop-off time.</xs:documentation>
197
+ </xs:annotation>
198
+ </xs:element>
199
+ <xs:element name="ExpressDropoffAfterTime" type="xs:time" minOccurs="0">
200
+ <xs:annotation>
201
+ <xs:documentation>Locations that are open after this local time.</xs:documentation>
202
+ </xs:annotation>
203
+ </xs:element>
204
+ <xs:element name="HoldAtLocation" type="xs:boolean" minOccurs="0">
205
+ <xs:annotation>
206
+ <xs:documentation>Locations that support Hold at Location.</xs:documentation>
207
+ </xs:annotation>
208
+ </xs:element>
209
+ <xs:element name="DangerousGoods" type="xs:boolean" minOccurs="0">
210
+ <xs:annotation>
211
+ <xs:documentation>Locations that accept FedEx Express shipments containing hazardous materials.</xs:documentation>
212
+ </xs:annotation>
213
+ </xs:element>
214
+ <xs:element name="SaturdayService" type="xs:boolean" minOccurs="0">
215
+ <xs:annotation>
216
+ <xs:documentation>Locations open on Saturdays.</xs:documentation>
217
+ </xs:annotation>
218
+ </xs:element>
219
+ <xs:element name="PackingSupplies" type="xs:boolean" minOccurs="0">
220
+ <xs:annotation>
221
+ <xs:documentation>Locations that make packaging supplies available.</xs:documentation>
222
+ </xs:annotation>
223
+ </xs:element>
224
+ <xs:element name="PackingServices" type="xs:boolean" minOccurs="0">
225
+ <xs:annotation>
226
+ <xs:documentation>Locations that provide Pack and Ship services.</xs:documentation>
227
+ </xs:annotation>
228
+ </xs:element>
229
+ <xs:element name="ReturnSystem" type="xs:boolean" minOccurs="0">
230
+ <xs:annotation>
231
+ <xs:documentation>Locations that support FedEx Return System.</xs:documentation>
232
+ </xs:annotation>
233
+ </xs:element>
234
+ </xs:sequence>
235
+ </xs:complexType>
236
+ <xs:complexType name="FedExLocatorReply">
237
+ <xs:sequence>
238
+ <xs:element name="HighestSeverity" type="ns:NotificationSeverityType">
239
+ <xs:annotation>
240
+ <xs:documentation>Identifies the highest severity encountered when executing the request; in order from high to low: FAILURE, ERROR, WARNING, NOTE, SUCCESS.</xs:documentation>
241
+ </xs:annotation>
242
+ </xs:element>
243
+ <xs:element name="Notifications" type="ns:Notification" maxOccurs="unbounded">
244
+ <xs:annotation>
245
+ <xs:documentation>The descriptive data detailing the status of a sumbitted transaction.</xs:documentation>
246
+ </xs:annotation>
247
+ </xs:element>
248
+ <xs:element name="TransactionDetail" type="ns:TransactionDetail" minOccurs="0">
249
+ <xs:annotation>
250
+ <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>
251
+ </xs:annotation>
252
+ </xs:element>
253
+ <xs:element name="Version" type="ns:VersionId" minOccurs="0">
254
+ <xs:annotation>
255
+ <xs:documentation>Identifies the version/level of a service operation expected by a caller (in each request) and performed by the callee (in each reply).</xs:documentation>
256
+ </xs:annotation>
257
+ </xs:element>
258
+ <xs:element name="DropoffLocations" type="ns:DropoffLocation" minOccurs="0" maxOccurs="unbounded">
259
+ <xs:annotation>
260
+ <xs:documentation>Descriptive data for each of the drop-off locations matches found.</xs:documentation>
261
+ </xs:annotation>
262
+ </xs:element>
263
+ <xs:element name="AvailableRecordCount" type="xs:int" minOccurs="0">
264
+ <xs:annotation>
265
+ <xs:documentation>The total number of locations that matched the request criteria.</xs:documentation>
266
+ </xs:annotation>
267
+ </xs:element>
268
+ </xs:sequence>
269
+ </xs:complexType>
270
+ <xs:complexType name="Notification">
271
+ <xs:annotation>
272
+ <xs:documentation>The descriptive data regarding the results of the submitted transaction.</xs:documentation>
273
+ </xs:annotation>
274
+ <xs:sequence>
275
+ <xs:element name="Severity" type="ns:NotificationSeverityType">
276
+ <xs:annotation>
277
+ <xs:documentation>Identifies the severity of the Notification item. See NotificationSeverityType for list of returned values.</xs:documentation>
278
+ </xs:annotation>
279
+ </xs:element>
280
+ <xs:element name="Source" type="xs:string">
281
+ <xs:annotation>
282
+ <xs:documentation>Identifies the source - what FedEx system, sub-system, or component generated the Notification item.</xs:documentation>
283
+ </xs:annotation>
284
+ </xs:element>
285
+ <xs:element name="Code" type="xs:string" minOccurs="0">
286
+ <xs:annotation>
287
+ <xs:documentation>Identifies the error code generated by the FedEx system, sub-system or component.</xs:documentation>
288
+ <xs:appinfo>
289
+ <xs:MaxLength>8</xs:MaxLength>
290
+ </xs:appinfo>
291
+ </xs:annotation>
292
+ </xs:element>
293
+ <xs:element name="Message" type="xs:string" minOccurs="0">
294
+ <xs:annotation>
295
+ <xs:documentation>Identifies the error message text.</xs:documentation>
296
+ <xs:appinfo>
297
+ <xs:MaxLength>255</xs:MaxLength>
298
+ </xs:appinfo>
299
+ </xs:annotation>
300
+ </xs:element>
301
+ <xs:element name="LocalizedMessage" type="xs:string" minOccurs="0">
302
+ <xs:annotation>
303
+ <xs:documentation>Identifies the error message text in the localization requested. Currently not supported.</xs:documentation>
304
+ </xs:annotation>
305
+ </xs:element>
306
+ <xs:element name="MessageParameters" type="ns:NotificationParameter" minOccurs="0" maxOccurs="unbounded">
307
+ <xs:annotation>
308
+ <xs:documentation>Used internally by FedEx systems for message translation.</xs:documentation>
309
+ </xs:annotation>
310
+ </xs:element>
311
+ </xs:sequence>
312
+ </xs:complexType>
313
+ <xs:complexType name="NotificationParameter">
314
+ <xs:sequence>
315
+ <xs:element name="Id" type="xs:string" minOccurs="0">
316
+ <xs:annotation>
317
+ <xs:documentation>Name identifiying the type of the data in the element 'Value'</xs:documentation>
318
+ </xs:annotation>
319
+ </xs:element>
320
+ <xs:element name="Value" type="xs:string" minOccurs="0">
321
+ <xs:annotation>
322
+ <xs:documentation>The value that was used as the replacement parameter.</xs:documentation>
323
+ </xs:annotation>
324
+ </xs:element>
325
+ </xs:sequence>
326
+ </xs:complexType>
327
+ <xs:complexType name="TransactionDetail">
328
+ <xs:annotation>
329
+ <xs:documentation>The descriptive data that governs data payload language/translations.</xs:documentation>
330
+ </xs:annotation>
331
+ <xs:sequence>
332
+ <xs:element name="CustomerTransactionId" type="xs:string" minOccurs="0">
333
+ <xs:annotation>
334
+ <xs:documentation>Identifies a customer-supplied unique identifier for this transaction. It is returned in the reply message to aid in matching requests to replies.</xs:documentation>
335
+ <xs:appinfo>
336
+ <xs:MaxLength>40</xs:MaxLength>
337
+ </xs:appinfo>
338
+ </xs:annotation>
339
+ </xs:element>
340
+ <xs:element name="Localization" type="ns:Localization" minOccurs="0">
341
+ <xs:annotation>
342
+ <xs:documentation>Governs any future language/translations applied to the data payload (contrasted with ClientDetail.localization, which governs Notification.localizedMessage language selection).</xs:documentation>
343
+ </xs:annotation>
344
+ </xs:element>
345
+ </xs:sequence>
346
+ </xs:complexType>
347
+ <xs:complexType name="Localization">
348
+ <xs:annotation>
349
+ <xs:documentation>The descriptive data for the local language and locale (i.e. country).</xs:documentation>
350
+ </xs:annotation>
351
+ <xs:sequence>
352
+ <xs:element name="LanguageCode" type="xs:string">
353
+ <xs:annotation>
354
+ <xs:documentation>Identifies the language to use for human-readable messages.</xs:documentation>
355
+ <xs:appinfo>
356
+ <xs:MaxLength>2</xs:MaxLength>
357
+ </xs:appinfo>
358
+ </xs:annotation>
359
+ </xs:element>
360
+ <xs:element name="LocaleCode" type="xs:string" minOccurs="0">
361
+ <xs:annotation>
362
+ <xs:documentation>Identifies the locale (i.e. country code).</xs:documentation>
363
+ <xs:appinfo>
364
+ <xs:MaxLength>2</xs:MaxLength>
365
+ </xs:appinfo>
366
+ </xs:annotation>
367
+ </xs:element>
368
+ </xs:sequence>
369
+ </xs:complexType>
370
+ <xs:complexType name="VersionId">
371
+ <xs:annotation>
372
+ <xs:documentation>Identifies the version/level of a service operation expected by a caller (in each request) and performed by the callee (in each reply).</xs:documentation>
373
+ </xs:annotation>
374
+ <xs:sequence>
375
+ <xs:element name="ServiceId" type="xs:string" fixed="dloc" minOccurs="1">
376
+ <xs:annotation>
377
+ <xs:documentation>Identifies a system or sub-system which performs an operation.</xs:documentation>
378
+ </xs:annotation>
379
+ </xs:element>
380
+ <xs:element name="Major" type="xs:int" fixed="1" minOccurs="1">
381
+ <xs:annotation>
382
+ <xs:documentation>Identifies the service business level. For the initial FedEx Web Service release this value should be set to 1.</xs:documentation>
383
+ </xs:annotation>
384
+ </xs:element>
385
+ <xs:element name="Intermediate" type="xs:int" fixed="0" minOccurs="1">
386
+ <xs:annotation>
387
+ <xs:documentation>Identifies the service interface level. For the initial FedEx Web Service release this value should be set to 0.</xs:documentation>
388
+ </xs:annotation>
389
+ </xs:element>
390
+ <xs:element name="Minor" type="xs:int" fixed="0" minOccurs="1">
391
+ <xs:annotation>
392
+ <xs:documentation>Identifies the service code level. For the initial FedEx Web Service release this value should be set to 0.</xs:documentation>
393
+ </xs:annotation>
394
+ </xs:element>
395
+ </xs:sequence>
396
+ </xs:complexType>
397
+ <xs:complexType name="DropoffLocation">
398
+ <xs:annotation>
399
+ <xs:documentation>The descriptive data of locations matching the criteria provided in the drop of locator request. A maximum of ten different locations can be returned.</xs:documentation>
400
+ </xs:annotation>
401
+ <xs:sequence>
402
+ <xs:element name="BusinessName" type="xs:string" minOccurs="0">
403
+ <xs:annotation>
404
+ <xs:documentation>Name of the business at this location.</xs:documentation>
405
+ <xs:appinfo>
406
+ <xs:MaxLength>35</xs:MaxLength>
407
+ </xs:appinfo>
408
+ </xs:annotation>
409
+ </xs:element>
410
+ <xs:element name="BusinessId" type="xs:string" minOccurs="0">
411
+ <xs:annotation>
412
+ <xs:documentation>Identifier that can be used by IVR Attendant to look up directions to this location.</xs:documentation>
413
+ </xs:annotation>
414
+ </xs:element>
415
+ <xs:element name="BusinessDescription" type="xs:string" minOccurs="0">
416
+ <xs:annotation>
417
+ <xs:documentation>A textual description of the type of business, such as "FedEx Authorized Ship Center".</xs:documentation>
418
+ <xs:appinfo>
419
+ <xs:MaxLength>35</xs:MaxLength>
420
+ </xs:appinfo>
421
+ </xs:annotation>
422
+ </xs:element>
423
+ <xs:element name="BusinessAddress" type="ns:Address" minOccurs="0">
424
+ <xs:annotation>
425
+ <xs:documentation>The descriptive data of the physical location.</xs:documentation>
426
+ </xs:annotation>
427
+ </xs:element>
428
+ <xs:element name="Distance" type="ns:Distance" minOccurs="0">
429
+ <xs:annotation>
430
+ <xs:documentation>The descriptive data of the distance.</xs:documentation>
431
+ </xs:annotation>
432
+ </xs:element>
433
+ <xs:element name="ServiceProfile" type="ns:DropoffLocationProfile" minOccurs="0">
434
+ <xs:annotation>
435
+ <xs:documentation>The descriptive data of the services offered at this location.</xs:documentation>
436
+ </xs:annotation>
437
+ </xs:element>
438
+ <xs:element name="RecordIndex" minOccurs="0">
439
+ <xs:annotation>
440
+ <xs:documentation>Of the Total locations available this is the individual location identifier.</xs:documentation>
441
+ </xs:annotation>
442
+ <xs:simpleType>
443
+ <xs:restriction base="xs:nonNegativeInteger"/>
444
+ </xs:simpleType>
445
+ </xs:element>
446
+ </xs:sequence>
447
+ </xs:complexType>
448
+ <xs:complexType name="Address">
449
+ <xs:annotation>
450
+ <xs:documentation>The descriptive data for a physical location. </xs:documentation>
451
+ </xs:annotation>
452
+ <xs:sequence>
453
+ <xs:element name="StreetLines" type="xs:string" minOccurs="0" maxOccurs="2">
454
+ <xs:annotation>
455
+ <xs:documentation>Combination of number, street name, etc. Empty lines should not be included.</xs:documentation>
456
+ <xs:appinfo>
457
+ <xs:MaxLength>35</xs:MaxLength>
458
+ </xs:appinfo>
459
+ </xs:annotation>
460
+ </xs:element>
461
+ <xs:element name="City" type="xs:string" minOccurs="0">
462
+ <xs:annotation>
463
+ <xs:documentation>Name of city, town, etc. </xs:documentation>
464
+ <xs:appinfo>
465
+ <xs:MaxLength>35</xs:MaxLength>
466
+ </xs:appinfo>
467
+ </xs:annotation>
468
+ </xs:element>
469
+ <xs:element name="StateOrProvinceCode" type="xs:string" minOccurs="0">
470
+ <xs:annotation>
471
+ <xs:documentation>Identifying abbreviation for US state, Canada province, etc. Format and presence of this field will vary, depending on country.</xs:documentation>
472
+ <xs:appinfo>
473
+ <xs:MaxLength>2</xs:MaxLength>
474
+ </xs:appinfo>
475
+ </xs:annotation>
476
+ </xs:element>
477
+ <xs:element name="PostalCode" type="xs:string" minOccurs="0">
478
+ <xs:annotation>
479
+ <xs:documentation>Identification of a region (usually small) for mail/package delivery. Format and presence of this field will vary, depending on country.</xs:documentation>
480
+ <xs:appinfo>
481
+ <xs:MaxLength>16</xs:MaxLength>
482
+ </xs:appinfo>
483
+ </xs:annotation>
484
+ </xs:element>
485
+ <xs:element name="UrbanizationCode" type="xs:string" minOccurs="0">
486
+ <xs:annotation>
487
+ <xs:documentation>Relevant only to addresses in Puerto Rico. In Puerto Rico, multiple addresses within the same ZIP code can have the same house number and street name. When this is the case, the urbanization code is needed to distinguish them.</xs:documentation>
488
+ <xs:appinfo>
489
+ <xs:MaxLength>100</xs:MaxLength>
490
+ </xs:appinfo>
491
+ </xs:annotation>
492
+ </xs:element>
493
+ <xs:element name="CountryCode" type="xs:string" minOccurs="0">
494
+ <xs:annotation>
495
+ <xs:documentation>Identification of a country. Defaults to "US". Valid values: US - United States, CA - Canada.</xs:documentation>
496
+ <xs:appinfo>
497
+ <xs:MaxLength>2</xs:MaxLength>
498
+ </xs:appinfo>
499
+ </xs:annotation>
500
+ </xs:element>
501
+ <xs:element name="Residential" type="xs:boolean" minOccurs="0">
502
+ <xs:annotation>
503
+ <xs:documentation>Indicates whether this address is residential (as opposed to commercial).</xs:documentation>
504
+ </xs:annotation>
505
+ </xs:element>
506
+ </xs:sequence>
507
+ </xs:complexType>
508
+ <xs:complexType name="Distance">
509
+ <xs:annotation>
510
+ <xs:documentation>The descriptive data for distance.</xs:documentation>
511
+ </xs:annotation>
512
+ <xs:sequence>
513
+ <xs:element name="Value" type="xs:decimal">
514
+ <xs:annotation>
515
+ <xs:documentation>Identifies the value of distance from the point indicated by the search location (e.g. "12.5").</xs:documentation>
516
+ </xs:annotation>
517
+ </xs:element>
518
+ <xs:element name="Units" type="ns:DistanceUnits">
519
+ <xs:annotation>
520
+ <xs:documentation>Identifies the unit of distance from the point indicated by the search location (e.g. "MI"). See DistanceUnits for list of returned values.</xs:documentation>
521
+ </xs:annotation>
522
+ </xs:element>
523
+ </xs:sequence>
524
+ </xs:complexType>
525
+ <xs:complexType name="DropoffLocationProfile">
526
+ <xs:annotation>
527
+ <xs:documentation>The descriptive data about the various drop off services.</xs:documentation>
528
+ </xs:annotation>
529
+ <xs:sequence>
530
+ <xs:element name="ExpressService" type="xs:boolean" minOccurs="0">
531
+ <xs:annotation>
532
+ <xs:documentation>Identifies if this location offers FedEx Express services.</xs:documentation>
533
+ </xs:annotation>
534
+ </xs:element>
535
+ <xs:element name="GroundService" type="xs:boolean" minOccurs="0">
536
+ <xs:annotation>
537
+ <xs:documentation>Identifies if this location offers FedEx Ground service.</xs:documentation>
538
+ </xs:annotation>
539
+ </xs:element>
540
+ <xs:element name="HoursWeekdays" type="xs:string" minOccurs="0">
541
+ <xs:annotation>
542
+ <xs:documentation>This location's weekday (Monday-Friday) hours of operation.</xs:documentation>
543
+ <xs:appinfo>
544
+ <xs:MaxLength>35</xs:MaxLength>
545
+ </xs:appinfo>
546
+ </xs:annotation>
547
+ </xs:element>
548
+ <xs:element name="HoursSaturdays" type="xs:string" minOccurs="0">
549
+ <xs:annotation>
550
+ <xs:documentation>This location's Saturday hours of operation.</xs:documentation>
551
+ <xs:appinfo>
552
+ <xs:MaxLength>35</xs:MaxLength>
553
+ </xs:appinfo>
554
+ </xs:annotation>
555
+ </xs:element>
556
+ <xs:element name="LastExpressDropoffTimeWeekdays" type="xs:string" minOccurs="0">
557
+ <xs:annotation>
558
+ <xs:documentation>The time of day on weekdays by which FedEx Express packages must be dropped off for shipment that day.</xs:documentation>
559
+ <xs:appinfo>
560
+ <xs:MaxLength>35</xs:MaxLength>
561
+ </xs:appinfo>
562
+ </xs:annotation>
563
+ </xs:element>
564
+ <xs:element name="LastExpressDropoffTimeSaturdays" type="xs:string" minOccurs="0">
565
+ <xs:annotation>
566
+ <xs:documentation>The time of day on Saturdays by which FedEx Express packages must be dropped off for shipment that day.</xs:documentation>
567
+ <xs:appinfo>
568
+ <xs:MaxLength>35</xs:MaxLength>
569
+ </xs:appinfo>
570
+ </xs:annotation>
571
+ </xs:element>
572
+ <xs:element name="LastGroundDropoffTimeWeekdays" type="xs:string" minOccurs="0">
573
+ <xs:annotation>
574
+ <xs:documentation>The time of day on weekdays by which FedEx Ground packages must be dropped off for shipment that day.</xs:documentation>
575
+ <xs:appinfo>
576
+ <xs:MaxLength>35</xs:MaxLength>
577
+ </xs:appinfo>
578
+ </xs:annotation>
579
+ </xs:element>
580
+ <xs:element name="LastGroundDropoffTimeSaturdays" type="xs:string" minOccurs="0">
581
+ <xs:annotation>
582
+ <xs:documentation>The time of day on Saturdays by which FedEx Ground packages must be dropped off for shipment that day.</xs:documentation>
583
+ <xs:appinfo>
584
+ <xs:MaxLength>35</xs:MaxLength>
585
+ </xs:appinfo>
586
+ </xs:annotation>
587
+ </xs:element>
588
+ <xs:element name="HoldAtLocation" type="xs:boolean" minOccurs="0">
589
+ <xs:annotation>
590
+ <xs:documentation>Identifies if this location offers HAL (Hold at Location) service.</xs:documentation>
591
+ </xs:annotation>
592
+ </xs:element>
593
+ <xs:element name="DangerousGoods" type="xs:boolean" minOccurs="0">
594
+ <xs:annotation>
595
+ <xs:documentation>Identifies if this location accepts Hazardous materials.</xs:documentation>
596
+ </xs:annotation>
597
+ </xs:element>
598
+ <xs:element name="PackagingSupplies" type="xs:boolean" minOccurs="0">
599
+ <xs:annotation>
600
+ <xs:documentation>Identifies if this location makes packaging supplies available.</xs:documentation>
601
+ </xs:annotation>
602
+ </xs:element>
603
+ <xs:element name="PackagingServices" type="xs:boolean" minOccurs="0">
604
+ <xs:annotation>
605
+ <xs:documentation>Identifies if this location provides Pack and Ship services.</xs:documentation>
606
+ </xs:annotation>
607
+ </xs:element>
608
+ <xs:element name="ReturnSystem" type="xs:boolean" minOccurs="0">
609
+ <xs:annotation>
610
+ <xs:documentation>Identifies if this location supports FedEx Return System.</xs:documentation>
611
+ </xs:annotation>
612
+ </xs:element>
613
+ </xs:sequence>
614
+ </xs:complexType>
615
+ <xs:simpleType name="NotificationSeverityType">
616
+ <xs:annotation>
617
+ <xs:documentation>Identifies the set of severity values for a Notification.</xs:documentation>
618
+ </xs:annotation>
619
+ <xs:restriction base="xs:string">
620
+ <xs:enumeration value="ERROR"/>
621
+ <xs:enumeration value="FAILURE"/>
622
+ <xs:enumeration value="NOTE"/>
623
+ <xs:enumeration value="SUCCESS"/>
624
+ <xs:enumeration value="WARNING"/>
625
+ </xs:restriction>
626
+ </xs:simpleType>
627
+ <xs:simpleType name="DistanceUnits">
628
+ <xs:annotation>
629
+ <xs:documentation>Identifies the set of distance units for a Distance.</xs:documentation>
630
+ </xs:annotation>
631
+ <xs:restriction base="xs:string">
632
+ <xs:enumeration value="KM"/>
633
+ <xs:enumeration value="MI"/>
634
+ </xs:restriction>
635
+ </xs:simpleType>
636
+ </xs:schema>
637
+ </types>
638
+ <message name="FedExLocatorRequest">
639
+ <part name="FedExLocatorRequest" element="ns:FedExLocatorRequest">
640
+ <documentation>Defines the request data element of the operation.</documentation>
641
+ </part>
642
+ </message>
643
+ <message name="FedExLocatorReply">
644
+ <part name="FedExLocatorReply" element="ns:FedExLocatorReply">
645
+ <documentation>Defines the response data element of the operation.</documentation>
646
+ </part>
647
+ </message>
648
+ <portType name="LocatorPortType">
649
+ <documentation>This element describes the web service, the operations performed and the messages involved in the operation.</documentation>
650
+ <operation name="fedExLocator" parameterOrder="FedExLocatorRequest">
651
+ <input message="ns:FedExLocatorRequest">
652
+ <documentation>Defines the input message type for the fedExLocator operation.</documentation>
653
+ </input>
654
+ <output message="ns:FedExLocatorReply">
655
+ <documentation>Defines the output message type for the fedExLocator operation.</documentation>
656
+ </output>
657
+ </operation>
658
+ </portType>
659
+ <binding name="LocatorServiceSoapBinding" type="ns:LocatorPortType">
660
+ <s1:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
661
+ <operation name="fedExLocator">
662
+ <s1:operation soapAction="fedExLocator" style="document"/>
663
+ <input>
664
+ <s1:body use="literal"/>
665
+ </input>
666
+ <output>
667
+ <s1:body use="literal"/>
668
+ </output>
669
+ </operation>
670
+ </binding>
671
+ <service name="LocatorService">
672
+ <port name="LocatorServicePort" binding="ns:LocatorServiceSoapBinding">
673
+ <s1:address location="https://gatewaybeta.fedex.com:443/web-services"/>
674
+ </port>
675
+ </service>
676
+ </definitions>
package.xml ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <package>
3
+ <name>Webgility_FedEx_Hold_at_Location</name>
4
+ <version>0.1.0</version>
5
+ <stability>stable</stability>
6
+ <license>1.0</license>
7
+ <channel>community</channel>
8
+ <extends/>
9
+ <summary>Webgility provides software to help simplify and automate eCommerce your business. We offer a suite of products that enable online retailers to integrate with QuickBooks, </summary>
10
+ <description>Webgility provides software to help simplify and automate eCommerce your business. We offer a suite of products that enable online retailers to integrate with QuickBooks, streamline order fulfillment, and easily manage inventory. As a certified FedEx CSP partner, our software seamlessly integrates with FedEx services to provide comprehensive shipping solutions. With Hold at FedEx Location, you can offer more shipping options for your customers. With Shiplark, you can process orders and print shipping labels instantly. And eCC allows you to manage shipping, inventory, and QuickBooks from one central place. Webgility has helped thousands of small- and medium-sized companies save time and money by automating their eCommerce. </description>
11
+ <notes>Webgility provides software to help simplify and automate eCommerce your business. We offer a suite of products that enable online retailers to integrate with QuickBooks, </notes>
12
+ <authors><author><name>webgility</name><user>webgility</user><email>support@webgility.com</email></author></authors>
13
+ <date>2013-06-20</date>
14
+ <time>15:41:10</time>
15
+ <contents><target name="magecommunity"><dir name="Webgility"><dir name="HAL"><dir name="Block"><file name="View.php" hash="aac302648e755a7a2b36726bb0b18de2"/></dir><dir name="Helper"><file name="Data.php" hash="dc671ac62807f21e8abd46544af7be13"/></dir><dir name="Model"><dir name="Mysql4"><file name="Setup.php" hash="8c310c01b5c9a3e2fcaafd73862ec2e6"/></dir><file name="Mysql4.php" hash="8c310c01b5c9a3e2fcaafd73862ec2e6"/><file name="WgBaseResponse.php" hash="4fd679d5b0cd2493a0f9b2163a90754a"/><file name="WgSettings.php" hash="1b57660091acd462a6a83b23a751aaeb"/></dir><dir name="controllers"><file name="AdminController.php" hash="a0d3fbd2b04d7c833fef9989178c1915"/><file name="IndexController.php" hash="d34d9558beabf90fc8be3944cc758ea2"/></dir><dir name="etc"><file name="config.xml" hash="a915ecb1f29c4fc4f8f73592049546dc"/><file name="system.xml" hash="32073cd2e90333ebea0bb3dd04edbeac"/></dir><dir name="sql"><dir name="hal_setup"><file name="mysql4-install-0.1.0.php" hash="a8633296d2479358794445406068ec9c"/></dir></dir></dir></dir></target><target name="mage"><dir name="fedex"><file name="LocateShipAddressWebServiceClient1.php" hash="b9404510ecf18cd2b2009c0154a9fe26"/><file name="fedex_HAL.php" hash="8a1d3140ba2f527d54893c4ee67c4c6a"/><file name="fedex_meter.php" hash="0acbe02db98948cdfbc390a3ee608abd"/><file name="fedex_webgility.php" hash="9dd8e717a1a1b20103ce613be76d33d1"/><dir name="library"><file name="fedex-common.php" hash="96c75f6c496dff1ac3ebf58a652bdd79"/><file name="fedex-common_2.php" hash="0276d823ede68b2922f24962c962f0ce"/></dir><file name="webgility_portal.php" hash="ed5ea3663d5fbf0c318e865f6df3abea"/><dir name="wsdl"><file name="GlobalShipAddressServiceDefinitions.wsdl" hash="517e813293f5ae62329801646ce59352"/><file name="GlobalShipAddressService_v1.wsdl" hash="17083180c350262f0d51c55529aafede"/><file name="GlobalShipAddressService_v1.xml" hash="17083180c350262f0d51c55529aafede"/><file name="GlobalShipAddressService_v1.xsd" hash="034b3ad4de8a8e86c26ce051848e8f53"/><file name="GlobalShipAddressService_v1_old.wsdl" hash="b89db8255d2c5e19aee5fc8e0f115ec3"/><file name="GlobalShipAddressService_v1_old.xsd" hash="0aaa819d22684f8aa293f3e5db548939"/><file name="LocatorService_v1.wsdl" hash="048484af7158e747e42161dd437aed61"/></dir></dir></target><target name="magedesign"><dir name="frontend"><dir name="default"><dir name="default"><dir name="template"><dir name="hal"><dir name="onepage"><file name="shipping.phtml" hash="e0f7c4650940fe7028992bff2ed8c254"/></dir></dir></dir><dir name="layout"><file name="hal.xml" hash="7ca335f99371ac61b71a1373a08a04c6"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Webgility_HAL.xml" hash="ed5291d84c5072a2c1f5ae3f5188a3bc"/></dir></target></contents>
16
+ <compatible/>
17
+ <dependencies><required><php><min>5.1.0</min><max>6.0.0</max></php></required></dependencies>
18
+ </package>