<?xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
		targetNamespace="http://xmlgw.cocredo.com/v2-0/docs/schemas" 
		xmlns="http://xmlgw.cocredo.com/v2-0/docs/schemas"
		elementFormDefault="qualified">
	<xsd:annotation>
		<xsd:documentation>
		This schema should be used to search for a company. All search variables are optional except country code,
		however at least one of these optional variables must always be included.
		</xsd:documentation>
	</xsd:annotation>
	<xsd:element name="companySearch">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="countryCode" type="countryCodeType" />
				<xsd:element name="cocredoId" type="xsd:integer" minOccurs="0" />
				<xsd:element name="companyName" type="companyNameType" minOccurs="0" />
				<xsd:element name="companyRegNum" type="companyRegNumType" minOccurs="0" />
				<xsd:element name="companyVatNum" type="companyVatNumType" minOccurs="0" />
				<xsd:element name="companyPhone" minOccurs="0">
					<xsd:simpleType>
						<xsd:restriction base="xsd:string">
							<xsd:minLength value="5" />
							<xsd:maxLength value="25" />
						</xsd:restriction>
					</xsd:simpleType>
				</xsd:element>
				<xsd:element name="postcode" minOccurs="0">
					<xsd:simpleType>
						<xsd:restriction base="xsd:string">
							<xsd:minLength value="1" />
							<xsd:maxLength value="20" />
						</xsd:restriction>
					</xsd:simpleType>
				</xsd:element>
				<xsd:element name="town" type="xsd:string" minOccurs="0" />
				<xsd:element name="geographicAreaCode" type="geographicAreaCodeType" minOccurs="0" />
				<xsd:element name="purchaseReasonCode" type="xsd:integer" minOccurs="0" />
				<xsd:element name="customerReference" type="xsd:string" minOccurs="0" />
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<!-- Data types -->
	<xsd:simpleType name="companyRegNumType">
		<xsd:restriction base="xsd:string">
			<xsd:minLength value="1" />
			<xsd:maxLength value="50" />
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="companyVatNumType">
		<xsd:restriction base="xsd:string">
			<xsd:minLength value="1" />
			<xsd:maxLength value="50" />
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="companyNameType">
		<xsd:restriction base="xsd:string">
			<xsd:minLength value="1" />
			<xsd:maxLength value="200" />
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="countryCodeType">
		<xsd:restriction base="xsd:string">
			<xsd:length value="2" />
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="geographicAreaCodeType">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="AL" />
			<xsd:enumeration value="AR" />
			<xsd:enumeration value="AZ" />
			<xsd:enumeration value="AK" />
			<xsd:enumeration value="CA" />
			<xsd:enumeration value="CO" />
			<xsd:enumeration value="CT" />
			<xsd:enumeration value="DE" />
			<xsd:enumeration value="DC" />
			<xsd:enumeration value="FL" />
			<xsd:enumeration value="GA" />
			<xsd:enumeration value="HI" />
			<xsd:enumeration value="ID" />
			<xsd:enumeration value="IL" />
			<xsd:enumeration value="IN" />
			<xsd:enumeration value="IA" />
			<xsd:enumeration value="KS" />
			<xsd:enumeration value="KY" />
			<xsd:enumeration value="LA" />
			<xsd:enumeration value="ME" />
			<xsd:enumeration value="MD" />
			<xsd:enumeration value="MA" />
			<xsd:enumeration value="MI" />
			<xsd:enumeration value="MN" />
			<xsd:enumeration value="MS" />
			<xsd:enumeration value="MO" />
			<xsd:enumeration value="MT" />
			<xsd:enumeration value="NE" />
			<xsd:enumeration value="NV" />
			<xsd:enumeration value="NH" />
			<xsd:enumeration value="NJ" />
			<xsd:enumeration value="NM" />
			<xsd:enumeration value="NY" />
			<xsd:enumeration value="NC" />
			<xsd:enumeration value="ND" />
			<xsd:enumeration value="OH" />
			<xsd:enumeration value="OK" />
			<xsd:enumeration value="OR" />
			<xsd:enumeration value="PA" />
			<xsd:enumeration value="PR" />
			<xsd:enumeration value="RI" />
			<xsd:enumeration value="SC" />
			<xsd:enumeration value="SD" />
			<xsd:enumeration value="TN" />
			<xsd:enumeration value="TX" />
			<xsd:enumeration value="UT" />
			<xsd:enumeration value="VT" />
			<xsd:enumeration value="VA" />
			<xsd:enumeration value="VI" />
			<xsd:enumeration value="WA" />
			<xsd:enumeration value="WV" />
			<xsd:enumeration value="WI" />
			<xsd:enumeration value="WY" />
			
			<xsd:enumeration value="AB" />
			<xsd:enumeration value="BC" />
			<xsd:enumeration value="MB" />
			<xsd:enumeration value="NB" />
			<xsd:enumeration value="NF" />
			<xsd:enumeration value="NT" />
			<xsd:enumeration value="NS" />
			<xsd:enumeration value="NU" />
			<xsd:enumeration value="ON" />
			<xsd:enumeration value="PE" />
			<xsd:enumeration value="QC" />
			<xsd:enumeration value="SK" />
			<xsd:enumeration value="YK" />
		</xsd:restriction>
	</xsd:simpleType>
</xsd:schema>