Proposal:Milk types

From OpenStreetMap Wiki
Jump to navigation Jump to search
Milk types
Proposal status: Draft (under way)
Proposed by: Trainsgender
Applies to: node area
Definition: The types of milk offered, used in drinks like coffee or hot chocolate.
Rendered as: Not rendered.
Draft started: 2025-02-24

Proposal

This proposal aims to unambiguously indicate the types of milk (both animal and plant-based milks) a customer can choose to have included in beverages like coffee, hot chocolate or tea, at places like a restaurant, café or shop. Milk sold as a drink on its own is out of the scope of this proposal, as this can already be indicated with drink:*=*.

Rationale

Currently, drink:*=* is sometimes used to indicate this, but this creates ambiguity. For example: if a coffee shop is tagged with drink:oat_milk=served, does this mean the business serves oat milk, or one can get oat milk in coffee? Common sense would imply the latter, but the definition of drink:*=* implies the former. This creates ambiguity, which is even more problematic in cases like drink:hot_milk=*.

Therefore, I suggest to use a different tagging scheme to specifically indicate what types of milks are used in milk-based beverages. I propose to use subkeys of milk:*=* with values similar to those used in the drink:*=* scheme, allowing one to indicate whether this type of milk applies to served drinks, sold drinks, takeaway drinks etc.

I see two main use cases for including this information in OSM:

  • Dietary restrictions, such as veganism.
  • Allergies: common allergens include lactose, casein and soy.

While some of this can already be indicated with the diet:*=* scheme, it does not specifically cover milk-based drinks. For example, a coffee shop might not offer any vegan cakes, therefore not qualifying as diet:vegan=yes, but might offer plant-based milks in their coffee.

Tagging

This tagging scheme is intended to be extendable. Proposed tags for some common types of milk:

milk=* (without any subkeys) could be used as well, but it provides very little information over just not adding this information at all. An exception is milk=no, which can be used to indicate that no milk is offered where it would be expected.

A note on spelling: the hyphen in milk:plant-based=* is intentional. The common spelling of “plant-based” is with a hyphen, not a space (see Wiktionary).

Examples

There's no uses of these tags in OSM as of yet, because an automated edit prevents their use; see changeset 162571268, where I tried to introduce this tag on a coffee shop. (There's no changeset discussion because I discussed this automated edit in personal communication with the user.)

Rendering

This tag shouldn't be rendered on general-purpose maps, it could be rendered on maps specifically aimed at showing vegan-friendly, lactose-free etc. places.

Features/Pages affected

The introduction of this tagging scheme would mainly affect:

drink:*=* would also need to be updated to clarify the difference between drink:milk=* (and similar keys) and milk:*=*.

External discussions

This scheme has been discussed in the OSM BE Matrix room (https://matrix.to/#/#osmbe:matrix.org).

This proposal was presented as a Lightning Talk at State of the Map 2026 (Paris, France).

Comments

Please comment on the discussion page.