ship_me 0.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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