<?xml version="1.0" encoding="UTF-8" ?>
<xsd:schema version='1.2' elementFormDefault='qualified' attributeFormDefault='unqualified' id='CISrequest' targetNamespace='http://www.govtalk.gov.uk/taxation/CISrequest' xmlns='http://www.govtalk.gov.uk/taxation/CISrequest' xmlns:xsd='http://www.w3.org/2001/XMLSchema'>
  <xsd:include schemaLocation='http://www.inlandrevenue.gov.uk/schemas/core-v2-0.xsd' />
  <xsd:annotation>
    <xsd:appinfo>
      <gms:Metadata xmlns:gms='http://www.govtalk.gov.uk/CM/gms-xs'>
        <gms:Audience>e-service developers</gms:Audience>
        <gms:Contributor>DecisionSoft Ltd</gms:Contributor>
        <gms:Creator>Inland Revenue</gms:Creator>
        <gms:Date>
          <gms:Created>2005-02-10</gms:Created>
        </gms:Date>
        <gms:Date>
          <gms:Modified>2006-07-27</gms:Modified>
        </gms:Date>
        <gms:Format>
          <gms:MediaType>text/xml</gms:MediaType>
          <gms:Syntax>http://www.w3.org/2001/XMLSchema</gms:Syntax>
          <gms:Description>XML Schema, W3C Recommendation 2001</gms:Description>
        </gms:Format>
        <gms:Language>[ISO 639-2/B] ENG</gms:Language>
        <gms:Publisher>Inland Revenue</gms:Publisher>
        <gms:Relation>
          <gms:Requires>core-v2-0</gms:Requires>
        </gms:Relation>
        <gms:Relation>
          <gms:ProvidesDefinitionOf>IRenvelope</gms:ProvidesDefinitionOf>
        </gms:Relation>
        <gms:Relation>
          <gms:ProvidesDefinitionOf>CRNtype</gms:ProvidesDefinitionOf>
        </gms:Relation>
        <gms:Relation>
          <gms:ProvidesDefinitionOf>AOrefType</gms:ProvidesDefinitionOf>
        </gms:Relation>
        <gms:Rights>
          <gms:Copyright>(C) Crown Copyright 2005</gms:Copyright>
        </gms:Rights>
        <gms:Subject>
          <gms:Category>Economics, Finance and Tax</gms:Category>
        </gms:Subject>
        <gms:Title>CIS Request</gms:Title>
        <gms:Type>message</gms:Type>
      </gms:Metadata>
    </xsd:appinfo>
  </xsd:annotation>
  <xsd:element name='IRenvelope'>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element minOccurs='1' maxOccurs='1' ref='IRheader' />
        <xsd:element name='CISrequest' minOccurs='1' maxOccurs='1'>
          <xsd:complexType>
            <xsd:sequence>
              <xsd:element name='Contractor' minOccurs='1' maxOccurs='1'>
                <xsd:complexType>
                  <xsd:sequence>
                    <xsd:element name='UTR' type='UTRtype' minOccurs='1' maxOccurs='1' />
                    <xsd:element name='AOref' type='AOrefType' minOccurs='1' maxOccurs='1' />
                  </xsd:sequence>
                </xsd:complexType>
              </xsd:element>
              <xsd:element name='Subcontractor' minOccurs='1' maxOccurs='100'>
                <xsd:complexType>
                  <xsd:sequence>
                    <xsd:element name='Action' minOccurs='1' maxOccurs='1'>
                      <xsd:simpleType>
                        <xsd:restriction base='xsd:string'>
                          <xsd:enumeration value='match' />
                          <xsd:enumeration value='verify' />
                        </xsd:restriction>
                      </xsd:simpleType>
                    </xsd:element>
                    <xsd:element name='Type' minOccurs='1' maxOccurs='1'>
                      <xsd:simpleType>
                        <xsd:restriction base='xsd:string'>
                          <xsd:enumeration value='soletrader' />
                          <xsd:enumeration value='partnership' />
                          <xsd:enumeration value='trust' />
                          <xsd:enumeration value='company' />
                        </xsd:restriction>
                      </xsd:simpleType>
                    </xsd:element>
                    <xsd:choice minOccurs='1' maxOccurs='1'>
                      <xsd:element name='Name' type='NameStructure' minOccurs='1' maxOccurs='1' />
                      <xsd:element name='TradingName' minOccurs='1' maxOccurs='1'>
                        <xsd:simpleType>
                          <xsd:restriction base='PAYEstringType'>
                            <xsd:maxLength value='56' />
                            <xsd:pattern value='\S.*' />
                          </xsd:restriction>
                        </xsd:simpleType>
                      </xsd:element>
                    </xsd:choice>
                    <xsd:element name='WorksRef' minOccurs='0' maxOccurs='1'>
                      <xsd:simpleType>
                        <xsd:restriction base='PAYEstringType'>
                          <xsd:maxLength value='20' />
                        </xsd:restriction>
                      </xsd:simpleType>
                    </xsd:element>
                    <xsd:element name='UTR' type='UTRtype' minOccurs='0' maxOccurs='1' />
                    <xsd:element name='CRN' type='CRNtype' minOccurs='0' maxOccurs='1' />
                    <xsd:element name='NINO' type='NINOtype' minOccurs='0' maxOccurs='1' />
                    <xsd:element name='Partnership' minOccurs='0' maxOccurs='1'>
                      <xsd:complexType>
                        <xsd:sequence>
                          <xsd:element name='Name' minOccurs='0' maxOccurs='1'>
                            <xsd:simpleType>
                              <xsd:restriction base='PAYEstringType'>
                                <xsd:maxLength value='56' />
                                <xsd:pattern value='\S.*' />
                              </xsd:restriction>
                            </xsd:simpleType>
                          </xsd:element>
                          <xsd:element name='UTR' type='UTRtype' minOccurs='0' maxOccurs='1' />
                        </xsd:sequence>
                      </xsd:complexType>
                    </xsd:element>
                    <xsd:element name='Address' type='InternationalAddressStructure' minOccurs='0' maxOccurs='1' />
                    <xsd:element name='Telephone' type='TelephoneNumberType' minOccurs='0' maxOccurs='1' />
                  </xsd:sequence>
                </xsd:complexType>
              </xsd:element>
              <xsd:element name='Declaration' minOccurs='1' maxOccurs='1'>
                <xsd:simpleType>
                  <xsd:restriction base='YesNoType'>
                    <xsd:enumeration value='yes' />
                  </xsd:restriction>
                </xsd:simpleType>
              </xsd:element>
            </xsd:sequence>
          </xsd:complexType>
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  <xsd:simpleType name='CRNtype'>
    <xsd:restriction base='xsd:string'>
      <xsd:pattern value='[A-Za-z]{2}[0-9]{1,6}|[0-9]{1,8}' />
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name='AOrefType'>
    <xsd:restriction base='xsd:string'>
      <xsd:length value='13' />
      <xsd:pattern value='[0-9]{3}P[A-Za-z][A-Za-z0-9]{8}' />
    </xsd:restriction>
  </xsd:simpleType>
</xsd:schema>

