---
id: "ifopt_stop_id"
kind: "datatype"
status: "draft"
is_pii: false
categories: ["transport"]
langs: ["common"]
quality: 80
url: "https://registry.apicrafter.io/datatype/ifopt_stop_id"
---

# IFOPT stop id (DHID) (`ifopt_stop_id`)

> **Draft.** Draft records have not been reviewed yet and may be incomplete or wrong; do not treat them as authoritative for legal or compliance decisions.

Identifier of a stop place, an area of it or a single quay under IFOPT (Identification of Fixed Objects in Public Transport), the European reference data model for stops. Parts are separated by colons: a lower-case country code, a regional key, the stop number, then optionally an area and a quay. Germany publishes these ids as DHID (deutschlandweite Haltestellen-ID) with the five-digit district key (Kreisschlüssel) as the regional part, as in de:05966:60521 for a stop and de:05966:60521:1:1 for one of its quays.

- Parent datatype: `id`
- Personal data (PII): no
- Categories: Transportation (transport)
- Countries: global
- Languages: Common to most languages (common)
- Classification: identifier

## Detection

Regular expression (Python `re`):

```
^[a-z]{2}:\d+:\d+(?::[0-9A-Za-z_]+){0,2}$
```

## Examples

- `de:05966:24128` — Stop place in the district of Olpe
- `de:05966:24128:1:1` — Quay 1 of area 1 of that stop place
- `05966:24128` (invalid example) — No country code
- `DE:05966:24128` (invalid example) — Country code in upper case

## Translations

- de: Deutschlandweite Haltestellen-ID (DHID)

## Sources

- wikipedia: <https://en.wikipedia.org/wiki/Identification_of_Fixed_Objects_in_Public_Transport>

## Quality

Score 80/100. Missing: mapping (Wikidata, Schema.org, ...), detector coverage.

JSON: <https://registry.apicrafter.io/api/v1/datatypes/ifopt_stop_id.json> · Edit: <https://github.com/apicrafter/metacrafter-registry/edit/main/data/datatypes/any/transport/ifopt_stop_id.yaml>
