easybill 0.2.17

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 (51) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +24 -0
  3. data/.rspec +2 -0
  4. data/.ruby-version +1 -0
  5. data/Gemfile +3 -0
  6. data/LICENSE.txt +22 -0
  7. data/README.md +74 -0
  8. data/easybill.gemspec +28 -0
  9. data/lib/easybill.rb +52 -0
  10. data/lib/easybill/client.rb +116 -0
  11. data/lib/easybill/configuration.rb +43 -0
  12. data/lib/easybill/customer.rb +4 -0
  13. data/lib/easybill/document.rb +34 -0
  14. data/lib/easybill/error.rb +3 -0
  15. data/lib/easybill/payment.rb +4 -0
  16. data/lib/easybill/railtie.rb +12 -0
  17. data/lib/easybill/version.rb +3 -0
  18. data/lib/sekken_patches/importer.rb +8 -0
  19. data/spec/easybill/client_spec.rb +189 -0
  20. data/spec/easybill/configuration_spec.rb +30 -0
  21. data/spec/easybill/document_spec.rb +41 -0
  22. data/spec/easybill_spec.rb +14 -0
  23. data/spec/fixtures/fixtures.yml +98 -0
  24. data/spec/fixtures/vcr_cassettes/add_document_payment_-_adds_a_payment_.yml +1677 -0
  25. data/spec/fixtures/vcr_cassettes/create_document_-_raises_Easybill_Error_if_unsuccessful_.yml +1669 -0
  26. data/spec/fixtures/vcr_cassettes/create_document_-_returns_an_Easybill_Document_on_success_.yml +1677 -0
  27. data/spec/fixtures/vcr_cassettes/create_dunning_-_creates_a_warning_.yml +1742 -0
  28. data/spec/fixtures/vcr_cassettes/find_documents_by_document_number_-_finds_documents_.yml +1671 -0
  29. data/spec/fixtures/vcr_cassettes/get_customer_-_raises_Easybill_Error_if_unsuccessful_.yml +1678 -0
  30. data/spec/fixtures/vcr_cassettes/get_customer_-_returns_an_Easybill_Customer_on_success_.yml +1727 -0
  31. data/spec/fixtures/vcr_cassettes/get_customer_by_customer_number_-_raises_Easybill_Error_if_unsuccessful_.yml +1678 -0
  32. data/spec/fixtures/vcr_cassettes/get_customer_by_customer_number_-_returns_an_Easybill_Customer_on_success_.yml +1671 -0
  33. data/spec/fixtures/vcr_cassettes/get_document_payments_-_returns_an_array_of_Easybill_Payment_on_success_.yml +1727 -0
  34. data/spec/fixtures/vcr_cassettes/get_document_pdf_-_returns_a_document_PDF_.yml +1727 -0
  35. data/spec/fixtures/vcr_cassettes/get_document_sent_-_receives_sent_date_.yml +1727 -0
  36. data/spec/fixtures/vcr_cassettes/get_documents_-_returns_an_Easybill_Document_array_on_success_.yml +1729 -0
  37. data/spec/fixtures/vcr_cassettes/get_documents_-_returns_an_empty_array_if_there_are_no_documents_.yml +1675 -0
  38. data/spec/fixtures/vcr_cassettes/local_copy_5c31767ec9fc284da7e4858f3580fb50.yml +1177 -0
  39. data/spec/fixtures/vcr_cassettes/search_customers_-_returns_an_array_of_matching_Easybill_Customers_.yml +2754 -0
  40. data/spec/fixtures/vcr_cassettes/search_customers_-_returns_an_empty_array_when_no_customers_are_found_.yml +1671 -0
  41. data/spec/fixtures/vcr_cassettes/set_customer_-_raises_Easybill_Error_if_unsuccessful_.yml +1700 -0
  42. data/spec/fixtures/vcr_cassettes/set_customer_-_returns_an_Easybill_Customer_on_success_.yml +1687 -0
  43. data/spec/spec_helper.rb +54 -0
  44. data/spec/support/fixture.rb +16 -0
  45. data/spec/support/matchers.rb +6 -0
  46. data/spec/support/method_interceptor.rb +56 -0
  47. data/wsdl/soap.companyposition.xsd +235 -0
  48. data/wsdl/soap.customer.xsd +773 -0
  49. data/wsdl/soap.document.xsd +799 -0
  50. data/wsdl/soap.easybill.wsdl +1087 -0
  51. metadata +219 -0
@@ -0,0 +1,54 @@
1
+ require 'easybill'
2
+ require 'webmock'
3
+ require 'vcr'
4
+
5
+ Dir['./spec/support/**/*'].each { |f| require f }
6
+
7
+ # This file was generated by the `rspec --init` command. Conventionally, all
8
+ # specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
9
+ # Require this file using `require "spec_helper"` to ensure that it is only
10
+ # loaded once.
11
+ #
12
+ # See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
13
+ RSpec.configure do |config|
14
+ config.include MethodInterceptor
15
+
16
+ config.run_all_when_everything_filtered = true
17
+ config.filter_run :focus
18
+
19
+ # Run specs in random order to surface order dependencies. If you find an
20
+ # order dependency and want to debug it, you can fix the order by providing
21
+ # the seed, which is printed after each run.
22
+ # --seed 1234
23
+ config.order = 'random'
24
+
25
+ config.expect_with :rspec do |c|
26
+ # Disable the `should` syntax
27
+ c.syntax = :expect
28
+ end
29
+
30
+ config.before(:suite) do
31
+ LocalCopy.flush
32
+ end
33
+
34
+ config.before(:example) do
35
+ # Prevent WSDLs from being recorded over and over again; don't depend on
36
+ # a defined state of local copies.
37
+ intercept(LocalCopy, :fetch) do |method, url|
38
+ VCR.use_cassette("local_copy_#{Digest::MD5.hexdigest(url)}", exclusive: true) do
39
+ method.call(url)
40
+ end
41
+ end
42
+ end
43
+ end
44
+
45
+ # the if clause will give you the oportunity to set your own "real" easybill
46
+ # api_key in case you want to update vcr cassettes.
47
+ ENV['EASYBILL_API_KEY'] = 'easybill-api-key' if ENV['EASYBILL_API_KEY'].nil?
48
+
49
+ VCR.configure do |c|
50
+ c.cassette_library_dir = 'spec/fixtures/vcr_cassettes'
51
+ c.hook_into :webmock
52
+ c.filter_sensitive_data('easybill-api-key') { Easybill.configuration.api_key }
53
+ c.default_cassette_options = { match_requests_on: [:method, :uri, :body] }
54
+ end
@@ -0,0 +1,16 @@
1
+ require 'yaml'
2
+
3
+ module Easybill
4
+ module Fixture
5
+ [:customer, :position, :document].each do |name|
6
+ define_method name do |*args|
7
+ key, _ = args
8
+ key.nil? ? data[name] : data[name][key.to_sym]
9
+ end
10
+ end
11
+
12
+ def data
13
+ YAML.load_file('spec/fixtures/fixtures.yml')
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,6 @@
1
+ RSpec::Matchers.define :have_overridable_attribute do |attribute_name, valid_value = 'a value'|
2
+ match do |actual|
3
+ actual.send("#{attribute_name}=", valid_value)
4
+ actual.send(attribute_name) == valid_value
5
+ end
6
+ end
@@ -0,0 +1,56 @@
1
+ module MethodInterceptor
2
+ # Public: Intercept a class method call
3
+ #
4
+ # Stubs the class method `method_name` of `klass` and passes a method object
5
+ # and the arguments into the block for the user to temper with. The user has
6
+ # to call the method object with the arguments themselves.
7
+ #
8
+ # Examples
9
+ #
10
+ # intercept(Foo, :bar) do |method, *args|
11
+ #
12
+ # # You could temper with the arguments here
13
+ #
14
+ # # Don't forget to call the original method.
15
+ # result = method.call(*args)
16
+ #
17
+ # # You could temper with the result here
18
+ #
19
+ # result
20
+ # end
21
+ #
22
+ def intercept(klass, method_name, &block)
23
+ singleton = klass.singleton_class
24
+ singleton.send(:alias_method, :"#{method_name}_original", method_name)
25
+ allow(klass).to receive(method_name) do |*args|
26
+ block.call(klass.method(:"#{method_name}_original"), *args)
27
+ end
28
+ end
29
+
30
+ # Public: Intercept an instance method call
31
+ #
32
+ # Stubs the instance method `method_name` of `klass` and passes a method object
33
+ # and the arguments into the block for the user to temper with. The user has
34
+ # to call the method object with the arguments themselves.
35
+ #
36
+ # Examples
37
+ #
38
+ # intercept_any_instance_of(Foo, :bar) do |method, *args|
39
+ #
40
+ # # You could temper with the arguments here
41
+ #
42
+ # # Don't forget to call the original method.
43
+ # result = method.call(*args)
44
+ #
45
+ # # You could temper with the result here
46
+ #
47
+ # result
48
+ # end
49
+ #
50
+ def intercept_any_instance_of(klass, method_name, &block)
51
+ klass.send(:alias_method, :"#{method_name}_original", method_name)
52
+ allow_any_instance_of(klass).to receive(method_name) do |instance, *args|
53
+ block.call(instance.method(:"#{method_name}_original"), *args)
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,235 @@
1
+ <?xml version='1.0' encoding='UTF-8'?>
2
+
3
+ <xsd:schema xmlns:companyposition="http://www.easybill.de/webservice/companyposition/"
4
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
5
+ targetNamespace="http://www.easybill.de/webservice/companyposition/"
6
+ version="1.0">
7
+
8
+ <!-- Faults -->
9
+ <xsd:element name="CompanyPositionNotFoundFault" type="companyposition:CompanyPositionNotFoundFaultType" />
10
+ <xsd:complexType name="CompanyPositionNotFoundFaultType">
11
+ <xsd:sequence>
12
+ <xsd:element name="positionID" type="xsd:unsignedLong" />
13
+ </xsd:sequence>
14
+ </xsd:complexType>
15
+
16
+ <xsd:element name="CompanyPositionGroupNotFoundFault" type="companyposition:CompanyPositionGroupNotFoundFaultType" />
17
+ <xsd:complexType name="CompanyPositionGroupNotFoundFaultType">
18
+ <xsd:sequence>
19
+ <xsd:element name="groupID" type="xsd:unsignedLong" />
20
+ </xsd:sequence>
21
+ </xsd:complexType>
22
+
23
+ <!-- DATA -->
24
+ <xsd:complexType name="companypositiontype">
25
+
26
+ <xsd:sequence>
27
+ <xsd:element name="positionID" type="xsd:unsignedLong" minOccurs="0" maxOccurs="1" >
28
+ <xsd:annotation>
29
+ <xsd:documentation></xsd:documentation>
30
+ </xsd:annotation>
31
+ </xsd:element>
32
+
33
+ <xsd:element name="groupID" type="xsd:unsignedLong" minOccurs="0" maxOccurs="1" >
34
+ <xsd:annotation>
35
+ <xsd:documentation>GruppenID</xsd:documentation>
36
+ </xsd:annotation>
37
+ </xsd:element>
38
+
39
+ <xsd:element name="positionType" minOccurs="1" maxOccurs="1">
40
+ <xsd:simpleType>
41
+ <xsd:restriction base="xsd:string">
42
+ <xsd:enumeration value="SERVICE" />
43
+ <xsd:enumeration value="PRODUCT"/>
44
+ </xsd:restriction>
45
+ </xsd:simpleType>
46
+ </xsd:element>
47
+ <xsd:element name="itemNumber" minOccurs="1" maxOccurs="1">
48
+ <xsd:simpleType>
49
+ <xsd:restriction base="xsd:string">
50
+ <xsd:minLength value="1" />
51
+ <xsd:maxLength value="100" />
52
+ </xsd:restriction>
53
+ </xsd:simpleType>
54
+ </xsd:element>
55
+ <xsd:element name="itemDescription" minOccurs="1" maxOccurs="1">
56
+ <xsd:simpleType>
57
+ <xsd:restriction base="xsd:string">
58
+ <xsd:minLength value="1" />
59
+ <xsd:maxLength value="1000" />
60
+ </xsd:restriction>
61
+ </xsd:simpleType>
62
+ </xsd:element>
63
+ <xsd:element name="itemNote" minOccurs="0" maxOccurs="1" nillable="true">
64
+ <xsd:simpleType>
65
+ <xsd:restriction base="xsd:string">
66
+ <xsd:maxLength value="2000" />
67
+ </xsd:restriction>
68
+ </xsd:simpleType>
69
+ </xsd:element>
70
+ <xsd:element name="unit" minOccurs="1" maxOccurs="1">
71
+ <xsd:simpleType>
72
+ <xsd:restriction base="xsd:string">
73
+ <xsd:minLength value="1" />
74
+ <xsd:maxLength value="10" />
75
+ </xsd:restriction>
76
+ </xsd:simpleType>
77
+ </xsd:element>
78
+ <xsd:element name="ustPercent" minOccurs="1" maxOccurs="1">
79
+ <xsd:annotation>
80
+ <xsd:documentation>Umsatzsteuer</xsd:documentation>
81
+ </xsd:annotation>
82
+ <xsd:simpleType>
83
+ <xsd:restriction base="xsd:string">
84
+ <xsd:minLength value="1" />
85
+ <xsd:maxLength value="5" />
86
+ </xsd:restriction>
87
+ </xsd:simpleType>
88
+ </xsd:element>
89
+ <xsd:element name="costPrice" minOccurs="0" maxOccurs="1" nillable="true" type="xsd:float">
90
+ <xsd:annotation>
91
+ <xsd:documentation>Einkaufspreis (cent)</xsd:documentation>
92
+ </xsd:annotation>
93
+ </xsd:element>
94
+ <xsd:element name="salePrice" minOccurs="1" maxOccurs="1" type="xsd:float">
95
+ <xsd:annotation>
96
+ <xsd:documentation>Verkaufspreis (cent)</xsd:documentation>
97
+ </xsd:annotation>
98
+ </xsd:element>
99
+ <xsd:element name="salePrice2" minOccurs="0" maxOccurs="1" nillable="true" type="xsd:float">
100
+ <xsd:annotation>
101
+ <xsd:documentation>Verkaufspreis Preisgruppe 2 (cent)</xsd:documentation>
102
+ </xsd:annotation>
103
+ </xsd:element>
104
+ <xsd:element name="salePrice3" minOccurs="0" maxOccurs="1" nillable="true" type="xsd:float">
105
+ <xsd:annotation>
106
+ <xsd:documentation>Verkaufspreis Preisgruppe 3 (cent)</xsd:documentation>
107
+ </xsd:annotation>
108
+ </xsd:element>
109
+ <xsd:element name="salePrice4" minOccurs="0" maxOccurs="1" nillable="true" type="xsd:float">
110
+ <xsd:annotation>
111
+ <xsd:documentation>Verkaufspreis Preisgruppe 4 (cent)</xsd:documentation>
112
+ </xsd:annotation>
113
+ </xsd:element>
114
+ <xsd:element name="salePrice5" minOccurs="0" maxOccurs="1" nillable="true" type="xsd:float">
115
+ <xsd:annotation>
116
+ <xsd:documentation>Verkaufspreis Preisgruppe 5 (cent)</xsd:documentation>
117
+ </xsd:annotation>
118
+ </xsd:element>
119
+ <xsd:element name="salePrice6" minOccurs="0" maxOccurs="1" nillable="true" type="xsd:float">
120
+ <xsd:annotation>
121
+ <xsd:documentation>Verkaufspreis Preisgruppe 6 (cent)</xsd:documentation>
122
+ </xsd:annotation>
123
+ </xsd:element>
124
+ <xsd:element name="salePrice7" minOccurs="0" maxOccurs="1" nillable="true" type="xsd:float">
125
+ <xsd:annotation>
126
+ <xsd:documentation>Verkaufspreis Preisgruppe 7 (cent)</xsd:documentation>
127
+ </xsd:annotation>
128
+ </xsd:element>
129
+ <xsd:element name="salePrice8" minOccurs="0" maxOccurs="1" nillable="true" type="xsd:float">
130
+ <xsd:annotation>
131
+ <xsd:documentation>Verkaufspreis Preisgruppe 8 (cent)</xsd:documentation>
132
+ </xsd:annotation>
133
+ </xsd:element>
134
+ <xsd:element name="salePrice9" minOccurs="0" maxOccurs="1" nillable="true" type="xsd:float">
135
+ <xsd:annotation>
136
+ <xsd:documentation>Verkaufspreis Preisgruppe 9 (cent)</xsd:documentation>
137
+ </xsd:annotation>
138
+ </xsd:element>
139
+ <xsd:element name="salePrice10" minOccurs="0" maxOccurs="1" nillable="true" type="xsd:float">
140
+ <xsd:annotation>
141
+ <xsd:documentation>Verkaufspreis Preisgruppe 10 (cent)</xsd:documentation>
142
+ </xsd:annotation>
143
+ </xsd:element>
144
+ <xsd:element name="stock" minOccurs="1" maxOccurs="1">
145
+ <xsd:simpleType>
146
+ <xsd:restriction base="xsd:string">
147
+ <xsd:enumeration value="NO" />
148
+ <xsd:enumeration value="YES"/>
149
+ </xsd:restriction>
150
+ </xsd:simpleType>
151
+ </xsd:element>
152
+ <xsd:element name="stockCount" minOccurs="0" maxOccurs="1" nillable="true" type="xsd:integer">
153
+ <xsd:annotation>
154
+ <xsd:documentation>Lagerbestand</xsd:documentation>
155
+ </xsd:annotation>
156
+ </xsd:element>
157
+ <xsd:element name="importID" minOccurs="0" maxOccurs="1" nillable="true" type="xsd:unsignedLong">
158
+ <xsd:annotation>
159
+ <xsd:documentation>import id</xsd:documentation>
160
+ </xsd:annotation>
161
+ </xsd:element>
162
+ <xsd:element name="exportID" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true">
163
+ <xsd:annotation>
164
+ <xsd:documentation>FiBu Konto</xsd:documentation>
165
+ </xsd:annotation>
166
+ </xsd:element>
167
+ </xsd:sequence>
168
+ </xsd:complexType>
169
+
170
+ <xsd:element name="GetCompanyPositionRequest" type="xsd:unsignedLong" />
171
+ <xsd:element name="GetCompanyPositionResponse" type="companyposition:companypositiontype" />
172
+
173
+ <xsd:element name="SetCompanyPositionRequest" type="companyposition:companypositiontype" />
174
+ <xsd:element name="SetCompanyPositionResponse" type="companyposition:companypositiontype" />
175
+
176
+ <xsd:element name="SearchCompanyPositionsRequest" type="xsd:string" />
177
+ <xsd:element name="SearchCompanyPositionsResponse" type="companyposition:SearchCompanyPositionsType" />
178
+ <xsd:complexType name="SearchCompanyPositionsType">
179
+ <xsd:sequence>
180
+ <xsd:element name="SearchPosition" type="companyposition:companypositiontype" maxOccurs="unbounded" />
181
+ </xsd:sequence>
182
+ </xsd:complexType>
183
+
184
+
185
+ <xsd:complexType name="companypositiongrouptype">
186
+ <xsd:sequence>
187
+ <xsd:element name="groupID" type="xsd:unsignedLong" minOccurs="0" maxOccurs="1" >
188
+ <xsd:annotation>
189
+ <xsd:documentation>Not defined means, create a new group</xsd:documentation>
190
+ </xsd:annotation>
191
+ </xsd:element>
192
+ <xsd:element name="number" minOccurs="1" maxOccurs="1">
193
+ <xsd:simpleType>
194
+ <xsd:restriction base="xsd:string">
195
+ <xsd:minLength value="1" />
196
+ <xsd:maxLength value="250" />
197
+ </xsd:restriction>
198
+ </xsd:simpleType>
199
+ </xsd:element>
200
+ <xsd:element name="name" minOccurs="1" maxOccurs="1">
201
+ <xsd:simpleType>
202
+ <xsd:restriction base="xsd:string">
203
+ <xsd:minLength value="1" />
204
+ <xsd:maxLength value="250" />
205
+ </xsd:restriction>
206
+ </xsd:simpleType>
207
+ </xsd:element>
208
+ <xsd:element name="description" minOccurs="0" maxOccurs="1">
209
+ <xsd:simpleType>
210
+ <xsd:restriction base="xsd:string">
211
+ <xsd:minLength value="1" />
212
+ <xsd:maxLength value="2000" />
213
+ </xsd:restriction>
214
+ </xsd:simpleType>
215
+ </xsd:element>
216
+ </xsd:sequence>
217
+ </xsd:complexType>
218
+
219
+ <xsd:element name="GetCompanyPositionGroupRequest" type="xsd:unsignedLong" />
220
+ <xsd:element name="GetCompanyPositionGroupResponse" type="companyposition:companypositiongrouptype" />
221
+
222
+ <xsd:element name="SetCompanyPositionGroupRequest" type="companyposition:companypositiongrouptype" />
223
+ <xsd:element name="SetCompanyPositionGroupResponse" type="companyposition:companypositiongrouptype" />
224
+
225
+ <xsd:element name="AllCompanyPositionGroupsRequestPHPBugfix">
226
+ <xsd:complexType/>
227
+ </xsd:element>
228
+
229
+ <xsd:element name="AllCompanyPositionGroupsResponse" type="companyposition:AllCompanyPositionGroupsResponseType" />
230
+ <xsd:complexType name="AllCompanyPositionGroupsResponseType">
231
+ <xsd:sequence>
232
+ <xsd:element name="CompanyPositionGroup" type="companyposition:companypositiongrouptype" minOccurs="0" maxOccurs="unbounded" />
233
+ </xsd:sequence>
234
+ </xsd:complexType>
235
+ </xsd:schema>
@@ -0,0 +1,773 @@
1
+ <?xml version='1.0' encoding='UTF-8'?>
2
+
3
+ <xsd:schema xmlns:customer="http://www.easybill.de/webservice/customer/"
4
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
5
+ xmlns:commons="http://www.easybill.de/webservice/commons/"
6
+ targetNamespace="http://www.easybill.de/webservice/customer/"
7
+ version="1.0">
8
+
9
+ <xsd:import namespace="http://www.easybill.de/webservice/commons/"
10
+ schemaLocation="soap.commons.xsd" />
11
+
12
+ <!-- Faults -->
13
+ <xsd:element name="CustomerNotFoundFault" type="customer:CustomerNotFoundFaultType" />
14
+ <xsd:complexType name="CustomerNotFoundFaultType">
15
+ <xsd:sequence>
16
+ <xsd:element name="customerID" type="xsd:unsignedLong" />
17
+ </xsd:sequence>
18
+ </xsd:complexType>
19
+
20
+ <xsd:element name="CustomerGroupNotFoundFault" type="customer:CustomerGroupNotFoundFaultType" />
21
+ <xsd:complexType name="CustomerGroupNotFoundFaultType">
22
+ <xsd:sequence>
23
+ <xsd:element name="groupID" type="xsd:unsignedLong" />
24
+ </xsd:sequence>
25
+ </xsd:complexType>
26
+
27
+ <!-- DATA -->
28
+ <xsd:simpleType name="salutationtype">
29
+ <xsd:restriction base="xsd:integer">
30
+ <xsd:enumeration value="0">
31
+ <xsd:annotation>
32
+ <xsd:documentation>(Unknown)</xsd:documentation>
33
+ </xsd:annotation>
34
+ </xsd:enumeration>
35
+ <xsd:enumeration value="1">
36
+ <xsd:annotation>
37
+ <xsd:documentation>Mr.</xsd:documentation>
38
+ </xsd:annotation>
39
+ </xsd:enumeration>
40
+ <xsd:enumeration value="2">
41
+ <xsd:annotation>
42
+ <xsd:documentation>Mrs.</xsd:documentation>
43
+ </xsd:annotation>
44
+ </xsd:enumeration>
45
+ <xsd:enumeration value="3">
46
+ <xsd:annotation>
47
+ <xsd:documentation>Company</xsd:documentation>
48
+ </xsd:annotation>
49
+ </xsd:enumeration>
50
+ <xsd:enumeration value="4">
51
+ <xsd:annotation>
52
+ <xsd:documentation>Mr. and Mrs.</xsd:documentation>
53
+ </xsd:annotation>
54
+ </xsd:enumeration>
55
+ <xsd:enumeration value="5">
56
+ <xsd:annotation>
57
+ <xsd:documentation>Married couple</xsd:documentation>
58
+ </xsd:annotation>
59
+ </xsd:enumeration>
60
+ <xsd:enumeration value="6">
61
+ <xsd:annotation>
62
+ <xsd:documentation>Family</xsd:documentation>
63
+ </xsd:annotation>
64
+ </xsd:enumeration>
65
+ </xsd:restriction>
66
+ </xsd:simpleType>
67
+
68
+ <xsd:complexType name="customertype">
69
+ <xsd:sequence>
70
+ <xsd:element name="customerID" type="xsd:unsignedLong" minOccurs="0" maxOccurs="1">
71
+ <xsd:annotation>
72
+ <xsd:documentation>Falls nicht angegeben, wird ein neuer Eintrag erzeugt</xsd:documentation>
73
+ </xsd:annotation>
74
+ </xsd:element>
75
+ <xsd:element name="groupID" type="xsd:unsignedLong" minOccurs="0" maxOccurs="1">
76
+ <xsd:annotation>
77
+ <xsd:documentation>Verknüpfung zu einer Kundengruppe (customergroup->id)</xsd:documentation>
78
+ </xsd:annotation>
79
+ </xsd:element>
80
+ <xsd:element name="customerNumber" minOccurs="0" maxOccurs="1">
81
+ <xsd:annotation>
82
+ <xsd:documentation>Ihre Kundennummer, falls eindeutig kann danach gesucht werden.
83
+ Wenn nicht angegeben, wird sie vom System automatisch erzeugt.</xsd:documentation>
84
+ </xsd:annotation>
85
+ <xsd:simpleType>
86
+ <xsd:restriction base="xsd:string">
87
+ <xsd:maxLength value="20" />
88
+ <xsd:minLength value="1" />
89
+ </xsd:restriction>
90
+ </xsd:simpleType>
91
+ </xsd:element>
92
+ <xsd:element name="salutation" type="customer:salutationtype" minOccurs="1" maxOccurs="1" />
93
+ <xsd:element name="personal" minOccurs="0" maxOccurs="1">
94
+ <xsd:annotation>
95
+ <xsd:documentation>Persönlich Vertraulich</xsd:documentation>
96
+ </xsd:annotation>
97
+ <xsd:simpleType>
98
+ <xsd:restriction base="xsd:integer">
99
+ <xsd:enumeration value="0">
100
+ <xsd:annotation>
101
+ <xsd:documentation>False</xsd:documentation>
102
+ </xsd:annotation>
103
+ </xsd:enumeration>
104
+ <xsd:enumeration value="1">
105
+ <xsd:annotation>
106
+ <xsd:documentation>True</xsd:documentation>
107
+ </xsd:annotation>
108
+ </xsd:enumeration>
109
+ </xsd:restriction>
110
+ </xsd:simpleType>
111
+ </xsd:element>
112
+ <xsd:element name="title" minOccurs="0" maxOccurs="1">
113
+ <xsd:annotation>
114
+ <xsd:documentation>Titel</xsd:documentation>
115
+ </xsd:annotation>
116
+ <xsd:simpleType>
117
+ <xsd:restriction base="xsd:string">
118
+ <xsd:maxLength value="15" />
119
+ <xsd:minLength value="1" />
120
+ </xsd:restriction>
121
+ </xsd:simpleType>
122
+ </xsd:element>
123
+ <xsd:element name="firstName" minOccurs="1" maxOccurs="1">
124
+ <xsd:annotation>
125
+ <xsd:documentation>Vorname</xsd:documentation>
126
+ </xsd:annotation>
127
+ <xsd:simpleType>
128
+ <xsd:restriction base="xsd:string">
129
+ <xsd:maxLength value="30" />
130
+ <xsd:minLength value="1" />
131
+ </xsd:restriction>
132
+ </xsd:simpleType>
133
+ </xsd:element>
134
+ <xsd:element name="lastName" minOccurs="1" maxOccurs="1">
135
+ <xsd:annotation>
136
+ <xsd:documentation>Nachname</xsd:documentation>
137
+ </xsd:annotation>
138
+ <xsd:simpleType>
139
+ <xsd:restriction base="xsd:string">
140
+ <xsd:maxLength value="30" />
141
+ <xsd:minLength value="1" />
142
+ </xsd:restriction>
143
+ </xsd:simpleType>
144
+ </xsd:element>
145
+ <xsd:element name="suffix_1" minOccurs="0" maxOccurs="1">
146
+ <xsd:annotation>
147
+ <xsd:documentation>Anschriftserweiterung</xsd:documentation>
148
+ </xsd:annotation>
149
+ <xsd:simpleType>
150
+ <xsd:restriction base="xsd:string">
151
+ <xsd:maxLength value="40" />
152
+ <xsd:minLength value="1" />
153
+ </xsd:restriction>
154
+ </xsd:simpleType>
155
+ </xsd:element>
156
+ <xsd:element name="suffix_2" minOccurs="0" maxOccurs="1">
157
+ <xsd:annotation>
158
+ <xsd:documentation>Anschriftserweiterung</xsd:documentation>
159
+ </xsd:annotation>
160
+ <xsd:simpleType>
161
+ <xsd:restriction base="xsd:string">
162
+ <xsd:maxLength value="40" />
163
+ <xsd:minLength value="1" />
164
+ </xsd:restriction>
165
+ </xsd:simpleType>
166
+ </xsd:element>
167
+ <xsd:element name="companyName" minOccurs="0" maxOccurs="1">
168
+ <xsd:annotation>
169
+ <xsd:documentation>Firmenname</xsd:documentation>
170
+ </xsd:annotation>
171
+ <xsd:simpleType>
172
+ <xsd:restriction base="xsd:string">
173
+ <xsd:maxLength value="50" />
174
+ <xsd:minLength value="1" />
175
+ </xsd:restriction>
176
+ </xsd:simpleType>
177
+ </xsd:element>
178
+ <xsd:element name="street" minOccurs="1" maxOccurs="1">
179
+ <xsd:annotation>
180
+ <xsd:documentation>Straße</xsd:documentation>
181
+ </xsd:annotation>
182
+ <xsd:simpleType>
183
+ <xsd:restriction base="xsd:string">
184
+ <xsd:maxLength value="40" />
185
+ <xsd:minLength value="1" />
186
+ </xsd:restriction>
187
+ </xsd:simpleType>
188
+ </xsd:element>
189
+ <xsd:element name="zipCode" minOccurs="1" maxOccurs="1">
190
+ <xsd:annotation>
191
+ <xsd:documentation>Postleitzahl</xsd:documentation>
192
+ </xsd:annotation>
193
+ <xsd:simpleType>
194
+ <xsd:restriction base="xsd:string">
195
+ <xsd:maxLength value="20" />
196
+ <xsd:minLength value="1" />
197
+ </xsd:restriction>
198
+ </xsd:simpleType>
199
+ </xsd:element>
200
+ <xsd:element name="city" minOccurs="1" maxOccurs="1">
201
+ <xsd:annotation>
202
+ <xsd:documentation>Ort</xsd:documentation>
203
+ </xsd:annotation>
204
+ <xsd:simpleType>
205
+ <xsd:restriction base="xsd:string">
206
+ <xsd:maxLength value="50" />
207
+ <xsd:minLength value="1" />
208
+ </xsd:restriction>
209
+ </xsd:simpleType>
210
+ </xsd:element>
211
+ <xsd:element name="country" minOccurs="1" maxOccurs="1">
212
+ <xsd:annotation>
213
+ <xsd:documentation>Land; International country code defined by ISO 3166</xsd:documentation>
214
+ </xsd:annotation>
215
+ <xsd:simpleType>
216
+ <xsd:restriction base="xsd:string">
217
+ <xsd:maxLength value="2" />
218
+ <xsd:minLength value="2" />
219
+ </xsd:restriction>
220
+ </xsd:simpleType>
221
+ </xsd:element>
222
+ <xsd:element name="postbox" minOccurs="0" maxOccurs="1">
223
+ <xsd:annotation>
224
+ <xsd:documentation>Schließfach</xsd:documentation>
225
+ </xsd:annotation>
226
+ <xsd:simpleType>
227
+ <xsd:restriction base="xsd:string">
228
+ <xsd:maxLength value="30" />
229
+ <xsd:minLength value="1" />
230
+ </xsd:restriction>
231
+ </xsd:simpleType>
232
+ </xsd:element>
233
+ <xsd:element name="postboxZipCode" minOccurs="0" maxOccurs="1">
234
+ <xsd:annotation>
235
+ <xsd:documentation>Schließfach Postleitzahl</xsd:documentation>
236
+ </xsd:annotation>
237
+ <xsd:simpleType>
238
+ <xsd:restriction base="xsd:string">
239
+ <xsd:maxLength value="20" />
240
+ <xsd:minLength value="1" />
241
+ </xsd:restriction>
242
+ </xsd:simpleType>
243
+ </xsd:element>
244
+ <xsd:element name="postboxCity" minOccurs="0" maxOccurs="1">
245
+ <xsd:annotation>
246
+ <xsd:documentation>Schließfach Ort</xsd:documentation>
247
+ </xsd:annotation>
248
+ <xsd:simpleType>
249
+ <xsd:restriction base="xsd:string">
250
+ <xsd:maxLength value="50" />
251
+ <xsd:minLength value="1" />
252
+ </xsd:restriction>
253
+ </xsd:simpleType>
254
+ </xsd:element>
255
+ <xsd:element name="postboxCountry" minOccurs="0" maxOccurs="1">
256
+ <xsd:annotation>
257
+ <xsd:documentation>Schließfach Land; International country code defined by ISO 3166</xsd:documentation>
258
+ </xsd:annotation>
259
+ <xsd:simpleType>
260
+ <xsd:restriction base="xsd:string">
261
+ <xsd:maxLength value="2" />
262
+ <xsd:minLength value="1" />
263
+ </xsd:restriction>
264
+ </xsd:simpleType>
265
+ </xsd:element>
266
+ <xsd:element name="phone_1" minOccurs="0" maxOccurs="1">
267
+ <xsd:simpleType>
268
+ <xsd:restriction base="xsd:string">
269
+ <xsd:maxLength value="30" />
270
+ <xsd:minLength value="1" />
271
+ </xsd:restriction>
272
+ </xsd:simpleType>
273
+ </xsd:element>
274
+ <xsd:element name="phone_2" minOccurs="0" maxOccurs="1">
275
+ <xsd:simpleType>
276
+ <xsd:restriction base="xsd:string">
277
+ <xsd:maxLength value="30" />
278
+ <xsd:minLength value="1" />
279
+ </xsd:restriction>
280
+ </xsd:simpleType>
281
+ </xsd:element>
282
+ <xsd:element name="fax" minOccurs="0" maxOccurs="1">
283
+ <xsd:simpleType>
284
+ <xsd:restriction base="xsd:string">
285
+ <xsd:maxLength value="30" />
286
+ <xsd:minLength value="1" />
287
+ </xsd:restriction>
288
+ </xsd:simpleType>
289
+ </xsd:element>
290
+ <xsd:element name="mobile" minOccurs="0" maxOccurs="1">
291
+ <xsd:simpleType>
292
+ <xsd:restriction base="xsd:string">
293
+ <xsd:maxLength value="30" />
294
+ <xsd:minLength value="1" />
295
+ </xsd:restriction>
296
+ </xsd:simpleType>
297
+ </xsd:element>
298
+ <xsd:element name="email" minOccurs="0" maxOccurs="1">
299
+ <xsd:simpleType>
300
+ <xsd:restriction base="xsd:string">
301
+ <xsd:maxLength value="50" />
302
+ <xsd:minLength value="1" />
303
+ </xsd:restriction>
304
+ </xsd:simpleType>
305
+ </xsd:element>
306
+ <xsd:element name="internet" minOccurs="0" maxOccurs="1">
307
+ <xsd:simpleType>
308
+ <xsd:restriction base="xsd:string">
309
+ <xsd:maxLength value="2000" />
310
+ <xsd:minLength value="1" />
311
+ </xsd:restriction>
312
+ </xsd:simpleType>
313
+ </xsd:element>
314
+ <xsd:element name="info_1" minOccurs="0" maxOccurs="1">
315
+ <xsd:annotation>
316
+ <xsd:documentation>free field for informations</xsd:documentation>
317
+ </xsd:annotation>
318
+ <xsd:simpleType>
319
+ <xsd:restriction base="xsd:string">
320
+ <xsd:maxLength value="2000" />
321
+ <xsd:minLength value="1" />
322
+ </xsd:restriction>
323
+ </xsd:simpleType>
324
+ </xsd:element>
325
+ <xsd:element name="info_2" minOccurs="0" maxOccurs="1">
326
+ <xsd:annotation>
327
+ <xsd:documentation>free field for informations</xsd:documentation>
328
+ </xsd:annotation>
329
+ <xsd:simpleType>
330
+ <xsd:restriction base="xsd:string">
331
+ <xsd:maxLength value="2000" />
332
+ <xsd:minLength value="1" />
333
+ </xsd:restriction>
334
+ </xsd:simpleType>
335
+ </xsd:element>
336
+ <xsd:element name="note" minOccurs="0" maxOccurs="1">
337
+ <xsd:annotation>
338
+ <xsd:documentation>free field for notes</xsd:documentation>
339
+ </xsd:annotation>
340
+ <xsd:simpleType>
341
+ <xsd:restriction base="xsd:string">
342
+ <xsd:maxLength value="2000" />
343
+ <xsd:minLength value="1" />
344
+ </xsd:restriction>
345
+ </xsd:simpleType>
346
+ </xsd:element>
347
+ <xsd:element name="taxNumber" minOccurs="0" maxOccurs="1">
348
+ <xsd:annotation>
349
+ <xsd:documentation>Steuernummer des Kunden</xsd:documentation>
350
+ </xsd:annotation>
351
+ <xsd:simpleType>
352
+ <xsd:restriction base="xsd:string">
353
+ <xsd:maxLength value="50" />
354
+ <xsd:minLength value="1" />
355
+ </xsd:restriction>
356
+ </xsd:simpleType>
357
+ </xsd:element>
358
+ <xsd:element name="ustid" minOccurs="0" maxOccurs="1">
359
+ <xsd:annotation>
360
+ <xsd:documentation>Umsatzsteueridentfikationsnummer des Kunden</xsd:documentation>
361
+ </xsd:annotation>
362
+ <xsd:simpleType>
363
+ <xsd:restriction base="xsd:string">
364
+ <xsd:maxLength value="50" />
365
+ <xsd:minLength value="1" />
366
+ </xsd:restriction>
367
+ </xsd:simpleType>
368
+ </xsd:element>
369
+ <xsd:element name="taxOptions" minOccurs="0" maxOccurs="1" nillable="true" type="commons:taxOptionsType" />
370
+
371
+ <xsd:element name="cashAllowance" minOccurs="0" maxOccurs="1" type="xsd:float">
372
+ <xsd:annotation>
373
+ <xsd:documentation>Standard Prozentwert für Skonto für den Kunden</xsd:documentation>
374
+ </xsd:annotation>
375
+ </xsd:element>
376
+ <xsd:element name="cashAllowanceDays" minOccurs="0" maxOccurs="1" type="xsd:unsignedShort">
377
+ <xsd:annotation>
378
+ <xsd:documentation>Standard Tage für Skonto (max 99) für den Kunden</xsd:documentation>
379
+ </xsd:annotation>
380
+ </xsd:element>
381
+ <xsd:element name="cashDiscount" minOccurs="0" maxOccurs="1" type="xsd:float">
382
+ <xsd:annotation>
383
+ <xsd:documentation>Standard Diskontwert für den Kunden.
384
+ Prozent oder kleinste Währungseinheit (cent bei Euro) abhängig von "cashDiscountType".</xsd:documentation>
385
+ </xsd:annotation>
386
+ </xsd:element>
387
+ <xsd:element name="cashDiscountType" minOccurs="0" maxOccurs="1">
388
+ <xsd:simpleType>
389
+ <xsd:restriction base="xsd:string">
390
+ <xsd:enumeration value="PERCENT" />
391
+ <xsd:enumeration value="AMOUNT" />
392
+ </xsd:restriction>
393
+ </xsd:simpleType>
394
+ </xsd:element>
395
+ <xsd:element name="gracePeriod" minOccurs="0" maxOccurs="1" type="xsd:unsignedShort">
396
+ <xsd:annotation>
397
+ <xsd:documentation>Tage Zahlungsziel</xsd:documentation>
398
+ </xsd:annotation>
399
+ </xsd:element>
400
+ <xsd:element name="salePriceLevel" minOccurs="0" maxOccurs="1">
401
+ <xsd:annotation>
402
+ <xsd:documentation>Price group</xsd:documentation>
403
+ </xsd:annotation>
404
+ <xsd:simpleType>
405
+ <xsd:restriction base="xsd:string">
406
+ <xsd:enumeration value="SALEPRICE2" />
407
+ <xsd:enumeration value="SALEPRICE3" />
408
+ <xsd:enumeration value="SALEPRICE4" />
409
+ <xsd:enumeration value="SALEPRICE5" />
410
+ </xsd:restriction>
411
+ </xsd:simpleType>
412
+ </xsd:element>
413
+ <xsd:element name="bankAccountOwner_1" minOccurs="0" maxOccurs="1">
414
+ <xsd:simpleType>
415
+ <xsd:restriction base="xsd:string">
416
+ <xsd:maxLength value="30" />
417
+ <xsd:minLength value="1" />
418
+ </xsd:restriction>
419
+ </xsd:simpleType>
420
+ </xsd:element>
421
+ <xsd:element name="bankName_1" minOccurs="0" maxOccurs="1">
422
+ <xsd:simpleType>
423
+ <xsd:restriction base="xsd:string">
424
+ <xsd:maxLength value="30" />
425
+ <xsd:minLength value="1" />
426
+ </xsd:restriction>
427
+ </xsd:simpleType>
428
+ </xsd:element>
429
+ <xsd:element name="bankCode_1" minOccurs="0" maxOccurs="1">
430
+ <xsd:simpleType>
431
+ <xsd:restriction base="xsd:string">
432
+ <xsd:maxLength value="30" />
433
+ <xsd:minLength value="1" />
434
+ </xsd:restriction>
435
+ </xsd:simpleType>
436
+ </xsd:element>
437
+ <xsd:element name="bankAccount_1" minOccurs="0" maxOccurs="1">
438
+ <xsd:simpleType>
439
+ <xsd:restriction base="xsd:string">
440
+ <xsd:maxLength value="30" />
441
+ <xsd:minLength value="1" />
442
+ </xsd:restriction>
443
+ </xsd:simpleType>
444
+ </xsd:element>
445
+ <xsd:element name="bankBIC_1" minOccurs="0" maxOccurs="1">
446
+ <xsd:simpleType>
447
+ <xsd:restriction base="xsd:string">
448
+ <xsd:maxLength value="50" />
449
+ <xsd:minLength value="1" />
450
+ </xsd:restriction>
451
+ </xsd:simpleType>
452
+ </xsd:element>
453
+ <xsd:element name="bankIBAN_1" minOccurs="0" maxOccurs="1">
454
+ <xsd:simpleType>
455
+ <xsd:restriction base="xsd:string">
456
+ <xsd:maxLength value="50" />
457
+ <xsd:minLength value="1" />
458
+ </xsd:restriction>
459
+ </xsd:simpleType>
460
+ </xsd:element>
461
+ <xsd:element name="acquireOptions" minOccurs="0" maxOccurs="1">
462
+ <xsd:annotation>
463
+ <xsd:documentation>free field for acquire informations</xsd:documentation>
464
+ </xsd:annotation>
465
+ <xsd:simpleType>
466
+ <xsd:restriction base="xsd:string">
467
+ <xsd:enumeration value="1">
468
+ <xsd:annotation>
469
+ <xsd:documentation>Empfehlung eines anderen Kunden</xsd:documentation>
470
+ </xsd:annotation>
471
+ </xsd:enumeration>
472
+ <xsd:enumeration value="2">
473
+ <xsd:annotation>
474
+ <xsd:documentation>Zeitungsanzeige</xsd:documentation>
475
+ </xsd:annotation>
476
+ </xsd:enumeration>
477
+ <xsd:enumeration value="3">
478
+ <xsd:annotation>
479
+ <xsd:documentation>Eigene Akquisition</xsd:documentation>
480
+ </xsd:annotation>
481
+ </xsd:enumeration>
482
+ <xsd:enumeration value="4">
483
+ <xsd:annotation>
484
+ <xsd:documentation>Mitarbeiter Akquisition</xsd:documentation>
485
+ </xsd:annotation>
486
+ </xsd:enumeration>
487
+ </xsd:restriction>
488
+ </xsd:simpleType>
489
+ </xsd:element>
490
+ <xsd:element name="paymentOptions" minOccurs="0" maxOccurs="1">
491
+ <xsd:annotation>
492
+ <xsd:documentation>date of deleted</xsd:documentation>
493
+ </xsd:annotation>
494
+ <xsd:simpleType>
495
+ <xsd:restriction base="xsd:string">
496
+ <xsd:enumeration value="1">
497
+ <xsd:annotation>
498
+ <xsd:documentation>Stets pünkliche Zahlung</xsd:documentation>
499
+ </xsd:annotation>
500
+ </xsd:enumeration>
501
+ <xsd:enumeration value="2">
502
+ <xsd:annotation>
503
+ <xsd:documentation>überwiegend pünkliche Zahlung</xsd:documentation>
504
+ </xsd:annotation>
505
+ </xsd:enumeration>
506
+ <xsd:enumeration value="3">
507
+ <xsd:annotation>
508
+ <xsd:documentation>überwiegend verspätete Zahlung</xsd:documentation>
509
+ </xsd:annotation>
510
+ </xsd:enumeration>
511
+ <xsd:enumeration value="5">
512
+ <xsd:annotation>
513
+ <xsd:documentation>Grundsätzlich verspätete Zahlung</xsd:documentation>
514
+ </xsd:annotation>
515
+ </xsd:enumeration>
516
+ </xsd:restriction>
517
+ </xsd:simpleType>
518
+ </xsd:element>
519
+
520
+ <xsd:element name="delivery_salutation" type="customer:salutationtype" minOccurs="1" maxOccurs="1" />
521
+ <xsd:element name="delivery_personal" minOccurs="0" maxOccurs="1">
522
+ <xsd:annotation>
523
+ <xsd:documentation>Persönlich Vertraulich</xsd:documentation>
524
+ </xsd:annotation>
525
+ <xsd:simpleType>
526
+ <xsd:restriction base="xsd:integer">
527
+ <xsd:enumeration value="0">
528
+ <xsd:annotation>
529
+ <xsd:documentation>False</xsd:documentation>
530
+ </xsd:annotation>
531
+ </xsd:enumeration>
532
+ <xsd:enumeration value="1">
533
+ <xsd:annotation>
534
+ <xsd:documentation>True</xsd:documentation>
535
+ </xsd:annotation>
536
+ </xsd:enumeration>
537
+ </xsd:restriction>
538
+ </xsd:simpleType>
539
+ </xsd:element>
540
+ <xsd:element name="delivery_firstName" minOccurs="1" maxOccurs="1">
541
+ <xsd:annotation>
542
+ <xsd:documentation>Vorname</xsd:documentation>
543
+ </xsd:annotation>
544
+ <xsd:simpleType>
545
+ <xsd:restriction base="xsd:string">
546
+ <xsd:maxLength value="30" />
547
+ <xsd:minLength value="1" />
548
+ </xsd:restriction>
549
+ </xsd:simpleType>
550
+ </xsd:element>
551
+ <xsd:element name="delivery_lastName" minOccurs="1" maxOccurs="1">
552
+ <xsd:annotation>
553
+ <xsd:documentation>Nachname</xsd:documentation>
554
+ </xsd:annotation>
555
+ <xsd:simpleType>
556
+ <xsd:restriction base="xsd:string">
557
+ <xsd:maxLength value="30" />
558
+ <xsd:minLength value="1" />
559
+ </xsd:restriction>
560
+ </xsd:simpleType>
561
+ </xsd:element>
562
+ <xsd:element name="delivery_suffix_1" minOccurs="0" maxOccurs="1">
563
+ <xsd:annotation>
564
+ <xsd:documentation>Anschriftserweiterung</xsd:documentation>
565
+ </xsd:annotation>
566
+ <xsd:simpleType>
567
+ <xsd:restriction base="xsd:string">
568
+ <xsd:maxLength value="40" />
569
+ <xsd:minLength value="1" />
570
+ </xsd:restriction>
571
+ </xsd:simpleType>
572
+ </xsd:element>
573
+ <xsd:element name="delivery_suffix_2" minOccurs="0" maxOccurs="1">
574
+ <xsd:annotation>
575
+ <xsd:documentation>Anschriftserweiterung</xsd:documentation>
576
+ </xsd:annotation>
577
+ <xsd:simpleType>
578
+ <xsd:restriction base="xsd:string">
579
+ <xsd:maxLength value="40" />
580
+ <xsd:minLength value="1" />
581
+ </xsd:restriction>
582
+ </xsd:simpleType>
583
+ </xsd:element>
584
+ <xsd:element name="delivery_companyName" minOccurs="0" maxOccurs="1">
585
+ <xsd:annotation>
586
+ <xsd:documentation>Firmenname</xsd:documentation>
587
+ </xsd:annotation>
588
+ <xsd:simpleType>
589
+ <xsd:restriction base="xsd:string">
590
+ <xsd:maxLength value="50" />
591
+ <xsd:minLength value="1" />
592
+ </xsd:restriction>
593
+ </xsd:simpleType>
594
+ </xsd:element>
595
+ <xsd:element name="delivery_street" minOccurs="1" maxOccurs="1">
596
+ <xsd:annotation>
597
+ <xsd:documentation>Straße</xsd:documentation>
598
+ </xsd:annotation>
599
+ <xsd:simpleType>
600
+ <xsd:restriction base="xsd:string">
601
+ <xsd:maxLength value="40" />
602
+ <xsd:minLength value="1" />
603
+ </xsd:restriction>
604
+ </xsd:simpleType>
605
+ </xsd:element>
606
+ <xsd:element name="delivery_zipCode" minOccurs="1" maxOccurs="1">
607
+ <xsd:annotation>
608
+ <xsd:documentation>Postleitzahl</xsd:documentation>
609
+ </xsd:annotation>
610
+ <xsd:simpleType>
611
+ <xsd:restriction base="xsd:string">
612
+ <xsd:maxLength value="20" />
613
+ <xsd:minLength value="1" />
614
+ </xsd:restriction>
615
+ </xsd:simpleType>
616
+ </xsd:element>
617
+ <xsd:element name="delivery_city" minOccurs="1" maxOccurs="1">
618
+ <xsd:annotation>
619
+ <xsd:documentation>Ort</xsd:documentation>
620
+ </xsd:annotation>
621
+ <xsd:simpleType>
622
+ <xsd:restriction base="xsd:string">
623
+ <xsd:maxLength value="50" />
624
+ <xsd:minLength value="1" />
625
+ </xsd:restriction>
626
+ </xsd:simpleType>
627
+ </xsd:element>
628
+ <xsd:element name="delivery_country" minOccurs="1" maxOccurs="1">
629
+ <xsd:annotation>
630
+ <xsd:documentation>Land; International country code defined by ISO 3166</xsd:documentation>
631
+ </xsd:annotation>
632
+ <xsd:simpleType>
633
+ <xsd:restriction base="xsd:string">
634
+ <xsd:maxLength value="2" />
635
+ <xsd:minLength value="2" />
636
+ </xsd:restriction>
637
+ </xsd:simpleType>
638
+ </xsd:element>
639
+
640
+ <xsd:element name="birthDate" minOccurs="0" maxOccurs="1" nillable="true" >
641
+ <xsd:annotation>
642
+ <xsd:documentation>Geburtsdatum</xsd:documentation>
643
+ </xsd:annotation>
644
+ <xsd:simpleType>
645
+ <xsd:restriction base="xsd:date">
646
+ <xsd:pattern value="CCYY-MM-DD" />
647
+ </xsd:restriction>
648
+ </xsd:simpleType>
649
+ </xsd:element>
650
+
651
+ <xsd:element name="sinceDate" minOccurs="0" maxOccurs="1" nillable="true" >
652
+ <xsd:annotation>
653
+ <xsd:documentation>Datensatz erstellt</xsd:documentation>
654
+ </xsd:annotation>
655
+ <xsd:simpleType>
656
+ <xsd:restriction base="xsd:date">
657
+ <xsd:pattern value="CCYY-MM-DD" />
658
+ </xsd:restriction>
659
+ </xsd:simpleType>
660
+ </xsd:element>
661
+
662
+ <xsd:element name="sepaAgreement" minOccurs="0" maxOccurs="1" nillable="true">
663
+ <xsd:annotation>
664
+ <xsd:documentation>SEPA-Lastschriftverfahren</xsd:documentation>
665
+ </xsd:annotation>
666
+ <xsd:simpleType >
667
+ <xsd:restriction base="xsd:string">
668
+ <xsd:enumeration value="BASIC"></xsd:enumeration>
669
+ <xsd:enumeration value="COMPANY"></xsd:enumeration>
670
+ <xsd:enumeration value="COR1"></xsd:enumeration>
671
+ </xsd:restriction>
672
+ </xsd:simpleType>
673
+ </xsd:element>
674
+
675
+ <xsd:element name="sepaDate" minOccurs="0" maxOccurs="1" nillable="true" >
676
+ <xsd:annotation>
677
+ <xsd:documentation>Eingangsdatum des Mandates</xsd:documentation>
678
+ </xsd:annotation>
679
+ <xsd:simpleType>
680
+ <xsd:restriction base="xsd:date">
681
+ <xsd:pattern value="CCYY-MM-DD" />
682
+ </xsd:restriction>
683
+ </xsd:simpleType>
684
+ </xsd:element>
685
+
686
+ <xsd:element name="sepaInfo" minOccurs="0" maxOccurs="1" nillable="true">
687
+ <xsd:annotation>
688
+ <xsd:documentation>Mandatsreferenz</xsd:documentation>
689
+ </xsd:annotation>
690
+ <xsd:simpleType>
691
+ <xsd:restriction base="xsd:string">
692
+ <xsd:maxLength value="255" />
693
+ </xsd:restriction>
694
+ </xsd:simpleType>
695
+ </xsd:element>
696
+
697
+
698
+ </xsd:sequence>
699
+ </xsd:complexType>
700
+
701
+ <xsd:element name="GetCustomerRequest" type="xsd:unsignedLong" />
702
+ <xsd:element name="GetCustomerResponse" type="customer:customertype" />
703
+
704
+ <xsd:element name="GetCustomerByCustomerNumberRequest" type="xsd:string" />
705
+ <xsd:element name="GetCustomerByCustomerNumberResponse" type="customer:customertype" />
706
+
707
+ <xsd:element name="SetCustomerRequest" type="customer:customertype" />
708
+ <xsd:element name="SetCustomerResponse" type="customer:customertype" />
709
+
710
+ <xsd:element name="SearchCustomersRequest" type="xsd:string" />
711
+ <xsd:element name="SearchCustomersResponse" type="customer:SearchCustomersType" />
712
+ <xsd:complexType name="SearchCustomersType">
713
+ <xsd:sequence>
714
+ <xsd:element name="SearchCustomer" type="customer:customertype" maxOccurs="unbounded" />
715
+ </xsd:sequence>
716
+ </xsd:complexType>
717
+
718
+ <xsd:element name="DeleteCustomerRequest" type="xsd:unsignedLong" />
719
+
720
+ <xsd:complexType name="customergrouptype">
721
+ <xsd:sequence>
722
+ <xsd:element name="groupID" type="xsd:unsignedLong" minOccurs="0" maxOccurs="1" >
723
+ <xsd:annotation>
724
+ <xsd:documentation>Falls nicht angegeben, wird ein neuer Eintrag erstellt.</xsd:documentation>
725
+ </xsd:annotation>
726
+ </xsd:element>
727
+ <xsd:element name="number" minOccurs="1" maxOccurs="1">
728
+ <xsd:simpleType>
729
+ <xsd:restriction base="xsd:string">
730
+ <xsd:minLength value="1" />
731
+ <xsd:maxLength value="250" />
732
+ </xsd:restriction>
733
+ </xsd:simpleType>
734
+ </xsd:element>
735
+ <xsd:element name="name" minOccurs="1" maxOccurs="1">
736
+ <xsd:simpleType>
737
+ <xsd:restriction base="xsd:string">
738
+ <xsd:minLength value="1" />
739
+ <xsd:maxLength value="250" />
740
+ </xsd:restriction>
741
+ </xsd:simpleType>
742
+ </xsd:element>
743
+ <xsd:element name="description" minOccurs="0" maxOccurs="1">
744
+ <xsd:simpleType>
745
+ <xsd:restriction base="xsd:string">
746
+ <xsd:minLength value="1" />
747
+ <xsd:maxLength value="2000" />
748
+ </xsd:restriction>
749
+ </xsd:simpleType>
750
+ </xsd:element>
751
+ </xsd:sequence>
752
+ </xsd:complexType>
753
+
754
+ <xsd:element name="GetCustomerGroupRequest" type="xsd:unsignedLong" />
755
+ <xsd:element name="GetCustomerGroupResponse" type="customer:customergrouptype" />
756
+
757
+ <xsd:element name="SetCustomerGroupRequest" type="customer:customergrouptype" />
758
+ <xsd:element name="SetCustomerGroupResponse" type="customer:customergrouptype" />
759
+
760
+ <xsd:element name="getAllCustomerGroupsPHPBugfix" >
761
+ <xsd:complexType/>
762
+ </xsd:element>
763
+
764
+ <xsd:element name="AllCustomerGroupsResponse" type="customer:AllCustomerGroupsResponseType" />
765
+ <xsd:complexType name="AllCustomerGroupsResponseType">
766
+ <xsd:sequence>
767
+ <xsd:element name="CustomerGroup" type="customer:customergrouptype" minOccurs="0" maxOccurs="unbounded" />
768
+ </xsd:sequence>
769
+ </xsd:complexType>
770
+
771
+
772
+
773
+ </xsd:schema>