easybill 0.2.17

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