Quite a few supermarkets in my region have water taps for people to clean produce. These are generally located inside the building but outside checkout.
These can also be very useful for people searching for (drinking) water, so I have been adding these to the map whenever I find them. They are generally free to use.
Since these taps are located inside a supermarket I am unsure what the best practice to map them would be, and would be interested in your opinion:
Create a seperate node within the supermarket
Add man_made=water_tap to the way / node of the supermarket.
The big advantage of the former is that opening times would be shared between both the supermarket and the tap, thus we would avoid data duplication. On the other hand this approach seems to be quite rare: I could only find 3 such places worldwide.
I would also create a node. As a quicker alternative, adding man_made=water_tap to the supermarket looks wrong because that’s a ‘main tag’ but adding drinking_water=yes seems fine because that’s a tag that is used for adding additional information to an existing POI.
There’s nothing wrong with multiple features having the same value when that reflects reality accurately. The one feature principle is about a one-to-one relationship between real-world things and objects in the OSM database, not about optimizing the size of the database.
I was more concerned about two separate versions of the opening times potentially going out of sync, since the opening times of the water tap is less likely to be updated.
If this is a concern, you could set check_date:opening_hours=* to the current date. At least that would make it easier to spot if it’s outdated compared to surrounding elements.
You should probably also add an access= tag, probably =customers, assuming that they don’t want people coming in to refill their water bottle, then walk out again!
I would not do it. The opening hours are from the supermarket, and if it is mapped as a polygon, this information can be inherited to the things that are inside, so we do not have to repeat the opening hours on every thing inside.
Navigation applications do display opening hours and even let you filter by them. Do any geocoders implement this form of inheritance even for addresses? Address inheritance is different than the spatial query that’s part of a typical reverse geocoding implementation.