What is the best way to map a shops that specializes in two specific kinds of goods? There are few examples in my area.
We have a shops that could be marked either as bookstore or stationery (on top of that thy also sell some board games) and shop selling toys and clothes for children.
There’s also place that is both hotel and a restaurant.
Ideally, just list all of them, with semicolons between them. However, the reality is that this will cause most renderers to treat them as shop=yes.
From the point of view of not tagging for the renderer, multiple values is the only real option, but if there is obviously one dominant type of product/service, consider using that, if it currently says shop=yes, or is not currently mapped. Do not reduce multiple values, already mapped, to just one.
For your first example there is no real good best fitting solution I am afraid. Many mappers oppose putting multiple values (separated by semicolon) into one tag. I think the only commonly accepted method is to opt for the one value that is most dominant in the shop and abandon the others.
For your second example many mappers would map separate objects for the hotel and the restaurant. Often the building will get the hotel tags and then you add a separate node for the restaurant.
For hotel and restaurant I would use 2 different nodes, as it is likely that they have different opening hours, and perhaps different contact information.
I would treat the book shop/stationers as a stationery shop. It is not uncommon in small towns for this combination, with books being usually rather less than half of the business. The usual product mix is: greeting cards, puzzles, board games, some toys, office stationery, wrapping paper, books and maps (often with a local bias). In Britain we have one major chain, W.H. Smiths, which has traditionally always had this mix, although it has pushed books much more in recent years.
In general I would try to choose one of the options, and document the quirks in the description tag. A few shops absolutely require that the values be separated by semicolons (Timpsons in Britain do shoe_repair, key_cutting and dry_cleaning, for instance). The oddest one I’ve encountered was a hairdresser who also sold small electric appliances and children’s bicycles.