ship_me 0.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,2 @@
1
+ require 'autotest/growl'
2
+ require 'autotest/fsevent'
@@ -0,0 +1,5 @@
1
+ README.rdoc
2
+ lib/**/*.rb
3
+ bin/*
4
+ features/**/*.feature
5
+ LICENSE
@@ -0,0 +1,21 @@
1
+ ## MAC OS
2
+ .DS_Store
3
+
4
+ ## TEXTMATE
5
+ *.tmproj
6
+ tmtags
7
+
8
+ ## EMACS
9
+ *~
10
+ \#*
11
+ .\#*
12
+
13
+ ## VIM
14
+ *.swp
15
+
16
+ ## PROJECT::GENERAL
17
+ coverage
18
+ rdoc
19
+ pkg
20
+
21
+ ## PROJECT::SPECIFIC
data/Gemfile ADDED
@@ -0,0 +1,11 @@
1
+ source :gemcutter
2
+
3
+ gem 'roxml', '3.1.5'
4
+ gem 'activesupport', '2.3.8'
5
+ gem 'active_merchant'
6
+
7
+ group :test do
8
+ gem 'rspec'
9
+ gem 'mocha'
10
+ gem 'fakeweb'
11
+ end
@@ -0,0 +1,28 @@
1
+ GEM
2
+ remote: http://rubygems.org/
3
+ specs:
4
+ active_merchant (1.5.2)
5
+ activesupport (>= 2.3.2)
6
+ builder (>= 2.0.0)
7
+ activesupport (2.3.8)
8
+ builder (2.1.2)
9
+ fakeweb (1.3.0)
10
+ mocha (0.9.8)
11
+ rake
12
+ nokogiri (1.4.3.1)
13
+ rake (0.8.7)
14
+ roxml (3.1.5)
15
+ activesupport (>= 2.3.0)
16
+ nokogiri (>= 1.3.3)
17
+ rspec (1.3.0)
18
+
19
+ PLATFORMS
20
+ ruby
21
+
22
+ DEPENDENCIES
23
+ active_merchant
24
+ activesupport (= 2.3.8)
25
+ fakeweb
26
+ mocha
27
+ roxml (= 3.1.5)
28
+ rspec
data/LICENSE ADDED
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2009 Henry Hsu
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,17 @@
1
+ = ship_me
2
+
3
+ Description goes here.
4
+
5
+ == Note on Patches/Pull Requests
6
+
7
+ * Fork the project.
8
+ * Make your feature addition or bug fix.
9
+ * Add tests for it. This is important so I don't break it in a
10
+ future version unintentionally.
11
+ * Commit, do not mess with rakefile, version, or history.
12
+ (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)
13
+ * Send me a pull request. Bonus points for topic branches.
14
+
15
+ == Copyright
16
+
17
+ Copyright (c) 2010 Henry Hsu. See LICENSE for details.
@@ -0,0 +1,49 @@
1
+ require 'rubygems'
2
+ require 'rake'
3
+
4
+ begin
5
+ require 'jeweler'
6
+ Jeweler::Tasks.new do |gem|
7
+ gem.name = "ship_me"
8
+ gem.summary = %Q{Just ship me. No fuss.}
9
+ gem.description = %Q{Just ship me. No fuss FedEx integration for Ruby}
10
+ gem.email = "henry@qlane.com"
11
+ gem.homepage = "http://github.com/hsume2/ship_me"
12
+ gem.authors = ["Henry Hsu"]
13
+ gem.add_dependency 'roxml', '3.1.5'
14
+ gem.add_dependency 'activesupport', '2.3.8'
15
+ gem.add_dependency 'active_merchant'
16
+ gem.add_development_dependency "rspec", ">= 1.2.9"
17
+ # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
18
+ end
19
+ Jeweler::GemcutterTasks.new
20
+ rescue LoadError
21
+ puts "Jeweler (or a dependency) not available. Install it with: gem install jeweler"
22
+ end
23
+
24
+ require 'spec/rake/spectask'
25
+ Spec::Rake::SpecTask.new(:spec) do |spec|
26
+ spec.libs << 'lib' << 'spec'
27
+ spec.spec_files = FileList['spec/**/*_spec.rb']
28
+ end
29
+
30
+ Spec::Rake::SpecTask.new(:rcov) do |spec|
31
+ spec.libs << 'lib' << 'spec'
32
+ spec.pattern = 'spec/**/*_spec.rb'
33
+ spec.rcov = true
34
+ spec.rcov_opts << %w{--exclude osx\/objc,gems\/,spec\/,features\/}
35
+ end
36
+
37
+ task :spec => :check_dependencies
38
+
39
+ task :default => :spec
40
+
41
+ require 'rake/rdoctask'
42
+ Rake::RDocTask.new do |rdoc|
43
+ version = File.exist?('VERSION') ? File.read('VERSION') : ""
44
+
45
+ rdoc.rdoc_dir = 'rdoc'
46
+ rdoc.title = "ship_me #{version}"
47
+ rdoc.rdoc_files.include('README*')
48
+ rdoc.rdoc_files.include('lib/**/*.rb')
49
+ end
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 0.0.0
@@ -0,0 +1,29 @@
1
+ module ROXML::AttributeInitializable
2
+ def self.included base
3
+ base.class_eval do
4
+ alias_method_chain :initialize, :attributes unless instance_methods.include?("initialize_without_attributes")
5
+ end
6
+ end
7
+
8
+ def initialize_with_attributes(attributes={})
9
+ initialize_without_attributes()
10
+ return unless attributes.respond_to?(:each)
11
+ attributes.each do |attr, value|
12
+ roxml_attr = self.class.roxml_attrs.find { |r| r.attr_name == attr.to_s.chomp('?') }
13
+ if roxml_attr && sought_type = roxml_attr.sought_type
14
+ value = case sought_type
15
+ when :text then value
16
+ else
17
+ unless roxml_attr.array?
18
+ sought_type.new(value)
19
+ else
20
+ value.map { |v| sought_type.new(v) }
21
+ end if value
22
+ end
23
+ self.send(roxml_attr.setter, value)
24
+ elsif self.respond_to?(:"#{attr}=")
25
+ self.send(:"#{attr}=", value)
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,21 @@
1
+ require 'roxml'
2
+ require 'roxml/attribute_initializable'
3
+ require 'ship_me/restricted_enumeration'
4
+
5
+ module ShipMe
6
+ autoload :FedEx, 'ship_me/carriers/fed_ex'
7
+ autoload :Template, 'ship_me/template'
8
+ # autoload :PostsData, 'ship_me/posts_data'
9
+
10
+ class << self
11
+ attr_accessor :templates
12
+
13
+ def template(name, klass, &blk)
14
+ temp = Template.new(klass)
15
+ temp.options_block = blk if block_given?
16
+ @templates[name] = temp
17
+ end
18
+ end
19
+
20
+ self.templates = {}
21
+ end
@@ -0,0 +1,19 @@
1
+ require 'forwardable'
2
+ require 'tzinfo'
3
+
4
+ require 'ship_me/carriers/fed_ex/types'
5
+
6
+ # p Time.now.iso8601.sub(/:([0-9]{2})$/, '') + $1
7
+
8
+ module ShipMe
9
+ module FedEx
10
+ autoload :Element, 'ship_me/carriers/fed_ex/element'
11
+
12
+ WebAuthenticationDetail.class_eval do
13
+ def initialize(*args)
14
+ super(*args)
15
+ self.user_credential ||= WebAuthenticationCredential.new
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,59 @@
1
+ require 'active_merchant'
2
+
3
+ module ShipMe
4
+ module FedEx
5
+ class Element
6
+ include ROXML
7
+ xml_convention :camelcase
8
+ xml_namespace :v8
9
+
10
+ def self.inherited base
11
+ base.setup unless base.kind_of?(Element)
12
+ end
13
+
14
+ def self.setup
15
+ xml_name self.name.gsub(/.*::/, '')
16
+ end
17
+
18
+ def initialize(attributes={})
19
+ attributes.each do |attr, value|
20
+ self.send(:"#{attr}=", value)
21
+ end
22
+ end
23
+ end
24
+
25
+ class RequestElement < Element
26
+ xml_accessor :xmlns, :from => '@xmlns'
27
+ xml_accessor :xmlns_ns, :from => '@xmlns:ns'
28
+ xml_accessor :xmlns_v8, :from => "@xmlns:v8"
29
+
30
+ def initialize(*args, &blk)
31
+ super(*args, &blk)
32
+ self.xmlns = "http://fedex.com/ws/ship/v8"
33
+ self.xmlns_ns = "http://fedex.com/ws/ship/v8"
34
+ self.xmlns_v8 = "http://fedex.com/ws/ship/v8"
35
+ self.version ||= VersionId.new
36
+ self.version.service_id = 'ship'
37
+ self.version.major = 8
38
+ self.version.intermediate = 0
39
+ self.version.minor = 0
40
+ self.web_authentication_detail ||= WebAuthenticationDetail.new
41
+ self.client_detail ||= ClientDetail.new
42
+ end
43
+ include ROXML::AttributeInitializable
44
+
45
+ delegate :user_credential, :to => :web_authentication_detail
46
+ delegate :key=, :key, :password=, :password, :to => :user_credential
47
+ delegate :account_number=, :account_number, :meter_number=, :meter_number, :to => :client_detail
48
+
49
+ include ActiveMerchant::PostsData
50
+
51
+ TEST_URL = 'https://gatewaybeta.fedex.com:443/xml'
52
+ LIVE_URL = 'https://gateway.fedex.com:443/xml'
53
+
54
+ def commit(test = false)
55
+ ssl_post(test ? TEST_URL : LIVE_URL, self.to_xml.to_s.gsub("\n",''))
56
+ end
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,1250 @@
1
+ require 'ship_me/carriers/fed_ex/element'
2
+
3
+ module ShipMe
4
+ module FedEx
5
+ class AdditionalLabelsType < Element
6
+ include RestrictedEnumeration
7
+ xml_enum :BROKER, :CONSIGNEE, :CUSTOMS, :DESTINATION, :MANIFEST, :ORIGIN, :RECIPIENT, :SHIPPER
8
+ end
9
+ class BarcodeSymbologyType < Element
10
+ include RestrictedEnumeration
11
+ xml_enum :CODE128B, :CODE128C, :CODE39
12
+ end
13
+ class B13AFilingOptionType < Element
14
+ include RestrictedEnumeration
15
+ xml_enum :FILED_ELECTRONICALLY, :MANUALLY_ATTACHED, :NOT_REQUIRED, :SUMMARY_REPORTING
16
+ end
17
+ class CarrierCodeType < Element
18
+ include RestrictedEnumeration
19
+ xml_enum :FDXC, :FDXE, :FDXG, :FXCC, :FXFR, :FXSP
20
+ end
21
+ class CodAddTransportationChargesType < Element
22
+ include RestrictedEnumeration
23
+ xml_enum :ADD_ACCOUNT_COD_SURCHARGE, :ADD_ACCOUNT_NET_CHARGE, :ADD_ACCOUNT_NET_FREIGHT, :ADD_ACCOUNT_TOTAL_CUSTOMER_CHARGE, :ADD_LIST_COD_SURCHARGE, :ADD_LIST_NET_CHARGE, :ADD_LIST_NET_FREIGHT, :ADD_LIST_TOTAL_CUSTOMER_CHARGE, :ADD_SUM_OF_ACCOUNT_NET_CHARGES, :ADD_SUM_OF_ACCOUNT_NET_FREIGHT, :ADD_SUM_OF_LIST_NET_CHARGES, :ADD_SUM_OF_LIST_NET_FREIGHT
24
+ end
25
+ class CodCollectionType < Element
26
+ include RestrictedEnumeration
27
+ xml_enum :ANY, :CASH, :GUARANTEED_FUNDS
28
+ end
29
+ class CodReturnReferenceIndicatorType < Element
30
+ include RestrictedEnumeration
31
+ xml_enum :INVOICE, :PO, :REFERENCE, :TRACKING
32
+ end
33
+ class CustomerReferenceType < Element
34
+ include RestrictedEnumeration
35
+ xml_enum :BILL_OF_LADING, :CUSTOMER_REFERENCE, :DEPARTMENT_NUMBER, :INVOICE_NUMBER, :P_O_NUMBER, :SHIPMENT_INTEGRITY, :STORE_NUMBER
36
+ end
37
+ class CustomLabelCoordinateUnits < Element
38
+ include RestrictedEnumeration
39
+ xml_enum :MILS, :PIXELS
40
+ end
41
+ class DangerousGoodsAccessibilityType < Element
42
+ include RestrictedEnumeration
43
+ xml_enum :ACCESSIBLE, :INACCESSIBLE
44
+ end
45
+ class HazardousCommodityPackingGroupType < Element
46
+ include RestrictedEnumeration
47
+ xml_enum :I, :II, :III
48
+ end
49
+ class HazardousCommodityLabelTextOptionType < Element
50
+ include RestrictedEnumeration
51
+ xml_enum :APPEND, :OVERRIDE, :STANDARD
52
+ end
53
+ class HazardousCommodityOptionType < Element
54
+ include RestrictedEnumeration
55
+ xml_enum :HAZARDOUS_MATERIALS, :LITHIUM_BATTERY_EXCEPTION, :ORM_D, :REPORTABLE_QUANTITIES, :SMALL_QUANTITY_EXCEPTION
56
+ end
57
+ class DayOfWeekType < Element
58
+ include RestrictedEnumeration
59
+ xml_enum :FRI, :MON, :SAT, :SUN, :THU, :TUE, :WED
60
+ end
61
+ class DeletionControlType < Element
62
+ include RestrictedEnumeration
63
+ xml_enum :DELETE_ALL_PACKAGES, :DELETE_ONE_PACKAGE, :LEGACY
64
+ end
65
+ class DestinationControlStatementType < Element
66
+ include RestrictedEnumeration
67
+ xml_enum :DEPARTMENT_OF_COMMERCE, :DEPARTMENT_OF_STATE
68
+ end
69
+ class DocTabContentType < Element
70
+ include RestrictedEnumeration
71
+ xml_enum :BARCODED, :MINIMUM, :STANDARD, :ZONE001
72
+ end
73
+ class DocTabZoneJustificationType < Element
74
+ include RestrictedEnumeration
75
+ xml_enum :LEFT, :RIGHT
76
+ end
77
+ class DropoffType < Element
78
+ include RestrictedEnumeration
79
+ xml_enum :REGULAR_PICKUP, :REQUEST_COURIER, :DROP_BOX, :BUSINESS_SERVICE_CENTER, :STATION
80
+ end
81
+ class ReturnEMailAllowedSpecialServiceType < Element
82
+ include RestrictedEnumeration
83
+ xml_enum :SATURDAY_DELIVERY, :SATURDAY_PICKUP
84
+ end
85
+ class EMailNotificationFormatType < Element
86
+ include RestrictedEnumeration
87
+ xml_enum :HTML, :TEXT, :WIRELESS
88
+ end
89
+ class EMailNotificationRecipientType < Element
90
+ include RestrictedEnumeration
91
+ xml_enum :SHIPPER, :RECIPIENT, :BROKER, :OTHER
92
+ end
93
+ class HomeDeliveryPremiumType < Element
94
+ include RestrictedEnumeration
95
+ xml_enum :APPOINTMENT, :DATE_CERTAIN, :EVENING
96
+ end
97
+ class InternationalDocumentContentType < Element
98
+ include RestrictedEnumeration
99
+ xml_enum :DERIVED, :DOCUMENTS_ONLY, :NON_DOCUMENTS
100
+ end
101
+ class LabelFormatType < Element
102
+ include RestrictedEnumeration
103
+ xml_enum :COMMON2D, :LABEL_DATA_ONLY
104
+ end
105
+ class LabelMaskableDataType < Element
106
+ include RestrictedEnumeration
107
+ xml_enum :CUSTOMS_VALUE, :DUTIES_AND_TAXES_PAYOR_ACCOUNT_NUMBER, :SHIPPER_ACCOUNT_NUMBER, :TERMS_AND_CONDITIONS, :TRANSPORTATION_CHARGES_PAYOR_ACCOUNT_NUMBER
108
+ end
109
+ class LabelPrintingOrientationType < Element
110
+ include RestrictedEnumeration
111
+ xml_enum :BOTTOM_EDGE_OF_TEXT_FIRST, :TOP_EDGE_OF_TEXT_FIRST
112
+ end
113
+ class ShippingDocumentImageType < Element
114
+ include RestrictedEnumeration
115
+ xml_enum :DOC, :DPL, :EPL2, :PDF, :PNG, :RTF, :TEXT, :ZPLII
116
+ end
117
+ class LabelStockType < Element
118
+ include RestrictedEnumeration
119
+ xml_enum :PAPER_4X6, :PAPER_4X8, :PAPER_4X9, :STOCK_4X6, :STOCK_4X8, :STOCK_4X9_LEADING_DOC_TAB, :STOCK_4X9_TRAILING_DOC_TAB, :PAPER_7X4_75 => 'PAPER_7X4.75', :PAPER_8_5X11_BOTTOM_HALF_LABEL => 'PAPER_8.5X11_BOTTOM_HALF_LABEL', :PAPER_8_5X11_TOP_HALF_LABEL => 'PAPER_8.5X11_TOP_HALF_LABEL', :STOCK_4X6_75_LEADING_DOC_TAB => 'STOCK_4X6.75_LEADING_DOC_TAB', :STOCK_4X6_75_TRAILING_DOC_TAB => 'STOCK_4X6.75_TRAILING_DOC_TAB'
120
+ end
121
+ class LinearUnits < Element
122
+ include RestrictedEnumeration
123
+ xml_enum :CM, :IN
124
+ end
125
+ class MinimumChargeType < Element
126
+ include RestrictedEnumeration
127
+ xml_enum :CUSTOMER, :CUSTOMER_FREIGHT_WEIGHT, :EARNED_DISCOUNT, :MIXED, :RATE_SCALE
128
+ end
129
+ class NaftaNetCostMethodCode < Element
130
+ include RestrictedEnumeration
131
+ xml_enum :NC, :NO
132
+ end
133
+ class NaftaPreferenceCriterionCode < Element
134
+ include RestrictedEnumeration
135
+ xml_enum :A, :B, :C, :D, :E, :F
136
+ end
137
+ class NaftaProducerDeterminationCode < Element
138
+ include RestrictedEnumeration
139
+ xml_enum :NO_1, :NO_2, :NO_3, :YES
140
+ end
141
+ class NaftaProducerSpecificationType < Element
142
+ include RestrictedEnumeration
143
+ xml_enum :AVAILABLE_UPON_REQUEST, :MULTIPLE_SPECIFIED, :SAME, :SINGLE_SPECIFIED, :UNKNOWN
144
+ end
145
+ class NotificationSeverityType < Element
146
+ include RestrictedEnumeration
147
+ xml_enum :ERROR, :FAILURE, :NOTE, :SUCCESS, :WARNING
148
+ end
149
+ class OversizeClassType < Element
150
+ include RestrictedEnumeration
151
+ xml_enum :OVERSIZE_1, :OVERSIZE_2, :OVERSIZE_3
152
+ end
153
+ class BinaryBarcodeType < Element
154
+ include RestrictedEnumeration
155
+ xml_enum :COMMON_2D
156
+ end
157
+ class StringBarcodeType < Element
158
+ include RestrictedEnumeration
159
+ xml_enum :ASTRA, :GROUND, :USPS
160
+ end
161
+ class PackageSpecialServiceType < Element
162
+ include RestrictedEnumeration
163
+ xml_enum :APPOINTMENT_DELIVERY, :DANGEROUS_GOODS, :DRY_ICE, :NON_STANDARD_CONTAINER, :PRIORITY_ALERT, :SIGNATURE_OPTION
164
+ end
165
+ class PackagingType < Element
166
+ include RestrictedEnumeration
167
+ xml_enum :FEDEX_10KG_BOX, :FEDEX_25KG_BOX, :FEDEX_BOX, :FEDEX_ENVELOPE, :FEDEX_PAK, :FEDEX_TUBE, :YOUR_PACKAGING
168
+ end
169
+ class PaymentType < Element
170
+ include RestrictedEnumeration
171
+ xml_enum :COLLECT, :RECIPIENT, :SENDER, :THIRD_PARTY
172
+ end
173
+ class PendingShipmentType < Element
174
+ include RestrictedEnumeration
175
+ xml_enum :EMAIL
176
+ end
177
+ class PickupRequestSourceType < Element
178
+ include RestrictedEnumeration
179
+ xml_enum :AUTOMATION, :CUSTOMER_SERVICE
180
+ end
181
+ class PickupRequestType < Element
182
+ include RestrictedEnumeration
183
+ xml_enum :FUTURE_DAY, :SAME_DAY
184
+ end
185
+ class PricingCodeType < Element
186
+ include RestrictedEnumeration
187
+ xml_enum :ACTUAL, :ALTERNATE, :BASE, :HUNDREDWEIGHT, :HUNDREDWEIGHT_ALTERNATE, :INTERNATIONAL_DISTRIBUTION, :INTERNATIONAL_ECONOMY_SERVICE, :LTL_FREIGHT, :PACKAGE, :SHIPMENT, :SHIPMENT_FIVE_POUND_OPTIONAL, :SHIPMENT_OPTIONAL, :SPECIAL
188
+ end
189
+ class PurposeOfShipmentType < Element
190
+ include RestrictedEnumeration
191
+ xml_enum :GIFT, :NOT_SOLD, :PERSONAL_EFFECTS, :REPAIR_AND_RETURN, :SAMPLE, :SOLD
192
+ end
193
+ class RateDiscountType < Element
194
+ include RestrictedEnumeration
195
+ xml_enum :BONUS, :EARNED, :OTHER, :VOLUME
196
+ end
197
+ class RatedWeightMethod < Element
198
+ include RestrictedEnumeration
199
+ xml_enum :ACTUAL, :AVERAGE_PACKAGE_WEIGHT_MINIMUM, :BALLOON, :DIM, :FREIGHT_MINIMUM, :MIXED, :OVERSIZE, :OVERSIZE_1, :OVERSIZE_2, :OVERSIZE_3, :PACKAGING_MINIMUM, :WEIGHT_BREAK
200
+ end
201
+ class RateRequestType < Element
202
+ include RestrictedEnumeration
203
+ xml_enum :ACCOUNT, :LIST
204
+ end
205
+ class RecipientCustomsIdType < Element
206
+ include RestrictedEnumeration
207
+ xml_enum :COMPANY, :INDIVIDUAL, :PASSPORT
208
+ end
209
+ class RegulatoryControlType < Element
210
+ include RestrictedEnumeration
211
+ xml_enum :EU_CIRCULATION, :FOOD_OR_PERISHABLE, :NAFTA
212
+ end
213
+ class ErrorLabelBehaviorType < Element
214
+ include RestrictedEnumeration
215
+ xml_enum :PACKAGE_ERROR_LABELS, :STANDARD
216
+ end
217
+ class RequestedPackageDetailType < Element
218
+ include RestrictedEnumeration
219
+ xml_enum :INDIVIDUAL_PACKAGES, :PACKAGE_GROUPS, :PACKAGE_SUMMARY
220
+ end
221
+ class RequestedShippingDocumentType < Element
222
+ include RestrictedEnumeration
223
+ xml_enum :GENERAL_AGENCY_AGREEMENT, :LABEL, :CERTIFICATE_OF_ORIGIN, :COMMERCIAL_INVOICE, :CUSTOMER_SPECIFIED_LABELS, :CUSTOM_PACKAGE_DOCUMENT, :CUSTOM_SHIPMENT_DOCUMENT, :NAFTA_CERTIFICATE_OF_ORIGIN, :OP_900, :PRO_FORMA_INVOICE, :RETURN_INSTRUCTIONS
224
+ end
225
+ class ReturnedRateType < Element
226
+ include RestrictedEnumeration
227
+ xml_enum :PAYOR_ACCOUNT_PACKAGE, :PAYOR_ACCOUNT_SHIPMENT, :PAYOR_LIST_PACKAGE, :PAYOR_LIST_SHIPMENT, :RATED_ACCOUNT_PACKAGE, :RATED_ACCOUNT_SHIPMENT, :RATED_LIST_PACKAGE, :RATED_LIST_SHIPMENT
228
+ end
229
+ class ReturnType < Element
230
+ include RestrictedEnumeration
231
+ xml_enum :FEDEX_TAG, :PENDING, :PRINT_RETURN_LABEL
232
+ end
233
+ class ReturnedShippingDocumentType < Element
234
+ include RestrictedEnumeration
235
+ xml_enum :AUXILIARY_LABEL, :CERTIFICATE_OF_ORIGIN, :COD_RETURN_2_D_BARCODE, :COD_RETURN_LABEL, :COMMERCIAL_INVOICE, :CUSTOM_PACKAGE_DOCUMENT, :CUSTOM_SHIPMENT_DOCUMENT, :ETD_LABEL, :GENERAL_AGENCY_AGREEMENT, :GROUND_BARCODE, :NAFTA_CERTIFICATE_OF_ORIGIN, :OP_900, :OUTBOUND_2_D_BARCODE, :OUTBOUND_LABEL, :PRO_FORMA_INVOICE, :RETURN_INSTRUCTIONS, :TERMS_AND_CONDITIONS, :USPS_BARCODE
236
+ end
237
+ class ServiceType < Element
238
+ include RestrictedEnumeration
239
+ xml_enum :EUROPE_FIRST_INTERNATIONAL_PRIORITY, :FEDEX_1_DAY_FREIGHT, :FEDEX_2_DAY, :FEDEX_2_DAY_FREIGHT, :FEDEX_3_DAY_FREIGHT, :FEDEX_EXPRESS_SAVER, :FEDEX_GROUND, :FIRST_OVERNIGHT, :GROUND_HOME_DELIVERY, :INTERNATIONAL_ECONOMY, :INTERNATIONAL_ECONOMY_FREIGHT, :INTERNATIONAL_FIRST, :INTERNATIONAL_GROUND, :INTERNATIONAL_PRIORITY, :INTERNATIONAL_PRIORITY_FREIGHT, :PRIORITY_OVERNIGHT, :SMART_POST, :STANDARD_OVERNIGHT
240
+ end
241
+ class ShippingDocumentGroupingType < Element
242
+ include RestrictedEnumeration
243
+ xml_enum :CONSOLIDATED_BY_DOCUMENT_TYPE, :INDIVIDUAL
244
+ end
245
+ class ShippingDocumentDispositionType < Element
246
+ include RestrictedEnumeration
247
+ xml_enum :CONFIRMED, :DEFERRED, :EMAILED, :QUEUED, :RETURNED, :STORED
248
+ end
249
+ class ShippingDocumentEMailGroupingType < Element
250
+ include RestrictedEnumeration
251
+ xml_enum :BY_RECIPIENT, :NONE
252
+ end
253
+ class LabelRotationType < Element
254
+ include RestrictedEnumeration
255
+ xml_enum :LEFT, :NONE, :RIGHT, :UPSIDE_DOWN
256
+ end
257
+ class ShippingDocumentStockType < Element
258
+ include RestrictedEnumeration
259
+ xml_enum :OP_900_LG, :OP_900_LL, :OP_950, :PAPER_4X6, :PAPER_LETTER, :STOCK_4X6, :STOCK_4X8, :STOCK_4X9_LEADING_DOC_TAB, :STOCK_4X9_TRAILING_DOC_TAB, :STOCK_4X6_75_LEADING_DOC_TAB => 'STOCK_4X6.75_LEADING_DOC_TAB', :STOCK_4X6_75_TRAILING_DOC_TAB => 'STOCK_4X6.75_TRAILING_DOC_TAB'
260
+ end
261
+ class RebateType < Element
262
+ include RestrictedEnumeration
263
+ xml_enum :BONUS, :EARNED, :OTHER
264
+ end
265
+ class RateDimensionalDivisorType < Element
266
+ include RestrictedEnumeration
267
+ xml_enum :COUNTRY, :CUSTOMER, :OTHER, :PRODUCT, :WAIVED
268
+ end
269
+ class ShipmentSpecialServiceType < Element
270
+ include RestrictedEnumeration
271
+ xml_enum :BROKER_SELECT_OPTION, :COD, :DRY_ICE, :ELECTRONIC_TRADE_DOCUMENTS, :EMAIL_NOTIFICATION, :FUTURE_DAY_SHIPMENT, :HOLD_AT_LOCATION, :HOME_DELIVERY_PREMIUM, :INSIDE_DELIVERY, :INSIDE_PICKUP, :PENDING_SHIPMENT, :RETURN_SHIPMENT, :SATURDAY_DELIVERY, :SATURDAY_PICKUP
272
+ end
273
+ class SignatureOptionType < Element
274
+ include RestrictedEnumeration
275
+ xml_enum :ADULT, :DIRECT, :INDIRECT, :NO_SIGNATURE_REQUIRED, :SERVICE_DEFAULT
276
+ end
277
+ class SmartPostAncillaryEndorsementType < Element
278
+ include RestrictedEnumeration
279
+ xml_enum :ADDRESS_CORRECTION, :CARRIER_LEAVE_IF_NO_RESPONSE, :CHANGE_SERVICE, :FORWARDING_SERVICE, :RETURN_SERVICE
280
+ end
281
+ class SmartPostIndiciaType < Element
282
+ include RestrictedEnumeration
283
+ xml_enum :MEDIA_MAIL, :PARCEL_SELECT, :PRESORTED_BOUND_PRINTED_MATTER, :PRESORTED_STANDARD
284
+ end
285
+ class SmartPostShipmentSpecialServiceType < Element
286
+ include RestrictedEnumeration
287
+ xml_enum :USPS_DELIVERY_CONFIRMATION
288
+ end
289
+ class SpecialRatingAppliedType < Element
290
+ include RestrictedEnumeration
291
+ xml_enum :FIXED_FUEL_SURCHARGE, :IMPORT_PRICING
292
+ end
293
+ class SurchargeType < Element
294
+ include RestrictedEnumeration
295
+ xml_enum :ADDITIONAL_HANDLING, :APPOINTMENT_DELIVERY, :BROKER_SELECT_OPTION, :CANADIAN_DESTINATION, :CLEARANCE_ENTRY_FEE, :COD, :CUT_FLOWERS, :DANGEROUS_GOODS, :DELIVERY_AREA, :DELIVERY_CONFIRMATION, :DELIVERY_SIGNATURE_OPTIONS, :DRY_ICE, :EMAIL_LABEL, :EUROPE_FIRST, :EXCESS_VALUE, :EXPORT, :FEDEX_TAG, :FICE, :FUEL, :HOLD_AT_LOCATION, :HOME_DELIVERY_APPOINTMENT, :HOME_DELIVERY_DATE_CERTAIN, :HOME_DELIVERY_EVENING, :INSIDE_DELIVERY, :INSIDE_PICKUP, :INSURED_VALUE, :INTERHAWAII, :NON_MACHINABLE, :OFFSHORE, :ON_CALL_PICKUP, :OTHER, :OUT_OF_DELIVERY_AREA, :OUT_OF_PICKUP_AREA, :OVERSIZE, :PIECE_COUNT_VERIFICATION, :PRIORITY_ALERT, :RESIDENTIAL_DELIVERY, :RESIDENTIAL_PICKUP, :RETURN_LABEL, :SATURDAY_DELIVERY, :SATURDAY_PICKUP, :SIGNATURE_OPTION, :THIRD_PARTY_CONSIGNEE, :TRANSMART_SERVICE_FEE
296
+ end
297
+ class SurchargeLevelType < Element
298
+ include RestrictedEnumeration
299
+ xml_enum :PACKAGE, :SHIPMENT
300
+ end
301
+ class TaxType < Element
302
+ include RestrictedEnumeration
303
+ xml_enum :EXPORT, :GST, :HST, :OTHER, :PST, :VAT
304
+ end
305
+ class TermsOfSaleType < Element
306
+ include RestrictedEnumeration
307
+ xml_enum :CFR_OR_CPT, :CIF_OR_CIP, :DDP, :DDU, :EXW, :FOB_OR_FCA
308
+ end
309
+ class TinType < Element
310
+ include RestrictedEnumeration
311
+ xml_enum :EIN, :SSN
312
+ end
313
+ class TrackingIdType < Element
314
+ include RestrictedEnumeration
315
+ xml_enum :EXPRESS, :GROUND, :USPS
316
+ end
317
+ class TransitTimeType < Element
318
+ include RestrictedEnumeration
319
+ xml_enum :ONE_DAY, :TWO_DAYS, :THREE_DAYS, :FOUR_DAYS, :FIVE_DAYS, :SIX_DAYS, :SEVEN_DAYS, :EIGHT_DAYS, :NINE_DAYS, :TEN_DAYS, :ELEVEN_DAYS, :TWELVE_DAYS, :THIRTEEN_DAYS, :FOURTEEN_DAYS, :FIFTEEN_DAYS, :SIXTEEN_DAYS, :SEVENTEEN_DAYS, :EIGHTEEN_DAYS, :NINETEEN_DAYS, :TWENTY_DAYS, :UNKNOWN
320
+ end
321
+ class VariableHandlingChargeType < Element
322
+ include RestrictedEnumeration
323
+ xml_enum :FIXED_AMOUNT, :PERCENTAGE_OF_NET_CHARGE, :PERCENTAGE_OF_NET_CHARGE_EXCLUDING_TAXES, :PERCENTAGE_OF_NET_FREIGHT
324
+ end
325
+ class WeightUnits < Element
326
+ include RestrictedEnumeration
327
+ xml_enum :KG, :LB
328
+ end
329
+ class ImageId < Element
330
+ include RestrictedEnumeration
331
+ xml_enum :IMAGE_1, :IMAGE_2, :IMAGE_3, :IMAGE_4, :IMAGE_5
332
+ end
333
+ class CustomerImageUsageType < Element
334
+ include RestrictedEnumeration
335
+ xml_enum :LETTER_HEAD, :SIGNATURE
336
+ end
337
+ class EdtRequestType < Element
338
+ include RestrictedEnumeration
339
+ xml_enum :ALL, :NONE
340
+ end
341
+ class EdtTaxType < Element
342
+ include RestrictedEnumeration
343
+ xml_enum :ADDITIONAL_TAXES, :CONSULAR_INVOICE_FEE, :CUSTOMS_SURCHARGES, :DUTY, :EXCISE_TAX, :FOREIGN_EXCHANGE_TAX, :GENERAL_SALES_TAX, :IMPORT_LICENSE_FEE, :INTERNAL_ADDITIONAL_TAXES, :INTERNAL_SENSITIVE_PRODUCTS_TAX, :OTHER, :SENSITIVE_PRODUCTS_TAX, :STAMP_TAX, :STATISTICAL_TAX, :TRANSPORT_FACILITIES_TAX
344
+ end
345
+ class NaftaImporterSpecificationType < Element
346
+ include RestrictedEnumeration
347
+ xml_enum :IMPORTER_OF_RECORD, :RECIPIENT, :UNKNOWN, :VARIOUS
348
+ end
349
+ class PhysicalPackagingType < Element
350
+ include RestrictedEnumeration
351
+ xml_enum :BAG, :BARREL, :BASKET, :BOX, :BUCKET, :BUNDLE, :CARTON, :CASE, :CONTAINER, :CRATE, :CYLINDER, :DRUM, :ENVELOPE, :HAMPER, :OTHER, :PAIL, :PALLET, :PIECE, :REEL, :ROLL, :SKID, :TANK, :TUBE
352
+ end
353
+ class UploadDocumentIdProducer < Element
354
+ include RestrictedEnumeration
355
+ xml_enum :CUSTOMER, :FEDEX_CSHP, :FEDEX_GTM
356
+ end
357
+ class UploadDocumentProducerType < Element
358
+ include RestrictedEnumeration
359
+ xml_enum :CUSTOMER, :FEDEX_CLS, :FEDEX_GTM, :OTHER
360
+ end
361
+ class UploadDocumentType < Element
362
+ include RestrictedEnumeration
363
+ xml_enum :CERTIFICATE_OF_ORIGIN, :COMMERCIAL_INVOICE, :ETD_LABEL, :NAFTA_CERTIFICATE_OF_ORIGIN, :OTHER, :PRO_FORMA_INVOICE
364
+ end
365
+ class AdditionalLabelsDetail < Element
366
+ xml_accessor :type, :from => 'Type', :as => AdditionalLabelsType
367
+ xml_accessor :count
368
+ end
369
+ class Address < Element
370
+ xml_accessor :street_line, :from => 'StreetLines'
371
+ xml_accessor :street_line_2, :from => 'StreetLines'
372
+ xml_accessor :city
373
+ xml_accessor :state_or_province_code
374
+ xml_accessor :postal_code
375
+ xml_accessor :urbanization_code
376
+ xml_accessor :country_code
377
+ xml_accessor :residential
378
+ end
379
+ class ValidatedHazardousCommodityDescription < Element
380
+ xml_accessor :id
381
+ xml_accessor :packing_group, :from => 'PackingGroup', :as => HazardousCommodityPackingGroupType
382
+ xml_accessor :proper_shipping_name
383
+ xml_accessor :proper_shipping_name_and_description
384
+ xml_accessor :technical_name
385
+ xml_accessor :hazard_class
386
+ xml_accessor :subsidiary_classes
387
+ xml_accessor :symbols
388
+ xml_accessor :label_text
389
+ end
390
+ class CompletedTagDetail < Element
391
+ xml_accessor :confirmation_number
392
+ xml_accessor :access_time
393
+ xml_accessor :cutoff_time
394
+ xml_accessor :location
395
+ xml_accessor :delivery_commitment
396
+ xml_accessor :dispatch_date
397
+ end
398
+ class ConfigurableLabelReferenceEntry < Element
399
+ xml_accessor :zone_number
400
+ xml_accessor :header
401
+ xml_accessor :data_field
402
+ xml_accessor :literal_value
403
+ end
404
+ class Contact < Element
405
+ xml_accessor :person_name
406
+ xml_accessor :title
407
+ xml_accessor :company_name
408
+ xml_accessor :phone_number
409
+ xml_accessor :pager_number
410
+ xml_accessor :fax_number
411
+ xml_accessor :e_mail_address
412
+ end
413
+ class ContactAndAddress < Element
414
+ xml_accessor :contact, :as => Contact
415
+ xml_accessor :address, :as => Address
416
+ end
417
+ class CurrencyExchangeRate < Element
418
+ xml_accessor :from_currency
419
+ xml_accessor :into_currency
420
+ xml_accessor :rate
421
+ end
422
+ class ContentRecord < Element
423
+ xml_accessor :part_number
424
+ xml_accessor :item_number
425
+ xml_accessor :received_quantity
426
+ xml_accessor :description
427
+ end
428
+ class CustomerReference < Element
429
+ xml_accessor :customer_reference_type, :as => CustomerReferenceType
430
+ xml_accessor :value
431
+ end
432
+ class CustomLabelPosition < Element
433
+ xml_accessor :x
434
+ xml_accessor :y
435
+ end
436
+ class CustomLabelTextEntry < Element
437
+ xml_accessor :position, :from => 'Position', :as => CustomLabelPosition
438
+ xml_accessor :format
439
+ xml_accessor :thermal_font_id
440
+ end
441
+ class HazardousCommodityDescription < Element
442
+ xml_accessor :id
443
+ xml_accessor :packing_group, :from => 'PackingGroup', :as => HazardousCommodityPackingGroupType
444
+ xml_accessor :proper_shipping_name
445
+ xml_accessor :technical_name
446
+ xml_accessor :hazard_class
447
+ xml_accessor :subsidiary_classes
448
+ xml_accessor :label_text
449
+ end
450
+ class HazardousCommodityQuantityDetail < Element
451
+ xml_accessor :amount
452
+ xml_accessor :units
453
+ end
454
+ class HazardousCommodityOptionDetail < Element
455
+ xml_accessor :label_text_option, :from => 'LabelTextOption', :as => HazardousCommodityLabelTextOptionType
456
+ xml_accessor :customer_supplied_label_text
457
+ end
458
+ class HazardousCommodityPackagingDetail < Element
459
+ xml_accessor :count
460
+ xml_accessor :units
461
+ end
462
+ class DateRange < Element
463
+ xml_accessor :begins
464
+ xml_accessor :ends
465
+ end
466
+ class DestinationControlDetail < Element
467
+ xml_accessor :statement_types, :from => 'StatementTypess', :as => [DestinationControlStatementType]
468
+ xml_accessor :destination_countries
469
+ xml_accessor :end_user
470
+ end
471
+ class Dimensions < Element
472
+ xml_accessor :length
473
+ xml_accessor :width
474
+ xml_accessor :height
475
+ xml_accessor :units, :from => 'Units', :as => LinearUnits
476
+ end
477
+ class DocTabZoneSpecification < Element
478
+ xml_accessor :zone_number
479
+ xml_accessor :header
480
+ xml_accessor :data_field
481
+ xml_accessor :literal_value
482
+ xml_accessor :justification, :from => 'Justification', :as => DocTabZoneJustificationType
483
+ end
484
+ class EMailLabelDetail < Element
485
+ xml_accessor :notification_e_mail_address
486
+ xml_accessor :notification_message
487
+ end
488
+ class ExportDetail < Element
489
+ xml_accessor :b13_a_filing_option, :from => 'B13AFilingOption', :as => B13AFilingOptionType
490
+ xml_accessor :export_compliance_statement
491
+ xml_accessor :permit_number
492
+ xml_accessor :destination_control_detail, :as => DestinationControlDetail
493
+ end
494
+ class ExpressFreightDetail < Element
495
+ xml_accessor :packing_list_enclosed
496
+ xml_accessor :shippers_load_and_count
497
+ xml_accessor :booking_confirmation_number
498
+ end
499
+ class HoldAtLocationDetail < Element
500
+ xml_accessor :phone_number
501
+ xml_accessor :address, :as => Address
502
+ end
503
+ class HomeDeliveryPremiumDetail < Element
504
+ xml_accessor :home_delivery_premium_type, :as => HomeDeliveryPremiumType
505
+ xml_accessor :date
506
+ xml_accessor :phone_number
507
+ end
508
+ class Localization < Element
509
+ xml_accessor :language_code
510
+ xml_accessor :locale_code
511
+ end
512
+ class Money < Element
513
+ xml_accessor :currency
514
+ xml_accessor :amount
515
+ end
516
+ class NaftaCommodityDetail < Element
517
+ xml_accessor :preference_criterion, :from => 'PreferenceCriterion', :as => NaftaPreferenceCriterionCode
518
+ xml_accessor :producer_determination, :from => 'ProducerDetermination', :as => NaftaProducerDeterminationCode
519
+ xml_accessor :producer_id
520
+ xml_accessor :net_cost_method, :from => 'NetCostMethod', :as => NaftaNetCostMethodCode
521
+ xml_accessor :net_cost_date_range, :from => 'NetCostDateRange', :as => DateRange
522
+ end
523
+ class NotificationParameter < Element
524
+ xml_accessor :id
525
+ xml_accessor :value
526
+ end
527
+ class BinaryBarcode < Element
528
+ xml_accessor :type, :from => 'Type', :as => BinaryBarcodeType
529
+ xml_accessor :value
530
+ end
531
+ class StringBarcode < Element
532
+ xml_accessor :type, :from => 'Type', :as => StringBarcodeType
533
+ xml_accessor :value
534
+ end
535
+ class PackageBarcodes < Element
536
+ xml_accessor :binary_barcodes, :from => 'BinaryBarcodess', :as => [BinaryBarcode]
537
+ xml_accessor :string_barcodes, :from => 'StringBarcodess', :as => [StringBarcode]
538
+ end
539
+ class Payor < Element
540
+ xml_accessor :account_number
541
+ xml_accessor :country_code
542
+ end
543
+ class PendingShipmentAccessDetail < Element
544
+ xml_accessor :email_label_url
545
+ xml_accessor :user_id
546
+ xml_accessor :password
547
+ xml_accessor :expiration_timestamp
548
+ end
549
+ class PendingShipmentDetail < Element
550
+ xml_accessor :type, :from => 'Type', :as => PendingShipmentType
551
+ xml_accessor :expiration_date
552
+ xml_accessor :email_label_detail, :from => 'EmailLabelDetail', :as => EMailLabelDetail
553
+ end
554
+ class PickupDetail < Element
555
+ xml_accessor :ready_date_time
556
+ xml_accessor :latest_pickup_date_time
557
+ xml_accessor :courier_instructions
558
+ xml_accessor :request_type, :from => 'RequestType', :as => PickupRequestType
559
+ xml_accessor :request_source, :from => 'RequestSource', :as => PickupRequestSourceType
560
+ end
561
+ class PriorityAlertDetail < Element
562
+ xml_accessor :content
563
+ end
564
+ class RateDiscount < Element
565
+ xml_accessor :rate_discount_type, :as => RateDiscountType
566
+ xml_accessor :description
567
+ xml_accessor :amount, :from => 'Amount', :as => Money
568
+ xml_accessor :percent
569
+ end
570
+ class ReturnEMailDetail < Element
571
+ xml_accessor :merchant_phone_number
572
+ xml_accessor :allowed_special_services, :from => 'AllowedSpecialServicess', :as => [ReturnEMailAllowedSpecialServiceType]
573
+ end
574
+ class Rma < Element
575
+ xml_accessor :number
576
+ xml_accessor :reason
577
+ end
578
+ class AstraLabelElement < Element
579
+ xml_accessor :number
580
+ xml_accessor :content
581
+ end
582
+ class ShippingDocumentEMailRecipient < Element
583
+ xml_accessor :recipient_type, :from => 'RecipientType', :as => EMailNotificationRecipientType
584
+ xml_accessor :address
585
+ end
586
+ class ShippingDocumentPrintDetail < Element
587
+ xml_accessor :printer_id
588
+ end
589
+ class LinearMeasure < Element
590
+ xml_accessor :value
591
+ xml_accessor :units, :from => 'Units', :as => LinearUnits
592
+ end
593
+ class ShippingDocumentPart < Element
594
+ xml_accessor :document_part_sequence_number
595
+ xml_accessor :image
596
+ end
597
+ class Rebate < Element
598
+ xml_accessor :rebate_type, :as => RebateType
599
+ xml_accessor :description
600
+ xml_accessor :amount, :from => 'Amount', :as => Money
601
+ xml_accessor :percent
602
+ end
603
+ class ShipmentRoutingDetail < Element
604
+ xml_accessor :ursa_prefix_code
605
+ xml_accessor :ursa_suffix_code
606
+ xml_accessor :origin_location_id
607
+ xml_accessor :origin_service_area
608
+ xml_accessor :destination_location_id
609
+ xml_accessor :destination_service_area
610
+ xml_accessor :destination_location_state_or_province_code
611
+ xml_accessor :delivery_date
612
+ xml_accessor :delivery_day, :from => 'DeliveryDay', :as => DayOfWeekType
613
+ xml_accessor :commit_date
614
+ xml_accessor :commit_day, :from => 'CommitDay', :as => DayOfWeekType
615
+ xml_accessor :transit_time, :from => 'TransitTime', :as => TransitTimeType
616
+ xml_accessor :astra_planned_service_level
617
+ xml_accessor :astra_description
618
+ xml_accessor :postal_code
619
+ xml_accessor :state_or_province_code
620
+ xml_accessor :country_code
621
+ xml_accessor :airport_id
622
+ end
623
+ class SignatureOptionDetail < Element
624
+ xml_accessor :option_type, :from => 'OptionType', :as => SignatureOptionType
625
+ xml_accessor :signature_release_number
626
+ end
627
+ class CompletedSmartPostDetail < Element
628
+ xml_accessor :pick_up_carrier, :from => 'PickUpCarrier', :as => CarrierCodeType
629
+ xml_accessor :machinable
630
+ end
631
+ class SmartPostShipmentDetail < Element
632
+ xml_accessor :indicia, :from => 'Indicia', :as => SmartPostIndiciaType
633
+ xml_accessor :ancillary_endorsement, :from => 'AncillaryEndorsement', :as => SmartPostAncillaryEndorsementType
634
+ xml_accessor :special_services, :from => 'SpecialServicess', :as => [SmartPostShipmentSpecialServiceType]
635
+ xml_accessor :hub_id
636
+ xml_accessor :customer_manifest_id
637
+ end
638
+ class Surcharge < Element
639
+ xml_accessor :surcharge_type, :as => SurchargeType
640
+ xml_accessor :level, :from => 'Level', :as => SurchargeLevelType
641
+ xml_accessor :description
642
+ xml_accessor :amount, :from => 'Amount', :as => Money
643
+ end
644
+ class Tax < Element
645
+ xml_accessor :tax_type, :as => TaxType
646
+ xml_accessor :description
647
+ xml_accessor :amount, :from => 'Amount', :as => Money
648
+ end
649
+ class TaxpayerIdentification < Element
650
+ xml_accessor :tin_type, :as => TinType
651
+ xml_accessor :number
652
+ end
653
+ class TrackingId < Element
654
+ xml_accessor :tracking_id_type, :as => TrackingIdType
655
+ xml_accessor :form_id
656
+ xml_accessor :tracking_number
657
+ end
658
+ class TransactionDetail < Element
659
+ xml_accessor :customer_transaction_id
660
+ xml_accessor :localization, :as => Localization
661
+ end
662
+ class VariableHandlingChargeDetail < Element
663
+ xml_accessor :variable_handling_charge_type, :as => VariableHandlingChargeType
664
+ xml_accessor :fixed_value, :from => 'FixedValue', :as => Money
665
+ xml_accessor :percent_value
666
+ end
667
+ class VariableHandlingCharges < Element
668
+ xml_accessor :variable_handling_charge, :from => 'VariableHandlingCharge', :as => Money
669
+ xml_accessor :total_customer_charge, :from => 'TotalCustomerCharge', :as => Money
670
+ end
671
+ class VersionId < Element
672
+ xml_accessor :service_id
673
+ xml_accessor :major
674
+ xml_accessor :intermediate
675
+ xml_accessor :minor
676
+ end
677
+ class WebAuthenticationCredential < Element
678
+ xml_accessor :key
679
+ xml_accessor :password
680
+ end
681
+ class Weight < Element
682
+ xml_accessor :units, :from => 'Units', :as => WeightUnits
683
+ xml_accessor :value
684
+ end
685
+ class CustomerImageUsage < Element
686
+ xml_accessor :type, :from => 'Type', :as => CustomerImageUsageType
687
+ xml_accessor :id, :from => 'Id', :as => ImageId
688
+ end
689
+ class EdtExciseCondition < Element
690
+ xml_accessor :category
691
+ xml_accessor :value
692
+ end
693
+ class EdtTaxDetail < Element
694
+ xml_accessor :tax_type, :from => 'TaxType', :as => EdtTaxType
695
+ xml_accessor :effective_date
696
+ xml_accessor :name
697
+ xml_accessor :taxable_value, :from => 'TaxableValue', :as => Money
698
+ xml_accessor :description
699
+ xml_accessor :formula
700
+ xml_accessor :amount, :from => 'Amount', :as => Money
701
+ end
702
+ class Measure < Element
703
+ xml_accessor :quantity
704
+ xml_accessor :units
705
+ end
706
+ class UploadDocumentReferenceDetail < Element
707
+ xml_accessor :line_number
708
+ xml_accessor :customer_reference
709
+ xml_accessor :document_producer, :from => 'DocumentProducer', :as => UploadDocumentProducerType
710
+ xml_accessor :document_type, :from => 'DocumentType', :as => UploadDocumentType
711
+ xml_accessor :document_id
712
+ xml_accessor :document_id_producer, :from => 'DocumentIdProducer', :as => UploadDocumentIdProducer
713
+ end
714
+ class ClientDetail < Element
715
+ xml_accessor :account_number
716
+ xml_accessor :meter_number
717
+ xml_accessor :integrator_id
718
+ xml_accessor :localization, :as => Localization
719
+ end
720
+ class CommercialInvoice < Element
721
+ xml_accessor :comments
722
+ xml_accessor :freight_charge, :from => 'FreightCharge', :as => Money
723
+ xml_accessor :taxes_or_miscellaneous_charge, :from => 'TaxesOrMiscellaneousCharge', :as => Money
724
+ xml_accessor :packing_costs, :from => 'PackingCosts', :as => Money
725
+ xml_accessor :handling_costs, :from => 'HandlingCosts', :as => Money
726
+ xml_accessor :special_instructions
727
+ xml_accessor :declaration_statment
728
+ xml_accessor :payment_terms
729
+ xml_accessor :purpose, :from => 'Purpose', :as => PurposeOfShipmentType
730
+ xml_accessor :purpose_of_shipment_description
731
+ xml_accessor :customer_invoice_number
732
+ xml_accessor :originator_name
733
+ xml_accessor :terms_of_sale, :from => 'TermsOfSale', :as => TermsOfSaleType
734
+ end
735
+ class Commodity < Element
736
+ xml_accessor :name
737
+ xml_accessor :number_of_pieces
738
+ xml_accessor :description
739
+ xml_accessor :country_of_manufacture
740
+ xml_accessor :harmonized_code
741
+ xml_accessor :weight, :as => Weight
742
+ xml_accessor :quantity
743
+ xml_accessor :quantity_units
744
+ xml_accessor :additional_measures, :from => 'AdditionalMeasuress', :as => [Measure]
745
+ xml_accessor :unit_price, :from => 'UnitPrice', :as => Money
746
+ xml_accessor :customs_value, :from => 'CustomsValue', :as => Money
747
+ xml_accessor :excise_conditions, :from => 'ExciseConditionss', :as => [EdtExciseCondition]
748
+ xml_accessor :export_license_number
749
+ xml_accessor :export_license_expiration_date
750
+ xml_accessor :ci_marks_and_numbers
751
+ xml_accessor :nafta_detail, :from => 'NaftaDetail', :as => NaftaCommodityDetail
752
+ end
753
+ class ValidatedHazardousCommodityContent < Element
754
+ xml_accessor :description, :from => 'Description', :as => ValidatedHazardousCommodityDescription
755
+ xml_accessor :quantity, :from => 'Quantity', :as => HazardousCommodityQuantityDetail
756
+ xml_accessor :options, :from => 'Options', :as => HazardousCommodityOptionDetail
757
+ end
758
+ class CompletedEtdDetail < Element
759
+ xml_accessor :folder_id
760
+ xml_accessor :upload_document_reference_details, :from => 'UploadDocumentReferenceDetailss', :as => [UploadDocumentReferenceDetail]
761
+ end
762
+ class CustomLabelBarcodeEntry < Element
763
+ xml_accessor :position, :from => 'Position', :as => CustomLabelPosition
764
+ xml_accessor :format
765
+ xml_accessor :data_fields
766
+ xml_accessor :bar_height
767
+ xml_accessor :thin_bar_width
768
+ xml_accessor :barcode_symbology, :from => 'BarcodeSymbology', :as => BarcodeSymbologyType
769
+ end
770
+ class CustomLabelBoxEntry < Element
771
+ xml_accessor :top_left_corner, :from => 'TopLeftCorner', :as => CustomLabelPosition
772
+ xml_accessor :bottom_right_corner, :from => 'BottomRightCorner', :as => CustomLabelPosition
773
+ end
774
+ class CustomLabelGraphicEntry < Element
775
+ xml_accessor :position, :from => 'Position', :as => CustomLabelPosition
776
+ xml_accessor :printer_graphic_id
777
+ end
778
+ class HazardousCommodityContent < Element
779
+ xml_accessor :description, :from => 'Description', :as => HazardousCommodityDescription
780
+ xml_accessor :quantity, :from => 'Quantity', :as => HazardousCommodityQuantityDetail
781
+ xml_accessor :options, :from => 'Options', :as => HazardousCommodityOptionDetail
782
+ end
783
+ class DocTabContentBarcoded < Element
784
+ xml_accessor :symbology, :from => 'Symbology', :as => BarcodeSymbologyType
785
+ xml_accessor :specification, :from => 'Specification', :as => DocTabZoneSpecification
786
+ end
787
+ class DocTabContentZone001 < Element
788
+ xml_accessor :doc_tab_zone_specifications, :from => 'DocTabZoneSpecificationss', :as => [DocTabZoneSpecification]
789
+ end
790
+ class EMailNotificationRecipient < Element
791
+ xml_accessor :e_mail_notification_recipient_type, :as => EMailNotificationRecipientType
792
+ xml_accessor :e_mail_address
793
+ xml_accessor :notify_on_shipment
794
+ xml_accessor :notify_on_exception
795
+ xml_accessor :notify_on_delivery
796
+ xml_accessor :format, :from => 'Format', :as => EMailNotificationFormatType
797
+ xml_accessor :localization, :as => Localization
798
+ end
799
+ class Notification < Element
800
+ xml_accessor :severity, :from => 'Severity', :as => NotificationSeverityType
801
+ xml_accessor :source
802
+ xml_accessor :code
803
+ xml_accessor :message
804
+ xml_accessor :localized_message
805
+ xml_accessor :message_parameters, :from => 'MessageParameterss', :as => [NotificationParameter]
806
+ end
807
+ class PackageRateDetail < Element
808
+ xml_accessor :rate_type, :from => 'RateType', :as => ReturnedRateType
809
+ xml_accessor :rated_weight_method, :as => RatedWeightMethod
810
+ xml_accessor :minimum_charge_type, :as => MinimumChargeType
811
+ xml_accessor :billing_weight, :from => 'BillingWeight', :as => Weight
812
+ xml_accessor :dim_weight, :from => 'DimWeight', :as => Weight
813
+ xml_accessor :oversize_weight, :from => 'OversizeWeight', :as => Weight
814
+ xml_accessor :base_charge, :from => 'BaseCharge', :as => Money
815
+ xml_accessor :total_freight_discounts, :from => 'TotalFreightDiscounts', :as => Money
816
+ xml_accessor :net_freight, :from => 'NetFreight', :as => Money
817
+ xml_accessor :total_surcharges, :from => 'TotalSurcharges', :as => Money
818
+ xml_accessor :net_fed_ex_charge, :from => 'NetFedExCharge', :as => Money
819
+ xml_accessor :total_taxes, :from => 'TotalTaxes', :as => Money
820
+ xml_accessor :net_charge, :from => 'NetCharge', :as => Money
821
+ xml_accessor :total_rebates, :from => 'TotalRebates', :as => Money
822
+ xml_accessor :freight_discounts, :from => 'FreightDiscountss', :as => [RateDiscount]
823
+ xml_accessor :rebates, :from => 'Rebatess', :as => [Rebate]
824
+ xml_accessor :surcharges, :from => 'Surchargess', :as => [Surcharge]
825
+ xml_accessor :taxes, :from => 'Taxess', :as => [Tax]
826
+ xml_accessor :variable_handling_charges, :as => VariableHandlingCharges
827
+ end
828
+ class PackageRating < Element
829
+ xml_accessor :actual_rate_type, :from => 'ActualRateType', :as => ReturnedRateType
830
+ xml_accessor :effective_net_discount, :from => 'EffectiveNetDiscount', :as => Money
831
+ xml_accessor :package_rate_details, :from => 'PackageRateDetailss', :as => [PackageRateDetail]
832
+ end
833
+ class Party < Element
834
+ xml_accessor :account_number
835
+ xml_accessor :tin, :from => 'Tin', :as => TaxpayerIdentification
836
+ xml_accessor :contact, :as => Contact
837
+ xml_accessor :address, :as => Address
838
+ end
839
+ class Payment < Element
840
+ xml_accessor :payment_type, :as => PaymentType
841
+ xml_accessor :payor, :as => Payor
842
+ end
843
+ class ReturnShipmentDetail < Element
844
+ xml_accessor :return_type, :as => ReturnType
845
+ xml_accessor :rma, :as => Rma
846
+ xml_accessor :return_e_mail_detail, :as => ReturnEMailDetail
847
+ end
848
+ class RoutingAstraDetail < Element
849
+ xml_accessor :tracking_id, :as => TrackingId
850
+ xml_accessor :barcode, :from => 'Barcode', :as => StringBarcode
851
+ xml_accessor :astra_handling_text
852
+ xml_accessor :astra_label_elements, :from => 'AstraLabelElementss', :as => [AstraLabelElement]
853
+ end
854
+ class RoutingDetail < Element
855
+ xml_accessor :shipment_routing_detail, :as => ShipmentRoutingDetail
856
+ xml_accessor :astra_details, :from => 'AstraDetailss', :as => [RoutingAstraDetail]
857
+ end
858
+ class ShippingDocument < Element
859
+ xml_accessor :type, :from => 'Type', :as => ReturnedShippingDocumentType
860
+ xml_accessor :grouping, :from => 'Grouping', :as => ShippingDocumentGroupingType
861
+ xml_accessor :shipping_document_disposition, :from => 'ShippingDocumentDisposition', :as => ShippingDocumentDispositionType
862
+ xml_accessor :access_reference
863
+ xml_accessor :resolution
864
+ xml_accessor :copies_to_print
865
+ xml_accessor :parts, :from => 'Partss', :as => [ShippingDocumentPart]
866
+ end
867
+ class ShippingDocumentEMailDetail < Element
868
+ xml_accessor :e_mail_recipients, :from => 'EMailRecipientss', :as => [ShippingDocumentEMailRecipient]
869
+ xml_accessor :grouping, :from => 'Grouping', :as => ShippingDocumentEMailGroupingType
870
+ end
871
+ class ShipmentDryIceDetail < Element
872
+ xml_accessor :package_count
873
+ xml_accessor :total_weight, :from => 'TotalWeight', :as => Weight
874
+ end
875
+ class ShipmentReply < Element
876
+ xml_accessor :highest_severity, :from => 'HighestSeverity', :as => NotificationSeverityType
877
+ xml_accessor :notifications, :from => 'Notificationss', :as => [Notification]
878
+ xml_accessor :transaction_detail, :as => TransactionDetail
879
+ xml_accessor :version, :from => 'Version', :as => VersionId
880
+ end
881
+ class EtdDetail < Element
882
+ xml_accessor :requested_document_copies, :from => 'RequestedDocumentCopiess', :as => [RequestedShippingDocumentType]
883
+ xml_accessor :document_references, :from => 'DocumentReferencess', :as => [UploadDocumentReferenceDetail]
884
+ end
885
+ class WebAuthenticationDetail < Element
886
+ xml_accessor :user_credential, :from => 'UserCredential', :as => WebAuthenticationCredential
887
+ end
888
+ class EdtCommodityTax < Element
889
+ xml_accessor :harmonized_code
890
+ xml_accessor :taxes, :from => 'Taxess', :as => [EdtTaxDetail]
891
+ end
892
+ class CancelPendingShipmentRequest < RequestElement
893
+ xml_accessor :web_authentication_detail, :as => WebAuthenticationDetail
894
+ xml_accessor :client_detail, :as => ClientDetail
895
+ xml_accessor :transaction_detail, :as => TransactionDetail
896
+ xml_accessor :version, :from => 'Version', :as => VersionId
897
+ xml_accessor :tracking_number
898
+ end
899
+ class CancelPendingShipmentReply < Element
900
+ xml_accessor :highest_severity, :from => 'HighestSeverity', :as => NotificationSeverityType
901
+ xml_accessor :notifications, :from => 'Notificationss', :as => [Notification]
902
+ xml_accessor :transaction_detail, :as => TransactionDetail
903
+ xml_accessor :version, :from => 'Version', :as => VersionId
904
+ end
905
+ class CodDetail < Element
906
+ xml_accessor :add_transportation_charges, :from => 'AddTransportationCharges', :as => CodAddTransportationChargesType
907
+ xml_accessor :collection_type, :from => 'CollectionType', :as => CodCollectionType
908
+ xml_accessor :cod_recipient, :from => 'CodRecipient', :as => Party
909
+ xml_accessor :reference_indicator, :from => 'ReferenceIndicator', :as => CodReturnReferenceIndicatorType
910
+ end
911
+ class CodReturnPackageDetail < Element
912
+ xml_accessor :collection_amount, :from => 'CollectionAmount', :as => Money
913
+ xml_accessor :electronic
914
+ xml_accessor :barcodes, :from => 'Barcodes', :as => PackageBarcodes
915
+ xml_accessor :label, :from => 'Label', :as => ShippingDocument
916
+ end
917
+ class CodReturnShipmentDetail < Element
918
+ xml_accessor :collection_amount, :from => 'CollectionAmount', :as => Money
919
+ xml_accessor :handling
920
+ xml_accessor :service_type_description
921
+ xml_accessor :packaging_description
922
+ xml_accessor :secured_description
923
+ xml_accessor :remitter, :from => 'Remitter', :as => Party
924
+ xml_accessor :cod_recipient, :from => 'CodRecipient', :as => Party
925
+ xml_accessor :cod_routing_detail, :from => 'CodRoutingDetail', :as => RoutingDetail
926
+ xml_accessor :barcodes, :from => 'Barcodes', :as => PackageBarcodes
927
+ xml_accessor :label, :from => 'Label', :as => ShippingDocument
928
+ end
929
+ class CompletedPackageDetail < Element
930
+ xml_accessor :sequence_number
931
+ xml_accessor :tracking_ids, :from => 'TrackingIdss', :as => [TrackingId]
932
+ xml_accessor :group_number
933
+ xml_accessor :oversize_class, :from => 'OversizeClass', :as => OversizeClassType
934
+ xml_accessor :package_rating, :as => PackageRating
935
+ xml_accessor :ground_service_code
936
+ xml_accessor :barcodes, :from => 'Barcodes', :as => PackageBarcodes
937
+ xml_accessor :astra_handling_text
938
+ xml_accessor :astra_label_elements, :from => 'AstraLabelElementss', :as => [AstraLabelElement]
939
+ xml_accessor :label, :from => 'Label', :as => ShippingDocument
940
+ xml_accessor :package_documents, :from => 'PackageDocumentss', :as => [ShippingDocument]
941
+ xml_accessor :cod_return_detail, :from => 'CodReturnDetail', :as => CodReturnPackageDetail
942
+ xml_accessor :signature_option, :from => 'SignatureOption', :as => SignatureOptionType
943
+ xml_accessor :hazardous_commodities, :from => 'HazardousCommoditiess', :as => [ValidatedHazardousCommodityContent]
944
+ end
945
+ class CustomLabelDetail < Element
946
+ xml_accessor :coordinate_units, :from => 'CoordinateUnits', :as => CustomLabelCoordinateUnits
947
+ xml_accessor :text_entries, :from => 'TextEntriess', :as => [CustomLabelTextEntry]
948
+ xml_accessor :graphic_entries, :from => 'GraphicEntriess', :as => [CustomLabelGraphicEntry]
949
+ xml_accessor :box_entries, :from => 'BoxEntriess', :as => [CustomLabelBoxEntry]
950
+ xml_accessor :barcode_entries, :from => 'BarcodeEntriess', :as => [CustomLabelBarcodeEntry]
951
+ end
952
+ class DangerousGoodsDetail < Element
953
+ xml_accessor :accessibility, :from => 'Accessibility', :as => DangerousGoodsAccessibilityType
954
+ xml_accessor :cargo_aircraft_only
955
+ xml_accessor :options, :from => 'Optionss', :as => [HazardousCommodityOptionType]
956
+ xml_accessor :hazardous_commodities, :from => 'HazardousCommoditiess', :as => [HazardousCommodityContent]
957
+ xml_accessor :packaging, :from => 'Packaging', :as => HazardousCommodityPackagingDetail
958
+ xml_accessor :emergency_contact_number
959
+ end
960
+ class DeleteShipmentRequest < RequestElement
961
+ xml_accessor :web_authentication_detail, :as => WebAuthenticationDetail
962
+ xml_accessor :client_detail, :as => ClientDetail
963
+ xml_accessor :transaction_detail, :as => TransactionDetail
964
+ xml_accessor :version, :from => 'Version', :as => VersionId
965
+ xml_accessor :ship_timestamp
966
+ xml_accessor :tracking_id, :as => TrackingId
967
+ xml_accessor :deletion_control, :from => 'DeletionControl', :as => DeletionControlType
968
+ end
969
+ class DeleteTagRequest < RequestElement
970
+ xml_accessor :web_authentication_detail, :as => WebAuthenticationDetail
971
+ xml_accessor :client_detail, :as => ClientDetail
972
+ xml_accessor :transaction_detail, :as => TransactionDetail
973
+ xml_accessor :version, :from => 'Version', :as => VersionId
974
+ xml_accessor :dispatch_location_id
975
+ xml_accessor :dispatch_date
976
+ xml_accessor :payment, :as => Payment
977
+ xml_accessor :confirmation_number
978
+ end
979
+ class DocTabContent < Element
980
+ xml_accessor :doc_tab_content_type, :as => DocTabContentType
981
+ xml_accessor :zone001, :from => 'Zone001', :as => DocTabContentZone001
982
+ xml_accessor :barcoded, :from => 'Barcoded', :as => DocTabContentBarcoded
983
+ end
984
+ class EMailNotificationDetail < Element
985
+ xml_accessor :personal_message
986
+ xml_accessor :recipients, :from => 'Recipientss', :as => [EMailNotificationRecipient]
987
+ end
988
+ class InternationalDetail < Element
989
+ xml_accessor :broker, :from => 'Broker', :as => Party
990
+ xml_accessor :importer_of_record, :from => 'ImporterOfRecord', :as => Party
991
+ xml_accessor :recipient_customs_id_type, :as => RecipientCustomsIdType
992
+ xml_accessor :duties_payment, :from => 'DutiesPayment', :as => Payment
993
+ xml_accessor :document_content, :from => 'DocumentContent', :as => InternationalDocumentContentType
994
+ xml_accessor :customs_value, :from => 'CustomsValue', :as => Money
995
+ xml_accessor :insurance_charges, :from => 'InsuranceCharges', :as => Money
996
+ xml_accessor :parties_to_transaction_are_related
997
+ xml_accessor :commercial_invoice, :as => CommercialInvoice
998
+ xml_accessor :commodities, :from => 'Commoditiess', :as => [Commodity]
999
+ xml_accessor :export_detail, :as => ExportDetail
1000
+ xml_accessor :regulatory_controls, :from => 'RegulatoryControlss', :as => [RegulatoryControlType]
1001
+ end
1002
+ class NaftaProducer < Element
1003
+ xml_accessor :id
1004
+ xml_accessor :producer, :from => 'Producer', :as => Party
1005
+ end
1006
+ class PackageSpecialServicesRequested < Element
1007
+ xml_accessor :special_service_types, :from => 'SpecialServiceTypess', :as => [PackageSpecialServiceType]
1008
+ xml_accessor :cod_collection_amount, :from => 'CodCollectionAmount', :as => Money
1009
+ xml_accessor :dangerous_goods_detail, :as => DangerousGoodsDetail
1010
+ xml_accessor :dry_ice_weight, :from => 'DryIceWeight', :as => Weight
1011
+ xml_accessor :signature_option_detail, :as => SignatureOptionDetail
1012
+ xml_accessor :priority_alert_detail, :as => PriorityAlertDetail
1013
+ end
1014
+ class ShippingDocumentDispositionDetail < Element
1015
+ xml_accessor :disposition_type, :from => 'DispositionType', :as => ShippingDocumentDispositionType
1016
+ xml_accessor :grouping, :from => 'Grouping', :as => ShippingDocumentGroupingType
1017
+ xml_accessor :e_mail_detail, :from => 'EMailDetail', :as => ShippingDocumentEMailDetail
1018
+ xml_accessor :print_detail, :from => 'PrintDetail', :as => ShippingDocumentPrintDetail
1019
+ end
1020
+ class ShipmentRateDetail < Element
1021
+ xml_accessor :rate_type, :from => 'RateType', :as => ReturnedRateType
1022
+ xml_accessor :rate_scale
1023
+ xml_accessor :rate_zone
1024
+ xml_accessor :pricing_code, :from => 'PricingCodes', :as => [PricingCodeType]
1025
+ xml_accessor :rated_weight_method, :as => RatedWeightMethod
1026
+ xml_accessor :minimum_charge_type, :as => MinimumChargeType
1027
+ xml_accessor :currency_exchange_rate, :as => CurrencyExchangeRate
1028
+ xml_accessor :special_rating_applied, :from => 'SpecialRatingApplieds', :as => [SpecialRatingAppliedType]
1029
+ xml_accessor :dim_divisor
1030
+ xml_accessor :dim_divisor_type, :from => 'DimDivisorType', :as => RateDimensionalDivisorType
1031
+ xml_accessor :fuel_surcharge_percent
1032
+ xml_accessor :total_billing_weight, :from => 'TotalBillingWeight', :as => Weight
1033
+ xml_accessor :total_dim_weight, :from => 'TotalDimWeight', :as => Weight
1034
+ xml_accessor :total_base_charge, :from => 'TotalBaseCharge', :as => Money
1035
+ xml_accessor :total_freight_discounts, :from => 'TotalFreightDiscounts', :as => Money
1036
+ xml_accessor :total_net_freight, :from => 'TotalNetFreight', :as => Money
1037
+ xml_accessor :total_surcharges, :from => 'TotalSurcharges', :as => Money
1038
+ xml_accessor :total_net_fed_ex_charge, :from => 'TotalNetFedExCharge', :as => Money
1039
+ xml_accessor :total_taxes, :from => 'TotalTaxes', :as => Money
1040
+ xml_accessor :total_net_charge, :from => 'TotalNetCharge', :as => Money
1041
+ xml_accessor :total_rebates, :from => 'TotalRebates', :as => Money
1042
+ xml_accessor :total_duties_and_taxes, :from => 'TotalDutiesAndTaxes', :as => Money
1043
+ xml_accessor :total_net_charge_with_duties_and_taxes, :from => 'TotalNetChargeWithDutiesAndTaxes', :as => Money
1044
+ xml_accessor :freight_discounts, :from => 'FreightDiscountss', :as => [RateDiscount]
1045
+ xml_accessor :rebates, :from => 'Rebatess', :as => [Rebate]
1046
+ xml_accessor :surcharges, :from => 'Surchargess', :as => [Surcharge]
1047
+ xml_accessor :taxes, :from => 'Taxess', :as => [Tax]
1048
+ xml_accessor :duties_and_taxes, :from => 'DutiesAndTaxess', :as => [EdtCommodityTax]
1049
+ xml_accessor :variable_handling_charges, :as => VariableHandlingCharges
1050
+ xml_accessor :total_variable_handling_charges, :from => 'TotalVariableHandlingCharges', :as => VariableHandlingCharges
1051
+ end
1052
+ class ShipmentRating < Element
1053
+ xml_accessor :actual_rate_type, :from => 'ActualRateType', :as => ReturnedRateType
1054
+ xml_accessor :effective_net_discount, :from => 'EffectiveNetDiscount', :as => Money
1055
+ xml_accessor :shipment_rate_details, :from => 'ShipmentRateDetailss', :as => [ShipmentRateDetail]
1056
+ end
1057
+ class ShipmentSpecialServicesRequested < Element
1058
+ xml_accessor :special_service_types, :from => 'SpecialServiceTypess', :as => [ShipmentSpecialServiceType]
1059
+ xml_accessor :cod_detail, :as => CodDetail
1060
+ xml_accessor :cod_collection_amount, :from => 'CodCollectionAmount', :as => Money
1061
+ xml_accessor :hold_at_location_detail, :as => HoldAtLocationDetail
1062
+ xml_accessor :e_mail_notification_detail, :as => EMailNotificationDetail
1063
+ xml_accessor :return_shipment_detail, :as => ReturnShipmentDetail
1064
+ xml_accessor :pending_shipment_detail, :as => PendingShipmentDetail
1065
+ xml_accessor :shipment_dry_ice_detail, :as => ShipmentDryIceDetail
1066
+ xml_accessor :home_delivery_premium_detail, :as => HomeDeliveryPremiumDetail
1067
+ xml_accessor :etd_detail, :as => EtdDetail
1068
+ end
1069
+ class RequestedPackageLineItem < Element
1070
+ xml_accessor :sequence_number
1071
+ xml_accessor :group_number
1072
+ xml_accessor :group_package_count
1073
+ xml_accessor :variable_handling_charge_detail, :as => VariableHandlingChargeDetail
1074
+ xml_accessor :insured_value, :from => 'InsuredValue', :as => Money
1075
+ xml_accessor :weight, :as => Weight
1076
+ xml_accessor :dimensions, :as => Dimensions
1077
+ xml_accessor :physical_packaging, :from => 'PhysicalPackaging', :as => PhysicalPackagingType
1078
+ xml_accessor :item_description
1079
+ xml_accessor :customer_references, :from => 'CustomerReferencess', :as => [CustomerReference]
1080
+ xml_accessor :special_services_requested, :from => 'SpecialServicesRequested', :as => PackageSpecialServicesRequested
1081
+ xml_accessor :content_records, :from => 'ContentRecordss', :as => [ContentRecord]
1082
+ end
1083
+ class CompletedShipmentDetail < Element
1084
+ xml_accessor :us_domestic
1085
+ xml_accessor :carrier_code, :from => 'CarrierCode', :as => CarrierCodeType
1086
+ xml_accessor :master_tracking_id, :from => 'MasterTrackingId', :as => TrackingId
1087
+ xml_accessor :service_type_description
1088
+ xml_accessor :packaging_description
1089
+ xml_accessor :routing_detail, :from => 'RoutingDetail', :as => ShipmentRoutingDetail
1090
+ xml_accessor :access_detail, :from => 'AccessDetail', :as => PendingShipmentAccessDetail
1091
+ xml_accessor :tag_detail, :from => 'TagDetail', :as => CompletedTagDetail
1092
+ xml_accessor :smart_post_detail, :from => 'SmartPostDetail', :as => CompletedSmartPostDetail
1093
+ xml_accessor :shipment_rating, :as => ShipmentRating
1094
+ xml_accessor :cod_return_detail, :from => 'CodReturnDetail', :as => CodReturnShipmentDetail
1095
+ xml_accessor :ineligible_for_money_back_guarantee
1096
+ xml_accessor :export_compliance_statement
1097
+ xml_accessor :completed_etd_detail, :as => CompletedEtdDetail
1098
+ xml_accessor :shipment_documents, :from => 'ShipmentDocumentss', :as => [ShippingDocument]
1099
+ xml_accessor :completed_package_details, :from => 'CompletedPackageDetailss', :as => [CompletedPackageDetail]
1100
+ end
1101
+ class CreatePendingShipmentReply < Element
1102
+ xml_accessor :highest_severity, :from => 'HighestSeverity', :as => NotificationSeverityType
1103
+ xml_accessor :notifications, :from => 'Notificationss', :as => [Notification]
1104
+ xml_accessor :transaction_detail, :as => TransactionDetail
1105
+ xml_accessor :version, :from => 'Version', :as => VersionId
1106
+ xml_accessor :completed_shipment_detail, :as => CompletedShipmentDetail
1107
+ end
1108
+ class CustomerSpecifiedLabelDetail < Element
1109
+ xml_accessor :doc_tab_content, :as => DocTabContent
1110
+ xml_accessor :custom_content, :from => 'CustomContent', :as => CustomLabelDetail
1111
+ xml_accessor :configurable_reference_entries, :from => 'ConfigurableReferenceEntriess', :as => [ConfigurableLabelReferenceEntry]
1112
+ xml_accessor :masked_data, :from => 'MaskedDatas', :as => [LabelMaskableDataType]
1113
+ xml_accessor :terms_and_conditions_localization, :from => 'TermsAndConditionsLocalization', :as => Localization
1114
+ xml_accessor :additional_labels, :from => 'AdditionalLabelss', :as => [AdditionalLabelsDetail]
1115
+ xml_accessor :air_waybill_suppression_count
1116
+ end
1117
+ class LabelSpecification < Element
1118
+ xml_accessor :dispositions, :from => 'Dispositionss', :as => [ShippingDocumentDispositionDetail]
1119
+ xml_accessor :label_format_type, :as => LabelFormatType
1120
+ xml_accessor :image_type, :from => 'ImageType', :as => ShippingDocumentImageType
1121
+ xml_accessor :label_stock_type, :as => LabelStockType
1122
+ xml_accessor :label_printing_orientation, :from => 'LabelPrintingOrientation', :as => LabelPrintingOrientationType
1123
+ xml_accessor :printed_label_origin, :from => 'PrintedLabelOrigin', :as => ContactAndAddress
1124
+ xml_accessor :customer_specified_detail, :from => 'CustomerSpecifiedDetail', :as => CustomerSpecifiedLabelDetail
1125
+ end
1126
+ class ProcessShipmentReply < Element
1127
+ xml_accessor :highest_severity, :from => 'HighestSeverity', :as => NotificationSeverityType
1128
+ xml_accessor :notifications, :from => 'Notificationss', :as => [Notification]
1129
+ xml_accessor :transaction_detail, :as => TransactionDetail
1130
+ xml_accessor :version, :from => 'Version', :as => VersionId
1131
+ xml_accessor :completed_shipment_detail, :as => CompletedShipmentDetail
1132
+ end
1133
+ class ProcessTagReply < Element
1134
+ xml_accessor :highest_severity, :from => 'HighestSeverity', :as => NotificationSeverityType
1135
+ xml_accessor :notifications, :from => 'Notificationss', :as => [Notification]
1136
+ xml_accessor :transaction_detail, :as => TransactionDetail
1137
+ xml_accessor :version, :from => 'Version', :as => VersionId
1138
+ xml_accessor :completed_shipment_detail, :as => CompletedShipmentDetail
1139
+ end
1140
+ class ShippingDocumentFormat < Element
1141
+ xml_accessor :dispositions, :from => 'Dispositionss', :as => [ShippingDocumentDispositionDetail]
1142
+ xml_accessor :top_of_page_offset, :from => 'TopOfPageOffset', :as => LinearMeasure
1143
+ xml_accessor :image_type, :from => 'ImageType', :as => ShippingDocumentImageType
1144
+ xml_accessor :stock_type, :from => 'StockType', :as => ShippingDocumentStockType
1145
+ xml_accessor :provide_instructions
1146
+ end
1147
+ class CustomDocumentDetail < Element
1148
+ xml_accessor :format, :from => 'Format', :as => ShippingDocumentFormat
1149
+ xml_accessor :label_printing_orientation, :from => 'LabelPrintingOrientation', :as => LabelPrintingOrientationType
1150
+ xml_accessor :label_rotation, :from => 'LabelRotation', :as => LabelRotationType
1151
+ xml_accessor :specification_id
1152
+ end
1153
+ class Op900Detail < Element
1154
+ xml_accessor :format, :from => 'Format', :as => ShippingDocumentFormat
1155
+ xml_accessor :reference, :from => 'Reference', :as => CustomerReferenceType
1156
+ xml_accessor :customer_image_usages, :from => 'CustomerImageUsagess', :as => [CustomerImageUsage]
1157
+ xml_accessor :signature_name
1158
+ end
1159
+ class CertificateOfOriginDetail < Element
1160
+ xml_accessor :document_format, :from => 'DocumentFormat', :as => ShippingDocumentFormat
1161
+ xml_accessor :customer_image_usages, :from => 'CustomerImageUsagess', :as => [CustomerImageUsage]
1162
+ end
1163
+ class CommercialInvoiceDetail < Element
1164
+ xml_accessor :format, :from => 'Format', :as => ShippingDocumentFormat
1165
+ xml_accessor :customer_image_usages, :from => 'CustomerImageUsagess', :as => [CustomerImageUsage]
1166
+ end
1167
+ class GeneralAgencyAgreementDetail < Element
1168
+ xml_accessor :format, :from => 'Format', :as => ShippingDocumentFormat
1169
+ end
1170
+ class NaftaCertificateOfOriginDetail < Element
1171
+ xml_accessor :format, :from => 'Format', :as => ShippingDocumentFormat
1172
+ xml_accessor :blanket_period, :from => 'BlanketPeriod', :as => DateRange
1173
+ xml_accessor :importer_specification, :from => 'ImporterSpecification', :as => NaftaImporterSpecificationType
1174
+ xml_accessor :signature_contact, :from => 'SignatureContact', :as => Contact
1175
+ xml_accessor :producer_specification, :from => 'ProducerSpecification', :as => NaftaProducerSpecificationType
1176
+ xml_accessor :producers, :from => 'Producerss', :as => [NaftaProducer]
1177
+ xml_accessor :customer_image_usages, :from => 'CustomerImageUsagess', :as => [CustomerImageUsage]
1178
+ end
1179
+ class ShippingDocumentSpecification < Element
1180
+ xml_accessor :shipping_document_types, :from => 'ShippingDocumentTypess', :as => [RequestedShippingDocumentType]
1181
+ xml_accessor :custom_package_document_detail, :from => 'CustomPackageDocumentDetail', :as => CustomDocumentDetail
1182
+ xml_accessor :custom_shipment_document_detail, :from => 'CustomShipmentDocumentDetail', :as => CustomDocumentDetail
1183
+ xml_accessor :nafta_certificate_of_origin_detail, :as => NaftaCertificateOfOriginDetail
1184
+ xml_accessor :commercial_invoice_detail, :as => CommercialInvoiceDetail
1185
+ xml_accessor :general_agency_agreement_detail, :as => GeneralAgencyAgreementDetail
1186
+ xml_accessor :certificate_of_origin, :from => 'CertificateOfOrigin', :as => CertificateOfOriginDetail
1187
+ xml_accessor :op900_detail, :as => Op900Detail
1188
+ end
1189
+ class RequestedShipment < Element
1190
+ xml_accessor :ship_timestamp
1191
+ xml_accessor :dropoff_type, :as => DropoffType
1192
+ xml_accessor :service_type, :as => ServiceType
1193
+ xml_accessor :packaging_type, :as => PackagingType
1194
+ xml_accessor :total_weight, :from => 'TotalWeight', :as => Weight
1195
+ xml_accessor :total_insured_value, :from => 'TotalInsuredValue', :as => Money
1196
+ xml_accessor :preferred_currency
1197
+ xml_accessor :shipper, :from => 'Shipper', :as => Party
1198
+ xml_accessor :recipient, :from => 'Recipient', :as => Party
1199
+ xml_accessor :recipient_location_number
1200
+ xml_accessor :origin, :from => 'Origin', :as => ContactAndAddress
1201
+ xml_accessor :shipping_charges_payment, :from => 'ShippingChargesPayment', :as => Payment
1202
+ xml_accessor :special_services_requested, :from => 'SpecialServicesRequested', :as => ShipmentSpecialServicesRequested
1203
+ xml_accessor :express_freight_detail, :as => ExpressFreightDetail
1204
+ xml_accessor :delivery_instructions
1205
+ xml_accessor :variable_handling_charge_detail, :as => VariableHandlingChargeDetail
1206
+ xml_accessor :international_detail, :as => InternationalDetail
1207
+ xml_accessor :pickup_detail, :as => PickupDetail
1208
+ xml_accessor :smart_post_detail, :from => 'SmartPostDetail', :as => SmartPostShipmentDetail
1209
+ xml_accessor :block_insight_visibility
1210
+ xml_accessor :error_label_behavior, :from => 'ErrorLabelBehavior', :as => ErrorLabelBehaviorType
1211
+ xml_accessor :label_specification, :as => LabelSpecification
1212
+ xml_accessor :shipping_document_specification, :as => ShippingDocumentSpecification
1213
+ xml_accessor :rate_request_types, :from => 'RateRequestTypess', :as => [RateRequestType]
1214
+ xml_accessor :edt_request_type, :as => EdtRequestType
1215
+ xml_accessor :master_tracking_id, :from => 'MasterTrackingId', :as => TrackingId
1216
+ xml_accessor :cod_return_tracking_id, :from => 'CodReturnTrackingId', :as => TrackingId
1217
+ xml_accessor :package_count
1218
+ xml_accessor :package_detail, :from => 'PackageDetail', :as => RequestedPackageDetailType
1219
+ xml_accessor :requested_package_line_items, :from => 'RequestedPackageLineItemss', :as => [RequestedPackageLineItem]
1220
+ end
1221
+ class ValidateShipmentRequest < RequestElement
1222
+ xml_accessor :web_authentication_detail, :as => WebAuthenticationDetail
1223
+ xml_accessor :client_detail, :as => ClientDetail
1224
+ xml_accessor :transaction_detail, :as => TransactionDetail
1225
+ xml_accessor :version, :from => 'Version', :as => VersionId
1226
+ xml_accessor :requested_shipment, :as => RequestedShipment
1227
+ end
1228
+ class CreatePendingShipmentRequest < RequestElement
1229
+ xml_accessor :web_authentication_detail, :as => WebAuthenticationDetail
1230
+ xml_accessor :client_detail, :as => ClientDetail
1231
+ xml_accessor :transaction_detail, :as => TransactionDetail
1232
+ xml_accessor :version, :from => 'Version', :as => VersionId
1233
+ xml_accessor :requested_shipment, :as => RequestedShipment
1234
+ end
1235
+ class ProcessShipmentRequest < RequestElement
1236
+ xml_accessor :web_authentication_detail, :as => WebAuthenticationDetail
1237
+ xml_accessor :client_detail, :as => ClientDetail
1238
+ xml_accessor :transaction_detail, :as => TransactionDetail
1239
+ xml_accessor :version, :from => 'Version', :as => VersionId
1240
+ xml_accessor :requested_shipment, :as => RequestedShipment
1241
+ end
1242
+ class ProcessTagRequest < RequestElement
1243
+ xml_accessor :web_authentication_detail, :as => WebAuthenticationDetail
1244
+ xml_accessor :client_detail, :as => ClientDetail
1245
+ xml_accessor :transaction_detail, :as => TransactionDetail
1246
+ xml_accessor :version, :from => 'Version', :as => VersionId
1247
+ xml_accessor :requested_shipment, :as => RequestedShipment
1248
+ end
1249
+ end
1250
+ end