# Welsh Address

The Welsh Postcode Address File format is identical to the [Postcode Address File](/docs/data/paf.md) format except locality information such as post town, locality, and dependent locality, which are presented in Welsh.

Welsh PAF provides the Welsh language alternative for an address in Wales and are an optional addon to the main UK address dataset.

More Welsh alternatives addresses (which translate the premise elements into Welsh) can be found on the PAF Aliases dataset.

Please make an enquiry about enabling this dataset on your API Key.

Welsh PAF address results carry the `pafw` dataset label.

* `dataset` string

  Dataset

  Indicates the provenance of an address.

  Example: `pafw`

  Enum: "pafw"

## Native Record

* `native` object

  Native Record

  The raw dataset record backing an address, exactly as the dataset supplies it. One schema per dataset; `dataset` on the record says which.

Raw Royal Mail Welsh language record backing a `pafw` address.

Welsh alternatives for addresses in the sectors Royal Mail defines as part of the Welsh principality. Same shape as a PAF record, keyed on the same UDPRN.

Fields shared by every Royal Mail PAF family native record (`paf`, `mr`, `nyb`, `pafa`, `pafw`).

The Royal Mail record as held in Postgres, before any derived fields are added. Formatted lines, `premise`, postcode parts, geocodes, UPRN and county fields belong to the address, not to the native record. `dataset` is the one field not taken from Royal Mail.

Two values differ from the raw PAF file: `post_town` is title cased (Royal Mail supplies it upper cased), and a `building_number` of `0`, PAF's sentinel for "none", is returned as an empty string.

### Example Record

| Field                                                            | Example               | Type     |
| ---------------------------------------------------------------- | --------------------- | -------- |
| [`dataset`](#native-dataset)                                     | pafw                  | `string` |
| [`postcode`](#native-postcode)                                   | CF10 1EP              | `string` |
| [`post_town`](#native-post_town)                                 | Caerdydd              | `string` |
| [`dependant_locality`](#native-dependant_locality)               | Empty in this example | `string` |
| [`double_dependant_locality`](#native-double_dependant_locality) | Empty in this example | `string` |
| [`thoroughfare`](#native-thoroughfare)                           | Heol Eglwys Fair      | `string` |
| [`dependant_thoroughfare`](#native-dependant_thoroughfare)       | Empty in this example | `string` |
| [`building_number`](#native-building_number)                     | 1                     | `string` |
| [`building_name`](#native-building_name)                         | Empty in this example | `string` |
| [`sub_building_name`](#native-sub_building_name)                 | Empty in this example | `string` |
| [`po_box`](#native-po_box)                                       | Empty in this example | `string` |
| [`department_name`](#native-department_name)                     | Empty in this example | `string` |
| [`organisation_name`](#native-organisation_name)                 | Empty in this example | `string` |
| [`udprn`](#native-udprn)                                         | `90000003`            | `number` |
| [`postcode_type`](#native-postcode_type)                         | S                     | `string` |
| [`su_organisation_indicator`](#native-su_organisation_indicator) | Empty in this example | `string` |
| [`delivery_point_suffix`](#native-delivery_point_suffix)         | 1A                    | `string` |

```json
{
  "dataset": "pafw",
  "postcode": "CF10 1EP",
  "post_town": "Caerdydd",
  "dependant_locality": "",
  "double_dependant_locality": "",
  "thoroughfare": "Heol Eglwys Fair",
  "dependant_thoroughfare": "",
  "building_number": "1",
  "building_name": "",
  "sub_building_name": "",
  "po_box": "",
  "department_name": "",
  "organisation_name": "",
  "udprn": 90000003,
  "postcode_type": "S",
  "su_organisation_indicator": "",
  "delivery_point_suffix": "1A"
}
```

Every field is documented below.

* `dataset` string

  Example: `pafw`

  Enum: "pafw"

* `postcode` string

  Postcode, space separated

  Example: `CF10 1EP`

* `post_town` string

  Royal Mail post town, title cased

  Example: `Caerdydd`

* `dependant_locality` string

  Dependant locality. Empty string when not present

  Example: Empty in this example

* `double_dependant_locality` string

  Double dependant locality. Empty string when not present

  Example: Empty in this example

* `thoroughfare` string

  Street name

  Example: `Heol Eglwys Fair`

* `dependant_thoroughfare` string

  Dependant street name. Empty string when not present

  Example: Empty in this example

* `building_number` string

  Building number. Empty string when not present, or when PAF merges it into the building name

  Example: `1`

* `building_name` string

  Building name. Empty string when not present

  Example: Empty in this example

* `sub_building_name` string

  Sub building name. Empty string when not present

  Example: Empty in this example

* `department_name` string

  Department name within an organisation. Empty string when not present

  Example: Empty in this example

* `organisation_name` string

  Organisation name. Empty string when not present

  Example: Empty in this example

* `udprn` integer

  Unique Delivery Point Reference Number

  Example: `90000003`

* `postcode_type` string

  Postcode type.

  * `S` Small user
  * `L` Large user
  * `""` where Royal Mail supplies none

  Example: `S`

  Enum: "S", "L", ""

* `su_organisation_indicator` string

  Small user organisation indicator. `Y` where the small user postcode is held by an organisation

  Example: Empty in this example

* `delivery_point_suffix` string

  Royal Mail delivery point suffix

  Example: `1A`

* `po_box` string

  PO Box number. Empty string when not present

  Example: Empty in this example
