NOTICE: is no longer in use from 1st March 2024. Please use the OpenStreetMap Community Forum

In my area there are shops which sell both optics such as glasses and contact lenses as well as hearing aids. How should I tag them?

I could go for shop=optician;hearing_aids. But then my question is if the shop will be found by data users? This combination appears only 29 times (and 11 times the other way round) globally according to taginfo.

Or I could subjectively choose which one seems to be the main business and tag e.g. as shop=optician and add a note about the hearing aids in a description tag.

asked 11 Mar '20, 21:04

hfs's gravatar image

accept rate: 17%

It's a semi-official rule, and definitely general best practice, to avoid semicolon-separted values on "top-level" POI tags such as amenity, shop, and office. See

My suggestion would be to make a call as to which is the primary purpose of the shop. If it's optical, then tag shop=optician + heading_aids=yes, and visa-versa.

Sometimes it's a hard call to make, but I still believe that going with one over the other is a better call than a semicoloned value.

It might also a good idea to add a description tag that mentions the multiple purposes of the shop, because some software may use description= but not look for various *=yes tags.

Other commonly paired shops: coffee/tea, tattoo/piercing/jewelry, bakery/pastry, convenience/tobacco. When I see these I choose one value for shop= and put the other as a key with value yes.

It's worth noting that there are some shop types where using the equivalent *=yes might be confusing, for example bicycle=yes is usually an access tag, pet=yes usually refers to permission to bring pets to a POI (though pets=yes is more common for this purpose.)

permanent link

answered 11 Mar '20, 23:08

jmapb's gravatar image

accept rate: 22%

To me listing a plain item=yes is rather more concerning in the difficulty to interpret and support in general. A feature:item=yes or item:activity=yes would allow item to be put as an option available under feature, aside from less confusion with various feature. Although, as someone who appreciates namespacing I'm still wary of its possible limitations

As a side note, medical devices can have access restrictions . For example, implanted cardiac devices (eg icd, artificial pacemaker) require magnetic shielding to protect against electromagnetic fields.

(12 Mar '20, 08:20) Kovoschiz

I agree that *=yes is a less-than-ideal solution, but it's most widely implemented.

For shops, the best-supported namespace tagging would probably be eg sells:hearing_aids=yes, which would be a lot easier for software to parse (versus iterating through *=yes and guessing which ones refer to secondary shop purposes.) But "please don't list everything that a shop sells/every item on a restaurant menu/etc" is another traditional OSM best practice, so it hasn't gained a lot of traction.

There's also some support for using shop_1=* and alt_shop=* for secondary shop purposes. alt_shop=* would actually be my preferred solution to this problem, but it's so rarely used that it's barely worth mentioning.

Using tobacco as an example:

  • tobacco=yes, 2 371 uses
  • sells:tobacco=yes, 174 uses
  • shop_1=tobacco, 115 uses
  • alt_shop=tobacco, 0 uses (the most common is alt_shop=beauty at 31 uses)
(12 Mar '20, 14:56) jmapb

I've seen a few bakery/convenience combination tagged as two separated nodes on the same building. It feels a bit silly to duplicate name, contact and opening_hours, but I guess it's the easiest for data cousumer.

permanent link

answered 12 Mar '20, 10:44

H_mlet's gravatar image

accept rate: 13%

It is worth considering craft=optician or craft=hearing_aid if either is "crafted" to some degree on site (keeping the possible ambiguity of shop= vs craft= in mind), and healthcare=optometrist or healthcare=audiobiologist if a practicing registered medical specialist is at the shop.

permanent link

answered 12 Mar '20, 08:32

Kovoschiz's gravatar image

accept rate: 16%

edited 12 Mar '20, 08:46

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here



Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text]( "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Question tags:


question asked: 11 Mar '20, 21:04

question was seen: 2,691 times

last updated: 12 Mar '20, 14:57

NOTICE: is no longer in use from 1st March 2024. Please use the OpenStreetMap Community Forum