ship_compliant 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (129) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +17 -0
  3. data/.travis.yml +8 -0
  4. data/Gemfile +7 -0
  5. data/LICENSE.txt +22 -0
  6. data/README.md +50 -0
  7. data/Rakefile +47 -0
  8. data/cucumber.yml +9 -0
  9. data/features/add_update_brand.feature +20 -0
  10. data/features/add_update_product.feature +24 -0
  11. data/features/check_compliance_of_sales_order_with_address_validations.feature +18 -0
  12. data/features/commit_sales_order.feature +6 -0
  13. data/features/get_inventory_details.feature +7 -0
  14. data/features/get_sales_order_extended.feature +15 -0
  15. data/features/search_sales_orders.feature +13 -0
  16. data/features/step_definitions/brand_steps.rb +73 -0
  17. data/features/step_definitions/commit_sales_order/all_shipments.rb +15 -0
  18. data/features/step_definitions/compliance_check/available_product_steps.rb +175 -0
  19. data/features/step_definitions/compliance_check/missing_product_steps.rb +102 -0
  20. data/features/step_definitions/compliance_check/noncompliant_product.rb +102 -0
  21. data/features/step_definitions/credential_steps.rb +8 -0
  22. data/features/step_definitions/inventory_steps.rb +36 -0
  23. data/features/step_definitions/product_steps.rb +140 -0
  24. data/features/step_definitions/sales_order_extended_steps.rb +79 -0
  25. data/features/step_definitions/search_order_steps.rb +87 -0
  26. data/features/step_definitions/void_order_steps.rb +27 -0
  27. data/features/support/env.rb +14 -0
  28. data/features/void_sales_order.feature +11 -0
  29. data/fixtures/vcr_cassettes/brand_already_exists.yml +1038 -0
  30. data/fixtures/vcr_cassettes/brand_ignore_existing.yml +1037 -0
  31. data/fixtures/vcr_cassettes/brand_update_existing.yml +1037 -0
  32. data/fixtures/vcr_cassettes/brand_valid.yml +1037 -0
  33. data/fixtures/vcr_cassettes/commit_salesorder_all_shipments.yml +1034 -0
  34. data/fixtures/vcr_cassettes/compliance_available_product.yml +1075 -0
  35. data/fixtures/vcr_cassettes/compliance_missing_product.yml +1046 -0
  36. data/fixtures/vcr_cassettes/compliance_noncompliant_product.yml +1082 -0
  37. data/fixtures/vcr_cassettes/ignore_existing_product.yml +1035 -0
  38. data/fixtures/vcr_cassettes/invalid_search_sales_orders.yml +1038 -0
  39. data/fixtures/vcr_cassettes/inventory_details_for_everything.yml +1037 -0
  40. data/fixtures/vcr_cassettes/product_already_exists.yml +1036 -0
  41. data/fixtures/vcr_cassettes/product_invalid_brand.yml +1036 -0
  42. data/fixtures/vcr_cassettes/product_valid_brand.yml +1035 -0
  43. data/fixtures/vcr_cassettes/sales_order_extended.yml +1042 -0
  44. data/fixtures/vcr_cassettes/sales_order_missing.yml +1034 -0
  45. data/fixtures/vcr_cassettes/search_sales_orders.yml +1039 -0
  46. data/fixtures/vcr_cassettes/update_product.yml +1035 -0
  47. data/fixtures/vcr_cassettes/void_order.yml +1033 -0
  48. data/fixtures/vcr_cassettes/void_voided_order.yml +1034 -0
  49. data/lib/ship_compliant.rb +62 -0
  50. data/lib/ship_compliant/add_update_brand.rb +50 -0
  51. data/lib/ship_compliant/add_update_brand_result.rb +6 -0
  52. data/lib/ship_compliant/add_update_product.rb +66 -0
  53. data/lib/ship_compliant/add_update_product_result.rb +6 -0
  54. data/lib/ship_compliant/address.rb +87 -0
  55. data/lib/ship_compliant/address/suggested_address.rb +37 -0
  56. data/lib/ship_compliant/base_result.rb +43 -0
  57. data/lib/ship_compliant/channel_details.rb +31 -0
  58. data/lib/ship_compliant/check_compliance.rb +41 -0
  59. data/lib/ship_compliant/check_compliance_result.rb +95 -0
  60. data/lib/ship_compliant/client.rb +54 -0
  61. data/lib/ship_compliant/commit_sales_order.rb +48 -0
  62. data/lib/ship_compliant/commit_sales_order_result.rb +30 -0
  63. data/lib/ship_compliant/compliance_rule.rb +30 -0
  64. data/lib/ship_compliant/configuration.rb +46 -0
  65. data/lib/ship_compliant/error_result.rb +41 -0
  66. data/lib/ship_compliant/freight_sales_tax_rate.rb +8 -0
  67. data/lib/ship_compliant/get_inventory_details.rb +31 -0
  68. data/lib/ship_compliant/get_inventory_details_result.rb +41 -0
  69. data/lib/ship_compliant/get_sales_order_extended.rb +23 -0
  70. data/lib/ship_compliant/get_sales_order_extended_result.rb +65 -0
  71. data/lib/ship_compliant/inventory_product.rb +95 -0
  72. data/lib/ship_compliant/order_search.rb +92 -0
  73. data/lib/ship_compliant/package.rb +13 -0
  74. data/lib/ship_compliant/product_attributes.rb +98 -0
  75. data/lib/ship_compliant/product_sales_tax_rate.rb +23 -0
  76. data/lib/ship_compliant/sales_tax_rate.rb +22 -0
  77. data/lib/ship_compliant/search_sales_order_summary.rb +30 -0
  78. data/lib/ship_compliant/search_sales_orders.rb +53 -0
  79. data/lib/ship_compliant/search_sales_orders_result.rb +106 -0
  80. data/lib/ship_compliant/shipment.rb +59 -0
  81. data/lib/ship_compliant/shipment_compliance.rb +28 -0
  82. data/lib/ship_compliant/shipment_sales_tax_rate.rb +15 -0
  83. data/lib/ship_compliant/version.rb +3 -0
  84. data/lib/ship_compliant/void_sales_order.rb +42 -0
  85. data/lib/ship_compliant/void_sales_order_result.rb +20 -0
  86. data/ship_compliant.gemspec +33 -0
  87. data/spec/fixtures/add_update_product.xml +22 -0
  88. data/spec/fixtures/check_compliance.xml +125 -0
  89. data/spec/fixtures/coreservice.wsdl +1341 -0
  90. data/spec/fixtures/search_sales_orders.xml +52 -0
  91. data/spec/fixtures/void_order_failure.xml +31 -0
  92. data/spec/fixtures/void_order_success.xml +22 -0
  93. data/spec/lib/ship_compliant/add_update_brand_result_spec.rb +7 -0
  94. data/spec/lib/ship_compliant/add_update_brand_spec.rb +58 -0
  95. data/spec/lib/ship_compliant/add_update_product_result_spec.rb +7 -0
  96. data/spec/lib/ship_compliant/add_update_product_spec.rb +52 -0
  97. data/spec/lib/ship_compliant/address/suggested_address_spec.rb +28 -0
  98. data/spec/lib/ship_compliant/address_spec.rb +123 -0
  99. data/spec/lib/ship_compliant/base_result_spec.rb +127 -0
  100. data/spec/lib/ship_compliant/channel_details_spec.rb +40 -0
  101. data/spec/lib/ship_compliant/check_compliance_result_spec.rb +135 -0
  102. data/spec/lib/ship_compliant/check_compliance_spec.rb +43 -0
  103. data/spec/lib/ship_compliant/client_spec.rb +73 -0
  104. data/spec/lib/ship_compliant/commit_sales_order_result_spec.rb +32 -0
  105. data/spec/lib/ship_compliant/commit_sales_order_spec.rb +38 -0
  106. data/spec/lib/ship_compliant/compliance_rule_spec.rb +47 -0
  107. data/spec/lib/ship_compliant/configuration_spec.rb +47 -0
  108. data/spec/lib/ship_compliant/error_result_spec.rb +47 -0
  109. data/spec/lib/ship_compliant/freight_sales_tax_rate_spec.rb +7 -0
  110. data/spec/lib/ship_compliant/get_inventory_details_result_spec.rb +87 -0
  111. data/spec/lib/ship_compliant/get_inventory_details_spec.rb +35 -0
  112. data/spec/lib/ship_compliant/get_sales_order_extended_result_spec.rb +84 -0
  113. data/spec/lib/ship_compliant/get_sales_order_extended_spec.rb +39 -0
  114. data/spec/lib/ship_compliant/inventory_product_spec.rb +116 -0
  115. data/spec/lib/ship_compliant/order_search_spec.rb +21 -0
  116. data/spec/lib/ship_compliant/package_spec.rb +26 -0
  117. data/spec/lib/ship_compliant/product_attributes_spec.rb +36 -0
  118. data/spec/lib/ship_compliant/product_sales_tax_rate_spec.rb +22 -0
  119. data/spec/lib/ship_compliant/sales_tax_rate_spec.rb +21 -0
  120. data/spec/lib/ship_compliant/search_sales_order_summary_spec.rb +56 -0
  121. data/spec/lib/ship_compliant/search_sales_orders_result_spec.rb +121 -0
  122. data/spec/lib/ship_compliant/search_sales_orders_spec.rb +42 -0
  123. data/spec/lib/ship_compliant/shipment_compliance_spec.rb +46 -0
  124. data/spec/lib/ship_compliant/shipment_sales_tax_rate_spec.rb +20 -0
  125. data/spec/lib/ship_compliant/shipment_spec.rb +106 -0
  126. data/spec/lib/ship_compliant/void_sales_order_result_spec.rb +7 -0
  127. data/spec/lib/ship_compliant/void_sales_order_spec.rb +41 -0
  128. data/spec/spec_helper.rb +50 -0
  129. metadata +366 -0
@@ -0,0 +1,28 @@
1
+ module ShipCompliant
2
+ # == ShipCompliant::ShipmentCompliance
3
+ #
4
+ # Wrap the +ShipmentComplianceResponse+ node.
5
+ class ShipmentCompliance < Struct.new(:result)
6
+
7
+ # Checks if the shipment was compliant.
8
+ def compliant?
9
+ result[:is_compliant]
10
+ end
11
+
12
+ # Returns the shipment key.
13
+ def shipment_key
14
+ result[:key]
15
+ end
16
+
17
+ # Wraps the +RuleComplianceResponse+ nodes with ComplianceRule.
18
+ #
19
+ # compliance_errors = shipment.rules.reject { |r| r.compliant? }
20
+ def rules
21
+ return [] if result[:rules].nil?
22
+ Array.wrap(result[:rules][:rule_compliance_response]).map do |rule|
23
+ ComplianceRule.new(rule)
24
+ end
25
+ end
26
+
27
+ end
28
+ end
@@ -0,0 +1,15 @@
1
+ module ShipCompliant
2
+ # == ShipCompliant::ShipmentSalesTaxRate
3
+ #
4
+ # ShipmentSalesTaxRate gives access about a shipment's freight and product tax
5
+ # details.
6
+ #
7
+ # It also provides a helper method to find a product by its key.
8
+ class ShipmentSalesTaxRate < Struct.new(:shipment_key, :freight, :products)
9
+
10
+ def taxes_for_product(product_key)
11
+ products.select { |product| product.product_key == product_key }.first
12
+ end
13
+
14
+ end
15
+ end
@@ -0,0 +1,3 @@
1
+ module ShipCompliant
2
+ VERSION = "0.1.0"
3
+ end
@@ -0,0 +1,42 @@
1
+ module ShipCompliant
2
+ # == ShipCompliant::VoidSalesOrder
3
+ #
4
+ # This method takes in a sales order key and
5
+ # voids all shipments in an existing sales order.
6
+ # Voided shipments do not count towards volume limits or reporting.
7
+ #
8
+ # Use this method if an order has been voided. You can also use this method to
9
+ # void an order with committed shipments before entering a new order with the same order key.
10
+ #
11
+ # result = ShipCompliant::VoidSalesOrder.by_order_key('OrderKey')
12
+ #
13
+ # if result.success?
14
+ # puts "Order Voided"
15
+ # else
16
+ # puts "Failed to void order"
17
+ #
18
+ # result.errors.each do |error|
19
+ # puts "[%d] %s" % [error.code, error.message]
20
+ # end
21
+ # end
22
+ class VoidSalesOrder
23
+
24
+ # Takes an sales order key and makes a request to void
25
+ # it in the system.
26
+ #
27
+ # Returns an instance of ShipCompliant::VoidSalesOrderResult
28
+ #
29
+ # result = ShipCompliant::VoidSalesOrder.by_order_key('OrderKey')
30
+ def self.by_order_key(order_key)
31
+ result = void_order({ 'SalesOrderKey' => order_key })
32
+ VoidSalesOrderResult.new(result)
33
+ end
34
+
35
+ private
36
+
37
+ def self.void_order(request)
38
+ ShipCompliant.client.call(:void_sales_order, request)
39
+ end
40
+
41
+ end
42
+ end
@@ -0,0 +1,20 @@
1
+ module ShipCompliant
2
+ # == ShipCompliant::VoidSalesOrderResult
3
+ #
4
+ # This class provides methods to easily get the result
5
+ # of voiding a sales order. You can quickly check if
6
+ # voiding the order was a success or not. As well as
7
+ # get the error message.
8
+ #
9
+ # result = ShipCompliant::VoidSalesOrder.by_order_key('OrderKey')
10
+ #
11
+ # if result.success?
12
+ # puts "Order Voided"
13
+ # else
14
+ # puts "Failed to void order"
15
+ # puts "[%d] %s" % [result.error_code, result.error_message]
16
+ # end
17
+ class VoidSalesOrderResult < Struct.new(:response)
18
+ include BaseResult
19
+ end
20
+ end
@@ -0,0 +1,33 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'ship_compliant/version'
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = "ship_compliant"
8
+ s.version = ShipCompliant::VERSION
9
+ s.authors = ["Baylor Rae'"]
10
+ s.email = ["baylorrae@gmail.com"]
11
+ s.summary = %q{SOAP Api Client for ShipCompliant}
12
+ s.description = %q{The ShipCompliant gem is an API Client for the SOAP API provided by ShipCompliant. This gem has been created for fast implementation and supports the 9 main API calls.}
13
+ s.homepage = "http://baylorrae.github.io/ship_compliant-ruby"
14
+ s.license = "MIT"
15
+
16
+ s.files = `git ls-files -z`.split("\x0")
17
+ s.executables = s.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
+ s.test_files = s.files.grep(%r{^(test|spec|features)/})
19
+ s.require_paths = ["lib"]
20
+
21
+ s.add_dependency "activesupport", "~> 4.0", ">= 4.0.3"
22
+ s.add_dependency "savon", "~> 2.3"
23
+
24
+ s.add_development_dependency "bundler", "~> 1.5"
25
+ s.add_development_dependency "rake", "~> 10.0"
26
+ s.add_development_dependency "sdoc", "~> 0.4"
27
+
28
+ # TESTING
29
+ s.add_development_dependency "rspec", "~> 2.13"
30
+ s.add_development_dependency "cucumber", "~> 1.3"
31
+ s.add_development_dependency "webmock", "~> 1.17"
32
+ s.add_development_dependency "vcr", "~> 2.9"
33
+ end
@@ -0,0 +1,22 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
3
+ <soap:Header>
4
+ <wsa:Action>http://ws.shipcompliant.com/AddUpdateProductResponse</wsa:Action>
5
+ <wsa:MessageID>uuid:c825bc9f-4744-4f6f-81d8-53c7b72c84d3</wsa:MessageID>
6
+ <wsa:RelatesTo>uuid:acba4d69-e91a-42c5-a54b-25b3bd582f31</wsa:RelatesTo>
7
+ <wsa:To>http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous</wsa:To>
8
+ <wsse:Security>
9
+ <wsu:Timestamp wsu:Id="Timestamp-22345155-658f-4a02-a00a-e0914caf484a">
10
+ <wsu:Created>2014-03-12T18:39:36Z</wsu:Created>
11
+ <wsu:Expires>2014-03-12T18:44:36Z</wsu:Expires>
12
+ </wsu:Timestamp>
13
+ </wsse:Security>
14
+ </soap:Header>
15
+ <soap:Body>
16
+ <AddUpdateProductResponse xmlns="http://ws.shipcompliant.com/">
17
+ <AddUpdateProductResult>
18
+ <ResponseStatus>Success</ResponseStatus>
19
+ </AddUpdateProductResult>
20
+ </AddUpdateProductResponse>
21
+ </soap:Body>
22
+ </soap:Envelope>
@@ -0,0 +1,125 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
3
+ <soap:Header>
4
+ <wsa:Action>http://ws.shipcompliant.com/CheckComplianceOfSalesOrderWithAddressValidationResponse</wsa:Action>
5
+ <wsa:MessageID>uuid:3cb20151-7acd-4708-ac09-92ea6c9f7c79</wsa:MessageID>
6
+ <wsa:RelatesTo>uuid:8a66b3d7-c72b-4d0c-8e07-f2eb803626ef</wsa:RelatesTo>
7
+ <wsa:To>http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous</wsa:To>
8
+ <wsse:Security>
9
+ <wsu:Timestamp wsu:Id="Timestamp-7d7c444e-56d1-4100-be35-a98969f8a510">
10
+ <wsu:Created>2014-03-13T11:59:22Z</wsu:Created>
11
+ <wsu:Expires>2014-03-13T12:04:22Z</wsu:Expires>
12
+ </wsu:Timestamp>
13
+ </wsse:Security>
14
+ </soap:Header>
15
+ <soap:Body>
16
+ <CheckComplianceOfSalesOrderWithAddressValidationResponse xmlns="http://ws.shipcompliant.com/">
17
+ <CheckComplianceOfSalesOrderWithAddressValidationResult>
18
+ <ResponseStatus>Success</ResponseStatus>
19
+ <SalesOrder>
20
+ <IsCompliant>true</IsCompliant>
21
+ <Key>1006891</Key>
22
+ <SalesTaxRates>
23
+ <RecommendedSalesTaxDue>44.1</RecommendedSalesTaxDue>
24
+ <ShipmentSalesTaxRates>
25
+ <ShipmentSalesTaxRate ShipmentKey="1">
26
+ <FreightSalesTaxRate SalesTaxDue="1.33125" SalesTaxRate="8.875"/>
27
+ <ProductSalesTaxRates>
28
+ <ProductSalesTaxRate BrandKey="DEN" ProductKey="04CHRCAB75" SalesTaxDue="40.47000" SalesTaxRate="8.875"/>
29
+ <ProductSalesTaxRate BrandKey="DEN" ProductKey="TShirt" SalesTaxDue="2.30661" SalesTaxRate="8.875"/>
30
+ </ProductSalesTaxRates>
31
+ </ShipmentSalesTaxRate>
32
+ </ShipmentSalesTaxRates>
33
+ </SalesTaxRates>
34
+ <Shipments>
35
+ <ShipmentComplianceResponse>
36
+ <IsCompliant>true</IsCompliant>
37
+ <Key>1</Key>
38
+ <Rules>
39
+ <RuleComplianceResponse>
40
+ <ComplianceDescription>No prohibited products in shipment.</ComplianceDescription>
41
+ <IsCompliant>true</IsCompliant>
42
+ <LicenseRelationship>SupplierToConsumer</LicenseRelationship>
43
+ <RuleDescription>Some Products are always non-compliant.</RuleDescription>
44
+ <RuleType>ValidProductsRequired</RuleType>
45
+ </RuleComplianceResponse>
46
+ <RuleComplianceResponse>
47
+ <ComplianceDescription>You have 1 current license in this region for the time of this shipment.</ComplianceDescription>
48
+ <IsCompliant>true</IsCompliant>
49
+ <LicenseRelationship>SupplierToConsumer</LicenseRelationship>
50
+ <RuleDescription>A license is required for shipping offsite sales and must be renewed every 1 year. The cost of this license is $125.00.</RuleDescription>
51
+ <RuleType>DirectShippingLicenseRequired</RuleType>
52
+ </RuleComplianceResponse>
53
+ <RuleComplianceResponse>
54
+ <ComplianceDescription>Rule has been acknowledged.</ComplianceDescription>
55
+ <IsCompliant>true</IsCompliant>
56
+ <LicenseRelationship>SupplierToConsumer</LicenseRelationship>
57
+ <RuleDescription>Shipments to this region require an excise tax of $.30 per 1 gallon on offsite sales of wine less than or equal to 24% alcohol due within 20 days after every month. For a summary of the taxes in the state, click here.</RuleDescription>
58
+ <RuleType>TaxRequired</RuleType>
59
+ </RuleComplianceResponse>
60
+ <RuleComplianceResponse>
61
+ <ComplianceDescription>Rule has been acknowledged.</ComplianceDescription>
62
+ <IsCompliant>true</IsCompliant>
63
+ <LicenseRelationship>SupplierToConsumer</LicenseRelationship>
64
+ <RuleDescription>Shipments to this region require sales tax for offsite sales shipments. For a summary of the taxes in the state, click here.</RuleDescription>
65
+ <RuleType>TaxRequired</RuleType>
66
+ </RuleComplianceResponse>
67
+ <RuleComplianceResponse>
68
+ <ComplianceDescription>All products within this shipment belong to self-produced brands.</ComplianceDescription>
69
+ <IsCompliant>true</IsCompliant>
70
+ <LicenseRelationship>SupplierToConsumer</LicenseRelationship>
71
+ <RuleDescription>Only wines of your own production are allowed to be shipped to this region. Note: The license holder must produce the wine being shipped..</RuleDescription>
72
+ <RuleType>WinesNotOfOwnProductionProhibited</RuleType>
73
+ </RuleComplianceResponse>
74
+ <RuleComplianceResponse>
75
+ <ComplianceDescription>You have shipped 1.00 cases to this individual between 1/1/2014 and 12/31/2014 and thus are under the customer aggregate volume limit of 36 cases per calendar year.</ComplianceDescription>
76
+ <IsCompliant>true</IsCompliant>
77
+ <LicenseRelationship>SupplierToConsumer</LicenseRelationship>
78
+ <RuleDescription>Shipments to this region have a per customer volume limit of 36 cases per individual per calendar year. The volume will be calculated from combined onsite and offsite sales.</RuleDescription>
79
+ <RuleType>CustomerAggregateVolumeLimit</RuleType>
80
+ <CustomerAggregateVolumeLimitDetail>
81
+ <CustomerType>Individual</CustomerType>
82
+ <TimeFrameCount>1</TimeFrameCount>
83
+ <TimeFrameType>Calendar</TimeFrameType>
84
+ <TimeFrameUnit>Years</TimeFrameUnit>
85
+ <UnitOfMeasure>Case</UnitOfMeasure>
86
+ <VolumeCount>36</VolumeCount>
87
+ </CustomerAggregateVolumeLimitDetail>
88
+ </RuleComplianceResponse>
89
+ </Rules>
90
+ </ShipmentComplianceResponse>
91
+ </Shipments>
92
+ </SalesOrder>
93
+ <AddressValidationResult>ValidatedWithStreetLevelNormalization</AddressValidationResult>
94
+ <SuggestedAddress>
95
+ <City>New York</City>
96
+ <County>New York</County>
97
+ <Details>
98
+ <CityAbbreviation>New York</CityAbbreviation>
99
+ <CongressionalDistrict>10</CongressionalDistrict>
100
+ <CountyFips>36061</CountyFips>
101
+ <TimeZone>Eastern Time</TimeZone>
102
+ <TimeZoneCode>05</TimeZoneCode>
103
+ </Details>
104
+ <Parts>
105
+ <Company/>
106
+ <MailBoxName/>
107
+ <MailBoxNumber/>
108
+ <PostDirection/>
109
+ <PreDirection/>
110
+ <StreetName>Broadway</StreetName>
111
+ <StreetNumber>253</StreetNumber>
112
+ <StreetSuffix/>
113
+ <SuiteName>Fl</SuiteName>
114
+ <SuiteNumber>9</SuiteNumber>
115
+ </Parts>
116
+ <State>NY</State>
117
+ <Street1>253 Broadway</Street1>
118
+ <Street2>Fl 9</Street2>
119
+ <Zip1>10007</Zip1>
120
+ <Zip2>2326</Zip2>
121
+ </SuggestedAddress>
122
+ </CheckComplianceOfSalesOrderWithAddressValidationResult>
123
+ </CheckComplianceOfSalesOrderWithAddressValidationResponse>
124
+ </soap:Body>
125
+ </soap:Envelope>
@@ -0,0 +1,1341 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <wsdl:definitions xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://ws.shipcompliant.com/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" targetNamespace="http://ws.shipcompliant.com/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
3
+ <wsdl:types>
4
+ <s:schema elementFormDefault="qualified" targetNamespace="http://ws.shipcompliant.com/">
5
+ <s:element name="CheckComplianceOfSalesOrderWithAddressValidation">
6
+ <s:complexType>
7
+ <s:sequence>
8
+ <s:element minOccurs="0" maxOccurs="1" name="Request" type="tns:CheckComplianceOfSalesOrderWithAddressValidationRequest" />
9
+ </s:sequence>
10
+ </s:complexType>
11
+ </s:element>
12
+ <s:complexType name="CheckComplianceOfSalesOrderWithAddressValidationRequest">
13
+ <s:complexContent mixed="false">
14
+ <s:extension base="tns:CheckComplianceOfSalesOrderRequest">
15
+ <s:sequence>
16
+ <s:element minOccurs="0" maxOccurs="1" name="Option" type="s:string" />
17
+ </s:sequence>
18
+ </s:extension>
19
+ </s:complexContent>
20
+ </s:complexType>
21
+ <s:complexType name="CheckComplianceOfSalesOrderRequest">
22
+ <s:complexContent mixed="false">
23
+ <s:extension base="tns:BaseRequest">
24
+ <s:sequence>
25
+ <s:element minOccurs="0" maxOccurs="1" name="AddressOption" type="tns:AddressOption" />
26
+ <s:element minOccurs="1" maxOccurs="1" name="IncludeSalesTaxRates" type="s:boolean" />
27
+ <s:element minOccurs="1" maxOccurs="1" name="PersistOption" type="tns:PersistOption" />
28
+ <s:element minOccurs="0" maxOccurs="1" name="SalesOrder" type="tns:SalesOrder" />
29
+ </s:sequence>
30
+ </s:extension>
31
+ </s:complexContent>
32
+ </s:complexType>
33
+ <s:complexType name="BaseRequest" abstract="true">
34
+ <s:sequence>
35
+ <s:element minOccurs="0" maxOccurs="1" name="Security" type="tns:Security" />
36
+ </s:sequence>
37
+ </s:complexType>
38
+ <s:complexType name="Security">
39
+ <s:sequence>
40
+ <s:element minOccurs="0" maxOccurs="1" name="InstanceID" type="s:string" />
41
+ <s:element minOccurs="0" maxOccurs="1" name="PartnerKey" type="s:string" />
42
+ <s:element minOccurs="0" maxOccurs="1" name="Password" type="s:string" />
43
+ <s:element minOccurs="0" maxOccurs="1" name="Username" type="s:string" />
44
+ </s:sequence>
45
+ </s:complexType>
46
+ <s:complexType name="AddressOption">
47
+ <s:sequence>
48
+ <s:element minOccurs="1" maxOccurs="1" name="IgnoreStreetLevelErrors" type="s:boolean" />
49
+ <s:element minOccurs="1" maxOccurs="1" name="RejectIfAddressSuggested" type="s:boolean" />
50
+ </s:sequence>
51
+ </s:complexType>
52
+ <s:simpleType name="PersistOption">
53
+ <s:restriction base="s:string">
54
+ <s:enumeration value="Null" />
55
+ <s:enumeration value="OverrideExisting" />
56
+ </s:restriction>
57
+ </s:simpleType>
58
+ <s:complexType name="SalesOrder">
59
+ <s:sequence>
60
+ <s:element minOccurs="0" maxOccurs="1" name="BillTo" type="tns:Address" />
61
+ <s:element minOccurs="0" maxOccurs="1" name="CashierKey" type="s:string" />
62
+ <s:element minOccurs="0" maxOccurs="1" name="CustomerKey" type="s:string" />
63
+ <s:element minOccurs="0" maxOccurs="1" name="Discounts" type="tns:ArrayOfSalesOrderDiscount" />
64
+ <s:element minOccurs="0" maxOccurs="1" name="ExternalCustomerKey" type="s:string" />
65
+ <s:element minOccurs="0" maxOccurs="1" name="ExternalOfferKeys" type="tns:ArrayOfString" />
66
+ <s:element minOccurs="0" maxOccurs="1" name="ExternalSalesOrderKey" type="s:string" />
67
+ <s:element minOccurs="1" maxOccurs="1" name="FulfillmentType" type="tns:FulfillmentType" />
68
+ <s:element minOccurs="1" maxOccurs="1" name="OrderType" type="tns:OrderType" />
69
+ <s:element minOccurs="0" maxOccurs="1" name="Payments" type="tns:ArrayOfPayment" />
70
+ <s:element minOccurs="1" maxOccurs="1" name="PurchaseDate" type="s:dateTime" />
71
+ <s:element minOccurs="0" maxOccurs="1" name="ReferenceNumber" type="s:string" />
72
+ <s:element minOccurs="0" maxOccurs="1" name="RefundedOrderReference" type="s:string" />
73
+ <s:element minOccurs="0" maxOccurs="1" name="RegisterID" type="s:string" />
74
+ <s:element minOccurs="0" maxOccurs="1" name="SalesAssociateKey" type="s:string" />
75
+ <s:element minOccurs="0" maxOccurs="1" name="SalesOrderKey" type="s:string" />
76
+ <s:element minOccurs="1" maxOccurs="1" name="SalesTaxCollected" type="s:decimal" />
77
+ <s:element minOccurs="0" maxOccurs="1" name="SettlementBatchNumber" type="s:string" />
78
+ <s:element minOccurs="0" maxOccurs="1" name="Shipments" type="tns:ArrayOfShipment" />
79
+ <s:element minOccurs="0" maxOccurs="1" name="Tags" type="tns:ArrayOfTag" />
80
+ </s:sequence>
81
+ </s:complexType>
82
+ <s:complexType name="Address">
83
+ <s:sequence>
84
+ <s:element minOccurs="0" maxOccurs="1" name="City" type="s:string" />
85
+ <s:element minOccurs="0" maxOccurs="1" name="Company" type="s:string" />
86
+ <s:element minOccurs="0" maxOccurs="1" name="Country" type="s:string" />
87
+ <s:element minOccurs="0" maxOccurs="1" name="County" type="s:string" />
88
+ <s:element minOccurs="1" maxOccurs="1" name="DateOfBirth" type="s:dateTime" />
89
+ <s:element minOccurs="0" maxOccurs="1" name="Email" type="s:string" />
90
+ <s:element minOccurs="0" maxOccurs="1" name="Fax" type="s:string" />
91
+ <s:element minOccurs="0" maxOccurs="1" name="FirstName" type="s:string" />
92
+ <s:element minOccurs="0" maxOccurs="1" name="LastName" type="s:string" />
93
+ <s:element minOccurs="0" maxOccurs="1" name="Phone" type="s:string" />
94
+ <s:element minOccurs="0" maxOccurs="1" name="State" type="s:string" />
95
+ <s:element minOccurs="0" maxOccurs="1" name="Street1" type="s:string" />
96
+ <s:element minOccurs="0" maxOccurs="1" name="Street2" type="s:string" />
97
+ <s:element minOccurs="0" maxOccurs="1" name="Zip1" type="s:string" />
98
+ <s:element minOccurs="0" maxOccurs="1" name="Zip2" type="s:string" />
99
+ </s:sequence>
100
+ </s:complexType>
101
+ <s:complexType name="ArrayOfSalesOrderDiscount">
102
+ <s:sequence>
103
+ <s:element minOccurs="0" maxOccurs="unbounded" name="SalesOrderDiscount" nillable="true" type="tns:SalesOrderDiscount" />
104
+ </s:sequence>
105
+ </s:complexType>
106
+ <s:complexType name="SalesOrderDiscount">
107
+ <s:attribute name="Amount" type="s:decimal" use="required" />
108
+ <s:attribute name="Code" type="s:string" />
109
+ <s:attribute name="Type" type="s:string" />
110
+ </s:complexType>
111
+ <s:complexType name="ArrayOfString">
112
+ <s:sequence>
113
+ <s:element minOccurs="0" maxOccurs="unbounded" name="string" nillable="true" type="s:string" />
114
+ </s:sequence>
115
+ </s:complexType>
116
+ <s:simpleType name="FulfillmentType">
117
+ <s:restriction base="s:string">
118
+ <s:enumeration value="Null" />
119
+ <s:enumeration value="Club" />
120
+ <s:enumeration value="Daily" />
121
+ </s:restriction>
122
+ </s:simpleType>
123
+ <s:simpleType name="OrderType">
124
+ <s:restriction base="s:string">
125
+ <s:enumeration value="Null" />
126
+ <s:enumeration value="Club" />
127
+ <s:enumeration value="Fax" />
128
+ <s:enumeration value="InPerson" />
129
+ <s:enumeration value="Internet" />
130
+ <s:enumeration value="Mail" />
131
+ <s:enumeration value="Phone" />
132
+ </s:restriction>
133
+ </s:simpleType>
134
+ <s:complexType name="ArrayOfPayment">
135
+ <s:sequence>
136
+ <s:element minOccurs="0" maxOccurs="unbounded" name="Payment" nillable="true" type="tns:Payment" />
137
+ </s:sequence>
138
+ </s:complexType>
139
+ <s:complexType name="Payment">
140
+ <s:sequence>
141
+ <s:element minOccurs="1" maxOccurs="1" name="Amount" type="s:decimal" />
142
+ <s:element minOccurs="0" maxOccurs="1" name="SubType" type="s:string" />
143
+ <s:element minOccurs="0" maxOccurs="1" name="TransactionID" type="s:string" />
144
+ <s:element minOccurs="0" maxOccurs="1" name="Type" type="s:string" />
145
+ </s:sequence>
146
+ </s:complexType>
147
+ <s:complexType name="ArrayOfShipment">
148
+ <s:sequence>
149
+ <s:element minOccurs="0" maxOccurs="unbounded" name="Shipment" nillable="true" type="tns:Shipment" />
150
+ </s:sequence>
151
+ </s:complexType>
152
+ <s:complexType name="Shipment">
153
+ <s:sequence>
154
+ <s:element minOccurs="0" maxOccurs="1" name="Discounts" type="tns:ArrayOfShipmentDiscount" />
155
+ <s:element minOccurs="0" maxOccurs="1" name="ExternalClubKeys" type="tns:ArrayOfString" />
156
+ <s:element minOccurs="0" maxOccurs="1" name="FulfillmentAccount" type="s:string" />
157
+ <s:element minOccurs="0" maxOccurs="1" name="FulfillmentHouse" type="s:string" />
158
+ <s:element minOccurs="0" maxOccurs="1" name="FulfillmentExceptionReason" type="s:string" />
159
+ <s:element minOccurs="0" maxOccurs="1" name="FulfillmentExceptionType" type="s:string" />
160
+ <s:element minOccurs="0" maxOccurs="1" name="FulfillmentStatus" type="s:string" />
161
+ <s:element minOccurs="0" maxOccurs="1" name="GiftNote" type="s:string" />
162
+ <s:element minOccurs="1" maxOccurs="1" name="Handling" nillable="true" type="s:double" />
163
+ <s:element minOccurs="1" maxOccurs="1" name="InsuredAmount" type="s:double" />
164
+ <s:element minOccurs="0" maxOccurs="1" name="LicenseRelationship" type="s:string" />
165
+ <s:element minOccurs="0" maxOccurs="1" name="Packages" type="tns:ArrayOfPackage" />
166
+ <s:element minOccurs="1" maxOccurs="1" name="ShipDate" type="s:dateTime" />
167
+ <s:element minOccurs="0" maxOccurs="1" name="ShipmentItems" type="tns:ArrayOfShipmentItem" />
168
+ <s:element minOccurs="0" maxOccurs="1" name="ShipmentKey" type="s:string" />
169
+ <s:element minOccurs="1" maxOccurs="1" name="ShipmentStatus" type="tns:ShipmentStatus" />
170
+ <s:element minOccurs="1" maxOccurs="1" name="Shipping" nillable="true" type="s:double" />
171
+ <s:element minOccurs="0" maxOccurs="1" name="ShippingService" type="s:string" />
172
+ <s:element minOccurs="0" maxOccurs="1" name="ShipTo" type="tns:Address" />
173
+ <s:element minOccurs="0" maxOccurs="1" name="SpecialInstructions" type="s:string" />
174
+ </s:sequence>
175
+ </s:complexType>
176
+ <s:complexType name="ArrayOfShipmentDiscount">
177
+ <s:sequence>
178
+ <s:element minOccurs="0" maxOccurs="unbounded" name="ShipmentDiscount" nillable="true" type="tns:ShipmentDiscount" />
179
+ </s:sequence>
180
+ </s:complexType>
181
+ <s:complexType name="ShipmentDiscount">
182
+ <s:attribute name="Amount" type="s:decimal" use="required" />
183
+ <s:attribute name="Code" type="s:string" />
184
+ <s:attribute name="Type" type="s:string" />
185
+ </s:complexType>
186
+ <s:complexType name="ArrayOfPackage">
187
+ <s:sequence>
188
+ <s:element minOccurs="0" maxOccurs="unbounded" name="Package" nillable="true" type="tns:Package" />
189
+ </s:sequence>
190
+ </s:complexType>
191
+ <s:complexType name="Package">
192
+ <s:sequence>
193
+ <s:element minOccurs="0" maxOccurs="1" name="TrackingNumber" type="s:string" />
194
+ <s:element minOccurs="0" maxOccurs="1" name="TrackingStatus" type="s:string" />
195
+ </s:sequence>
196
+ </s:complexType>
197
+ <s:complexType name="ArrayOfShipmentItem">
198
+ <s:sequence>
199
+ <s:element minOccurs="0" maxOccurs="unbounded" name="ShipmentItem" nillable="true" type="tns:ShipmentItem" />
200
+ </s:sequence>
201
+ </s:complexType>
202
+ <s:complexType name="ShipmentItem">
203
+ <s:sequence>
204
+ <s:element minOccurs="0" maxOccurs="1" name="BrandKey" type="s:string" />
205
+ <s:element minOccurs="0" maxOccurs="1" name="Discounts" type="tns:ArrayOfShipmentItemDiscount" />
206
+ <s:element minOccurs="0" maxOccurs="1" name="ProductKey" type="s:string" />
207
+ <s:element minOccurs="1" maxOccurs="1" name="ProductQuantity" type="s:double" />
208
+ <s:element minOccurs="1" maxOccurs="1" name="ProductUnitPrice" type="s:double" />
209
+ <s:element minOccurs="0" maxOccurs="1" name="CITB" type="s:string" />
210
+ </s:sequence>
211
+ </s:complexType>
212
+ <s:complexType name="ArrayOfShipmentItemDiscount">
213
+ <s:sequence>
214
+ <s:element minOccurs="0" maxOccurs="unbounded" name="ShipmentItemDiscount" nillable="true" type="tns:ShipmentItemDiscount" />
215
+ </s:sequence>
216
+ </s:complexType>
217
+ <s:complexType name="ShipmentItemDiscount">
218
+ <s:attribute name="Amount" type="s:decimal" use="required" />
219
+ <s:attribute name="Code" type="s:string" />
220
+ <s:attribute name="Type" type="s:string" />
221
+ </s:complexType>
222
+ <s:simpleType name="ShipmentStatus">
223
+ <s:restriction base="s:string">
224
+ <s:enumeration value="Null" />
225
+ <s:enumeration value="Delivered" />
226
+ <s:enumeration value="InProcess" />
227
+ <s:enumeration value="Shipped" />
228
+ <s:enumeration value="PaymentAccepted" />
229
+ <s:enumeration value="SentToFulfillment" />
230
+ <s:enumeration value="Voided" />
231
+ </s:restriction>
232
+ </s:simpleType>
233
+ <s:complexType name="ArrayOfTag">
234
+ <s:sequence>
235
+ <s:element minOccurs="0" maxOccurs="unbounded" name="Tag" nillable="true" type="tns:Tag" />
236
+ </s:sequence>
237
+ </s:complexType>
238
+ <s:complexType name="Tag">
239
+ <s:sequence>
240
+ <s:element minOccurs="0" maxOccurs="1" name="Name" type="s:string" />
241
+ </s:sequence>
242
+ </s:complexType>
243
+ <s:element name="CheckComplianceOfSalesOrderWithAddressValidationResponse">
244
+ <s:complexType>
245
+ <s:sequence>
246
+ <s:element minOccurs="0" maxOccurs="1" name="CheckComplianceOfSalesOrderWithAddressValidationResult" type="tns:CheckComplianceOfSalesOrderWithAddressValidationResponse" />
247
+ </s:sequence>
248
+ </s:complexType>
249
+ </s:element>
250
+ <s:complexType name="CheckComplianceOfSalesOrderWithAddressValidationResponse">
251
+ <s:complexContent mixed="false">
252
+ <s:extension base="tns:CheckComplianceOfSalesOrderResponse">
253
+ <s:sequence>
254
+ <s:element minOccurs="0" maxOccurs="1" name="AddressValidationResult" type="s:string" />
255
+ <s:element minOccurs="0" maxOccurs="1" name="SuggestedAddress" type="tns:AddressSuggestion" />
256
+ </s:sequence>
257
+ </s:extension>
258
+ </s:complexContent>
259
+ </s:complexType>
260
+ <s:complexType name="CheckComplianceOfSalesOrderResponse">
261
+ <s:sequence>
262
+ <s:element minOccurs="0" maxOccurs="1" name="Errors" type="tns:ArrayOfError" />
263
+ <s:element minOccurs="1" maxOccurs="1" name="ResponseStatus" type="tns:ResponseStatus" />
264
+ <s:element minOccurs="0" maxOccurs="1" name="SalesOrder" type="tns:SalesOrderComplianceResponse" />
265
+ </s:sequence>
266
+ </s:complexType>
267
+ <s:complexType name="ArrayOfError">
268
+ <s:sequence>
269
+ <s:element minOccurs="0" maxOccurs="unbounded" name="Error" nillable="true" type="tns:Error" />
270
+ </s:sequence>
271
+ </s:complexType>
272
+ <s:complexType name="Error">
273
+ <s:sequence>
274
+ <s:element minOccurs="0" maxOccurs="1" name="Code" type="s:string" />
275
+ <s:element minOccurs="0" maxOccurs="1" name="Data" type="tns:ErrorData" />
276
+ <s:element minOccurs="0" maxOccurs="1" name="Key" type="s:string" />
277
+ <s:element minOccurs="0" maxOccurs="1" name="Message" type="s:string" />
278
+ <s:element minOccurs="1" maxOccurs="1" name="Target" type="tns:ErrorTarget" />
279
+ <s:element minOccurs="1" maxOccurs="1" name="Type" type="tns:ErrorType" />
280
+ </s:sequence>
281
+ </s:complexType>
282
+ <s:complexType name="ErrorData">
283
+ <s:sequence>
284
+ <s:element minOccurs="0" maxOccurs="1" name="AddressSuggestion" type="tns:AddressSuggestion" />
285
+ </s:sequence>
286
+ </s:complexType>
287
+ <s:complexType name="AddressSuggestion">
288
+ <s:sequence>
289
+ <s:element minOccurs="0" maxOccurs="1" name="City" type="s:string" />
290
+ <s:element minOccurs="0" maxOccurs="1" name="County" type="s:string" />
291
+ <s:element minOccurs="0" maxOccurs="1" name="Details" type="tns:AddressDetails" />
292
+ <s:element minOccurs="0" maxOccurs="1" name="Parts" type="tns:AddressParts" />
293
+ <s:element minOccurs="0" maxOccurs="1" name="State" type="s:string" />
294
+ <s:element minOccurs="0" maxOccurs="1" name="Street1" type="s:string" />
295
+ <s:element minOccurs="0" maxOccurs="1" name="Street2" type="s:string" />
296
+ <s:element minOccurs="0" maxOccurs="1" name="Zip1" type="s:string" />
297
+ <s:element minOccurs="0" maxOccurs="1" name="Zip2" type="s:string" />
298
+ </s:sequence>
299
+ </s:complexType>
300
+ <s:complexType name="AddressDetails">
301
+ <s:sequence>
302
+ <s:element minOccurs="0" maxOccurs="1" name="CityAbbreviation" type="s:string" />
303
+ <s:element minOccurs="0" maxOccurs="1" name="CongressionalDistrict" type="s:string" />
304
+ <s:element minOccurs="0" maxOccurs="1" name="CountyFips" type="s:string" />
305
+ <s:element minOccurs="0" maxOccurs="1" name="TimeZone" type="s:string" />
306
+ <s:element minOccurs="0" maxOccurs="1" name="TimeZoneCode" type="s:string" />
307
+ </s:sequence>
308
+ </s:complexType>
309
+ <s:complexType name="AddressParts">
310
+ <s:sequence>
311
+ <s:element minOccurs="0" maxOccurs="1" name="Company" type="s:string" />
312
+ <s:element minOccurs="0" maxOccurs="1" name="MailBoxName" type="s:string" />
313
+ <s:element minOccurs="0" maxOccurs="1" name="MailBoxNumber" type="s:string" />
314
+ <s:element minOccurs="0" maxOccurs="1" name="PostDirection" type="s:string" />
315
+ <s:element minOccurs="0" maxOccurs="1" name="PreDirection" type="s:string" />
316
+ <s:element minOccurs="0" maxOccurs="1" name="StreetName" type="s:string" />
317
+ <s:element minOccurs="0" maxOccurs="1" name="StreetNumber" type="s:string" />
318
+ <s:element minOccurs="0" maxOccurs="1" name="StreetSuffix" type="s:string" />
319
+ <s:element minOccurs="0" maxOccurs="1" name="SuiteName" type="s:string" />
320
+ <s:element minOccurs="0" maxOccurs="1" name="SuiteNumber" type="s:string" />
321
+ </s:sequence>
322
+ </s:complexType>
323
+ <s:simpleType name="ErrorTarget">
324
+ <s:restriction base="s:string">
325
+ <s:enumeration value="Null" />
326
+ <s:enumeration value="Address" />
327
+ <s:enumeration value="Age" />
328
+ <s:enumeration value="Batch" />
329
+ <s:enumeration value="Brand" />
330
+ <s:enumeration value="Distributor" />
331
+ <s:enumeration value="Product" />
332
+ <s:enumeration value="SalesOrder" />
333
+ <s:enumeration value="Shipment" />
334
+ <s:enumeration value="Tax" />
335
+ <s:enumeration value="SSO" />
336
+ </s:restriction>
337
+ </s:simpleType>
338
+ <s:simpleType name="ErrorType">
339
+ <s:restriction base="s:string">
340
+ <s:enumeration value="Authentication" />
341
+ <s:enumeration value="Server" />
342
+ <s:enumeration value="Validation" />
343
+ </s:restriction>
344
+ </s:simpleType>
345
+ <s:simpleType name="ResponseStatus">
346
+ <s:restriction base="s:string">
347
+ <s:enumeration value="Failure" />
348
+ <s:enumeration value="Success" />
349
+ </s:restriction>
350
+ </s:simpleType>
351
+ <s:complexType name="SalesOrderComplianceResponse">
352
+ <s:sequence>
353
+ <s:element minOccurs="1" maxOccurs="1" name="IsCompliant" type="s:boolean" />
354
+ <s:element minOccurs="0" maxOccurs="1" name="Key" type="s:string" />
355
+ <s:element minOccurs="0" maxOccurs="1" name="SalesTaxRates" type="tns:SalesTaxRates" />
356
+ <s:element minOccurs="0" maxOccurs="1" name="Shipments" type="tns:ArrayOfShipmentComplianceResponse" />
357
+ </s:sequence>
358
+ </s:complexType>
359
+ <s:complexType name="SalesTaxRates">
360
+ <s:sequence>
361
+ <s:element minOccurs="1" maxOccurs="1" name="RecommendedSalesTaxDue" type="s:decimal" />
362
+ <s:element minOccurs="0" maxOccurs="1" name="ShipmentSalesTaxRates" type="tns:ArrayOfShipmentSalesTaxRate" />
363
+ </s:sequence>
364
+ </s:complexType>
365
+ <s:complexType name="ArrayOfShipmentSalesTaxRate">
366
+ <s:sequence>
367
+ <s:element minOccurs="0" maxOccurs="unbounded" name="ShipmentSalesTaxRate" nillable="true" type="tns:ShipmentSalesTaxRate" />
368
+ </s:sequence>
369
+ </s:complexType>
370
+ <s:complexType name="ShipmentSalesTaxRate">
371
+ <s:sequence>
372
+ <s:element minOccurs="0" maxOccurs="1" name="FreightSalesTaxRate" type="tns:FreightSalesTaxRate" />
373
+ <s:element minOccurs="0" maxOccurs="1" name="ProductSalesTaxRates" type="tns:ArrayOfProductSalesTaxRate" />
374
+ </s:sequence>
375
+ <s:attribute name="ShipmentKey" type="s:string" />
376
+ </s:complexType>
377
+ <s:complexType name="FreightSalesTaxRate">
378
+ <s:attribute name="SalesTaxDue" type="s:decimal" use="required" />
379
+ <s:attribute name="SalesTaxRate" type="s:decimal" use="required" />
380
+ </s:complexType>
381
+ <s:complexType name="ArrayOfProductSalesTaxRate">
382
+ <s:sequence>
383
+ <s:element minOccurs="0" maxOccurs="unbounded" name="ProductSalesTaxRate" nillable="true" type="tns:ProductSalesTaxRate" />
384
+ </s:sequence>
385
+ </s:complexType>
386
+ <s:complexType name="ProductSalesTaxRate">
387
+ <s:attribute name="BrandKey" type="s:string" />
388
+ <s:attribute name="ProductKey" type="s:string" />
389
+ <s:attribute name="SalesTaxDue" type="s:decimal" use="required" />
390
+ <s:attribute name="SalesTaxRate" type="s:decimal" use="required" />
391
+ </s:complexType>
392
+ <s:complexType name="ArrayOfShipmentComplianceResponse">
393
+ <s:sequence>
394
+ <s:element minOccurs="0" maxOccurs="unbounded" name="ShipmentComplianceResponse" nillable="true" type="tns:ShipmentComplianceResponse" />
395
+ </s:sequence>
396
+ </s:complexType>
397
+ <s:complexType name="ShipmentComplianceResponse">
398
+ <s:sequence>
399
+ <s:element minOccurs="1" maxOccurs="1" name="IsCompliant" type="s:boolean" />
400
+ <s:element minOccurs="0" maxOccurs="1" name="Key" type="s:string" />
401
+ <s:element minOccurs="0" maxOccurs="1" name="Rules" type="tns:ArrayOfRuleComplianceResponse" />
402
+ </s:sequence>
403
+ </s:complexType>
404
+ <s:complexType name="ArrayOfRuleComplianceResponse">
405
+ <s:sequence>
406
+ <s:element minOccurs="0" maxOccurs="unbounded" name="RuleComplianceResponse" nillable="true" type="tns:RuleComplianceResponse" />
407
+ </s:sequence>
408
+ </s:complexType>
409
+ <s:complexType name="RuleComplianceResponse">
410
+ <s:sequence>
411
+ <s:element minOccurs="0" maxOccurs="1" name="ComplianceDescription" type="s:string" />
412
+ <s:element minOccurs="0" maxOccurs="1" name="ComplianceDetails" type="tns:ArrayOfComplianceDetailResponse" />
413
+ <s:element minOccurs="1" maxOccurs="1" name="IsCompliant" type="s:boolean" />
414
+ <s:element minOccurs="1" maxOccurs="1" name="LicenseRelationship" type="tns:LicenseRelationship" />
415
+ <s:element minOccurs="0" maxOccurs="1" name="RuleDescription" type="s:string" />
416
+ <s:element minOccurs="0" maxOccurs="1" name="RuleType" type="s:string" />
417
+ <s:element minOccurs="0" maxOccurs="1" name="Supplier" type="s:string" />
418
+ <s:element minOccurs="0" maxOccurs="1" name="CustomerAggregateVolumeLimitDetail" type="tns:CustomerAggregateVolumeLimitDetail" />
419
+ <s:element minOccurs="0" maxOccurs="1" name="PerShipmentVolumeLimitDetail" type="tns:PerShipmentVolumeLimitDetail" />
420
+ <s:element minOccurs="0" maxOccurs="1" name="PerBottleVolumeLimitDetail" type="tns:PerBottleVolumeLimitDetail" />
421
+ </s:sequence>
422
+ </s:complexType>
423
+ <s:complexType name="ArrayOfComplianceDetailResponse">
424
+ <s:sequence>
425
+ <s:element minOccurs="0" maxOccurs="unbounded" name="ComplianceDetailResponse" nillable="true" type="tns:ComplianceDetailResponse" />
426
+ </s:sequence>
427
+ </s:complexType>
428
+ <s:complexType name="ComplianceDetailResponse">
429
+ <s:sequence>
430
+ <s:element minOccurs="1" maxOccurs="1" name="Type" type="tns:ComplianceDetailType" />
431
+ <s:element minOccurs="0" maxOccurs="1" name="Value" type="s:string" />
432
+ </s:sequence>
433
+ </s:complexType>
434
+ <s:simpleType name="ComplianceDetailType">
435
+ <s:restriction base="s:string">
436
+ <s:enumeration value="BrandNameNotRegistered" />
437
+ <s:enumeration value="LabelNotRegistered" />
438
+ <s:enumeration value="NextShipDate" />
439
+ <s:enumeration value="VolumeOverLimit" />
440
+ </s:restriction>
441
+ </s:simpleType>
442
+ <s:simpleType name="LicenseRelationship">
443
+ <s:restriction base="s:string">
444
+ <s:enumeration value="Null" />
445
+ <s:enumeration value="Default" />
446
+ <s:enumeration value="Pickup" />
447
+ <s:enumeration value="RetailerToConsumer" />
448
+ <s:enumeration value="RetailerToThreeTier" />
449
+ <s:enumeration value="SupplierToConsumer" />
450
+ <s:enumeration value="SupplierToDistributor" />
451
+ <s:enumeration value="SupplierToThreeTier" />
452
+ </s:restriction>
453
+ </s:simpleType>
454
+ <s:complexType name="CustomerAggregateVolumeLimitDetail">
455
+ <s:sequence>
456
+ <s:element minOccurs="1" maxOccurs="1" name="CustomerType" type="tns:CustomerType" />
457
+ <s:element minOccurs="1" maxOccurs="1" name="TimeFrameCount" type="s:int" />
458
+ <s:element minOccurs="1" maxOccurs="1" name="TimeFrameType" type="tns:TimeFrameType" />
459
+ <s:element minOccurs="1" maxOccurs="1" name="TimeFrameUnit" type="tns:TimeFrameUnit" />
460
+ <s:element minOccurs="1" maxOccurs="1" name="UnitOfMeasure" type="tns:VolumeUnit" />
461
+ <s:element minOccurs="1" maxOccurs="1" name="VolumeCount" type="s:int" />
462
+ </s:sequence>
463
+ </s:complexType>
464
+ <s:simpleType name="CustomerType">
465
+ <s:restriction base="s:string">
466
+ <s:enumeration value="Null" />
467
+ <s:enumeration value="Household" />
468
+ <s:enumeration value="Individual" />
469
+ </s:restriction>
470
+ </s:simpleType>
471
+ <s:simpleType name="TimeFrameType">
472
+ <s:restriction base="s:string">
473
+ <s:enumeration value="Calendar" />
474
+ <s:enumeration value="Rolling" />
475
+ </s:restriction>
476
+ </s:simpleType>
477
+ <s:simpleType name="TimeFrameUnit">
478
+ <s:restriction base="s:string">
479
+ <s:enumeration value="Null" />
480
+ <s:enumeration value="Minutes" />
481
+ <s:enumeration value="Hours" />
482
+ <s:enumeration value="Days" />
483
+ <s:enumeration value="Weeks" />
484
+ <s:enumeration value="Months" />
485
+ <s:enumeration value="Years" />
486
+ </s:restriction>
487
+ </s:simpleType>
488
+ <s:simpleType name="VolumeUnit">
489
+ <s:restriction base="s:string">
490
+ <s:enumeration value="Null" />
491
+ <s:enumeration value="Bottle" />
492
+ <s:enumeration value="Case" />
493
+ <s:enumeration value="Gallon" />
494
+ <s:enumeration value="Liter" />
495
+ <s:enumeration value="Milliliter" />
496
+ <s:enumeration value="Ounce" />
497
+ <s:enumeration value="Quart" />
498
+ </s:restriction>
499
+ </s:simpleType>
500
+ <s:complexType name="PerShipmentVolumeLimitDetail">
501
+ <s:sequence>
502
+ <s:element minOccurs="1" maxOccurs="1" name="VolumeCount" type="s:int" />
503
+ <s:element minOccurs="1" maxOccurs="1" name="VolumeUnit" type="tns:VolumeUnit" />
504
+ </s:sequence>
505
+ </s:complexType>
506
+ <s:complexType name="PerBottleVolumeLimitDetail">
507
+ <s:sequence>
508
+ <s:element minOccurs="1" maxOccurs="1" name="VolumeCount" type="s:int" />
509
+ <s:element minOccurs="1" maxOccurs="1" name="VolumeUnit" type="tns:VolumeUnit" />
510
+ </s:sequence>
511
+ </s:complexType>
512
+ <s:element name="CommitSalesOrder">
513
+ <s:complexType>
514
+ <s:sequence>
515
+ <s:element minOccurs="0" maxOccurs="1" name="Request" type="tns:CommitSalesOrderRequest" />
516
+ </s:sequence>
517
+ </s:complexType>
518
+ </s:element>
519
+ <s:complexType name="CommitSalesOrderRequest">
520
+ <s:complexContent mixed="false">
521
+ <s:extension base="tns:BaseRequest">
522
+ <s:sequence>
523
+ <s:element minOccurs="1" maxOccurs="1" name="CommitOption" type="tns:CommitOption" />
524
+ <s:element minOccurs="0" maxOccurs="1" name="ExternalSalesOrderKey" type="s:string" />
525
+ <s:element minOccurs="0" maxOccurs="1" name="Payments" type="tns:ArrayOfPayment" />
526
+ <s:element minOccurs="1" maxOccurs="1" name="SalesTaxCollected" nillable="true" type="s:decimal" />
527
+ <s:element minOccurs="0" maxOccurs="1" name="SalesOrderKey" type="s:string" />
528
+ </s:sequence>
529
+ </s:extension>
530
+ </s:complexContent>
531
+ </s:complexType>
532
+ <s:simpleType name="CommitOption">
533
+ <s:restriction base="s:string">
534
+ <s:enumeration value="Null" />
535
+ <s:enumeration value="AllShipments" />
536
+ <s:enumeration value="CompliantShipments" />
537
+ </s:restriction>
538
+ </s:simpleType>
539
+ <s:element name="CommitSalesOrderResponse">
540
+ <s:complexType>
541
+ <s:sequence>
542
+ <s:element minOccurs="0" maxOccurs="1" name="CommitSalesOrderResult" type="tns:CommitSalesOrderResponse" />
543
+ </s:sequence>
544
+ </s:complexType>
545
+ </s:element>
546
+ <s:complexType name="CommitSalesOrderResponse">
547
+ <s:sequence>
548
+ <s:element minOccurs="0" maxOccurs="1" name="Errors" type="tns:ArrayOfError" />
549
+ <s:element minOccurs="1" maxOccurs="1" name="ResponseStatus" type="tns:ResponseStatus" />
550
+ <s:element minOccurs="0" maxOccurs="1" name="Shipments" type="tns:ArrayOfShipmentCommitResponse" />
551
+ </s:sequence>
552
+ </s:complexType>
553
+ <s:complexType name="ArrayOfShipmentCommitResponse">
554
+ <s:sequence>
555
+ <s:element minOccurs="0" maxOccurs="unbounded" name="ShipmentCommitResponse" nillable="true" type="tns:ShipmentCommitResponse" />
556
+ </s:sequence>
557
+ </s:complexType>
558
+ <s:complexType name="ShipmentCommitResponse">
559
+ <s:sequence>
560
+ <s:element minOccurs="0" maxOccurs="1" name="Key" type="s:string" />
561
+ <s:element minOccurs="1" maxOccurs="1" name="IsCommitted" type="s:boolean" />
562
+ </s:sequence>
563
+ </s:complexType>
564
+ <s:element name="VoidSalesOrder">
565
+ <s:complexType>
566
+ <s:sequence>
567
+ <s:element minOccurs="0" maxOccurs="1" name="Request" type="tns:VoidSalesOrderRequest" />
568
+ </s:sequence>
569
+ </s:complexType>
570
+ </s:element>
571
+ <s:complexType name="VoidSalesOrderRequest">
572
+ <s:complexContent mixed="false">
573
+ <s:extension base="tns:BaseRequest">
574
+ <s:sequence>
575
+ <s:element minOccurs="0" maxOccurs="1" name="SalesOrderKey" type="s:string" />
576
+ </s:sequence>
577
+ </s:extension>
578
+ </s:complexContent>
579
+ </s:complexType>
580
+ <s:element name="VoidSalesOrderResponse">
581
+ <s:complexType>
582
+ <s:sequence>
583
+ <s:element minOccurs="0" maxOccurs="1" name="VoidSalesOrderResult" type="tns:VoidSalesOrderResponse" />
584
+ </s:sequence>
585
+ </s:complexType>
586
+ </s:element>
587
+ <s:complexType name="VoidSalesOrderResponse">
588
+ <s:sequence>
589
+ <s:element minOccurs="0" maxOccurs="1" name="Errors" type="tns:ArrayOfError" />
590
+ <s:element minOccurs="1" maxOccurs="1" name="ResponseStatus" type="tns:ResponseStatus" />
591
+ </s:sequence>
592
+ </s:complexType>
593
+ <s:element name="SearchSalesOrders">
594
+ <s:complexType>
595
+ <s:sequence>
596
+ <s:element minOccurs="0" maxOccurs="1" name="Request" type="tns:SearchSalesOrdersRequest" />
597
+ </s:sequence>
598
+ </s:complexType>
599
+ </s:element>
600
+ <s:complexType name="SearchSalesOrdersRequest">
601
+ <s:complexContent mixed="false">
602
+ <s:extension base="tns:BaseRequest">
603
+ <s:sequence>
604
+ <s:element minOccurs="1" maxOccurs="1" name="ComplianceStatus" type="tns:ShipmentComplianceStatus" />
605
+ <s:element minOccurs="0" maxOccurs="1" name="ExternalClubKey" type="s:string" />
606
+ <s:element minOccurs="0" maxOccurs="1" name="ExternalOfferKey" type="s:string" />
607
+ <s:element minOccurs="0" maxOccurs="1" name="ExternalSalesOrderKeyMax" type="s:string" />
608
+ <s:element minOccurs="0" maxOccurs="1" name="ExternalSalesOrderKeyMin" type="s:string" />
609
+ <s:element minOccurs="0" maxOccurs="1" name="ExternalSalesOrderKeys" type="tns:ArrayOfString" />
610
+ <s:element minOccurs="0" maxOccurs="1" name="FulfillmentAccount" type="s:string" />
611
+ <s:element minOccurs="0" maxOccurs="1" name="FulfillmentExceptionType" type="s:string" />
612
+ <s:element minOccurs="0" maxOccurs="1" name="FulfillmentHouse" type="s:string" />
613
+ <s:element minOccurs="0" maxOccurs="1" name="FulfillmentStatus" type="s:string" />
614
+ <s:element minOccurs="1" maxOccurs="1" name="LicenseRelationship" type="tns:LicenseRelationship" />
615
+ <s:element minOccurs="0" maxOccurs="1" name="Partner" type="s:string" />
616
+ <s:element minOccurs="1" maxOccurs="1" name="PurchaseDateMax" type="s:dateTime" />
617
+ <s:element minOccurs="1" maxOccurs="1" name="PurchaseDateMin" type="s:dateTime" />
618
+ <s:element minOccurs="1" maxOccurs="1" name="RequestedShipDateMax" type="s:dateTime" />
619
+ <s:element minOccurs="1" maxOccurs="1" name="RequestedShipDateMin" type="s:dateTime" />
620
+ <s:element minOccurs="0" maxOccurs="1" name="SalesOrderKeyMax" type="s:string" />
621
+ <s:element minOccurs="0" maxOccurs="1" name="SalesOrderKeyMin" type="s:string" />
622
+ <s:element minOccurs="0" maxOccurs="1" name="SalesOrderKeys" type="tns:ArrayOfString" />
623
+ <s:element minOccurs="1" maxOccurs="1" name="SaleType" type="tns:SaleType" />
624
+ <s:element minOccurs="0" maxOccurs="1" name="SettlementBatchNumber" type="s:string" />
625
+ <s:element minOccurs="1" maxOccurs="1" name="ShipDateMax" type="s:dateTime" />
626
+ <s:element minOccurs="1" maxOccurs="1" name="ShipDateMin" type="s:dateTime" />
627
+ <s:element minOccurs="1" maxOccurs="1" name="ShipmentStatus" type="tns:ShipmentStatus" />
628
+ <s:element minOccurs="0" maxOccurs="1" name="ShipToState" type="s:string" />
629
+ <s:element minOccurs="0" maxOccurs="1" name="Tag" type="s:string" />
630
+ <s:element minOccurs="1" maxOccurs="1" name="TrackingExistence" type="tns:TrackingExistence" />
631
+ <s:element minOccurs="0" maxOccurs="1" name="NotTag" type="s:string" />
632
+ <s:element minOccurs="0" maxOccurs="1" name="Channel" type="s:string" />
633
+ </s:sequence>
634
+ </s:extension>
635
+ </s:complexContent>
636
+ </s:complexType>
637
+ <s:simpleType name="ShipmentComplianceStatus">
638
+ <s:restriction base="s:string">
639
+ <s:enumeration value="Null" />
640
+ <s:enumeration value="CompliantCommitted" />
641
+ <s:enumeration value="LegacyCommitted" />
642
+ </s:restriction>
643
+ </s:simpleType>
644
+ <s:simpleType name="SaleType">
645
+ <s:restriction base="s:string">
646
+ <s:enumeration value="Null" />
647
+ <s:enumeration value="Both" />
648
+ <s:enumeration value="Offsite" />
649
+ <s:enumeration value="Onsite" />
650
+ </s:restriction>
651
+ </s:simpleType>
652
+ <s:simpleType name="TrackingExistence">
653
+ <s:restriction base="s:string">
654
+ <s:enumeration value="Null" />
655
+ <s:enumeration value="HasTrackingNumbers" />
656
+ <s:enumeration value="ZeroTrackingNumbers" />
657
+ </s:restriction>
658
+ </s:simpleType>
659
+ <s:element name="SearchSalesOrdersResponse">
660
+ <s:complexType>
661
+ <s:sequence>
662
+ <s:element minOccurs="0" maxOccurs="1" name="SearchSalesOrdersResult" type="tns:SearchSalesOrdersResponse" />
663
+ </s:sequence>
664
+ </s:complexType>
665
+ </s:element>
666
+ <s:complexType name="SearchSalesOrdersResponse">
667
+ <s:sequence>
668
+ <s:element minOccurs="1" maxOccurs="1" name="CountMoreSalesOrdersAvailable" type="s:int" />
669
+ <s:element minOccurs="1" maxOccurs="1" name="CountSalesOrdersReturned" type="s:int" />
670
+ <s:element minOccurs="0" maxOccurs="1" name="Errors" type="tns:ArrayOfError" />
671
+ <s:element minOccurs="0" maxOccurs="1" name="PagingCookie" type="s:string" />
672
+ <s:element minOccurs="1" maxOccurs="1" name="PagingCookieExpires" type="s:dateTime" />
673
+ <s:element minOccurs="1" maxOccurs="1" name="ResponseStatus" type="tns:ResponseStatus" />
674
+ <s:element minOccurs="0" maxOccurs="1" name="SalesOrders" type="tns:ArrayOfSalesOrderSummary" />
675
+ </s:sequence>
676
+ </s:complexType>
677
+ <s:complexType name="ArrayOfSalesOrderSummary">
678
+ <s:sequence>
679
+ <s:element minOccurs="0" maxOccurs="unbounded" name="SalesOrderSummary" nillable="true" type="tns:SalesOrderSummary" />
680
+ </s:sequence>
681
+ </s:complexType>
682
+ <s:complexType name="SalesOrderSummary">
683
+ <s:sequence>
684
+ <s:element minOccurs="0" maxOccurs="1" name="ExternalCustomerKey" type="s:string" />
685
+ <s:element minOccurs="0" maxOccurs="1" name="ExternalOfferKeys" type="tns:ArrayOfString" />
686
+ <s:element minOccurs="0" maxOccurs="1" name="ExternalSalesOrderKey" type="s:string" />
687
+ <s:element minOccurs="1" maxOccurs="1" name="PurchaseDate" type="s:dateTime" />
688
+ <s:element minOccurs="0" maxOccurs="1" name="SalesOrderKey" type="s:string" />
689
+ <s:element minOccurs="0" maxOccurs="1" name="SettlementBatchNumber" type="s:string" />
690
+ <s:element minOccurs="0" maxOccurs="1" name="Shipments" type="tns:ArrayOfShipmentSummary" />
691
+ <s:element minOccurs="0" maxOccurs="1" name="Tags" type="tns:ArrayOfTagSummary" />
692
+ </s:sequence>
693
+ </s:complexType>
694
+ <s:complexType name="ArrayOfShipmentSummary">
695
+ <s:sequence>
696
+ <s:element minOccurs="0" maxOccurs="unbounded" name="ShipmentSummary" nillable="true" type="tns:ShipmentSummary" />
697
+ </s:sequence>
698
+ </s:complexType>
699
+ <s:complexType name="ShipmentSummary">
700
+ <s:sequence>
701
+ <s:element minOccurs="1" maxOccurs="1" name="ComplianceStatus" type="tns:ShipmentComplianceStatus" />
702
+ <s:element minOccurs="0" maxOccurs="1" name="ExternalClubKeys" type="tns:ArrayOfString" />
703
+ <s:element minOccurs="0" maxOccurs="1" name="FulfillmentAccount" type="s:string" />
704
+ <s:element minOccurs="0" maxOccurs="1" name="FulfillmentExceptionReason" type="s:string" />
705
+ <s:element minOccurs="0" maxOccurs="1" name="FulfillmentExceptionType" type="s:string" />
706
+ <s:element minOccurs="0" maxOccurs="1" name="FulfillmentHouse" type="s:string" />
707
+ <s:element minOccurs="0" maxOccurs="1" name="FulfillmentStatus" type="s:string" />
708
+ <s:element minOccurs="0" maxOccurs="1" name="Packages" type="tns:ArrayOfPackageSummary" />
709
+ <s:element minOccurs="1" maxOccurs="1" name="RequestedShipDate" type="s:dateTime" />
710
+ <s:element minOccurs="1" maxOccurs="1" name="ShipDate" type="s:dateTime" />
711
+ <s:element minOccurs="0" maxOccurs="1" name="ShipmentKey" type="s:string" />
712
+ <s:element minOccurs="1" maxOccurs="1" name="ShipmentStatus" type="tns:ShipmentStatus" />
713
+ <s:element minOccurs="0" maxOccurs="1" name="ShipTo" type="tns:AddressSummary" />
714
+ </s:sequence>
715
+ </s:complexType>
716
+ <s:complexType name="ArrayOfPackageSummary">
717
+ <s:sequence>
718
+ <s:element minOccurs="0" maxOccurs="unbounded" name="PackageSummary" nillable="true" type="tns:PackageSummary" />
719
+ </s:sequence>
720
+ </s:complexType>
721
+ <s:complexType name="PackageSummary">
722
+ <s:sequence>
723
+ <s:element minOccurs="0" maxOccurs="1" name="Carrier" type="s:string" />
724
+ <s:element minOccurs="0" maxOccurs="1" name="TrackingNumber" type="s:string" />
725
+ <s:element minOccurs="0" maxOccurs="1" name="TrackingStatus" type="s:string" />
726
+ </s:sequence>
727
+ </s:complexType>
728
+ <s:complexType name="AddressSummary">
729
+ <s:sequence>
730
+ <s:element minOccurs="0" maxOccurs="1" name="FirstName" type="s:string" />
731
+ <s:element minOccurs="0" maxOccurs="1" name="LastName" type="s:string" />
732
+ <s:element minOccurs="0" maxOccurs="1" name="Zip1" type="s:string" />
733
+ </s:sequence>
734
+ </s:complexType>
735
+ <s:complexType name="ArrayOfTagSummary">
736
+ <s:sequence>
737
+ <s:element minOccurs="0" maxOccurs="unbounded" name="TagSummary" nillable="true" type="tns:TagSummary" />
738
+ </s:sequence>
739
+ </s:complexType>
740
+ <s:complexType name="TagSummary">
741
+ <s:sequence>
742
+ <s:element minOccurs="0" maxOccurs="1" name="Name" type="s:string" />
743
+ </s:sequence>
744
+ </s:complexType>
745
+ <s:element name="SearchMoreSalesOrders">
746
+ <s:complexType>
747
+ <s:sequence>
748
+ <s:element minOccurs="0" maxOccurs="1" name="Request" type="tns:SearchMoreSalesOrdersRequest" />
749
+ </s:sequence>
750
+ </s:complexType>
751
+ </s:element>
752
+ <s:complexType name="SearchMoreSalesOrdersRequest">
753
+ <s:complexContent mixed="false">
754
+ <s:extension base="tns:BaseRequest">
755
+ <s:sequence>
756
+ <s:element minOccurs="0" maxOccurs="1" name="PagingCookie" type="s:string" />
757
+ </s:sequence>
758
+ </s:extension>
759
+ </s:complexContent>
760
+ </s:complexType>
761
+ <s:element name="SearchMoreSalesOrdersResponse">
762
+ <s:complexType>
763
+ <s:sequence>
764
+ <s:element minOccurs="0" maxOccurs="1" name="SearchMoreSalesOrdersResult" type="tns:SearchSalesOrdersResponse" />
765
+ </s:sequence>
766
+ </s:complexType>
767
+ </s:element>
768
+ <s:element name="GetSalesOrderExtended">
769
+ <s:complexType>
770
+ <s:sequence>
771
+ <s:element minOccurs="0" maxOccurs="1" name="Request" type="tns:GetSalesOrderRequest" />
772
+ </s:sequence>
773
+ </s:complexType>
774
+ </s:element>
775
+ <s:complexType name="GetSalesOrderRequest">
776
+ <s:complexContent mixed="false">
777
+ <s:extension base="tns:BaseRequest">
778
+ <s:sequence>
779
+ <s:element minOccurs="0" maxOccurs="1" name="SalesOrderKey" type="s:string" />
780
+ </s:sequence>
781
+ </s:extension>
782
+ </s:complexContent>
783
+ </s:complexType>
784
+ <s:element name="GetSalesOrderExtendedResponse">
785
+ <s:complexType>
786
+ <s:sequence>
787
+ <s:element minOccurs="0" maxOccurs="1" name="GetSalesOrderExtendedResult" type="tns:GetSalesOrderExtendedResponse" />
788
+ </s:sequence>
789
+ </s:complexType>
790
+ </s:element>
791
+ <s:complexType name="GetSalesOrderExtendedResponse">
792
+ <s:sequence>
793
+ <s:element minOccurs="0" maxOccurs="1" name="ComplianceResults" type="tns:ComplianceResponse" />
794
+ <s:element minOccurs="0" maxOccurs="1" name="Errors" type="tns:ArrayOfError" />
795
+ <s:element minOccurs="1" maxOccurs="1" name="ResponseStatus" type="tns:ResponseStatus" />
796
+ <s:element minOccurs="0" maxOccurs="1" name="SalesOrder" type="tns:SalesOrder" />
797
+ <s:element minOccurs="0" maxOccurs="1" name="OrderChannelDetails" type="tns:OrderChannelDetails" />
798
+ </s:sequence>
799
+ </s:complexType>
800
+ <s:complexType name="ComplianceResponse">
801
+ <s:sequence>
802
+ <s:element minOccurs="0" maxOccurs="1" name="SalesOrder" type="tns:SalesOrderComplianceResponse" />
803
+ </s:sequence>
804
+ </s:complexType>
805
+ <s:complexType name="OrderChannelDetails">
806
+ <s:sequence>
807
+ <s:element minOccurs="0" maxOccurs="1" name="OrderChannel" type="s:string" />
808
+ <s:element minOccurs="0" maxOccurs="1" name="AdvertiserKey" type="s:string" />
809
+ <s:element minOccurs="0" maxOccurs="1" name="AdvertiserName" type="s:string" />
810
+ <s:element minOccurs="0" maxOccurs="1" name="Meta" type="s:string" />
811
+ </s:sequence>
812
+ </s:complexType>
813
+ <s:element name="AddUpdateBrand">
814
+ <s:complexType>
815
+ <s:sequence>
816
+ <s:element minOccurs="0" maxOccurs="1" name="Request" type="tns:AddUpdateBrandRequest" />
817
+ </s:sequence>
818
+ </s:complexType>
819
+ </s:element>
820
+ <s:complexType name="AddUpdateBrandRequest">
821
+ <s:complexContent mixed="false">
822
+ <s:extension base="tns:BaseRequest">
823
+ <s:sequence>
824
+ <s:element minOccurs="0" maxOccurs="1" name="Brand" type="tns:Brand" />
825
+ <s:element minOccurs="1" maxOccurs="1" name="UpdateMode" nillable="true" type="tns:BrandUpdateMode" />
826
+ </s:sequence>
827
+ </s:extension>
828
+ </s:complexContent>
829
+ </s:complexType>
830
+ <s:complexType name="Brand">
831
+ <s:sequence>
832
+ <s:element minOccurs="0" maxOccurs="1" name="Key" type="s:string" />
833
+ <s:element minOccurs="0" maxOccurs="1" name="Name" type="s:string" />
834
+ <s:element minOccurs="0" maxOccurs="1" name="Owner" type="tns:BrandOwner" />
835
+ <s:element minOccurs="1" maxOccurs="1" name="ThisBrandIsBottledByAThirdParty" nillable="true" type="s:boolean" />
836
+ <s:element minOccurs="1" maxOccurs="1" name="ThisBrandIsProducedByAThirdParty" nillable="true" type="s:boolean" />
837
+ <s:element minOccurs="1" maxOccurs="1" name="ThisBrandOperatesUnderATradeName" nillable="true" type="s:boolean" />
838
+ <s:element minOccurs="1" maxOccurs="1" name="ThisBrandWasAcquiredFromAThirdParty" nillable="true" type="s:boolean" />
839
+ </s:sequence>
840
+ </s:complexType>
841
+ <s:complexType name="BrandOwner">
842
+ <s:sequence>
843
+ <s:element minOccurs="0" maxOccurs="1" name="City" type="s:string" />
844
+ <s:element minOccurs="0" maxOccurs="1" name="Country" type="s:string" />
845
+ <s:element minOccurs="0" maxOccurs="1" name="Name" type="s:string" />
846
+ <s:element minOccurs="0" maxOccurs="1" name="State" type="s:string" />
847
+ <s:element minOccurs="0" maxOccurs="1" name="Street1" type="s:string" />
848
+ <s:element minOccurs="0" maxOccurs="1" name="Street2" type="s:string" />
849
+ <s:element minOccurs="0" maxOccurs="1" name="Zip" type="s:string" />
850
+ </s:sequence>
851
+ </s:complexType>
852
+ <s:simpleType name="BrandUpdateMode">
853
+ <s:restriction base="s:string">
854
+ <s:enumeration value="UpdateExisting" />
855
+ <s:enumeration value="IgnoreExisting" />
856
+ <s:enumeration value="ErrorOnExisting" />
857
+ </s:restriction>
858
+ </s:simpleType>
859
+ <s:element name="AddUpdateBrandResponse">
860
+ <s:complexType>
861
+ <s:sequence>
862
+ <s:element minOccurs="0" maxOccurs="1" name="AddUpdateBrandResult" type="tns:AddUpdateBrandResponse" />
863
+ </s:sequence>
864
+ </s:complexType>
865
+ </s:element>
866
+ <s:complexType name="AddUpdateBrandResponse">
867
+ <s:sequence>
868
+ <s:element minOccurs="0" maxOccurs="1" name="Errors" type="tns:ArrayOfError" />
869
+ <s:element minOccurs="1" maxOccurs="1" name="ResponseStatus" type="tns:ResponseStatus" />
870
+ </s:sequence>
871
+ </s:complexType>
872
+ <s:element name="AddUpdateProduct">
873
+ <s:complexType>
874
+ <s:sequence>
875
+ <s:element minOccurs="0" maxOccurs="1" name="Request" type="tns:AddUpdateProductRequest" />
876
+ </s:sequence>
877
+ </s:complexType>
878
+ </s:element>
879
+ <s:complexType name="AddUpdateProductRequest">
880
+ <s:complexContent mixed="false">
881
+ <s:extension base="tns:BaseRequest">
882
+ <s:sequence>
883
+ <s:element minOccurs="0" maxOccurs="1" name="Product" type="tns:ProductInput" />
884
+ <s:element minOccurs="1" maxOccurs="1" name="UpdateMode" nillable="true" type="tns:ProductUpdateMode" />
885
+ </s:sequence>
886
+ </s:extension>
887
+ </s:complexContent>
888
+ </s:complexType>
889
+ <s:complexType name="ProductInput">
890
+ <s:sequence>
891
+ <s:element minOccurs="1" maxOccurs="1" name="Age" nillable="true" type="s:int" />
892
+ <s:element minOccurs="1" maxOccurs="1" name="BottleSizeML" nillable="true" type="s:int" />
893
+ <s:element minOccurs="0" maxOccurs="1" name="BrandKey" type="s:string" />
894
+ <s:element minOccurs="0" maxOccurs="1" name="DefaultCase" type="s:string" />
895
+ <s:element minOccurs="1" maxOccurs="1" name="DefaultRetailUnitPrice" nillable="true" type="s:double" />
896
+ <s:element minOccurs="1" maxOccurs="1" name="DefaultWholesaleCasePrice" nillable="true" type="s:double" />
897
+ <s:element minOccurs="0" maxOccurs="1" name="Description" type="s:string" />
898
+ <s:element minOccurs="0" maxOccurs="1" name="Flavor" type="s:string" />
899
+ <s:element minOccurs="0" maxOccurs="1" name="Style" type="s:string" />
900
+ <s:element minOccurs="0" maxOccurs="1" name="GTIN" type="s:string" />
901
+ <s:element minOccurs="0" maxOccurs="1" name="Label" type="s:string" />
902
+ <s:element minOccurs="0" maxOccurs="1" name="NABCA" type="s:string" />
903
+ <s:element minOccurs="1" maxOccurs="1" name="PercentAlcohol" type="s:double" />
904
+ <s:element minOccurs="0" maxOccurs="1" name="ProductDistribution" type="s:string" />
905
+ <s:element minOccurs="0" maxOccurs="1" name="ProductKey" type="s:string" />
906
+ <s:element minOccurs="0" maxOccurs="1" name="ProductType" type="s:string" />
907
+ <s:element minOccurs="0" maxOccurs="1" name="SCC" type="s:string" />
908
+ <s:element minOccurs="0" maxOccurs="1" name="UNIMERC" type="s:string" />
909
+ <s:element minOccurs="1" maxOccurs="1" name="UnitPrice" nillable="true" type="s:double" />
910
+ <s:element minOccurs="0" maxOccurs="1" name="UPC" type="s:string" />
911
+ <s:element minOccurs="0" maxOccurs="1" name="Varietal" type="s:string" />
912
+ <s:element minOccurs="1" maxOccurs="1" name="Vintage" nillable="true" type="s:int" />
913
+ <s:element minOccurs="1" maxOccurs="1" name="VolumeAmount" type="s:double" />
914
+ <s:element minOccurs="0" maxOccurs="1" name="VolumeUnit" type="s:string" />
915
+ <s:element minOccurs="0" maxOccurs="1" name="SubBrand" type="s:string" />
916
+ <s:element minOccurs="0" maxOccurs="1" name="ContainerType" type="s:string" />
917
+ <s:element minOccurs="1" maxOccurs="1" name="ContainersPerSellingUnit" nillable="true" type="s:int" />
918
+ </s:sequence>
919
+ </s:complexType>
920
+ <s:simpleType name="ProductUpdateMode">
921
+ <s:restriction base="s:string">
922
+ <s:enumeration value="UpdateExisting" />
923
+ <s:enumeration value="IgnoreExisting" />
924
+ <s:enumeration value="ErrorOnExisting" />
925
+ </s:restriction>
926
+ </s:simpleType>
927
+ <s:element name="AddUpdateProductResponse">
928
+ <s:complexType>
929
+ <s:sequence>
930
+ <s:element minOccurs="0" maxOccurs="1" name="AddUpdateProductResult" type="tns:AddUpdateProductResponse" />
931
+ </s:sequence>
932
+ </s:complexType>
933
+ </s:element>
934
+ <s:complexType name="AddUpdateProductResponse">
935
+ <s:sequence>
936
+ <s:element minOccurs="0" maxOccurs="1" name="Errors" type="tns:ArrayOfError" />
937
+ <s:element minOccurs="1" maxOccurs="1" name="ResponseStatus" type="tns:ResponseStatus" />
938
+ </s:sequence>
939
+ </s:complexType>
940
+ <s:element name="GetInventoryDetails">
941
+ <s:complexType>
942
+ <s:sequence>
943
+ <s:element minOccurs="0" maxOccurs="1" name="Request" type="tns:GetInventoryDetailsRequest" />
944
+ </s:sequence>
945
+ </s:complexType>
946
+ </s:element>
947
+ <s:complexType name="GetInventoryDetailsRequest">
948
+ <s:complexContent mixed="false">
949
+ <s:extension base="tns:BaseRequest">
950
+ <s:sequence>
951
+ <s:element minOccurs="0" maxOccurs="1" name="BrandKey" type="s:string" />
952
+ <s:element minOccurs="0" maxOccurs="1" name="FulfillmentAccount" type="s:string" />
953
+ <s:element minOccurs="0" maxOccurs="1" name="FulfillmentLocation" type="s:string" />
954
+ <s:element minOccurs="1" maxOccurs="1" name="InventoryType" type="tns:InventoryType" />
955
+ <s:element minOccurs="0" maxOccurs="1" name="ProductKey" type="s:string" />
956
+ </s:sequence>
957
+ </s:extension>
958
+ </s:complexContent>
959
+ </s:complexType>
960
+ <s:simpleType name="InventoryType">
961
+ <s:restriction base="s:string">
962
+ <s:enumeration value="Null" />
963
+ <s:enumeration value="All" />
964
+ <s:enumeration value="Available" />
965
+ <s:enumeration value="BackOrder" />
966
+ <s:enumeration value="Cosmetic" />
967
+ <s:enumeration value="Custom1" />
968
+ <s:enumeration value="Custom2" />
969
+ <s:enumeration value="Custom3" />
970
+ <s:enumeration value="Damage" />
971
+ <s:enumeration value="Held" />
972
+ <s:enumeration value="OnHand" />
973
+ <s:enumeration value="OnOrder" />
974
+ <s:enumeration value="Reserved" />
975
+ </s:restriction>
976
+ </s:simpleType>
977
+ <s:element name="GetInventoryDetailsResponse">
978
+ <s:complexType>
979
+ <s:sequence>
980
+ <s:element minOccurs="0" maxOccurs="1" name="GetInventoryDetailsResult" type="tns:GetInventoryDetailsResponse" />
981
+ </s:sequence>
982
+ </s:complexType>
983
+ </s:element>
984
+ <s:complexType name="GetInventoryDetailsResponse">
985
+ <s:sequence>
986
+ <s:element minOccurs="0" maxOccurs="1" name="Errors" type="tns:ArrayOfError" />
987
+ <s:element minOccurs="0" maxOccurs="1" name="InventoryLocations" type="tns:ArrayOfInventoryLocation" />
988
+ <s:element minOccurs="1" maxOccurs="1" name="ResponseStatus" type="tns:ResponseStatus" />
989
+ </s:sequence>
990
+ </s:complexType>
991
+ <s:complexType name="ArrayOfInventoryLocation">
992
+ <s:sequence>
993
+ <s:element minOccurs="0" maxOccurs="unbounded" name="InventoryLocation" nillable="true" type="tns:InventoryLocation" />
994
+ </s:sequence>
995
+ </s:complexType>
996
+ <s:complexType name="InventoryLocation">
997
+ <s:sequence>
998
+ <s:element minOccurs="0" maxOccurs="1" name="FulfillmentAccount" type="s:string" />
999
+ <s:element minOccurs="0" maxOccurs="1" name="FulfillmentLocation" type="s:string" />
1000
+ <s:element minOccurs="0" maxOccurs="1" name="InventoryProducts" type="tns:ArrayOfInventoryProduct" />
1001
+ <s:element minOccurs="0" maxOccurs="1" name="SubInventoryCode" type="s:string" />
1002
+ <s:element minOccurs="0" maxOccurs="1" name="Supplier" type="s:string" />
1003
+ </s:sequence>
1004
+ </s:complexType>
1005
+ <s:complexType name="ArrayOfInventoryProduct">
1006
+ <s:sequence>
1007
+ <s:element minOccurs="0" maxOccurs="unbounded" name="InventoryProduct" nillable="true" type="tns:InventoryProduct" />
1008
+ </s:sequence>
1009
+ </s:complexType>
1010
+ <s:complexType name="InventoryProduct">
1011
+ <s:sequence>
1012
+ <s:element minOccurs="0" maxOccurs="1" name="BrandKey" type="s:string" />
1013
+ <s:element minOccurs="0" maxOccurs="1" name="DefaultCase" type="s:string" />
1014
+ <s:element minOccurs="0" maxOccurs="1" name="Description" type="s:string" />
1015
+ <s:element minOccurs="0" maxOccurs="1" name="FulfillmentSku" type="s:string" />
1016
+ <s:element minOccurs="0" maxOccurs="1" name="InventoryLevels" type="tns:ArrayOfInventoryLevel" />
1017
+ <s:element minOccurs="1" maxOccurs="1" name="PercentAlcohol" type="s:double" />
1018
+ <s:element minOccurs="0" maxOccurs="1" name="ProductKey" type="s:string" />
1019
+ <s:element minOccurs="1" maxOccurs="1" name="ProductType" type="tns:ProductType" />
1020
+ <s:element minOccurs="1" maxOccurs="1" name="UnitPrice" type="s:double" />
1021
+ <s:element minOccurs="0" maxOccurs="1" name="Varietal" type="s:string" />
1022
+ <s:element minOccurs="1" maxOccurs="1" name="Vintage" type="s:int" />
1023
+ <s:element minOccurs="1" maxOccurs="1" name="VolumeAmount" type="s:double" />
1024
+ <s:element minOccurs="1" maxOccurs="1" name="VolumeML" type="s:double" />
1025
+ <s:element minOccurs="1" maxOccurs="1" name="VolumeUnit" type="tns:VolumeUnit" />
1026
+ </s:sequence>
1027
+ </s:complexType>
1028
+ <s:complexType name="ArrayOfInventoryLevel">
1029
+ <s:sequence>
1030
+ <s:element minOccurs="0" maxOccurs="unbounded" name="InventoryLevel" nillable="true" type="tns:InventoryLevel" />
1031
+ </s:sequence>
1032
+ </s:complexType>
1033
+ <s:complexType name="InventoryLevel">
1034
+ <s:sequence>
1035
+ <s:element minOccurs="1" maxOccurs="1" name="EffectiveDate" type="s:dateTime" />
1036
+ <s:element minOccurs="1" maxOccurs="1" name="InventoryType" type="tns:InventoryType" />
1037
+ <s:element minOccurs="1" maxOccurs="1" name="Quantity" type="s:double" />
1038
+ <s:element minOccurs="1" maxOccurs="1" name="SynchronizationDate" type="s:dateTime" />
1039
+ </s:sequence>
1040
+ </s:complexType>
1041
+ <s:simpleType name="ProductType">
1042
+ <s:restriction base="s:string">
1043
+ <s:enumeration value="Null" />
1044
+ <s:enumeration value="Ale" />
1045
+ <s:enumeration value="AppleCider" />
1046
+ <s:enumeration value="Beer" />
1047
+ <s:enumeration value="BottleBeer" />
1048
+ <s:enumeration value="CanBeer" />
1049
+ <s:enumeration value="Cider" />
1050
+ <s:enumeration value="DraughtBeer" />
1051
+ <s:enumeration value="Food" />
1052
+ <s:enumeration value="KegBeer" />
1053
+ <s:enumeration value="MaltLiquor" />
1054
+ <s:enumeration value="MerchandiseNonTaxable" />
1055
+ <s:enumeration value="MerchandiseTaxable" />
1056
+ <s:enumeration value="SparklingWine" />
1057
+ <s:enumeration value="Spirits" />
1058
+ <s:enumeration value="Wine" />
1059
+ <s:enumeration value="WineCooler" />
1060
+ </s:restriction>
1061
+ </s:simpleType>
1062
+ </s:schema>
1063
+ </wsdl:types>
1064
+ <wsdl:message name="CheckComplianceOfSalesOrderWithAddressValidationSoapIn">
1065
+ <wsdl:part name="parameters" element="tns:CheckComplianceOfSalesOrderWithAddressValidation" />
1066
+ </wsdl:message>
1067
+ <wsdl:message name="CheckComplianceOfSalesOrderWithAddressValidationSoapOut">
1068
+ <wsdl:part name="parameters" element="tns:CheckComplianceOfSalesOrderWithAddressValidationResponse" />
1069
+ </wsdl:message>
1070
+ <wsdl:message name="CommitSalesOrderSoapIn">
1071
+ <wsdl:part name="parameters" element="tns:CommitSalesOrder" />
1072
+ </wsdl:message>
1073
+ <wsdl:message name="CommitSalesOrderSoapOut">
1074
+ <wsdl:part name="parameters" element="tns:CommitSalesOrderResponse" />
1075
+ </wsdl:message>
1076
+ <wsdl:message name="VoidSalesOrderSoapIn">
1077
+ <wsdl:part name="parameters" element="tns:VoidSalesOrder" />
1078
+ </wsdl:message>
1079
+ <wsdl:message name="VoidSalesOrderSoapOut">
1080
+ <wsdl:part name="parameters" element="tns:VoidSalesOrderResponse" />
1081
+ </wsdl:message>
1082
+ <wsdl:message name="SearchSalesOrdersSoapIn">
1083
+ <wsdl:part name="parameters" element="tns:SearchSalesOrders" />
1084
+ </wsdl:message>
1085
+ <wsdl:message name="SearchSalesOrdersSoapOut">
1086
+ <wsdl:part name="parameters" element="tns:SearchSalesOrdersResponse" />
1087
+ </wsdl:message>
1088
+ <wsdl:message name="SearchMoreSalesOrdersSoapIn">
1089
+ <wsdl:part name="parameters" element="tns:SearchMoreSalesOrders" />
1090
+ </wsdl:message>
1091
+ <wsdl:message name="SearchMoreSalesOrdersSoapOut">
1092
+ <wsdl:part name="parameters" element="tns:SearchMoreSalesOrdersResponse" />
1093
+ </wsdl:message>
1094
+ <wsdl:message name="GetSalesOrderExtendedSoapIn">
1095
+ <wsdl:part name="parameters" element="tns:GetSalesOrderExtended" />
1096
+ </wsdl:message>
1097
+ <wsdl:message name="GetSalesOrderExtendedSoapOut">
1098
+ <wsdl:part name="parameters" element="tns:GetSalesOrderExtendedResponse" />
1099
+ </wsdl:message>
1100
+ <wsdl:message name="AddUpdateBrandSoapIn">
1101
+ <wsdl:part name="parameters" element="tns:AddUpdateBrand" />
1102
+ </wsdl:message>
1103
+ <wsdl:message name="AddUpdateBrandSoapOut">
1104
+ <wsdl:part name="parameters" element="tns:AddUpdateBrandResponse" />
1105
+ </wsdl:message>
1106
+ <wsdl:message name="AddUpdateProductSoapIn">
1107
+ <wsdl:part name="parameters" element="tns:AddUpdateProduct" />
1108
+ </wsdl:message>
1109
+ <wsdl:message name="AddUpdateProductSoapOut">
1110
+ <wsdl:part name="parameters" element="tns:AddUpdateProductResponse" />
1111
+ </wsdl:message>
1112
+ <wsdl:message name="GetInventoryDetailsSoapIn">
1113
+ <wsdl:part name="parameters" element="tns:GetInventoryDetails" />
1114
+ </wsdl:message>
1115
+ <wsdl:message name="GetInventoryDetailsSoapOut">
1116
+ <wsdl:part name="parameters" element="tns:GetInventoryDetailsResponse" />
1117
+ </wsdl:message>
1118
+ <wsdl:portType name="CoreServiceSoap">
1119
+ <wsdl:operation name="CheckComplianceOfSalesOrderWithAddressValidation">
1120
+ <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Checks the compliance of the specified salesorder and includes address suggestions.</wsdl:documentation>
1121
+ <wsdl:input message="tns:CheckComplianceOfSalesOrderWithAddressValidationSoapIn" />
1122
+ <wsdl:output message="tns:CheckComplianceOfSalesOrderWithAddressValidationSoapOut" />
1123
+ </wsdl:operation>
1124
+ <wsdl:operation name="CommitSalesOrder">
1125
+ <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Commits the specified salesorder.</wsdl:documentation>
1126
+ <wsdl:input message="tns:CommitSalesOrderSoapIn" />
1127
+ <wsdl:output message="tns:CommitSalesOrderSoapOut" />
1128
+ </wsdl:operation>
1129
+ <wsdl:operation name="VoidSalesOrder">
1130
+ <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Voids each shipment in the specified salesorder.</wsdl:documentation>
1131
+ <wsdl:input message="tns:VoidSalesOrderSoapIn" />
1132
+ <wsdl:output message="tns:VoidSalesOrderSoapOut" />
1133
+ </wsdl:operation>
1134
+ <wsdl:operation name="SearchSalesOrders">
1135
+ <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Retrieves the first page of salesorder results based on the given search parameters.</wsdl:documentation>
1136
+ <wsdl:input message="tns:SearchSalesOrdersSoapIn" />
1137
+ <wsdl:output message="tns:SearchSalesOrdersSoapOut" />
1138
+ </wsdl:operation>
1139
+ <wsdl:operation name="SearchMoreSalesOrders">
1140
+ <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Retrieves the next page of salesorder results based on a previous search.</wsdl:documentation>
1141
+ <wsdl:input message="tns:SearchMoreSalesOrdersSoapIn" />
1142
+ <wsdl:output message="tns:SearchMoreSalesOrdersSoapOut" />
1143
+ </wsdl:operation>
1144
+ <wsdl:operation name="GetSalesOrderExtended">
1145
+ <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Retrieves the specified salesorder with extended third-party advertiser details (when available).</wsdl:documentation>
1146
+ <wsdl:input message="tns:GetSalesOrderExtendedSoapIn" />
1147
+ <wsdl:output message="tns:GetSalesOrderExtendedSoapOut" />
1148
+ </wsdl:operation>
1149
+ <wsdl:operation name="AddUpdateBrand">
1150
+ <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Adds the specified brand to the system; if the specified brand already exists, it is updated.</wsdl:documentation>
1151
+ <wsdl:input message="tns:AddUpdateBrandSoapIn" />
1152
+ <wsdl:output message="tns:AddUpdateBrandSoapOut" />
1153
+ </wsdl:operation>
1154
+ <wsdl:operation name="AddUpdateProduct">
1155
+ <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Adds the specified product to the system; if the specified product already exists, it is updated.</wsdl:documentation>
1156
+ <wsdl:input message="tns:AddUpdateProductSoapIn" />
1157
+ <wsdl:output message="tns:AddUpdateProductSoapOut" />
1158
+ </wsdl:operation>
1159
+ <wsdl:operation name="GetInventoryDetails">
1160
+ <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Retrieves inventory information.</wsdl:documentation>
1161
+ <wsdl:input message="tns:GetInventoryDetailsSoapIn" />
1162
+ <wsdl:output message="tns:GetInventoryDetailsSoapOut" />
1163
+ </wsdl:operation>
1164
+ </wsdl:portType>
1165
+ <wsdl:binding name="CoreServiceSoap" type="tns:CoreServiceSoap">
1166
+ <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
1167
+ <wsdl:operation name="CheckComplianceOfSalesOrderWithAddressValidation">
1168
+ <soap:operation soapAction="http://ws.shipcompliant.com/CheckComplianceOfSalesOrderWithAddressValidation" style="document" />
1169
+ <wsdl:input>
1170
+ <soap:body use="literal" />
1171
+ </wsdl:input>
1172
+ <wsdl:output>
1173
+ <soap:body use="literal" />
1174
+ </wsdl:output>
1175
+ </wsdl:operation>
1176
+ <wsdl:operation name="CommitSalesOrder">
1177
+ <soap:operation soapAction="http://ws.shipcompliant.com/CommitSalesOrder" style="document" />
1178
+ <wsdl:input>
1179
+ <soap:body use="literal" />
1180
+ </wsdl:input>
1181
+ <wsdl:output>
1182
+ <soap:body use="literal" />
1183
+ </wsdl:output>
1184
+ </wsdl:operation>
1185
+ <wsdl:operation name="VoidSalesOrder">
1186
+ <soap:operation soapAction="http://ws.shipcompliant.com/VoidSalesOrder" style="document" />
1187
+ <wsdl:input>
1188
+ <soap:body use="literal" />
1189
+ </wsdl:input>
1190
+ <wsdl:output>
1191
+ <soap:body use="literal" />
1192
+ </wsdl:output>
1193
+ </wsdl:operation>
1194
+ <wsdl:operation name="SearchSalesOrders">
1195
+ <soap:operation soapAction="http://ws.shipcompliant.com/SearchSalesOrders" style="document" />
1196
+ <wsdl:input>
1197
+ <soap:body use="literal" />
1198
+ </wsdl:input>
1199
+ <wsdl:output>
1200
+ <soap:body use="literal" />
1201
+ </wsdl:output>
1202
+ </wsdl:operation>
1203
+ <wsdl:operation name="SearchMoreSalesOrders">
1204
+ <soap:operation soapAction="http://ws.shipcompliant.com/SearchMoreSalesOrders" style="document" />
1205
+ <wsdl:input>
1206
+ <soap:body use="literal" />
1207
+ </wsdl:input>
1208
+ <wsdl:output>
1209
+ <soap:body use="literal" />
1210
+ </wsdl:output>
1211
+ </wsdl:operation>
1212
+ <wsdl:operation name="GetSalesOrderExtended">
1213
+ <soap:operation soapAction="http://ws.shipcompliant.com/GetSalesOrderExtended" style="document" />
1214
+ <wsdl:input>
1215
+ <soap:body use="literal" />
1216
+ </wsdl:input>
1217
+ <wsdl:output>
1218
+ <soap:body use="literal" />
1219
+ </wsdl:output>
1220
+ </wsdl:operation>
1221
+ <wsdl:operation name="AddUpdateBrand">
1222
+ <soap:operation soapAction="http://ws.shipcompliant.com/AddUpdateBrand" style="document" />
1223
+ <wsdl:input>
1224
+ <soap:body use="literal" />
1225
+ </wsdl:input>
1226
+ <wsdl:output>
1227
+ <soap:body use="literal" />
1228
+ </wsdl:output>
1229
+ </wsdl:operation>
1230
+ <wsdl:operation name="AddUpdateProduct">
1231
+ <soap:operation soapAction="http://ws.shipcompliant.com/AddUpdateProduct" style="document" />
1232
+ <wsdl:input>
1233
+ <soap:body use="literal" />
1234
+ </wsdl:input>
1235
+ <wsdl:output>
1236
+ <soap:body use="literal" />
1237
+ </wsdl:output>
1238
+ </wsdl:operation>
1239
+ <wsdl:operation name="GetInventoryDetails">
1240
+ <soap:operation soapAction="http://ws.shipcompliant.com/GetInventoryDetails" style="document" />
1241
+ <wsdl:input>
1242
+ <soap:body use="literal" />
1243
+ </wsdl:input>
1244
+ <wsdl:output>
1245
+ <soap:body use="literal" />
1246
+ </wsdl:output>
1247
+ </wsdl:operation>
1248
+ </wsdl:binding>
1249
+ <wsdl:binding name="CoreServiceSoap12" type="tns:CoreServiceSoap">
1250
+ <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
1251
+ <wsdl:operation name="CheckComplianceOfSalesOrderWithAddressValidation">
1252
+ <soap12:operation soapAction="http://ws.shipcompliant.com/CheckComplianceOfSalesOrderWithAddressValidation" style="document" />
1253
+ <wsdl:input>
1254
+ <soap12:body use="literal" />
1255
+ </wsdl:input>
1256
+ <wsdl:output>
1257
+ <soap12:body use="literal" />
1258
+ </wsdl:output>
1259
+ </wsdl:operation>
1260
+ <wsdl:operation name="CommitSalesOrder">
1261
+ <soap12:operation soapAction="http://ws.shipcompliant.com/CommitSalesOrder" style="document" />
1262
+ <wsdl:input>
1263
+ <soap12:body use="literal" />
1264
+ </wsdl:input>
1265
+ <wsdl:output>
1266
+ <soap12:body use="literal" />
1267
+ </wsdl:output>
1268
+ </wsdl:operation>
1269
+ <wsdl:operation name="VoidSalesOrder">
1270
+ <soap12:operation soapAction="http://ws.shipcompliant.com/VoidSalesOrder" style="document" />
1271
+ <wsdl:input>
1272
+ <soap12:body use="literal" />
1273
+ </wsdl:input>
1274
+ <wsdl:output>
1275
+ <soap12:body use="literal" />
1276
+ </wsdl:output>
1277
+ </wsdl:operation>
1278
+ <wsdl:operation name="SearchSalesOrders">
1279
+ <soap12:operation soapAction="http://ws.shipcompliant.com/SearchSalesOrders" style="document" />
1280
+ <wsdl:input>
1281
+ <soap12:body use="literal" />
1282
+ </wsdl:input>
1283
+ <wsdl:output>
1284
+ <soap12:body use="literal" />
1285
+ </wsdl:output>
1286
+ </wsdl:operation>
1287
+ <wsdl:operation name="SearchMoreSalesOrders">
1288
+ <soap12:operation soapAction="http://ws.shipcompliant.com/SearchMoreSalesOrders" style="document" />
1289
+ <wsdl:input>
1290
+ <soap12:body use="literal" />
1291
+ </wsdl:input>
1292
+ <wsdl:output>
1293
+ <soap12:body use="literal" />
1294
+ </wsdl:output>
1295
+ </wsdl:operation>
1296
+ <wsdl:operation name="GetSalesOrderExtended">
1297
+ <soap12:operation soapAction="http://ws.shipcompliant.com/GetSalesOrderExtended" style="document" />
1298
+ <wsdl:input>
1299
+ <soap12:body use="literal" />
1300
+ </wsdl:input>
1301
+ <wsdl:output>
1302
+ <soap12:body use="literal" />
1303
+ </wsdl:output>
1304
+ </wsdl:operation>
1305
+ <wsdl:operation name="AddUpdateBrand">
1306
+ <soap12:operation soapAction="http://ws.shipcompliant.com/AddUpdateBrand" style="document" />
1307
+ <wsdl:input>
1308
+ <soap12:body use="literal" />
1309
+ </wsdl:input>
1310
+ <wsdl:output>
1311
+ <soap12:body use="literal" />
1312
+ </wsdl:output>
1313
+ </wsdl:operation>
1314
+ <wsdl:operation name="AddUpdateProduct">
1315
+ <soap12:operation soapAction="http://ws.shipcompliant.com/AddUpdateProduct" style="document" />
1316
+ <wsdl:input>
1317
+ <soap12:body use="literal" />
1318
+ </wsdl:input>
1319
+ <wsdl:output>
1320
+ <soap12:body use="literal" />
1321
+ </wsdl:output>
1322
+ </wsdl:operation>
1323
+ <wsdl:operation name="GetInventoryDetails">
1324
+ <soap12:operation soapAction="http://ws.shipcompliant.com/GetInventoryDetails" style="document" />
1325
+ <wsdl:input>
1326
+ <soap12:body use="literal" />
1327
+ </wsdl:input>
1328
+ <wsdl:output>
1329
+ <soap12:body use="literal" />
1330
+ </wsdl:output>
1331
+ </wsdl:operation>
1332
+ </wsdl:binding>
1333
+ <wsdl:service name="CoreService">
1334
+ <wsdl:port name="CoreServiceSoap" binding="tns:CoreServiceSoap">
1335
+ <soap:address location="https://ws-dev.shipcompliant.com/services/1.2/coreservice.asmx" />
1336
+ </wsdl:port>
1337
+ <wsdl:port name="CoreServiceSoap12" binding="tns:CoreServiceSoap12">
1338
+ <soap12:address location="https://ws-dev.shipcompliant.com/services/1.2/coreservice.asmx" />
1339
+ </wsdl:port>
1340
+ </wsdl:service>
1341
+ </wsdl:definitions>