Proposal:Comprehensive Childcare

Comprehensive Childcare Tagging
Proposal status: Draft (under way)
Proposed by: Nadjita
Tagging: amenity=kindergarten, amenity=childcare, amenity=childminder
Applies to:
Definition: Comprehensive tagging scheme for all types of childcare facilities
Draft started: 2025-07-09

Proposal

This proposal introduces a comprehensive tagging scheme for childcare facilities that addresses current gaps in mapping childcare services. It establishes clear distinctions between educational and care-only services, handles mixed-age groups, and includes practical features like drop-in care and parent involvement requirements.

The goal is to keep both major tags education=kindergarten (+amenity=kindergarten,) and amenity=childcare as a distinction between facilities providing some formal form of education (kindergarten), or care-only child supervision (childcare), while strengthening 4 existing and new sub-tags (nursery, preschool, combined_childcare, and after_school) to allow childcare and education tagging to be tagged more precisely, and incorporated into schools and other facilities.

On top of that, a tagging scheme for special needs children is introduced, since this is a major movement in a large part of the western world, drop-off childcare tagged, and parent involvement. Rounded off by formalizing some already existing and used tags.

New/formalized tags

  1. amenity=childminder
  2. nursery=yes
  3. preschool=yes
  4. combined_childcare=yes
  5. after_school=yes
  6. drop_in_care=only/yes/no
  7. parent_involvement=optional/mandatory/no
  8. care_hours=4;6;8
  9. nursery/preschool/after_school:designation=*

Rationale

There were several attempts to introduce generic childcare tagging: Proposal:Childcare (rejected), Proposal:Childcare2.0 (abandoned), and a related one Proposal:Nursery (abandoned). Even though none were approved, the community has decided that there is a need for childcare outside of amenity=kindergarten, started using amenity=childcare, and also came up with additional tags for further refinement.

Still, current childcare tagging in OSM has several limitations:

  • Two rivaling main tags amenity=kindergarten and amenity=childcare with no clear separation when to use which (apart from education=kindergarten already defining a separation)
  • No distinction between educational services (ISCED level 0) and care-only services
  • We cannot adequately describe facilities with mixed-age groups combining nursery and preschool, which are common in a lot of countries
  • There is no support for childcare/kindergarten in schools, shopping malls or other stores. Some countries have kindergarten as part of regular schools, yet there is no accepted tagging for this. Some shopping malls or stores offer childcare while the parents are shopping
  • The current tagging scheme lacks support for special needs accommodation and integration policies. This is becoming more and more important as we transition from separated into integrated child education
  • Missing tags for common services like drop-in care and parent involvement requirements
  • No agreed-on standard tags for different types of childcare, even though some are already in use, the definition is muddy at best

Tagging

The main difference should be made between childcare following educational curriculum (ISCED level 0), and childcare that looks after children without any formal education. If an institution is offering formal education, it's either education=school (+amenity=school), or education=kindergarten (+amenity=kindergarten). Everything else is amenity=childcare or amenity=childminder (for home-based individual care in small groups).

Main Tags

Tag Meaning
education=kindergarten
(+amenity=kindergarten)
Facilities offering formal early education (isced:level=0), and possibly additional regular childcare
amenity=childcare Facilities providing care without formal education
amenity=childminder Home-based individual care in small groups

All facilities should use explicit subkey tagging (nursery, preschool, after_school) regardless of primary amenity tag.

Core Service subkey-tags

The following tags are the main tags describing the childcare services offered. They can all be used as simple Tag (to express the types of services offered), or as a prefix for detailed tagging of a facility.

Services offered
Key Type Meaning
nursery=yes/no Care only Childcare for infants and toddlers (no formal education)
preschool=yes/no Formal education Early childhood education following educational curriculum (ISCED level 0)
after_school=yes/no Student supervision Care for school-age children after regular school hours
combined_childcare=yes/no/only Mixed provision Groups that combine nursery care with preschool education

Why preschool=* and not kindergarten=*?

Consider a facility offering both kindergarten and nursery services if we used kindergarten=yes and kindergarten:*=*

education=kindergarten
amenity=kindergarten
kindergarten=yes
nursery=yes
capacity=120
kindergarten:capacity=90
nursery:capacity=30

This creates two immediate problems:

  1. Redundant tagging: Why tag kindergarten=yes when it's already amenity=kindergarten? We see a lot of already existing tagging for pure nurseries with amenity=kindergarten + nursery=yes, so until these are all cleaned up, we don't know if someone forgot to add kindergarten=yes, or it's actually a amenity=childcare. Using preschool would at least allow us to tag preschool=no without trolltagging.
  2. Subkey ambiguity Does the total capacity=120 include or exclude the kindergarten:capacity=90? It's a kindergarten with capacity 120, and the kindergarten's capacity is 90.

Combined Childcare Groups

Standard tagging using nursery=* and preschool=* prefixes cannot describe facilities where children of different educational levels share the same groups. The combined_childcare=* tag solves this issue.

Combined groups
Tag Meaning
combined_childcare=yes The facility offers combined and non-combined groups
combined_childcare=no The facility offers no combined groups, nursery and preschool are separated
combined_childcare=only The facility offers only combined groups of nursery and preschool

Additional tags

A lot of already established and used tags are listed just for completion. They can all be used as a sub-tag for nursery:*=*, preschool:*=*, combined_childcare:*=*, and after_school:*=*.

Additional tags
Tagging Used for
religion=*
denomination=*
If the facility has a particular religious affiliation and denomination
capacity=* The number of children that can be accommodated in total
operator=* The name of the organisation which runs the facility; this may be the local government, a religious parish, or a parent association
operator:type=* The type of organisation which runs the facility
min_age=* / max_age=* The age range of children that can attend the institution
pedagogy=* The if the institution adheres to a particular pedagogical philosophy (Steiner, Montessori, Fröbel, …)
opening_hours=* The regular hours when the facility is actively staffed and providing services
opening_hours:extended=* Many childcare institutions offer extended opening hours with limited staffing, sometimes at extra cost
opening_hours:office=* A lot of childcare institutions have separate office hours
language:language code=yes/no/main The languages spoken
wheelchair=* Whether the building is usable by wheelchairs
lunch=* Whether lunch is offered for the children. Can be further refined with lunch:fee=yes/no
network=* If this institution is part of a network (e.g. common application process)

Short term care

There is currently no tag to describe whether a facility offers short-term care (e.g., dropping off your child for ~2h to go and see a doctor). In some countries, nurseries especially offer this as a service, but IKEA's Småland is also famous for exactly this type of service. This proposal wants to introduce drop_in_care=yes/no/only with drop_in_care:*=* for refinement. This is not limited to childcare.

Example 1: Upscale nursery

amenity=childcare
nursery=yes
drop_in_care=yes
drop_in_care:for=children
drop_in_care:registration=yes
drop_in_care:reservation=required
drop_in_care:min_age=6 months

Example 2: IKEA Småland

shop=furniture
[…]
drop_in_care=yes
drop_in_care:name=Småland
drop_in_care:for=children
drop_in_care:min_age=3
drop_in_care:max_age=10
drop_in_care:registration=no
drop_in_care:reservation=no
drop_in_care:maxstay=90 minutes

Example 3: Dog drop-in care at a petshop

shop=pet
drop_in_care=yes
drop_in_care:for=dogs
drop_in_care:maxstay=30 minutes

Example 4: A drop-in care only nursery

amenity=childcare
drop_in_care=only
drop_in_care:for=children
registration=no
reservation=recommended
min_age=6 months
max_age=3 years
maxstay=4 hours

Involvement

Childcare facilities vary significantly in their expectations for parent participation. Some cooperative nurseries require parents to take on cleaning duties, organize events, or serve on committees, while private facilities typically operate without parent involvement. Tagging this information helps parents understand the commitment level required beyond fees.

Use parent_involvement=* to indicate the level of parent participation expected by the facility:

Tag Meaning
parent_involvement=mandatory Parents are required to participate in facility activities (e.g., cleaning duties, fundraising, committee work)
parent_involvement=optional Parents may volunteer for activities but participation is not required
parent_involvement=no No parent participation is expected or requested; facility operates independently

This also leaves room to further tag the type and frequency of the parent involvement at a later point.

Childcare Hours

Many childcare institutions offer structured care packages of specific durations rather than allowing children to stay for the entire opening period. For example, a facility might be open from 08:00 to 18:00 but offer only 4-hour, 6-hour, or 8-hour care packages. This is distinct from the facility's opening hours, which indicate when the building is accessible.

Use care_hours=* to specify the duration options available:

education=kindergarten
amenity=kindergarten
nursery=yes
preschool=yes
opening_hours=Mo-Fr 07:00-18:00
nursery:care_hours=4;6;8
preschool:care_hours=6;8

In this example, the facility is open for 11 hours daily, but nursery children can be enrolled for 4, 6, or 8-hour packages, while preschool children have 6 or 8-hour options available.

Values:

  • Use semicolon separation for multiple duration options
  • Specify hours as numbers (e.g., 4;6;8)
  • Apply as subkeys when different services offer different durations

Local designation

It can be important to be able to add the local name for the designation of an institution, much like school=primary / school:DE=Grundschule. Because nursery=* is already a key on its own, the proposal suggests to use type:designation=* instead, because we already use designation=* to "record the legal classification of an object". Use only lower-case values without spaces.

  1. nursery:designation=infant_daycare for Canada
  2. nursery:designation=krippe for a nursery in Germany
  3. preschool:designation=pre_k for a pre-kindergarten in the US
  4. preschool:designation=kindergarten for a regular kindergarten in Germany

Cases where countries make finer distinctions within the same category, should be handled similar to school=*. For example, in the US, both 'Kindergarten' and 'Pre-K' would map to our preschool=yes tag, but they represent different local designations. Using preschool:designation=kindergarten;pre_k with semicolon separation could cause parsing issues for data consumers, but currently seems to be the only option. This is of course only needed if a facility offers both.

Examples

Facility offering combined and non-combined groups

education=kindergarten
amenity=kindergarten
capacity=60
care_hours=4;6
nursery=yes
pedagogy=Montessori
parent_involvement=mandatory
preschool=yes
combined_childcare=yes
opening_hours=Mo-Fr 07:30-16:00; PH off
nursery:min_age=0
nursery:max_age=2
nursery:capacity=15
nursery:opening_hours:extended=Mo-Fr 07:30-17:00; PH off
nursery:designation=krippe
preschool:min_age=3
preschool:max_age=5
preschool:capacity=25
preschool:care_hours=4;6;8
preschool:designation=kindergarten
combined_childcare:min_age=1
combined_childcare:max_age=4
combined_childcare:capacity=20

Facility offering after school care

amenity=childcare
capacity=20
after_school=yes
opening_hours=Mo-Fr 12:00-16:00; SH Mo-Fr 08:30-17:00; PH off
min_age=6
max_age=10
lunch=yes
lunch:fee=yes

School with its own preschool class

education=school
amenity=school
[…]
preschool=yes
preschool:designation=senior_kindergarten
preschool:opening_hours=Mo-Fr 08:00-12:30; PH off
preschool:min_age=4
preschool:max_age=5
preschool:capacity=20
preschool:lunch=no

Features/Pages affected

  1. education=kindergarten, amenity=kindergarten and amenity=childcare need to be changed
  2. amenity=childminder needs to be created
  3. Pages for nursery=*, preschool=*, combined_childcare=*, and after_school=* need proper content
  4. Create pages for drop_in_care=*, and drop_in_care:*=*
  5. Create pages for special_needs=*, special_needs:*=*, and talent_focus_area:*=*
  6. Create page for parent_involvement=*
  7. Create page for care_hours=*

Comments

Please comment on the discussion page.

External discussions

Status

This proposal is in draft status and currently not open for community feedback.