ship_compliant 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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>