> ## Documentation Index
> Fetch the complete documentation index at: https://docs.go.gbgplc.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Data Verification Dual Match

> Verify identity data against multiple data sources and require confirmation from at least two sources for the strongest match outcome in GBG GO.

The **Data Verification Dual Match** module verifies identity data against multiple data sources and requires confirmation from at least two sources for the strongest match outcome.

It uses the same source-count capability pattern as the single-match [Data Verification](/docs/go-v2/platform/modules/data/data-verification) module, but suits use cases that require dual-source confirmation, such as regulatory frameworks that mandate identity verification against two independent sources.

| Variant                                                    | Data sources              | Required inputs                                                   |
| ---------------------------------------------------------- | ------------------------- | ----------------------------------------------------------------- |
| [UK: Dual match all sources](#uk-dual-match-all-sources)   | All available UK sources  | Full name, building, thoroughfare, locality, postal code, country |
| [UK: Dual match super bureau](#uk-dual-match-super-bureau) | Super bureau sources only | Full name, building, postal code                                  |

## UK: Dual match all sources

This variant verifies UK subjects against all available data sources. It returns integer counts of how many sources matched for each combination of identity elements.

**Required inputs:**

* Full name
* Building
* Thoroughfare
* Locality
* Postal code
* Country

**Optional inputs:**

* Date of birth
* Administrative area
* Gender
* Mobile phone
* National insurance number
* Mother's maiden name
* Landline phone

### Capabilities

The module returns source-count capabilities that indicate how many independent data sources confirmed each combination of identity elements, plus an age flag and an overall GBG score.

| Capability                        | Type    | Range | Description                                                  |
| --------------------------------- | ------- | ----- | ------------------------------------------------------------ |
| Number of matching sources        | Integer | 0–5   | Total sources with any match type.                           |
| Name + Address matches            | Integer | 0–5   | Sources where name and address matched.                      |
| Name + DOB matches                | Integer | 0–5   | Sources where name and date of birth matched.                |
| Name + DOB + Address matches      | Integer | 0–5   | Sources where name, DOB, and address all matched.            |
| ID + Name + Address matches       | Integer | 0–5   | Sources where ID number, name, and address matched.          |
| ID + Name + DOB matches           | Integer | 0–5   | Sources where ID number, name, and DOB matched.              |
| ID + Name + DOB + Address matches | Integer | 0–5   | Sources where ID number, name, DOB, and address all matched. |

The table below lists the other capabilities returned by this variant.

| Capability  | Type    | Range/Values        | Description                                |
| ----------- | ------- | ------------------- | ------------------------------------------ |
| Is under 18 | Boolean | `isTrue`, `isFalse` | Whether the subject is under 18 years old. |
| GBG score   | Integer | 0–1000              | GBG identity verification score.           |

### Default outcomes

The table below lists the default outcomes for this variant.

| Outcome         | Condition                            | Description                                                                                      |
| --------------- | ------------------------------------ | ------------------------------------------------------------------------------------------------ |
| `ALERT`         | Is under 18 is `isTrue`              | The module flags the subject as under 18. This takes priority over all match outcomes.           |
| `Match`         | Name + DOB + Address ≥ 1             | At least one source confirmed name, DOB, and address together.                                   |
| `Partial Match` | Name + Address ≥ 1 or Name + DOB ≥ 1 | At least one source confirmed a partial combination, but no source confirmed all three together. |
| `No Match`      | Name + Address \< 1                  | No source matched even the basic name and address combination.                                   |
| `Error`         | Default (no conditions matched)      | An unexpected error occurred.                                                                    |

### Input payload

The following is a sample payload used to submit identity data to the **UK: Dual match all sources** variant for processing.

```json JSON theme={null}
{
  "resourceId": "your-journey-resourceID@latest",
  "context": {
    "config": {
      "delivery": {}
    },
    "subject": {
      "identity": {
        "currentAddress": {
          "country": "GBR",
          "postalCode": "BA133BN",
          "locality": "Westbury",
          "thoroughfare": "High Street",
          "building": "52",
          "administrativeArea": "Wilts"
        },
        "dateOfBirth": "1960-01-01",
        "firstName": "John",
        "lastNames": ["Doe"]
      }
    }
  }
}
```

### Sample response

The following is a sample response where no data source matched the subject's identity data.

```json JSON theme={null}
{
  "response": {
    "advice": {
      "contains": {
        "nameAddress": 0,
        "nameDob": 0,
        "nameDobAddress": 0,
        "idNameAddress": 0,
        "idNameDob": 0,
        "idNameAddressDob": 0,
        "idName": 0,
        "sources": 0,
        "isUnder18": false,
        "customDecision": null,
        "gbgScore": 0
      }
    },
    "outcome": "No Match"
  }
}
```

In this example:

* No source returned a match for any combination of identity elements (`sources`: 0).
* The GBG score is `0`, indicating that no source returned meaningful verification data.
* Because Name + Address is below 1, the outcome resolves to `No Match`.

## UK: Dual match super bureau

This variant verifies UK subjects against a narrower set of super bureau data sources. The capabilities and default outcomes are the same as [UK: Dual match all sources](#uk-dual-match-all-sources).

**Required inputs:**

* Full name
* Building
* Postal code

**Optional inputs:**

* Date of birth
* Thoroughfare
* Locality
* Country
* Administrative area
* Gender
* Mobile phone
* National insurance number
* Mother's maiden name
* Landline phone

### Input payload

The following is a sample payload used to submit identity data to the **UK: Dual match super bureau** variant for processing.

```json JSON theme={null}
{
  "resourceId": "your-journey-resourceID@latest",
  "context": {
    "config": {
      "delivery": {}
    },
    "subject": {
      "identity": {
        "currentAddress": {
          "country": "GBR",
          "postalCode": "BA133BN",
          "locality": "Westbury",
          "thoroughfare": "High Street",
          "building": "4",
          "administrativeArea": "Wilts"
        },
        "dateOfBirth": "1967-01-01",
        "firstName": "John",
        "middleNames": ["C"],
        "lastNames": ["Doe"]
      }
    }
  }
}
```

### Sample response

The following is a sample response showing a successful identity match.

```json JSON theme={null}
{
  "response": {
    "advice": {
      "contains": {
        "nameAddress": 4,
        "nameDob": 3,
        "nameDobAddress": 3,
        "idNameAddress": 0,
        "idNameDob": 0,
        "idNameAddressDob": 0,
        "idName": 0,
        "sources": 4,
        "isUnder18": false,
        "customDecision": null,
        "gbgScore": 894
      }
    },
    "outcome": "Match"
  }
}
```

In this example:

* Four sources returned a match (`sources`: 4), and three of them confirmed name, DOB, and address together (`nameDobAddress`: 3).
* No source matched on an ID number, because the payload didn't include a national insurance number.
* The GBG score is `894`, indicating high verification confidence.
* Because Name + DOB + Address is at least 1, the outcome resolves to `Match`.
