Add Applicant

Add Applicant submits a simplified DBS / DS applicant to uCheck over HTTP as an XML payload. For a full application (with employer details and the RB details matrix) see Add Application; to email an applicant a self-service link instead, see Add Applicant Request. Authenticate with your unique organisation key in the request.

Overview

The uCheck API is intended for use with clients wanting to either partially or totally circumvent the need to use the uCheck website hr-platform.co.uk/app/login for data entry. In the case of ‘addApplicant’, this can improve efficiency by enabling the end user to only have to enter data once, then submitting that data ‘the applicant’ to the uCheck system through the uCheck API.

Overview diagram

%%{init: {'theme':'base','themeVariables':{'fontFamily':'system-ui, -apple-system, Helvetica, Arial, sans-serif','fontSize':'15px','lineColor':'#f28e00','primaryColor':'#0094dd','primaryTextColor':'#ffffff','primaryBorderColor':'#112e51'}}}%% flowchart TD A([API: addApplicant]):::endpoint S1[Add Applicant Information]:::step S2[Add ID Details]:::step S3[Add Section Y Details]:::step S4[Add Employer /<br/>Employment Details]:::step S5[Approve / Pay]:::step S6([Countersign /<br/>Submit to DBS]):::endpoint A ==> S1 ==> S2 ==> S3 ==> S4 ==> S5 ==> S6 N1[API Submitted]:::note -.-> S1 N2[Completed on uCheck website]:::note -.-> S2 N3[Completed on uCheck website]:::note -.-> S3 N4[Completed on uCheck website]:::note -.-> S4 N5[Completed on uCheck website]:::note -.-> S5 N6[Completed by uCheck]:::note -.-> S6 classDef endpoint fill:#112e51,stroke:#0094dd,stroke-width:2px,color:#ffffff,rx:8,ry:8; classDef step fill:#0094dd,stroke:#112e51,stroke-width:2px,color:#ffffff,rx:8,ry:8; classDef note fill:#f2f0f0,stroke:#adadad,stroke-width:1px,color:#2b2a29,rx:6,ry:6;

API versions

The version is part of the URL path. One version is available:

Version

Endpoint

Behaviour

v2

POST /addApplicant/v2

Standard submission — the applicant identity supplied in the request is verified by uCheck.

See Endpoint versions for the full version matrix.

Rate limiting

Each registered IP is limited to 4 submissions per second, if this limit is exceeded the IP will be locked out for 1 hour and each submission will receive an HTTP 429 error.

Errors

Errors, as well as all responses, are returned to the user in XML, this enables the error message to be as descriptive as possible, which in turn will help with problem diagnosis and debugging.

A full list of error messages is available in the appendix.

Handling errors

It is recommended that all code using the API is capable of handling any errors. No request will be executed until all errors are clear.

When all errors are clear the API will respond to requests with an XML message containing a success message (See the Successful Requests section)

API functionality

Available API functions:

Function

Method

POST parameters

addApplicant

POST

xml — the XML applicant to add

Validation

Once a request has been successfully authenticated, data from within the request is validated to ensure it meets uCheck’s requirements prior to being fully processed. This validation is in two stages:

  1. Schema validation — the submitted XML request is validated against a uCheck XML schema. Any failure against the schema would stop the DBS / DS accepting the application; this check saves rejection later in the process.

  2. Business-rule validation — the submitted XML request is validated against a set of logic rules, the same rules that the uCheck website would apply to a manual submission.

    • Please see the Further Validation section.

Failure against either of these validations will result in various error messages as described in appendix A.

Request submission

Property

Value

API URL endpoint

https://api.ucheck.co.uk/addApplicant/v2

Request type

POST

POST data required

Key = xml, Value = the XML applicant document (see Data format)

Submit a single applicant as a POST request with one POST parameter named xml, containing the XML applicant document described below. See API versions.

Data format

This section describes in detail how to format request data such that the API will not reject it.

The schema is designed to cater for the batching of applications, this feature is not available from the API, only single applicants can be submitted.

  • Notes:

    • Nodes in italic are OPTIONAL

      • Optional nodes, if not populated, should not be submitted

    • Unless stated otherwise data must be ‘Uppercase’

    • Address history MUST be sequential with NO gaps

      • i.e the ‘ResidentFromGyearMonth’ must be the same as the ‘ResidentToGyearMonth’ of the previous entry.

      • No gaps in this address history is acceptable.

    • ‘Othernames’ if present MUST contain both Forename and Surname irrespective of which name had been changed.

    • Any dates that are missing or incorrectly formatted will default to a value of ‘1900-01’; therefore errors may indicate that dates are before the date of birth and could be misleading.

XML format

addApplicant Format

Complete, well-formed example request. Elements marked OPTIONAL in a comment may be omitted; all other elements are required. (The source specification presents this as an annotated example — it has been reformatted here into valid, copy-pasteable XML.)

<DBSApplicationsBatch>
  <DBSApplications>
    <DBSApplication>
      <!-- Unique application reference supplied by the customer -->
      <ApplicationReference>123456ABC</ApplicationReference>
      <!-- Main body containing the applicant details -->
      <ApplicantDetails>
        <!-- See acceptable 'Title' list in appendix -->
        <Title>MR</Title>
        <Forename>JOHN</Forename>
        <!-- OPTIONAL. Up to 3 middlenames can be submitted. Although optional,
             non-submission (where available) will slow application processing. -->
        <Middlenames>
          <Middlename>PAUL</Middlename>
          <Middlename>PETER</Middlename>
        </Middlenames>
        <PresentSurname>SMITH</PresentSurname>
        <CurrentAddress>
          <Address>
            <AddressLine1>32 WATERLOO STREET</AddressLine1>
            <!-- OPTIONAL -->
            <AddressLine2>MIDDLETON</AddressLine2>
            <AddressTown>TOWNSVILLE</AddressTown>
            <!-- OPTIONAL -->
            <AddressCounty>COUNTY</AddressCounty>
            <!-- MUST be a valid UK postcode -->
            <Postcode>MD6 5TR</Postcode>
            <!-- See acceptable 'Country Codes' list in appendix -->
            <CountryCode>GB</CountryCode>
          </Address>
          <!-- Format YYYY-MM (month must be 2 characters) -->
          <ResidentFromGyearMonth>2015-04</ResidentFromGyearMonth>
        </CurrentAddress>
        <!-- Up to 20 previous addresses can be submitted.
             Address history MUST cover 5 years. -->
        <PreviousAddress>
          <Address>
            <AddressLine1>35 WATERLOO STREET</AddressLine1>
            <!-- OPTIONAL -->
            <AddressLine2>MIDDLETON</AddressLine2>
            <AddressTown>TOWNSVILLE</AddressTown>
            <!-- OPTIONAL if UK address -->
            <AddressCounty>COUNTY</AddressCounty>
            <!-- OPTIONAL if non-UK address (also IM, GG, JE) -->
            <Postcode>MD6 5TR</Postcode>
            <!-- See acceptable 'Country Codes' list in appendix -->
            <CountryCode>GB</CountryCode>
          </Address>
          <ResidentDates>
            <!-- Format YYYY-MM (month must be 2 characters) -->
            <ResidentFromGyearMonth>2010-02</ResidentFromGyearMonth>
            <ResidentToGyearMonth>2015-04</ResidentToGyearMonth>
          </ResidentDates>
        </PreviousAddress>
        <!-- Format YYYY-MM-DD (month and day must be 2 characters) -->
        <DateOfBirth>1968-06-07</DateOfBirth>
        <!-- male / female (LOWERCASE) -->
        <Gender>male</Gender>
        <!-- MUST be the applicant email address and valid -->
        <ContactEmail>johnsmith@email.com</ContactEmail>
        <AdditionalApplicantDetails>
          <!-- Mother's maiden name MUST be entered -->
          <MotherMaidenname>SMITH</MotherMaidenname>
          <!-- OPTIONAL if birth surname has not changed, else mandatory -->
          <BirthSurname>JONES</BirthSurname>
          <BirthForename>JOHN</BirthForename>
          <!-- OPTIONAL if birth surname has not changed. Format YYYY-MM -->
          <BirthSurnameUntil>1984-01</BirthSurnameUntil>
          <!-- OPTIONAL. Multiple 'OtherSurname' can be added -->
          <OtherSurnames>
            <OtherSurname>
              <Forename>JOHN</Forename>
              <Surname>BROWN</Surname>
              <!-- Format YYYY-MM -->
              <UsedFrom>2010-01</UsedFrom>
              <UsedTo>2012-01</UsedTo>
            </OtherSurname>
          </OtherSurnames>
          <!-- OPTIONAL. Multiple 'OtherForename' can be added -->
          <OtherForenames>
            <OtherForename>
              <Forename>JONATHAN</Forename>
              <Surname>SMITH</Surname>
              <!-- Format YYYY-MM -->
              <UsedFrom>2010-01</UsedFrom>
              <UsedTo>2012-01</UsedTo>
            </OtherForename>
          </OtherForenames>
          <!-- y / n (LOWERCASE) -->
          <NationalityChange>y</NationalityChange>
          <!-- OPTIONAL if 'NationalityChange' = n -->
          <CurrentNationality>US</CurrentNationality>
          <BirthTown>CHESTER</BirthTown>
          <!-- OPTIONAL -->
          <BirthCounty>CHESHIRE</BirthCounty>
          <!-- See acceptable 'Country Codes' list in appendix -->
          <BirthCountry>GB</BirthCountry>
          <BirthNationality>GB</BirthNationality>
          <!-- OPTIONAL. Must be a valid telephone number format -->
          <ContactNumber>0777777333</ContactNumber>
          <!-- y / n (LOWERCASE) -->
          <UnspentConvictions>n</UnspentConvictions>
          <!-- y / n. Please see appendix note on 'Applicant Declaration' -->
          <DeclarationByApplicant>y</DeclarationByApplicant>
        </AdditionalApplicantDetails>
        <!-- OPTIONAL -->
        <ApplicantIdentityDetails>
          <!-- OPTIONAL. MUST be a valid National Insurance number -->
          <NINumber>NP828776A</NINumber>
        </ApplicantIdentityDetails>
      </ApplicantDetails>
    </DBSApplication>
  </DBSApplications>
  <uid>
    <!-- Unique key supplied by uCheck -->
    <key>xxxxxxxxxxxxxxxxxxxxxxxxxxxx</key>
  </uid>
</DBSApplicationsBatch>

XML Value

Constraint

Constraint Value

Application Reference

Max length

50

Pattern

Alpha numeric

Title

Max Length

12

Must be in list

‘Acceptable Title’ list - see appendix.

Forename

Min Length =

1

Max Length =

60

Reg Ex pattern

([A-Z]+)|([A-Z][A-Z '\-]*[A-Z])

Middlename

Min Length

1

Max Length

60

Reg Ex pattern

([A-Z]+)|([A-Z][A-Z '\-]*[A-Z])

PresentSurname

Min Length

1

Max Length

60

Reg Ex pattern

([A-Z]+)|([A-Z][A-Z '\-]*[A-Z])

AddressLine1

Min Length

1

Max Length

60

Reg Ex pattern

([A-Z0-9\(\)\-/'&]+)|([A-Z0-9\(\)\-/'&][A-Z 0-9\(\)\-/'&]*[A-Z0-9\(\)\-/'&])

AddressLine2

Min Length

1

Max Length

60

Reg Ex pattern

([A-Z0-9\(\)\-/'&]+)|([A-Z0-9\(\)\-/'&][A-Z 0-9\(\)\-/'&]*[A-Z0-9\(\)\-/'&])

AddressTown

Min Length

1

Max Length

30

Reg Ex pattern

([A-Z\(\)\-/'&]+)|([A-Z\(\)\-/'&][A-Z\(\)\-/'&]*[A-Z\(\)\-/'&])

AddressCounty

Min Length

1

Max Length

30

Reg Ex pattern

([A-Z\(\)\-/'&]+)|([A-Z\(\)\-/'&][A-Z\(\)\-/'&]*[A-Z\(\)\-/'&])

Postcode

Min Length

1

Max Length

30

Reg Ex pattern

([A-Z0-9\(\)\-/']+)|([A-Z0-9\(\)\-/'][A-Z 0-9\(\)\-/']*[A-Z0-9\(\)\-/'])

CountryCode

Min Length

2

Max Length

2

Must be in list

Acceptable Country Codes – see appendix

ResidentFromGyearMonth

Pattern

yyyy-mm

ResidentToGyearMonth

Pattern

yyyy-mm

DateOfBirth

Pattern

yyyy-mm-dd

Gender

Must be one of the following

male, female

ContactEmail

Min Length

5

(of the applicant)

Max Length

64

Reg Ex pattern

([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4})

BirthSurname

Min Length

1

Max Length

60

Reg Ex pattern

([A-Z]+)|([A-Z][A-Z '\-]*[A-Z])

BirthSurnameUntil

Pattern

yyyy-mm

UsedFrom

Pattern

yyyy-mm

UsedTo

Reg Ex pattern

yyyy-mm

NationalityChange

Must be one of the following

y, n

CurrentNationality

Min Length

2

Max Length

2

Reg Ex pattern

Acceptable Country Codes – see appendix

BirthTown

Min Length

1

Max Length

30

Reg Ex pattern

([A-Z\(\)\-/'&]+)|([A-Z\(\)\-/'&][A-Z\(\)\-/'&]*[A-Z\(\)\-/'&])

BirthCounty

Min Length

1

Max Length

30

Reg Ex pattern

([A-Z\(\)\-/'&]+)|([A-Z\(\)\-/'&][A-Z\(\)\-/'&]*[A-Z\(\)\-/'&])

BirthCountry

Min Length

2

Max Length

2

Must be in list

Acceptable Country Codes – see appendix

BirthNationality

Min Length

2

Max Length

2

Reg Ex pattern

Acceptable Country Codes – see appendix

ContactNumber

Min Length

1

Max Length

30

Reg Ex pattern

([A-Z0-9\(\)\-/&]+)|([A-Z0-9\(\)\-/&][A-Z 0-9\(\)\-/&]*[A-Z0-9\(\)\-/&])

MotherMaidenname

Min Length

1

Max Length

30

Reg Ex pattern

([a-zA-Z '\-\(\)]{1,30})

UnspentConvictions

Must be one of the following

y, n

DeclarationByApplicant

Must be one of the following

y

NINumber

Min Length

9

Max Length

9

Reg Ex pattern

([A-Z0-9]+)|([A-Z0-9][A-Z 0-9]*)

Further validation

Once validation against the uCheck XML schema has been successful further validation is carried out to ensure all data submitted through the API complies with the following logic rules:

  1. Age of the applicant must be 16 or over and under 110.

  2. All UK (also IM,GG,JE) addresses must have valid postcodes.

  3. ‘Title’ must reflect ‘Gender’.

  4. Tenancy dates must be sequential, with no gaps, and must cover a period of 5 years.

  5. Any previous UK (also IM,GG,JE) address must have a valid postcode; NON UK addresses do not require a postcode but require ‘County’.

  6. Any dates given must not be future dates or be before the applicant’s date of birth.

  7. If a national insurance number is provided, it must be a valid UK National insurance number.

API usage and examples

addApplicant

Property

Value

API URL endpoint

https://api.ucheck.co.uk/addApplicant/v2

Request type

POST

POST data required

Key = xml, Value = dataset as described in the Data Format section

Response

As described in the Successful Requests section

Examples

A simple, complete example is shown below. You will need to replicate one like it as the first part of the ‘Test Schedule’ (appendix E1).

addApplicant

<DBSApplicationsBatch>
  <DBSApplications>
    <DBSApplication>
      <ApplicationReference>123456ABC</ApplicationReference>
      <ApplicantDetails>
        <Title>MR</Title>
        <Forename>JOHN</Forename>
        <Middlenames>
          <Middlename>PAUL</Middlename>
        </Middlenames>
        <PresentSurname>SMITH</PresentSurname>
        <CurrentAddress>
          <Address>
            <AddressLine1>32</AddressLine1>
            <AddressLine2>HALLERTON CLOSE</AddressLine2>
            <AddressTown>PLYMOUTH</AddressTown>
            <AddressCounty>DEVON</AddressCounty>
            <Postcode>PL68NP</Postcode>
            <CountryCode>GB</CountryCode>
          </Address>
          <ResidentFromGyearMonth>2015-01</ResidentFromGyearMonth>
        </CurrentAddress>
        <PreviousAddress>
          <Address>
            <AddressLine1>21 BEARSDOWN RD</AddressLine1>
            <AddressLine2>EGGBUCKLAND</AddressLine2>
            <AddressTown>PLYMOUTH</AddressTown>
            <AddressCounty>DEVON</AddressCounty>
            <Postcode>PL6 5TR</Postcode>
            <CountryCode>GB</CountryCode>
          </Address>
          <ResidentDates>
            <ResidentFromGyearMonth>2010-02</ResidentFromGyearMonth>
            <ResidentToGyearMonth>2015-01</ResidentToGyearMonth>
          </ResidentDates>
        </PreviousAddress>
        <DateOfBirth>1968-06-07</DateOfBirth>
        <Gender>male</Gender>
        <ContactEmail>email@gmail.com</ContactEmail>
        <AdditionalApplicantDetails>
          <MotherMaidenname>SMITH</MotherMaidenname>
          <NationalityChange>n</NationalityChange>
          <BirthTown>PLYMOUTH</BirthTown>
          <BirthCounty>DEVON</BirthCounty>
          <BirthCountry>GB</BirthCountry>
          <BirthNationality>GB</BirthNationality>
          <ContactNumber>07777777777</ContactNumber>
          <UnspentConvictions>n</UnspentConvictions>
          <DeclarationByApplicant>y</DeclarationByApplicant>
        </AdditionalApplicantDetails>
        <ApplicantIdentityDetails>
          <CostCode>PO12345</CostCode>
          <EvidenceCheckedBy>CHECKER 1</EvidenceCheckedBy>
          <IdentityVerified>y</IdentityVerified>
          <NINumber>NP805592A</NINumber>
        </ApplicantIdentityDetails>
      </ApplicantDetails>
    </DBSApplication>
  </DBSApplications>
  <uid>
    <key>xxxxxxxxxx</key>
  </uid>
</DBSApplicationsBatch>

Successful requests

addApplicant

A successful ‘addApplicant’ request will receive the following XML response.

<SUCCESS>
  <response>
    <success>true</success>
    <ApplicationReference>123456ABC</ApplicationReference>
    <uCheckReference>HR0001000</uCheckReference>
    <CompanyCode>ABCCARE</CompanyCode>
  </response>
</SUCCESS>

This will be an HTTP 200 OK response

XML Value

Meaning

uCheckReference:

This is a unique index issued to a new applicant

ApplicationReference:

This is a unique alpha numeric field that is ‘owned’ by the client and should be unique to an application. This stops any application being submitted more than once and hence charged more than once.

CompanyCode

The company code that the application was submitted under

Appendix

A. Error list

A1 Authentication error / Pre submission error.

Any authentication error will result in the following type of error message, authentication errors can be caused by incorrect ‘Account’ , incorrect ‘Password’ or an invalid requesting IP address.

<ERROR>
  <response>
    <success>false</success>
    <error>SEE LIST</error> <!-- refer to list for various errors -->
  </response>
</ERROR>

Error List:

  • Head office is not authorised for XXXXXXX submission

    • HTTP ‘401 Unauthorised’ response

  • no xml provided

    • HTTP ‘400 Bad Request’ response

  • incorrectly formatted xml request

    • HTTP ‘400 Bad Request’ response

  • invalid key element supplied

    • HTTP ‘400 Bad Request’ response

  • unique application reference does not exist

    • HTTP ‘400 Bad Request’ response

  • duplicate application reference, duplicate of HRXXXXXXXX

    • HTTP ‘406 Unacceptable’ response

A2 Schema error.

Any XML schema error will result in the following type of error message, multiple schema errors will result in multiple errors within the response XML.

Please refer to appendix B which contains a copy of the schema against which all applications are checked.

<ERROR>
  <response>
    <success>false</success>
    <ApplicationReference>123456ABC</ApplicationReference>
    <schemaERROR>Schema error details</schemaERROR>
  </response>
</ERROR>

This will give an HTTP ‘400 Bad Request’ response

A3 Validation error.

Any ‘Validation Logic’ error will result in the following type of error message, multiple validation errors will NOT results in multiple errors within the XML response as each error terminates the validation process.

<ERROR>
  <response>
    <success>false</success>
    <ApplicationReference>123456ABC</ApplicationReference>
    <validationERROR>validation error details</validationERROR>
  </response>
</ERROR>

Validation errors are in plain English and are easily interpreted i.e.

<ERROR>
  <response>
    <success>false</success>
    <ApplicationReference>123456ABC</ApplicationReference>
    <validationERROR>OtherName1_UsedFrom Date CANNOT be before applicants Date of Birth</validationERROR>
  </response>
</ERROR>

This will give an HTTP ‘400 Bad Request’ response

A4 System error.

In the unlikely event of a ‘system error’ the following type of error message.

<SystemERROR>
  <!-- Message containing the cause(s) of the API system error -->
</SystemERROR>

This will give an HTTP ‘500 Internal server error’ response

In the case of any system error, please report these back to uCheck explaining the conditions under which the error occurred, any data used during the request and IP Address from where the request was made. All system errors are logged internally within the uCheck API, therefore, any additional information supplied by the user will help with diagnosis.

B. Schema

Below is the ‘Common’ and ‘SubmitDisclosureApplication’ schema’s which uCheck submits to the DBS against.

PLEASE NOTE : Data submitted by the client to uCheck is not always requested in the same format as the schema, so please consider these as ‘for reference only’.

B1 Common Schema

<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://disclosure.service.gov.uk/edisclosure" targetNamespace="http://disclosure.service.gov.uk/edisclosure" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0" id="Common-v1.0">
  <xsd:simpleType name="ApplicationReferenceType">
    <xsd:restriction base="xsd:string">
      <xsd:maxLength value="30"/>
      <xsd:minLength value="1"/>
      <xsd:pattern value="[A-Za-z 0-9_\\/'&quot;&amp;]{4,30}"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="RegisteredOrganizationType">
    <xsd:restriction base="xsd:string">
      <xsd:minLength value="11"/>
      <xsd:maxLength value="11" fixed="true"/>
      <xsd:pattern value="\d{11}"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="CsNoType">
    <xsd:restriction base="xsd:string">
      <xsd:maxLength value="11" fixed="true"/>
      <xsd:minLength value="11"/>
      <xsd:pattern value="\d{11}"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="GenderType">
    <xsd:restriction base="xsd:string">
      <xsd:maxLength value="6"/>
      <xsd:enumeration value="male"/>
      <xsd:enumeration value="female"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="DisclosureTypeType">
    <xsd:restriction base="xsd:string">
      <xsd:enumeration value="standard"/>
      <xsd:enumeration value="enhanced"/>
      <xsd:enumeration value="basic"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="ApplicationFormReferenceType">
    <xsd:restriction base="xsd:string">
      <xsd:maxLength value="11"/>
      <xsd:minLength value="11"/>
      <xsd:pattern value="E\d{10}"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="TitleType">
    <xsd:restriction base="xsd:string">
      <xsd:maxLength value="12"/>
      <xsd:enumeration value="BARON"/>
      <xsd:enumeration value="BARONESS"/>
      <xsd:enumeration value="BRIGADIER"/>
      <xsd:enumeration value="CANON"/>
      <xsd:enumeration value="CAPTAIN"/>
      <xsd:enumeration value="DR"/>
      <xsd:enumeration value="DUCHESS"/>
      <xsd:enumeration value="DUKE"/>
      <xsd:enumeration value="ESQ"/>
      <xsd:enumeration value="FATHER"/>
      <xsd:enumeration value="HON"/>
      <xsd:enumeration value="INSPECTOR"/>
      <xsd:enumeration value="LADY"/>
      <xsd:enumeration value="LORD"/>
      <xsd:enumeration value="LT COL"/>
      <xsd:enumeration value="MAJOR"/>
      <xsd:enumeration value="MISS"/>
      <xsd:enumeration value="MOST REVER"/>
      <xsd:enumeration value="MR"/>
      <xsd:enumeration value="MRS"/>
      <xsd:enumeration value="MS"/>
      <xsd:enumeration value="MX"/>
      <xsd:enumeration value="PASTOR"/>
      <xsd:enumeration value="PROFESSOR"/>
      <xsd:enumeration value="RABBI"/>
      <xsd:enumeration value="REV DR"/>
      <xsd:enumeration value="REVEREND"/>
      <xsd:enumeration value="RT REVEREN"/>
      <xsd:enumeration value="SIR"/>
      <xsd:enumeration value="SISTER"/>
      <xsd:enumeration value="SQUADRON L"/>
      <xsd:enumeration value="WG CDR"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="SurnameType">
    <xsd:restriction base="xsd:string">
      <xsd:minLength value="1"/>
      <xsd:maxLength value="50"/>
      <xsd:pattern value="([A-Z]+)|([A-Z][A-Z ']*[A-Z])"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="OtherForenameType">
    <xsd:restriction base="xsd:string">
      <xsd:maxLength value="60"/>
      <xsd:pattern value="([A-Z]+)|([A-Z][A-Z ']*[A-Z])"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="OtherSurnameType">
    <xsd:restriction base="xsd:string">
      <xsd:maxLength value="50"/>
      <xsd:pattern value="([A-Z]+)|([A-Z][A-Z ']*[A-Z])"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="AddressLineType">
    <xsd:restriction base="xsd:string">
      <xsd:minLength value="1"/>
      <xsd:maxLength value="60"/>
      <xsd:pattern value="([A-Z0-9\/'&amp;]+)|([A-Z0-9\/'&amp;][A-Z 0-9\/'&amp;]*[A-Z0-9\/'&amp;])"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="ShortAddressLineType">
    <xsd:restriction base="xsd:string">
      <xsd:minLength value="1"/>
      <xsd:maxLength value="30"/>
      <xsd:pattern value="([A-Z0-9\/'&amp;]+)|([A-Z0-9\/'&amp;][A-Z 0-9\/'&amp;]*[A-Z0-9\/'&amp;])"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="PostCodeType">
    <xsd:restriction base="xsd:string">
      <xsd:minLength value="1"/>
      <xsd:maxLength value="30"/>
      <xsd:pattern value="([A-Z0-9\/']+)|([A-Z0-9\/'][A-Z 0-9\/']*[A-Z0-9\/'])"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:complexType name="AddressStructure">
    <xsd:sequence>
      <xsd:element name="AddressLine1" type="AddressLineType"/>
      <xsd:element name="AddressLine2" minOccurs="0">
        <xsd:simpleType>
          <xsd:restriction base="AddressLineType"/>
        </xsd:simpleType>
      </xsd:element>
      <xsd:element name="AddressTown" type="ShortAddressLineType"/>
      <xsd:element name="AddressCounty" type="ShortAddressLineType" minOccurs="0"/>
      <xsd:element name="Postcode" type="PostCodeType" minOccurs="0"/>
      <xsd:element name="CountryCode" type="ISOCountryCodeType"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="EmploymentDetailsStructure">
    <xsd:sequence>
      <xsd:element name="PositionAppliedFor" type="PositionAppliedForType"/>
      <xsd:element name="IsPositionEligibleForCheck" type="YesNoType"/>
      <xsd:element name="isEligibilityToolChecked" type="YesNoType"/>
      <xsd:element name="OrganisationName" type="OrganisationNameType"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:simpleType name="PositionAppliedForType">
    <xsd:restriction base="xsd:string">
      <xsd:maxLength value="60"/>
      <xsd:minLength value="1"/>
      <xsd:pattern value="([A-Z0-9\/'&amp;]+)|([A-Z0-9\/'&amp;][A-Z 0-9\/'&amp;]*[A-Z0-9\/'&amp;])"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="OrganisationNameType">
    <xsd:restriction base="xsd:string">
      <xsd:maxLength value="32"/>
      <xsd:minLength value="1"/>
      <xsd:pattern value="([A-Z0-9\/'&amp;]+)|([A-Z0-9\/'&amp;][A-Z 0-9\/'&amp;]*[A-Z0-9\/'&amp;])"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:complexType name="ErrorDetailsType">
    <xsd:sequence>
      <xsd:element name="ErrorCode" type="ErrorCodeType"/>
      <xsd:element name="ErrorReason" type="ErrorReasonType"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="ErrorDtlsType">
    <xsd:sequence>
      <xsd:element name="ErrorCode" type="ErrorCodeType"/>
      <xsd:element name="ErrorReason" type="ErrorReasonType"/>
      <xsd:element name="OriginalDBSApplicationFormReference" type="ApplicationFormReferenceType" minOccurs="0"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:simpleType name="ErrorCodeType">
    <xsd:restriction base="xsd:integer">
      <xsd:totalDigits value="3"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="ErrorReasonType">
    <xsd:restriction base="xsd:string">
      <xsd:maxLength value="200"/>
      <xsd:minLength value="1"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="ISOCountryCodeType">
    <xsd:restriction base="xsd:string">
      <xsd:maxLength value="3"/>
      <xsd:minLength value="3"/>
      <xsd:enumeration value="AFG"/>
      <xsd:enumeration value="ALA"/>
      <xsd:enumeration value="ALB"/>
      <xsd:enumeration value="DZA"/>
      <xsd:enumeration value="ASM"/>
      <xsd:enumeration value="AND"/>
      <xsd:enumeration value="AGO"/>
      <xsd:enumeration value="AIA"/>
      <xsd:enumeration value="ATA"/>
      <xsd:enumeration value="ATG"/>
      <xsd:enumeration value="ARG"/>
      <xsd:enumeration value="ARM"/>
      <xsd:enumeration value="ABW"/>
      <xsd:enumeration value="AUS"/>
      <xsd:enumeration value="AUT"/>
      <xsd:enumeration value="AZE"/>
      <xsd:enumeration value="BHS"/>
      <xsd:enumeration value="BHR"/>
      <xsd:enumeration value="BGD"/>
      <xsd:enumeration value="BRB"/>
      <xsd:enumeration value="BLR"/>
      <xsd:enumeration value="BEL"/>
      <xsd:enumeration value="BLZ"/>
      <xsd:enumeration value="BEN"/>
      <xsd:enumeration value="BMU"/>
      <xsd:enumeration value="BTN"/>
      <xsd:enumeration value="BOL"/>
      <xsd:enumeration value="BIH"/>
      <xsd:enumeration value="BWA"/>
      <xsd:enumeration value="BVT"/>
      <xsd:enumeration value="BRA"/>
      <xsd:enumeration value="VGB"/>
      <xsd:enumeration value="IOT"/>
      <xsd:enumeration value="BRN"/>
      <xsd:enumeration value="BGR"/>
      <xsd:enumeration value="BFA"/>
      <xsd:enumeration value="BDI"/>
      <xsd:enumeration value="KHM"/>
      <xsd:enumeration value="CMR"/>
      <xsd:enumeration value="CAN"/>
      <xsd:enumeration value="CPV"/>
      <xsd:enumeration value="CYM"/>
      <xsd:enumeration value="CAF"/>
      <xsd:enumeration value="TCD"/>
      <xsd:enumeration value="CHL"/>
      <xsd:enumeration value="CHN"/>
      <xsd:enumeration value="HKG"/>
      <xsd:enumeration value="MAC"/>
      <xsd:enumeration value="CXR"/>
      <xsd:enumeration value="CCK"/>
      <xsd:enumeration value="COL"/>
      <xsd:enumeration value="COM"/>
      <xsd:enumeration value="COG"/>
      <xsd:enumeration value="COD"/>
      <xsd:enumeration value="COK"/>
      <xsd:enumeration value="CRI"/>
      <xsd:enumeration value="CIV"/>
      <xsd:enumeration value="HRV"/>
      <xsd:enumeration value="CUB"/>
      <xsd:enumeration value="CYP"/>
      <xsd:enumeration value="CZE"/>
      <xsd:enumeration value="DNK"/>
      <xsd:enumeration value="DJI"/>
      <xsd:enumeration value="DMA"/>
      <xsd:enumeration value="DOM"/>
      <xsd:enumeration value="ECU"/>
      <xsd:enumeration value="EGY"/>
      <xsd:enumeration value="SLV"/>
      <xsd:enumeration value="GNQ"/>
      <xsd:enumeration value="ERI"/>
      <xsd:enumeration value="EST"/>
      <xsd:enumeration value="ETH"/>
      <xsd:enumeration value="FLK"/>
      <xsd:enumeration value="FRO"/>
      <xsd:enumeration value="FJI"/>
      <xsd:enumeration value="FIN"/>
      <xsd:enumeration value="FRA"/>
      <xsd:enumeration value="GUF"/>
      <xsd:enumeration value="PYF"/>
      <xsd:enumeration value="ATF"/>
      <xsd:enumeration value="GAB"/>
      <xsd:enumeration value="GMB"/>
      <xsd:enumeration value="GEO"/>
      <xsd:enumeration value="DEU"/>
      <xsd:enumeration value="GHA"/>
      <xsd:enumeration value="GIB"/>
      <xsd:enumeration value="GRC"/>
      <xsd:enumeration value="GRL"/>
      <xsd:enumeration value="GRD"/>
      <xsd:enumeration value="GLP"/>
      <xsd:enumeration value="GUM"/>
      <xsd:enumeration value="GTM"/>
      <xsd:enumeration value="GGY"/>
      <xsd:enumeration value="GIN"/>
      <xsd:enumeration value="GNB"/>
      <xsd:enumeration value="GUY"/>
      <xsd:enumeration value="HTI"/>
      <xsd:enumeration value="HMD"/>
      <xsd:enumeration value="VAT"/>
      <xsd:enumeration value="HND"/>
      <xsd:enumeration value="HUN"/>
      <xsd:enumeration value="ISL"/>
      <xsd:enumeration value="IND"/>
      <xsd:enumeration value="IDN"/>
      <xsd:enumeration value="IRN"/>
      <xsd:enumeration value="IRQ"/>
      <xsd:enumeration value="IRL"/>
      <xsd:enumeration value="IMN"/>
      <xsd:enumeration value="ISR"/>
      <xsd:enumeration value="ITA"/>
      <xsd:enumeration value="JAM"/>
      <xsd:enumeration value="JPN"/>
      <xsd:enumeration value="JEY"/>
      <xsd:enumeration value="JOR"/>
      <xsd:enumeration value="KAZ"/>
      <xsd:enumeration value="KEN"/>
      <xsd:enumeration value="KIR"/>
      <xsd:enumeration value="PRK"/>
      <xsd:enumeration value="KOR"/>
      <xsd:enumeration value="KWT"/>
      <xsd:enumeration value="KGZ"/>
      <xsd:enumeration value="LAO"/>
      <xsd:enumeration value="LVA"/>
      <xsd:enumeration value="LBN"/>
      <xsd:enumeration value="LSO"/>
      <xsd:enumeration value="LBR"/>
      <xsd:enumeration value="LBY"/>
      <xsd:enumeration value="LIE"/>
      <xsd:enumeration value="LTU"/>
      <xsd:enumeration value="LUX"/>
      <xsd:enumeration value="MKD"/>
      <xsd:enumeration value="MDG"/>
      <xsd:enumeration value="MWI"/>
      <xsd:enumeration value="MYS"/>
      <xsd:enumeration value="MDV"/>
      <xsd:enumeration value="MLI"/>
      <xsd:enumeration value="MLT"/>
      <xsd:enumeration value="MHL"/>
      <xsd:enumeration value="MTQ"/>
      <xsd:enumeration value="MRT"/>
      <xsd:enumeration value="MUS"/>
      <xsd:enumeration value="MYT"/>
      <xsd:enumeration value="MEX"/>
      <xsd:enumeration value="FSM"/>
      <xsd:enumeration value="MDA"/>
      <xsd:enumeration value="MCO"/>
      <xsd:enumeration value="MNG"/>
      <xsd:enumeration value="MNE"/>
      <xsd:enumeration value="MSR"/>
      <xsd:enumeration value="MAR"/>
      <xsd:enumeration value="MOZ"/>
      <xsd:enumeration value="MMR"/>
      <xsd:enumeration value="NAM"/>
      <xsd:enumeration value="NRU"/>
      <xsd:enumeration value="NPL"/>
      <xsd:enumeration value="NLD"/>
      <xsd:enumeration value="ANT"/>
      <xsd:enumeration value="NCL"/>
      <xsd:enumeration value="NZL"/>
      <xsd:enumeration value="NIC"/>
      <xsd:enumeration value="NER"/>
      <xsd:enumeration value="NGA"/>
      <xsd:enumeration value="NIU"/>
      <xsd:enumeration value="NFK"/>
      <xsd:enumeration value="MNP"/>
      <xsd:enumeration value="NOR"/>
      <xsd:enumeration value="OMN"/>
      <xsd:enumeration value="PAK"/>
      <xsd:enumeration value="PLW"/>
      <xsd:enumeration value="PSE"/>
      <xsd:enumeration value="PAN"/>
      <xsd:enumeration value="PNG"/>
      <xsd:enumeration value="PRY"/>
      <xsd:enumeration value="PER"/>
      <xsd:enumeration value="PHL"/>
      <xsd:enumeration value="PCN"/>
      <xsd:enumeration value="POL"/>
      <xsd:enumeration value="PRT"/>
      <xsd:enumeration value="PRI"/>
      <xsd:enumeration value="QAT"/>
      <xsd:enumeration value="REU"/>
      <xsd:enumeration value="ROU"/>
      <xsd:enumeration value="RUS"/>
      <xsd:enumeration value="RWA"/>
      <xsd:enumeration value="BLM"/>
      <xsd:enumeration value="SHN"/>
      <xsd:enumeration value="KNA"/>
      <xsd:enumeration value="LCA"/>
      <xsd:enumeration value="MAF"/>
      <xsd:enumeration value="SPM"/>
      <xsd:enumeration value="VCT"/>
      <xsd:enumeration value="WSM"/>
      <xsd:enumeration value="SMR"/>
      <xsd:enumeration value="STP"/>
      <xsd:enumeration value="SAU"/>
      <xsd:enumeration value="SEN"/>
      <xsd:enumeration value="SRB"/>
      <xsd:enumeration value="SYC"/>
      <xsd:enumeration value="SLE"/>
      <xsd:enumeration value="SGP"/>
      <xsd:enumeration value="SVK"/>
      <xsd:enumeration value="SVN"/>
      <xsd:enumeration value="SLB"/>
      <xsd:enumeration value="SOM"/>
      <xsd:enumeration value="ZAF"/>
      <xsd:enumeration value="SGS"/>
      <xsd:enumeration value="SSD"/>
      <xsd:enumeration value="ESP"/>
      <xsd:enumeration value="LKA"/>
      <xsd:enumeration value="SDN"/>
      <xsd:enumeration value="SUR"/>
      <xsd:enumeration value="SJM"/>
      <xsd:enumeration value="SWZ"/>
      <xsd:enumeration value="SWE"/>
      <xsd:enumeration value="CHE"/>
      <xsd:enumeration value="SYR"/>
      <xsd:enumeration value="TWN"/>
      <xsd:enumeration value="TJK"/>
      <xsd:enumeration value="TZA"/>
      <xsd:enumeration value="THA"/>
      <xsd:enumeration value="TLS"/>
      <xsd:enumeration value="TGO"/>
      <xsd:enumeration value="TKL"/>
      <xsd:enumeration value="TON"/>
      <xsd:enumeration value="TTO"/>
      <xsd:enumeration value="TUN"/>
      <xsd:enumeration value="TUR"/>
      <xsd:enumeration value="TKM"/>
      <xsd:enumeration value="TCA"/>
      <xsd:enumeration value="TUV"/>
      <xsd:enumeration value="UGA"/>
      <xsd:enumeration value="UKR"/>
      <xsd:enumeration value="ARE"/>
      <xsd:enumeration value="GBR"/>
      <xsd:enumeration value="USA"/>
      <xsd:enumeration value="UMI"/>
      <xsd:enumeration value="URY"/>
      <xsd:enumeration value="UZB"/>
      <xsd:enumeration value="VUT"/>
      <xsd:enumeration value="VEN"/>
      <xsd:enumeration value="VNM"/>
      <xsd:enumeration value="VIR"/>
      <xsd:enumeration value="WLF"/>
      <xsd:enumeration value="ESH"/>
      <xsd:enumeration value="YEM"/>
      <xsd:enumeration value="ZMB"/>
      <xsd:enumeration value="ZWE"/>
      <xsd:enumeration value="BES"/>
      <xsd:enumeration value="CUW"/>
      <xsd:enumeration value="SXM"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="YesNoType">
    <xsd:restriction base="xsd:string">
      <xsd:length value="1" fixed="true"/>
      <xsd:enumeration value="y"/>
      <xsd:enumeration value="n"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="YesNoOptionalType">
    <xsd:restriction base="xsd:string">
      <xsd:minLength value="0"/>
      <xsd:maxLength value="1"/>
      <xsd:enumeration value="y"/>
      <xsd:enumeration value="n"/>
      <xsd:enumeration value=" "/>
      <xsd:enumeration value=""/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="PhoneNumberType">
    <xsd:restriction base="xsd:string">
      <xsd:minLength value="9"/>
      <xsd:maxLength value="16"/>
      <xsd:pattern value="[][1-9]{1}[0-9]+"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="MessageIDType">
    <xsd:restriction base="xsd:string">
      <xsd:minLength value="8"/>
      <xsd:maxLength value="8"/>
      <xsd:pattern value="[0-9]*"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:complexType name="MessageHeaderType">
    <xsd:sequence>
      <xsd:element name="MessageID" type="MessageIDType"/>
      <xsd:element name="RegisteredOrganizationNumber" type="RegisteredOrganizationType"/>
      <xsd:element name="Timestamp" type="ContemporaryDateTimeType"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:simpleType name="MessageCheckType">
    <xsd:restriction base="xsd:string">
      <xsd:minLength value="1"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="ContemporaryDateTimeType">
    <xsd:restriction base="xsd:dateTime">
      <xsd:pattern value="\d{4}\d{2}\d{2}T\d{2}:\d{2}:\d{2}(\d+)?(Z|[\]\d{2}:\d{2})?"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="ContemporaryDateType">
    <xsd:restriction base="xsd:date">
      <xsd:pattern value="\d{4}\d{2}\d{2}"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="ContemporaryYearMonthType">
    <xsd:restriction base="xsd:gYearMonth">
      <xsd:pattern value="\d{4}\d{2}"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="ContemporaryYearType">
    <xsd:restriction base="xsd:gYear">
      <xsd:pattern value="\d{4}"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="WorkforceAppliedForType">
    <xsd:restriction base="xsd:string">
      <xsd:maxLength value="50"/>
      <xsd:enumeration value="adult only"/>
      <xsd:enumeration value="children only"/>
      <xsd:enumeration value="adult and children"/>
      <xsd:enumeration value="other"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="LevelOfDBSCheckType">
    <xsd:restriction base="xsd:string">
      <xsd:maxLength value="30"/>
      <xsd:enumeration value="standard"/>
      <xsd:enumeration value="enhanced"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="UpdateServicePaymentRefNumberType">
    <xsd:restriction base="xsd:string">
      <xsd:pattern value="[P][0-9]{11}"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="ExistingSubscriptionIDType">
    <xsd:restriction base="xsd:string">
      <xsd:pattern value="[C][0-9]{10}"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="ForenameType">
    <xsd:restriction base="xsd:string">
      <xsd:minLength value="1"/>
      <xsd:maxLength value="60"/>
      <xsd:pattern value="([A-Z]+)|([A-Z][A-Z ']*[A-Z])"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="MobileNumberType">
    <xsd:restriction base="xsd:string">
      <xsd:minLength value="9"/>
      <xsd:maxLength value="16"/>
      <xsd:pattern value="[][1-9]{1}[0-9]+"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="NationalInsuranceNumberType">
    <xsd:restriction base="xsd:string">
      <xsd:length value="9" fixed="true"/>
      <xsd:pattern value="([A-Z0-9]+)|([A-Z0-9][A-Z 0-9]*)"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="CheckedByType">
    <xsd:restriction base="xsd:string">
      <xsd:maxLength value="60"/>
      <xsd:minLength value="1"/>
      <xsd:pattern value="([A-Z0-9\']+)|([A-Z0-9\'][A-Z 0-9\']*[A-Z0-9\'])"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="PassportNumberType">
    <xsd:restriction base="xsd:string">
      <xsd:maxLength value="11"/>
      <xsd:minLength value="1"/>
      <xsd:pattern value="([A-Z0-9\/'&amp;]+)|([A-Z0-9\/'&amp;][A-Z 0-9\/'&amp;]*[A-Z0-9\/'&amp;])"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="DriverLicenceNumberType">
    <xsd:restriction base="xsd:string">
      <xsd:maxLength value="18"/>
      <xsd:minLength value="1"/>
      <xsd:pattern value="([A-Z0-9\/'&amp;]+)|([A-Z0-9\/'&amp;][A-Z 0-9\/'&amp;]*[A-Z0-9\/'&amp;])"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="NationalityType">
    <xsd:restriction base="xsd:string">
      <xsd:maxLength value="30"/>
      <xsd:pattern value="[a-zA-Z ']*"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="DBSProfileIdType">
    <xsd:restriction base="xsd:string">
      <xsd:maxLength value="11"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="PassportCountryOfIssueType">
    <xsd:restriction base="xsd:string">
      <xsd:maxLength value="30"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="EmailAddressType">
    <xsd:restriction base="xsd:string">
      <xsd:maxLength value="100"/>
      <xsd:pattern value="[-0-9a-zA-Z.+_]+@[-0-9a-zA-Z.+_]+[a-zA-Z]{2,4}"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="RecipientNameType">
    <xsd:restriction base="xsd:string">
      <xsd:maxLength value="300"/>
      <xsd:pattern value="([A-Z]+)|([A-Z][A-Z ']*[A-Z])"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="RecipientDepartmentType">
    <xsd:restriction base="xsd:string">
      <xsd:maxLength value="100"/>
      <xsd:pattern value="([A-Z0-9\/'&amp;]+)|([A-Z0-9\/'&amp;][A-Z 0-9\/'&amp;]*[A-Z0-9\/'&amp;])"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="PurposeOfCheckType">
    <xsd:restriction base="xsd:string">
      <xsd:enumeration value="Personal Interest"/>
      <xsd:enumeration value="Employment"/>
      <xsd:enumeration value="Other"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="EmploymentSectorType">
    <xsd:restriction base="xsd:string">
      <xsd:maxLength value="100"/>
      <xsd:enumeration value="LOCAL GOVERNMENT"/>
      <xsd:enumeration value="CENTRAL GOVERNMENT"/>
      <xsd:enumeration value="PUBLIC SECTOR- OTHER"/>
      <xsd:enumeration value="NHS"/>
      <xsd:enumeration value="PRESCHOOL EDUCATION"/>
      <xsd:enumeration value="PRIMARY EDUCATION"/>
      <xsd:enumeration value="SECONDARY EDUCATION"/>
      <xsd:enumeration value="ACADEMY EDUCATION"/>
      <xsd:enumeration value="FURTHER EDUCATION"/>
      <xsd:enumeration value="HIGHER EDUCATION"/>
      <xsd:enumeration value="INDEPENDENT EDUCATION"/>
      <xsd:enumeration value="VOLUNTARY/CHARITY"/>
      <xsd:enumeration value="PRIVATE HEALTHCARE"/>
      <xsd:enumeration value="AGRICULTURE, FORESTRY AND FISHING"/>
      <xsd:enumeration value="MINING AND QUARRYING"/>
      <xsd:enumeration value="MANUFACTURING"/>
      <xsd:enumeration value="RETAIL"/>
      <xsd:enumeration value="ENERGY AND AIR CONDITIONING"/>
      <xsd:enumeration value="WATER AND WASTE MANAGEMENT"/>
      <xsd:enumeration value="CONSTRUCTION"/>
      <xsd:enumeration value="TRADE OR REPAIR OF VEHICLES"/>
      <xsd:enumeration value="TRANSPORTATION AND STORAGE"/>
      <xsd:enumeration value="ACCOMMODATION AND FOOD SERVICE"/>
      <xsd:enumeration value="INFORMATION AND COMMUNICATION"/>
      <xsd:enumeration value="FINANCIAL AND INSURANCE"/>
      <xsd:enumeration value="REAL ESTATE ACTIVITIES"/>
      <xsd:enumeration value="PROFESSIONAL, TECHNICAL"/>
      <xsd:enumeration value="ADMINISTRATIVE AND SUPPORT"/>
      <xsd:enumeration value="SOCIAL CARE "/>
      <xsd:enumeration value="ARTS AND ENTERTAINMENT"/>
      <xsd:enumeration value="LEISURE, SPORT AND TOURISM"/>
      <xsd:enumeration value="FOSTER/ADOPTION"/>
      <xsd:enumeration value="CHILD CARE"/>
      <xsd:enumeration value="DRIVERS"/>
      <xsd:enumeration value="LAW ENFORCEMENT AND SECURITY"/>
      <xsd:enumeration value="RECRUITMENT AND HR"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="OtherType">
    <xsd:restriction base="xsd:string">
      <xsd:maxLength value="100"/>
      <xsd:pattern value="([A-Z0-9\/'&amp;]+)|([A-Z0-9\/'&amp;][A-Z 0-9\/'&amp;]*[A-Z0-9\/'&amp;])"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="DisclosureNumberType">
    <xsd:restriction base="xsd:string">
      <xsd:pattern value="[0-9]{12}"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="DisclosureStatusType">
    <xsd:restriction base="xsd:string">
      <xsd:enumeration value="Certificate contains no information"/>
      <xsd:enumeration value="Please wait to view applicant certificate"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:complexType name="MiddlenamesStructure">
    <xsd:sequence>
      <xsd:element name="Middlename" type="ForenameType" maxOccurs="3"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="OtherNamesStructure">
    <xsd:sequence>
      <xsd:element name="OtherForname" type="OtherForenameType"/>
      <xsd:element name="OtherMiddlenames" type="MiddlenamesStructure" minOccurs="0"/>
      <xsd:element name="OtherSurname" type="OtherSurnameType"/>
      <xsd:element name="UsedFrom" type="ContemporaryDateType"/>
      <xsd:element name="UsedTo" type="ContemporaryDateType" minOccurs="0"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:simpleType name="ApplicantForenameType">
    <xsd:restriction base="xsd:string">
      <xsd:minLength value="1"/>
      <xsd:maxLength value="243"/>
      <xsd:pattern value="([A-Z]+)|([A-Z][A-Z ']*[A-Z])"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:complexType name="TimeRangeType">
    <xsd:sequence>
      <xsd:element name="StartTime" type="xsd:time"/>
      <xsd:element name="EndTime" type="xsd:time"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:simpleType name="PageNumberType">
    <xsd:restriction base="xsd:string">
      <xsd:minLength value="1"/>
      <xsd:maxLength value="3"/>
      <xsd:pattern value="[0-9]+"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="RecordCountType">
    <xsd:restriction base="xsd:string">
      <xsd:minLength value="1"/>
      <xsd:maxLength value="5"/>
      <xsd:pattern value="[0-9]+"/>
    </xsd:restriction>
  </xsd:simpleType>
</xsd:schema>

B2 SubmitDisclosureApplication Schema

<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns="http://disclosure.service.gov.uk/edisclosure" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://disclosure.service.gov.uk/edisclosure" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0" id="Application-v1.0">
  <xsd:include schemaLocation="Common.xsd"/>
  <xsd:element name="DisclosureApplication">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element name="MessageHeader" type="MessageHeaderType"/>
        <xsd:choice>
          <xsd:element name="BasicApplication" type="BasicApplicationType"/>
          <xsd:element name="StandardApplication" type="StandardApplicationType"/>
          <xsd:element name="EnhancedApplication" type="EnhancedApplicationType"/>
        </xsd:choice>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  <xsd:complexType name="BasicApplicationType">
    <xsd:sequence>
      <xsd:element name="ApplicantDetails" type="BasicApplicantDetailsStructure"/>
      <xsd:element name="RegOrgApplicationReference" type="ApplicationReferenceType"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="StandardApplicationType">
    <xsd:sequence>
      <xsd:element name="ApplicantDetails" type="StandardAndEnhancedApplicantDetailsStructure"/>
      <xsd:element name="PotentialEmployerDetails" type="EmploymentDetailsStructure"/>
      <xsd:element name="RBdetails" type="RBdetailsStructure"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="EnhancedApplicationType">
    <xsd:sequence>
      <xsd:element name="ApplicantDetails" type="StandardAndEnhancedApplicantDetailsStructure"/>
      <xsd:element name="PotentialEmployerDetails" type="EmploymentDetailsStructure"/>
      <xsd:element name="RBdetails" type="RBdetailsStructure"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="BasicApplicantDetailsStructure">
    <xsd:sequence>
      <xsd:element name="Title" type="TitleType" minOccurs="0"/>
      <xsd:element name="Forename" type="ForenameType"/>
      <xsd:element name="Middlenames" type="MiddlenamesStructure" minOccurs="0"/>
      <xsd:element name="PresentSurname" type="SurnameType"/>
      <xsd:element name="CurrentAddress" type="CurrentAddressDateStructure"/>
      <xsd:element name="Last5yearsPreviousAddressAvailable" type="YesNoType"/>
      <xsd:element name="PreviousAddress" type="PreviousAddressDateStructure" minOccurs="0" maxOccurs="200"/>
      <xsd:element name="DateOfBirth" type="ContemporaryDateType"/>
      <xsd:element name="Gender" type="GenderType"/>
      <xsd:element name="NINumberAvailable" type="YesNoType"/>
      <xsd:element name="NINumber" type="NationalInsuranceNumberType" minOccurs="0"/>
      <xsd:element name="AdditionalApplicantDetails" type="Basic_AdditionalApplicantDetailsStructure"/>
      <xsd:element name="ApplicantIdentityDetails" type="Basic_ApplicantIdentityDetailsStructure"/>
      <xsd:element name="UpdateServiceSubscription" type="Basic_UpdateServiceSubscriptionStructure" minOccurs="0"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="StandardAndEnhancedApplicantDetailsStructure">
    <xsd:sequence>
      <xsd:element name="Title" type="TitleType" minOccurs="0"/>
      <xsd:element name="Forename" type="ForenameType"/>
      <xsd:element name="Middlenames" type="MiddlenamesStructure" minOccurs="0"/>
      <xsd:element name="PresentSurname" type="SurnameType"/>
      <xsd:element name="CurrentAddress" type="CurrentAddressDateStructure"/>
      <xsd:element name="Last5yearsPreviousAddressAvailable" type="YesNoType"/>
      <xsd:element name="PreviousAddress" type="PreviousAddressDateStructure" minOccurs="0" maxOccurs="200"/>
      <xsd:element name="DateOfBirth" type="ContemporaryDateType"/>
      <xsd:element name="Gender" type="GenderType"/>
      <xsd:element name="Nationality" type="NationalityType"/>
      <xsd:element name="NINumberAvailable" type="YesNoType"/>
      <xsd:element name="NINumber" type="NationalInsuranceNumberType" minOccurs="0"/>
      <xsd:element name="AdditionalApplicantDetails" type="StandardAndEnhanced_AdditionalApplicantDetailsStructure"/>
      <xsd:element name="ApplicantIdentityDetails" type="StandardAndEnhanced_ApplicantIdentityDetailsStructure"/>
      <xsd:element name="UpdateServiceSubscription" type="StandardAndEnhanced_UpdateServiceSubscriptionStructure" minOccurs="0"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="Basic_UpdateServiceSubscriptionStructure">
    <xsd:sequence>
      <xsd:element name="JoinUpdateService" type="YesNoType"/>
      <xsd:element name="LinkExistingSubscription" type="YesNoType" minOccurs="0"/>
      <xsd:element name="ExistingSubscriptionID" type="ExistingSubscriptionIDType" minOccurs="0"/>
      <xsd:element name="IsROPayingforSubscription" type="YesNoType" minOccurs="0"/>
      <xsd:element name="UpdateServicePaymentRefNumber" type="UpdateServicePaymentRefNumberType" minOccurs="0"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="StandardAndEnhanced_UpdateServiceSubscriptionStructure">
    <xsd:sequence>
      <xsd:element name="JoinUpdateService" type="YesNoType"/>
      <xsd:element name="LinkExistingSubscription" type="YesNoType" minOccurs="0"/>
      <xsd:element name="ExistingSubscriptionID" type="ExistingSubscriptionIDType" minOccurs="0"/>
      <xsd:element name="IsVolunteer" type="YesNoType" minOccurs="0"/>
      <xsd:element name="IsRBPayingforSubscription" type="YesNoType" minOccurs="0"/>
      <xsd:element name="UpdateServicePaymentRefNumber" type="UpdateServicePaymentRefNumberType" minOccurs="0"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="RBdetailsStructure">
    <xsd:sequence>
      <xsd:element name="RegOrgApplicationReference" type="ApplicationReferenceType"/>
      <xsd:element name="WorkforceAppliedFor" type="WorkforceAppliedForType"/>
      <xsd:element name="IsRoleBelongToRegulatedActivity" type="YesNoType"/>
      <xsd:element name="NationalityCountryCode" type="ISOCountryCodeType"/>
      <xsd:element name="IsPositionEligibleForCheck" type="YesNoType"/>
      <xsd:element name="IsEligibilityToolChecked" type="YesNoType"/>
      <xsd:element name="LevelOfDBSCheck" type="LevelOfDBSCheckType"/>
      <xsd:element name="EntitledToKnowBarredStatusAdult" type="YesNoType"/>
      <xsd:element name="EntitledToKnowBarredStatusChildren" type="YesNoType"/>
      <xsd:element name="CSigNumber" type="CsNoType"/>
      <xsd:element name="Volunteer" type="YesNoType"/>
      <xsd:element name="WorkingAtHomeAddress" type="YesNoOptionalType"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="CurrentAddressDateStructure">
    <xsd:sequence>
      <xsd:element name="Address" type="AddressStructure"/>
      <xsd:element name="ResidentFromDate" type="ContemporaryDateType"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="PreviousAddressDateStructure">
    <xsd:sequence>
      <xsd:element name="Address" type="AddressStructure"/>
      <xsd:element name="ResidentDates" type="ResidentDateRangeStructure"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="ResidentDateRangeStructure">
    <xsd:sequence>
      <xsd:element name="ResidentFromDate" type="ContemporaryDateType"/>
      <xsd:element name="ResidentToDate" type="ContemporaryDateType"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="Basic_AdditionalApplicantDetailsStructure">
    <xsd:sequence>
      <xsd:element name="DBSProfileNumberAvailable" type="YesNoType"/>
      <xsd:element name="DBSProfileId" type="DBSProfileIdType" minOccurs="0"/>
      <xsd:element name="EmailAddress" type="EmailAddressType"/>
      <xsd:element name="OtherNames">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element name="OtherNamesAvailable" type="YesNoType"/>
            <xsd:element name="OtherName" type="OtherNamesStructure" minOccurs="0" maxOccurs="200"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="BirthTown" type="ShortAddressLineType"/>
      <xsd:element name="BirthCountry" type="ISOCountryCodeType"/>
      <xsd:element name="MobileNumber" type="MobileNumberType" minOccurs="0"/>
      <xsd:element name="ContactNumber" type="PhoneNumberType" minOccurs="0"/>
      <xsd:element name="ReceivePaperCertificate" type="PaperCertificateStructure"/>
      <xsd:element name="DeclarationByApplicant" type="YesNoType"/>
      <xsd:element name="UnspentConvictionsWithROA" type="YesNoType"/>
      <xsd:element name="IsConsentProvidedtoRO" type="YesNoType" minOccurs="0"/>
      <xsd:element name="Consented3rdPartyEmailAddress" type="EmailAddressType" minOccurs="0"/>
      <xsd:element name="PurposeOfCheck" type="PurposeOfCheckType"/>
      <xsd:element name="EmploymentSector" type="EmploymentSectorType" minOccurs="0"/>
      <xsd:element name="PositionAppliedFor" type="PositionAppliedForType" minOccurs="0"/>
      <xsd:element name="EmployerName" type="OrganisationNameType" minOccurs="0"/>
      <xsd:element name="Other" type="OtherType" minOccurs="0"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="StandardAndEnhanced_AdditionalApplicantDetailsStructure">
    <xsd:sequence>
      <xsd:element name="DBSProfileNumberAvailable" type="YesNoType"/>
      <xsd:element name="DBSProfileId" type="DBSProfileIdType" minOccurs="0"/>
      <xsd:element name="EmailAddress" type="EmailAddressType"/>
      <xsd:element name="OtherNames">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element name="OtherNamesAvailable" type="YesNoType"/>
            <xsd:element name="OtherName" type="OtherNamesStructure" minOccurs="0" maxOccurs="200"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="BirthTown" type="ShortAddressLineType"/>
      <xsd:element name="BirthCountry" type="ISOCountryCodeType"/>
      <xsd:element name="MobileNumber" type="MobileNumberType" minOccurs="0"/>
      <xsd:element name="ContactNumber" type="PhoneNumberType" minOccurs="0"/>
      <xsd:element name="UnspentConvictions" type="YesNoType"/>
      <xsd:element name="DeclarationByApplicant" type="YesNoType"/>
      <xsd:element name="ReceivePaperCertificate" type="YesNoType"/>
      <xsd:element name="IsConsentProvidedtoRB" type="YesNoType" minOccurs="0"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="Basic_ApplicantIdentityDetailsStructure">
    <xsd:sequence>
      <xsd:element name="IdentityVerified" type="YesNoType"/>
      <xsd:element name="EvidenceCheckedBy" type="CheckedByType"/>
      <xsd:element name="PassportDetails" type="PassportStructure"/>
      <xsd:element name="DriverLicenceDetails" type="DriverLicenceStructure"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="StandardAndEnhanced_ApplicantIdentityDetailsStructure">
    <xsd:sequence>
      <xsd:element name="IdentityVerified" type="YesNoType"/>
      <xsd:element name="EvidenceCheckedBy" type="CheckedByType"/>
      <xsd:element name="PassportDetails" type="PassportStructure"/>
      <xsd:element name="DriverLicenceDetails" type="DriverLicenceStructure"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="PassportStructure">
    <xsd:sequence>
      <xsd:element name="ValidPassportAvailable" type="YesNoType"/>
      <xsd:element name="PassportNumber" type="PassportNumberType" minOccurs="0"/>
      <xsd:element name="PassportCountryOfIssue" type="ISOCountryCodeType" minOccurs="0"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="DriverLicenceStructure">
    <xsd:sequence>
      <xsd:element name="UKDrivingLicenceAvailable" type="YesNoType"/>
      <xsd:element name="DriverLicenceNumber" type="DriverLicenceNumberType" minOccurs="0"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="PaperCertificateStructure">
    <xsd:sequence>
      <xsd:element name="ReceivePaperCertificate" type="YesNoType"/>
      <xsd:element name="ReceivePaperCertificateAtCurrentAddress" type="YesNoType"/>
      <xsd:element name="RecipientName" type="RecipientNameType" minOccurs="0"/>
      <xsd:element name="RecipientDepartment" type="RecipientDepartmentType" minOccurs="0"/>
      <xsd:element name="RecipientAddress" type="AddressStructure" minOccurs="0"/>
    </xsd:sequence>
  </xsd:complexType>
</xsd:schema>

C. Acceptable list types

C1 Assumed title to gender

It is important to match the applicants gender to the applicant’s title, below is the list of assumed values.

Valid Values

BARON - MALE

BARONESS - FEMALE

BRIGADIER - BOTH

CANON - BOTH

CAPTAIN - BOTH

DR - BOTH

DUCHESS - BOTH

DUKE - MALE

ESQ - MALE

FATHER - MALE

HON - BOTH

INSPECTOR - BOTH

LADY - FEMALE

LORD - MALE

LT COL - BOTH

MAJOR - BOTH

MISS - FEMALE

MOST REVER - BOTH

MR - MALE

MRS - FEMALE

MS - FEMALE

PASTOR - BOTH

PROFESSOR - BOTH

RABBI - BOTH

REV DR - BOTH

REVEREND - BOTH

RT REVEREN - BOTH

SIR - MALE

SISTER - FEMALE

SQUADRON L - BOTH

WG CDR - BOTH

C2 Acceptable title

This is a list of acceptable titles as issued by the DBS, this list is supplied to uCheck by the DBS and is out of the control of uCheck.

Valid Values

BARON

BARONESS

BRIGADIER

CANON

CAPTAIN

DR

DUCHESS

DUKE

ESQ

FATHER

HON

INSPECTOR

LADY

LORD

LT COL

MAJOR

MISS

MOST REVER

MR

MRS

MS

PASTOR

PROFESSOR

RABBI

REV DR

REVEREND

RT REVEREN

SIR

SISTER

SQUADRON L

WG CDR

C3 Acceptable country codes

This is a list of acceptable country codes as issued by the DBS, this list is supplied to uCheck by the DBS and is out of the control of uCheck.

TERRITORY CODE

TERRITORY SHORT NAME

AD

Andorra

AE

United Arab Emirates

AF

Afghanistan

AG

Antigua and Barbuda

AI

Anguilla

AL

Albania

AM

Armenia

AN

Netherlands Antilles

AO

Angola

AQ

Antartica

AR

Argentina

AS

American Samoa

AT

Austria

AU

Australia

AW

Aruba

AX

Aland Islands

AZ

Azerbaijan

BA

Bosnia and Herzegovina

BB

Barbados

BD

Bangladesh

BE

Belgium

BF

Burkina Faso

BG

Bulgaria

BH

Bahrain

BI

Burundi

BJ

Benin

BL

Saint-Barthelemy

BM

Bermuda

BN

Brunei Darussalam

BO

Bolivia

BQ

Bonaire

BR

Brazil

BS

Bahamas

BT

Bhutan

BV

Bouvet Island

BW

Botswana

BY

Belarus

BZ

Belize

CA

Canada

CC

Cocos Keeling Islands

CD

Congo-Democratic Republic

CF

Central African Republic

CG

Congo Brazzaville

CH

Switzerland

CI

Cote dIvoire

CK

Cook Islands

CL

Chile

CM

Cameroon

CN

China

CO

Colombia

CR

Costa Rica

CU

Cuba

CV

Cape Verde

CW

Curacao

CX

Christmas Island

CY

Cyprus

CZ

Czech Republic

DE

Germany

DJ

Djibouti

DK

Denmark

DM

Dominica

DO

Dominican Republic

DZ

Algeria

EC

Ecuador

EE

Estonia

EG

Egypt

EH

Western Sahara

ER

Eritrea

ES

Spain

ET

Ethiopia

FI

Finland

FJ

Fiji

FK

Falkland Islands

FM

Micronesia

FO

Faroe Islands

FR

France

GA

Gabon

GB

United Kingdom

GD

Grenada

GE

Georgia

GF

French Guiana

GG

Guernsey

GH

Ghana

GI

Gibraltar

GL

Greenland

GM

Gambia

GN

Guinea

GP

Guadeloupe

GQ

Equatorial Guinea

GR

Greece

GS

South Georgia

GT

Guatemala

GU

Guam

GW

Guinea-Bissau

GY

Guyana

HK

Hong Kong-Region of China

HM

Heard Island-Mcdonald Islands

HN

Honduras

HR

Croatia

HT

Haiti

HU

Hungary

ID

Indonesia

IE

Ireland

IL

Israel

IM

Isle of Man

IN

India

IO

British Indian Ocean Territory

IQ

Iraq

IR

Iran

IS

Iceland

IT

Italy

JE

Jersey

JM

Jamaica

JO

Jordan

JP

Japan

KE

Kenya

KG

Kyrgyzstan

KH

Cambodia

KI

Kirbati

KM

Comoros

KN

Saint Kitts and Nevis

KP

North Korea

KR

South Korea

KW

Kuwait

KY

Cayman Islands

KZ

Kazakhstan

LA

Lao PDR

LB

Lebanon

LC

Saint Lucia

LI

Liechtenstein

LK

Sri Lanka

LR

Liberia

LS

Lesotho

LT

Lithuania

LU

Luxembourg

LV

Latvia

LY

Libya

MA

Morocco

MC

Monaco

MD

Moldova

ME

Montenegro

MF

Saint-Martin French part

MG

Madagascar

MH

Marshall Islands

MK

Macedonia

ML

Mali

MM

Myanmar

MN

Mongolia

MO

Macao-Region of China

MP

Northern Mariana Islands

MQ

Martinique

MR

Mauritania

MS

Montserrat

MT

Malta

MU

Mauritius

MV

Maldives

MW

Malawi

MX

Mexico

MY

Malaysia

MZ

Mozambique

NA

Namibia

NC

New Caledonia

NE

Niger

NF

Norfolk Island

NG

Nigeria

NI

Nicaragua

NL

Netherlands

NO

Norway

NP

Nepal

NR

Nauru

NU

Niue

NZ

New Zealand

OM

Oman

PA

Panama

PE

Peru

PF

French Polynesia

PG

Papua New Guinea

PH

Philippines

PK

Pakistan

PL

Poland

PM

Saint Pierre and Miquelon

PN

Pitcairn

PR

Puerto Rico

PS

Palestinian

PT

Portugal

PW

Palau

PY

Paraguay

QA

Qatar

RE

Reunion

RO

Romania

RS

Serbia

RU

Russian Federation

RW

Rwanda

SA

Saudi Arabia

SB

Solomon Islands

SC

Seychelles

SD

Sudan

SE

Sweden

SG

Singapore

SH

Saint Helena

SI

Slovenia

SJ

Svalbard and Jan Mayen Islands

SK

Slovakia

SL

Sierra Leone

SM

San Marino

SN

Senegal

SO

Somalia

SR

Suriname

SS

South Sudan

ST

Sao Tome and Principe

SV

El Salvador

SX

Sint Maarten

SY

Syria

SZ

Swaziland

TC

Turks and Caicos Islands

TD

Chad

TF

French Southern Territories

TG

Togo

TH

Thailand

TJ

Tajikistan

TK

Tokelau

TL

Timor-Leste

TM

Turkmenistan

TN

Tunisia

TO

Tonga

TR

Turkey

TT

Trinidad and Tobago

TV

Tuvlau

TW

Taiwan

TZ

Tanzania

UA

Ukraine

UG

Uganda

UM

US Minor Outlying Islands

US

United States of America

UY

Uruguay

UZ

Uzbekistan

VA

Vatican City State

VC

Saint Vincent and Gernadines

VE

Venezuela

VG

British Virgin Islands

VI

Virgin Islands US

VN

Viet Nam

VU

Vanuatu

WF

Wallis and Futuna Islands

WS

Samoa

YE

Yemen

YT

Mayotte

ZA

South Africa

ZM

Zambia

ZW

Zimbabwe

E1 Test schedule

Before a customer is enabled on the live uCheck system they are required to comply with the following test schedule.

At any point uCheck reserve the right to request further testing.

  1. Please supply a sample XML as per the Examples section, please change the two addresses within the application, to other valid addresses and post codes . uCheck will validate this, when there are no remaining issues will proceed to the next stage.

  2. uCheck will now grant access to a UAT system to try the sample xml supplied in step 1 confirming all is working as expected.

  3. On successful submission of stage 2 uCheck will then request submission of a further 10 applications. Assuming zero issues uCheck will progress applications to completion.

Please use the following test scenarios for the purpose of this stage

Scenario 1

  • Applicant forename : Fivemr

  • Applicant middlename : Test

  • Applicant surname : Address

  • Title : MR

  • Birth Details

    • DOB : 06 July 1970

    • Birth Town : Exeter

    • Birth County : Devon

    • Birth Country : Great Britain

    • Nationality : British

    • Mother’s maiden name : Smith

  • Gender : Male

  • Address’s

    • Please supply a current address and 5 previous addresses making up the 5 years address history. Please ensure that post codes are valid.

    • Please ensure that any address history is in date order and sequential.

  • NI Details

    • Number : NP805592A

  • Any other required details may be based on the Examples section

Scenario 2

  • Applicant forename : Fivemrs

  • Applicant middlename : Test

  • Applicant surname : Address

  • Title : MRS

  • Birth Details

    • DOB : 06 July 1970

    • Birth Town : Exeter

    • Birth County : Devon

    • Birth Country : Great Britain

    • Nationality : British

    • Mother’s maiden name : Smith

    • As this applicant is a ‘MRS’ Birth name details are required.

      • Birth surname : Smith

      • Birth forename : Fivemrs

      • Birth surname until : 01 Feb 1990

  • Gender : Female

  • Address’s

    • Please supply a current address and 5 previous addresses making up the 5 years address history. Please ensure that post codes are valid.

    • Please ensure that any address history is in date order and sequential.

  • NI Details

    • Number : NP805592A

  • Any other required details may be based on the Examples section

Scenario 3

  • Applicant forename : Fivemr

  • Applicant middlename : Test

  • Applicant surname : Address

  • Title : MR

  • Birth Details

    • DOB : 06 July 1970

    • Birth Town : Exeter

    • Birth County : Devon

    • Birth Country : Great Britain

    • Nationality : British

    • Mother’s maiden name : Smith

  • Gender : Male

  • Address’s

    • Please supply a current address and 5 previous addresses making up the 5 years address history. Please ensure that post codes are valid.

    • Please ensure that any address history is in date order and sequential.

  • Other names

    • Please supply 2 previous names for this applicant

      • 1 : Surname changes to ‘Jones’

      • 2 : Forename changed to ‘John’

  • NI Details

    • Number : NP805592A

  • Any other required details may be based on the Examples section

Scenario 4

  • Applicant forename : Fivemrs

  • Applicant middlename : Test

  • Applicant surname : Address

  • Title : MRS

  • Birth Details

    • DOB : 06 July 1970

    • Birth Town : Exeter

    • Birth County : Devon

    • Birth Country : Great Britain

    • Nationality : British

    • Mother’s maiden name : Smith

    • As this applicant is a ‘MRS’ Birth name details are required.

      • Birth surname : Smith

      • Birth forename : Fivemrs

      • Birth surname until : 01 Feb 1990

  • Gender : Female

  • Address’s

    • Please supply a current address and 5 previous addresses making up the 5 years address history. Please ensure that post codes are valid.

    • Please ensure that any address history is in date order and sequential.

  • Other names

    • Please supply 2 previous names for this applicant

      • 1 : Surname changes to ‘Jones’

      • 2 : Forename changed to ‘Mary’

  • NI Details

    • Number : NP805592A

  • Any other required details may be based on the Examples section

Scenario 5

  • Applicant forename : Fivemr

  • Applicant middlename : Test

  • Applicant surname : Address

  • Title : MR

  • Birth Details

    • DOB : 06 July 1970

    • Birth Town : Exeter

    • Birth County : Devon

    • Birth Country : Great Britain

    • Nationality : British

    • Mother’s maiden name : Smith

  • Gender : Male

  • Address’s

    • Please supply a current address and 5 previous addresses making up the 5 years address history. Please ensure that post codes are valid.

    • Please ensure that any address history is in date order and sequential.

  • Other names

    • Please supply 2 previous names for this applicant

      • 1 : Surname changes to ‘Jones’

      • 2 : Forename changed to ‘John’

  • NI Details

    • Number : NP805592A

  • Drivers licence:

    • Number : ADDRE707060FT9ZX

      • Please understand the driving licence format as it is verified against previous details given within the application.

    • DOB : 06 July 1970

    • Type : photo

    • Valid from : 01 Jan 1990

    • Issue country : GB

  • Any other required details may be based on the Examples section

Scenario 6

  • Applicant forename : Fivemrs

  • Applicant middlename : Test

  • Applicant surname : Address

  • Title : MRS

  • Birth Details

    • DOB : 06 July 1970

    • Birth Town : Exeter

    • Birth County : Devon

    • Birth Country : Great Britain

    • Nationality : British

    • Mother’s maiden name : Smith

    • As this applicant is a ‘MRS’ Birth name details are required.

      • Birth surname : Smith

      • Birth forename : Fivemrs

      • Birth surname until : 01 Feb 1990

  • Gender : Female

  • Address’s

    • Please supply a current address and 5 previous addresses making up the 5 years address history. Please ensure that post codes are valid.

    • Please ensure that any address history is in date order and sequential.

  • Other names

    • Please supply 2 previous names for this applicant

      • 1 : Surname changes to ‘Jones’

      • 2 : Forename changed to ‘Mary’

  • NI Details

    • Number : NP805592A

  • Drivers licence:

    • Number : ADDRE757060FT9ZX

      • Please understand the driving licence format as it is verified against previous details given within the application.

    • DOB : 06 July 1970

    • Type : photo

    • Valid from : 01 Jan 1990

    • Issue country : GB

  • Any other required details may be based on the Examples section

Scenario 7 – 10

Please submit a further 4 unique applications to verify a good understanding of the process.

  1. uCheck will submit results to the customer supplied endpoint API (if required)and confirm acceptance and correct allocation of the result to the application.

Once all four stages are complete, testing, QA and internal sign off of the uCheck API, T&C have been signed we will provide access to the live system.

Version history

Version

Date

Description

1.0

Initial Draft

Initial draft

1.1

01/07/2019

Split out individual end points

1.2

10/01/2020

Added MothersMaidenname as a requirement

1.3

15/02/2020

Email reg-ex incorrect

1.4

01/06/2021

References to ‘email’ change to ‘applicant email’