companies-house-gateway 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (54) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +3 -0
  3. data/CHANGELOG.md +20 -0
  4. data/Gemfile +3 -0
  5. data/LICENSE +22 -0
  6. data/README.md +28 -0
  7. data/companies_house_gateway.gemspec +22 -0
  8. data/lib/companies_house_gateway.rb +60 -0
  9. data/lib/companies_house_gateway/checks/check.rb +66 -0
  10. data/lib/companies_house_gateway/checks/company_appointments.rb +14 -0
  11. data/lib/companies_house_gateway/checks/company_details.rb +11 -0
  12. data/lib/companies_house_gateway/checks/document.rb +10 -0
  13. data/lib/companies_house_gateway/checks/document_info.rb +11 -0
  14. data/lib/companies_house_gateway/checks/filing_history.rb +12 -0
  15. data/lib/companies_house_gateway/checks/mortgages.rb +16 -0
  16. data/lib/companies_house_gateway/checks/name_search.rb +17 -0
  17. data/lib/companies_house_gateway/checks/number_search.rb +13 -0
  18. data/lib/companies_house_gateway/checks/officer_details.rb +12 -0
  19. data/lib/companies_house_gateway/checks/officer_search.rb +16 -0
  20. data/lib/companies_house_gateway/client.rb +45 -0
  21. data/lib/companies_house_gateway/config.rb +31 -0
  22. data/lib/companies_house_gateway/constants.rb +8 -0
  23. data/lib/companies_house_gateway/errors/companies_house_gateway_error.rb +18 -0
  24. data/lib/companies_house_gateway/request.rb +105 -0
  25. data/lib/companies_house_gateway/util.rb +20 -0
  26. data/lib/companies_house_gateway/version.rb +3 -0
  27. data/spec/checks/company_appointments_spec.rb +16 -0
  28. data/spec/checks/company_details_spec.rb +10 -0
  29. data/spec/checks/document_info_spec.rb +16 -0
  30. data/spec/checks/document_spec.rb +11 -0
  31. data/spec/checks/filing_history_spec.rb +10 -0
  32. data/spec/checks/mortgages_spec.rb +16 -0
  33. data/spec/checks/name_search_spec.rb +10 -0
  34. data/spec/checks/number_search_spec.rb +10 -0
  35. data/spec/checks/officer_details_spec.rb +11 -0
  36. data/spec/checks/officer_search_spec.rb +11 -0
  37. data/spec/client_spec.rb +58 -0
  38. data/spec/companies_house_gateway_spec.rb +49 -0
  39. data/spec/fixtures/checks/chbase.xsd +1037 -0
  40. data/spec/fixtures/checks/company_appointments.xsd +74 -0
  41. data/spec/fixtures/checks/company_details.xsd +108 -0
  42. data/spec/fixtures/checks/document.xsd +56 -0
  43. data/spec/fixtures/checks/document_info.xsd +56 -0
  44. data/spec/fixtures/checks/filing_history.xsd +77 -0
  45. data/spec/fixtures/checks/mortgages.xsd +58 -0
  46. data/spec/fixtures/checks/name_search.xsd +41 -0
  47. data/spec/fixtures/checks/number_search.xsd +29 -0
  48. data/spec/fixtures/checks/officer_details.xsd +99 -0
  49. data/spec/fixtures/checks/officer_search.xsd +37 -0
  50. data/spec/fixtures/request.xsd +290 -0
  51. data/spec/request_spec.rb +77 -0
  52. data/spec/shared_examples.rb +40 -0
  53. data/spec/spec_helper.rb +17 -0
  54. metadata +206 -0
@@ -0,0 +1,1037 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!-- Companies House XML Gateway Schema - Base Types-->
3
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
4
+ <xs:element name="CompanyName">
5
+ <xs:annotation>
6
+ <xs:documentation>The Registered Company Name</xs:documentation>
7
+ </xs:annotation>
8
+ <xs:simpleType>
9
+ <xs:restriction base="xs:string">
10
+ <xs:minLength value="1"/>
11
+ <xs:maxLength value="160"/>
12
+ <xs:whiteSpace value="preserve"/>
13
+ </xs:restriction>
14
+ </xs:simpleType>
15
+ </xs:element>
16
+ <xs:element name="CompanyNumber">
17
+ <xs:annotation>
18
+ <xs:documentation>The company registration number</xs:documentation>
19
+ </xs:annotation>
20
+ <xs:simpleType>
21
+ <xs:restriction base="xs:string">
22
+ <xs:minLength value="8"/>
23
+ <xs:maxLength value="8"/>
24
+ <xs:whiteSpace value="collapse"/>
25
+ <xs:pattern value="[A-Z0-9]{8,8}"/>
26
+ </xs:restriction>
27
+ </xs:simpleType>
28
+ </xs:element>
29
+ <xs:element name="PartialCompanyNumber">
30
+ <xs:annotation>
31
+ <xs:documentation>Company Number used for number searching</xs:documentation>
32
+ </xs:annotation>
33
+ <xs:simpleType>
34
+ <xs:restriction base="xs:string">
35
+ <xs:minLength value="1"/>
36
+ <xs:maxLength value="8"/>
37
+ <xs:whiteSpace value="collapse"/>
38
+ <xs:pattern value="[A-Z0-9]{1,8}[*]{0,1}"/>
39
+ </xs:restriction>
40
+ </xs:simpleType>
41
+ </xs:element>
42
+ <xs:element name="MortgageInd">
43
+ <xs:annotation>
44
+ <xs:documentation>Gives Mortgage Register Indication</xs:documentation>
45
+ </xs:annotation>
46
+ <xs:simpleType>
47
+ <xs:restriction base="xs:string">
48
+ <xs:minLength value="2"/>
49
+ <xs:maxLength value="5"/>
50
+ <xs:whiteSpace value="collapse"/>
51
+ <xs:enumeration value="NO">
52
+ <xs:annotation>
53
+ <xs:documentation>No charges registered</xs:documentation>
54
+ </xs:annotation>
55
+ </xs:enumeration>
56
+ <xs:enumeration value="LT300">
57
+ <xs:annotation>
58
+ <xs:documentation>Less than 300 charges registered</xs:documentation>
59
+ </xs:annotation>
60
+ </xs:enumeration>
61
+ <xs:enumeration value="GE300">
62
+ <xs:annotation>
63
+ <xs:documentation>300 or more charges registered</xs:documentation>
64
+ </xs:annotation>
65
+ </xs:enumeration>
66
+ </xs:restriction>
67
+ </xs:simpleType>
68
+ </xs:element>
69
+ <xs:element name="AddressLine">
70
+ <xs:annotation>
71
+ <xs:documentation>A Single Address Line</xs:documentation>
72
+ </xs:annotation>
73
+ <xs:simpleType>
74
+ <xs:restriction base="xs:string">
75
+ <xs:minLength value="0"/>
76
+ <xs:maxLength value="64"/>
77
+ <xs:whiteSpace value="preserve"/>
78
+ </xs:restriction>
79
+ </xs:simpleType>
80
+ </xs:element>
81
+ <xs:element name="RegAddress" type="RegAddressType">
82
+ <xs:annotation>
83
+ <xs:documentation>Company Registered Address</xs:documentation>
84
+ </xs:annotation>
85
+ </xs:element>
86
+ <xs:complexType name="RegAddressType">
87
+ <xs:annotation>
88
+ <xs:documentation>Registered address with up to 5 address lines + care of name</xs:documentation>
89
+ </xs:annotation>
90
+ <xs:sequence>
91
+ <xs:element name="CareOfName" minOccurs="0">
92
+ <xs:annotation>
93
+ <xs:documentation>Care of Name</xs:documentation>
94
+ </xs:annotation>
95
+ <xs:simpleType>
96
+ <xs:restriction base="xs:string">
97
+ <xs:minLength value="0"/>
98
+ <xs:maxLength value="100"/>
99
+ </xs:restriction>
100
+ </xs:simpleType>
101
+ </xs:element>
102
+ <xs:element name="POBox" type="xs:string" minOccurs="0">
103
+ <xs:annotation>
104
+ <xs:documentation>Optional Post Office Box number</xs:documentation>
105
+ </xs:annotation>
106
+ </xs:element>
107
+ <xs:sequence minOccurs="2" maxOccurs="6">
108
+ <xs:element ref="AddressLine"/>
109
+ </xs:sequence>
110
+ </xs:sequence>
111
+ </xs:complexType>
112
+ <xs:element name="SicText">
113
+ <xs:annotation>
114
+ <xs:documentation>Single SIC code Text String</xs:documentation>
115
+ </xs:annotation>
116
+ <xs:simpleType>
117
+ <xs:restriction base="xs:string">
118
+ <xs:minLength value="1"/>
119
+ <xs:maxLength value="160"/>
120
+ </xs:restriction>
121
+ </xs:simpleType>
122
+ </xs:element>
123
+ <xs:element name="SICCodes" type="SicCodesType">
124
+ <xs:annotation>
125
+ <xs:documentation>Set of Sec Codes</xs:documentation>
126
+ </xs:annotation>
127
+ </xs:element>
128
+ <xs:complexType name="SicCodesType">
129
+ <xs:annotation>
130
+ <xs:documentation>Set of SIC Text Strings (maximum 4)</xs:documentation>
131
+ </xs:annotation>
132
+ <xs:sequence maxOccurs="4">
133
+ <xs:element ref="SicText"/>
134
+ </xs:sequence>
135
+ </xs:complexType>
136
+ <xs:element name="CompanyCategory">
137
+ <xs:annotation>
138
+ <xs:documentation>Type of Company</xs:documentation>
139
+ </xs:annotation>
140
+ <xs:simpleType>
141
+ <xs:restriction base="xs:string">
142
+ <xs:minLength value="2"/>
143
+ <xs:maxLength value="160"/>
144
+ <xs:whiteSpace value="preserve"/>
145
+ </xs:restriction>
146
+ </xs:simpleType>
147
+ </xs:element>
148
+ <xs:element name="CompanyStatus">
149
+ <xs:annotation>
150
+ <xs:documentation>The status of the company</xs:documentation>
151
+ </xs:annotation>
152
+ <xs:simpleType>
153
+ <xs:restriction base="xs:string">
154
+ <xs:minLength value="1"/>
155
+ </xs:restriction>
156
+ </xs:simpleType>
157
+ </xs:element>
158
+ <xs:element name="DissolutionDate">
159
+ <xs:annotation>
160
+ <xs:documentation>Date of Dissolution of Company</xs:documentation>
161
+ </xs:annotation>
162
+ <xs:simpleType>
163
+ <xs:restriction base="xs:date">
164
+ <xs:whiteSpace value="collapse"/>
165
+ </xs:restriction>
166
+ </xs:simpleType>
167
+ </xs:element>
168
+ <xs:element name="ClosureDate">
169
+ <xs:annotation>
170
+ <xs:documentation>Date of Closure of Company</xs:documentation>
171
+ </xs:annotation>
172
+ <xs:simpleType>
173
+ <xs:restriction base="xs:date">
174
+ <xs:whiteSpace value="collapse"/>
175
+ </xs:restriction>
176
+ </xs:simpleType>
177
+ </xs:element>
178
+ <xs:element name="IncorporationDate">
179
+ <xs:annotation>
180
+ <xs:documentation>Date of Incorporation of Company</xs:documentation>
181
+ </xs:annotation>
182
+ <xs:simpleType>
183
+ <xs:restriction base="xs:date">
184
+ <xs:whiteSpace value="collapse"/>
185
+ </xs:restriction>
186
+ </xs:simpleType>
187
+ </xs:element>
188
+ <xs:element name="RegistrationDate">
189
+ <xs:annotation>
190
+ <xs:documentation>Date of Registration of Company/charge/person</xs:documentation>
191
+ </xs:annotation>
192
+ <xs:simpleType>
193
+ <xs:restriction base="xs:date">
194
+ <xs:whiteSpace value="collapse"/>
195
+ </xs:restriction>
196
+ </xs:simpleType>
197
+ </xs:element>
198
+ <xs:element name="CONDate">
199
+ <xs:annotation>
200
+ <xs:documentation>Date of last Change of Name</xs:documentation>
201
+ </xs:annotation>
202
+ <xs:simpleType>
203
+ <xs:restriction base="xs:date">
204
+ <xs:whiteSpace value="collapse"/>
205
+ </xs:restriction>
206
+ </xs:simpleType>
207
+ </xs:element>
208
+ <xs:element name="PreviousNames" type="PreviousNamesType">
209
+ <xs:annotation>
210
+ <xs:documentation>Set of Previous Names for Company</xs:documentation>
211
+ </xs:annotation>
212
+ </xs:element>
213
+ <xs:complexType name="PreviousNamesType">
214
+ <xs:annotation>
215
+ <xs:documentation>Set of previous names and dates changed</xs:documentation>
216
+ </xs:annotation>
217
+ <xs:sequence>
218
+ <xs:element ref="CONDate"/>
219
+ <xs:element ref="CompanyName"/>
220
+ </xs:sequence>
221
+ </xs:complexType>
222
+ <xs:element name="NextDueDate">
223
+ <xs:annotation>
224
+ <xs:documentation>The Next Due Date</xs:documentation>
225
+ </xs:annotation>
226
+ <xs:simpleType>
227
+ <xs:restriction base="xs:date">
228
+ <xs:whiteSpace value="collapse"/>
229
+ </xs:restriction>
230
+ </xs:simpleType>
231
+ </xs:element>
232
+ <xs:element name="Overdue">
233
+ <xs:annotation>
234
+ <xs:documentation>Overdue Indication</xs:documentation>
235
+ </xs:annotation>
236
+ <xs:simpleType>
237
+ <xs:restriction base="xs:string">
238
+ <xs:enumeration value="NO">
239
+ <xs:annotation>
240
+ <xs:documentation>Document not overdue</xs:documentation>
241
+ </xs:annotation>
242
+ </xs:enumeration>
243
+ <xs:enumeration value="OVERDUE">
244
+ <xs:annotation>
245
+ <xs:documentation>Document is overdue</xs:documentation>
246
+ </xs:annotation>
247
+ </xs:enumeration>
248
+ <xs:enumeration value="PENDING">
249
+ <xs:annotation>
250
+ <xs:documentation>Document is pending</xs:documentation>
251
+ </xs:annotation>
252
+ </xs:enumeration>
253
+ </xs:restriction>
254
+ </xs:simpleType>
255
+ </xs:element>
256
+ <xs:element name="AccountCategory" type="xs:string">
257
+ <xs:annotation>
258
+ <xs:documentation>Type of Accounts</xs:documentation>
259
+ </xs:annotation>
260
+ </xs:element>
261
+ <xs:element name="AccountRefDate" type="xs:date">
262
+ <xs:annotation>
263
+ <xs:documentation>Accounting Reference Date (DD-MM significant)</xs:documentation>
264
+ </xs:annotation>
265
+ </xs:element>
266
+ <xs:element name="LastMadeUpDate">
267
+ <xs:annotation>
268
+ <xs:documentation>Last Made Up Date</xs:documentation>
269
+ </xs:annotation>
270
+ <xs:simpleType>
271
+ <xs:restriction base="xs:date">
272
+ <xs:whiteSpace value="collapse"/>
273
+ </xs:restriction>
274
+ </xs:simpleType>
275
+ </xs:element>
276
+ <xs:element name="DocumentAvailable" type="xs:boolean">
277
+ <xs:annotation>
278
+ <xs:documentation>Indicates that the document is available for access</xs:documentation>
279
+ </xs:annotation>
280
+ </xs:element>
281
+ <xs:element name="LastFullMemDate">
282
+ <xs:annotation>
283
+ <xs:documentation>Date on which a company last supplied a Full Members List</xs:documentation>
284
+ </xs:annotation>
285
+ <xs:simpleType>
286
+ <xs:restriction base="xs:date">
287
+ <xs:whiteSpace value="collapse"/>
288
+ </xs:restriction>
289
+ </xs:simpleType>
290
+ </xs:element>
291
+ <xs:element name="LastBulkShareDate">
292
+ <xs:annotation>
293
+ <xs:documentation>Date last Bulk Shareholders List was supplied</xs:documentation>
294
+ </xs:annotation>
295
+ <xs:simpleType>
296
+ <xs:restriction base="xs:date">
297
+ <xs:whiteSpace value="collapse"/>
298
+ </xs:restriction>
299
+ </xs:simpleType>
300
+ </xs:element>
301
+ <xs:element name="CountryOfOrigin">
302
+ <xs:annotation>
303
+ <xs:documentation>Country of Origin</xs:documentation>
304
+ </xs:annotation>
305
+ <xs:simpleType>
306
+ <xs:restriction base="xs:string">
307
+ <xs:minLength value="1"/>
308
+ <xs:maxLength value="20"/>
309
+ </xs:restriction>
310
+ </xs:simpleType>
311
+ </xs:element>
312
+ <xs:element name="NumGenPartners" type="xs:integer">
313
+ <xs:annotation>
314
+ <xs:documentation>Number of General Partners (LP)</xs:documentation>
315
+ </xs:annotation>
316
+ </xs:element>
317
+ <xs:element name="NumLimPartners" type="xs:integer">
318
+ <xs:annotation>
319
+ <xs:documentation>Number of Limited Partners (LP)</xs:documentation>
320
+ </xs:annotation>
321
+ </xs:element>
322
+ <xs:element name="Weeded" type="xs:boolean">
323
+ <xs:annotation>
324
+ <xs:documentation>Whether fiche has been weeded</xs:documentation>
325
+ </xs:annotation>
326
+ </xs:element>
327
+ <xs:element name="HasUKestablishment" type="xs:boolean">
328
+ <xs:annotation>
329
+ <xs:documentation>Whether UK Establishment Information is available</xs:documentation>
330
+ </xs:annotation>
331
+ </xs:element>
332
+ <xs:element name="WeededDate" type="xs:date">
333
+ <xs:annotation>
334
+ <xs:documentation>Fiche Weeded Date</xs:documentation>
335
+ </xs:annotation>
336
+ </xs:element>
337
+ <xs:element name="NumMortCharges" type="xs:integer">
338
+ <xs:annotation>
339
+ <xs:documentation>Number of charges recorded against company</xs:documentation>
340
+ </xs:annotation>
341
+ </xs:element>
342
+ <xs:element name="NumMortOutstanding" type="xs:integer">
343
+ <xs:annotation>
344
+ <xs:documentation>Number of outstanding Mortgage Charges</xs:documentation>
345
+ </xs:annotation>
346
+ </xs:element>
347
+ <xs:element name="NumMortSatisfied" type="xs:integer">
348
+ <xs:annotation>
349
+ <xs:documentation>Number Satisfied Mort Charges</xs:documentation>
350
+ </xs:annotation>
351
+ </xs:element>
352
+ <xs:element name="NumMortPartSatisfied" type="xs:integer">
353
+ <xs:annotation>
354
+ <xs:documentation>Number Part Satisfied Mort Charges</xs:documentation>
355
+ </xs:annotation>
356
+ </xs:element>
357
+ <xs:element name="HasAppointments" type="xs:boolean">
358
+ <xs:annotation>
359
+ <xs:documentation>Indicates Appointment Information is available</xs:documentation>
360
+ </xs:annotation>
361
+ </xs:element>
362
+ <xs:element name="InLiquidation" type="xs:boolean">
363
+ <xs:annotation>
364
+ <xs:documentation>Indicates Company in Liquidation</xs:documentation>
365
+ </xs:annotation>
366
+ </xs:element>
367
+ <xs:element name="GiveMortTotals" type="xs:boolean">
368
+ <xs:annotation>
369
+ <xs:documentation>Requests the return of mortgage totals</xs:documentation>
370
+ </xs:annotation>
371
+ </xs:element>
372
+ <xs:element name="DataSet">
373
+ <xs:annotation>
374
+ <xs:documentation>The dataset to which a company belongs (live,dissolved etc)</xs:documentation>
375
+ </xs:annotation>
376
+ <xs:simpleType>
377
+ <xs:restriction base="xs:string">
378
+ <xs:enumeration value="LIVE">
379
+ <xs:annotation>
380
+ <xs:documentation>Index of Live and Recently Dissolved Companies</xs:documentation>
381
+ </xs:annotation>
382
+ </xs:enumeration>
383
+ <xs:enumeration value="DISSOLVED">
384
+ <xs:annotation>
385
+ <xs:documentation>Index of Dissolved companies</xs:documentation>
386
+ </xs:annotation>
387
+ </xs:enumeration>
388
+ <xs:enumeration value="FORMER">
389
+ <xs:annotation>
390
+ <xs:documentation>Index of Previous or Former company names</xs:documentation>
391
+ </xs:annotation>
392
+ </xs:enumeration>
393
+ <xs:enumeration value="PROPOSED">
394
+ <xs:annotation>
395
+ <xs:documentation>Index of Proposed company names</xs:documentation>
396
+ </xs:annotation>
397
+ </xs:enumeration>
398
+ </xs:restriction>
399
+ </xs:simpleType>
400
+ </xs:element>
401
+ <xs:element name="CompanyDate" type="xs:date">
402
+ <xs:annotation>
403
+ <xs:documentation>Date associated with company</xs:documentation>
404
+ </xs:annotation>
405
+ </xs:element>
406
+ <xs:element name="CompanyIndexStatus">
407
+ <xs:annotation>
408
+ <xs:documentation>Gives the status of the company as reflected on the index</xs:documentation>
409
+ </xs:annotation>
410
+ <xs:simpleType>
411
+ <xs:restriction base="xs:string">
412
+ <xs:minLength value="0"/>
413
+ <xs:enumeration value="EFFECTIVE">
414
+ <xs:annotation>
415
+ <xs:documentation>Proposed Company Name is Effective</xs:documentation>
416
+ </xs:annotation>
417
+ </xs:enumeration>
418
+ <xs:enumeration value="REJECTED">
419
+ <xs:annotation>
420
+ <xs:documentation>Proposed Comapny Name has been Rejected</xs:documentation>
421
+ </xs:annotation>
422
+ </xs:enumeration>
423
+ <xs:enumeration value="DISSOLVED">
424
+ <xs:annotation>
425
+ <xs:documentation>Company has been Dissolved</xs:documentation>
426
+ </xs:annotation>
427
+ </xs:enumeration>
428
+ <xs:enumeration value="CNGOFNAME">
429
+ <xs:annotation>
430
+ <xs:documentation>This is a company Change of Name</xs:documentation>
431
+ </xs:annotation>
432
+ </xs:enumeration>
433
+ <xs:enumeration value="INLIQ">
434
+ <xs:annotation>
435
+ <xs:documentation>Company is in Liquidation</xs:documentation>
436
+ </xs:annotation>
437
+ </xs:enumeration>
438
+ <xs:enumeration value="REMOVED">
439
+ <xs:annotation>
440
+ <xs:documentation>Company has been removed</xs:documentation>
441
+ </xs:annotation>
442
+ </xs:enumeration>
443
+ <xs:enumeration value="STATUSR"/>
444
+ <xs:enumeration value="STATUSA"/>
445
+ <xs:enumeration value="STATUSV"/>
446
+ </xs:restriction>
447
+ </xs:simpleType>
448
+ </xs:element>
449
+ <xs:element name="SearchMatch">
450
+ <xs:annotation>
451
+ <xs:documentation>Gives the search match status of a company</xs:documentation>
452
+ </xs:annotation>
453
+ <xs:simpleType>
454
+ <xs:restriction base="xs:string">
455
+ <xs:enumeration value="NEAR">
456
+ <xs:annotation>
457
+ <xs:documentation>This Company Name is the nearest search match as an exact match could not be found</xs:documentation>
458
+ </xs:annotation>
459
+ </xs:enumeration>
460
+ <xs:enumeration value="EXACT">
461
+ <xs:annotation>
462
+ <xs:documentation>This company Name is an exact match for the given seach</xs:documentation>
463
+ </xs:annotation>
464
+ </xs:enumeration>
465
+ </xs:restriction>
466
+ </xs:simpleType>
467
+ </xs:element>
468
+ <xs:element name="SearchRows" type="xs:integer">
469
+ <xs:annotation>
470
+ <xs:documentation>Numer of rows to return/returned in a search response</xs:documentation>
471
+ </xs:annotation>
472
+ </xs:element>
473
+ <xs:element name="ContinuationKey" type="xs:string">
474
+ <xs:annotation>
475
+ <xs:documentation>The continuation key allowing further data sets to be retrieved</xs:documentation>
476
+ </xs:annotation>
477
+ </xs:element>
478
+ <xs:element name="RegressionKey" type="xs:string">
479
+ <xs:annotation>
480
+ <xs:documentation>The key allowing previous data sets to be returned</xs:documentation>
481
+ </xs:annotation>
482
+ </xs:element>
483
+ <xs:element name="DocumentCategory">
484
+ <xs:annotation>
485
+ <xs:documentation>Document Category Code (0..9)</xs:documentation>
486
+ </xs:annotation>
487
+ <xs:simpleType>
488
+ <xs:restriction base="xs:integer">
489
+ <xs:minInclusive value="0"/>
490
+ <xs:maxInclusive value="9"/>
491
+ </xs:restriction>
492
+ </xs:simpleType>
493
+ </xs:element>
494
+ <xs:element name="FormType" type="xs:string">
495
+ <xs:annotation>
496
+ <xs:documentation>Document Form Type</xs:documentation>
497
+ </xs:annotation>
498
+ </xs:element>
499
+ <xs:element name="DocumentType" type="xs:string">
500
+ <xs:annotation>
501
+ <xs:documentation>Document Type</xs:documentation>
502
+ </xs:annotation>
503
+ </xs:element>
504
+ <xs:element name="DocumentDesc" type="xs:string">
505
+ <xs:annotation>
506
+ <xs:documentation>Description of Document</xs:documentation>
507
+ </xs:annotation>
508
+ </xs:element>
509
+ <xs:element name="DocumentDate" type="xs:date">
510
+ <xs:annotation>
511
+ <xs:documentation>Filing date of document</xs:documentation>
512
+ </xs:annotation>
513
+ </xs:element>
514
+ <xs:element name="DocBeingScanned" type="xs:boolean">
515
+ <xs:annotation>
516
+ <xs:documentation>Indicates that the document is not yet available for download</xs:documentation>
517
+ </xs:annotation>
518
+ </xs:element>
519
+ <xs:element name="ImageKey" type="xs:string">
520
+ <xs:annotation>
521
+ <xs:documentation>Unique key of this document on the Image System - returned from a filing history</xs:documentation>
522
+ </xs:annotation>
523
+ </xs:element>
524
+ <xs:element name="CapitalDocInd" type="xs:boolean">
525
+ <xs:annotation>
526
+ <xs:documentation>Indicates whether capital documents are required in result</xs:documentation>
527
+ </xs:annotation>
528
+ </xs:element>
529
+ <xs:element name="UserReference">
530
+ <xs:annotation>
531
+ <xs:documentation>User supplied reference</xs:documentation>
532
+ </xs:annotation>
533
+ <xs:simpleType>
534
+ <xs:restriction base="xs:string">
535
+ <xs:minLength value="0"/>
536
+ <xs:maxLength value="24"/>
537
+ <xs:whiteSpace value="preserve"/>
538
+ </xs:restriction>
539
+ </xs:simpleType>
540
+ </xs:element>
541
+ <xs:element name="AppointmentStatus">
542
+ <xs:annotation>
543
+ <xs:documentation>Type of appintment (current/resigned)</xs:documentation>
544
+ </xs:annotation>
545
+ <xs:simpleType>
546
+ <xs:restriction base="xs:string">
547
+ <xs:enumeration value="CURRENT">
548
+ <xs:annotation>
549
+ <xs:documentation>The appointment is Current</xs:documentation>
550
+ </xs:annotation>
551
+ </xs:enumeration>
552
+ <xs:enumeration value="RESIGNED">
553
+ <xs:annotation>
554
+ <xs:documentation>This is a resigned appointment</xs:documentation>
555
+ </xs:annotation>
556
+ </xs:enumeration>
557
+ </xs:restriction>
558
+ </xs:simpleType>
559
+ </xs:element>
560
+ <xs:element name="AppointmentType">
561
+ <xs:annotation>
562
+ <xs:documentation>Class of appointment. (dir, sec etc).</xs:documentation>
563
+ </xs:annotation>
564
+ <xs:simpleType>
565
+ <xs:restriction base="xs:string">
566
+ <xs:enumeration value="DIR">
567
+ <xs:annotation>
568
+ <xs:documentation>This appointment is for a Director</xs:documentation>
569
+ </xs:annotation>
570
+ </xs:enumeration>
571
+ <xs:enumeration value="SEC">
572
+ <xs:annotation>
573
+ <xs:documentation>This appointment is for a Secretary</xs:documentation>
574
+ </xs:annotation>
575
+ </xs:enumeration>
576
+ <xs:enumeration value="NOMDIR">
577
+ <xs:annotation>
578
+ <xs:documentation>This appointment is for a Nominated Director</xs:documentation>
579
+ </xs:annotation>
580
+ </xs:enumeration>
581
+ <xs:enumeration value="NOMSEC">
582
+ <xs:annotation>
583
+ <xs:documentation>This appointment is for a Nominated Secretary</xs:documentation>
584
+ </xs:annotation>
585
+ </xs:enumeration>
586
+ <xs:enumeration value="LLPMEM">
587
+ <xs:annotation>
588
+ <xs:documentation>This appointment is for a LLP Member</xs:documentation>
589
+ </xs:annotation>
590
+ </xs:enumeration>
591
+ <xs:enumeration value="LLPDMEM">
592
+ <xs:annotation>
593
+ <xs:documentation>This appointment is for a LLP Designated Member</xs:documentation>
594
+ </xs:annotation>
595
+ </xs:enumeration>
596
+ <xs:enumeration value="LLPGPART">
597
+ <xs:annotation>
598
+ <xs:documentation>This appointment is a General Partner in a Limited Partnership</xs:documentation>
599
+ </xs:annotation>
600
+ </xs:enumeration>
601
+ <xs:enumeration value="LLPPART">
602
+ <xs:annotation>
603
+ <xs:documentation>This appointment is a Limited Partner in a Limited Partnership</xs:documentation>
604
+ </xs:annotation>
605
+ </xs:enumeration>
606
+ <xs:enumeration value="EEIGMAN">
607
+ <xs:annotation>
608
+ <xs:documentation>This appointment is a Manager of an EEIG</xs:documentation>
609
+ </xs:annotation>
610
+ </xs:enumeration>
611
+ <xs:enumeration value="PERSAUTHA">
612
+ <xs:annotation>
613
+ <xs:documentation>This appointment is a Person Authorised to Accept</xs:documentation>
614
+ </xs:annotation>
615
+ </xs:enumeration>
616
+ <xs:enumeration value="PERSAUTHR">
617
+ <xs:annotation>
618
+ <xs:documentation>This appointment is a Person Authorised to Represent</xs:documentation>
619
+ </xs:annotation>
620
+ </xs:enumeration>
621
+ <xs:enumeration value="PERSAUTHRA">
622
+ <xs:annotation>
623
+ <xs:documentation>This appointment is a Person Authorised to Represent and Accept</xs:documentation>
624
+ </xs:annotation>
625
+ </xs:enumeration>
626
+ <xs:enumeration value="CICMAN">
627
+ <xs:annotation>
628
+ <xs:documentation>This appointment is a CIC Manager</xs:documentation>
629
+ </xs:annotation>
630
+ </xs:enumeration>
631
+ <xs:enumeration value="RECMAN">
632
+ <xs:annotation>
633
+ <xs:documentation>This appointment is a Receiver and Manager</xs:documentation>
634
+ </xs:annotation>
635
+ </xs:enumeration>
636
+ <xs:enumeration value="FACTOR">
637
+ <xs:annotation>
638
+ <xs:documentation>This appointment is a Judicial Factor</xs:documentation>
639
+ </xs:annotation>
640
+ </xs:enumeration>
641
+ </xs:restriction>
642
+ </xs:simpleType>
643
+ </xs:element>
644
+ <xs:element name="NumCurrentAppt">
645
+ <xs:annotation>
646
+ <xs:documentation>The number of current appointments for company/person</xs:documentation>
647
+ </xs:annotation>
648
+ <xs:simpleType>
649
+ <xs:restriction base="xs:integer">
650
+ <xs:minInclusive value="0"/>
651
+ </xs:restriction>
652
+ </xs:simpleType>
653
+ </xs:element>
654
+ <xs:element name="NumResignedAppt">
655
+ <xs:annotation>
656
+ <xs:documentation>The number of resigned appointments for company/person</xs:documentation>
657
+ </xs:annotation>
658
+ <xs:simpleType>
659
+ <xs:restriction base="xs:integer">
660
+ <xs:minInclusive value="0"/>
661
+ </xs:restriction>
662
+ </xs:simpleType>
663
+ </xs:element>
664
+ <xs:element name="NumDissolvedAppt">
665
+ <xs:annotation>
666
+ <xs:documentation>The number of dissolved appointments</xs:documentation>
667
+ </xs:annotation>
668
+ <xs:simpleType>
669
+ <xs:restriction base="xs:integer">
670
+ <xs:minInclusive value="0"/>
671
+ </xs:restriction>
672
+ </xs:simpleType>
673
+ </xs:element>
674
+ <xs:element name="NumAppointments">
675
+ <xs:annotation>
676
+ <xs:documentation>Total number of personal appointments</xs:documentation>
677
+ </xs:annotation>
678
+ <xs:simpleType>
679
+ <xs:restriction base="xs:integer">
680
+ <xs:minInclusive value="0"/>
681
+ </xs:restriction>
682
+ </xs:simpleType>
683
+ </xs:element>
684
+ <xs:element name="Surname" type="xs:string">
685
+ <xs:annotation>
686
+ <xs:documentation>Person Surname</xs:documentation>
687
+ </xs:annotation>
688
+ </xs:element>
689
+ <xs:element name="Forename" type="xs:string">
690
+ <xs:annotation>
691
+ <xs:documentation>Person Forename</xs:documentation>
692
+ </xs:annotation>
693
+ </xs:element>
694
+ <xs:element name="Title" type="xs:string">
695
+ <xs:annotation>
696
+ <xs:documentation>Person title</xs:documentation>
697
+ </xs:annotation>
698
+ </xs:element>
699
+ <xs:element name="Honours" type="xs:string">
700
+ <xs:annotation>
701
+ <xs:documentation>Person Honours</xs:documentation>
702
+ </xs:annotation>
703
+ </xs:element>
704
+ <xs:element name="PostTown" type="xs:string">
705
+ <xs:annotation>
706
+ <xs:documentation>Address post town</xs:documentation>
707
+ </xs:annotation>
708
+ </xs:element>
709
+ <xs:element name="County" type="xs:string">
710
+ <xs:annotation>
711
+ <xs:documentation>Address County</xs:documentation>
712
+ </xs:annotation>
713
+ </xs:element>
714
+ <xs:element name="Country" type="xs:string">
715
+ <xs:annotation>
716
+ <xs:documentation>Address Country</xs:documentation>
717
+ </xs:annotation>
718
+ </xs:element>
719
+ <xs:element name="Postcode" type="xs:string">
720
+ <xs:annotation>
721
+ <xs:documentation>Address Postcode</xs:documentation>
722
+ </xs:annotation>
723
+ </xs:element>
724
+ <xs:element name="PostCode" type="xs:string">
725
+ <xs:annotation>
726
+ <xs:documentation>Deprecated. Address Postcode</xs:documentation>
727
+ </xs:annotation>
728
+ </xs:element>
729
+ <xs:element name="Nationality" type="xs:string">
730
+ <xs:annotation>
731
+ <xs:documentation>Person Nationality</xs:documentation>
732
+ </xs:annotation>
733
+ </xs:element>
734
+ <xs:element name="PersonID" type="xs:string">
735
+ <xs:annotation>
736
+ <xs:documentation>Unique identifier for Person (Private Database key. May be used in subsequent data requests)</xs:documentation>
737
+ </xs:annotation>
738
+ </xs:element>
739
+ <xs:element name="DOB" type="xs:date">
740
+ <xs:annotation>
741
+ <xs:documentation>Date of Birth</xs:documentation>
742
+ </xs:annotation>
743
+ </xs:element>
744
+ <xs:element name="AppointmentDate" type="xs:date">
745
+ <xs:annotation>
746
+ <xs:documentation>Date of appointment</xs:documentation>
747
+ </xs:annotation>
748
+ </xs:element>
749
+ <xs:element name="ResignationDate" type="xs:date">
750
+ <xs:annotation>
751
+ <xs:documentation>Date of resignation</xs:documentation>
752
+ </xs:annotation>
753
+ </xs:element>
754
+ <xs:element name="ApptDatePrefix">
755
+ <xs:annotation>
756
+ <xs:documentation>Appointment Date Prefix. Used if the original data capture by Companies House took place during 1991/1992, taking the appointment date from the latest Annual Return.</xs:documentation>
757
+ </xs:annotation>
758
+ <xs:simpleType>
759
+ <xs:restriction base="xs:string">
760
+ <xs:enumeration value="PRE"/>
761
+ </xs:restriction>
762
+ </xs:simpleType>
763
+ </xs:element>
764
+ <xs:element name="ServiceAddressInd" type="xs:boolean">
765
+ <xs:annotation>
766
+ <xs:documentation>Indicates that this is a service address</xs:documentation>
767
+ </xs:annotation>
768
+ </xs:element>
769
+ <xs:element name="Person" type="PersonType">
770
+ <xs:annotation>
771
+ <xs:documentation>Person details</xs:documentation>
772
+ </xs:annotation>
773
+ </xs:element>
774
+ <xs:element name="PersonAddress" type="PersonAddrType">
775
+ <xs:annotation>
776
+ <xs:documentation>Person Address</xs:documentation>
777
+ </xs:annotation>
778
+ </xs:element>
779
+ <xs:complexType name="PersonAddrType">
780
+ <xs:annotation>
781
+ <xs:documentation>Person AddressComplex Type</xs:documentation>
782
+ </xs:annotation>
783
+ <xs:sequence>
784
+ <xs:element name="CareOfName" minOccurs="0">
785
+ <xs:simpleType>
786
+ <xs:restriction base="xs:string">
787
+ <xs:maxLength value="100"/>
788
+ </xs:restriction>
789
+ </xs:simpleType>
790
+ </xs:element>
791
+ <xs:element name="POBox" minOccurs="0">
792
+ <xs:simpleType>
793
+ <xs:restriction base="xs:string">
794
+ <xs:maxLength value="10"/>
795
+ </xs:restriction>
796
+ </xs:simpleType>
797
+ </xs:element>
798
+ <xs:element ref="AddressLine" maxOccurs="unbounded"/>
799
+ <xs:element ref="PostTown"/>
800
+ <xs:element ref="County" minOccurs="0"/>
801
+ <xs:element ref="Country" minOccurs="0"/>
802
+ <xs:element ref="Postcode" minOccurs="0"/>
803
+ </xs:sequence>
804
+ </xs:complexType>
805
+ <xs:complexType name="PersonType">
806
+ <xs:annotation>
807
+ <xs:documentation>Person Complex Type</xs:documentation>
808
+ </xs:annotation>
809
+ <xs:sequence>
810
+ <xs:element name="CorporateIndicator" type="xs:boolean" minOccurs="0">
811
+ <xs:annotation>
812
+ <xs:documentation>Indicates that the appointment relates to a corporate body</xs:documentation>
813
+ </xs:annotation>
814
+ </xs:element>
815
+ <xs:element ref="Forename" minOccurs="0" maxOccurs="unbounded"/>
816
+ <xs:element ref="Surname"/>
817
+ <xs:element ref="Title" minOccurs="0"/>
818
+ <xs:element ref="DOB" minOccurs="0"/>
819
+ <xs:element ref="Nationality" minOccurs="0"/>
820
+ <xs:element name="CountryOfResidence" type="xs:string" minOccurs="0"/>
821
+ <xs:element name="PersonAddress" type="PersonAddrType"/>
822
+ </xs:sequence>
823
+ </xs:complexType>
824
+ <xs:element name="CoSearchItem" type="CoSearchCPLXType">
825
+ <xs:annotation>
826
+ <xs:documentation>Single company search result row</xs:documentation>
827
+ </xs:annotation>
828
+ </xs:element>
829
+ <xs:complexType name="CoSearchCPLXType">
830
+ <xs:annotation>
831
+ <xs:documentation>Company Search result Cplx type</xs:documentation>
832
+ </xs:annotation>
833
+ <xs:sequence>
834
+ <xs:element ref="CompanyName"/>
835
+ <xs:element ref="CompanyNumber"/>
836
+ <xs:element ref="DataSet"/>
837
+ <xs:element ref="CompanyIndexStatus" minOccurs="0"/>
838
+ <xs:element ref="CompanyDate" minOccurs="0"/>
839
+ <xs:element ref="SearchMatch" minOccurs="0"/>
840
+ </xs:sequence>
841
+ </xs:complexType>
842
+ <xs:element name="StartDate" type="xs:date">
843
+ <xs:annotation>
844
+ <xs:documentation>Range Start Date</xs:documentation>
845
+ </xs:annotation>
846
+ </xs:element>
847
+ <xs:element name="EndDate" type="xs:date">
848
+ <xs:annotation>
849
+ <xs:documentation>Range End Date</xs:documentation>
850
+ </xs:annotation>
851
+ </xs:element>
852
+ <xs:element name="SatisfiedChargesInd" type="xs:boolean">
853
+ <xs:annotation>
854
+ <xs:documentation>Indicates whether satisfied charges are required</xs:documentation>
855
+ </xs:annotation>
856
+ </xs:element>
857
+ <xs:element name="ChargeNumber" type="xs:integer">
858
+ <xs:annotation>
859
+ <xs:documentation>Unique Charge Identified (Private Database reference - used in susequent requests)</xs:documentation>
860
+ </xs:annotation>
861
+ </xs:element>
862
+ <xs:element name="ChargeCode">
863
+ <xs:annotation>
864
+ <xs:documentation>Unique Charge Code (For charges registerd afer 6th April 2013)</xs:documentation>
865
+ </xs:annotation>
866
+ <xs:simpleType>
867
+ <xs:restriction base="xs:string">
868
+ <xs:minLength value="12"/>
869
+ <xs:maxLength value="16"/>
870
+ <xs:pattern value="[0-9A-Z]{2}[0-9]*"/>
871
+ </xs:restriction>
872
+ </xs:simpleType>
873
+ </xs:element>
874
+ <xs:element name="Description" type="xs:string">
875
+ <xs:annotation>
876
+ <xs:documentation>Description</xs:documentation>
877
+ </xs:annotation>
878
+ </xs:element>
879
+ <xs:element name="CreationDate" type="xs:date">
880
+ <xs:annotation>
881
+ <xs:documentation>Creation Date</xs:documentation>
882
+ </xs:annotation>
883
+ </xs:element>
884
+ <xs:element name="AlterationToChgInd" type="xs:boolean">
885
+ <xs:annotation>
886
+ <xs:documentation>Alteration to charge indicator</xs:documentation>
887
+ </xs:annotation>
888
+ </xs:element>
889
+ <xs:element name="PersonEntChgName" type="xs:string">
890
+ <xs:annotation>
891
+ <xs:documentation>Person entitled to charge Name</xs:documentation>
892
+ </xs:annotation>
893
+ </xs:element>
894
+ <xs:element name="AdditionalPersonsEntitled" type="xs:boolean">
895
+ <xs:annotation>
896
+ <xs:documentation>Additional Persons Entitled to the Charge Indicator</xs:documentation>
897
+ </xs:annotation>
898
+ </xs:element>
899
+ <xs:element name="SatisfiedDate" type="xs:date">
900
+ <xs:annotation>
901
+ <xs:documentation>Satisfication Date</xs:documentation>
902
+ </xs:annotation>
903
+ </xs:element>
904
+ <xs:element name="ChargeSatisfied">
905
+ <xs:annotation>
906
+ <xs:documentation>Charge Satisfied Indicator</xs:documentation>
907
+ </xs:annotation>
908
+ <xs:simpleType>
909
+ <xs:restriction base="xs:string">
910
+ <xs:enumeration value="OUTSTANDING"/>
911
+ <xs:enumeration value="SATISFIED"/>
912
+ <xs:enumeration value="PARTSATISFIED"/>
913
+ </xs:restriction>
914
+ </xs:simpleType>
915
+ </xs:element>
916
+ <xs:element name="DetailsOnFicheInd" type="xs:boolean">
917
+ <xs:annotation>
918
+ <xs:documentation>Additional details available on Fiche indicator</xs:documentation>
919
+ </xs:annotation>
920
+ </xs:element>
921
+ <xs:element name="ReceiverAptdInd" type="xs:boolean">
922
+ <xs:annotation>
923
+ <xs:documentation>Receiver Appointed Indicator</xs:documentation>
924
+ </xs:annotation>
925
+ </xs:element>
926
+ <xs:element name="ShortParticularsDesc" type="xs:string">
927
+ <xs:annotation>
928
+ <xs:documentation>Short particulars of charge</xs:documentation>
929
+ </xs:annotation>
930
+ </xs:element>
931
+ <xs:element name="IncludeResignedInd" type="xs:boolean">
932
+ <xs:annotation>
933
+ <xs:documentation>Indicates whether resigned appointments should be returned</xs:documentation>
934
+ </xs:annotation>
935
+ </xs:element>
936
+ <xs:element name="MadeUpDate" type="xs:date">
937
+ <xs:annotation>
938
+ <xs:documentation>Document made up date</xs:documentation>
939
+ </xs:annotation>
940
+ </xs:element>
941
+ <xs:element name="Media">
942
+ <xs:annotation>
943
+ <xs:documentation>Image storage media</xs:documentation>
944
+ </xs:annotation>
945
+ <xs:simpleType>
946
+ <xs:restriction base="xs:string">
947
+ <xs:enumeration value="ARCHIVE"/>
948
+ <xs:enumeration value="JUKEBOX"/>
949
+ <xs:enumeration value="CACHE"/>
950
+ <xs:enumeration value="UNAVAILABLE"/>
951
+ </xs:restriction>
952
+ </xs:simpleType>
953
+ </xs:element>
954
+ <xs:element name="OfficerType">
955
+ <xs:annotation>
956
+ <xs:documentation>The officer type</xs:documentation>
957
+ </xs:annotation>
958
+ <xs:simpleType>
959
+ <xs:restriction base="xs:string">
960
+ <xs:enumeration value="CUR"/>
961
+ <xs:enumeration value="LLP"/>
962
+ <xs:enumeration value="DIS"/>
963
+ <xs:enumeration value="EUR"/>
964
+ </xs:restriction>
965
+ </xs:simpleType>
966
+ </xs:element>
967
+ <xs:element name="NumPages" type="xs:integer">
968
+ <xs:annotation>
969
+ <xs:documentation>Number of pages in document</xs:documentation>
970
+ </xs:annotation>
971
+ </xs:element>
972
+ <xs:element name="NumDisqualOrders" type="xs:integer">
973
+ <xs:annotation>
974
+ <xs:documentation>Number of disqualified orders</xs:documentation>
975
+ </xs:annotation>
976
+ </xs:element>
977
+ <xs:element name="DocRequestKey" type="xs:string">
978
+ <xs:annotation>
979
+ <xs:documentation>A Unique key referencing document on image system</xs:documentation>
980
+ </xs:annotation>
981
+ </xs:element>
982
+ <xs:element name="DocumentName" type="xs:string">
983
+ <xs:annotation>
984
+ <xs:documentation>The name of the document as delivered to the image repository server</xs:documentation>
985
+ </xs:annotation>
986
+ </xs:element>
987
+ <xs:element name="Occupation" type="xs:string">
988
+ <xs:annotation>
989
+ <xs:documentation>The occupation of the officer</xs:documentation>
990
+ </xs:annotation>
991
+ </xs:element>
992
+ <xs:element name="NumAppInd">
993
+ <xs:annotation>
994
+ <xs:documentation>Indicates that the number of appointments is greater than the returned value</xs:documentation>
995
+ </xs:annotation>
996
+ <xs:simpleType>
997
+ <xs:restriction base="xs:string">
998
+ <xs:enumeration value="GE1000"/>
999
+ </xs:restriction>
1000
+ </xs:simpleType>
1001
+ </xs:element>
1002
+ <xs:element name="OfficerSearchItem">
1003
+ <xs:complexType>
1004
+ <xs:complexContent>
1005
+ <xs:extension base="OfficerSearchItemBase">
1006
+ <xs:sequence>
1007
+ <xs:element ref="PersonID"/>
1008
+ <xs:element ref="SearchMatch" minOccurs="0"/>
1009
+ <xs:element name="DuplicateOfficers">
1010
+ <xs:complexType>
1011
+ <xs:sequence>
1012
+ <xs:element ref="DuplicateOfficerSearchItem" maxOccurs="unbounded"/>
1013
+ </xs:sequence>
1014
+ </xs:complexType>
1015
+ </xs:element>
1016
+ </xs:sequence>
1017
+ </xs:extension>
1018
+ </xs:complexContent>
1019
+ </xs:complexType>
1020
+ </xs:element>
1021
+ <xs:complexType name="OfficerSearchItemBase">
1022
+ <xs:sequence>
1023
+ <xs:element ref="Title"/>
1024
+ <xs:element ref="Surname"/>
1025
+ <xs:element ref="Forename"/>
1026
+ <xs:element ref="DOB"/>
1027
+ <xs:element ref="PostTown"/>
1028
+ <xs:element ref="Postcode"/>
1029
+ <xs:element name="CountryOfResidence" type="xs:string">
1030
+ <xs:annotation>
1031
+ <xs:documentation>Country where officer is normally resident</xs:documentation>
1032
+ </xs:annotation>
1033
+ </xs:element>
1034
+ </xs:sequence>
1035
+ </xs:complexType>
1036
+ <xs:element name="DuplicateOfficerSearchItem" type="OfficerSearchItemBase"/>
1037
+ </xs:schema>