# OSM Tags and Penalty Rules in OpenRouteService for Narrow Bidirectional Roads

**URL:** <https://ask.openrouteservice.org/t/osm-tags-and-penalty-rules-in-openrouteservice-for-narrow-bidirectional-roads/5794>\
**Category:** openrouteservice\
**Created:** [February 20, 2024, 10:25am UTC](https://ask.openrouteservice.org/t/osm-tags-and-penalty-rules-in-openrouteservice-for-narrow-bidirectional-roads/5794 "2024-02-20T10:25:30Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![cmoffroad](https://ask.openrouteservice.org/user_avatar/ask.openrouteservice.org/cmoffroad/32/2832_2.png) [@cmoffroad](https://ask.openrouteservice.org/u/cmoffroad)\
**Post date:** [February 20, 2024, 10:25am UTC](https://ask.openrouteservice.org/t/osm-tags-and-penalty-rules-in-openrouteservice-for-narrow-bidirectional-roads/5794/1 "2024-02-20T10:25:30Z")

</div>

I’m in the midst of exploring OpenRouteService to understand the supported OSM tags for identifying narrow roads that permit bidirectional traffic in the default car profile. Additionally, I’m interested in the penalty rules:

- Are there penalties for roads with a `width` less than X?
- Are there any minimum requirements for `width`?
- Does the number of `lanes` play a role?
- Are there any other supported tags?

If you have any pointers to the relevant code, I’d greatly appreciate it!

---

<div class="post-metadata">

**Author:** ![jschnell](https://ask.openrouteservice.org/user_avatar/ask.openrouteservice.org/jschnell/32/971_2.png) [@jschnell](https://ask.openrouteservice.org/u/jschnell)\
**Post date:** [February 20, 2024, 3:26pm UTC](https://ask.openrouteservice.org/t/osm-tags-and-penalty-rules-in-openrouteservice-for-narrow-bidirectional-roads/5794/2 "2024-02-20T15:26:31Z")

</div>

Hey,

I’ll try to answer your questions to the best of my abilities:

> [@cmoffroad](#):
>
> Are there penalties for roads with a `width` less than X?

No

> [@cmoffroad](#):
>
> Are there any minimum requirements for `width`?

No. We’re mainly using `highway` tags to determine if a road is driveable.

> [@cmoffroad](#):
>
> Does the number of `lanes` play a role?

No

> [@cmoffroad](#):
>
> Are there any other supported tags?

Yes. Have a look [here](https://giscience.github.io/openrouteservice/technical-details/tag-filtering).

If you’re looking for the code, this should all be done in the [CarFlagEncoder](https://github.com/GIScience/openrouteservice/blob/main/ors-engine/src/main/java/org/heigit/ors/routing/graphhopper/extensions/flagencoders/CarFlagEncoder.java) or classes it inherits from.

Best regards
