Merge lp:~serpent-consulting-services/openerp-usa/shipping_api_6-1 into lp:openerp-usa/6.1.x

Proposed by Serpent Consulting Services
Status: Needs review
Proposed branch: lp:~serpent-consulting-services/openerp-usa/shipping_api_6-1
Merge into: lp:openerp-usa/6.1.x
Diff against target: 38070 lines (+37368/-0)
126 files modified
account_voucher_writeoff_us/Change Log.txt (+18/-0)
account_voucher_writeoff_us/__init__.py (+29/-0)
account_voucher_writeoff_us/__openerp__.py (+43/-0)
account_voucher_writeoff_us/account_voucher_writeoff.py (+101/-0)
account_voucher_writeoff_us/account_voucher_writeoff.xml (+36/-0)
account_voucher_writeoff_us/security/ir.model.access.csv (+7/-0)
partner_address_validation/Change Log.txt (+34/-0)
partner_address_validation/__init__.py (+30/-0)
partner_address_validation/__openerp__.py (+54/-0)
partner_address_validation/fedex/__init__.py (+55/-0)
partner_address_validation/fedex/base_service.py (+229/-0)
partner_address_validation/fedex/config.py (+68/-0)
partner_address_validation/fedex/services/__init__.py (+5/-0)
partner_address_validation/fedex/services/address_validation_service.py (+84/-0)
partner_address_validation/fedex/services/package_movement.py (+100/-0)
partner_address_validation/fedex/services/rate_service.py (+128/-0)
partner_address_validation/fedex/services/ship_service.py (+198/-0)
partner_address_validation/fedex/services/track_service.py (+85/-0)
partner_address_validation/fedex/wsdl/AddressValidationService_v2.wsdl (+603/-0)
partner_address_validation/fedex/wsdl/CloseService_v2.wsdl (+548/-0)
partner_address_validation/fedex/wsdl/CourierDispatchService_v3.wsdl (+1075/-0)
partner_address_validation/fedex/wsdl/NewWSDLFile.wsdl (+50/-0)
partner_address_validation/fedex/wsdl/PackageMovementInformationService_v4.wsdl (+592/-0)
partner_address_validation/fedex/wsdl/RateService_v8.wsdl (+4749/-0)
partner_address_validation/fedex/wsdl/ReturnTagService_v1.wsdl (+421/-0)
partner_address_validation/fedex/wsdl/ShipService_v7.wsdl (+4656/-0)
partner_address_validation/fedex/wsdl/TrackService_v4.wsdl (+1395/-0)
partner_address_validation/fedex/wsdl/test_server_wsdl/AddressValidationService_v2.wsdl (+603/-0)
partner_address_validation/fedex/wsdl/test_server_wsdl/CloseService_v2.wsdl (+548/-0)
partner_address_validation/fedex/wsdl/test_server_wsdl/CourierDispatchService_v3.wsdl (+1075/-0)
partner_address_validation/fedex/wsdl/test_server_wsdl/PackageMovementInformationService_v4.wsdl (+592/-0)
partner_address_validation/fedex/wsdl/test_server_wsdl/RateService_v8.wsdl (+4749/-0)
partner_address_validation/fedex/wsdl/test_server_wsdl/ReturnTagService_v1.wsdl (+421/-0)
partner_address_validation/fedex/wsdl/test_server_wsdl/ShipService_v7.wsdl (+4656/-0)
partner_address_validation/fedex/wsdl/test_server_wsdl/TrackService_v4.wsdl (+1395/-0)
partner_address_validation/fedex_account.py (+119/-0)
partner_address_validation/fedex_account_view.xml (+61/-0)
partner_address_validation/partner_address_validation.py (+142/-0)
partner_address_validation/partner_address_validation_view.xml (+81/-0)
partner_address_validation/res_company.py (+55/-0)
partner_address_validation/res_company_view.xml (+17/-0)
partner_address_validation/response.xml (+1/-0)
partner_address_validation/security/ir.model.access.csv (+13/-0)
partner_address_validation/ups_account.py (+360/-0)
partner_address_validation/ups_account_view.xml (+64/-0)
partner_address_validation/usps/addressinformation/__init__.py (+5/-0)
partner_address_validation/usps/addressinformation/base.py (+106/-0)
partner_address_validation/usps_account.py (+96/-0)
partner_address_validation/usps_account_view.xml (+59/-0)
partner_address_validation/validation_account_view.xml (+148/-0)
partner_address_validation/wizard/__init__.py (+26/-0)
partner_address_validation/wizard/address_validate_view.xml (+37/-0)
partner_address_validation/wizard/response_data_view.xml (+27/-0)
partner_address_validation/wizard/saleorder_address_validation.py (+162/-0)
partner_address_validation/wizard/saleorder_validation_view.xml (+59/-0)
partner_address_validation/wizard/wizard_address_validation.py (+130/-0)
partner_address_validation/wizard_address_validation_view.xml (+21/-0)
partner_address_validation/xml2dic.py (+44/-0)
partner_address_zipsearch_us/Change Log.txt (+18/-0)
partner_address_zipsearch_us/__init__.py (+26/-0)
partner_address_zipsearch_us/__openerp__.py (+44/-0)
partner_address_zipsearch_us/partner_address_zip.py (+84/-0)
partner_address_zipsearch_us/partner_address_zip_view.xml (+60/-0)
partner_address_zipsearch_us/security/ir.model.access.csv (+6/-0)
partner_address_zipsearch_us/zip.py (+54/-0)
partner_address_zipsearch_us/zip_view.xml (+65/-0)
sale_negotiated_shipping/Change Log.txt (+41/-0)
sale_negotiated_shipping/__init__.py (+29/-0)
sale_negotiated_shipping/__openerp__.py (+46/-0)
sale_negotiated_shipping/account_invoice.py (+243/-0)
sale_negotiated_shipping/invoice_view.xml (+55/-0)
sale_negotiated_shipping/sale.py (+98/-0)
sale_negotiated_shipping/sale_nagotiated_shipping_view.xml (+215/-0)
sale_negotiated_shipping/sale_negotiate_view.xml (+52/-0)
sale_negotiated_shipping/sale_negotiated_shipping.py (+164/-0)
sale_negotiated_shipping/sale_view.xml (+46/-0)
sale_negotiated_shipping/security/ir.model.access.csv (+14/-0)
sale_negotiated_shipping/security/sale_security.xml (+13/-0)
sale_negotiated_shipping/stock.py (+53/-0)
sale_negotiated_shipping/stock_view.xml (+93/-0)
sale_negotiated_shipping/wizard/__init__.py (+25/-0)
sale_negotiated_shipping/wizard/shipping_rate_calculation.py (+84/-0)
sale_negotiated_shipping/wizard/shipping_rate_view.xml (+41/-0)
sale_negotiated_shipping/wizard_view.xml (+10/-0)
sale_weight/__init__.py (+23/-0)
sale_weight/__terp__.py (+37/-0)
sale_weight/i18n/fr_FR.po (+53/-0)
sale_weight/i18n/sale_weight.pot (+53/-0)
sale_weight/sale_weight.py (+89/-0)
sale_weight/sale_weight_view.xml (+57/-0)
shipping_api/Change Log.txt (+136/-0)
shipping_api/__init__.py (+34/-0)
shipping_api/__openerp__.py (+50/-0)
shipping_api/company_view.xml (+22/-0)
shipping_api/email_template.py (+32/-0)
shipping_api/email_template_view.xml (+20/-0)
shipping_api/logistic_company.py (+65/-0)
shipping_api/logistic_company_view.xml (+63/-0)
shipping_api/report/__init__.py (+27/-0)
shipping_api/report/label_print.py (+59/-0)
shipping_api/report/label_print.rml (+59/-0)
shipping_api/report/multiple_label_print.rml (+67/-0)
shipping_api/report/normalized_oo2rml.xsl (+696/-0)
shipping_api/report/package_packing_slip.rml (+414/-0)
shipping_api/report/packing_slip.py (+96/-0)
shipping_api/report/shipping_report.xml (+50/-0)
shipping_api/report/summary_report.py (+53/-0)
shipping_api/report/summary_report.rml (+97/-0)
shipping_api/report/tiny_sxw2rml.py (+376/-0)
shipping_api/res_company.py (+34/-0)
shipping_api/sale.py (+48/-0)
shipping_api/sale_view.xml (+26/-0)
shipping_api/security/ir.model.access.csv (+9/-0)
shipping_api/security/sale_security.xml (+13/-0)
shipping_api/shipping.py (+91/-0)
shipping_api/shipping_report.xml (+46/-0)
shipping_api/shipping_view.xml (+99/-0)
shipping_api/stock.py (+349/-0)
shipping_api/stock_package_data.xml (+61/-0)
shipping_api/stock_package_view.xml (+234/-0)
shipping_api/stock_packages.py (+244/-0)
shipping_api/stock_view.xml (+251/-0)
shipping_api/wizard/__init__.py (+25/-0)
shipping_api/wizard/shipping_rate_calculation.py (+100/-0)
shipping_api/wizard/shipping_rate_view.xml (+30/-0)
shipping_api/xml2dic.py (+36/-0)
To merge this branch: bzr merge lp:~serpent-consulting-services/openerp-usa/shipping_api_6-1
Reviewer Review Type Date Requested Status
npg Pending
Review via email: mp+137868@code.launchpad.net
To post a comment you must log in.

Unmerged revisions

81. By Serpent Consulting Services

[ADD] Added 6.1 compatible modules useful for shipping_api

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== added directory 'account_voucher_writeoff_us'
2=== added file 'account_voucher_writeoff_us/Change Log.txt'
3--- account_voucher_writeoff_us/Change Log.txt 1970-01-01 00:00:00 +0000
4+++ account_voucher_writeoff_us/Change Log.txt 2012-12-04 14:51:26 +0000
5@@ -0,0 +1,18 @@
6+
7+===============================================================================
8+ Version Change Log (account_voucher_writeoff_us)
9+===============================================================================
10+1.05 -> 1.06 (2012-03-21) by Vinod
11+ * Code clean-up
12+
13+1.04 -> 1.05 (2012-02-09) By Janeesh
14+ * Added security for account.voucher.line.writeoff
15+1.03 -> 1.04 (2011-06-10) By Jabir
16+ * Added Security for the model created from this module
17+
18+1.02 -> 1.03 (2011-02-04) By Sinoj
19+ * Optimization and cleanup
20+
21+1.01 -> 1.02 (2010-12-06) By jabir
22+ * Take invoice partner instead of moveline partner
23+
24
25=== added file 'account_voucher_writeoff_us/__init__.py'
26--- account_voucher_writeoff_us/__init__.py 1970-01-01 00:00:00 +0000
27+++ account_voucher_writeoff_us/__init__.py 2012-12-04 14:51:26 +0000
28@@ -0,0 +1,29 @@
29+# -*- coding: utf-8 -*-
30+##############################################################################
31+#
32+# OpenERP, Open Source Management Solution
33+# Copyright (C) 2011 NovaPoint Group LLC (<http://www.novapointgroup.com>)
34+# Copyright (C) 2004-2010 OpenERP SA (<http://www.openerp.com>)
35+#
36+# This program is free software: you can redistribute it and/or modify
37+# it under the terms of the GNU General Public License as published by
38+# the Free Software Foundation, either version 3 of the License, or
39+# (at your option) any later version.
40+#
41+# This program is distributed in the hope that it will be useful,
42+# but WITHOUT ANY WARRANTY; without even the implied warranty of
43+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
44+# GNU General Public License for more details.
45+#
46+# You should have received a copy of the GNU General Public License
47+# along with this program. If not, see <http://www.gnu.org/licenses/>
48+#
49+##############################################################################
50+'''
51+ TODO : Add access rules for all objects in the module
52+
53+'''
54+import account_voucher_writeoff
55+
56+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
57+
58
59=== added file 'account_voucher_writeoff_us/__openerp__.py'
60--- account_voucher_writeoff_us/__openerp__.py 1970-01-01 00:00:00 +0000
61+++ account_voucher_writeoff_us/__openerp__.py 2012-12-04 14:51:26 +0000
62@@ -0,0 +1,43 @@
63+# -*- coding: utf-8 -*-
64+##############################################################################
65+#
66+# OpenERP, Open Source Management Solution
67+# Copyright (C) 2011 NovaPoint Group LLC (<http://www.novapointgroup.com>)
68+# Copyright (C) 2004-2010 OpenERP SA (<http://www.openerp.com>)
69+#
70+# This program is free software: you can redistribute it and/or modify
71+# it under the terms of the GNU General Public License as published by
72+# the Free Software Foundation, either version 3 of the License, or
73+# (at your option) any later version.
74+#
75+# This program is distributed in the hope that it will be useful,
76+# but WITHOUT ANY WARRANTY; without even the implied warranty of
77+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
78+# GNU General Public License for more details.
79+#
80+# You should have received a copy of the GNU General Public License
81+# along with this program. If not, see <http://www.gnu.org/licenses/>
82+#
83+##############################################################################
84+
85+{
86+ "name": "Voucher modifications for US",
87+ "version": "0.06",
88+ "author": 'NovaPoint Group LLC',
89+ "description": """
90+
91+ """,
92+ "category": "Generic Modules/Accounting",
93+ "website": "http://www.novapointgroup.com/",
94+ "depends": ["account_voucher_credits_us","account_payment"],
95+ "init_xml": [],
96+ "demo_xml": [],
97+ "update_xml": [
98+ "account_voucher_writeoff.xml",
99+ "security/ir.model.access.csv"],
100+ "test": [],
101+ "auto_install":False,
102+ "installable": True,
103+ }
104+
105+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
106
107=== added file 'account_voucher_writeoff_us/account_voucher_writeoff.py'
108--- account_voucher_writeoff_us/account_voucher_writeoff.py 1970-01-01 00:00:00 +0000
109+++ account_voucher_writeoff_us/account_voucher_writeoff.py 2012-12-04 14:51:26 +0000
110@@ -0,0 +1,101 @@
111+# -*- coding: utf-8 -*-
112+##############################################################################
113+#
114+# OpenERP, Open Source Management Solution
115+# Copyright (C) 2011 NovaPoint Group LLC (<http://www.novapointgroup.com>)
116+# Copyright (C) 2004-2010 OpenERP SA (<http://www.openerp.com>)
117+#
118+# This program is free software: you can redistribute it and/or modify
119+# it under the terms of the GNU General Public License as published by
120+# the Free Software Foundation, either version 3 of the License, or
121+# (at your option) any later version.
122+#
123+# This program is distributed in the hope that it will be useful,
124+# but WITHOUT ANY WARRANTY; without even the implied warranty of
125+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
126+# GNU General Public License for more details.
127+#
128+# You should have received a copy of the GNU General Public License
129+# along with this program. If not, see <http://www.gnu.org/licenses/>
130+#
131+##############################################################################
132+
133+from osv import fields, osv
134+from tools.translate import _
135+
136+class account_voucher_line(osv.osv):
137+ """
138+ New function and field to calculate the write-off amount for each voucher line
139+ """
140+ _inherit = 'account.voucher.line'
141+
142+ def _calc_writeoff(self, cr, uid, ids, name, args, context=None):
143+ """
144+ Update Write Off amount
145+ """
146+ res = {}
147+ for line in self.browse(cr, uid, ids, context=context):
148+ writeoff_amount = 0
149+ for writeoff in line.writeoff_ids:
150+ writeoff_amount += writeoff.writeoff_amount
151+ res[line.id] = writeoff_amount
152+ return res
153+
154+ _columns = {
155+ 'writeoff_ids': fields.one2many('account.voucher.line.writeoff', 'voucher_line_id', 'Write-Off Lines'),
156+ 'writeoff_amount': fields.function(_calc_writeoff, method=True, string='Write-off Amt', type='float', store=False),
157+ }
158+
159+account_voucher_line()
160+
161+
162+class account_voucher_line_writeoff(osv.osv):
163+ """
164+ Lines to enter write-off amount for each voucher lines
165+ """
166+ _name = "account.voucher.line.writeoff"
167+ _rec_name = 'voucher_line_id'
168+
169+ def _check_amount(self, cr, uid, ids):
170+ """
171+ -ve write-off amount is not acceptable
172+ """
173+ for rec in self.read(cr, uid, ids, ['writeoff_amount']):
174+ if rec['writeoff_amount'] < 0:
175+ return False
176+ return True
177+
178+ def _get_gl_account(self, cr, uid, context=None):
179+ """
180+ Find the default GL account for writeoff
181+ """
182+ user = self.pool.get('res.users').browse(cr, uid, uid, context=context)
183+ account_id = False
184+ if user and user.company_id and user.company_id.writeoff_account:
185+ account_id = user.company_id.writeoff_account.id
186+ return account_id
187+
188+ _columns = {
189+ 'voucher_line_id': fields.many2one('account.voucher.line', 'Account Voucher Line', ondelete='cascade', readonly=True),
190+ 'writeoff_amount': fields.float('Write-Off Amt', help='The amount of this invoice to write-off.', readonly=False),
191+ 'gl_account': fields.many2one('account.account', 'G/L Account', help='Enter the General Ledger account number to record the Bad Debt Expense.',
192+ required=True),
193+ }
194+
195+ _defaults = {
196+ 'gl_account': _get_gl_account,
197+ }
198+
199+ _constraints = [
200+ (_check_amount, 'Warning! You can not create record with Write-Off Amt less than zero.', ['writeoff_amount'])
201+ ]
202+
203+ def onchange_writeoff_amount(self, cr, uid, id, writeoff_amount):
204+ res = {}
205+ if writeoff_amount < 0:
206+ raise osv.except_osv(_('Warning!'), _('You can not create record with Write-Off Amt less than zero.'))
207+ return res
208+
209+account_voucher_line_writeoff()
210+
211+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
212\ No newline at end of file
213
214=== added file 'account_voucher_writeoff_us/account_voucher_writeoff.xml'
215--- account_voucher_writeoff_us/account_voucher_writeoff.xml 1970-01-01 00:00:00 +0000
216+++ account_voucher_writeoff_us/account_voucher_writeoff.xml 2012-12-04 14:51:26 +0000
217@@ -0,0 +1,36 @@
218+<?xml version="1.0" encoding="UTF-8"?>
219+<openerp>
220+ <data>
221+ <!-- Account voucher From-->
222+
223+ <record model="ir.ui.view" id="view_vendor_receipt_form_1">
224+ <field name="name">account.voucher.receipt.form.1.inherited</field>
225+ <field name="model">account.voucher</field>
226+ <field name="type">form</field>
227+ <field name="inherit_id" ref="account_voucher_credits_us.view_vendor_receipt_form_1"/>
228+ <field name="arch" type="xml">
229+ <xpath expr="/form/notebook/page[@string='Payment Information']/field/tree/field[@name='credit_used']" position="after">
230+ <field name="writeoff_amount" readonly="1"/>
231+ </xpath>
232+ <xpath expr="/form/notebook/page[@string='Payment Information']/field[@name='line_cr_ids']/form/group[@string='Invoice']/
233+ group[@color='red']/field[@name='credit_used']" position="after">
234+ <newline />
235+ <field name="writeoff_amount" readonly="1"/>
236+ </xpath>
237+ <xpath expr="/form/notebook/page[@string='Payment Information']/field[@name='line_cr_ids']/form/notebook/page[@string='Credit']"
238+ position="after">
239+ <page string="Write-Off">
240+ <field name="writeoff_ids" nolabel="1" colspan="4" string="Write-Off" view_mode="tree">
241+ <tree string="Write-Off" editable="top">
242+ <field name="writeoff_amount" on_change="onchange_writeoff_amount(writeoff_amount)"/>
243+ <field name="gl_account"/>
244+ </tree>
245+ </field>
246+ </page>
247+ </xpath>
248+ </field>
249+ </record>
250+
251+ </data>
252+</openerp>
253+
254\ No newline at end of file
255
256=== added directory 'account_voucher_writeoff_us/security'
257=== added file 'account_voucher_writeoff_us/security/ir.model.access.csv'
258--- account_voucher_writeoff_us/security/ir.model.access.csv 1970-01-01 00:00:00 +0000
259+++ account_voucher_writeoff_us/security/ir.model.access.csv 2012-12-04 14:51:26 +0000
260@@ -0,0 +1,7 @@
261+"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
262+"access_account_voucher_line_writeoff","account.voucher.line.writeoff","model_account_voucher_line_writeoff","base.group_user",1,1,1,1
263+"access_account_voucher_line_writeoff_user","account.voucher.line.writeoff.user","model_account_voucher_line_writeoff","account.group_account_user",1,0,0,0
264+"access_account_voucher_line_writeoff_manager","account.voucher.line.writeoff.manager","model_account_voucher_line_writeoff","account.group_account_manager",1,1,1,1
265+"access_account_voucher_line_writeoff_invoice","account.voucher.line.writeoff.invoice","model_account_voucher_line_writeoff","account.group_account_invoice",1,0,0,0
266+"access_account_voucher_line_writeoff_payment","account.voucher.line.writeoff.payment","model_account_voucher_line_writeoff","account_payment.group_account_payment",1,1,1,1
267+
268
269=== added directory 'partner_address_validation'
270=== added file 'partner_address_validation/Change Log.txt'
271--- partner_address_validation/Change Log.txt 1970-01-01 00:00:00 +0000
272+++ partner_address_validation/Change Log.txt 2012-12-04 14:51:26 +0000
273@@ -0,0 +1,34 @@
274+===============================================================================
275+ Version Change Log (partner_address_validation)
276+===============================================================================
277+Version 1.14 on 2012-12-1 by Atul
278+ * Fixing error on installation
279+Version 1.14 on 2012-05-30 by Janeesh
280+ * Fixing error on installation
281+Version 1.13 on 2011-11-10 by Arif
282+ * Fixed bug: Sale Order Address Validation was not considerd the validation method
283+ selected in sale order, instead it used the validation method specified in address
284+Version 1.12 on 2011-11-10 by Arif
285+ * Merged Configuration menus for Validation Accounts
286+1.11 on 31 OCT
287+ * Made Classification field editable
288+1.10 on 25 OCT
289+ * Classification for UPS ( Residential / Commercial ) in address validations
290+Version 1.09 on 13-OCT-2011
291+ * FedEx Integration
292+Version 1.08
293+ * Fixed second and third address not updating in sale order address validation
294+Version 1.07
295+ * Fixed wrong address updating in validation process
296+ * Add security for all models
297+Version 1.06
298+ * Select one address by default in sale order address validation
299+Version 1.05
300+ * Fixed wrong address updating in validation process
301+Version 1.04
302+ * Changed the address validation wizard on sale order, partner and partner address from old "wizard.interface" to newer "orm.memory" type
303+Version 1.03
304+ * Added address validation wizard for partner address
305+ * Added Last Address Validation and Address validation button on partner address, partner and sale order view
306+ * Changed the address format displayed on address field
307+ * Added address_validation_method on configuration of company
308
309=== added file 'partner_address_validation/__init__.py'
310--- partner_address_validation/__init__.py 1970-01-01 00:00:00 +0000
311+++ partner_address_validation/__init__.py 2012-12-04 14:51:26 +0000
312@@ -0,0 +1,30 @@
313+# -*- coding: utf-8 -*-
314+##############################################################################
315+#
316+# OpenERP, Open Source Management Solution
317+# Copyright (C) 2011 NovaPoint Group LLC (<http://www.novapointgroup.com>)
318+# Copyright (C) 2004-2010 OpenERP SA (<http://www.openerp.com>)
319+#
320+# This program is free software: you can redistribute it and/or modify
321+# it under the terms of the GNU General Public License as published by
322+# the Free Software Foundation, either version 3 of the License, or
323+# (at your option) any later version.
324+#
325+# This program is distributed in the hope that it will be useful,
326+# but WITHOUT ANY WARRANTY; without even the implied warranty of
327+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
328+# GNU General Public License for more details.
329+#
330+# You should have received a copy of the GNU General Public License
331+# along with this program. If not, see <http://www.gnu.org/licenses/>
332+#
333+##############################################################################
334+
335+import res_company
336+import partner_address_validation
337+import ups_account
338+import fedex_account
339+import usps_account
340+import wizard
341+
342+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
343
344=== added file 'partner_address_validation/__openerp__.py'
345--- partner_address_validation/__openerp__.py 1970-01-01 00:00:00 +0000
346+++ partner_address_validation/__openerp__.py 2012-12-04 14:51:26 +0000
347@@ -0,0 +1,54 @@
348+# -*- coding: utf-8 -*-
349+##############################################################################
350+#
351+# OpenERP, Open Source Management Solution
352+# Copyright (C) 2011 NovaPoint Group LLC (<http://www.novapointgroup.com>)
353+# Copyright (C) 2004-2010 OpenERP SA (<http://www.openerp.com>)
354+#
355+# This program is free software: you can redistribute it and/or modify
356+# it under the terms of the GNU General Public License as published by
357+# the Free Software Foundation, either version 3 of the License, or
358+# (at your option) any later version.
359+#
360+# This program is distributed in the hope that it will be useful,
361+# but WITHOUT ANY WARRANTY; without even the implied warranty of
362+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
363+# GNU General Public License for more details.
364+#
365+# You should have received a copy of the GNU General Public License
366+# along with this program. If not, see <http://www.gnu.org/licenses/>
367+#
368+##############################################################################
369+
370+
371+{
372+ 'name': 'Partner Address Validation',
373+ 'version': '1.15',
374+ 'category': 'Generic Modules/Others',
375+ 'description': """
376+ Module for providing the Address Validation
377+ """,
378+ 'author': 'NovaPoint Group LLC',
379+ 'website': ' http://www.novapointgroup.com',
380+ 'depends': ['base','partner_address_zipsearch_us', 'sale'],
381+ 'init_xml': [
382+
383+ ],
384+ 'update_xml': [
385+ # 'fedex_account_view.xml',
386+ 'wizard_address_validation_view.xml',
387+ 'wizard/saleorder_validation_view.xml',
388+ 'wizard/address_validate_view.xml',
389+ 'partner_address_validation_view.xml',
390+ # 'ups_account_view.xml',
391+ 'wizard/response_data_view.xml',
392+ 'res_company_view.xml',
393+ "security/ir.model.access.csv",
394+ "validation_account_view.xml"
395+ ],
396+ 'demo_xml': [
397+ ],
398+ 'installable': True,
399+ 'active': False,
400+}
401+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
402
403=== added directory 'partner_address_validation/fedex'
404=== added file 'partner_address_validation/fedex/__init__.py'
405--- partner_address_validation/fedex/__init__.py 1970-01-01 00:00:00 +0000
406+++ partner_address_validation/fedex/__init__.py 2012-12-04 14:51:26 +0000
407@@ -0,0 +1,55 @@
408+"""
409+python-fedex API Documentation
410+==============================
411+The python-fedex module is a light wrapper around Fedex's Web Services SOAP API.
412+Using the excellent U{suds<https://fedorahosted.org/suds/>} SOAP client,
413+the Fedex requests and responses are trivial to work with.
414+
415+What python-fedex is
416+--------------------
417+ - A light wrapper around Fedex Web Services SOAP API.
418+ - Simple and easy to use.
419+ - Minimal by design.
420+
421+What python-fedex is not
422+------------------------
423+ - An abstraction layer. python-fedex only assembles the needed SOAP calls
424+ and returns a SOAP response through suds. This is easy enough to work with
425+ that no abstraction is needed. Doing so would limit your use of the data.
426+ - Anything more than a light wrapper.
427+
428+A note on completeness
429+----------------------
430+python-fedex was created for use with some of my internal projects. For the
431+initial release, only the things that I needed at the time were implemented.
432+If there is missing functionality, please report an U{issue<http://code.google.com/p/python-fedex/issues/list>}
433+so that I may make this module more useful to others. Likewise, feel free to
434+submit patches as well if you would like to help.
435+
436+Getting Started
437+---------------
438+The best place to get started is by viewing the examples in the 'examples'
439+directory. These should be very self-explanatory. For further details, you
440+may review the API here, or get support by reading the instructions in the
441+appropriately named section below.
442+
443+The L{services} module is also a good place to start looking at the different
444+objects used for issuing Fedex requests.
445+
446+As a general tip, the best way to see which attributes are available on WSDL
447+objects is to simply print them, hitting their __str__() method.
448+
449+Fedex Documentation
450+-------------------
451+If you are wondering what attributes or variables are present, you'll want to
452+refer to the Fedex Web Services documentation at http://fedex.com/developer/.
453+Complete specification documents are there, which correspond very closely with
454+what you'll be able to do with python-fedex.
455+
456+Getting Support
457+---------------
458+If you have any questions, problems, ideas, or patch submissions, please visit
459+our U{Google Code project<http://code.google.com/p/python-fedex/>} and enter
460+an issue in the U{Issue Tracker<http://code.google.com/p/python-fedex/issues/list>}.
461+"""
462+VERSION = '1.0.11'
463
464=== added file 'partner_address_validation/fedex/base_service.py'
465--- partner_address_validation/fedex/base_service.py 1970-01-01 00:00:00 +0000
466+++ partner_address_validation/fedex/base_service.py 2012-12-04 14:51:26 +0000
467@@ -0,0 +1,229 @@
468+"""
469+The L{base_service} module contains classes that form the low level foundations
470+of the Web Service API. Things that many different kinds of requests have in
471+common may be found here.
472+
473+In particular, the L{FedexBaseService} class handles most of the basic,
474+repetetive setup work that most requests do.
475+"""
476+import os
477+import logging
478+import suds
479+from suds.client import Client
480+
481+class FedexBaseServiceException(Exception):
482+ """
483+ Exception: Serves as the base exception that other service-related
484+ exception objects are sub-classed from.
485+ """
486+ def __init__(self, error_code, value):
487+ self.error_code = error_code
488+ self.value = value
489+ def __unicode__(self):
490+ return "%s (Error code: %s)" % (repr(self.value), self.error_code)
491+ def __str__(self):
492+ return self.__unicode__()
493+
494+class FedexFailure(FedexBaseServiceException):
495+ """
496+ Exception: The request could not be handled at this time. This is generally
497+ a server problem.
498+ """
499+ pass
500+
501+class FedexError(FedexBaseServiceException):
502+ """
503+ Exception: These are generally problems with the client-provided data.
504+ """
505+ pass
506+
507+class SchemaValidationError(FedexBaseServiceException):
508+ """
509+ Exception: There is probably a problem in the data you provided.
510+ """
511+ def __init__(self):
512+ self.error_code = -1
513+ self.value = "suds encountered an error validating your data against this service's WSDL schema. Please double-check for missing or invalid values, filling all required fields."
514+
515+class FedexBaseService(object):
516+ """
517+ This class is the master class for all Fedex request objects. It gets all
518+ of the common SOAP objects created via suds and populates them with
519+ values from a L{FedexConfig} object, along with keyword arguments
520+ via L{__init__}.
521+
522+ @note: This object should never be used directly, use one of the included
523+ sub-classes.
524+ """
525+ def __init__(self, config_obj, wsdl_name, *args, **kwargs):
526+ """
527+ This constructor should only be called by children of the class. As is
528+ such, only the optional keyword arguments caught by C{**kwargs} will
529+ be documented.
530+
531+ @type customer_transaction_id: L{str}
532+ @keyword customer_transaction_id: A user-specified identifier to
533+ differentiate this transaction from others. This value will be
534+ returned with the response from Fedex.
535+ """
536+ self.logger = logging.getLogger('fedex')
537+ """@ivar: Python logger instance with name 'fedex'."""
538+ self.config_obj = config_obj
539+ """@ivar: The FedexConfig object to pull auth info from."""
540+
541+ # If the config object is set to use the test server, point
542+ # suds at the test server WSDL directory.
543+ if config_obj.use_test_server:
544+ self.logger.info("Using test server.")
545+ self.wsdl_path = os.path.join(config_obj.wsdl_path,
546+ 'test_server_wsdl', wsdl_name)
547+ else:
548+ self.logger.info("Using production server.")
549+ self.wsdl_path = os.path.join(config_obj.wsdl_path, wsdl_name)
550+
551+ self.client = Client('file://%s' % self.wsdl_path)
552+
553+ #print self.client
554+
555+ self.VersionId = None
556+ """@ivar: Holds details on the version numbers of the WSDL."""
557+ self.WebAuthenticationDetail = None
558+ """@ivar: WSDL object that holds authentication info."""
559+ self.ClientDetail = None
560+ """@ivar: WSDL object that holds client account details."""
561+ self.response = None
562+ """@ivar: The response from Fedex. You will want to pick what you
563+ want out here here. This object does have a __str__() method,
564+ you'll want to print or log it to see what possible values
565+ you can pull."""
566+ self.TransactionDetail = None
567+ """@ivar: Holds customer-specified transaction IDs."""
568+
569+ self.__set_web_authentication_detail()
570+ self.__set_client_detail()
571+ self.__set_version_id()
572+ self.__set_transaction_detail(*args, **kwargs)
573+ self._prepare_wsdl_objects()
574+
575+ def __set_web_authentication_detail(self):
576+ """
577+ Sets up the WebAuthenticationDetail node. This is required for all
578+ requests.
579+ """
580+ # Start of the authentication stuff.
581+ WebAuthenticationCredential = self.client.factory.create('WebAuthenticationCredential')
582+ WebAuthenticationCredential.Key = self.config_obj.key
583+ WebAuthenticationCredential.Password = self.config_obj.password
584+
585+ # Encapsulates the auth credentials.
586+ WebAuthenticationDetail = self.client.factory.create('WebAuthenticationDetail')
587+ WebAuthenticationDetail.UserCredential = WebAuthenticationCredential
588+ self.WebAuthenticationDetail = WebAuthenticationDetail
589+
590+ def __set_client_detail(self):
591+ """
592+ Sets up the ClientDetail node, which is required for all shipping
593+ related requests.
594+ """
595+ ClientDetail = self.client.factory.create('ClientDetail')
596+ ClientDetail.AccountNumber = self.config_obj.account_number
597+ ClientDetail.MeterNumber = self.config_obj.meter_number
598+ ClientDetail.IntegratorId = self.config_obj.integrator_id
599+ #ClientDetail.Region = self.config_obj.express_region_code
600+ self.ClientDetail = ClientDetail
601+
602+ def __set_transaction_detail(self, *args, **kwargs):
603+ """
604+ Checks kwargs for 'customer_transaction_id' and sets it if present.
605+ """
606+ customer_transaction_id = kwargs.get('customer_transaction_id', False)
607+ if customer_transaction_id:
608+ TransactionDetail = self.client.factory.create('TransactionDetail')
609+ TransactionDetail.CustomerTransactionId = customer_transaction_id
610+ self.logger.debug(TransactionDetail)
611+ self.TransactionDetail = TransactionDetail
612+
613+ def __set_version_id(self):
614+ """
615+ Pulles the versioning info for the request from the child request.
616+ """
617+ VersionId = self.client.factory.create('VersionId')
618+ VersionId.ServiceId = self._version_info['service_id']
619+ VersionId.Major = self._version_info['major']
620+ VersionId.Intermediate = self._version_info['intermediate']
621+ VersionId.Minor = self._version_info['minor']
622+ self.logger.debug(VersionId)
623+ self.VersionId = VersionId
624+
625+ def __prepare_wsdl_objects(self):
626+ """
627+ This method should be over-ridden on each sub-class. It instantiates
628+ any of the required WSDL objects so the user can just print their
629+ __str__() methods and see what they need to fill in.
630+ """
631+ pass
632+
633+ def __check_response_for_fedex_error(self):
634+ """
635+ This checks the response for general Fedex errors that aren't related
636+ to any one WSDL.
637+ """
638+ if self.response.HighestSeverity == "FAILURE":
639+ for notification in self.response.Notifications:
640+ if notification.Severity == "FAILURE":
641+ raise FedexFailure(notification.Code,
642+ notification.Message)
643+
644+ def _check_response_for_request_errors(self):
645+ """
646+ Override this in each service module to check for errors that are
647+ specific to that module. For example, invalid tracking numbers in
648+ a Tracking request.
649+ """
650+ if self.response.HighestSeverity == "ERROR":
651+ for notification in self.response.Notifications:
652+ if notification.Severity == "ERROR":
653+ raise FedexError(notification.Code,
654+ notification.Message)
655+
656+ def create_wsdl_object_of_type(self, type_name):
657+ """
658+ Creates and returns a WSDL object of the specified type.
659+ """
660+ return self.client.factory.create(type_name)
661+
662+ def send_request(self, send_function=None):
663+ """
664+ Sends the assembled request on the child object.
665+ @type send_function: function reference
666+ @keyword send_function: A function reference (passed without the
667+ parenthesis) to a function that will send the request. This
668+ allows for overriding the default function in cases such as
669+ validation requests.
670+ """
671+ # Send the request and get the response back.
672+ try:
673+ # If the user has overridden the send function, use theirs
674+ # instead of the default.
675+ if send_function:
676+ # Follow the overridden function.
677+ self.response = send_function()
678+ else:
679+ # Default scenario, business as usual.
680+ self.response = self._assemble_and_send_request()
681+ except suds.WebFault:
682+ # When this happens, throw an informative message reminding the
683+ # user to check all required variables, making sure they are
684+ # populated and valid.
685+ raise SchemaValidationError()
686+
687+ # Check the response for general Fedex errors/failures that aren't
688+ # specific to any given WSDL/request.
689+ self.__check_response_for_fedex_error()
690+ # Check the response for errors specific to the particular request.
691+ # This is handled by an overridden method on the child object.
692+ self._check_response_for_request_errors()
693+
694+ # Debug output.
695+ self.logger.debug("== FEDEX QUERY RESULT ==")
696+ self.logger.debug(self.response)
697\ No newline at end of file
698
699=== added file 'partner_address_validation/fedex/config.py'
700--- partner_address_validation/fedex/config.py 1970-01-01 00:00:00 +0000
701+++ partner_address_validation/fedex/config.py 2012-12-04 14:51:26 +0000
702@@ -0,0 +1,68 @@
703+"""
704+The L{config} module contains the L{FedexConfig} class, which is passed to
705+the Fedex API calls. It stores useful information such as your Web Services
706+account numbers and keys.
707+
708+It is strongly suggested that you create a single L{FedexConfig} object in
709+your project and pass that to the various API calls, rather than create new
710+L{FedexConfig} objects haphazardly. This is merely a design suggestion,
711+treat it as such.
712+"""
713+import os
714+import sys
715+
716+class FedexConfig(object):
717+ """
718+ Base configuration class that is used for the different Fedex SOAP calls.
719+ These are generally passed to the Fedex request classes as arguments.
720+ You may instantiate a L{FedexConfig} object with the minimal C{key} and
721+ C{password} arguments and set the instance variables documented below
722+ at a later time if you must.
723+ """
724+ def __init__(self, key, password, account_number=None, meter_number=None,
725+ integrator_id=None, wsdl_path=None, express_region_code=None, use_test_server=False):
726+ """
727+ @type key: L{str}
728+ @param key: Developer test key.
729+ @type password: L{str}
730+ @param password: The Fedex-generated password for your Web Systems
731+ account. This is generally emailed to you after registration.
732+ @type account_number: L{str}
733+ @keyword account_number: The account number sent to you by Fedex after
734+ registering for Web Services.
735+ @type meter_number: L{str}
736+ @keyword meter_number: The meter number sent to you by Fedex after
737+ registering for Web Services.
738+ @type integrator_id: L{str}
739+ @keyword integrator_id: The integrator string sent to you by Fedex after
740+ registering for Web Services.
741+ @type wsdl_path: L{str}
742+ @keyword wsdl_path: In the event that you want to override the path to
743+ your WSDL directory, do so with this argument.
744+ @type use_test_server: L{bool}
745+ @keyword use_test_server: When this is True, test server WSDLs are used
746+ instead of the production server. You will also need to make sure
747+ that your L{FedexConfig} object has a production account number,
748+ meter number, authentication key, and password.
749+ """
750+ self.key = key
751+ """@ivar: Developer test key."""
752+ self.password = password
753+ """@ivar: Fedex Web Services password."""
754+ self.account_number = account_number
755+ """@ivar: Web Services account number."""
756+ self.meter_number = meter_number
757+ """@ivar: Web services meter number."""
758+ self.integrator_id = integrator_id
759+ """@ivar: Web services integrator ID."""
760+ self.express_region_code = express_region_code
761+ """@icar: Web services ExpressRegionCode"""
762+ self.use_test_server = use_test_server
763+ """@ivar: When True, point to the test server."""
764+
765+ # Allow overriding of the WDSL path.
766+ if wsdl_path == None:
767+ self.wsdl_path = os.path.join(os.path.dirname(os.path.abspath(__file__)),
768+ 'wsdl')
769+ else:
770+ self.wsdl_path = wsdl_path
771\ No newline at end of file
772
773=== added directory 'partner_address_validation/fedex/services'
774=== added file 'partner_address_validation/fedex/services/__init__.py'
775--- partner_address_validation/fedex/services/__init__.py 1970-01-01 00:00:00 +0000
776+++ partner_address_validation/fedex/services/__init__.py 2012-12-04 14:51:26 +0000
777@@ -0,0 +1,5 @@
778+"""
779+This module contains the wrappers around Fedex Web Service requests which you
780+will want to instantiate and use with a L{FedexConfig} object supplying
781+your static details. Each module here corresponds to a Fedex WSDL.
782+"""
783\ No newline at end of file
784
785=== added file 'partner_address_validation/fedex/services/address_validation_service.py'
786--- partner_address_validation/fedex/services/address_validation_service.py 1970-01-01 00:00:00 +0000
787+++ partner_address_validation/fedex/services/address_validation_service.py 2012-12-04 14:51:26 +0000
788@@ -0,0 +1,84 @@
789+"""
790+Address Validation Service Module
791+=================================
792+This package contains the shipping methods defined by Fedex's
793+AddressValidationService WSDL file. Each is encapsulated in a class for
794+easy access. For more details on each, refer to the respective class's
795+documentation.
796+"""
797+from datetime import datetime
798+from .. base_service import FedexBaseService
799+
800+class FedexAddressValidationRequest(FedexBaseService):
801+ """
802+ This class allows you validate anywhere from one to a hundred addresses
803+ in one go. Create AddressToValidate WSDL objects and add them to each
804+ instance of this request using add_address().
805+ """
806+ def __init__(self, config_obj, *args, **kwargs):
807+ """
808+ @type config_obj: L{FedexConfig}
809+ @param config_obj: A valid FedexConfig object.
810+ """
811+ self._config_obj = config_obj
812+
813+ # Holds version info for the VersionId SOAP object.
814+ self._version_info = {'service_id': 'aval', 'major': '2',
815+ 'intermediate': '0', 'minor': '0'}
816+
817+ self.AddressValidationOptions = None
818+ """@ivar: Holds the AddressValidationOptions WSDL object."""
819+ self.addresses_to_validate = []
820+ """@ivar: Holds the AddressToValidate WSDL object."""
821+ # Call the parent FedexBaseService class for basic setup work.
822+ super(FedexAddressValidationRequest, self).__init__(self._config_obj,
823+ 'AddressValidationService_v2.wsdl',
824+ *args, **kwargs)
825+
826+ def _prepare_wsdl_objects(self):
827+ """
828+ Create the data structure and get it ready for the WSDL request.
829+ """
830+ # This holds some optional options for the request..
831+ self.AddressValidationOptions = self.client.factory.create('AddressValidationOptions')
832+
833+ # This is good to review if you'd like to see what the data structure
834+ # looks like.
835+ self.logger.debug(self.AddressValidationOptions)
836+
837+ def _assemble_and_send_request(self):
838+ """
839+ Fires off the Fedex request.
840+
841+ @warning: NEVER CALL THIS METHOD DIRECTLY. CALL send_request(),
842+ WHICH RESIDES ON FedexBaseService AND IS INHERITED.
843+ """
844+ # We get an exception like this when specifying an IntegratorId:
845+ # suds.TypeNotFound: Type not found: 'IntegratorId'
846+ # Setting it to None does not seem to appease it.
847+ del self.ClientDetail.IntegratorId
848+ self.logger.debug(self.WebAuthenticationDetail)
849+ self.logger.debug(self.ClientDetail)
850+ self.logger.debug(self.TransactionDetail)
851+ self.logger.debug(self.VersionId)
852+ # Fire off the query.
853+ response = self.client.service.addressValidation(WebAuthenticationDetail=self.WebAuthenticationDetail,
854+ ClientDetail=self.ClientDetail,
855+ TransactionDetail=self.TransactionDetail,
856+ Version=self.VersionId,
857+ RequestTimestamp=datetime.now(),
858+ Options=self.AddressValidationOptions,
859+ AddressesToValidate=self.addresses_to_validate)
860+ return response
861+
862+ def add_address(self, address_item):
863+ """
864+ Adds an address to self.addresses_to_validate.
865+
866+ @type address_item: WSDL object, type of AddressToValidate WSDL object.
867+ @keyword address_item: A AddressToValidate, created by
868+ calling create_wsdl_object_of_type('AddressToValidate') on
869+ this FedexAddressValidationRequest object.
870+ See examples/create_shipment.py for more details.
871+ """
872+ self.addresses_to_validate.append(address_item)
873\ No newline at end of file
874
875=== added file 'partner_address_validation/fedex/services/package_movement.py'
876--- partner_address_validation/fedex/services/package_movement.py 1970-01-01 00:00:00 +0000
877+++ partner_address_validation/fedex/services/package_movement.py 2012-12-04 14:51:26 +0000
878@@ -0,0 +1,100 @@
879+"""
880+Package Movement Information Service
881+====================================
882+This package contains classes to check service availability, route, and postal
883+codes. Defined by the PackageMovementInformationService WSDL file.
884+"""
885+import logging
886+from .. base_service import FedexBaseService, FedexError
887+
888+class FedexPostalCodeNotFound(FedexError):
889+ """
890+ Exception: Sent when the postalcode is missing.
891+ """
892+ pass
893+
894+class FedexInvalidPostalCodeFormat(FedexError):
895+ """
896+ Exception: Sent when the postal code is invalid
897+ """
898+ pass
899+
900+class PostalCodeInquiryRequest(FedexBaseService):
901+ """
902+ The postal code inquiry enables customers to validate postal codes
903+ and service commitments.
904+ """
905+ def __init__(self, config_obj, postal_code=None, country_code=None, *args, **kwargs):
906+ """
907+ Sets up an inquiry request. The optional keyword args
908+ detailed on L{FedexBaseService} apply here as well.
909+
910+ @type config_obj: L{FedexConfig}
911+ @param config_obj: A valid FedexConfig object
912+ @param postal_code: a valid postal code
913+ @param country_code: ISO country code to which the postal code belongs to.
914+ """
915+ self._config_obj = config_obj
916+
917+ # Holds version info for the VersionId SOAP object.
918+ self._version_info = {'service_id': 'pmis', 'major': '4',
919+ 'intermediate': '0', 'minor': '0'}
920+ self.PostalCode = postal_code
921+ self.CountryCode = country_code
922+
923+
924+ # Call the parent FedexBaseService class for basic setup work.
925+ super(PostalCodeInquiryRequest, self).__init__(self._config_obj,
926+ 'PackageMovementInformationService_v4.wsdl',
927+ *args, **kwargs)
928+
929+
930+ def _check_response_for_request_errors(self):
931+ """
932+ Checks the response to see if there were any errors specific to
933+ this WSDL.
934+ """
935+ if self.response.HighestSeverity == "ERROR":
936+ for notification in self.response.Notifications:
937+ if notification.Severity == "ERROR":
938+ if "Postal Code Not Found" in notification.Message:
939+ raise FedexPostalCodeNotFound(notification.Code,
940+ notification.Message)
941+
942+ elif "Invalid Postal Code Format" in self.response.Notifications:
943+ raise FedexInvalidPostalCodeFormat(notification.Code,
944+ notification.Message)
945+ else:
946+ raise FedexError(notification.Code,
947+ notification.Message)
948+
949+ def _prepare_wsdl_objects(self):
950+ pass
951+
952+
953+ def _assemble_and_send_request(self):
954+ """
955+ Fires off the Fedex request.
956+
957+ @warning: NEVER CALL THIS METHOD DIRECTLY. CALL send_request(), WHICH RESIDES
958+ ON FedexBaseService AND IS INHERITED.
959+ """
960+ client = self.client
961+
962+
963+ # We get an exception like this when specifying an IntegratorId:
964+ # suds.TypeNotFound: Type not found: 'IntegratorId'
965+ # Setting it to None does not seem to appease it.
966+
967+ del self.ClientDetail.IntegratorId
968+
969+ # Fire off the query.
970+ response = client.service.postalCodeInquiry(WebAuthenticationDetail=self.WebAuthenticationDetail,
971+ ClientDetail=self.ClientDetail,
972+ TransactionDetail=self.TransactionDetail,
973+ Version=self.VersionId,
974+ PostalCode = self.PostalCode,
975+ CountryCode = self.CountryCode)
976+
977+ return response
978+
979\ No newline at end of file
980
981=== added file 'partner_address_validation/fedex/services/rate_service.py'
982--- partner_address_validation/fedex/services/rate_service.py 1970-01-01 00:00:00 +0000
983+++ partner_address_validation/fedex/services/rate_service.py 2012-12-04 14:51:26 +0000
984@@ -0,0 +1,128 @@
985+"""
986+Rate Service Module
987+===================
988+This package contains classes to request pre-ship rating information and to
989+determine estimated or courtesy billing quotes. Time in Transit can be
990+returned with the rates if it is specified in the request.
991+"""
992+from datetime import datetime
993+from .. base_service import FedexBaseService
994+
995+class FedexRateServiceRequest(FedexBaseService):
996+ """
997+ This class allows you to get the shipping charges for a particular address.
998+ You will need to populate the data structures in self.RequestedShipment,
999+ then send the request.
1000+ """
1001+ def __init__(self, config_obj, *args, **kwargs):
1002+ """
1003+ The optional keyword args detailed on L{FedexBaseService}
1004+ apply here as well.
1005+
1006+ @type config_obj: L{FedexConfig}
1007+ @param config_obj: A valid FedexConfig object.
1008+ """
1009+ self._config_obj = config_obj
1010+
1011+ # Holds version info for the VersionId SOAP object.
1012+ self._version_info = {'service_id': 'crs', 'major': '8',
1013+ 'intermediate': '0', 'minor': '0'}
1014+
1015+ self.RequestedShipment = None
1016+ """@ivar: Holds the RequestedShipment WSDL object."""
1017+ # Call the parent FedexBaseService class for basic setup work.
1018+ super(FedexRateServiceRequest, self).__init__(self._config_obj,
1019+ 'RateService_v8.wsdl',
1020+ *args, **kwargs)
1021+ self.ClientDetail.Region = config_obj.express_region_code
1022+
1023+ def _prepare_wsdl_objects(self):
1024+ """
1025+ This is the data that will be used to create your shipment. Create
1026+ the data structure and get it ready for the WSDL request.
1027+ """
1028+ # This is the primary data structure for processShipment requests.
1029+ self.RequestedShipment = self.client.factory.create('RequestedShipment')
1030+ self.RequestedShipment.ShipTimestamp = datetime.now()
1031+
1032+ TotalWeight = self.client.factory.create('Weight')
1033+ # Start at nothing.
1034+ TotalWeight.Value = 0.0
1035+ # Default to pounds.
1036+ TotalWeight.Units = 'LB'
1037+ # This is the total weight of the entire shipment. Shipments may
1038+ # contain more than one package.
1039+ self.RequestedShipment.TotalWeight = TotalWeight
1040+
1041+ # This is the top level data structure for Shipper information.
1042+ ShipperParty = self.client.factory.create('Party')
1043+ ShipperParty.Address = self.client.factory.create('Address')
1044+ ShipperParty.Contact = self.client.factory.create('Contact')
1045+
1046+ # Link the ShipperParty to our master data structure.
1047+ self.RequestedShipment.Shipper = ShipperParty
1048+
1049+ # This is the top level data structure for Recipient information.
1050+ RecipientParty = self.client.factory.create('Party')
1051+ RecipientParty.Contact = self.client.factory.create('Contact')
1052+ RecipientParty.Address = self.client.factory.create('Address')
1053+
1054+ # Link the RecipientParty object to our master data structure.
1055+ self.RequestedShipment.Recipient = RecipientParty
1056+
1057+ Payor = self.client.factory.create('Payor')
1058+ # Grab the account number from the FedexConfig object by default.
1059+ Payor.AccountNumber = self._config_obj.account_number
1060+ # Assume US.
1061+ Payor.CountryCode = 'US'
1062+
1063+ ShippingChargesPayment = self.client.factory.create('Payment')
1064+ ShippingChargesPayment.Payor = Payor
1065+
1066+ self.RequestedShipment.ShippingChargesPayment = ShippingChargesPayment
1067+
1068+ # ACCOUNT or LIST
1069+ self.RequestedShipment.RateRequestTypes = ['ACCOUNT']
1070+
1071+ # Start with no packages, user must add them.
1072+ self.RequestedShipment.PackageCount = 0
1073+ self.RequestedShipment.RequestedPackageLineItems = []
1074+
1075+ # This is good to review if you'd like to see what the data structure
1076+ # looks like.
1077+ self.logger.debug(self.RequestedShipment)
1078+
1079+
1080+
1081+
1082+ def _assemble_and_send_request(self):
1083+ """
1084+ Fires off the Fedex request.
1085+
1086+ @warning: NEVER CALL THIS METHOD DIRECTLY. CALL send_request(),
1087+ WHICH RESIDES ON FedexBaseService AND IS INHERITED.
1088+ """
1089+ # Fire off the query.
1090+ response = self.client.service.getRates(WebAuthenticationDetail=self.WebAuthenticationDetail,
1091+ ClientDetail=self.ClientDetail,
1092+ TransactionDetail=self.TransactionDetail,
1093+ Version=self.VersionId,
1094+ RequestedShipment=self.RequestedShipment)
1095+ return response
1096+
1097+ def add_package(self, package_item):
1098+ """
1099+ Adds a package to the ship request.
1100+
1101+ @type package_item: WSDL object, type of RequestedPackageLineItem
1102+ WSDL object.
1103+ @keyword package_item: A RequestedPackageLineItem, created by
1104+ calling create_wsdl_object_of_type('RequestedPackageLineItem') on
1105+ this ShipmentRequest object. See examples/create_shipment.py for
1106+ more details.
1107+ """
1108+ self.RequestedShipment.RequestedPackageLineItems.append(package_item)
1109+ package_weight = package_item.Weight.Value
1110+ self.RequestedShipment.TotalWeight.Value += package_weight
1111+ self.RequestedShipment.PackageCount += 1
1112+
1113\ No newline at end of file
1114
1115=== added file 'partner_address_validation/fedex/services/ship_service.py'
1116--- partner_address_validation/fedex/services/ship_service.py 1970-01-01 00:00:00 +0000
1117+++ partner_address_validation/fedex/services/ship_service.py 2012-12-04 14:51:26 +0000
1118@@ -0,0 +1,198 @@
1119+"""
1120+Ship Service Module
1121+===================
1122+This package contains the shipping methods defined by Fedex's
1123+ShipService WSDL file. Each is encapsulated in a class for easy access.
1124+For more details on each, refer to the respective class's documentation.
1125+"""
1126+from datetime import datetime
1127+from .. base_service import FedexBaseService
1128+
1129+class FedexProcessShipmentRequest(FedexBaseService):
1130+ """
1131+ This class allows you to process (create) a new FedEx shipment. You will
1132+ need to populate the data structures in self.RequestedShipment, then
1133+ send the request. Label printing is supported and very configurable,
1134+ returning an ASCII representation with the response as well.
1135+ """
1136+ def __init__(self, config_obj, *args, **kwargs):
1137+ """
1138+ The optional keyword args detailed on L{FedexBaseService}
1139+ apply here as well.
1140+
1141+ @type config_obj: L{FedexConfig}
1142+ @param config_obj: A valid FedexConfig object.
1143+ """
1144+ self._config_obj = config_obj
1145+
1146+ # Holds version info for the VersionId SOAP object.
1147+ self._version_info = {'service_id': 'ship', 'major': '7',
1148+ 'intermediate': '0', 'minor': '0'}
1149+
1150+ self.RequestedShipment = None
1151+ """@ivar: Holds the RequestedShipment WSDL object."""
1152+ # Call the parent FedexBaseService class for basic setup work.
1153+ super(FedexProcessShipmentRequest, self).__init__(self._config_obj,
1154+ 'ShipService_v7.wsdl',
1155+ *args, **kwargs)
1156+
1157+ def _prepare_wsdl_objects(self):
1158+ """
1159+ This is the data that will be used to create your shipment. Create
1160+ the data structure and get it ready for the WSDL request.
1161+ """
1162+ # This is the primary data structure for processShipment requests.
1163+ self.RequestedShipment = self.client.factory.create('RequestedShipment')
1164+ self.RequestedShipment.ShipTimestamp = datetime.now()
1165+
1166+ TotalWeight = self.client.factory.create('Weight')
1167+ # Start at nothing.
1168+ TotalWeight.Value = 0.0
1169+ # Default to pounds.
1170+ TotalWeight.Units = 'LB'
1171+ # This is the total weight of the entire shipment. Shipments may
1172+ # contain more than one package.
1173+ self.RequestedShipment.TotalWeight = TotalWeight
1174+
1175+ # This is the top level data structure for Shipper information.
1176+ ShipperParty = self.client.factory.create('Party')
1177+ ShipperParty.Address = self.client.factory.create('Address')
1178+ ShipperParty.Contact = self.client.factory.create('Contact')
1179+
1180+ # Link the ShipperParty to our master data structure.
1181+ self.RequestedShipment.Shipper = ShipperParty
1182+
1183+ # This is the top level data structure for Recipient information.
1184+ RecipientParty = self.client.factory.create('Party')
1185+ RecipientParty.Contact = self.client.factory.create('Contact')
1186+ RecipientParty.Address = self.client.factory.create('Address')
1187+
1188+ # Link the RecipientParty object to our master data structure.
1189+ self.RequestedShipment.Recipient = RecipientParty
1190+
1191+ Payor = self.client.factory.create('Payor')
1192+ # Grab the account number from the FedexConfig object by default.
1193+ Payor.AccountNumber = self._config_obj.account_number
1194+ # Assume US.
1195+ Payor.CountryCode = 'US'
1196+
1197+ ShippingChargesPayment = self.client.factory.create('Payment')
1198+ ShippingChargesPayment.Payor = Payor
1199+
1200+ self.RequestedShipment.ShippingChargesPayment = ShippingChargesPayment
1201+ self.RequestedShipment.LabelSpecification = self.client.factory.create('LabelSpecification')
1202+ # ACCOUNT or LIST
1203+ self.RequestedShipment.RateRequestTypes = ['ACCOUNT']
1204+
1205+ # Start with no packages, user must add them.
1206+ self.RequestedShipment.PackageCount = 0
1207+ self.RequestedShipment.RequestedPackageLineItems = []
1208+
1209+ # This is good to review if you'd like to see what the data structure
1210+ # looks like.
1211+ self.logger.debug(self.RequestedShipment)
1212+
1213+ def send_validation_request(self):
1214+ """
1215+ This is very similar to just sending the shipment via the typical
1216+ send_request() function, but this doesn't create a shipment. It is
1217+ used to make sure "good" values are given by the user or the
1218+ application using the library.
1219+ """
1220+ self.send_request(send_function=self._assemble_and_send_validation_request)
1221+
1222+ def _assemble_and_send_validation_request(self):
1223+ """
1224+ Fires off the Fedex shipment validation request.
1225+
1226+ @warning: NEVER CALL THIS METHOD DIRECTLY. CALL
1227+ send_validation_request(), WHICH RESIDES ON FedexBaseService
1228+ AND IS INHERITED.
1229+ """
1230+ # Fire off the query.
1231+ response = self.client.service.validateShipment(WebAuthenticationDetail=self.WebAuthenticationDetail,
1232+ ClientDetail=self.ClientDetail,
1233+ TransactionDetail=self.TransactionDetail,
1234+ Version=self.VersionId,
1235+ RequestedShipment=self.RequestedShipment)
1236+ return response
1237+
1238+ def _assemble_and_send_request(self):
1239+ """
1240+ Fires off the Fedex request.
1241+
1242+ @warning: NEVER CALL THIS METHOD DIRECTLY. CALL send_request(),
1243+ WHICH RESIDES ON FedexBaseService AND IS INHERITED.
1244+ """
1245+ # Fire off the query.
1246+ response = self.client.service.processShipment(WebAuthenticationDetail=self.WebAuthenticationDetail,
1247+ ClientDetail=self.ClientDetail,
1248+ TransactionDetail=self.TransactionDetail,
1249+ Version=self.VersionId,
1250+ RequestedShipment=self.RequestedShipment)
1251+ return response
1252+
1253+ def add_package(self, package_item):
1254+ """
1255+ Adds a package to the ship request.
1256+
1257+ @type package_item: WSDL object, type of RequestedPackageLineItem
1258+ WSDL object.
1259+ @keyword package_item: A RequestedPackageLineItem, created by
1260+ calling create_wsdl_object_of_type('RequestedPackageLineItem') on
1261+ this ShipmentRequest object. See examples/create_shipment.py for
1262+ more details.
1263+ """
1264+ self.RequestedShipment.RequestedPackageLineItems.append(package_item)
1265+ package_weight = package_item.Weight.Value
1266+ self.RequestedShipment.TotalWeight.Value += package_weight
1267+ self.RequestedShipment.PackageCount += 1
1268+
1269+class FedexDeleteShipmentRequest(FedexBaseService):
1270+ """
1271+ This class allows you to delete a shipment, given a tracking number.
1272+ """
1273+ def __init__(self, config_obj, *args, **kwargs):
1274+ """
1275+ Deletes a shipment via a tracking number.
1276+ """
1277+ self._config_obj = config_obj
1278+
1279+ # Holds version info for the VersionId SOAP object.
1280+ self._version_info = {'service_id': 'ship', 'major': '7',
1281+ 'intermediate': '0', 'minor': '0'}
1282+ self.DeletionControlType = None
1283+ """@ivar: Holds the DeletrionControlType WSDL object."""
1284+ self.TrackingId = None
1285+ """@ivar: Holds the TrackingId WSDL object."""
1286+ # Call the parent FedexBaseService class for basic setup work.
1287+ super(FedexDeleteShipmentRequest, self).__init__(self._config_obj,
1288+ 'ShipService_v7.wsdl',
1289+ *args, **kwargs)
1290+
1291+ def _prepare_wsdl_objects(self):
1292+ """
1293+ Preps the WSDL data structures for the user.
1294+ """
1295+ self.DeletionControlType = self.client.factory.create('DeletionControlType')
1296+ self.TrackingId = self.client.factory.create('TrackingId')
1297+ self.TrackingId.TrackingIdType = self.client.factory.create('TrackingIdType')
1298+
1299+ def _assemble_and_send_request(self):
1300+ """
1301+ Fires off the Fedex request.
1302+
1303+ @warning: NEVER CALL THIS METHOD DIRECTLY. CALL send_request(), WHICH RESIDES
1304+ ON FedexBaseService AND IS INHERITED.
1305+ """
1306+ client = self.client
1307+ # Fire off the query.
1308+ response = client.service.deleteShipment(WebAuthenticationDetail=self.WebAuthenticationDetail,
1309+ ClientDetail=self.ClientDetail,
1310+ TransactionDetail=self.TransactionDetail,
1311+ Version=self.VersionId,
1312+ ShipTimestamp = datetime.now(),
1313+ TrackingId=self.TrackingId,
1314+ DeletionControl=self.DeletionControlType)
1315+
1316+ return response
1317\ No newline at end of file
1318
1319=== added file 'partner_address_validation/fedex/services/track_service.py'
1320--- partner_address_validation/fedex/services/track_service.py 1970-01-01 00:00:00 +0000
1321+++ partner_address_validation/fedex/services/track_service.py 2012-12-04 14:51:26 +0000
1322@@ -0,0 +1,85 @@
1323+"""
1324+Tracking Service Module
1325+=======================
1326+This package contains the shipment tracking methods defined by Fedex's
1327+TrackService WSDL file. Each is encapsulated in a class for easy access.
1328+For more details on each, refer to the respective class's documentation.
1329+"""
1330+import logging
1331+from .. base_service import FedexBaseService, FedexError
1332+
1333+class FedexInvalidTrackingNumber(FedexError):
1334+ """
1335+ Exception: Sent when a bad tracking number is provided.
1336+ """
1337+ pass
1338+
1339+class FedexTrackRequest(FedexBaseService):
1340+ """
1341+ This class allows you to track shipments by providing a tracking
1342+ number or other identifying features. By default, you
1343+ can simply pass a tracking number to the constructor. If you would like
1344+ to query shipments based on something other than tracking number, you will
1345+ want to read the documentation for the L{__init__} method.
1346+ Particularly, the tracking_value and package_identifier arguments.
1347+ """
1348+ def __init__(self, config_obj, *args, **kwargs):
1349+ """
1350+ Sends a shipment tracking request. The optional keyword args
1351+ detailed on L{FedexBaseService} apply here as well.
1352+
1353+ @type config_obj: L{FedexConfig}
1354+ @param config_obj: A valid FedexConfig object.
1355+ """
1356+ self._config_obj = config_obj
1357+
1358+ # Holds version info for the VersionId SOAP object.
1359+ self._version_info = {'service_id': 'trck', 'major': '4',
1360+ 'intermediate': '0', 'minor': '0'}
1361+ self.TrackPackageIdentifier = None
1362+ """@ivar: Holds the TrackPackageIdentifier WSDL object."""
1363+ # Call the parent FedexBaseService class for basic setup work.
1364+ super(FedexTrackRequest, self).__init__(self._config_obj,
1365+ 'TrackService_v4.wsdl',
1366+ *args, **kwargs)
1367+
1368+ def _prepare_wsdl_objects(self):
1369+ """
1370+ This sets the package identifier information. This may be a tracking
1371+ number or a few different things as per the Fedex spec.
1372+ """
1373+ self.TrackPackageIdentifier = self.client.factory.create('TrackPackageIdentifier')
1374+ # Default to tracking number.
1375+ self.TrackPackageIdentifier.Type = 'TRACKING_NUMBER_OR_DOORTAG'
1376+
1377+ def _check_response_for_request_errors(self):
1378+ """
1379+ Checks the response to see if there were any errors specific to
1380+ this WSDL.
1381+ """
1382+ if self.response.HighestSeverity == "ERROR":
1383+ for notification in self.response.Notifications:
1384+ if notification.Severity == "ERROR":
1385+ if "Invalid tracking number" in notification.Message:
1386+ raise FedexInvalidTrackingNumber(notification.Code,
1387+ notification.Message)
1388+ else:
1389+ raise FedexError(notification.Code,
1390+ notification.Message)
1391+
1392+ def _assemble_and_send_request(self):
1393+ """
1394+ Fires off the Fedex request.
1395+
1396+ @warning: NEVER CALL THIS METHOD DIRECTLY. CALL send_request(), WHICH RESIDES
1397+ ON FedexBaseService AND IS INHERITED.
1398+ """
1399+ client = self.client
1400+ # Fire off the query.
1401+ response = client.service.track(WebAuthenticationDetail=self.WebAuthenticationDetail,
1402+ ClientDetail=self.ClientDetail,
1403+ TransactionDetail=self.TransactionDetail,
1404+ Version=self.VersionId,
1405+ PackageIdentifier=self.TrackPackageIdentifier)
1406+
1407+ return response
1408\ No newline at end of file
1409
1410=== added directory 'partner_address_validation/fedex/wsdl'
1411=== added file 'partner_address_validation/fedex/wsdl/AddressValidationService_v2.wsdl'
1412--- partner_address_validation/fedex/wsdl/AddressValidationService_v2.wsdl 1970-01-01 00:00:00 +0000
1413+++ partner_address_validation/fedex/wsdl/AddressValidationService_v2.wsdl 2012-12-04 14:51:26 +0000
1414@@ -0,0 +1,603 @@
1415+<?xml version="1.0" encoding="UTF-8"?>
1416+<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:ns="http://fedex.com/ws/addressvalidation/v2" xmlns:s1="http://schemas.xmlsoap.org/wsdl/soap/" targetNamespace="http://fedex.com/ws/addressvalidation/v2" name="AddressValidationServiceDefinitions">
1417+ <types>
1418+ <xs:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://fedex.com/ws/addressvalidation/v2" xmlns:xs="http://www.w3.org/2001/XMLSchema">
1419+ <xs:element name="AddressValidationRequest" type="ns:AddressValidationRequest"/>
1420+ <xs:element name="AddressValidationReply" type="ns:AddressValidationReply"/>
1421+ <xs:complexType name="AddressValidationRequest">
1422+ <xs:sequence>
1423+ <xs:element name="WebAuthenticationDetail" type="ns:WebAuthenticationDetail" minOccurs="1">
1424+ <xs:annotation>
1425+ <xs:documentation>The descriptive data to be used in authentication of the sender's identity (and right to use FedEx web services).</xs:documentation>
1426+ </xs:annotation>
1427+ </xs:element>
1428+ <xs:element name="ClientDetail" type="ns:ClientDetail">
1429+ <xs:annotation>
1430+ <xs:documentation>Descriptive data identifying the client submitting the transaction.</xs:documentation>
1431+ </xs:annotation>
1432+ </xs:element>
1433+ <xs:element name="TransactionDetail" type="ns:TransactionDetail" minOccurs="0">
1434+ <xs:annotation>
1435+ <xs:documentation>Descriptive data for this customer transaction. The TransactionDetail from the request is echoed back to the caller in the corresponding reply.</xs:documentation>
1436+ </xs:annotation>
1437+ </xs:element>
1438+ <xs:element name="Version" type="ns:VersionId">
1439+ <xs:annotation>
1440+ <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>
1441+ </xs:annotation>
1442+ </xs:element>
1443+ <xs:element name="RequestTimestamp" type="xs:dateTime"/>
1444+ <xs:element name="Options" type="ns:AddressValidationOptions"/>
1445+ <xs:element name="AddressesToValidate" type="ns:AddressToValidate" maxOccurs="100"/>
1446+ </xs:sequence>
1447+ </xs:complexType>
1448+ <xs:complexType name="AddressValidationReply">
1449+ <xs:sequence>
1450+ <xs:element name="HighestSeverity" type="ns:NotificationSeverityType"/>
1451+ <xs:element name="Notifications" type="ns:Notification" maxOccurs="unbounded"/>
1452+ <xs:element name="TransactionDetail" type="ns:TransactionDetail" minOccurs="0"/>
1453+ <xs:element name="Version" type="ns:VersionId" minOccurs="0"/>
1454+ <xs:element name="ReplyTimestamp" type="xs:dateTime"/>
1455+ <xs:element name="AddressResults" type="ns:AddressValidationResult" maxOccurs="100"/>
1456+ </xs:sequence>
1457+ </xs:complexType>
1458+ <xs:complexType name="AddressValidationOptions">
1459+ <xs:sequence>
1460+ <xs:element name="VerifyAddresses" type="xs:boolean" minOccurs="0"/>
1461+ <xs:element name="CheckResidentialStatus" type="xs:boolean" minOccurs="0"/>
1462+ <xs:element name="MaximumNumberOfMatches" minOccurs="0">
1463+ <xs:simpleType>
1464+ <xs:restriction base="xs:positiveInteger">
1465+ <xs:maxInclusive value="10"/>
1466+ </xs:restriction>
1467+ </xs:simpleType>
1468+ </xs:element>
1469+ <xs:element name="StreetAccuracy" type="ns:AddressValidationAccuracyType" minOccurs="0"/>
1470+ <xs:element name="DirectionalAccuracy" type="ns:AddressValidationAccuracyType" minOccurs="0"/>
1471+ <xs:element name="CompanyNameAccuracy" type="ns:AddressValidationAccuracyType" minOccurs="0"/>
1472+ <xs:element name="ConvertToUpperCase" type="xs:boolean" minOccurs="0"/>
1473+ <xs:element name="RecognizeAlternateCityNames" type="xs:boolean" minOccurs="0"/>
1474+ <xs:element name="ReturnParsedElements" type="xs:boolean" minOccurs="0"/>
1475+ </xs:sequence>
1476+ </xs:complexType>
1477+ <xs:complexType name="AddressToValidate">
1478+ <xs:sequence>
1479+ <xs:element name="AddressId" type="xs:string" minOccurs="0"/>
1480+ <xs:element name="CompanyName" type="xs:string" minOccurs="0"/>
1481+ <xs:element name="Address" type="ns:Address"/>
1482+ </xs:sequence>
1483+ </xs:complexType>
1484+ <xs:complexType name="AddressValidationResult">
1485+ <xs:sequence>
1486+ <xs:element name="AddressId" type="xs:string" minOccurs="0"/>
1487+ <xs:element name="ProposedAddressDetails" type="ns:ProposedAddressDetail" minOccurs="0" maxOccurs="10"/>
1488+ </xs:sequence>
1489+ </xs:complexType>
1490+ <xs:complexType name="WebAuthenticationDetail">
1491+ <xs:annotation>
1492+ <xs:documentation>Used in authentication of the sender's identity.</xs:documentation>
1493+ </xs:annotation>
1494+ <xs:sequence>
1495+ <xs:element name="UserCredential" type="ns:WebAuthenticationCredential" minOccurs="1">
1496+ <xs:annotation>
1497+ <xs:documentation>Credential used to authenticate a specific software application. This value is provided by FedEx after registration.</xs:documentation>
1498+ </xs:annotation>
1499+ </xs:element>
1500+ </xs:sequence>
1501+ </xs:complexType>
1502+ <xs:complexType name="WebAuthenticationCredential">
1503+ <xs:annotation>
1504+ <xs:documentation>Two part authentication string used for the sender's identity.</xs:documentation>
1505+ </xs:annotation>
1506+ <xs:sequence>
1507+ <xs:element name="Key" type="xs:string" minOccurs="1">
1508+ <xs:annotation>
1509+ <xs:documentation>Identifying part of the authentication key. This value is provided by FedEx after registration.</xs:documentation>
1510+ <xs:appinfo>
1511+ <xs:MaxLength>16</xs:MaxLength>
1512+ </xs:appinfo>
1513+ </xs:annotation>
1514+ </xs:element>
1515+ <xs:element name="Password" type="xs:string" minOccurs="1">
1516+ <xs:annotation>
1517+ <xs:documentation>Secret part of authentication key used for authentication. This value is provided by FedEx after registration.</xs:documentation>
1518+ <xs:appinfo>
1519+ <xs:MaxLength>25</xs:MaxLength>
1520+ </xs:appinfo>
1521+ </xs:annotation>
1522+ </xs:element>
1523+ </xs:sequence>
1524+ </xs:complexType>
1525+ <xs:complexType name="ProposedAddressDetail">
1526+ <xs:sequence>
1527+ <xs:element name="Score" type="xs:integer" minOccurs="0"/>
1528+ <xs:element name="Changes" type="ns:AddressValidationChangeType" minOccurs="1" maxOccurs="unbounded"/>
1529+ <xs:element name="ResidentialStatus" type="ns:ResidentialStatusType" minOccurs="0"/>
1530+ <xs:element name="DeliveryPointValidation" type="ns:DeliveryPointValidationType" minOccurs="0"/>
1531+ <xs:element name="CompanyName" type="xs:string" minOccurs="0"/>
1532+ <xs:element name="Address" type="ns:Address"/>
1533+ <xs:element name="ParsedCompanyName" type="ns:ParsedAddressPart" minOccurs="0"/>
1534+ <xs:element name="ParsedAddress" type="ns:ParsedAddress" minOccurs="0"/>
1535+ <xs:element name="RemovedNonAddressData" type="xs:string" minOccurs="0"/>
1536+ </xs:sequence>
1537+ </xs:complexType>
1538+ <xs:complexType name="ParsedAddress">
1539+ <xs:sequence>
1540+ <xs:element name="ParsedUrbanizationCode" type="ns:ParsedAddressPart" minOccurs="0"/>
1541+ <xs:element name="ParsedStreetLine" type="ns:ParsedAddressPart" minOccurs="0" maxOccurs="4"/>
1542+ <xs:element name="ParsedCity" type="ns:ParsedAddressPart" minOccurs="0"/>
1543+ <xs:element name="ParsedStateOrProvinceCode" type="ns:ParsedAddressPart" minOccurs="0"/>
1544+ <xs:element name="ParsedPostalCode" type="ns:ParsedAddressPart" minOccurs="0"/>
1545+ <xs:element name="ParsedCountryCode" type="ns:ParsedAddressPart" minOccurs="0"/>
1546+ </xs:sequence>
1547+ </xs:complexType>
1548+ <xs:complexType name="ParsedAddressPart">
1549+ <xs:sequence>
1550+ <xs:element name="Elements" type="ns:ParsedElement" minOccurs="1" maxOccurs="unbounded"/>
1551+ </xs:sequence>
1552+ </xs:complexType>
1553+ <xs:complexType name="ParsedElement">
1554+ <xs:sequence>
1555+ <xs:element name="Name" type="xs:string"/>
1556+ <xs:element name="Value" type="xs:string"/>
1557+ <xs:element name="Changes" type="ns:AddressValidationChangeType" maxOccurs="unbounded"/>
1558+ </xs:sequence>
1559+ </xs:complexType>
1560+ <xs:simpleType name="ResidentialStatusType">
1561+ <xs:restriction base="xs:string">
1562+ <xs:enumeration value="UNDETERMINED"/>
1563+ <xs:enumeration value="BUSINESS"/>
1564+ <xs:enumeration value="RESIDENTIAL"/>
1565+ <xs:enumeration value="INSUFFICIENT_DATA"/>
1566+ <xs:enumeration value="UNAVAILABLE"/>
1567+ <xs:enumeration value="NOT_APPLICABLE_TO_COUNTRY"/>
1568+ </xs:restriction>
1569+ </xs:simpleType>
1570+ <xs:simpleType name="DeliveryPointValidationType">
1571+ <xs:restriction base="xs:string">
1572+ <xs:enumeration value="CONFIRMED"/>
1573+ <xs:enumeration value="UNCONFIRMED"/>
1574+ <xs:enumeration value="UNAVAILABLE"/>
1575+ </xs:restriction>
1576+ </xs:simpleType>
1577+ <xs:simpleType name="AddressValidationAccuracyType">
1578+ <xs:restriction base="xs:string">
1579+ <xs:enumeration value="EXACT"/>
1580+ <xs:enumeration value="TIGHT"/>
1581+ <xs:enumeration value="MEDIUM"/>
1582+ <xs:enumeration value="LOOSE"/>
1583+ </xs:restriction>
1584+ </xs:simpleType>
1585+ <xs:simpleType name="AddressValidationChangeType">
1586+ <xs:restriction base="xs:string">
1587+ <xs:enumeration value="APARTMENT_NUMBER_NOT_FOUND">
1588+ <xs:annotation>
1589+ <xs:documentation>
1590+ (EAS 100) Apartment number not found for this address.
1591+ </xs:documentation>
1592+ </xs:annotation>
1593+ </xs:enumeration>
1594+ <xs:enumeration value="APARTMENT_NUMBER_REQUIRED">
1595+ <xs:annotation>
1596+ <xs:documentation>
1597+ (EAS 101) Address requires apartment number.
1598+ </xs:documentation>
1599+ </xs:annotation>
1600+ </xs:enumeration>
1601+ <xs:enumeration value="NORMALIZED">
1602+ <xs:annotation>
1603+ <xs:documentation>
1604+ (EAS 102) Address normalized - abbreviations applied.
1605+ </xs:documentation>
1606+ </xs:annotation>
1607+ </xs:enumeration>
1608+ <xs:enumeration value="REMOVED_DATA">
1609+ <xs:annotation>
1610+ <xs:documentation>
1611+ (EAS 103) Dropped data.
1612+ </xs:documentation>
1613+ </xs:annotation>
1614+ </xs:enumeration>
1615+ <xs:enumeration value="BOX_NUMBER_REQUIRED">
1616+ <xs:annotation>
1617+ <xs:documentation>
1618+ (EAS 104) Address requires box number.
1619+ </xs:documentation>
1620+ </xs:annotation>
1621+ </xs:enumeration>
1622+ <xs:enumeration value="NO_CHANGES">
1623+ <xs:annotation>
1624+ <xs:documentation>
1625+ (EAS 200) Match - no changes applied to input address.
1626+ </xs:documentation>
1627+ </xs:annotation>
1628+ </xs:enumeration>
1629+ <xs:enumeration value="MODIFIED_TO_ACHIEVE_MATCH">
1630+ <xs:annotation>
1631+ <xs:documentation>
1632+ (EAS 201) Address modified to achieve match.
1633+ </xs:documentation>
1634+ </xs:annotation>
1635+ </xs:enumeration>
1636+ <xs:enumeration value="STREET_RANGE_MATCH">
1637+ <xs:annotation>
1638+ <xs:documentation>
1639+ (EAS 202) Match to street range.
1640+ </xs:documentation>
1641+ </xs:annotation>
1642+ </xs:enumeration>
1643+ <xs:enumeration value="BOX_NUMBER_MATCH">
1644+ <xs:annotation>
1645+ <xs:documentation>
1646+ (EAS 203) Match to box number.
1647+ </xs:documentation>
1648+ </xs:annotation>
1649+ </xs:enumeration>
1650+ <xs:enumeration value="RR_OR_HC_MATCH">
1651+ <xs:annotation>
1652+ <xs:documentation>
1653+ (EAS 204) Match to Rural Route (RR) / Highway Contract (HC) address.
1654+ </xs:documentation>
1655+ </xs:annotation>
1656+ </xs:enumeration>
1657+ <xs:enumeration value="CITY_MATCH">
1658+ <xs:annotation>
1659+ <xs:documentation>
1660+ (EAS 205) Match to city (non-US, non-Canada).
1661+ </xs:documentation>
1662+ </xs:annotation>
1663+ </xs:enumeration>
1664+ <xs:enumeration value="POSTAL_CODE_MATCH">
1665+ <xs:annotation>
1666+ <xs:documentation>
1667+ (EAS 206) Match to postal code only (non-street)
1668+ </xs:documentation>
1669+ </xs:annotation>
1670+ </xs:enumeration>
1671+ <xs:enumeration value="RR_OR_HC_BOX_NUMBER_NEEDED">
1672+ <xs:annotation>
1673+ <xs:documentation>
1674+ (EAS 207) Need box number for Rural Route / Highway Contract (HC) match.
1675+ </xs:documentation>
1676+ </xs:annotation>
1677+ </xs:enumeration>
1678+ <xs:enumeration value="FORMATTED_FOR_COUNTRY">
1679+ <xs:annotation>
1680+ <xs:documentation>
1681+ (EAS 208) Formatting performed for country (non-US, non-Canada).
1682+ </xs:documentation>
1683+ </xs:annotation>
1684+ </xs:enumeration>
1685+ <xs:enumeration value="APO_OR_FPO_MATCH">
1686+ <xs:annotation>
1687+ <xs:documentation>
1688+ (EAS 209) Match to military address (e.g. APO/FPO).
1689+ </xs:documentation>
1690+ </xs:annotation>
1691+ </xs:enumeration>
1692+ <xs:enumeration value="GENERAL_DELIVERY_MATCH">
1693+ <xs:annotation>
1694+ <xs:documentation>
1695+ (EAS 210) Match to general delivery.
1696+ </xs:documentation>
1697+ </xs:annotation>
1698+ </xs:enumeration>
1699+ <xs:enumeration value="FIELD_TRUNCATED">
1700+ <xs:annotation>
1701+ <xs:documentation>
1702+ (EAS 211) Address exceeded 35 character plug-in limit.
1703+ </xs:documentation>
1704+ </xs:annotation>
1705+ </xs:enumeration>
1706+ <xs:enumeration value="UNABLE_TO_APPEND_NON_ADDRESS_DATA">
1707+ <xs:annotation>
1708+ <xs:documentation>
1709+ (EAS 212) Unable to append non-address; data 35 character limit imposed.
1710+ </xs:documentation>
1711+ </xs:annotation>
1712+ </xs:enumeration>
1713+ <xs:enumeration value="INSUFFICIENT_DATA">
1714+ <xs:annotation>
1715+ <xs:documentation>
1716+ (EAS 300) Insufficient data for address verification.
1717+ </xs:documentation>
1718+ </xs:annotation>
1719+ </xs:enumeration>
1720+ <xs:enumeration value="HOUSE_OR_BOX_NUMBER_NOT_FOUND">
1721+ <xs:annotation>
1722+ <xs:documentation>
1723+ (EAS 301) Address (house or box number) not found.
1724+ </xs:documentation>
1725+ </xs:annotation>
1726+ </xs:enumeration>
1727+ <xs:enumeration value="POSTAL_CODE_NOT_FOUND">
1728+ <xs:annotation>
1729+ <xs:documentation>
1730+ (EAS 303) Postal code not found.
1731+ </xs:documentation>
1732+ </xs:annotation>
1733+ </xs:enumeration>
1734+ <xs:enumeration value="INVALID_COUNTRY">
1735+ <xs:annotation>
1736+ <xs:documentation>
1737+ (EAS 305) Invalid country.
1738+ </xs:documentation>
1739+ </xs:annotation>
1740+ </xs:enumeration>
1741+ <xs:enumeration value="SERVICE_UNAVAILABLE_FOR_ADDRESS">
1742+ <xs:annotation>
1743+ <xs:documentation>
1744+ (EAS 400) Service unavailable for request address.
1745+ </xs:documentation>
1746+ </xs:annotation>
1747+ </xs:enumeration>
1748+ </xs:restriction>
1749+ </xs:simpleType>
1750+ <xs:complexType name="ClientDetail">
1751+ <xs:annotation>
1752+ <xs:documentation>The descriptive data identifying the client submitting the transaction.</xs:documentation>
1753+ </xs:annotation>
1754+ <xs:sequence>
1755+ <xs:element name="AccountNumber" type="xs:string">
1756+ <xs:annotation>
1757+ <xs:documentation>The FedEx account number assigned to the customer initiating the request.</xs:documentation>
1758+ <xs:appinfo>
1759+ <xs:MaxLength>12</xs:MaxLength>
1760+ </xs:appinfo>
1761+ </xs:annotation>
1762+ </xs:element>
1763+ <xs:element name="MeterNumber" type="xs:string">
1764+ <xs:annotation>
1765+ <xs:documentation>Identifies the unique client device submitting the request. This number is assigned by FedEx and identifies the unique device from which the request is originating.</xs:documentation>
1766+ <xs:appinfo>
1767+ <xs:MaxLength>10</xs:MaxLength>
1768+ </xs:appinfo>
1769+ </xs:annotation>
1770+ </xs:element>
1771+ <xs:element name="Localization" type="ns:Localization" minOccurs="0">
1772+ <xs:annotation>
1773+ <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>
1774+ </xs:annotation>
1775+ </xs:element>
1776+ </xs:sequence>
1777+ </xs:complexType>
1778+ <xs:complexType name="Localization">
1779+ <xs:annotation>
1780+ <xs:documentation>Governs any future language/translations used for human-readable text.</xs:documentation>
1781+ </xs:annotation>
1782+ <xs:sequence>
1783+ <xs:element name="LanguageCode" type="xs:string">
1784+ <xs:annotation>
1785+ <xs:documentation>Identifies the language to use for human-readable messages.</xs:documentation>
1786+ <xs:appinfo>
1787+ <xs:MaxLength>2</xs:MaxLength>
1788+ </xs:appinfo>
1789+ </xs:annotation>
1790+ </xs:element>
1791+ <xs:element name="LocaleCode" type="xs:string" minOccurs="0">
1792+ <xs:annotation>
1793+ <xs:documentation>Identifies the locale (i.e. country code) associated with the language.</xs:documentation>
1794+ <xs:appinfo>
1795+ <xs:MaxLength>2</xs:MaxLength>
1796+ </xs:appinfo>
1797+ </xs:annotation>
1798+ </xs:element>
1799+ </xs:sequence>
1800+ </xs:complexType>
1801+ <xs:complexType name="TransactionDetail">
1802+ <xs:annotation>
1803+ <xs:documentation>Descriptive data for this customer transaction. The TransactionDetail from the request is echoed back to the caller in the corresponding reply.</xs:documentation>
1804+ </xs:annotation>
1805+ <xs:sequence>
1806+ <xs:element name="CustomerTransactionId" type="xs:string" minOccurs="0">
1807+ <xs:annotation>
1808+ <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>
1809+ <xs:appinfo>
1810+ <xs:MaxLength>40</xs:MaxLength>
1811+ </xs:appinfo>
1812+ </xs:annotation>
1813+ </xs:element>
1814+ <xs:element name="Localization" type="ns:Localization" minOccurs="0">
1815+ <xs:annotation>
1816+ <xs:documentation>Governs any future language/translations applied to the data payload(contrasted with ClientDetail.localization, which governs Notification.localizedMessage language selection).</xs:documentation>
1817+ </xs:annotation>
1818+ </xs:element>
1819+ </xs:sequence>
1820+ </xs:complexType>
1821+ <xs:complexType name="VersionId">
1822+ <xs:annotation>
1823+ <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>
1824+ </xs:annotation>
1825+ <xs:sequence>
1826+ <xs:element name="ServiceId" type="xs:string" fixed="aval" minOccurs="1">
1827+ <xs:annotation>
1828+ <xs:documentation>Identifies a system or sub-system which performs an operation.</xs:documentation>
1829+ </xs:annotation>
1830+ </xs:element>
1831+ <xs:element name="Major" type="xs:int" fixed="2" minOccurs="1">
1832+ <xs:annotation>
1833+ <xs:documentation>Identifies the service business level. For the initial FedEx Web Service release this value should be set to 1.</xs:documentation>
1834+ </xs:annotation>
1835+ </xs:element>
1836+ <xs:element name="Intermediate" type="xs:int" fixed="0" minOccurs="1">
1837+ <xs:annotation>
1838+ <xs:documentation>Identifies the service interface level. For the initial FedEx Web Service release this value should be set to 0.</xs:documentation>
1839+ </xs:annotation>
1840+ </xs:element>
1841+ <xs:element name="Minor" type="xs:int" fixed="0" minOccurs="1">
1842+ <xs:annotation>
1843+ <xs:documentation>Identifies the service code level. For the initial FedEx Web Service release this value should be set to 0.</xs:documentation>
1844+ </xs:annotation>
1845+ </xs:element>
1846+ </xs:sequence>
1847+ </xs:complexType>
1848+ <xs:simpleType name="NotificationSeverityType">
1849+ <xs:annotation>
1850+ <xs:documentation>Identifies the set of severity values for a Notification.</xs:documentation>
1851+ </xs:annotation>
1852+ <xs:restriction base="xs:string">
1853+ <xs:enumeration value="ERROR"/>
1854+ <xs:enumeration value="FAILURE"/>
1855+ <xs:enumeration value="NOTE"/>
1856+ <xs:enumeration value="SUCCESS"/>
1857+ <xs:enumeration value="WARNING"/>
1858+ </xs:restriction>
1859+ </xs:simpleType>
1860+ <xs:complexType name="Notification">
1861+ <xs:annotation>
1862+ <xs:documentation>The descriptive data regarding the results of the submitted transaction.</xs:documentation>
1863+ </xs:annotation>
1864+ <xs:sequence>
1865+ <xs:element name="Severity" type="ns:NotificationSeverityType">
1866+ <xs:annotation>
1867+ <xs:documentation>The severity of this notification. this can indicate success or failure or some other information about the request such as errors or notes.</xs:documentation>
1868+ </xs:annotation>
1869+ </xs:element>
1870+ <xs:element name="Source" type="xs:string">
1871+ <xs:annotation>
1872+ <xs:documentation>Indicates the source of the notification. Combined with Code, it uniqely identifies this message.</xs:documentation>
1873+ </xs:annotation>
1874+ </xs:element>
1875+ <xs:element name="Code" type="xs:string" minOccurs="0">
1876+ <xs:annotation>
1877+ <xs:documentation>A code that represents this notification. Combined with Source, it uniqely identifies this message.</xs:documentation>
1878+ <xs:appinfo>
1879+ <xs:MaxLength>8</xs:MaxLength>
1880+ </xs:appinfo>
1881+ </xs:annotation>
1882+ </xs:element>
1883+ <xs:element name="Message" type="xs:string" minOccurs="0">
1884+ <xs:annotation>
1885+ <xs:documentation>Text that explains this notification.</xs:documentation>
1886+ <xs:appinfo>
1887+ <xs:MaxLength>255</xs:MaxLength>
1888+ </xs:appinfo>
1889+ </xs:annotation>
1890+ </xs:element>
1891+ <xs:element name="LocalizedMessage" type="xs:string" minOccurs="0">
1892+ <xs:annotation>
1893+ <xs:documentation>A translated message. The translation is based on the Localization element of the ClientDetail element of the request.</xs:documentation>
1894+ <xs:appinfo>
1895+ <xs:MaxLength>TBD</xs:MaxLength>
1896+ </xs:appinfo>
1897+ </xs:annotation>
1898+ </xs:element>
1899+ <xs:element name="MessageParameters" type="ns:NotificationParameter" minOccurs="0" maxOccurs="unbounded">
1900+ <xs:annotation>
1901+ <xs:documentation>If the message used parameter replacement to be specific as to the meaning of the message, this is the list of parameters that were used.</xs:documentation>
1902+ <xs:appinfo>
1903+ <xs:MaxLength>TBD</xs:MaxLength>
1904+ </xs:appinfo>
1905+ </xs:annotation>
1906+ </xs:element>
1907+ </xs:sequence>
1908+ </xs:complexType>
1909+ <xs:complexType name="NotificationParameter">
1910+ <xs:sequence>
1911+ <xs:element name="Id" type="xs:string" minOccurs="0">
1912+ <xs:annotation>
1913+ <xs:documentation>Name identifiying the type of the data in the element 'Value'</xs:documentation>
1914+ </xs:annotation>
1915+ </xs:element>
1916+ <xs:element name="Value" type="xs:string" minOccurs="0">
1917+ <xs:annotation>
1918+ <xs:documentation>The value that was used as the replacement parameter.</xs:documentation>
1919+ </xs:annotation>
1920+ </xs:element>
1921+ </xs:sequence>
1922+ </xs:complexType>
1923+ <xs:complexType name="Address">
1924+ <xs:annotation>
1925+ <xs:documentation>The descriptive data for a physical location.</xs:documentation>
1926+ </xs:annotation>
1927+ <xs:sequence>
1928+ <xs:element name="StreetLines" type="xs:string" minOccurs="0" maxOccurs="4">
1929+ <xs:annotation>
1930+ <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>
1931+ <xs:appinfo>
1932+ <xs:MaxLength>35</xs:MaxLength>
1933+ </xs:appinfo>
1934+ </xs:annotation>
1935+ </xs:element>
1936+ <xs:element name="City" type="xs:string" minOccurs="0">
1937+ <xs:annotation>
1938+ <xs:documentation>Name of city, town, etc.</xs:documentation>
1939+ <xs:appinfo>
1940+ <xs:MaxLength>
1941+ <ns:Express>35</ns:Express>
1942+ <ns:Ground>20</ns:Ground>
1943+ </xs:MaxLength>
1944+ </xs:appinfo>
1945+ </xs:annotation>
1946+ </xs:element>
1947+ <xs:element name="StateOrProvinceCode" type="xs:string" minOccurs="0">
1948+ <xs:annotation>
1949+ <xs:documentation>Identifying abbreviation for US state, Canada province, etc. Format and presence of this field will vary, depending on country.</xs:documentation>
1950+ <xs:appinfo>
1951+ <xs:MaxLength>14</xs:MaxLength>
1952+ </xs:appinfo>
1953+ </xs:annotation>
1954+ </xs:element>
1955+ <xs:element name="PostalCode" type="xs:string" minOccurs="0">
1956+ <xs:annotation>
1957+ <xs:documentation>Identification of a region (usually small) for mail/package delivery. Format and presence of this field will vary, depending on country. This element is required if both the City and StateOrProvinceCode are not present.</xs:documentation>
1958+ <xs:appinfo>
1959+ <xs:MaxLength>16</xs:MaxLength>
1960+ </xs:appinfo>
1961+ </xs:annotation>
1962+ </xs:element>
1963+ <xs:element name="UrbanizationCode" type="xs:string" minOccurs="0">
1964+ <xs:annotation>
1965+ <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>
1966+ <xs:appinfo>
1967+ <xs:MaxLength>100</xs:MaxLength>
1968+ </xs:appinfo>
1969+ </xs:annotation>
1970+ </xs:element>
1971+ <xs:element name="CountryCode" type="xs:string" minOccurs="0">
1972+ <xs:annotation>
1973+ <xs:documentation>Identification of a country.</xs:documentation>
1974+ <xs:appinfo>
1975+ <xs:MaxLength>2</xs:MaxLength>
1976+ </xs:appinfo>
1977+ </xs:annotation>
1978+ </xs:element>
1979+ <xs:element name="Residential" type="xs:boolean" minOccurs="0">
1980+ <xs:annotation>
1981+ <xs:documentation>Indicates whether this address is residential (as opposed to commercial).</xs:documentation>
1982+ </xs:annotation>
1983+ </xs:element>
1984+ </xs:sequence>
1985+ </xs:complexType>
1986+ </xs:schema>
1987+ </types>
1988+ <message name="AddressValidationRequest">
1989+ <part name="AddressValidationRequest" element="ns:AddressValidationRequest"/>
1990+ </message>
1991+ <message name="AddressValidationReply">
1992+ <part name="AddressValidationReply" element="ns:AddressValidationReply"/>
1993+ </message>
1994+ <portType name="AddressValidationPortType">
1995+ <operation name="addressValidation" parameterOrder="AddressValidationRequest">
1996+ <input message="ns:AddressValidationRequest"/>
1997+ <output message="ns:AddressValidationReply"/>
1998+ </operation>
1999+ </portType>
2000+ <binding name="AddressValidationServiceSoapBinding" type="ns:AddressValidationPortType">
2001+ <s1:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
2002+ <operation name="addressValidation">
2003+ <s1:operation soapAction="addressValidation" style="document"/>
2004+ <input>
2005+ <s1:body use="literal"/>
2006+ </input>
2007+ <output>
2008+ <s1:body use="literal"/>
2009+ </output>
2010+ </operation>
2011+ </binding>
2012+ <service name="AddressValidationService">
2013+ <port name="AddressValidationServicePort" binding="ns:AddressValidationServiceSoapBinding">
2014+ <s1:address location="https://gateway.fedex.com:443/web-services"/>
2015+ </port>
2016+ </service>
2017+</definitions>
2018
2019=== added file 'partner_address_validation/fedex/wsdl/CloseService_v2.wsdl'
2020--- partner_address_validation/fedex/wsdl/CloseService_v2.wsdl 1970-01-01 00:00:00 +0000
2021+++ partner_address_validation/fedex/wsdl/CloseService_v2.wsdl 2012-12-04 14:51:26 +0000
2022@@ -0,0 +1,548 @@
2023+<?xml version="1.0" encoding="UTF-8"?>
2024+<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:ns="http://fedex.com/ws/close/v2" xmlns:s1="http://schemas.xmlsoap.org/wsdl/soap/" targetNamespace="http://fedex.com/ws/close/v2" name="CloseServiceDefinitions">
2025+ <types>
2026+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://fedex.com/ws/close/v2">
2027+ <xs:element name="SmartPostCloseRequest" type="ns:SmartPostCloseRequest"/>
2028+ <xs:element name="SmartPostCloseReply" type="ns:SmartPostCloseReply"/>
2029+ <xs:element name="GroundCloseRequest" type="ns:GroundCloseRequest"/>
2030+ <xs:element name="GroundCloseReply" type="ns:GroundCloseReply"/>
2031+ <xs:element name="GroundCloseReportsReprintRequest" type="ns:GroundCloseReportsReprintRequest"/>
2032+ <xs:element name="GroundCloseReportsReprintReply" type="ns:GroundCloseReportsReprintReply"/>
2033+ <xs:simpleType name="CarrierCodeType">
2034+ <xs:annotation>
2035+ <xs:documentation>Identification of a FedEx operating company (transportation).</xs:documentation>
2036+ </xs:annotation>
2037+ <xs:restriction base="xs:string">
2038+ <xs:enumeration value="FDXC"/>
2039+ <xs:enumeration value="FDXE"/>
2040+ <xs:enumeration value="FDXG"/>
2041+ <xs:enumeration value="FXCC"/>
2042+ <xs:enumeration value="FXFR"/>
2043+ <xs:enumeration value="FXSP"/>
2044+ </xs:restriction>
2045+ </xs:simpleType>
2046+ <xs:complexType name="ClientDetail">
2047+ <xs:annotation>
2048+ <xs:documentation>Descriptive data for the client submitting a transaction.</xs:documentation>
2049+ </xs:annotation>
2050+ <xs:sequence>
2051+ <xs:element name="AccountNumber" type="xs:string" minOccurs="0">
2052+ <xs:annotation>
2053+ <xs:documentation>?</xs:documentation>
2054+ </xs:annotation>
2055+ </xs:element>
2056+ <xs:element name="MeterNumber" type="xs:string" minOccurs="0">
2057+ <xs:annotation>
2058+ <xs:documentation>?</xs:documentation>
2059+ </xs:annotation>
2060+ </xs:element>
2061+ <xs:element name="IntegratorId" type="xs:string" minOccurs="0">
2062+ <xs:annotation>
2063+ <xs:documentation>Only used in transactions which require identification of the Fed Ex Office integrator.</xs:documentation>
2064+ </xs:annotation>
2065+ </xs:element>
2066+ <xs:element name="Localization" type="ns:Localization" minOccurs="0">
2067+ <xs:annotation>
2068+ <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>
2069+ </xs:annotation>
2070+ </xs:element>
2071+ </xs:sequence>
2072+ </xs:complexType>
2073+ <xs:simpleType name="CloseReportType">
2074+ <xs:annotation>
2075+ <xs:documentation>?</xs:documentation>
2076+ </xs:annotation>
2077+ <xs:restriction base="xs:string">
2078+ <xs:enumeration value="ALL"/>
2079+ <xs:enumeration value="COD"/>
2080+ <xs:enumeration value="HAZMAT"/>
2081+ <xs:enumeration value="MANIFEST"/>
2082+ <xs:enumeration value="MULTIWEIGHT"/>
2083+ </xs:restriction>
2084+ </xs:simpleType>
2085+ <xs:complexType name="GroundCloseReply">
2086+ <xs:annotation>
2087+ <xs:documentation>?</xs:documentation>
2088+ </xs:annotation>
2089+ <xs:sequence>
2090+ <xs:element name="HighestSeverity" type="ns:NotificationSeverityType" minOccurs="1">
2091+ <xs:annotation>
2092+ <xs:documentation>?</xs:documentation>
2093+ </xs:annotation>
2094+ </xs:element>
2095+ <xs:element name="Notifications" type="ns:Notification" minOccurs="0" maxOccurs="unbounded">
2096+ <xs:annotation>
2097+ <xs:documentation>?</xs:documentation>
2098+ </xs:annotation>
2099+ </xs:element>
2100+ <xs:element name="TransactionDetail" type="ns:TransactionDetail" minOccurs="0">
2101+ <xs:annotation>
2102+ <xs:documentation>?</xs:documentation>
2103+ </xs:annotation>
2104+ </xs:element>
2105+ <xs:element name="Version" type="ns:VersionId" minOccurs="1">
2106+ <xs:annotation>
2107+ <xs:documentation>?</xs:documentation>
2108+ </xs:annotation>
2109+ </xs:element>
2110+ <xs:element name="CodReport" type="xs:base64Binary" minOccurs="0">
2111+ <xs:annotation>
2112+ <xs:documentation>?</xs:documentation>
2113+ </xs:annotation>
2114+ </xs:element>
2115+ <xs:element name="HazMatCertificate" type="xs:base64Binary" minOccurs="0">
2116+ <xs:annotation>
2117+ <xs:documentation>?</xs:documentation>
2118+ </xs:annotation>
2119+ </xs:element>
2120+ <xs:element name="Manifest" type="ns:ManifestFile" minOccurs="0">
2121+ <xs:annotation>
2122+ <xs:documentation>?</xs:documentation>
2123+ </xs:annotation>
2124+ </xs:element>
2125+ <xs:element name="MultiweightReport" type="xs:base64Binary" minOccurs="0">
2126+ <xs:annotation>
2127+ <xs:documentation>?</xs:documentation>
2128+ </xs:annotation>
2129+ </xs:element>
2130+ </xs:sequence>
2131+ </xs:complexType>
2132+ <xs:complexType name="GroundCloseReportsReprintReply">
2133+ <xs:annotation>
2134+ <xs:documentation>?</xs:documentation>
2135+ </xs:annotation>
2136+ <xs:sequence>
2137+ <xs:element name="HighestSeverity" type="ns:NotificationSeverityType" minOccurs="1">
2138+ <xs:annotation>
2139+ <xs:documentation>?</xs:documentation>
2140+ </xs:annotation>
2141+ </xs:element>
2142+ <xs:element name="Notifications" type="ns:Notification" minOccurs="0" maxOccurs="unbounded">
2143+ <xs:annotation>
2144+ <xs:documentation>?</xs:documentation>
2145+ </xs:annotation>
2146+ </xs:element>
2147+ <xs:element name="TransactionDetail" type="ns:TransactionDetail" minOccurs="0">
2148+ <xs:annotation>
2149+ <xs:documentation>?</xs:documentation>
2150+ </xs:annotation>
2151+ </xs:element>
2152+ <xs:element name="Version" type="ns:VersionId" minOccurs="1">
2153+ <xs:annotation>
2154+ <xs:documentation>?</xs:documentation>
2155+ </xs:annotation>
2156+ </xs:element>
2157+ <xs:element name="CodReport" type="xs:base64Binary" minOccurs="0">
2158+ <xs:annotation>
2159+ <xs:documentation>?</xs:documentation>
2160+ </xs:annotation>
2161+ </xs:element>
2162+ <xs:element name="HazMatCertificate" type="xs:base64Binary" minOccurs="0">
2163+ <xs:annotation>
2164+ <xs:documentation>?</xs:documentation>
2165+ </xs:annotation>
2166+ </xs:element>
2167+ <xs:element name="Manifests" type="ns:ManifestFile" minOccurs="0" maxOccurs="unbounded">
2168+ <xs:annotation>
2169+ <xs:documentation>?</xs:documentation>
2170+ </xs:annotation>
2171+ </xs:element>
2172+ </xs:sequence>
2173+ </xs:complexType>
2174+ <xs:complexType name="GroundCloseReportsReprintRequest">
2175+ <xs:annotation>
2176+ <xs:documentation>?</xs:documentation>
2177+ </xs:annotation>
2178+ <xs:sequence>
2179+ <xs:element name="WebAuthenticationDetail" type="ns:WebAuthenticationDetail">
2180+ <xs:annotation>
2181+ <xs:documentation>The descriptive data to be used in authentication of the sender's identity (and right to use FedEx web services).</xs:documentation>
2182+ </xs:annotation>
2183+ </xs:element>
2184+ <xs:element name="ClientDetail" type="ns:ClientDetail" minOccurs="0">
2185+ <xs:annotation>
2186+ <xs:documentation>?</xs:documentation>
2187+ </xs:annotation>
2188+ </xs:element>
2189+ <xs:element name="TransactionDetail" type="ns:TransactionDetail" minOccurs="0">
2190+ <xs:annotation>
2191+ <xs:documentation>?</xs:documentation>
2192+ </xs:annotation>
2193+ </xs:element>
2194+ <xs:element name="Version" type="ns:VersionId" minOccurs="1">
2195+ <xs:annotation>
2196+ <xs:documentation>?</xs:documentation>
2197+ </xs:annotation>
2198+ </xs:element>
2199+ <xs:element name="ReportDate" type="xs:date" minOccurs="0">
2200+ <xs:annotation>
2201+ <xs:documentation>?</xs:documentation>
2202+ </xs:annotation>
2203+ </xs:element>
2204+ <xs:element name="TrackingNumber" type="xs:string" minOccurs="0">
2205+ <xs:annotation>
2206+ <xs:documentation>?</xs:documentation>
2207+ </xs:annotation>
2208+ </xs:element>
2209+ <xs:element name="CloseReportType" type="ns:CloseReportType" minOccurs="0">
2210+ <xs:annotation>
2211+ <xs:documentation>?</xs:documentation>
2212+ </xs:annotation>
2213+ </xs:element>
2214+ </xs:sequence>
2215+ </xs:complexType>
2216+ <xs:complexType name="GroundCloseRequest">
2217+ <xs:annotation>
2218+ <xs:documentation>?</xs:documentation>
2219+ </xs:annotation>
2220+ <xs:sequence>
2221+ <xs:element name="WebAuthenticationDetail" type="ns:WebAuthenticationDetail">
2222+ <xs:annotation>
2223+ <xs:documentation>The descriptive data to be used in authentication of the sender's identity (and right to use FedEx web services).</xs:documentation>
2224+ </xs:annotation>
2225+ </xs:element>
2226+ <xs:element name="ClientDetail" type="ns:ClientDetail" minOccurs="0">
2227+ <xs:annotation>
2228+ <xs:documentation>?</xs:documentation>
2229+ </xs:annotation>
2230+ </xs:element>
2231+ <xs:element name="TransactionDetail" type="ns:TransactionDetail" minOccurs="0">
2232+ <xs:annotation>
2233+ <xs:documentation>?</xs:documentation>
2234+ </xs:annotation>
2235+ </xs:element>
2236+ <xs:element name="Version" type="ns:VersionId" minOccurs="1">
2237+ <xs:annotation>
2238+ <xs:documentation>?</xs:documentation>
2239+ </xs:annotation>
2240+ </xs:element>
2241+ <xs:element name="TimeUpToWhichShipmentsAreToBeClosed" type="xs:dateTime" minOccurs="0">
2242+ <xs:annotation>
2243+ <xs:documentation>Identifies the date and time up to which unclosed shipments are to be closed. Both the date and time portions of the string are expected to be used. The time is the local time based on the shipper's time zone. The date component must be in the format: YYYY-MM-DD (e.g. 2009-04-26). The time component must be in the format: HH:MM:SS using a 24 hour clock (e.g. 11:00 a.m. is 11:00:00, whereas 5:00 p.m. is 17:00:00). The date and time parts are separated by a T (e.g. 2009-04-26T17:00:00).</xs:documentation>
2244+ </xs:annotation>
2245+ </xs:element>
2246+ </xs:sequence>
2247+ </xs:complexType>
2248+ <xs:complexType name="Localization">
2249+ <xs:annotation>
2250+ <xs:documentation>?</xs:documentation>
2251+ </xs:annotation>
2252+ <xs:sequence>
2253+ <xs:element name="LanguageCode" type="xs:string" minOccurs="0">
2254+ <xs:annotation>
2255+ <xs:documentation>?</xs:documentation>
2256+ </xs:annotation>
2257+ </xs:element>
2258+ <xs:element name="LocaleCode" type="xs:string" minOccurs="0">
2259+ <xs:annotation>
2260+ <xs:documentation>?</xs:documentation>
2261+ </xs:annotation>
2262+ </xs:element>
2263+ </xs:sequence>
2264+ </xs:complexType>
2265+ <xs:complexType name="ManifestFile">
2266+ <xs:annotation>
2267+ <xs:documentation>?</xs:documentation>
2268+ </xs:annotation>
2269+ <xs:sequence>
2270+ <xs:element name="FileName" type="xs:string" minOccurs="0">
2271+ <xs:annotation>
2272+ <xs:documentation>?</xs:documentation>
2273+ </xs:annotation>
2274+ </xs:element>
2275+ <xs:element name="File" type="xs:base64Binary" minOccurs="0">
2276+ <xs:annotation>
2277+ <xs:documentation>?</xs:documentation>
2278+ </xs:annotation>
2279+ </xs:element>
2280+ </xs:sequence>
2281+ </xs:complexType>
2282+ <xs:complexType name="Notification">
2283+ <xs:annotation>
2284+ <xs:documentation>?</xs:documentation>
2285+ </xs:annotation>
2286+ <xs:sequence>
2287+ <xs:element name="Severity" type="ns:NotificationSeverityType" minOccurs="0">
2288+ <xs:annotation>
2289+ <xs:documentation>?</xs:documentation>
2290+ </xs:annotation>
2291+ </xs:element>
2292+ <xs:element name="Source" type="xs:string" minOccurs="0">
2293+ <xs:annotation>
2294+ <xs:documentation>?</xs:documentation>
2295+ </xs:annotation>
2296+ </xs:element>
2297+ <xs:element name="Code" type="xs:string" minOccurs="0">
2298+ <xs:annotation>
2299+ <xs:documentation>?</xs:documentation>
2300+ </xs:annotation>
2301+ </xs:element>
2302+ <xs:element name="Message" type="xs:string" minOccurs="0">
2303+ <xs:annotation>
2304+ <xs:documentation>?</xs:documentation>
2305+ </xs:annotation>
2306+ </xs:element>
2307+ <xs:element name="LocalizedMessage" type="xs:string" minOccurs="0">
2308+ <xs:annotation>
2309+ <xs:documentation>?</xs:documentation>
2310+ </xs:annotation>
2311+ </xs:element>
2312+ <xs:element name="MessageParameters" type="ns:NotificationParameter" minOccurs="0" maxOccurs="unbounded">
2313+ <xs:annotation>
2314+ <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>
2315+ </xs:annotation>
2316+ </xs:element>
2317+ </xs:sequence>
2318+ </xs:complexType>
2319+ <xs:complexType name="NotificationParameter">
2320+ <xs:annotation>
2321+ <xs:documentation>?</xs:documentation>
2322+ </xs:annotation>
2323+ <xs:sequence>
2324+ <xs:element name="Id" type="xs:string" minOccurs="0">
2325+ <xs:annotation>
2326+ <xs:documentation>?</xs:documentation>
2327+ </xs:annotation>
2328+ </xs:element>
2329+ <xs:element name="Value" type="xs:string" minOccurs="0">
2330+ <xs:annotation>
2331+ <xs:documentation>?</xs:documentation>
2332+ </xs:annotation>
2333+ </xs:element>
2334+ </xs:sequence>
2335+ </xs:complexType>
2336+ <xs:simpleType name="NotificationSeverityType">
2337+ <xs:annotation>
2338+ <xs:documentation>?</xs:documentation>
2339+ </xs:annotation>
2340+ <xs:restriction base="xs:string">
2341+ <xs:enumeration value="ERROR"/>
2342+ <xs:enumeration value="FAILURE"/>
2343+ <xs:enumeration value="NOTE"/>
2344+ <xs:enumeration value="SUCCESS"/>
2345+ <xs:enumeration value="WARNING"/>
2346+ </xs:restriction>
2347+ </xs:simpleType>
2348+ <xs:complexType name="SmartPostCloseReply">
2349+ <xs:annotation>
2350+ <xs:documentation>?</xs:documentation>
2351+ </xs:annotation>
2352+ <xs:sequence>
2353+ <xs:element name="HighestSeverity" type="ns:NotificationSeverityType" minOccurs="1">
2354+ <xs:annotation>
2355+ <xs:documentation>?</xs:documentation>
2356+ </xs:annotation>
2357+ </xs:element>
2358+ <xs:element name="Notifications" type="ns:Notification" minOccurs="0" maxOccurs="unbounded">
2359+ <xs:annotation>
2360+ <xs:documentation>?</xs:documentation>
2361+ </xs:annotation>
2362+ </xs:element>
2363+ <xs:element name="TransactionDetail" type="ns:TransactionDetail" minOccurs="0">
2364+ <xs:annotation>
2365+ <xs:documentation>?</xs:documentation>
2366+ </xs:annotation>
2367+ </xs:element>
2368+ <xs:element name="Version" type="ns:VersionId" minOccurs="1">
2369+ <xs:annotation>
2370+ <xs:documentation>?</xs:documentation>
2371+ </xs:annotation>
2372+ </xs:element>
2373+ </xs:sequence>
2374+ </xs:complexType>
2375+ <xs:complexType name="SmartPostCloseRequest">
2376+ <xs:annotation>
2377+ <xs:documentation>?</xs:documentation>
2378+ </xs:annotation>
2379+ <xs:sequence>
2380+ <xs:element name="WebAuthenticationDetail" type="ns:WebAuthenticationDetail">
2381+ <xs:annotation>
2382+ <xs:documentation>The descriptive data to be used in authentication of the sender's identity (and right to use FedEx web services).</xs:documentation>
2383+ </xs:annotation>
2384+ </xs:element>
2385+ <xs:element name="ClientDetail" type="ns:ClientDetail" minOccurs="0">
2386+ <xs:annotation>
2387+ <xs:documentation>?</xs:documentation>
2388+ </xs:annotation>
2389+ </xs:element>
2390+ <xs:element name="TransactionDetail" type="ns:TransactionDetail" minOccurs="0">
2391+ <xs:annotation>
2392+ <xs:documentation>?</xs:documentation>
2393+ </xs:annotation>
2394+ </xs:element>
2395+ <xs:element name="Version" type="ns:VersionId" minOccurs="1">
2396+ <xs:annotation>
2397+ <xs:documentation>?</xs:documentation>
2398+ </xs:annotation>
2399+ </xs:element>
2400+ <xs:element name="HubId" type="xs:string" minOccurs="0">
2401+ <xs:annotation>
2402+ <xs:documentation>?</xs:documentation>
2403+ </xs:annotation>
2404+ </xs:element>
2405+ <xs:element name="CustomerManifestId" type="xs:string" minOccurs="0">
2406+ <xs:annotation>
2407+ <xs:documentation>?</xs:documentation>
2408+ </xs:annotation>
2409+ </xs:element>
2410+ <xs:element name="DestinationCountryCode" type="xs:string" minOccurs="0">
2411+ <xs:annotation>
2412+ <xs:documentation>?</xs:documentation>
2413+ </xs:annotation>
2414+ </xs:element>
2415+ <xs:element name="PickUpCarrier" type="ns:CarrierCodeType" minOccurs="0">
2416+ <xs:annotation>
2417+ <xs:documentation>?</xs:documentation>
2418+ </xs:annotation>
2419+ </xs:element>
2420+ </xs:sequence>
2421+ </xs:complexType>
2422+ <xs:complexType name="TransactionDetail">
2423+ <xs:annotation>
2424+ <xs:documentation>?</xs:documentation>
2425+ </xs:annotation>
2426+ <xs:sequence>
2427+ <xs:element name="CustomerTransactionId" type="xs:string" minOccurs="0">
2428+ <xs:annotation>
2429+ <xs:documentation>?</xs:documentation>
2430+ </xs:annotation>
2431+ </xs:element>
2432+ <xs:element name="Localization" type="ns:Localization" minOccurs="0">
2433+ <xs:annotation>
2434+ <xs:documentation>Governs data payload language/translations (contrasted with ClientDetail.localization, which governs Notification.localizedMessage language selection).</xs:documentation>
2435+ </xs:annotation>
2436+ </xs:element>
2437+ </xs:sequence>
2438+ </xs:complexType>
2439+ <xs:complexType name="VersionId">
2440+ <xs:annotation>
2441+ <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>
2442+ </xs:annotation>
2443+ <xs:sequence>
2444+ <xs:element name="ServiceId" type="xs:string" minOccurs="0" fixed="clos">
2445+ <xs:annotation>
2446+ <xs:documentation>?</xs:documentation>
2447+ </xs:annotation>
2448+ </xs:element>
2449+ <xs:element name="Major" type="xs:int" minOccurs="0" fixed="2">
2450+ <xs:annotation>
2451+ <xs:documentation>Service business level.</xs:documentation>
2452+ </xs:annotation>
2453+ </xs:element>
2454+ <xs:element name="Intermediate" type="xs:int" minOccurs="0" fixed="0">
2455+ <xs:annotation>
2456+ <xs:documentation>Service interface level.</xs:documentation>
2457+ </xs:annotation>
2458+ </xs:element>
2459+ <xs:element name="Minor" type="xs:int" minOccurs="0" fixed="0">
2460+ <xs:annotation>
2461+ <xs:documentation>Service code level.</xs:documentation>
2462+ </xs:annotation>
2463+ </xs:element>
2464+ </xs:sequence>
2465+ </xs:complexType>
2466+ <xs:complexType name="WebAuthenticationDetail">
2467+ <xs:annotation>
2468+ <xs:documentation>The descriptive data to be used in authentication of the sender's identity (and right to use FedEx web services).</xs:documentation>
2469+ </xs:annotation>
2470+ <xs:sequence>
2471+ <xs:element name="UserCredential" type="ns:WebAuthenticationCredential" minOccurs="1">
2472+ <xs:annotation>
2473+ <xs:documentation>Credential used to authenticate a specific software application. This value is provided by FedEx after registration.</xs:documentation>
2474+ </xs:annotation>
2475+ </xs:element>
2476+ </xs:sequence>
2477+ </xs:complexType>
2478+ <xs:complexType name="WebAuthenticationCredential">
2479+ <xs:annotation>
2480+ <xs:documentation>Two part authentication string used for the sender's identity.</xs:documentation>
2481+ </xs:annotation>
2482+ <xs:sequence>
2483+ <xs:element name="Key" type="xs:string" minOccurs="1">
2484+ <xs:annotation>
2485+ <xs:documentation>Publicly known part of authentication key used for authentication. This value is provided by FedEx after registration.</xs:documentation>
2486+ <xs:appinfo>
2487+ <xs:MaxLength>16</xs:MaxLength>
2488+ </xs:appinfo>
2489+ </xs:annotation>
2490+ </xs:element>
2491+ <xs:element name="Password" type="xs:string" minOccurs="0">
2492+ <xs:annotation>
2493+ <xs:documentation>Secret part of authentication key used for authentication. This value is provided by FedEx after registration.</xs:documentation>
2494+ <xs:appinfo>
2495+ <xs:MaxLength>25</xs:MaxLength>
2496+ </xs:appinfo>
2497+ </xs:annotation>
2498+ </xs:element>
2499+ </xs:sequence>
2500+ </xs:complexType>
2501+ </xs:schema>
2502+ </types>
2503+ <message name="SmartPostCloseRequest">
2504+ <part name="SmartPostCloseRequest" element="ns:SmartPostCloseRequest"/>
2505+ </message>
2506+ <message name="SmartPostCloseReply">
2507+ <part name="SmartPostCloseReply" element="ns:SmartPostCloseReply"/>
2508+ </message>
2509+ <message name="GroundCloseRequest">
2510+ <part name="GroundCloseRequest" element="ns:GroundCloseRequest"/>
2511+ </message>
2512+ <message name="GroundCloseReply">
2513+ <part name="GroundCloseReply" element="ns:GroundCloseReply"/>
2514+ </message>
2515+ <message name="GroundCloseReportsReprintRequest">
2516+ <part name="GroundCloseReportsReprintRequest" element="ns:GroundCloseReportsReprintRequest"/>
2517+ </message>
2518+ <message name="GroundCloseReportsReprintReply">
2519+ <part name="GroundCloseReportsReprintReply" element="ns:GroundCloseReportsReprintReply"/>
2520+ </message>
2521+ <portType name="ClosePortType">
2522+ <operation name="smartPostClose" parameterOrder="SmartPostCloseRequest">
2523+ <input message="ns:SmartPostCloseRequest"/>
2524+ <output message="ns:SmartPostCloseReply"/>
2525+ </operation>
2526+ <operation name="groundClose" parameterOrder="GroundCloseRequest">
2527+ <input message="ns:GroundCloseRequest"/>
2528+ <output message="ns:GroundCloseReply"/>
2529+ </operation>
2530+ <operation name="groundCloseReportsReprint" parameterOrder="GroundCloseReportsReprintRequest">
2531+ <input message="ns:GroundCloseReportsReprintRequest"/>
2532+ <output message="ns:GroundCloseReportsReprintReply"/>
2533+ </operation>
2534+ </portType>
2535+ <binding name="CloseServiceSoapBinding" type="ns:ClosePortType">
2536+ <s1:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
2537+ <operation name="smartPostClose">
2538+ <s1:operation soapAction="smartPostClose" style="document"/>
2539+ <input>
2540+ <s1:body use="literal"/>
2541+ </input>
2542+ <output>
2543+ <s1:body use="literal"/>
2544+ </output>
2545+ </operation>
2546+ <operation name="groundClose">
2547+ <s1:operation soapAction="groundClose" style="document"/>
2548+ <input>
2549+ <s1:body use="literal"/>
2550+ </input>
2551+ <output>
2552+ <s1:body use="literal"/>
2553+ </output>
2554+ </operation>
2555+ <operation name="groundCloseReportsReprint">
2556+ <s1:operation soapAction="groundCloseReportsReprint" style="document"/>
2557+ <input>
2558+ <s1:body use="literal"/>
2559+ </input>
2560+ <output>
2561+ <s1:body use="literal"/>
2562+ </output>
2563+ </operation>
2564+ </binding>
2565+ <service name="CloseService">
2566+ <port name="CloseServicePort" binding="ns:CloseServiceSoapBinding">
2567+ <s1:address location="https://gateway.fedex.com:443/web-services/close"/>
2568+ </port>
2569+ </service>
2570+</definitions>
2571
2572=== added file 'partner_address_validation/fedex/wsdl/CourierDispatchService_v3.wsdl'
2573--- partner_address_validation/fedex/wsdl/CourierDispatchService_v3.wsdl 1970-01-01 00:00:00 +0000
2574+++ partner_address_validation/fedex/wsdl/CourierDispatchService_v3.wsdl 2012-12-04 14:51:26 +0000
2575@@ -0,0 +1,1075 @@
2576+<?xml version="1.0" encoding="UTF-8"?>
2577+<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:ns="http://fedex.com/ws/courierdispatch/v3" xmlns:s1="http://schemas.xmlsoap.org/wsdl/soap/" targetNamespace="http://fedex.com/ws/courierdispatch/v3" name="CourierDispatchDefinitions">
2578+ <types>
2579+ <xs:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://fedex.com/ws/courierdispatch/v3" xmlns:xs="http://www.w3.org/2001/XMLSchema">
2580+ <xs:element name="CourierDispatchRequest" type="ns:CourierDispatchRequest"/>
2581+ <xs:element name="CourierDispatchReply" type="ns:CourierDispatchReply"/>
2582+ <xs:element name="CancelCourierDispatchRequest" type="ns:CancelCourierDispatchRequest"/>
2583+ <xs:element name="CancelCourierDispatchReply" type="ns:CancelCourierDispatchReply"/>
2584+ <xs:element name="PickupAvailabilityRequest" type="ns:PickupAvailabilityRequest"/>
2585+ <xs:element name="PickupAvailabilityReply" type="ns:PickupAvailabilityReply"/>
2586+ <xs:complexType name="CourierDispatchRequest">
2587+ <xs:annotation>
2588+ <xs:documentation>The descriptive data to schedule a FedEx package pickup request.</xs:documentation>
2589+ </xs:annotation>
2590+ <xs:sequence>
2591+ <xs:element name="WebAuthenticationDetail" type="ns:WebAuthenticationDetail" minOccurs="1">
2592+ <xs:annotation>
2593+ <xs:documentation>The descriptive data to be used in authentication of the sender's identity (and right to use FedEx web services).</xs:documentation>
2594+ </xs:annotation>
2595+ </xs:element>
2596+ <xs:element name="ClientDetail" type="ns:ClientDetail">
2597+ <xs:annotation>
2598+ <xs:documentation>The descriptive data identifying the client submitting the transaction.</xs:documentation>
2599+ </xs:annotation>
2600+ </xs:element>
2601+ <xs:element name="TransactionDetail" type="ns:TransactionDetail" minOccurs="0">
2602+ <xs:annotation>
2603+ <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>
2604+ </xs:annotation>
2605+ </xs:element>
2606+ <xs:element name="Version" type="ns:VersionId" minOccurs="1">
2607+ <xs:annotation>
2608+ <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>
2609+ </xs:annotation>
2610+ </xs:element>
2611+ <xs:element name="OriginDetail" type="ns:CourierDispatchOriginDetail">
2612+ <xs:annotation>
2613+ <xs:documentation>Descriptive data about the origin of the shipment being picked up by FedEx.</xs:documentation>
2614+ </xs:annotation>
2615+ </xs:element>
2616+ <xs:element name="FreightDetail" type="ns:CourierDispatchFreightDetail" minOccurs="0">
2617+ <xs:annotation>
2618+ <xs:documentation>Descriptive data for a freight shipment being picked up by FedEx. This is element is only required when requesting a freight service pickup.</xs:documentation>
2619+ </xs:annotation>
2620+ </xs:element>
2621+ <xs:element name="PackageCount">
2622+ <xs:annotation>
2623+ <xs:documentation>Identifies the number of packages that are being tendered to FedEx for this pickup request.</xs:documentation>
2624+ </xs:annotation>
2625+ <xs:simpleType>
2626+ <xs:restriction base="xs:nonNegativeInteger"/>
2627+ </xs:simpleType>
2628+ </xs:element>
2629+ <xs:element name="TotalWeight" type="ns:Weight">
2630+ <xs:annotation>
2631+ <xs:documentation>Identifies the total weight of the package or packages being tendered to FedEx for this pickup request.</xs:documentation>
2632+ </xs:annotation>
2633+ </xs:element>
2634+ <xs:element name="CarrierCode" type="ns:CarrierCodeType">
2635+ <xs:annotation>
2636+ <xs:documentation>Identifies the FedEx operating company (transportation) that is being sent the package pickup request.</xs:documentation>
2637+ </xs:annotation>
2638+ </xs:element>
2639+ <xs:element name="OversizePackageCount" minOccurs="0">
2640+ <xs:annotation>
2641+ <xs:documentation>Identifies the number of oversize packages that are being tendered to FedEx for this pickup request. Please refer to the FedEx Service Guide for package size limits to determine if a package is oversized for the service being shipped.</xs:documentation>
2642+ </xs:annotation>
2643+ <xs:simpleType>
2644+ <xs:restriction base="xs:nonNegativeInteger"/>
2645+ </xs:simpleType>
2646+ </xs:element>
2647+ <xs:element name="CourierRemarks" type="xs:string" minOccurs="0">
2648+ <xs:annotation>
2649+ <xs:documentation>Identifies any remarks or comments to be passed to the FedEx courier picking up the shipment.</xs:documentation>
2650+ <xs:appinfo>
2651+ <xs:MaxLength>60</xs:MaxLength>
2652+ </xs:appinfo>
2653+ </xs:annotation>
2654+ </xs:element>
2655+ <xs:element name="CommodityDescription" type="xs:string" minOccurs="0">
2656+ <xs:annotation>
2657+ <xs:documentation>Identifies the type of commodity being shipped. This element is required for an international shipment.</xs:documentation>
2658+ <xs:appinfo>
2659+ <xs:MaxLength>20</xs:MaxLength>
2660+ </xs:appinfo>
2661+ </xs:annotation>
2662+ </xs:element>
2663+ </xs:sequence>
2664+ </xs:complexType>
2665+ <xs:simpleType name="CarrierCodeType">
2666+ <xs:annotation>
2667+ <xs:documentation>Identification of a FedEx operating company (transportation).</xs:documentation>
2668+ </xs:annotation>
2669+ <xs:restriction base="xs:string">
2670+ <xs:enumeration value="FDXE"/>
2671+ <xs:enumeration value="FDXG"/>
2672+ <xs:enumeration value="FDXC"/>
2673+ <xs:enumeration value="FXCC"/>
2674+ <xs:enumeration value="FXFR"/>
2675+ </xs:restriction>
2676+ </xs:simpleType>
2677+ <xs:complexType name="WebAuthenticationDetail">
2678+ <xs:annotation>
2679+ <xs:documentation>Used in authentication of the sender's identity.</xs:documentation>
2680+ </xs:annotation>
2681+ <xs:sequence>
2682+ <xs:element name="UserCredential" type="ns:WebAuthenticationCredential" minOccurs="1">
2683+ <xs:annotation>
2684+ <xs:documentation>Credential used to authenticate a specific software application. This value is provided by FedEx after registration.</xs:documentation>
2685+ </xs:annotation>
2686+ </xs:element>
2687+ </xs:sequence>
2688+ </xs:complexType>
2689+ <xs:complexType name="WebAuthenticationCredential">
2690+ <xs:annotation>
2691+ <xs:documentation>Two part authentication string used for the sender's identity.</xs:documentation>
2692+ </xs:annotation>
2693+ <xs:sequence>
2694+ <xs:element name="Key" type="xs:string" minOccurs="1">
2695+ <xs:annotation>
2696+ <xs:documentation>Publicly known part of authentication key used for authentication. This value is provided by FedEx after registration.</xs:documentation>
2697+ <xs:appinfo>
2698+ <xs:MaxLength>16</xs:MaxLength>
2699+ </xs:appinfo>
2700+ </xs:annotation>
2701+ </xs:element>
2702+ <xs:element name="Password" type="xs:string" minOccurs="1">
2703+ <xs:annotation>
2704+ <xs:documentation>Secret part of authentication key used for authentication. This value is provided by FedEx after registration.</xs:documentation>
2705+ <xs:appinfo>
2706+ <xs:MaxLength>25</xs:MaxLength>
2707+ </xs:appinfo>
2708+ </xs:annotation>
2709+ </xs:element>
2710+ </xs:sequence>
2711+ </xs:complexType>
2712+ <xs:complexType name="ClientDetail">
2713+ <xs:annotation>
2714+ <xs:documentation>The descriptive data identifying the client submitting the transaction.</xs:documentation>
2715+ </xs:annotation>
2716+ <xs:sequence>
2717+ <xs:element name="AccountNumber" type="xs:string">
2718+ <xs:annotation>
2719+ <xs:documentation>Identifies the FedEx account number assigned to the customer.</xs:documentation>
2720+ <xs:appinfo>
2721+ <xs:MaxLength>12</xs:MaxLength>
2722+ </xs:appinfo>
2723+ </xs:annotation>
2724+ </xs:element>
2725+ <xs:element name="MeterNumber" type="xs:string">
2726+ <xs:annotation>
2727+ <xs:documentation>Identifies the unique client device submitting the request. </xs:documentation>
2728+ <xs:appinfo>
2729+ <xs:MaxLength>10</xs:MaxLength>
2730+ </xs:appinfo>
2731+ </xs:annotation>
2732+ </xs:element>
2733+ <xs:element name="Localization" type="ns:Localization" minOccurs="0">
2734+ <xs:annotation>
2735+ <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>
2736+ </xs:annotation>
2737+ </xs:element>
2738+ </xs:sequence>
2739+ </xs:complexType>
2740+ <xs:complexType name="Localization">
2741+ <xs:annotation>
2742+ <xs:documentation>The descriptive data for the local language and locale (i.e. country).</xs:documentation>
2743+ </xs:annotation>
2744+ <xs:sequence>
2745+ <xs:element name="LanguageCode" type="xs:string">
2746+ <xs:annotation>
2747+ <xs:documentation>Identifies the language to use for human-readable messages.</xs:documentation>
2748+ <xs:appinfo>
2749+ <xs:MaxLength>2</xs:MaxLength>
2750+ </xs:appinfo>
2751+ </xs:annotation>
2752+ </xs:element>
2753+ <xs:element name="LocaleCode" type="xs:string" minOccurs="0">
2754+ <xs:annotation>
2755+ <xs:documentation>Identifies the locale (i.e. country code).</xs:documentation>
2756+ <xs:appinfo>
2757+ <xs:MaxLength>2</xs:MaxLength>
2758+ </xs:appinfo>
2759+ </xs:annotation>
2760+ </xs:element>
2761+ </xs:sequence>
2762+ </xs:complexType>
2763+ <xs:complexType name="TransactionDetail">
2764+ <xs:annotation>
2765+ <xs:documentation>The descriptive data that governs data payload language/translations.</xs:documentation>
2766+ </xs:annotation>
2767+ <xs:sequence>
2768+ <xs:element name="CustomerTransactionId" type="xs:string" minOccurs="0">
2769+ <xs:annotation>
2770+ <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>
2771+ <xs:appinfo>
2772+ <xs:MaxLength>40</xs:MaxLength>
2773+ </xs:appinfo>
2774+ </xs:annotation>
2775+ </xs:element>
2776+ <xs:element name="Localization" type="ns:Localization" minOccurs="0">
2777+ <xs:annotation>
2778+ <xs:documentation>Governs any future language/translations applied to the data payload(contrasted with ClientDetail.localization, which governs Notification.localizedMessage language selection).</xs:documentation>
2779+ </xs:annotation>
2780+ </xs:element>
2781+ </xs:sequence>
2782+ </xs:complexType>
2783+ <xs:complexType name="VersionId">
2784+ <xs:annotation>
2785+ <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>
2786+ </xs:annotation>
2787+ <xs:sequence>
2788+ <xs:element name="ServiceId" type="xs:string" minOccurs="1" fixed="disp">
2789+ <xs:annotation>
2790+ <xs:documentation>Identifies a system or sub-system which performs an operation. Customers using the FedEx Web Services interface should set this element to "wsi".</xs:documentation>
2791+ </xs:annotation>
2792+ </xs:element>
2793+ <xs:element name="Major" type="xs:int" minOccurs="1" fixed="3">
2794+ <xs:annotation>
2795+ <xs:documentation>Identifies the service business level.</xs:documentation>
2796+ </xs:annotation>
2797+ </xs:element>
2798+ <xs:element name="Intermediate" type="xs:int" minOccurs="1" fixed="0">
2799+ <xs:annotation>
2800+ <xs:documentation>Identifies the service interface level.</xs:documentation>
2801+ </xs:annotation>
2802+ </xs:element>
2803+ <xs:element name="Minor" type="xs:int" minOccurs="1" fixed="1">
2804+ <xs:annotation>
2805+ <xs:documentation>Identifies the service code level.</xs:documentation>
2806+ </xs:annotation>
2807+ </xs:element>
2808+ </xs:sequence>
2809+ </xs:complexType>
2810+ <xs:complexType name="CourierDispatchOriginDetail">
2811+ <xs:annotation>
2812+ <xs:documentation>Descriptive data about the origin of the package being picked up by FedEx.</xs:documentation>
2813+ </xs:annotation>
2814+ <xs:sequence>
2815+ <xs:element name="UseAccountAddress" type="xs:boolean" minOccurs="0">
2816+ <xs:annotation>
2817+ <xs:documentation>Flag identifies if customer wants to use Account address or send and alternate address for pickup.</xs:documentation>
2818+ </xs:annotation>
2819+ </xs:element>
2820+ <xs:element name="PickupLocation" type="ns:ContactAndAddress" minOccurs="0">
2821+ <xs:annotation>
2822+ <xs:documentation>Descriptive data about the physical location of the package being picked up by FedEx.</xs:documentation>
2823+ </xs:annotation>
2824+ </xs:element>
2825+ <xs:element name="PackageLocation" type="ns:CourierDispatchBuildingLocationType" minOccurs="0">
2826+ <xs:annotation>
2827+ <xs:documentation>Identifies the physical location where the courier should pick up the shipment. See CourierDispatchBuildingLocationType for valid values.</xs:documentation>
2828+ </xs:annotation>
2829+ </xs:element>
2830+ <xs:element name="BuildingPartCode" type="ns:BuildingPartCode" minOccurs="0">
2831+ <xs:annotation>
2832+ <xs:documentation>Identifies the part of the building where the package is located for pickup by FedEx. See BuildingPartCode for valid values.</xs:documentation>
2833+ </xs:annotation>
2834+ </xs:element>
2835+ <xs:element name="BuildingPartDescription" type="xs:string" minOccurs="0">
2836+ <xs:annotation>
2837+ <xs:documentation>Identifies additional descriptive information associated with the BuildingPartCode to assist the FedEx courier in finding the pickup location.</xs:documentation>
2838+ </xs:annotation>
2839+ </xs:element>
2840+ <xs:element name="ReadyTimestamp" type="xs:dateTime">
2841+ <xs:annotation>
2842+ <xs:documentation>Identifies the date and time the package will be ready for pickup by FedEx. Both the date and time portions of the string are expected to be used. The date should not be a past date or a date more than 10 days in the future. The time is the local time of the pickup based on the shipper's time zone. The date component must be in the format: YYYY-MM-DD (e.g. 2006-06-26). The time component must be in the format: HH:MM:SS in 24-hour form. The date and time parts are separated by the letter T (e.g. 2006-06-26T17:00:00). Because this is a local time, no TZD should be included. If a TZD is included, it will be ignored, and the time treated as local to the pickup postal code.</xs:documentation>
2843+ </xs:annotation>
2844+ </xs:element>
2845+ <xs:element name="CompanyCloseTime" type="xs:time">
2846+ <xs:annotation>
2847+ <xs:documentation>Identifies the close time of the company requesting the pickup. The time is the local time of the pickup based on the shipper's time zone. The time component must be in the format: HH:MM:SS in 24-hour form (e.g. 17:00:00). Because this is a local time, no TZD should be included. If a TZD is included, it will be ignored, and the time treated as local to the pickup postal code.</xs:documentation>
2848+ </xs:annotation>
2849+ </xs:element>
2850+ </xs:sequence>
2851+ </xs:complexType>
2852+ <xs:complexType name="ContactAndAddress">
2853+ <xs:annotation>
2854+ <xs:documentation>The descriptive data for a person or company entitiy doing business with FedEx.</xs:documentation>
2855+ </xs:annotation>
2856+ <xs:sequence>
2857+ <xs:element name="Contact" type="ns:Contact">
2858+ <xs:annotation>
2859+ <xs:documentation>Descriptive data identifying the point-of-contact person.</xs:documentation>
2860+ </xs:annotation>
2861+ </xs:element>
2862+ <xs:element name="Address" type="ns:Address" minOccurs="0">
2863+ <xs:annotation>
2864+ <xs:documentation>The descriptive data for a physical location.</xs:documentation>
2865+ </xs:annotation>
2866+ </xs:element>
2867+ </xs:sequence>
2868+ </xs:complexType>
2869+ <xs:complexType name="Contact">
2870+ <xs:annotation>
2871+ <xs:documentation>Descriptive data identifying the point-of-contact person.</xs:documentation>
2872+ </xs:annotation>
2873+ <xs:sequence>
2874+ <xs:element name="PersonName" type="xs:string">
2875+ <xs:annotation>
2876+ <xs:documentation>Identifies the contact person's name.</xs:documentation>
2877+ <xs:appinfo>
2878+ <xs:MaxLength>35</xs:MaxLength>
2879+ </xs:appinfo>
2880+ </xs:annotation>
2881+ </xs:element>
2882+ <xs:element name="Title" type="xs:string" minOccurs="0">
2883+ <xs:annotation>
2884+ <xs:documentation>Identifies the contact person's title.</xs:documentation>
2885+ <xs:appinfo>
2886+ <xs:MaxLength>35</xs:MaxLength>
2887+ </xs:appinfo>
2888+ </xs:annotation>
2889+ </xs:element>
2890+ <xs:element name="CompanyName" type="xs:string">
2891+ <xs:annotation>
2892+ <xs:documentation>Identifies the contact person's company name.</xs:documentation>
2893+ <xs:appinfo>
2894+ <xs:MaxLength>35</xs:MaxLength>
2895+ </xs:appinfo>
2896+ </xs:annotation>
2897+ </xs:element>
2898+ <xs:element name="PhoneNumber" type="xs:string">
2899+ <xs:annotation>
2900+ <xs:documentation>Identifies the contact person's phone number.</xs:documentation>
2901+ <xs:appinfo>
2902+ <xs:MaxLength>16</xs:MaxLength>
2903+ </xs:appinfo>
2904+ </xs:annotation>
2905+ </xs:element>
2906+ <xs:element name="PhoneExtension" type="xs:string" minOccurs="0">
2907+ <xs:annotation>
2908+ <xs:documentation>Identifies the contact person's phone number extension.</xs:documentation>
2909+ </xs:annotation>
2910+ </xs:element>
2911+ <xs:element name="PagerNumber" type="xs:string" minOccurs="0">
2912+ <xs:annotation>
2913+ <xs:documentation>Identifies the contact person's pager number.</xs:documentation>
2914+ <xs:appinfo>
2915+ <xs:MaxLength>16</xs:MaxLength>
2916+ </xs:appinfo>
2917+ </xs:annotation>
2918+ </xs:element>
2919+ <xs:element name="FaxNumber" type="xs:string" minOccurs="0">
2920+ <xs:annotation>
2921+ <xs:documentation>Identifies the contact person's fax machine phone number.</xs:documentation>
2922+ <xs:appinfo>
2923+ <xs:MaxLength>16</xs:MaxLength>
2924+ </xs:appinfo>
2925+ </xs:annotation>
2926+ </xs:element>
2927+ <xs:element name="EMailAddress" type="xs:string" minOccurs="0">
2928+ <xs:annotation>
2929+ <xs:documentation>Identifies the contact person's email address.</xs:documentation>
2930+ <xs:appinfo>
2931+ <xs:MaxLength>120</xs:MaxLength>
2932+ </xs:appinfo>
2933+ </xs:annotation>
2934+ </xs:element>
2935+ </xs:sequence>
2936+ </xs:complexType>
2937+ <xs:complexType name="Address">
2938+ <xs:annotation>
2939+ <xs:documentation>The descriptive data for a physical location.</xs:documentation>
2940+ </xs:annotation>
2941+ <xs:sequence>
2942+ <xs:element name="StreetLines" type="xs:string" minOccurs="0" maxOccurs="3">
2943+ <xs:annotation>
2944+ <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>
2945+ <xs:appinfo>
2946+ <xs:MaxLength>35</xs:MaxLength>
2947+ </xs:appinfo>
2948+ </xs:annotation>
2949+ </xs:element>
2950+ <xs:element name="City" type="xs:string" minOccurs="0">
2951+ <xs:annotation>
2952+ <xs:documentation>Name of city, town, etc.</xs:documentation>
2953+ <xs:appinfo>
2954+ <xs:MaxLength>35</xs:MaxLength>
2955+ </xs:appinfo>
2956+ </xs:annotation>
2957+ </xs:element>
2958+ <xs:element name="StateOrProvinceCode" type="xs:string" minOccurs="0">
2959+ <xs:annotation>
2960+ <xs:documentation>Identifying abbreviation for US state, Canada province, etc. Format and presence of this field will vary, depending on country.</xs:documentation>
2961+ <xs:appinfo>
2962+ <xs:MaxLength>2</xs:MaxLength>
2963+ </xs:appinfo>
2964+ </xs:annotation>
2965+ </xs:element>
2966+ <xs:element name="PostalCode" type="xs:string" minOccurs="0">
2967+ <xs:annotation>
2968+ <xs:documentation>Identification of a region (usually small) for mail/package delivery. Format and presence of this field will vary, depending on country. This element is required if both the City and StateOrProvinceCode are not present.</xs:documentation>
2969+ <xs:appinfo>
2970+ <xs:MaxLength>16</xs:MaxLength>
2971+ </xs:appinfo>
2972+ </xs:annotation>
2973+ </xs:element>
2974+ <xs:element name="UrbanizationCode" type="xs:string" minOccurs="0">
2975+ <xs:annotation>
2976+ <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>
2977+ </xs:annotation>
2978+ </xs:element>
2979+ <xs:element name="CountryCode" type="xs:string" minOccurs="0">
2980+ <xs:annotation>
2981+ <xs:documentation>Identification of a country.</xs:documentation>
2982+ <xs:appinfo>
2983+ <xs:MaxLength>2</xs:MaxLength>
2984+ </xs:appinfo>
2985+ </xs:annotation>
2986+ </xs:element>
2987+ <xs:element name="Residential" type="xs:boolean" minOccurs="0">
2988+ <xs:annotation>
2989+ <xs:documentation>Indicates whether this address is residential (as opposed to commercial).</xs:documentation>
2990+ </xs:annotation>
2991+ </xs:element>
2992+ </xs:sequence>
2993+ </xs:complexType>
2994+ <xs:simpleType name="CourierDispatchBuildingLocationType">
2995+ <xs:annotation>
2996+ <xs:documentation>Identifies the valid set of valid building locations for package pickup.</xs:documentation>
2997+ </xs:annotation>
2998+ <xs:restriction base="xs:string">
2999+ <xs:enumeration value="FRONT"/>
3000+ <xs:enumeration value="NONE"/>
3001+ <xs:enumeration value="REAR"/>
3002+ <xs:enumeration value="SIDE"/>
3003+ </xs:restriction>
3004+ </xs:simpleType>
3005+ <xs:simpleType name="BuildingPartCode">
3006+ <xs:annotation>
3007+ <xs:documentation>Identifies the valid set of building part types when requesting a package pickup.</xs:documentation>
3008+ </xs:annotation>
3009+ <xs:restriction base="xs:string">
3010+ <xs:enumeration value="APARTMENT"/>
3011+ <xs:enumeration value="BUILDING"/>
3012+ <xs:enumeration value="DEPARTMENT"/>
3013+ <xs:enumeration value="FLOOR"/>
3014+ <xs:enumeration value="ROOM"/>
3015+ <xs:enumeration value="SUITE"/>
3016+ </xs:restriction>
3017+ </xs:simpleType>
3018+ <xs:complexType name="CourierDispatchFreightDetail">
3019+ <xs:annotation>
3020+ <xs:documentation>Descriptive data regarding a FedEx freight service pickup request.</xs:documentation>
3021+ </xs:annotation>
3022+ <xs:sequence>
3023+ <xs:element name="Service" type="ns:ServiceType">
3024+ <xs:annotation>
3025+ <xs:documentation>Identifies the collection of available FedEx transportation service options. Must be a valid FedEx freight service identifier.</xs:documentation>
3026+ </xs:annotation>
3027+ </xs:element>
3028+ <xs:element name="BookingNumber" type="xs:string" minOccurs="0">
3029+ <xs:annotation>
3030+ <xs:documentation>Identifies the FedEx freight booking number. This element should contain numeric values only.</xs:documentation>
3031+ <xs:appinfo>
3032+ <xs:MaxLength>8</xs:MaxLength>
3033+ </xs:appinfo>
3034+ </xs:annotation>
3035+ </xs:element>
3036+ <xs:element name="Dimensions" type="ns:Dimensions" minOccurs="0">
3037+ <xs:annotation>
3038+ <xs:documentation>Descriptive data detailing the length, width, and height of the freight package or shipment being picked up by FedEx.</xs:documentation>
3039+ </xs:annotation>
3040+ </xs:element>
3041+ <xs:element name="TruckType" type="ns:TruckType" minOccurs="0">
3042+ <xs:annotation>
3043+ <xs:documentation>Identifies the type of truck that is needed for FedEx to pick up the freight shipment. See TruckType for valid values.</xs:documentation>
3044+ </xs:annotation>
3045+ </xs:element>
3046+ <xs:element name="TrailerSize" type="ns:TrailerSizeType" minOccurs="0">
3047+ <xs:annotation>
3048+ <xs:documentation>Identifies the tailer size needed for FedEx to pick up a freight shipment. See TrailerSizeType for valid values.</xs:documentation>
3049+ </xs:annotation>
3050+ </xs:element>
3051+ </xs:sequence>
3052+ </xs:complexType>
3053+ <xs:simpleType name="ServiceType">
3054+ <xs:annotation>
3055+ <xs:documentation>Identifies the collection of available FedEx transportation service options.</xs:documentation>
3056+ </xs:annotation>
3057+ <xs:restriction base="xs:string">
3058+ <xs:enumeration value="EUROPE_FIRST_INTERNATIONAL_PRIORITY"/>
3059+ <xs:enumeration value="FEDEX_1_DAY_FREIGHT"/>
3060+ <xs:enumeration value="FEDEX_2_DAY"/>
3061+ <xs:enumeration value="FEDEX_2_DAY_FREIGHT"/>
3062+ <xs:enumeration value="FEDEX_3_DAY_FREIGHT"/>
3063+ <xs:enumeration value="FEDEX_EXPRESS_SAVER"/>
3064+ <xs:enumeration value="FEDEX_GROUND"/>
3065+ <xs:enumeration value="FEDEX_OVERNIGHT"/>
3066+ <xs:enumeration value="GROUND_HOME_DELIVERY"/>
3067+ <xs:enumeration value="INTERNATIONAL_DISTRIBUTION_FREIGHT"/>
3068+ <xs:enumeration value="INTERNATIONAL_ECONOMY"/>
3069+ <xs:enumeration value="INTERNATIONAL_ECONOMY_DISTRIBUTION"/>
3070+ <xs:enumeration value="INTERNATIONAL_ECONOMY_FREIGHT"/>
3071+ <xs:enumeration value="INTERNATIONAL_FIRST"/>
3072+ <xs:enumeration value="INTERNATIONAL_PRIORITY"/>
3073+ <xs:enumeration value="INTERNATIONAL_PRIORITY_DISTRIBUTION"/>
3074+ <xs:enumeration value="INTERNATIONAL_PRIORITY_FREIGHT"/>
3075+ <xs:enumeration value="PRIORITY_OVERNIGHT"/>
3076+ <xs:enumeration value="STANDARD_OVERNIGHT"/>
3077+ </xs:restriction>
3078+ </xs:simpleType>
3079+ <xs:complexType name="Dimensions">
3080+ <xs:annotation>
3081+ <xs:documentation>Descriptive data detailing the length, width, and height of a package.</xs:documentation>
3082+ </xs:annotation>
3083+ <xs:sequence>
3084+ <xs:element name="Length">
3085+ <xs:annotation>
3086+ <xs:documentation>Identifies the length of the package.</xs:documentation>
3087+ </xs:annotation>
3088+ <xs:simpleType>
3089+ <xs:restriction base="xs:nonNegativeInteger"/>
3090+ </xs:simpleType>
3091+ </xs:element>
3092+ <xs:element name="Width">
3093+ <xs:annotation>
3094+ <xs:documentation>Identifies the width of the package.</xs:documentation>
3095+ </xs:annotation>
3096+ <xs:simpleType>
3097+ <xs:restriction base="xs:nonNegativeInteger"/>
3098+ </xs:simpleType>
3099+ </xs:element>
3100+ <xs:element name="Height">
3101+ <xs:annotation>
3102+ <xs:documentation>Identifies the height of the package.</xs:documentation>
3103+ </xs:annotation>
3104+ <xs:simpleType>
3105+ <xs:restriction base="xs:nonNegativeInteger"/>
3106+ </xs:simpleType>
3107+ </xs:element>
3108+ <xs:element name="Units" type="ns:LinearUnits">
3109+ <xs:annotation>
3110+ <xs:documentation>Identifies the unit of measure associated with a dimensional values. See LinearUnits for valid values.</xs:documentation>
3111+ </xs:annotation>
3112+ </xs:element>
3113+ </xs:sequence>
3114+ </xs:complexType>
3115+ <xs:simpleType name="LinearUnits">
3116+ <xs:annotation>
3117+ <xs:documentation>Identifies the collection of linear units of measure for a package dimension.</xs:documentation>
3118+ </xs:annotation>
3119+ <xs:restriction base="xs:string">
3120+ <xs:enumeration value="CM"/>
3121+ <xs:enumeration value="IN"/>
3122+ </xs:restriction>
3123+ </xs:simpleType>
3124+ <xs:simpleType name="TruckType">
3125+ <xs:annotation>
3126+ <xs:documentation>Identifies the valid set of truck types supported by FedEx. This type is appropriate only for freight pickup requests.</xs:documentation>
3127+ </xs:annotation>
3128+ <xs:restriction base="xs:string">
3129+ <xs:enumeration value="DROP_TRAILER_AGREEMENT"/>
3130+ <xs:enumeration value="LIFTGATE"/>
3131+ <xs:enumeration value="TRACTOR_TRAILER_ACCESS"/>
3132+ </xs:restriction>
3133+ </xs:simpleType>
3134+ <xs:simpleType name="TrailerSizeType">
3135+ <xs:annotation>
3136+ <xs:documentation>Identifies the valid set of tractor tailer sizes supported by FedEx. This type is appropriate only for freight pickup requests.</xs:documentation>
3137+ </xs:annotation>
3138+ <xs:restriction base="xs:string">
3139+ <xs:enumeration value="TRAILER_28_FT"/>
3140+ <xs:enumeration value="TRAILER_48_FT"/>
3141+ <xs:enumeration value="TRAILER_53_FT"/>
3142+ </xs:restriction>
3143+ </xs:simpleType>
3144+ <xs:complexType name="Weight">
3145+ <xs:annotation>
3146+ <xs:documentation>The descriptive data for the heaviness of an object.</xs:documentation>
3147+ </xs:annotation>
3148+ <xs:sequence>
3149+ <xs:element name="Units" type="ns:WeightUnits">
3150+ <xs:annotation>
3151+ <xs:documentation>Identifies the unit of measure associated with a weight value. See WeightUnits for the valid values.</xs:documentation>
3152+ </xs:annotation>
3153+ </xs:element>
3154+ <xs:element name="Value" type="xs:decimal">
3155+ <xs:annotation>
3156+ <xs:documentation>Identifies the weight value of the package.</xs:documentation>
3157+ </xs:annotation>
3158+ </xs:element>
3159+ </xs:sequence>
3160+ </xs:complexType>
3161+ <xs:simpleType name="WeightUnits">
3162+ <xs:annotation>
3163+ <xs:documentation>Identifies the collection of units of measure that can be associated with a weight value.</xs:documentation>
3164+ </xs:annotation>
3165+ <xs:restriction base="xs:string">
3166+ <xs:enumeration value="KG"/>
3167+ <xs:enumeration value="LB"/>
3168+ </xs:restriction>
3169+ </xs:simpleType>
3170+ <xs:complexType name="CourierDispatchReply">
3171+ <xs:annotation>
3172+ <xs:documentation>The descriptive data returned to a client in response to a courier dispatch (i.e. package pickup) request.</xs:documentation>
3173+ </xs:annotation>
3174+ <xs:sequence>
3175+ <xs:element name="HighestSeverity" type="ns:NotificationSeverityType">
3176+ <xs:annotation>
3177+ <xs:documentation>Identifies the highest severity encountered when executing the request; in order from high to low: FAILURE, ERROR, WARNING, NOTE, SUCCESS.</xs:documentation>
3178+ </xs:annotation>
3179+ </xs:element>
3180+ <xs:element name="Notifications" type="ns:Notification" maxOccurs="unbounded">
3181+ <xs:annotation>
3182+ <xs:documentation>The descriptive data detailing the status of a sumbitted transaction.</xs:documentation>
3183+ </xs:annotation>
3184+ </xs:element>
3185+ <xs:element name="TransactionDetail" type="ns:TransactionDetail" minOccurs="0">
3186+ <xs:annotation>
3187+ <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>
3188+ </xs:annotation>
3189+ </xs:element>
3190+ <xs:element name="Version" type="ns:VersionId">
3191+ <xs:annotation>
3192+ <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>
3193+ </xs:annotation>
3194+ </xs:element>
3195+ <xs:element name="DispatchConfirmationNumber" type="xs:string" minOccurs="0">
3196+ <xs:annotation>
3197+ <xs:documentation>Identifies the confirmation number assigned by FedEx for the request.</xs:documentation>
3198+ <xs:appinfo>
3199+ <xs:MaxLength>30</xs:MaxLength>
3200+ </xs:appinfo>
3201+ </xs:annotation>
3202+ </xs:element>
3203+ <xs:element name="Location" type="xs:string" minOccurs="0">
3204+ <xs:annotation>
3205+ <xs:documentation>Identifies the FedEx Location identifier responsible for dispatching the courier to pickup the package.</xs:documentation>
3206+ <xs:appinfo>
3207+ <xs:MaxLength>5</xs:MaxLength>
3208+ </xs:appinfo>
3209+ </xs:annotation>
3210+ </xs:element>
3211+ <xs:element name="MessageCode" type="xs:string" minOccurs="0">
3212+ <xs:annotation>
3213+ <xs:documentation>Identifies the FedEx system code associated with the message text in the reply.</xs:documentation>
3214+ <xs:appinfo>
3215+ <xs:MaxLength>3</xs:MaxLength>
3216+ </xs:appinfo>
3217+ </xs:annotation>
3218+ </xs:element>
3219+ <xs:element name="Message" type="xs:string" minOccurs="0">
3220+ <xs:annotation>
3221+ <xs:documentation>Identifies the message text from the FedEx system regarding whether or not the pickup request was successfully scheduled or not.</xs:documentation>
3222+ <xs:appinfo>
3223+ <xs:MaxLength>254</xs:MaxLength>
3224+ </xs:appinfo>
3225+ </xs:annotation>
3226+ </xs:element>
3227+ <xs:element name="PRPControlNumber" type="xs:string" minOccurs="0">
3228+ <xs:annotation>
3229+ <xs:documentation>Identifies the Package Return Program control number.</xs:documentation>
3230+ <xs:appinfo>
3231+ <xs:MaxLength>19</xs:MaxLength>
3232+ </xs:appinfo>
3233+ </xs:annotation>
3234+ </xs:element>
3235+ </xs:sequence>
3236+ </xs:complexType>
3237+ <xs:complexType name="CancelCourierDispatchRequest">
3238+ <xs:annotation>
3239+ <xs:documentation>The descriptive data to cancel a package pickup request.</xs:documentation>
3240+ </xs:annotation>
3241+ <xs:sequence>
3242+ <xs:element name="WebAuthenticationDetail" type="ns:WebAuthenticationDetail" minOccurs="1">
3243+ <xs:annotation>
3244+ <xs:documentation>The descriptive data to be used in authentication of the sender's identity (and right to use FedEx web services).</xs:documentation>
3245+ </xs:annotation>
3246+ </xs:element>
3247+ <xs:element name="ClientDetail" type="ns:ClientDetail">
3248+ <xs:annotation>
3249+ <xs:documentation>The descriptive data identifying the client submitting the transaction.</xs:documentation>
3250+ </xs:annotation>
3251+ </xs:element>
3252+ <xs:element name="TransactionDetail" type="ns:TransactionDetail" minOccurs="0">
3253+ <xs:annotation>
3254+ <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>
3255+ </xs:annotation>
3256+ </xs:element>
3257+ <xs:element name="Version" type="ns:VersionId" minOccurs="1">
3258+ <xs:annotation>
3259+ <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>
3260+ </xs:annotation>
3261+ </xs:element>
3262+ <xs:element name="CarrierCode" type="ns:CarrierCodeType">
3263+ <xs:annotation>
3264+ <xs:documentation>Identifies the FedEx operating company (transportation) that was sent the courier dispatch that is being canceled.</xs:documentation>
3265+ </xs:annotation>
3266+ </xs:element>
3267+ <xs:element name="DispatchConfirmationNumber" type="xs:string">
3268+ <xs:annotation>
3269+ <xs:documentation>Identifies the dispatch confirmation number that is being canceled. The dispatch confirmation number was returned to the client when the courier dispatch was requested.</xs:documentation>
3270+ <xs:appinfo>
3271+ <xs:MaxLength>30</xs:MaxLength>
3272+ </xs:appinfo>
3273+ </xs:annotation>
3274+ </xs:element>
3275+ <xs:element name="ScheduledDate" type="xs:date">
3276+ <xs:annotation>
3277+ <xs:documentation>Identifies the scheduled date for the courier dispatch that is being canceled. The scheduled date was provided by the client when the courier dispatch was requested.</xs:documentation>
3278+ </xs:annotation>
3279+ </xs:element>
3280+ <xs:element name="Location" type="xs:string" minOccurs="0">
3281+ <xs:annotation>
3282+ <xs:documentation>Identifies the FedEx location identifier responsible for dispatching the courier for package pickup that is being canceled. The FedEx location identifier was returned to the client when the courier dispatch was requested. Required for Express service type.</xs:documentation>
3283+ <xs:appinfo>
3284+ <xs:MaxLength>5</xs:MaxLength>
3285+ </xs:appinfo>
3286+ </xs:annotation>
3287+ </xs:element>
3288+ <xs:element name="CourierRemarks" type="xs:string" minOccurs="0">
3289+ <xs:annotation>
3290+ <xs:documentation>Identifies comments the customer wants to convey to the FedEx courier regarding the package pickup.</xs:documentation>
3291+ <xs:appinfo>
3292+ <xs:MaxLength>60</xs:MaxLength>
3293+ </xs:appinfo>
3294+ </xs:annotation>
3295+ </xs:element>
3296+ </xs:sequence>
3297+ </xs:complexType>
3298+ <xs:complexType name="CancelCourierDispatchReply">
3299+ <xs:annotation>
3300+ <xs:documentation>The descriptive data returned to a client in response to a cancel dispatch request.</xs:documentation>
3301+ </xs:annotation>
3302+ <xs:sequence>
3303+ <xs:element name="HighestSeverity" type="ns:NotificationSeverityType">
3304+ <xs:annotation>
3305+ <xs:documentation>Identifies the highest severity encountered when executing the request; in order from high to low: FAILURE, ERROR, WARNING, NOTE, SUCCESS.</xs:documentation>
3306+ </xs:annotation>
3307+ </xs:element>
3308+ <xs:element name="Notifications" type="ns:Notification" maxOccurs="unbounded">
3309+ <xs:annotation>
3310+ <xs:documentation>The descriptive data detailing the status of a sumbitted transaction.</xs:documentation>
3311+ </xs:annotation>
3312+ </xs:element>
3313+ <xs:element name="TransactionDetail" type="ns:TransactionDetail" minOccurs="0">
3314+ <xs:annotation>
3315+ <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>
3316+ </xs:annotation>
3317+ </xs:element>
3318+ <xs:element name="Version" type="ns:VersionId">
3319+ <xs:annotation>
3320+ <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>
3321+ </xs:annotation>
3322+ </xs:element>
3323+ <xs:element name="Message" type="xs:string" minOccurs="0">
3324+ <xs:annotation>
3325+ <xs:documentation>Identifies a text message indicating the outcome of the cancel dispatch request.</xs:documentation>
3326+ <xs:appinfo>
3327+ <xs:MaxLength>254</xs:MaxLength>
3328+ </xs:appinfo>
3329+ </xs:annotation>
3330+ </xs:element>
3331+ </xs:sequence>
3332+ </xs:complexType>
3333+ <xs:complexType name="Notification">
3334+ <xs:annotation>
3335+ <xs:documentation>The descriptive data regarding the results of the submitted transaction.</xs:documentation>
3336+ </xs:annotation>
3337+ <xs:sequence>
3338+ <xs:element name="Severity" type="ns:NotificationSeverityType">
3339+ <xs:annotation>
3340+ <xs:documentation>Identifies the severity of the Notification item. See NotificationSeverityType for list of returned values.</xs:documentation>
3341+ </xs:annotation>
3342+ </xs:element>
3343+ <xs:element name="Source" type="xs:string">
3344+ <xs:annotation>
3345+ <xs:documentation>Identifies the source - what FedEx system, sub-system, or component generated the Notification item.</xs:documentation>
3346+ </xs:annotation>
3347+ </xs:element>
3348+ <xs:element name="Code" type="xs:string" minOccurs="0">
3349+ <xs:annotation>
3350+ <xs:documentation>Identifies the error code generated by the FedEx system, sub-system or component.</xs:documentation>
3351+ <xs:appinfo>
3352+ <xs:MaxLength>8</xs:MaxLength>
3353+ </xs:appinfo>
3354+ </xs:annotation>
3355+ </xs:element>
3356+ <xs:element name="Message" type="xs:string" minOccurs="0">
3357+ <xs:annotation>
3358+ <xs:documentation>Identifies the error message text.</xs:documentation>
3359+ <xs:appinfo>
3360+ <xs:MaxLength>255</xs:MaxLength>
3361+ </xs:appinfo>
3362+ </xs:annotation>
3363+ </xs:element>
3364+ <xs:element name="LocalizedMessage" type="xs:string" minOccurs="0">
3365+ <xs:annotation>
3366+ <xs:documentation>Identifies the error message text in the localization requested. Currently not supported.</xs:documentation>
3367+ </xs:annotation>
3368+ </xs:element>
3369+ <xs:element name="MessageParameters" type="ns:NotificationParameter" minOccurs="0" maxOccurs="unbounded">
3370+ <xs:annotation>
3371+ <xs:documentation>Used internally by FedEx systems for message translation.</xs:documentation>
3372+ </xs:annotation>
3373+ </xs:element>
3374+ </xs:sequence>
3375+ </xs:complexType>
3376+ <xs:complexType name="NotificationParameter">
3377+ <xs:sequence>
3378+ <xs:element name="Id" type="xs:string" minOccurs="0">
3379+ <xs:annotation>
3380+ <xs:documentation>Name identifiying the type of the data in the element 'Value'</xs:documentation>
3381+ </xs:annotation>
3382+ </xs:element>
3383+ <xs:element name="Value" type="xs:string" minOccurs="0">
3384+ <xs:annotation>
3385+ <xs:documentation>The value that was used as the replacement parameter.</xs:documentation>
3386+ </xs:annotation>
3387+ </xs:element>
3388+ </xs:sequence>
3389+ </xs:complexType>
3390+ <xs:simpleType name="NotificationSeverityType">
3391+ <xs:annotation>
3392+ <xs:documentation>Identifies the set of severity values for a Notification.</xs:documentation>
3393+ </xs:annotation>
3394+ <xs:restriction base="xs:string">
3395+ <xs:enumeration value="SUCCESS"/>
3396+ <xs:enumeration value="NOTE"/>
3397+ <xs:enumeration value="WARNING"/>
3398+ <xs:enumeration value="ERROR"/>
3399+ <xs:enumeration value="FAILURE"/>
3400+ </xs:restriction>
3401+ </xs:simpleType>
3402+ <xs:complexType name="PickupAvailabilityRequest">
3403+ <xs:annotation>
3404+ <xs:documentation>The descriptive data to request availability of pickup.</xs:documentation>
3405+ </xs:annotation>
3406+ <xs:sequence>
3407+ <xs:element name="WebAuthenticationDetail" type="ns:WebAuthenticationDetail" minOccurs="1">
3408+ <xs:annotation>
3409+ <xs:documentation>The descriptive data to be used in authentication of the sender's identity (and right to use FedEx web services).</xs:documentation>
3410+ </xs:annotation>
3411+ </xs:element>
3412+ <xs:element name="ClientDetail" type="ns:ClientDetail">
3413+ <xs:annotation>
3414+ <xs:documentation>The descriptive data identifying the client submitting the transaction.</xs:documentation>
3415+ </xs:annotation>
3416+ </xs:element>
3417+ <xs:element name="TransactionDetail" type="ns:TransactionDetail" minOccurs="0">
3418+ <xs:annotation>
3419+ <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>
3420+ </xs:annotation>
3421+ </xs:element>
3422+ <xs:element name="Version" type="ns:VersionId" minOccurs="1">
3423+ <xs:annotation>
3424+ <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>
3425+ </xs:annotation>
3426+ </xs:element>
3427+ <xs:element name="PickupAddress" type="ns:Address">
3428+ <xs:annotation>
3429+ <xs:documentation>Descriptive data providing information about address to pickup from.</xs:documentation>
3430+ </xs:annotation>
3431+ </xs:element>
3432+ <xs:element name="PickupRequestType" type="ns:PickupRequestType" minOccurs="0" maxOccurs="unbounded">
3433+ <xs:annotation>
3434+ <xs:documentation>An array of PickupRequestType. If SAME_DAY is included, Options with ScheduleDay of SAME_DAY will be included in the reply.
3435+ If FUTURE_DAY is included, Options with ScheduleDay of FUTURE_DAY will be included in the reply.</xs:documentation>
3436+ </xs:annotation>
3437+ </xs:element>
3438+ <xs:element name="DispatchDate" type="xs:date" minOccurs="0">
3439+ <xs:annotation>
3440+ <xs:documentation>The dispatch date (in the local time zone) for the pickup whose availability is being requested.</xs:documentation>
3441+ </xs:annotation>
3442+ </xs:element>
3443+ <xs:element name="PackageReadyTime" type="xs:time" minOccurs="0">
3444+ <xs:annotation>
3445+ <xs:documentation>The time when the package will be ready to be picked up. The time is local to the pickup postal code, in 24-hour form (e.g. 13:00:00). It should not contain a TZD. If a TZD is included, it will be ignored</xs:documentation>
3446+ </xs:annotation>
3447+ </xs:element>
3448+ <xs:element name="CustomerCloseTime" type="xs:time" minOccurs="0">
3449+ <xs:annotation>
3450+ <xs:documentation>The lastest time at which the courier will be able to gain access to pick up the package(s). The time is local to the pickup postal code, in 24-hour form (e.g. 17:00:00). It should not contain a TZD. If a TZD is included, it will be ignored</xs:documentation>
3451+ </xs:annotation>
3452+ </xs:element>
3453+ <xs:element name="Carriers" type="ns:CarrierCodeType" minOccurs="0" maxOccurs="unbounded">
3454+ <xs:annotation>
3455+ <xs:documentation>The FedEx carrier(s) for which availability is requested.</xs:documentation>
3456+ </xs:annotation>
3457+ </xs:element>
3458+ <xs:element name="ShipmentAttributes" type="ns:PickupShipmentAttributes" minOccurs="0">
3459+ <xs:annotation>
3460+ <xs:documentation>Descriptive information about the shipment.</xs:documentation>
3461+ </xs:annotation>
3462+ </xs:element>
3463+ </xs:sequence>
3464+ </xs:complexType>
3465+ <xs:complexType name="PickupAvailabilityReply">
3466+ <xs:annotation>
3467+ <xs:documentation>The descriptive data returned to a client in response to a cancel dispatch request.</xs:documentation>
3468+ </xs:annotation>
3469+ <xs:sequence>
3470+ <xs:element name="HighestSeverity" type="ns:NotificationSeverityType">
3471+ <xs:annotation>
3472+ <xs:documentation>Identifies the highest severity encountered when executing the request; in order from high to low: FAILURE, ERROR, WARNING, NOTE, SUCCESS.</xs:documentation>
3473+ </xs:annotation>
3474+ </xs:element>
3475+ <xs:element name="Notifications" type="ns:Notification" maxOccurs="unbounded">
3476+ <xs:annotation>
3477+ <xs:documentation>The descriptive data detailing the status of a sumbitted transaction.</xs:documentation>
3478+ </xs:annotation>
3479+ </xs:element>
3480+ <xs:element name="TransactionDetail" type="ns:TransactionDetail" minOccurs="0">
3481+ <xs:annotation>
3482+ <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>
3483+ </xs:annotation>
3484+ </xs:element>
3485+ <xs:element name="Version" type="ns:VersionId">
3486+ <xs:annotation>
3487+ <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>
3488+ </xs:annotation>
3489+ </xs:element>
3490+ <xs:element name="RequestTimestamp" type="xs:dateTime" minOccurs="0">
3491+ <xs:annotation>
3492+ <xs:documentation>the point in time when the request was processed</xs:documentation>
3493+ </xs:annotation>
3494+ </xs:element>
3495+ <xs:element name="Options" type="ns:PickupScheduleOption" minOccurs="0" maxOccurs="unbounded">
3496+ <xs:annotation>
3497+ <xs:documentation>Identifies the options for picking up the shipment.</xs:documentation>
3498+ </xs:annotation>
3499+ </xs:element>
3500+ </xs:sequence>
3501+ </xs:complexType>
3502+ <xs:simpleType name="PickupRequestType">
3503+ <xs:annotation>
3504+ <xs:documentation>Describes the relationship between the date on which a dispatch occurs and the date on which it is created (scheduled)
3505+ by means of a CourierDispatchRequest. FUTURE_DAY means that the dispatch date is later than the date on which it is created.
3506+ SAME_DAY means that the dispatch is to occur on the date on which it is created.
3507+ </xs:documentation>
3508+ </xs:annotation>
3509+ <xs:restriction base="xs:string">
3510+ <xs:enumeration value="FUTURE_DAY"/>
3511+ <xs:enumeration value="SAME_DAY"/>
3512+ </xs:restriction>
3513+ </xs:simpleType>
3514+ <xs:complexType name="PickupShipmentAttributes">
3515+ <xs:annotation>
3516+ <xs:documentation>Descriptive information about the shipment.</xs:documentation>
3517+ </xs:annotation>
3518+ <xs:sequence>
3519+ <xs:element name="Dimensions" type="ns:Dimensions" minOccurs="0">
3520+ <xs:annotation>
3521+ <xs:documentation>Descriptive information about the dimensions of the package.</xs:documentation>
3522+ </xs:annotation>
3523+ </xs:element>
3524+ <xs:element name="Weight" type="ns:Weight" minOccurs="0">
3525+ <xs:annotation>
3526+ <xs:documentation>Descriptive information about the weight of the package.</xs:documentation>
3527+ </xs:annotation>
3528+ </xs:element>
3529+ </xs:sequence>
3530+ </xs:complexType>
3531+ <xs:complexType name="PickupScheduleOption">
3532+ <xs:annotation>
3533+ <xs:documentation>The constraints on the scheduling of a dispatch, where that dispatch would be made by the Carrier, occur on the PickupDate,
3534+ and would be scheduled (created by means of a CourierDispatchRequest) on a date related to the PickupDate as described
3535+ by the "ScheduleDay" (SAME_DAY meaning that the creation would occur on the PickupDate, and FUTURE_DAY meaning that the creation
3536+ would occur on a date prior to the PickupDate).</xs:documentation>
3537+ </xs:annotation>
3538+ <xs:sequence>
3539+ <xs:element name="Carrier" type="ns:CarrierCodeType" minOccurs="1">
3540+ <xs:annotation>
3541+ <xs:documentation>the carrier to which this PickupScheduleOption applies</xs:documentation>
3542+ </xs:annotation>
3543+ </xs:element>
3544+ <xs:element name="Description" type="xs:string" minOccurs="0">
3545+ <xs:annotation>
3546+ <xs:documentation>Descriptive information about the shipment.</xs:documentation>
3547+ </xs:annotation>
3548+ </xs:element>
3549+ <xs:element name="ScheduleDay" type="ns:PickupRequestType" minOccurs="0">
3550+ <xs:annotation>
3551+ <xs:documentation>Tells whether this option describes a dispatch created on the dispatch date (SAME_DAY), or on a prior date (FUTURE_DAY)</xs:documentation>
3552+ </xs:annotation>
3553+ </xs:element>
3554+ <xs:element name="Available" type="xs:boolean" minOccurs="0">
3555+ <xs:annotation>
3556+ <xs:documentation>True if this pickup option is available.</xs:documentation>
3557+ </xs:annotation>
3558+ </xs:element>
3559+ <xs:element name="PickupDate" type="xs:date" minOccurs="0">
3560+ <xs:annotation>
3561+ <xs:documentation>Identifies the date (in the postal code's time zone) to which this PickupScheduleOption refers.</xs:documentation>
3562+ </xs:annotation>
3563+ </xs:element>
3564+ <xs:element name="CutOffTime" type="xs:time" minOccurs="0">
3565+ <xs:annotation>
3566+ <xs:documentation>Identifies the latest allowed ready time (in the postal code's time zone) for a postal code. As a local time, it will not include a Time Zone Designator</xs:documentation>
3567+ </xs:annotation>
3568+ </xs:element>
3569+ <xs:element name="AccessTime" type="xs:duration" minOccurs="0">
3570+ <xs:annotation>
3571+ <xs:documentation>Identifies the minimum required length of the window of time between the ReadyTime and the CustomerCloseTime.</xs:documentation>
3572+ </xs:annotation>
3573+ </xs:element>
3574+ <xs:element name="ResidentialAvailable" type="xs:boolean" minOccurs="0">
3575+ <xs:annotation>
3576+ <xs:documentation>Identifies availability of residential pickup.</xs:documentation>
3577+ </xs:annotation>
3578+ </xs:element>
3579+ </xs:sequence>
3580+ </xs:complexType>
3581+ </xs:schema>
3582+ </types>
3583+ <message name="CourierDispatchRequest">
3584+ <part name="CourierDispatchRequest" element="ns:CourierDispatchRequest"/>
3585+ </message>
3586+ <message name="CourierDispatchReply">
3587+ <part name="CourierDispatchReply" element="ns:CourierDispatchReply"/>
3588+ </message>
3589+ <message name="CancelCourierDispatchRequest">
3590+ <part name="CancelCourierDispatchRequest" element="ns:CancelCourierDispatchRequest"/>
3591+ </message>
3592+ <message name="CancelCourierDispatchReply">
3593+ <part name="CancelCourierDispatchReply" element="ns:CancelCourierDispatchReply"/>
3594+ </message>
3595+ <message name="PickupAvailabilityRequest">
3596+ <part name="PickupAvailabilityRequest" element="ns:PickupAvailabilityRequest"/>
3597+ </message>
3598+ <message name="PickupAvailabilityReply">
3599+ <part name="PickupAvailabilityReply" element="ns:PickupAvailabilityReply"/>
3600+ </message>
3601+ <portType name="CourierDispatchPortType">
3602+ <operation name="createCourierDispatch">
3603+ <input message="ns:CourierDispatchRequest"/>
3604+ <output message="ns:CourierDispatchReply"/>
3605+ </operation>
3606+ <operation name="cancelCourierDispatch">
3607+ <input message="ns:CancelCourierDispatchRequest"/>
3608+ <output message="ns:CancelCourierDispatchReply"/>
3609+ </operation>
3610+ <operation name="getPickupAvailability">
3611+ <input message="ns:PickupAvailabilityRequest"/>
3612+ <output message="ns:PickupAvailabilityReply"/>
3613+ </operation>
3614+ </portType>
3615+ <binding name="CourierDispatchServiceSoapBinding" type="ns:CourierDispatchPortType">
3616+ <s1:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
3617+ <operation name="createCourierDispatch">
3618+ <s1:operation soapAction="createCourierDispatch" style="document"/>
3619+ <input>
3620+ <s1:body use="literal"/>
3621+ </input>
3622+ <output>
3623+ <s1:body use="literal"/>
3624+ </output>
3625+ </operation>
3626+ <operation name="cancelCourierDispatch">
3627+ <s1:operation soapAction="cancelCourierDispatch" style="document"/>
3628+ <input>
3629+ <s1:body use="literal"/>
3630+ </input>
3631+ <output>
3632+ <s1:body use="literal"/>
3633+ </output>
3634+ </operation>
3635+ <operation name="getPickupAvailability">
3636+ <s1:operation soapAction="getPickupAvailability" style="document"/>
3637+ <input>
3638+ <s1:body use="literal"/>
3639+ </input>
3640+ <output>
3641+ <s1:body use="literal"/>
3642+ </output>
3643+ </operation>
3644+ </binding>
3645+ <service name="CourierDispatchService">
3646+ <port name="CourierDispatchServicePort" binding="ns:CourierDispatchServiceSoapBinding">
3647+ <s1:address location="https://gateway.fedex.com:443/web-services"/>
3648+ </port>
3649+ </service>
3650+</definitions>
3651
3652=== added file 'partner_address_validation/fedex/wsdl/NewWSDLFile.wsdl'
3653--- partner_address_validation/fedex/wsdl/NewWSDLFile.wsdl 1970-01-01 00:00:00 +0000
3654+++ partner_address_validation/fedex/wsdl/NewWSDLFile.wsdl 2012-12-04 14:51:26 +0000
3655@@ -0,0 +1,50 @@
3656+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
3657+<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://www.example.org/NewWSDLFile/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="NewWSDLFile" targetNamespace="http://www.example.org/NewWSDLFile/">
3658+ <wsdl:types>
3659+ <xsd:schema targetNamespace="http://www.example.org/NewWSDLFile/">
3660+ <xsd:element name="NewOperation">
3661+ <xsd:complexType>
3662+ <xsd:sequence>
3663+ <xsd:element name="in" type="xsd:string"/>
3664+ </xsd:sequence>
3665+ </xsd:complexType>
3666+ </xsd:element>
3667+ <xsd:element name="NewOperationResponse">
3668+ <xsd:complexType>
3669+ <xsd:sequence>
3670+ <xsd:element name="out" type="xsd:string"/>
3671+ </xsd:sequence>
3672+ </xsd:complexType>
3673+ </xsd:element>
3674+ </xsd:schema>
3675+ </wsdl:types>
3676+ <wsdl:message name="NewOperationRequest">
3677+ <wsdl:part element="tns:NewOperation" name="parameters"/>
3678+ </wsdl:message>
3679+ <wsdl:message name="NewOperationResponse">
3680+ <wsdl:part element="tns:NewOperationResponse" name="parameters"/>
3681+ </wsdl:message>
3682+ <wsdl:portType name="NewWSDLFile">
3683+ <wsdl:operation name="NewOperation">
3684+ <wsdl:input message="tns:NewOperationRequest"/>
3685+ <wsdl:output message="tns:NewOperationResponse"/>
3686+ </wsdl:operation>
3687+ </wsdl:portType>
3688+ <wsdl:binding name="NewWSDLFileSOAP" type="tns:NewWSDLFile">
3689+ <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
3690+ <wsdl:operation name="NewOperation">
3691+ <soap:operation soapAction="http://www.example.org/NewWSDLFile/NewOperation"/>
3692+ <wsdl:input>
3693+ <soap:body use="literal"/>
3694+ </wsdl:input>
3695+ <wsdl:output>
3696+ <soap:body use="literal"/>
3697+ </wsdl:output>
3698+ </wsdl:operation>
3699+ </wsdl:binding>
3700+ <wsdl:service name="NewWSDLFile">
3701+ <wsdl:port binding="tns:NewWSDLFileSOAP" name="NewWSDLFileSOAP">
3702+ <soap:address location="http://www.example.org/"/>
3703+ </wsdl:port>
3704+ </wsdl:service>
3705+</wsdl:definitions>
3706
3707=== added file 'partner_address_validation/fedex/wsdl/PackageMovementInformationService_v4.wsdl'
3708--- partner_address_validation/fedex/wsdl/PackageMovementInformationService_v4.wsdl 1970-01-01 00:00:00 +0000
3709+++ partner_address_validation/fedex/wsdl/PackageMovementInformationService_v4.wsdl 2012-12-04 14:51:26 +0000
3710@@ -0,0 +1,592 @@
3711+<?xml version="1.0" encoding="UTF-8"?>
3712+<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:ns="http://fedex.com/ws/packagemovementinformationservice/v4" xmlns:s1="http://schemas.xmlsoap.org/wsdl/soap/" targetNamespace="http://fedex.com/ws/packagemovementinformationservice/v4" name="PackageMovementInformationServiceDefinitions">
3713+ <types>
3714+ <xs:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://fedex.com/ws/packagemovementinformationservice/v4" xmlns:xs="http://www.w3.org/2001/XMLSchema">
3715+ <xs:element name="PostalCodeInquiryRequest" type="ns:PostalCodeInquiryRequest"/>
3716+ <xs:element name="PostalCodeInquiryReply" type="ns:PostalCodeInquiryReply"/>
3717+ <xs:element name="ServiceAvailabilityRequest" type="ns:ServiceAvailabilityRequest"/>
3718+ <xs:element name="ServiceAvailabilityReply" type="ns:ServiceAvailabilityReply"/>
3719+ <xs:complexType name="Address">
3720+ <xs:annotation>
3721+ <xs:documentation>The descriptive data for a physical location. </xs:documentation>
3722+ </xs:annotation>
3723+ <xs:sequence>
3724+ <xs:element minOccurs="0" name="PostalCode" type="xs:string">
3725+ <xs:annotation>
3726+ <xs:documentation>Identification of a region (usually small) for mail/package delivery. Format and presence of this field will vary, depending on country. This element is required if the CountryCode is US or CA. PostalCode may also be required for other postal-aware countries.</xs:documentation>
3727+ <xs:appinfo>
3728+ <xs:MaxLength>16</xs:MaxLength>
3729+ </xs:appinfo>
3730+ </xs:annotation>
3731+ </xs:element>
3732+ <xs:element minOccurs="1" name="CountryCode" type="xs:string">
3733+ <xs:annotation>
3734+ <xs:documentation>Identification of a country.</xs:documentation>
3735+ <xs:appinfo>
3736+ <xs:MaxLength>2</xs:MaxLength>
3737+ </xs:appinfo>
3738+ </xs:annotation>
3739+ </xs:element>
3740+ </xs:sequence>
3741+ </xs:complexType>
3742+ <xs:complexType name="WebAuthenticationDetail">
3743+ <xs:annotation>
3744+ <xs:documentation>Used in authentication of the sender's identity.</xs:documentation>
3745+ </xs:annotation>
3746+ <xs:sequence>
3747+ <xs:element name="UserCredential" type="ns:WebAuthenticationCredential" minOccurs="1">
3748+ <xs:annotation>
3749+ <xs:documentation>Credential used to authenticate a specific software application. This value is provided by FedEx after registration.</xs:documentation>
3750+ </xs:annotation>
3751+ </xs:element>
3752+ </xs:sequence>
3753+ </xs:complexType>
3754+ <xs:complexType name="WebAuthenticationCredential">
3755+ <xs:annotation>
3756+ <xs:documentation>Two part authentication string used for the sender's identity.</xs:documentation>
3757+ </xs:annotation>
3758+ <xs:sequence>
3759+ <xs:element name="Key" type="xs:string" minOccurs="1">
3760+ <xs:annotation>
3761+ <xs:documentation>Identifying part of the authentication key. This value is provided by FedEx after registration.</xs:documentation>
3762+ <xs:appinfo>
3763+ <xs:MaxLength>16</xs:MaxLength>
3764+ </xs:appinfo>
3765+ </xs:annotation>
3766+ </xs:element>
3767+ <xs:element name="Password" type="xs:string" minOccurs="1">
3768+ <xs:annotation>
3769+ <xs:documentation>Secret part of authentication key used for authentication. This value is provided by FedEx after registration.</xs:documentation>
3770+ <xs:appinfo>
3771+ <xs:MaxLength>25</xs:MaxLength>
3772+ </xs:appinfo>
3773+ </xs:annotation>
3774+ </xs:element>
3775+ </xs:sequence>
3776+ </xs:complexType>
3777+ <xs:simpleType name="CarrierCodeType">
3778+ <xs:annotation>
3779+ <xs:documentation>Identification of a FedEx operating company (transportation).</xs:documentation>
3780+ </xs:annotation>
3781+ <xs:restriction base="xs:string">
3782+ <xs:enumeration value="FDXE"/>
3783+ <xs:enumeration value="FDXG"/>
3784+ </xs:restriction>
3785+ </xs:simpleType>
3786+ <xs:complexType name="ClientDetail">
3787+ <xs:annotation>
3788+ <xs:documentation>The descriptive data identifying the client submitting the transaction.</xs:documentation>
3789+ </xs:annotation>
3790+ <xs:sequence>
3791+ <xs:element minOccurs="1" name="AccountNumber" type="xs:string">
3792+ <xs:annotation>
3793+ <xs:documentation>Identifies the FedEx account number assigned to the customer.</xs:documentation>
3794+ <xs:appinfo>
3795+ <xs:MaxLength>12</xs:MaxLength>
3796+ </xs:appinfo>
3797+ </xs:annotation>
3798+ </xs:element>
3799+ <xs:element minOccurs="1" name="MeterNumber" type="xs:string">
3800+ <xs:annotation>
3801+ <xs:documentation>Identifies the unique client device submitting the request. </xs:documentation>
3802+ <xs:appinfo>
3803+ <xs:MaxLength>10</xs:MaxLength>
3804+ </xs:appinfo>
3805+ </xs:annotation>
3806+ </xs:element>
3807+ <xs:element name="Localization" type="ns:Localization" minOccurs="0">
3808+ <xs:annotation>
3809+ <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>
3810+ </xs:annotation>
3811+ </xs:element>
3812+ </xs:sequence>
3813+ </xs:complexType>
3814+ <xs:simpleType name="DayOfWeekType">
3815+ <xs:annotation>
3816+ <xs:documentation>Identifies the set of valid day of week abbreviated values.</xs:documentation>
3817+ </xs:annotation>
3818+ <xs:restriction base="xs:string">
3819+ <xs:enumeration value="FRI"/>
3820+ <xs:enumeration value="MON"/>
3821+ <xs:enumeration value="SAT"/>
3822+ <xs:enumeration value="SUN"/>
3823+ <xs:enumeration value="THU"/>
3824+ <xs:enumeration value="TUE"/>
3825+ <xs:enumeration value="WED"/>
3826+ </xs:restriction>
3827+ </xs:simpleType>
3828+ <xs:complexType name="Localization">
3829+ <xs:annotation>
3830+ <xs:documentation>The descriptive data for the local language and locale (i.e. country).</xs:documentation>
3831+ </xs:annotation>
3832+ <xs:sequence>
3833+ <xs:element minOccurs="1" name="LanguageCode" type="xs:string">
3834+ <xs:annotation>
3835+ <xs:documentation>Identifies the language to use for human-readable messages.</xs:documentation>
3836+ <xs:appinfo>
3837+ <xs:MaxLength>2</xs:MaxLength>
3838+ </xs:appinfo>
3839+ </xs:annotation>
3840+ </xs:element>
3841+ <xs:element minOccurs="0" name="LocaleCode" type="xs:string">
3842+ <xs:annotation>
3843+ <xs:documentation>Identifies the locale (i.e. country code).</xs:documentation>
3844+ <xs:appinfo>
3845+ <xs:MaxLength>2</xs:MaxLength>
3846+ </xs:appinfo>
3847+ </xs:annotation>
3848+ </xs:element>
3849+ </xs:sequence>
3850+ </xs:complexType>
3851+ <xs:complexType name="Notification">
3852+ <xs:annotation>
3853+ <xs:documentation>The descriptive data regarding the results of the submitted transaction.</xs:documentation>
3854+ </xs:annotation>
3855+ <xs:sequence>
3856+ <xs:element minOccurs="1" name="Severity" type="ns:NotificationSeverityType">
3857+ <xs:annotation>
3858+ <xs:documentation>Identifies the severity of the Notification item. See NotificationSeverityType for list of returned values.</xs:documentation>
3859+ </xs:annotation>
3860+ </xs:element>
3861+ <xs:element minOccurs="1" name="Source" type="xs:string">
3862+ <xs:annotation>
3863+ <xs:documentation>Identifies the source - what FedEx system, sub-system, or component generated the Notification item.</xs:documentation>
3864+ </xs:annotation>
3865+ </xs:element>
3866+ <xs:element minOccurs="0" name="Code" type="xs:string">
3867+ <xs:annotation>
3868+ <xs:documentation>Identifies the error code generated by the FedEx system, sub-system or component.</xs:documentation>
3869+ <xs:appinfo>
3870+ <xs:MaxLength>8</xs:MaxLength>
3871+ </xs:appinfo>
3872+ </xs:annotation>
3873+ </xs:element>
3874+ <xs:element minOccurs="0" name="Message" type="xs:string">
3875+ <xs:annotation>
3876+ <xs:documentation>Identifies the error message text.</xs:documentation>
3877+ <xs:appinfo>
3878+ <xs:MaxLength>255</xs:MaxLength>
3879+ </xs:appinfo>
3880+ </xs:annotation>
3881+ </xs:element>
3882+ <xs:element minOccurs="0" name="LocalizedMessage" type="xs:string">
3883+ <xs:annotation>
3884+ <xs:documentation>Identifies the error message text in the localization requested. Currently not supported.</xs:documentation>
3885+ </xs:annotation>
3886+ </xs:element>
3887+ <xs:element maxOccurs="unbounded" minOccurs="0" name="MessageParameters" type="ns:NotificationParameter">
3888+ <xs:annotation>
3889+ <xs:documentation>Used internally by FedEx systems for message translation.</xs:documentation>
3890+ </xs:annotation>
3891+ </xs:element>
3892+ </xs:sequence>
3893+ </xs:complexType>
3894+ <xs:complexType name="NotificationParameter">
3895+ <xs:sequence>
3896+ <xs:element name="Id" type="xs:string" minOccurs="0">
3897+ <xs:annotation>
3898+ <xs:documentation>Name identifiying the type of the data in the element 'Value'</xs:documentation>
3899+ </xs:annotation>
3900+ </xs:element>
3901+ <xs:element name="Value" type="xs:string" minOccurs="0">
3902+ <xs:annotation>
3903+ <xs:documentation>The value that was used as the replacement parameter.</xs:documentation>
3904+ </xs:annotation>
3905+ </xs:element>
3906+ </xs:sequence>
3907+ </xs:complexType>
3908+ <xs:simpleType name="NotificationSeverityType">
3909+ <xs:annotation>
3910+ <xs:documentation>Identifies the set of severity values for a Notification.</xs:documentation>
3911+ </xs:annotation>
3912+ <xs:restriction base="xs:string">
3913+ <xs:enumeration value="ERROR"/>
3914+ <xs:enumeration value="FAILURE"/>
3915+ <xs:enumeration value="NOTE"/>
3916+ <xs:enumeration value="SUCCESS"/>
3917+ <xs:enumeration value="WARNING"/>
3918+ </xs:restriction>
3919+ </xs:simpleType>
3920+ <xs:simpleType name="PackagingType">
3921+ <xs:annotation>
3922+ <xs:documentation>Identifies the collection of available FedEx packaging options.</xs:documentation>
3923+ </xs:annotation>
3924+ <xs:restriction base="xs:string">
3925+ <xs:enumeration value="FEDEX_10KG_BOX"/>
3926+ <xs:enumeration value="FEDEX_25KG_BOX"/>
3927+ <xs:enumeration value="FEDEX_BOX"/>
3928+ <xs:enumeration value="FEDEX_ENVELOPE"/>
3929+ <xs:enumeration value="FEDEX_PAK"/>
3930+ <xs:enumeration value="FEDEX_TUBE"/>
3931+ <xs:enumeration value="YOUR_PACKAGING"/>
3932+ </xs:restriction>
3933+ </xs:simpleType>
3934+ <xs:complexType name="PostalCodeInquiryRequest">
3935+ <xs:annotation>
3936+ <xs:documentation>FedEx Postal Code Inquiry request.</xs:documentation>
3937+ </xs:annotation>
3938+ <xs:sequence>
3939+ <xs:element name="WebAuthenticationDetail" type="ns:WebAuthenticationDetail" minOccurs="1">
3940+ <xs:annotation>
3941+ <xs:documentation>The descriptive data to be used in authentication of the sender's identity (and right to use FedEx web services).</xs:documentation>
3942+ </xs:annotation>
3943+ </xs:element>
3944+ <xs:element name="ClientDetail" type="ns:ClientDetail">
3945+ <xs:annotation>
3946+ <xs:documentation>The descriptive data identifying the client submitting the transaction.</xs:documentation>
3947+ </xs:annotation>
3948+ </xs:element>
3949+ <xs:element name="TransactionDetail" type="ns:TransactionDetail" minOccurs="0">
3950+ <xs:annotation>
3951+ <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>
3952+ </xs:annotation>
3953+ </xs:element>
3954+ <xs:element name="Version" type="ns:VersionId">
3955+ <xs:annotation>
3956+ <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>
3957+ </xs:annotation>
3958+ </xs:element>
3959+ <xs:element name="CarrierCode" type="ns:CarrierCodeType">
3960+ <xs:annotation>
3961+ <xs:documentation>Identifies the carrier code type.</xs:documentation>
3962+ </xs:annotation>
3963+ </xs:element>
3964+ <xs:element name="PostalCode" type="xs:string" minOccurs="0">
3965+ <xs:annotation>
3966+ <xs:documentation>Identifies the postal code. Required if CountryCode is US or CA.</xs:documentation>
3967+ </xs:annotation>
3968+ </xs:element>
3969+ <xs:element name="CountryCode" type="xs:string">
3970+ <xs:annotation>
3971+ <xs:documentation>Identifies the country code.</xs:documentation>
3972+ </xs:annotation>
3973+ </xs:element>
3974+ </xs:sequence>
3975+ </xs:complexType>
3976+ <xs:complexType name="PostalCodeInquiryReply">
3977+ <xs:annotation>
3978+ <xs:documentation>FedEx Postal Code Inquiry reply.</xs:documentation>
3979+ </xs:annotation>
3980+ <xs:sequence>
3981+ <xs:element name="HighestSeverity" type="ns:NotificationSeverityType">
3982+ <xs:annotation>
3983+ <xs:documentation>Identifies the highest severity encountered when executing the request; in order from high to low: FAILURE, ERROR, WARNING, NOTE, SUCCESS.</xs:documentation>
3984+ </xs:annotation>
3985+ </xs:element>
3986+ <xs:element name="Notifications" type="ns:Notification" maxOccurs="unbounded">
3987+ <xs:annotation>
3988+ <xs:documentation>The descriptive data detailing the status of a sumbitted transaction.</xs:documentation>
3989+ </xs:annotation>
3990+ </xs:element>
3991+ <xs:element name="TransactionDetail" type="ns:TransactionDetail" minOccurs="0">
3992+ <xs:annotation>
3993+ <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>
3994+ </xs:annotation>
3995+ </xs:element>
3996+ <xs:element name="Version" type="ns:VersionId" minOccurs="0">
3997+ <xs:annotation>
3998+ <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>
3999+ </xs:annotation>
4000+ </xs:element>
4001+ <xs:element name="ExpressFreightContractorDeliveryArea" type="xs:boolean" minOccurs="0">
4002+ <xs:annotation>
4003+ <xs:documentation>Flag identifying whether Express Freight Contractor Delivery Area.</xs:documentation>
4004+ </xs:annotation>
4005+ </xs:element>
4006+ <xs:element name="ExpressDescription" type="ns:PostalCodeServiceAreaDescription" minOccurs="0">
4007+ <xs:annotation>
4008+ <xs:documentation>Postal code service area description for Express.</xs:documentation>
4009+ </xs:annotation>
4010+ </xs:element>
4011+ <xs:element name="ExpressFreightDescription" type="ns:PostalCodeServiceAreaDescription" minOccurs="0">
4012+ <xs:annotation>
4013+ <xs:documentation>Postal code service area description for Express Freight.</xs:documentation>
4014+ </xs:annotation>
4015+ </xs:element>
4016+ </xs:sequence>
4017+ </xs:complexType>
4018+ <xs:complexType name="PostalCodeServiceAreaDescription">
4019+ <xs:annotation>
4020+ <xs:documentation>Postal Code Service Area description.</xs:documentation>
4021+ </xs:annotation>
4022+ <xs:sequence>
4023+ <xs:element name="LocationId" type="xs:string" minOccurs="0">
4024+ <xs:annotation>
4025+ <xs:documentation>Location ID</xs:documentation>
4026+ </xs:annotation>
4027+ </xs:element>
4028+ <xs:element name="StateOrProvinceCode" type="xs:string" minOccurs="0">
4029+ <xs:annotation>
4030+ <xs:documentation>State or Province code</xs:documentation>
4031+ </xs:annotation>
4032+ </xs:element>
4033+ <xs:element name="PostalCode" type="xs:string" minOccurs="0">
4034+ <xs:annotation>
4035+ <xs:documentation>Postal Code</xs:documentation>
4036+ </xs:annotation>
4037+ </xs:element>
4038+ <xs:element name="ServiceArea" type="xs:string" minOccurs="0">
4039+ <xs:annotation>
4040+ <xs:documentation>Service area code</xs:documentation>
4041+ </xs:annotation>
4042+ </xs:element>
4043+ </xs:sequence>
4044+ </xs:complexType>
4045+ <xs:complexType name="ServiceAvailabilityOption">
4046+ <xs:annotation>
4047+ <xs:documentation>The descriptive data which identifies an available FedEx Service.</xs:documentation>
4048+ </xs:annotation>
4049+ <xs:sequence>
4050+ <xs:element minOccurs="0" name="Service" type="ns:ServiceType">
4051+ <xs:annotation>
4052+ <xs:documentation>Identifies a FedEx Service that is available between the origin and destination provided in the request.</xs:documentation>
4053+ </xs:annotation>
4054+ </xs:element>
4055+ <xs:element minOccurs="0" name="DeliveryDate" type="xs:date">
4056+ <xs:annotation>
4057+ <xs:documentation>Identifies the delivery date of the available service.</xs:documentation>
4058+ </xs:annotation>
4059+ </xs:element>
4060+ <xs:element minOccurs="0" name="DeliveryDay" type="ns:DayOfWeekType">
4061+ <xs:annotation>
4062+ <xs:documentation>Identifies the delivery day of week of the available service. See DayOfWeekType for valid values.</xs:documentation>
4063+ </xs:annotation>
4064+ </xs:element>
4065+ <xs:element minOccurs="0" name="DestinationStationId" type="xs:string">
4066+ <xs:annotation>
4067+ <xs:documentation>Identifies the FedEx location identifier of the package destination.</xs:documentation>
4068+ <xs:appinfo>
4069+ <xs:MaxLength>4</xs:MaxLength>
4070+ </xs:appinfo>
4071+ </xs:annotation>
4072+ </xs:element>
4073+ <xs:element minOccurs="0" name="DestinationAirportId" type="xs:string">
4074+ <xs:annotation>
4075+ <xs:documentation>Identification of an airport, using standard three-letter abbreviations.</xs:documentation>
4076+ </xs:annotation>
4077+ </xs:element>
4078+ </xs:sequence>
4079+ </xs:complexType>
4080+ <xs:complexType name="ServiceAvailabilityReply">
4081+ <xs:annotation>
4082+ <xs:documentation>The descriptive data returned for a FedEx service availability request.</xs:documentation>
4083+ </xs:annotation>
4084+ <xs:sequence>
4085+ <xs:element minOccurs="1" name="HighestSeverity" type="ns:NotificationSeverityType">
4086+ <xs:annotation>
4087+ <xs:documentation>Identifies the highest severity encountered when executing the request; in order from high to low: FAILURE, ERROR, WARNING, NOTE, SUCCESS.</xs:documentation>
4088+ </xs:annotation>
4089+ </xs:element>
4090+ <xs:element maxOccurs="unbounded" minOccurs="0" name="Notifications" type="ns:Notification">
4091+ <xs:annotation>
4092+ <xs:documentation>The descriptive data detailing the status of a sumbitted transaction.</xs:documentation>
4093+ </xs:annotation>
4094+ </xs:element>
4095+ <xs:element minOccurs="0" name="TransactionDetail" type="ns:TransactionDetail">
4096+ <xs:annotation>
4097+ <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>
4098+ </xs:annotation>
4099+ </xs:element>
4100+ <xs:element minOccurs="0" name="Version" type="ns:VersionId">
4101+ <xs:annotation>
4102+ <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>
4103+ </xs:annotation>
4104+ </xs:element>
4105+ <xs:element maxOccurs="unbounded" minOccurs="0" name="Options" type="ns:ServiceAvailabilityOption">
4106+ <xs:annotation>
4107+ <xs:documentation>The descriptive data for the collection of available FedEx Services returned for the request.</xs:documentation>
4108+ </xs:annotation>
4109+ </xs:element>
4110+ </xs:sequence>
4111+ </xs:complexType>
4112+ <xs:complexType name="ServiceAvailabilityRequest">
4113+ <xs:annotation>
4114+ <xs:documentation>The descriptive data which is used to determine which FedEx Express services are available between an origin and destination. To check the availability of one particular FedEx Express service and packaging type, include the Service and Packaging elements in the request message. Only information regarding that single service and packaging type will be returned from the request. To obtain a list of all available services for a given origin and destination, omit the Service and Packaging elements from the request. In this case the reply will contain every available service.</xs:documentation>
4115+ </xs:annotation>
4116+ <xs:sequence>
4117+ <xs:element name="WebAuthenticationDetail" type="ns:WebAuthenticationDetail" minOccurs="1">
4118+ <xs:annotation>
4119+ <xs:documentation>The descriptive data to be used in authentication of the sender's identity (and right to use FedEx web services).</xs:documentation>
4120+ </xs:annotation>
4121+ </xs:element>
4122+ <xs:element minOccurs="1" name="ClientDetail" type="ns:ClientDetail">
4123+ <xs:annotation>
4124+ <xs:documentation>The descriptive data identifying the client submitting the transaction.</xs:documentation>
4125+ </xs:annotation>
4126+ </xs:element>
4127+ <xs:element minOccurs="0" name="TransactionDetail" type="ns:TransactionDetail">
4128+ <xs:annotation>
4129+ <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>
4130+ </xs:annotation>
4131+ </xs:element>
4132+ <xs:element name="Version" type="ns:VersionId">
4133+ <xs:annotation>
4134+ <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>
4135+ </xs:annotation>
4136+ </xs:element>
4137+ <xs:element minOccurs="1" name="Origin" type="ns:Address">
4138+ <xs:annotation>
4139+ <xs:documentation>The descriptive data for the physical location from which the shipment originates.</xs:documentation>
4140+ </xs:annotation>
4141+ </xs:element>
4142+ <xs:element minOccurs="1" name="Destination" type="ns:Address">
4143+ <xs:annotation>
4144+ <xs:documentation>The descriptive data for the physical location to which the shipment is destined.</xs:documentation>
4145+ </xs:annotation>
4146+ </xs:element>
4147+ <xs:element minOccurs="1" name="ShipDate" type="xs:date">
4148+ <xs:annotation>
4149+ <xs:documentation>The date on which the package will be shipped. The date should not be a past date or a date more than 10 days in the future. The date format must be YYYY-MM-DD.</xs:documentation>
4150+ </xs:annotation>
4151+ </xs:element>
4152+ <xs:element minOccurs="1" name="CarrierCode" type="ns:CarrierCodeType">
4153+ <xs:annotation>
4154+ <xs:documentation>Identification of a FedEx operating company (transportation). For this transaction the value must be "FDXE".</xs:documentation>
4155+ </xs:annotation>
4156+ </xs:element>
4157+ <xs:element minOccurs="0" name="Service" type="ns:ServiceType">
4158+ <xs:annotation>
4159+ <xs:documentation>Identifies the FedEx transportation service to check for availability. See ServiceType for valid values. Omit this element and the Packaging element to get a list of every available service.</xs:documentation>
4160+ </xs:annotation>
4161+ </xs:element>
4162+ <xs:element minOccurs="0" name="Packaging" type="ns:PackagingType">
4163+ <xs:annotation>
4164+ <xs:documentation>Identifies the FedEx packaging type used by the requestor for the package. See PackagingType for valid values. Omit this element and the Service element to get a list of every available service.</xs:documentation>
4165+ </xs:annotation>
4166+ </xs:element>
4167+ </xs:sequence>
4168+ </xs:complexType>
4169+ <xs:simpleType name="ServiceType">
4170+ <xs:annotation>
4171+ <xs:documentation>Identifies the collection of available FedEx transportation service options.</xs:documentation>
4172+ </xs:annotation>
4173+ <xs:restriction base="xs:string">
4174+ <xs:enumeration value="EUROPE_FIRST_INTERNATIONAL_PRIORITY"/>
4175+ <xs:enumeration value="FEDEX_1_DAY_FREIGHT"/>
4176+ <xs:enumeration value="FEDEX_2_DAY"/>
4177+ <xs:enumeration value="FEDEX_2_DAY_FREIGHT"/>
4178+ <xs:enumeration value="FEDEX_3_DAY_FREIGHT"/>
4179+ <xs:enumeration value="FEDEX_EXPRESS_SAVER"/>
4180+ <xs:enumeration value="FEDEX_GROUND"/>
4181+ <xs:enumeration value="FIRST_OVERNIGHT"/>
4182+ <xs:enumeration value="GROUND_HOME_DELIVERY"/>
4183+ <xs:enumeration value="INTERNATIONAL_DISTRIBUTION_FREIGHT"/>
4184+ <xs:enumeration value="INTERNATIONAL_ECONOMY"/>
4185+ <xs:enumeration value="INTERNATIONAL_ECONOMY_DISTRIBUTION"/>
4186+ <xs:enumeration value="INTERNATIONAL_ECONOMY_FREIGHT"/>
4187+ <xs:enumeration value="INTERNATIONAL_FIRST"/>
4188+ <xs:enumeration value="INTERNATIONAL_PRIORITY"/>
4189+ <xs:enumeration value="INTERNATIONAL_PRIORITY_DISTRIBUTION"/>
4190+ <xs:enumeration value="INTERNATIONAL_PRIORITY_FREIGHT"/>
4191+ <xs:enumeration value="PRIORITY_OVERNIGHT"/>
4192+ <xs:enumeration value="STANDARD_OVERNIGHT"/>
4193+ </xs:restriction>
4194+ </xs:simpleType>
4195+ <xs:complexType name="TransactionDetail">
4196+ <xs:annotation>
4197+ <xs:documentation>The descriptive data that governs data payload language/translations.</xs:documentation>
4198+ </xs:annotation>
4199+ <xs:sequence>
4200+ <xs:element minOccurs="0" name="CustomerTransactionId" type="xs:string">
4201+ <xs:annotation>
4202+ <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>
4203+ <xs:appinfo>
4204+ <xs:MaxLength>40</xs:MaxLength>
4205+ </xs:appinfo>
4206+ </xs:annotation>
4207+ </xs:element>
4208+ <xs:element minOccurs="0" name="Localization" type="ns:Localization">
4209+ <xs:annotation>
4210+ <xs:documentation>Governs any future language/translations applied to the data payload(contrasted with ClientDetail.localization, which governs Notification.localizedMessage language selection).</xs:documentation>
4211+ </xs:annotation>
4212+ </xs:element>
4213+ </xs:sequence>
4214+ </xs:complexType>
4215+ <xs:complexType name="VersionId">
4216+ <xs:annotation>
4217+ <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).
4218+ </xs:documentation>
4219+ </xs:annotation>
4220+ <xs:sequence>
4221+ <xs:element name="ServiceId" type="xs:string" minOccurs="1" fixed="pmis">
4222+ <xs:annotation>
4223+ <xs:documentation>Identifies a system or sub-system which performs an operation. Customers using the FedEx Web Services interface should set this element to "pmis".</xs:documentation>
4224+ </xs:annotation>
4225+ </xs:element>
4226+ <xs:element name="Major" type="xs:int" minOccurs="1" fixed="4">
4227+ <xs:annotation>
4228+ <xs:documentation>Identifies the service business level. This value should be set to 4.</xs:documentation>
4229+ </xs:annotation>
4230+ </xs:element>
4231+ <xs:element name="Intermediate" type="xs:int" minOccurs="1" fixed="0">
4232+ <xs:annotation>
4233+ <xs:documentation>Identifies the service interface level. This value should be set to 0.</xs:documentation>
4234+ </xs:annotation>
4235+ </xs:element>
4236+ <xs:element name="Minor" type="xs:int" minOccurs="1" fixed="0">
4237+ <xs:annotation>
4238+ <xs:documentation>Identifies the service code level. This value should be set to 0.</xs:documentation>
4239+ </xs:annotation>
4240+ </xs:element>
4241+ </xs:sequence>
4242+ </xs:complexType>
4243+ </xs:schema>
4244+ </types>
4245+ <message name="ServiceAvailabilityRequest">
4246+ <part name="ServiceAvailabilityRequest" element="ns:ServiceAvailabilityRequest">
4247+ <documentation>Defines the request data element of the operation.</documentation>
4248+ </part>
4249+ </message>
4250+ <message name="ServiceAvailabilityReply">
4251+ <part name="ServiceAvailabilityReply" element="ns:ServiceAvailabilityReply">
4252+ <documentation>Defines the response data element of the operation.</documentation>
4253+ </part>
4254+ </message>
4255+ <message name="PostalCodeInquiryRequest">
4256+ <part name="PostalCodeInquiryRequest" element="ns:PostalCodeInquiryRequest"/>
4257+ </message>
4258+ <message name="PostalCodeInquiryReply">
4259+ <part name="PostalCodeInquiryReply" element="ns:PostalCodeInquiryReply"/>
4260+ </message>
4261+ <portType name="PackageMovementInformationPortType">
4262+ <documentation>This element describes the web service, the operations performed and the messages involved in the operation.</documentation>
4263+ <operation name="postalCodeInquiry" parameterOrder="PostalCodeInquiryRequest">
4264+ <input message="ns:PostalCodeInquiryRequest"/>
4265+ <output message="ns:PostalCodeInquiryReply"/>
4266+ </operation>
4267+ <operation name="serviceAvailability" parameterOrder="ServiceAvailabilityRequest">
4268+ <input message="ns:ServiceAvailabilityRequest">
4269+ <documentation>Defines the input message type for the serviceAvailability operation.</documentation>
4270+ </input>
4271+ <output message="ns:ServiceAvailabilityReply">
4272+ <documentation>Defines the output message type for the serviceAvailability operation.</documentation>
4273+ </output>
4274+ </operation>
4275+ </portType>
4276+ <binding name="PackageMovementInformationServiceSoapBinding" type="ns:PackageMovementInformationPortType">
4277+ <s1:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
4278+ <operation name="postalCodeInquiry">
4279+ <s1:operation soapAction="postalCodeInquiry" style="document"/>
4280+ <input>
4281+ <s1:body use="literal"/>
4282+ </input>
4283+ <output>
4284+ <s1:body use="literal"/>
4285+ </output>
4286+ </operation>
4287+ <operation name="serviceAvailability">
4288+ <s1:operation soapAction="serviceAvailability" style="document"/>
4289+ <input>
4290+ <s1:body use="literal"/>
4291+ </input>
4292+ <output>
4293+ <s1:body use="literal"/>
4294+ </output>
4295+ </operation>
4296+ </binding>
4297+ <service name="PackageMovementInformationService">
4298+ <port name="PackageMovementInformationServicePort" binding="ns:PackageMovementInformationServiceSoapBinding">
4299+ <s1:address location="https://gateway.fedex.com:443/web-services"/>
4300+ </port>
4301+ </service>
4302+</definitions>
4303
4304=== added file 'partner_address_validation/fedex/wsdl/RateService_v8.wsdl'
4305--- partner_address_validation/fedex/wsdl/RateService_v8.wsdl 1970-01-01 00:00:00 +0000
4306+++ partner_address_validation/fedex/wsdl/RateService_v8.wsdl 2012-12-04 14:51:26 +0000
4307@@ -0,0 +1,4749 @@
4308+<?xml version="1.0" encoding="UTF-8"?>
4309+<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:ns="http://fedex.com/ws/rate/v8" xmlns:s1="http://schemas.xmlsoap.org/wsdl/soap/" targetNamespace="http://fedex.com/ws/rate/v8" name="RateServiceDefinitions">
4310+ <types>
4311+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://fedex.com/ws/rate/v8">
4312+ <xs:element name="RateRequest" type="ns:RateRequest"/>
4313+ <xs:element name="RateReply" type="ns:RateReply"/>
4314+ <xs:complexType name="RateRequest">
4315+ <xs:annotation>
4316+ <xs:documentation>Descriptive data sent to FedEx by a customer in order to rate a package/shipment.</xs:documentation>
4317+ </xs:annotation>
4318+ <xs:sequence>
4319+ <xs:element minOccurs="1" name="WebAuthenticationDetail" type="ns:WebAuthenticationDetail">
4320+ <xs:annotation>
4321+ <xs:documentation>Descriptive data to be used in authentication of the sender's identity (and right to use FedEx web services).</xs:documentation>
4322+ </xs:annotation>
4323+ </xs:element>
4324+ <xs:element minOccurs="1" name="ClientDetail" type="ns:ClientDetail">
4325+ <xs:annotation>
4326+ <xs:documentation>Descriptive data identifying the client submitting the transaction.</xs:documentation>
4327+ </xs:annotation>
4328+ </xs:element>
4329+ <xs:element minOccurs="0" name="TransactionDetail" type="ns:TransactionDetail">
4330+ <xs:annotation>
4331+ <xs:documentation>Descriptive data for this customer transaction. The TransactionDetail from the request is echoed back to the caller in the corresponding reply.</xs:documentation>
4332+ </xs:annotation>
4333+ </xs:element>
4334+ <xs:element name="Version" type="ns:VersionId">
4335+ <xs:annotation>
4336+ <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>
4337+ </xs:annotation>
4338+ </xs:element>
4339+ <xs:element name="ReturnTransitAndCommit" type="xs:boolean" minOccurs="0">
4340+ <xs:annotation>
4341+ <xs:documentation>Allows the caller to specify that the transit time and commit data are to be returned in the reply.</xs:documentation>
4342+ </xs:annotation>
4343+ </xs:element>
4344+ <xs:element name="CarrierCodes" type="ns:CarrierCodeType" maxOccurs="unbounded" minOccurs="0">
4345+ <xs:annotation>
4346+ <xs:documentation>Candidate carriers for rate-shopping use case. This field is only considered if requestedShipment/serviceType is omitted.</xs:documentation>
4347+ </xs:annotation>
4348+ </xs:element>
4349+ <xs:element name="VariableOptions" type="ns:ServiceOptionType" maxOccurs="unbounded" minOccurs="0">
4350+ <xs:annotation>
4351+ <xs:documentation>Contains zero or more service options whose combinations are to be considered when replying with available services.</xs:documentation>
4352+ </xs:annotation>
4353+ </xs:element>
4354+ <xs:element name="RequestedShipment" type="ns:RequestedShipment">
4355+ <xs:annotation>
4356+ <xs:documentation>The shipment for which a rate quote (or rate-shopping comparison) is desired.</xs:documentation>
4357+ </xs:annotation>
4358+ </xs:element>
4359+ </xs:sequence>
4360+ </xs:complexType>
4361+ <xs:complexType name="RequestedShipment">
4362+ <xs:annotation>
4363+ <xs:documentation>The descriptive data for the shipment being tendered to FedEx.</xs:documentation>
4364+ </xs:annotation>
4365+ <xs:sequence>
4366+ <xs:element name="ShipTimestamp" type="xs:dateTime" minOccurs="0">
4367+ <xs:annotation>
4368+ <xs:documentation>Identifies the date and time the package is tendered to FedEx. Both the date and time portions of the string are expected to be used. The date should not be a past date or a date more than 10 days in the future. The time is the local time of the shipment based on the shipper's time zone. The date component must be in the format: YYYY-MM-DD (e.g. 2006-06-26). The time component must be in the format: HH:MM:SS using a 24 hour clock (e.g. 11:00 a.m. is 11:00:00, whereas 5:00 p.m. is 17:00:00). The date and time parts are separated by the letter T (e.g. 2006-06-26T17:00:00). There is also a UTC offset component indicating the number of hours/mainutes from UTC (e.g 2006-06-26T17:00:00-0400 is defined form June 26, 2006 5:00 pm Eastern Time).</xs:documentation>
4369+ </xs:annotation>
4370+ </xs:element>
4371+ <xs:element name="DropoffType" type="ns:DropoffType" minOccurs="0">
4372+ <xs:annotation>
4373+ <xs:documentation>Identifies the method by which the package is to be tendered to FedEx. This element does not dispatch a courier for package pickup. See DropoffType for list of valid enumerated values.</xs:documentation>
4374+ </xs:annotation>
4375+ </xs:element>
4376+ <xs:element name="ServiceType" type="ns:ServiceType" minOccurs="0">
4377+ <xs:annotation>
4378+ <xs:documentation>Identifies the FedEx service to use in shipping the package. See ServiceType for list of valid enumerated values.</xs:documentation>
4379+ </xs:annotation>
4380+ </xs:element>
4381+ <xs:element name="PackagingType" type="ns:PackagingType" minOccurs="0">
4382+ <xs:annotation>
4383+ <xs:documentation>Identifies the packaging used by the requestor for the package. See PackagingType for list of valid enumerated values.</xs:documentation>
4384+ </xs:annotation>
4385+ </xs:element>
4386+ <xs:element name="TotalWeight" type="ns:Weight" minOccurs="0">
4387+ <xs:annotation>
4388+ <xs:documentation>Identifies the total weight of the shipment being conveyed to FedEx.This is only applicable to International shipments and should only be used on the first package of a mutiple piece shipment.This value contains 1 explicit decimal position</xs:documentation>
4389+ </xs:annotation>
4390+ </xs:element>
4391+ <xs:element name="TotalInsuredValue" type="ns:Money" minOccurs="0">
4392+ <xs:annotation>
4393+ <xs:documentation>Total insured amount.</xs:documentation>
4394+ </xs:annotation>
4395+ </xs:element>
4396+ <xs:element name="Shipper" type="ns:Party">
4397+ <xs:annotation>
4398+ <xs:documentation>Descriptive data identifying the party responsible for shipping the package. Shipper and Origin should have the same address.</xs:documentation>
4399+ </xs:annotation>
4400+ </xs:element>
4401+ <xs:element name="Recipient" type="ns:Party">
4402+ <xs:annotation>
4403+ <xs:documentation>Descriptive data identifying the party receiving the package.</xs:documentation>
4404+ </xs:annotation>
4405+ </xs:element>
4406+ <xs:element name="RecipientLocationNumber" type="xs:string" minOccurs="0">
4407+ <xs:annotation>
4408+ <xs:documentation>A unique identifier for a recipient location</xs:documentation>
4409+ <xs:appinfo>
4410+ <xs:MaxLength>10</xs:MaxLength>
4411+ </xs:appinfo>
4412+ </xs:annotation>
4413+ </xs:element>
4414+ <xs:element name="Origin" minOccurs="0" type="ns:ContactAndAddress">
4415+ <xs:annotation>
4416+ <xs:documentation>Physical starting address for the shipment, if different from shipper's address.</xs:documentation>
4417+ </xs:annotation>
4418+ </xs:element>
4419+ <xs:element name="ShippingChargesPayment" type="ns:Payment" minOccurs="0">
4420+ <xs:annotation>
4421+ <xs:documentation>Descriptive data indicating the method and means of payment to FedEx for providing shipping services.</xs:documentation>
4422+ </xs:annotation>
4423+ </xs:element>
4424+ <xs:element name="SpecialServicesRequested" type="ns:ShipmentSpecialServicesRequested" minOccurs="0">
4425+ <xs:annotation>
4426+ <xs:documentation>Descriptive data regarding special services requested by the shipper for this shipment. If the shipper is requesting a special service which requires additional data (e.g. COD), the special service type must be present in the specialServiceTypes collection, and the supporting detail must be provided in the appropriate sub-object. For example, to request COD, "COD" must be included in the SpecialServiceTypes collection and the CodDetail object must contain the required data.</xs:documentation>
4427+ </xs:annotation>
4428+ </xs:element>
4429+ <xs:element name="ExpressFreightDetail" type="ns:ExpressFreightDetail" minOccurs="0">
4430+ <xs:annotation>
4431+ <xs:documentation>Details specific to an Express freight shipment.</xs:documentation>
4432+ </xs:annotation>
4433+ </xs:element>
4434+ <xs:element name="FreightShipmentDetail" minOccurs="0" type="ns:FreightShipmentDetail">
4435+ <xs:annotation>
4436+ <xs:documentation>Data applicable to shipments using FEDEX_FREIGHT and FEDEX_NATIONAL_FREIGHT services.</xs:documentation>
4437+ </xs:annotation>
4438+ </xs:element>
4439+ <xs:element name="DeliveryInstructions" type="xs:string" minOccurs="0">
4440+ <xs:annotation>
4441+ <xs:documentation>Used with Ground Home Delivery and Freight.</xs:documentation>
4442+ </xs:annotation>
4443+ </xs:element>
4444+ <xs:element name="VariableHandlingChargeDetail" type="ns:VariableHandlingChargeDetail" minOccurs="0">
4445+ <xs:annotation>
4446+ <xs:documentation>Details about how to calculate variable handling charges at the shipment level.</xs:documentation>
4447+ </xs:annotation>
4448+ </xs:element>
4449+ <xs:element name="InternationalDetail" type="ns:InternationalDetail" minOccurs="0">
4450+ <xs:annotation>
4451+ <xs:documentation>Information about this package that only applies to an international (export) shipment.</xs:documentation>
4452+ </xs:annotation>
4453+ </xs:element>
4454+ <xs:element name="PickupDetail" type="ns:PickupDetail" minOccurs="0">
4455+ <xs:annotation>
4456+ <xs:documentation>For use in "process tag" transaction.</xs:documentation>
4457+ </xs:annotation>
4458+ </xs:element>
4459+ <xs:element name="SmartPostDetail" minOccurs="0" type="ns:SmartPostShipmentDetail"/>
4460+ <xs:element name="BlockInsightVisibility" type="xs:boolean" minOccurs="0">
4461+ <xs:annotation>
4462+ <xs:documentation>If true, only the shipper/payor will have visibility of this shipment.</xs:documentation>
4463+ </xs:annotation>
4464+ </xs:element>
4465+ <xs:element name="LabelSpecification" type="ns:LabelSpecification" minOccurs="0">
4466+ <xs:annotation>
4467+ <xs:documentation>Details about the image format and printer type the label is to returned in.</xs:documentation>
4468+ </xs:annotation>
4469+ </xs:element>
4470+ <xs:element name="ShippingDocumentSpecification" type="ns:ShippingDocumentSpecification" minOccurs="0">
4471+ <xs:annotation>
4472+ <xs:documentation>Details such as shipping document types, NAFTA information, CI information, and GAA information.</xs:documentation>
4473+ </xs:annotation>
4474+ </xs:element>
4475+ <xs:element name="RateRequestTypes" type="ns:RateRequestType" minOccurs="0" maxOccurs="unbounded">
4476+ <xs:annotation>
4477+ <xs:documentation>Indicates the type of rates to be returned.</xs:documentation>
4478+ </xs:annotation>
4479+ </xs:element>
4480+ <xs:element name="EdtRequestType" minOccurs="0" type="ns:EdtRequestType">
4481+ <xs:annotation>
4482+ <xs:documentation>Specifies whether the customer wishes to have Estimated Duties and Taxes provided with the rate quotation on this shipment. Only applies with shipments moving under international services.</xs:documentation>
4483+ </xs:annotation>
4484+ </xs:element>
4485+ <xs:element name="PackageCount" type="xs:nonNegativeInteger" minOccurs="0">
4486+ <xs:annotation>
4487+ <xs:documentation>For a multiple piece shipment this is the total number of packages in the shipment.</xs:documentation>
4488+ </xs:annotation>
4489+ </xs:element>
4490+ <xs:element name="PackageDetail" type="ns:RequestedPackageDetailType" minOccurs="0">
4491+ <xs:annotation>
4492+ <xs:documentation>Specifies whether packages are described individually, in groups, or summarized in a single description for total-piece-total-weight. This field controls which fields of the RequestedPackageLineItem will be used, and how many occurrences are expected.</xs:documentation>
4493+ </xs:annotation>
4494+ </xs:element>
4495+ <xs:element name="RequestedPackageLineItems" minOccurs="0" maxOccurs="999" type="ns:RequestedPackageLineItem">
4496+ <xs:annotation>
4497+ <xs:documentation>One or more package-attribute descriptions, each of which describes an individual package, a group of identical packages, or (for the total-piece-total-weight case) common characteristics all packages in the shipment.</xs:documentation>
4498+ </xs:annotation>
4499+ </xs:element>
4500+ </xs:sequence>
4501+ </xs:complexType>
4502+ <xs:complexType name="PickupDetail">
4503+ <xs:annotation>
4504+ <xs:documentation>This class describes the pickup characteristics of a shipment (e.g. for use in a tag request).</xs:documentation>
4505+ </xs:annotation>
4506+ <xs:sequence>
4507+ <xs:element name="ReadyDateTime" type="xs:dateTime" minOccurs="0"/>
4508+ <xs:element name="LatestPickupDateTime" type="xs:dateTime" minOccurs="0"/>
4509+ <xs:element name="CourierInstructions" type="xs:string" minOccurs="0"/>
4510+ <xs:element name="RequestType" type="ns:PickupRequestType" minOccurs="0"/>
4511+ <xs:element name="RequestSource" type="ns:PickupRequestSourceType" minOccurs="0"/>
4512+ </xs:sequence>
4513+ </xs:complexType>
4514+ <xs:simpleType name="PickupRequestType">
4515+ <xs:restriction base="xs:string">
4516+ <xs:enumeration value="SAME_DAY"/>
4517+ <xs:enumeration value="FUTURE_DAY"/>
4518+ </xs:restriction>
4519+ </xs:simpleType>
4520+ <xs:simpleType name="PickupRequestSourceType">
4521+ <xs:restriction base="xs:string">
4522+ <xs:enumeration value="AUTOMATION"/>
4523+ <xs:enumeration value="CUSTOMER_SERVICE"/>
4524+ </xs:restriction>
4525+ </xs:simpleType>
4526+ <xs:simpleType name="RequestedPackageDetailType">
4527+ <xs:restriction base="xs:string">
4528+ <xs:enumeration value="INDIVIDUAL_PACKAGES"/>
4529+ <xs:enumeration value="PACKAGE_SUMMARY"/>
4530+ <xs:enumeration value="PACKAGE_GROUPS"/>
4531+ </xs:restriction>
4532+ </xs:simpleType>
4533+ <xs:complexType name="ContactAndAddress">
4534+ <xs:sequence>
4535+ <xs:element name="Contact" type="ns:Contact" minOccurs="0"/>
4536+ <xs:element name="Address" type="ns:Address" minOccurs="0"/>
4537+ </xs:sequence>
4538+ </xs:complexType>
4539+ <xs:complexType name="ExpressFreightDetail">
4540+ <xs:annotation>
4541+ <xs:documentation>Details specific to an Express freight shipment.</xs:documentation>
4542+ </xs:annotation>
4543+ <xs:sequence>
4544+ <xs:element name="PackingListEnclosed" type="xs:boolean" minOccurs="0">
4545+ <xs:annotation>
4546+ <xs:documentation>Indicates whether or nor a packing list is enclosed.</xs:documentation>
4547+ </xs:annotation>
4548+ </xs:element>
4549+ <xs:element name="ShippersLoadAndCount" type="xs:positiveInteger" minOccurs="0">
4550+ <xs:annotation>
4551+ <xs:documentation>
4552+ Total shipment pieces.
4553+ ie. 3 boxes and 3 pallets of 100 pieces each = Shippers Load and Count of 303.
4554+ Applicable to International Priority Freight and International Economy Freight.
4555+ Values must be in the range of 1 - 99999
4556+ </xs:documentation>
4557+ </xs:annotation>
4558+ </xs:element>
4559+ <xs:element name="BookingConfirmationNumber" type="xs:string" minOccurs="0">
4560+ <xs:annotation>
4561+ <xs:documentation>Required for International Freight shipping. Values must be 8- 12 characters in length.</xs:documentation>
4562+ <xs:appinfo>
4563+ <xs:MaxLength>12</xs:MaxLength>
4564+ </xs:appinfo>
4565+ </xs:annotation>
4566+ </xs:element>
4567+ <xs:element name="ReferenceLabelRequested" type="xs:boolean" minOccurs="0">
4568+ <xs:annotation>
4569+ <xs:documentation>Currently not supported.</xs:documentation>
4570+ </xs:annotation>
4571+ </xs:element>
4572+ <xs:element name="BeforeDeliveryContact" type="ns:ExpressFreightDetailContact" minOccurs="0">
4573+ <xs:annotation>
4574+ <xs:documentation>Currently not supported.</xs:documentation>
4575+ </xs:annotation>
4576+ </xs:element>
4577+ <xs:element name="UndeliverableContact" type="ns:ExpressFreightDetailContact" minOccurs="0">
4578+ <xs:annotation>
4579+ <xs:documentation>Currently not supported.</xs:documentation>
4580+ </xs:annotation>
4581+ </xs:element>
4582+ </xs:sequence>
4583+ </xs:complexType>
4584+ <xs:complexType name="ExpressFreightDetailContact">
4585+ <xs:annotation>
4586+ <xs:documentation>Currently not supported. Delivery contact information for an Express freight shipment.</xs:documentation>
4587+ </xs:annotation>
4588+ <xs:sequence>
4589+ <xs:element name="Name" type="xs:string">
4590+ <xs:annotation>
4591+ <xs:documentation>Contact name.</xs:documentation>
4592+ <xs:appinfo>
4593+ <xs:MaxLength>TBD</xs:MaxLength>
4594+ </xs:appinfo>
4595+ </xs:annotation>
4596+ </xs:element>
4597+ <xs:element name="Phone" type="xs:string">
4598+ <xs:annotation>
4599+ <xs:documentation>Contact phone number.</xs:documentation>
4600+ <xs:appinfo>
4601+ <xs:MaxLength>TBD</xs:MaxLength>
4602+ </xs:appinfo>
4603+ </xs:annotation>
4604+ </xs:element>
4605+ </xs:sequence>
4606+ </xs:complexType>
4607+ <xs:complexType name="InternationalDetail">
4608+ <xs:sequence>
4609+ <xs:element name="Broker" type="ns:Party" minOccurs="0">
4610+ <xs:annotation>
4611+ <xs:documentation>
4612+ Descriptive data identifying the Broker responsible for the shipmet.
4613+ Required if BROKER_SELECT_OPTION is requested in Special Services.
4614+ </xs:documentation>
4615+ </xs:annotation>
4616+ </xs:element>
4617+ <xs:element name="ClearanceBrokerage" type="ns:ClearanceBrokerageType" minOccurs="0">
4618+ <xs:annotation>
4619+ <xs:documentation>
4620+ Interacts both with properties of the shipment and contractual relationship with
4621+ the shipper.
4622+ </xs:documentation>
4623+ </xs:annotation>
4624+ </xs:element>
4625+ <xs:element name="ImporterOfRecord" type="ns:Party" minOccurs="0">
4626+ <xs:annotation>
4627+ <xs:documentation>
4628+ Applicable only for Commercial Invoice. If the consignee and importer are not the same, the Following importer fields are required.
4629+ Importer/Contact/PersonName
4630+ Importer/Contact/CompanyName
4631+ Importer/Contact/PhoneNumber
4632+ Importer/Address/StreetLine[0]
4633+ Importer/Address/City
4634+ Importer/Address/StateOrProvinceCode - if Importer Country Code is US or CA
4635+ Importer/Address/PostalCode - if Importer Country Code is US or CA
4636+ Importer/Address/CountryCode
4637+ </xs:documentation>
4638+ </xs:annotation>
4639+ </xs:element>
4640+ <xs:element name="RecipientCustomsIdType" type="ns:RecipientCustomsIdType" minOccurs="0">
4641+ <xs:annotation>
4642+ <xs:documentation>Type of Brazilian taxpayer identifier provided in Recipient/TaxPayerIdentification/Number. For shipments bound for Brazil this overrides the value in Recipient/TaxPayerIdentification/TinType</xs:documentation>
4643+ </xs:annotation>
4644+ </xs:element>
4645+ <xs:element name="DutiesPayment" type="ns:Payment" minOccurs="0">
4646+ <xs:annotation>
4647+ <xs:documentation>Indicates how payment of duties for the shipment will be made.</xs:documentation>
4648+ </xs:annotation>
4649+ </xs:element>
4650+ <xs:element name="DocumentContent" type="ns:InternationalDocumentContentType" minOccurs="0">
4651+ <xs:annotation>
4652+ <xs:documentation>Indicates whether this shipment contains documents only or non-documents.</xs:documentation>
4653+ </xs:annotation>
4654+ </xs:element>
4655+ <xs:element name="CustomsValue" type="ns:Money" minOccurs="0">
4656+ <xs:annotation>
4657+ <xs:documentation>The total customs value for the shipment. This total will rrepresent th esum of the values of all commodities, and may include freight, miscellaneous, and insurance charges. Must contain 2 explicit decimal positions with a max length of 17 including the decimal. For Express International MPS, the Total Customs Value is in the master transaction and all child transactions</xs:documentation>
4658+ </xs:annotation>
4659+ </xs:element>
4660+ <xs:element name="InsuranceCharges" minOccurs="0" type="ns:Money">
4661+ <xs:annotation>
4662+ <xs:documentation>Documents amount paid to third party for coverage of shipment content.</xs:documentation>
4663+ </xs:annotation>
4664+ </xs:element>
4665+ <xs:element name="CommercialInvoice" type="ns:CommercialInvoice" minOccurs="0">
4666+ <xs:annotation>
4667+ <xs:documentation>CommercialInvoice element is required for electronic upload of CI data. It will serve to create/transmit an Electronic Commercial Invoice through FedEx System. Customers are responsible for printing their own Commercial Invoice. Commercial Invoice support consists of a maximum of 20 commodity line items.</xs:documentation>
4668+ </xs:annotation>
4669+ </xs:element>
4670+ <xs:element name="Commodities" type="ns:Commodity" minOccurs="0" maxOccurs="99">
4671+ <xs:annotation>
4672+ <xs:documentation>
4673+ For international multiple piece shipments, commodity information must be passed in the Master and on each child transaction.
4674+ If this shipment cotains more than four commodities line items, the four highest valued should be included in the first 4 occurances for this request.
4675+ </xs:documentation>
4676+ </xs:annotation>
4677+ </xs:element>
4678+ <xs:element name="ExportDetail" type="ns:ExportDetail" minOccurs="0">
4679+ <xs:annotation>
4680+ <xs:documentation>Country specific details of an International shipment.</xs:documentation>
4681+ </xs:annotation>
4682+ </xs:element>
4683+ <xs:element name="RegulatoryControls" type="ns:RegulatoryControlType" minOccurs="0" maxOccurs="unbounded">
4684+ <xs:annotation>
4685+ <xs:documentation>FOOD_OR_PERISHABLE is required by FDA/BTA; must be true for food/perishable items coming to US or PR from non-US/non-PR origin.</xs:documentation>
4686+ </xs:annotation>
4687+ </xs:element>
4688+ </xs:sequence>
4689+ </xs:complexType>
4690+ <xs:simpleType name="ClearanceBrokerageType">
4691+ <xs:annotation>
4692+ <xs:documentation>Specifies the type of brokerage to be applied to a shipment.</xs:documentation>
4693+ </xs:annotation>
4694+ <xs:restriction base="xs:string">
4695+ <xs:enumeration value="BROKER_INCLUSIVE"/>
4696+ <xs:enumeration value="BROKER_INCLUSIVE_NON_RESIDENT_IMPORTER"/>
4697+ <xs:enumeration value="BROKER_SELECT"/>
4698+ <xs:enumeration value="BROKER_SELECT_NON_RESIDENT_IMPORTER"/>
4699+ <xs:enumeration value="BROKER_UNASSIGNED"/>
4700+ </xs:restriction>
4701+ </xs:simpleType>
4702+ <xs:simpleType name="RegulatoryControlType">
4703+ <xs:annotation>
4704+ <xs:documentation>FOOD_OR_PERISHABLE is required by FDA/BTA; must be true for food/perishable items coming to US or PR from non-US/non-PR origin</xs:documentation>
4705+ </xs:annotation>
4706+ <xs:restriction base="xs:string">
4707+ <xs:enumeration value="EU_CIRCULATION"/>
4708+ <xs:enumeration value="FOOD_OR_PERISHABLE"/>
4709+ <xs:enumeration value="NAFTA"/>
4710+ </xs:restriction>
4711+ </xs:simpleType>
4712+ <xs:simpleType name="RecipientCustomsIdType">
4713+ <xs:annotation>
4714+ <xs:documentation>Type of Brazilian taxpayer identifier provided in Recipient/TaxPayerIdentification/Number. For shipments bound for Brazil this overrides the value in Recipient/TaxPayerIdentification/TinType</xs:documentation>
4715+ </xs:annotation>
4716+ <xs:restriction base="xs:string">
4717+ <xs:enumeration value="COMPANY"/>
4718+ <xs:enumeration value="INDIVIDUAL"/>
4719+ <xs:enumeration value="PASSPORT"/>
4720+ </xs:restriction>
4721+ </xs:simpleType>
4722+ <xs:complexType name="ExportDetail">
4723+ <xs:annotation>
4724+ <xs:documentation>Country specific details of an International shipment.</xs:documentation>
4725+ </xs:annotation>
4726+ <xs:sequence>
4727+ <xs:element name="B13AFilingOption" type="ns:B13AFilingOptionType" minOccurs="0">
4728+ <xs:annotation>
4729+ <xs:documentation>
4730+ Specifies which filing option is being exercised by the customer.
4731+ Required for non-document shipments originating in Canada destined for any country other than Canada, the United States, Puerto Rico or the U.S. Virgin Islands.
4732+ </xs:documentation>
4733+ </xs:annotation>
4734+ </xs:element>
4735+ <xs:element name="ExportComplianceStatement" type="xs:string" minOccurs="0">
4736+ <xs:annotation>
4737+ <xs:documentation>
4738+ Required only if B13AFilingOption is one of the following:
4739+ FILED_ELECTRONICALLY
4740+ MANUALLY_ATTACHED
4741+ SUMMARY_REPORTING
4742+ If B13AFilingOption = NOT_REQUIRED, this field should contain a valid B13A Exception Number.
4743+ </xs:documentation>
4744+ <xs:appinfo>
4745+ <xs:MaxLength>50</xs:MaxLength>
4746+ </xs:appinfo>
4747+ </xs:annotation>
4748+ </xs:element>
4749+ <xs:element name="PermitNumber" type="xs:string" minOccurs="0">
4750+ <xs:annotation>
4751+ <xs:documentation>This field is applicable only to Canada export non-document shipments of any value to any destination. No special characters allowed. </xs:documentation>
4752+ <xs:appinfo>
4753+ <xs:MaxLength>10</xs:MaxLength>
4754+ </xs:appinfo>
4755+ </xs:annotation>
4756+ </xs:element>
4757+ <xs:element name="DestinationControlDetail" type="ns:DestinationControlDetail" minOccurs="0">
4758+ <xs:annotation>
4759+ <xs:documentation>Department of Commerce/Department of State information about this shipment.</xs:documentation>
4760+ </xs:annotation>
4761+ </xs:element>
4762+ </xs:sequence>
4763+ </xs:complexType>
4764+ <xs:complexType name="DestinationControlDetail">
4765+ <xs:annotation>
4766+ <xs:documentation>Department of Commerce/Department of State information about this shipment.</xs:documentation>
4767+ </xs:annotation>
4768+ <xs:sequence>
4769+ <xs:element name="StatementTypes" type="ns:DestinationControlStatementType" minOccurs="0" maxOccurs="unbounded">
4770+ <xs:annotation>
4771+ <xs:documentation>List of applicable Statment types.</xs:documentation>
4772+ </xs:annotation>
4773+ </xs:element>
4774+ <xs:element name="DestinationCountries" type="xs:string" minOccurs="0">
4775+ <xs:annotation>
4776+ <xs:documentation>Countries this shipment is destined for.</xs:documentation>
4777+ </xs:annotation>
4778+ </xs:element>
4779+ <xs:element name="EndUser" type="xs:string" minOccurs="0">
4780+ <xs:annotation>
4781+ <xs:documentation>Department of State End User.</xs:documentation>
4782+ </xs:annotation>
4783+ </xs:element>
4784+ </xs:sequence>
4785+ </xs:complexType>
4786+ <xs:simpleType name="DestinationControlStatementType">
4787+ <xs:annotation>
4788+ <xs:documentation>Used to indicate whether the Destination Control Statement is of type Department of Commerce, Department of State or both.</xs:documentation>
4789+ </xs:annotation>
4790+ <xs:restriction base="xs:string">
4791+ <xs:enumeration value="DEPARTMENT_OF_COMMERCE"/>
4792+ <xs:enumeration value="DEPARTMENT_OF_STATE"/>
4793+ </xs:restriction>
4794+ </xs:simpleType>
4795+ <xs:simpleType name="B13AFilingOptionType">
4796+ <xs:annotation>
4797+ <xs:documentation>
4798+ Specifies which filing option is being exercised by the customer.
4799+ Required for non-document shipments originating in Canada destined for any country other than Canada, the United States, Puerto Rico or the U.S. Virgin Islands.
4800+ </xs:documentation>
4801+ </xs:annotation>
4802+ <xs:restriction base="xs:string">
4803+ <xs:enumeration value="FILED_ELECTRONICALLY"/>
4804+ <xs:enumeration value="MANUALLY_ATTACHED"/>
4805+ <xs:enumeration value="NOT_REQUIRED"/>
4806+ <xs:enumeration value="SUMMARY_REPORTING"/>
4807+ </xs:restriction>
4808+ </xs:simpleType>
4809+ <xs:complexType name="CommercialInvoice">
4810+ <xs:annotation>
4811+ <xs:documentation>CommercialInvoice element is required for electronic upload of CI data. It will serve to create/transmit an Electronic Commercial Invoice through FedEx System. Customers are responsible for printing their own Commercial Invoice. Commercial Invoice support consists of a maximum of 99 commodity line items.</xs:documentation>
4812+ </xs:annotation>
4813+ <xs:sequence>
4814+ <xs:element name="Comments" type="xs:string" minOccurs="0" maxOccurs="99">
4815+ <xs:annotation>
4816+ <xs:documentation>Commercial Invoice comments to be uploaded to customs.</xs:documentation>
4817+ <xs:appinfo>
4818+ <xs:MaxLength>444</xs:MaxLength>
4819+ </xs:appinfo>
4820+ </xs:annotation>
4821+ </xs:element>
4822+ <xs:element name="FreightCharge" type="ns:Money" minOccurs="0">
4823+ <xs:annotation>
4824+ <xs:documentation>
4825+ Format: Two explicit decimal positions max length 19 including decimal.
4826+ Required if Terms Of Sale is CFR or CIF.
4827+ This charge should be added to the total customs value amount.
4828+ </xs:documentation>
4829+ </xs:annotation>
4830+ </xs:element>
4831+ <xs:element name="TaxesOrMiscellaneousCharge" type="ns:Money" minOccurs="0">
4832+ <xs:annotation>
4833+ <xs:documentation>
4834+ Format: Two explicit decimal positions max length 19 including decimal.
4835+ This charge should be added to the total customs value amount.
4836+ </xs:documentation>
4837+ </xs:annotation>
4838+ </xs:element>
4839+ <xs:element name="Purpose" type="ns:PurposeOfShipmentType" minOccurs="0">
4840+ <xs:annotation>
4841+ <xs:documentation>Test for the Commercial Invoice. Note that Sold is not a valid Purpose for a Proforma Invoice.</xs:documentation>
4842+ </xs:annotation>
4843+ </xs:element>
4844+ <xs:element name="PurposeOfShipmentDescription" type="xs:string" minOccurs="0">
4845+ <xs:annotation>
4846+ <xs:documentation>Descriptive text for the purpose of the shipment.</xs:documentation>
4847+ </xs:annotation>
4848+ </xs:element>
4849+ <xs:element name="CustomerInvoiceNumber" type="xs:string" minOccurs="0">
4850+ <xs:annotation>
4851+ <xs:documentation>Customer assigned invoice number.</xs:documentation>
4852+ <xs:appinfo>
4853+ <xs:MaxLength>15</xs:MaxLength>
4854+ </xs:appinfo>
4855+ </xs:annotation>
4856+ </xs:element>
4857+ <xs:element name="TermsOfSale" type="ns:TermsOfSaleType" minOccurs="0">
4858+ <xs:annotation>
4859+ <xs:documentation>Defines the terms of the sale.</xs:documentation>
4860+ </xs:annotation>
4861+ </xs:element>
4862+ </xs:sequence>
4863+ </xs:complexType>
4864+ <xs:simpleType name="TermsOfSaleType">
4865+ <xs:annotation>
4866+ <xs:documentation>
4867+ Required for dutiable international express or ground shipment. This field is not applicable to an international PIB (document) or a non-document which does not require a commercial invoice express shipment.
4868+ CFR_OR_CPT (Cost and Freight/Carriage Paid TO)
4869+ CIF_OR_CIP (Cost Insurance and Freight/Carraige Insurance Paid)
4870+ DDP (Delivered Duty Paid)
4871+ DDU (Delivered Duty Unpaid)
4872+ EXW (Ex Works)
4873+ FOB_OR_FCA (Free On Board/Free Carrier)
4874+ </xs:documentation>
4875+ </xs:annotation>
4876+ <xs:restriction base="xs:string">
4877+ <xs:enumeration value="CFR_OR_CPT"/>
4878+ <xs:enumeration value="CIF_OR_CIP"/>
4879+ <xs:enumeration value="DDP"/>
4880+ <xs:enumeration value="DDU"/>
4881+ <xs:enumeration value="EXW"/>
4882+ <xs:enumeration value="FOB_OR_FCA"/>
4883+ </xs:restriction>
4884+ </xs:simpleType>
4885+ <xs:simpleType name="PurposeOfShipmentType">
4886+ <xs:annotation>
4887+ <xs:documentation>Test for the Commercial Invoice. Note that Sold is not a valid Purpose for a Proforma Invoice.</xs:documentation>
4888+ </xs:annotation>
4889+ <xs:restriction base="xs:string">
4890+ <xs:enumeration value="GIFT"/>
4891+ <xs:enumeration value="NOT_SOLD"/>
4892+ <xs:enumeration value="PERSONAL_EFFECTS"/>
4893+ <xs:enumeration value="REPAIR_AND_RETURN"/>
4894+ <xs:enumeration value="SAMPLE"/>
4895+ <xs:enumeration value="SOLD"/>
4896+ </xs:restriction>
4897+ </xs:simpleType>
4898+ <xs:simpleType name="InternationalDocumentContentType">
4899+ <xs:annotation>
4900+ <xs:documentation>The type of International shipment.</xs:documentation>
4901+ </xs:annotation>
4902+ <xs:restriction base="xs:string">
4903+ <xs:enumeration value="DOCUMENTS_ONLY"/>
4904+ <xs:enumeration value="NON_DOCUMENTS"/>
4905+ </xs:restriction>
4906+ </xs:simpleType>
4907+ <xs:complexType name="Commodity">
4908+ <xs:annotation>
4909+ <xs:documentation>
4910+ For international multiple piece shipments, commodity information must be passed in the Master and on each child transaction.
4911+ If this shipment cotains more than four commodities line items, the four highest valued should be included in the first 4 occurances for this request.
4912+ </xs:documentation>
4913+ </xs:annotation>
4914+ <xs:sequence>
4915+ <xs:element name="Name" type="xs:string" minOccurs="0">
4916+ <xs:annotation>
4917+ <xs:documentation>total number of pieces of this commodity</xs:documentation>
4918+ </xs:annotation>
4919+ </xs:element>
4920+ <xs:element name="NumberOfPieces" type="xs:nonNegativeInteger" minOccurs="0">
4921+ <xs:annotation>
4922+ <xs:documentation>total number of pieces of this commodity</xs:documentation>
4923+ </xs:annotation>
4924+ </xs:element>
4925+ <xs:element name="Description" type="xs:string" minOccurs="0">
4926+ <xs:annotation>
4927+ <xs:documentation>Complete and accurate description of this commodity.</xs:documentation>
4928+ <xs:appinfo>
4929+ <xs:MaxLength>450</xs:MaxLength>
4930+ </xs:appinfo>
4931+ </xs:annotation>
4932+ </xs:element>
4933+ <xs:element name="CountryOfManufacture" type="xs:string" minOccurs="0">
4934+ <xs:annotation>
4935+ <xs:documentation>Country code where commodity contents were produced or manufactured in their final form.</xs:documentation>
4936+ <xs:appinfo>
4937+ <xs:MaxLength>2</xs:MaxLength>
4938+ </xs:appinfo>
4939+ </xs:annotation>
4940+ </xs:element>
4941+ <xs:element name="HarmonizedCode" type="xs:string" minOccurs="0">
4942+ <xs:annotation>
4943+ <xs:documentation>
4944+ Unique alpha/numeric representing commodity item.
4945+ At least one occurrence is required for US Export shipments if the Customs Value is greater than $2500 or if a valid US Export license is required.
4946+ </xs:documentation>
4947+ <xs:appinfo>
4948+ <xs:MaxLength>14</xs:MaxLength>
4949+ </xs:appinfo>
4950+ </xs:annotation>
4951+ </xs:element>
4952+ <xs:element name="Weight" type="ns:Weight" minOccurs="0">
4953+ <xs:annotation>
4954+ <xs:documentation>Total weight of this commodity. 1 explicit decimal position. Max length 11 including decimal.</xs:documentation>
4955+ </xs:annotation>
4956+ </xs:element>
4957+ <xs:element name="Quantity" type="xs:nonNegativeInteger" minOccurs="0">
4958+ <xs:annotation>
4959+ <xs:documentation>Number of units of a commodity in total number of pieces for this line item. Max length is 9</xs:documentation>
4960+ </xs:annotation>
4961+ </xs:element>
4962+ <xs:element name="QuantityUnits" type="xs:string" minOccurs="0">
4963+ <xs:annotation>
4964+ <xs:documentation>Unit of measure used to express the quantity of this commodity line item.</xs:documentation>
4965+ <xs:appinfo>
4966+ <xs:MaxLength>3</xs:MaxLength>
4967+ </xs:appinfo>
4968+ </xs:annotation>
4969+ </xs:element>
4970+ <xs:element name="AdditionalMeasures" minOccurs="0" maxOccurs="unbounded" type="ns:Measure">
4971+ <xs:annotation>
4972+ <xs:documentation>Contains only additional quantitative information other than weight and quantity to calculate duties and taxes.</xs:documentation>
4973+ </xs:annotation>
4974+ </xs:element>
4975+ <xs:element name="UnitPrice" type="ns:Money" minOccurs="0">
4976+ <xs:annotation>
4977+ <xs:documentation>Value of each unit in Quantity. Six explicit decimal positions, Max length 18 including decimal.</xs:documentation>
4978+ </xs:annotation>
4979+ </xs:element>
4980+ <xs:element name="CustomsValue" type="ns:Money" minOccurs="0">
4981+ <xs:annotation>
4982+ <xs:documentation>
4983+ Total customs value for this line item.
4984+ It should equal the commodity unit quantity times commodity unit value.
4985+ Six explicit decimal positions, max length 18 including decimal.
4986+ </xs:documentation>
4987+ </xs:annotation>
4988+ </xs:element>
4989+ <xs:element name="ExciseConditions" minOccurs="0" maxOccurs="unbounded" type="ns:EdtExciseCondition">
4990+ <xs:annotation>
4991+ <xs:documentation>Defines additional characteristic of commodity used to calculate duties and taxes</xs:documentation>
4992+ </xs:annotation>
4993+ </xs:element>
4994+ <xs:element name="ExportLicenseNumber" type="xs:string" minOccurs="0">
4995+ <xs:annotation>
4996+ <xs:documentation>Applicable to US export shipping only.</xs:documentation>
4997+ <xs:appinfo>
4998+ <xs:MaxLength>12</xs:MaxLength>
4999+ </xs:appinfo>
5000+ </xs:annotation>
The diff has been truncated for viewing.