Proposal talk:Milk types

From OpenStreetMap Wiki
Latest comment: 1 day ago by Jake Low in topic Can this be applied to ice cream shops?
Jump to navigation Jump to search

milk:plant-based: Use underscore rather than hyphen

According to Any tags you like#Syntactic conventions for new tags, milk:plant-based should actually be written with an underscore rather than a hyphen, i.e. milk:plant_based :) Havelock Vétérini (talk) 20:03, 30 August 2026 (UTC)Reply

yep, I came here to say that! :) Amᵃᵖanda (talk) 09:16, 2 September 2026 (UTC)Reply
The hyphen is intentional. According to Wiktionary, “plant-based” is spelled with a hyphen, not with a space. In places that do not support spaces, such as OSM tags, underscores generally represent spaces only, not hyphens.
So the question is whether we adhere to OSM tagging practices (by using an underscore) or to common English spelling (by using a hyphen). Trainsgender (talk) 23:27, 10 September 2026 (UTC)Reply
Are there examples of similar tags with hyphens in OSM? Or examples of tags with underscores, which represent words spelled with hyphens in the real world? Nielkrokodil (talk) 14:32, 18 October 2026 (UTC)Reply
There appear to be some: Taginfo shows heavy use of the hyphen in language codes within tags, as well as in GTFS-related tags. The hyphen is also used in various `ref:*=*` keys, in cases where the original string contained a hyphen: `ref:sous-surveillance_net=*`, `ref:FR:prix-carburants=*` … Some other tags exist too: `strassen-nrw:abs=*`, `payment:china_t-union=*`, `communication:gsm-r=*`, `ISO3166-2=*` …
The keys given here as examples have between 5,600 and 632,000 uses worldwide and illustrate the reasoning I used earlier: that hyphens are frequently used in OSM keys and values, where the original string had a hyphen, and that underscores mainly represent spaces. Trainsgender (talk) 16:26, 18 October 2026 (UTC)Reply
The one that comes to mind is service=drive-through, not to be confused with drive_through=*. Oof. Minh Nguyễn 💬 00:44, 20 October 2026 (UTC)Reply

Changing drink:raw_milk / drink:soy_milk

I am wondering whether the existing drink tags, e.g. drink:soy_milk or drink:milk, should also be deprecated by this proposal and move to drink:milk:soy and drink:milk:animal respectively for better coherence. This could also be a way to introduce new tags under drink, such as drink:milk:oat (drink:oat_milk has a few taginfo usages, but no documentation).


But how would we handle the case of raw milk? Should it be milk:animal/cow/camel:raw and / drink:milk:animal/cow/camel:raw ? Havelock Vétérini (talk) 10:55, 31 August 2026 (UTC)Reply

As for the first question: I think this would be a good idea to keep things coherent, but I'm unsure as to whether to include it in this proposal, or attempt it later as a separate proposal.
For raw milk, I see two options: either we come up with a convention as to whether “milk” implies by default that the milk is raw, pasteurised, UHT-treated, etc., or we agree that “milk” does not imply any of these and tags like milk:<type>:raw=* can be used to add this information. In any case, I think this is outside of the scope of this proposal and should get its own proposal and/or discussion. Trainsgender (talk) 23:35, 10 September 2026 (UTC)Reply
I fully agree to include the `drink:*` tags to use identical terms as subkeys, e.g. drink:milk:oat=*. This shouldn't be a problem as the drink:*_milk=* tags never have been properly introduced nor documented.
Regarding the raw / treated question it might be good to put this into the value instead of introducing another ton of keys: drink:milk=yes / no / raw / uht / pasteurized Mueschel (talk) 10:23, 19 October 2026 (UTC)Reply

milk:plant-based=yes/no & subkeys

Resolved: I have added this information to the proposal.

Documentation improvement: I presume the milk:plant-based=yes (& {{tag|milk:animal||yes)} tag would be implied if any one of the tags has a subkeys has a yes, right? i.e.milk:oat=yes would imply milk:plant-based=yes. likewise milk:plant-based=no would imply milk:oat=no. Amᵃᵖanda (talk) 09:22, 2 September 2026 (UTC)Reply

Future Idea: Oat milk doesn't cost anything more

Resolved: Will get its own proposal.

I've heard that some places will charge extra for switching a drink to oat milk. This could be tagged with milk:plant-based:fee=(yes/no), but I don't think this is needed right now for this version Amᵃᵖanda (talk) 10:08, 2 September 2026 (UTC)Reply

This was my idea from the beginning, I just thought I'd give it its own proposal after this one. Trainsgender (talk) 23:29, 10 September 2026 (UTC)Reply

milk=no → no milk here?

Resolved: Has been added to the proposal.

The proposal says (& I agree with it)

milk=* (without any subkeys) could be used as well, but it provides very little information over just not adding this information at all.

but could we define milk=no to mean “This is a place where you would expect to get drinks with milk, but this place does not offer any milk products”? Imagine a MapComplete/StreetComplete task to add the availability of oat milk to venues. They would need an option of “No there is no milk here at all” Amᵃᵖanda (talk) 07:38, 17 September 2026 (UTC)Reply

Good suggestion, I've added it to the proposal. Trainsgender (talk) 15:21, 20 September 2026 (UTC)Reply

a1 and a2 animal milk

In the US I have started to see milk advertised to have only A2 β-casein (or A1), I've heard that some people that are lactose intolerant find that they can drink cow milk without the A1 (so only A2) and not have issues. So it may be helpful to be able to specify that a business offers drinks using A2 only milk for those that prefer that, so something like milk:cow:a2=* and milk:cow:a1=* could be useful to be able to tag. Though I understand if that is a future proposal. Though with out without this I support this proposal. Udarian (talk) 23:52, 18 October 2026 (UTC)Reply

A1/A2 is not related to lactose free milk, this is a different property. However I'd like to suggest to also include the topic of lactose free milk (and A1/A2) here - we already have diet:lactose_free=* but this might be too broad in the context of shops also selling food. Mueschel (talk) 12:28, 19 October 2026 (UTC)Reply

Milk as an additive

From what I understand, this proposal considers its scope to be milk that isn't sold separately, but part of a different beverage like coffee or hot chocolate. To me, this doesn't become clear by the naming choice of milk:*=* which I would certainly mistake for a wrong tagging of drink:milk=* if I didn't know about this proposal, like has already happened in your mentioned changeset.

I'm also thinking more broadly about other additives like sugar which are commonly served with coffee. While it's technically out of scope, I think that provides a hint at a more general rule.

As a constructive suggestion, there is the additives:*=* namespace, e.g. additives:milk:cow=yes. Other additives would remain out of scope.

Thank you for bringing this topic to attention! Jofban (talk) 06:41, 19 October 2026 (UTC)Reply

“As a constructive suggestion, there is the additives:*=* namespace“
I think the bare milk=* is fine. I know OSM is “British English as interpreted by Germans”, but if you did want to namespace it, I'd suggest ingredient=* instead of additive=* (Additive is the wrong word here) Amᵃᵖanda (talk) 09:29, 19 October 2026 (UTC)Reply
"I think the bare milk=* is fine"
Is it really that easy to disregard two instances where it wasn't fine?
As for the word additive, it does see use in this context ([1][2]). Both words seem to be used interchangeably. I would argue that additive puts more emphasis on the choice, where an ingredient is non-negotiable. I've also been thinking about extras:*=*. Jofban (talk) 10:03, 19 October 2026 (UTC)Reply
Native English speaker here. Additive does not conventionally mean something one can add optionally to a food or drink item. In a food context it usually refers to things which you would not usually find in the particular item. Examples include vitamins added to breakfast cereals; chemicals which extend the shelf life of products, such as bread: artificial flavourings and colourings. Nearly all such chemicals will have an E-number. I suspect this is a false friend. ---- SK53 (talk) 12:43, 19 October 2026 (UTC)Reply
> As for the word additive, it does see use in this context ([1][2]). Both words seem to be used interchangeably
I ran a poll on the OSM fedi/mastodon. 78 people (95%) think the words “additive” & “ingredient” are different things, only 4 people (5%) think they are the same. Amᵃᵖanda (talk) 16:31, 27 October 2026 (UTC)Reply

Optional side-category vs Supra-category

As milk:*=* and theoretically milk=* is proposed, why not directly invent animal_milk:*=* vs plant_milk:*=* (and animal_milk=* vs plant_milk=* )? I know "milk" can include plant-based, but I imagine many users would assume milk=no means only no animal milk. And in some languages, some plant milk commonly aren't seen as plant "milk" (eg rice can be a "syrup", and coconut a "juice"). drink:milk=* and vending=milk must be mostly animal/cow milk.

Furthermore, animal_milk:*=* and plant_milk:*=* are more scalable to identify what newly-added milks are. That's less namespaced than milk:animal:*=* and milk:plant-based:*=* for over-namespacing concerns.

Kovposch (talk) 10:57, 19 October 2026 (UTC)Reply

dairy milk options

I understand this proposal is more focused on the dairy alternatives, so this isn't something that needs to be in this proposal, but for the future how we could capture things like full cream (higher fat content) vs skim (lower fat content) as options provided? I'm thinking milk:cow:full_cream=*, milk:cow:skim=*. We could then do milk:cow:lactose_free=* (see above a1/a2 topic). Aharvey (talk) 00:04, 20 October 2026 (UTC)Reply

Can this be applied to ice cream shops?

I really like this proposal and support it as written.

I had one question: in your opinion as the author, can the proposed tags be applied to amenity=ice_cream locations to indicate which types of milk they use? The main difference I see between this and coffee shops (which are presumably the most common use case for the new tags) is that coffee drinks are usually made to order, whereas ice cream is usually made in advance in batches, though there are probably exceptions to both generalizations. Nonetheless it seems like the tag could be usefully applied to either situation.

As an aside: boba (bubble tea) are another establishment that would benefit from these tags. Lots of boba shops pre-mix their tea drinks in large batches, which means they tend to have more limited milk options than coffee shops (at least where I live). Being able to tag boba shops that offer alternative milks would be great!

— Jake Low (talk) 06:29, 29 October 2026 (UTC)Reply