> For the complete documentation index, see [llms.txt](https://docs.os.uk/os-downloads/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.os.uk/os-downloads/products/transport-network-portfolio/os-multi-modal-routing-network/os-mrn-technical-specification/feature-types/turn-restriction.md).

# Turn Restriction

A Turn Restriction provides line geometry that indicates turn restrictions for the given [Transport Link](/os-downloads/products/transport-network-portfolio/os-multi-modal-routing-network/os-mrn-technical-specification/feature-types/transport-link.md) (e.g. No right turn, No U turn).

Where the Turn Restriction applies to specific vehicle types (e.g. bus, HGV), this is identified by the corresponding separate attributes as described below.

## Temporal Filtering

The earliest date on which you can request a one-off snapshot of a date in the past for data in this feature type is 27 March 2024.

## Feature type attributes

The following sub-sections provide details about the attributes included with this feature type, their data types in the different output formats, and other important metadata about them.

{% hint style="info" %}
For more information about the Turn Restriction Feature Type please read the [Turn Restriction overview](/os-downloads/products/transport-network-portfolio/os-multi-modal-routing-network/os-mrn-overview/feature-types-overview/turn-restriction-overview.md) page in the [OS MRN Overview](/os-downloads/products/transport-network-portfolio/os-multi-modal-routing-network/os-mrn-overview.md).
{% endhint %}

### relationid

A unique numerical ID given to each TurnRestriction. This is commonly used by routing software as the primary identifier for the feature.

* **Data Types:** Integer (GPKG), String (PBF)
* **Nullable:** false
* **Max Length:** 10
* **Data Schema Version:** 1.0

### os\_parentid

The osid of the corresponding feature that is published in OS Transport Network Collection.

* **Data Types:** String (GPKG), String (PBF)
* **Nullable:** true
* **Max Length:** 40
* **Data Schema Version:** 1.0

### type

Describes the type of relation. All relations take value 'restriction' to describe how they should be applied.

* **Data Types:** String (GPKG), String (PBF)
* **Nullable:** true
* **Max Length:** 26
* **Data Schema Version:** 1.0

### restriction

Describes the type of turn restriction, for example, 'no\_right\_turn', 'only\_straight\_on'. This attribute will only be populated if the turn restrictions apply to all vehicles and not to specifically to HGVs, goods vehicles, buses, public service vehicles, abnormal loads or wide loads. In this scenario, restriction will be nulled and the relevant vehicle specific attribute populated as appropriate, for example, restriction:hgv.

* **Data Types:** String (GPKG), String (PBF)
* **Nullable:** true
* **Code List Name:** [restrictionlabelvalue](/os-downloads/products/transport-network-portfolio/os-multi-modal-routing-network/os-mrn-technical-specification/code-lists/restrictionlabelvalue.md)
* **Max Length:** 16
* **Data Schema Version:** 1.0

### restriction:conditional

If the turn restriction only exists on specific times or days then the time periods will be populated here in OpenStreetMap time conditional formatting, for example, 'no\_right\_turn @ (Mo-Fr 07:30-09:30)'

* **Data Types:** String (GPKG), String (PBF)
* **Nullable:** true
* **Max Length:** 250
* **Data Schema Version:** 1.0

### restriction:hgv

A turn restriction which applies only to heavy goods vehicles.

* **Data Types:** String (GPKG), String (PBF)
* **Nullable:** true
* **Code List Name:** [restrictionlabelvalue](/os-downloads/products/transport-network-portfolio/os-multi-modal-routing-network/os-mrn-technical-specification/code-lists/restrictionlabelvalue.md)
* **Max Length:** 16
* **Data Schema Version:** 1.0

### restriction:goods

A turn restriction which applies only to goods vehicles.

* **Data Types:** String (GPKG), String (PBF)
* **Nullable:** true
* **Code List Name:** [restrictionlabelvalue](/os-downloads/products/transport-network-portfolio/os-multi-modal-routing-network/os-mrn-technical-specification/code-lists/restrictionlabelvalue.md)
* **Max Length:** 16
* **Data Schema Version:** 1.0

### restriction:bus

A turn restriction which applies only to buses including school buses.

* **Data Types:** String (GPKG), String (PBF)
* **Nullable:** true
* **Code List Name:** [restrictionlabelvalue](/os-downloads/products/transport-network-portfolio/os-multi-modal-routing-network/os-mrn-technical-specification/code-lists/restrictionlabelvalue.md)
* **Max Length:** 16
* **Data Schema Version:** 1.0

### restriction:psv

A turn restriction which applies only to Public Service Vehicles inlcuding buses, coaches and local buses

* **Data Types:** String (GPKG), String (PBF)
* **Nullable:** true
* **Code List Name:** [restrictionlabelvalue](/os-downloads/products/transport-network-portfolio/os-multi-modal-routing-network/os-mrn-technical-specification/code-lists/restrictionlabelvalue.md)
* **Max Length:** 16
* **Data Schema Version:** 1.0

### restriction:abnormalloads

A turn restriction which applies only to unspecified abnormal loads. This is not a standard OpenStreetMap (OSM) tag.

* **Data Types:** String (GPKG), String (PBF)
* **Nullable:** true
* **Max Length:** 250
* **Data Schema Version:** 1.0

### restriction:wideloads

A turn restriction which applies only to unspecified wide loads. This is not a standard OSM tag.

* **Data Types:** String (GPKG), String (PBF)
* **Nullable:** true
* **Max Length:** 250
* **Data Schema Version:** 1.0

### except

Specifies the vehicle types for which the turn restriction does not apply. Multiple vehicle types will be seperated.

* **Data Types:** String (GPKG), String (PBF)
* **Nullable:** true
* **Max Length:** 50
* **Data Schema Version:** 1.0

### from

The wayid of the first TransportLink involved in the turn restriction.

* **Data Types:** Integer (GPKG), String (PBF)
* **Nullable:** false
* **Max Length:** 10
* **Data Schema Version:** 1.0

### to

The wayid of the last TransportLink involved in the turn restriction.

* **Data Types:** Integer (GPKG), String (PBF)
* **Nullable:** false
* **Max Length:** 10
* **Data Schema Version:** 1.0

### via

A list of wayids (and/or nodeids). When there are only two links involved in the turn restriction, via is the node at the junction at which the turn restriction applies. When there are more than two links involved in the turn restriction, via is a list of all links which are not the from or to link.

* **Data Types:** String (GPKG), String (PBF)
* **Nullable:** false
* **Max Length:** 250
* **Data Schema Version:** 1.0

### geometry

2D geometry for the feature.

* **Data Types:** Geometry (GPKG), Geometry (PBF)
* **Nullable:** false
* **Data Schema Version:** 1.0
* **Geometry Type:** MultiLineString


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.os.uk/os-downloads/products/transport-network-portfolio/os-multi-modal-routing-network/os-mrn-technical-specification/feature-types/turn-restriction.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
