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
amenity=childmindernursery=yespreschool=yescombined_childcare=yesafter_school=yesdrop_in_care=only/yes/noparent_involvement=optional/mandatory/nocare_hours=4;6;8nursery/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=kindergartenandamenity=childcarewith no clear separation when to use which (apart fromeducation=kindergartenalready 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.
| 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:
- Redundant tagging: Why tag
kindergarten=yeswhen it's alreadyamenity=kindergarten? We see a lot of already existing tagging for pure nurseries withamenity=kindergarten+nursery=yes, so until these are all cleaned up, we don't know if someone forgot to addkindergarten=yes, or it's actually aamenity=childcare. Usingpreschoolwould at least allow us to tagpreschool=nowithout trolltagging. - Subkey ambiguity Does the total
capacity=120include or exclude thekindergarten: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.
| 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:*=*.
| 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.
nursery:designation=infant_daycarefor Canadanursery:designation=krippefor a nursery in Germanypreschool:designation=pre_kfor a pre-kindergarten in the USpreschool:designation=kindergartenfor 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
education=kindergarten,amenity=kindergartenandamenity=childcareneed to be changedamenity=childminderneeds to be created- Pages for
nursery=*,preschool=*,combined_childcare=*, andafter_school=*need proper content - Create pages for
drop_in_care=*, anddrop_in_care:*=* - Create pages for
special_needs=*,special_needs:*=*, andtalent_focus_area:*=* - Create page for
parent_involvement=* - 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.