<?xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
		targetNamespace="http://xmlgw.cocredo.com/v1-0/docs/schemas" 
		xmlns="http://xmlgw.cocredo.com/v1-0/docs/schemas"
		elementFormDefault="qualified">
	<xsd:annotation>
		<xsd:documentation>
		This schema should be used for requesting a director report.
		</xsd:documentation>
	</xsd:annotation>
	<xsd:element name="directorReportResponse">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="personID" type="personIDType" />
				<xsd:element name="person">
					<xsd:complexType>
						<xsd:sequence>
							<xsd:element name="title" type="dirNameType" minOccurs="0" />
							<xsd:element name="forename" type="dirNameType" minOccurs="0" maxOccurs="3" />
							<xsd:element name="surname" type="dirNameType" minOccurs="0" />
							<xsd:element name="personAddress" type="addressType" minOccurs="0" />
							<xsd:element name="dob" type="xsd:date" minOccurs="0" />
							<xsd:element name="nationality" minOccurs="0">
								<xsd:simpleType>
									<xsd:restriction base="xsd:string">
										<xsd:minLength value="1" />
										<xsd:maxLength value="100" />
									</xsd:restriction>
								</xsd:simpleType>
							</xsd:element>
						</xsd:sequence>
					</xsd:complexType>
				</xsd:element>
				<xsd:element name="appointmentCount">
					<xsd:complexType>
						<xsd:sequence>
							<xsd:element name="numCurrentAppt" type="xsd:integer" minOccurs="0" />
							<xsd:element name="numDissolvedAppt" type="xsd:integer" minOccurs="0" />
							<xsd:element name="numResignedAppt" type="xsd:integer" minOccurs="0" />
						</xsd:sequence>
					</xsd:complexType>
				</xsd:element>
				<xsd:element name="disqualification">
					<xsd:complexType>
						<xsd:sequence>
							<xsd:element name="disqReason" type="xsd:string" minOccurs="0" />
							<xsd:element name="disqStartDate" type="xsd:date" minOccurs="0" />
							<xsd:element name="disqEndDate" type="xsd:date" minOccurs="0" />
						</xsd:sequence>
					</xsd:complexType>
				</xsd:element>
				<xsd:element name="appointment" minOccurs="0" maxOccurs="unbounded">
					<xsd:complexType>
						<xsd:sequence>
							<xsd:element name="companyName" type="companyNameType" minOccurs="0" />
							<xsd:element name="registrationNumber" type="companyRegNumType" minOccurs="0" />
							<xsd:element name="companyStatus" type="statusTextType" minOccurs="0" />
							<xsd:element name="appointmentStatus" type="statusTextType" minOccurs="0" />
							<xsd:element name="appointmentType" type="appointmentTypeType" minOccurs="0" />
							<xsd:element name="appointmentDate" type="xsd:date" minOccurs="0" />
							<xsd:element name="resignationDate" type="xsd:date" minOccurs="0" />
							<xsd:element name="occupation" minOccurs="0">
								<xsd:simpleType>
									<xsd:restriction base="xsd:string">
										<xsd:minLength value="1" />
										<xsd:maxLength value="100" />
									</xsd:restriction>
								</xsd:simpleType>
							</xsd:element>
						</xsd:sequence>
					</xsd:complexType>
				</xsd:element>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<!-- Data types -->
	<xsd:simpleType name="personIDType">
		<xsd:restriction base="xsd:string">
			<xsd:minLength value="1" />
			<xsd:maxLength value="600" />
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="dirNameType">
		<xsd:restriction base="xsd:string">
			<xsd:minLength value="1" />
			<xsd:maxLength value="100" />
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:complexType name="addressType">
		<xsd:sequence>
			<xsd:element name="address1" minOccurs="0" maxOccurs="1">
				<xsd:simpleType>
					<xsd:restriction base="xsd:string">
						<xsd:minLength value="1" />
						<xsd:maxLength value="200" />
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:element>
			<xsd:element name="address2" minOccurs="0" maxOccurs="1">
				<xsd:simpleType>
					<xsd:restriction base="xsd:string">
						<xsd:minLength value="1" />
						<xsd:maxLength value="100" />
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:element>
			<xsd:element name="address3" minOccurs="0" maxOccurs="1">
				<xsd:simpleType>
					<xsd:restriction base="xsd:string">
						<xsd:minLength value="1" />
						<xsd:maxLength value="100" />
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:element>
			<xsd:element name="addressTown" minOccurs="0" maxOccurs="1">
				<xsd:simpleType>
					<xsd:restriction base="xsd:string">
						<xsd:minLength value="1" />
						<xsd:maxLength value="100" />
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:element>
			<xsd:element name="addressCounty" minOccurs="0" maxOccurs="1">
				<xsd:simpleType>
					<xsd:restriction base="xsd:string">
						<xsd:minLength value="1" />
						<xsd:maxLength value="100" />
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:element>
			<xsd:element name="addressPostcode" minOccurs="0" maxOccurs="1">
				<xsd:simpleType>
					<xsd:restriction base="xsd:string">
						<xsd:minLength value="3" />
						<xsd:maxLength value="8" />
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:element>
			<xsd:element name="addressCountry" minOccurs="0" maxOccurs="1">
				<xsd:simpleType>
					<xsd:restriction base="xsd:string">
						<xsd:minLength value="1" />
						<xsd:maxLength value="100" />
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:simpleType name="companyNameType">
		<xsd:restriction base="xsd:string">
			<xsd:maxLength value="200" />
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="companyRegNumType">
		<xsd:restriction base="xsd:string">
			<xsd:minLength value="1" />
			<xsd:maxLength value="30" />
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="statusTextType">
		<xsd:restriction base="xsd:string">
			<xsd:minLength value="1" />
			<xsd:maxLength value="100" />
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="appointmentTypeType">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="DIR">
				<xsd:annotation>
				<xsd:documentation>This appointment is for a Director</xsd:documentation>
				</xsd:annotation>
			</xsd:enumeration>
			<xsd:enumeration value="SEC">
				<xsd:annotation>
				<xsd:documentation>This appointment is for a Secretary</xsd:documentation>
				</xsd:annotation>
			</xsd:enumeration>
			<xsd:enumeration value="NOMDIR">
				<xsd:annotation>
				<xsd:documentation>This appointment is for a Nominated Director</xsd:documentation>
				</xsd:annotation>
			</xsd:enumeration>
			<xsd:enumeration value="NOMSEC">
				<xsd:annotation>
				<xsd:documentation>This appointment is for a Nominated Secretary</xsd:documentation>
				</xsd:annotation>
			</xsd:enumeration>
			<xsd:enumeration value="DIRSEC">
				<xsd:annotation>
				<xsd:documentation>This appointment is both a Director and a Secretary</xsd:documentation>
				</xsd:annotation>
			</xsd:enumeration>
			<xsd:enumeration value="DESMEM">
				<xsd:annotation>
				<xsd:documentation>This appointment is a Designated Member</xsd:documentation>
				</xsd:annotation>
			</xsd:enumeration>
			<xsd:enumeration value="MEMBER">
				<xsd:annotation>
				<xsd:documentation>This appointment is a Member</xsd:documentation>
				</xsd:annotation>
			</xsd:enumeration>
		</xsd:restriction>
	</xsd:simpleType>
</xsd:schema>