{opening_hours_table(sauna:opening_hours)}"
+ },
+ "freeform": {
+ "key": "sauna:opening_hours",
+ "type": "opening_hours"
+ }
+ }
+ },
+ {
+ "id": "charge_cost_rewritten",
+ "rewrite": {
+ "sourceString": [
+ "{time_key}",
+ "{time_name}"
+ ],
+ "into": [
+ [
+ "2 hours",
+ {
+ "en": "2 hours",
+ "de": "2 Stunden"
+ }
+ ],
+ [
+ "4 hours",
+ {
+ "en": "4 hours",
+ "de": "4 Stunden"
+ }
+ ],
+ [
+ "day",
+ {
+ "en": "one day",
+ "de": "einen Tag"
+ }
+ ]
+ ]
+ },
+ "renderings": [
+ {
+ "id": "charge_{time_key}",
+ "question": {
+ "en": "What is the entrance fee for {time_name}?",
+ "de": "Was ist der Eintrittspreis für {time_name}?"
+ },
+ "render": {
+ "en": "entrance fee for {time_name}: {sauna:charge}",
+ "de": "Eintrittspreis für {time_name}: {sauna:charge}"
+ },
+ "freeform": {
+ "key": "sauna:charge",
+ "type": "currency",
+ "inline": true,
+ "postfixDistinguished": "{time_key}",
+ "addExtraTags": [
+ "sauna:fee=yes"
+ ]
+ },
+ "mappings": [
+ {
+ "if": "sauna:fee=no",
+ "addExtraTags": [
+ "sauna:charge="
+ ],
+ "then": {
+ "en": "The sauna is free of charge",
+ "de": "Die Sauna ist kostenlos"
+ },
+ "hideInAnswer": "sauna:fee!=no"
+ }
+ ]
+ }
+ ]
+ },
+ "contact",
+ "defibrillator.defibrillator-fixme"
+ ],
+ "lineRendering": [
+ {
+ "width": 1,
+ "color": "blue"
+ }
+ ],
+ "credits:uid": 8770388,
+ "source": {
+ "osmTags": {
+ "or": [
+ {
+ "and": [
+ "sauna=yes",
+ "leisure=water_park"
+ ]
+ },
+ {
+ "and": [
+ "sauna=yes",
+ "leisure!=water_park",
+ "sauna:access!=no",
+ "sauna:access!=private",
+ "sauna:access!=customers"
+ ]
+ }
+ ]
+ }
+ },
+ "description": {
+ "en": "A sauna is a small room or house designed as a place to experience dry or wet heat sessions, or an establishment with one or more of these and auxiliary facilities."
+ },
+ "id": "sauna_at_leisure",
+ "name": {
+ "en": "Saunas at other amenities",
+ "de": "Saunen in anderen Einrichtungen"
+ },
+ "title": {
+ "render": {
+ "en": "{name}"
+ }
+ }
+}
\ No newline at end of file
From 718472de4fa5d2412026a31392b52c40afce5c53 Mon Sep 17 00:00:00 2001
From: Osmwithspace <>
Date: Fri, 18 Apr 2025 10:26:36 +0200
Subject: [PATCH 003/171] add sauna theme
---
assets/themes/sauna/sauna.json | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
create mode 100644 assets/themes/sauna/sauna.json
diff --git a/assets/themes/sauna/sauna.json b/assets/themes/sauna/sauna.json
new file mode 100644
index 000000000..c03f737da
--- /dev/null
+++ b/assets/themes/sauna/sauna.json
@@ -0,0 +1,16 @@
+{
+ "credits": "Osmwithspace",
+ "credits:uid": 8770388,
+ "id": "sauna",
+ "title": {
+ "en": "Sauna"
+ },
+ "layers": [
+ "./assets/layers/sauna/sauna.json",
+ "./assets/layers/sauna/sauna_at_leisure.json"
+ ],
+ "description": {
+ "en": "Sauna"
+ },
+ "icon": "./assets/layers/sauna/sauna.svg"
+}
\ No newline at end of file
From b06f937c5b4499dd5447176192908b1ec05ad3b7 Mon Sep 17 00:00:00 2001
From: Osmwithspace <>
Date: Fri, 18 Apr 2025 21:31:11 +0200
Subject: [PATCH 004/171] add "allowMove": true
---
assets/layers/sauna/sauna.json | 1 +
assets/layers/sauna/sauna_at_leisure.json | 1 +
2 files changed, 2 insertions(+)
diff --git a/assets/layers/sauna/sauna.json b/assets/layers/sauna/sauna.json
index 177027a59..9ad22a979 100644
--- a/assets/layers/sauna/sauna.json
+++ b/assets/layers/sauna/sauna.json
@@ -1,6 +1,7 @@
{
"credits": "Osmwithspace",
"minzoom": 8,
+ "allowMove": true,
"pointRendering": [
{
"location": [
diff --git a/assets/layers/sauna/sauna_at_leisure.json b/assets/layers/sauna/sauna_at_leisure.json
index c9eb35452..9b824f739 100644
--- a/assets/layers/sauna/sauna_at_leisure.json
+++ b/assets/layers/sauna/sauna_at_leisure.json
@@ -1,6 +1,7 @@
{
"credits": "Osmwithspace",
"minzoom": 8,
+ "allowMove": true,
"pointRendering": [
{
"location": [
From 522c4e8b8cdd3710752a66d9751f12e6b3f2f7d2 Mon Sep 17 00:00:00 2001
From: Osmwithspace <>
Date: Tue, 3 Jun 2025 23:11:30 +0200
Subject: [PATCH 005/171] leisure=sauna
---
assets/layers/sauna/sauna.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/assets/layers/sauna/sauna.json b/assets/layers/sauna/sauna.json
index 9ad22a979..c941ae593 100644
--- a/assets/layers/sauna/sauna.json
+++ b/assets/layers/sauna/sauna.json
@@ -99,7 +99,7 @@
"source": {
"osmTags": {
"and": [
- "leisure~.*sauna.*",
+ "leisure=sauna",
{
"or": [
"opening_hours!=",
From c7ec2e6cab35127ffceb52861f262c22b3ea7798 Mon Sep 17 00:00:00 2001
From: Osmwithspace <>
Date: Sat, 21 Jun 2025 23:57:21 +0200
Subject: [PATCH 006/171] move "fixme" into "questions/questions.json"
---
.../layers/defibrillator/defibrillator.json | 32 +------------------
assets/layers/questions/questions.json | 30 +++++++++++++++++
assets/layers/sauna/sauna.json | 2 +-
assets/layers/sauna/sauna_at_leisure.json | 2 +-
4 files changed, 33 insertions(+), 33 deletions(-)
diff --git a/assets/layers/defibrillator/defibrillator.json b/assets/layers/defibrillator/defibrillator.json
index 5315a9040..829a52d6d 100644
--- a/assets/layers/defibrillator/defibrillator.json
+++ b/assets/layers/defibrillator/defibrillator.json
@@ -688,37 +688,7 @@
],
"id": "defibrillator-survey:date"
},
- {
- "render": {
- "en": "Extra information for OpenStreetMap experts: {fixme}",
- "nl": "Extra informatie voor OpenStreetMap experts: {fixme}",
- "fr": "Informations supplémentaires pour les experts d'OpenStreetMap : {fixme}",
- "it": "Informazioni aggiuntive per gli esperti di OpenStreetMap: {fixme}",
- "de": "Zusätzliche Informationen für OpenStreetMap-Experten: {fixme}",
- "ru": "Дополнительная информация для экспертов OpenStreetMap: {fixme}",
- "sl": "Dodatne informacije za OpenStreetMap strokovnjake: {fixme}",
- "es": "Información adicional para expertos de OpenStreetMap: {fixme}",
- "ca": "Informació addicional per als experts en OpenStreetMap: {fixme}",
- "pl": "Więcej informacji dla doświadczonych użytkowników OpenStreetMap: {fixme}",
- "cs": "Další informace pro experty OpenStreetMap: {fixme}"
- },
- "question": {
- "en": "Is there something wrong with how this is mapped, that you weren't able to fix here? (leave a note to OpenStreetMap experts)",
- "nl": "Is er iets mis met de informatie over deze defibrillator dat je hier niet opgelost kreeg? (laat hier een berichtje achter voor OpenStreetMap experts)",
- "fr": "Y a-t-il quelque chose qui ne va pas dans la manière dont ça a été cartographié, et que vous n'avez pas pu réparer ici ? (laisser une note pour les experts d'OpenStreetMap)",
- "it": "C'è qualcosa di sbagliato nel modo in cui è mappato, che non sei riuscito a correggere qui? (lascia una nota agli esperti di OpenStreetMap)",
- "de": "Gibt es einen Fehler in der Kartierung, den Sie hier nicht beheben konnten? (hinterlasse eine Notiz für OpenStreetMap-Experten)",
- "sl": "Ali je kaj narobe s tem vnosom na zemljevid, in tega niste mogli sami popraviti tu? (pustite opombo OpenStreetMap strokovnjakom)",
- "es": "¿Hay algo mal en cómo está mapeado esto, que no hayas podido arreglar aquí? (deja una nota para los expertos de OpenStreetMap)",
- "ca": "Hi ha alguna cosa malament en la manera de com està mapejat això, que no heu pogut solucionar aquí? (deixeu una nota als experts d'OpenStreetMap)",
- "cs": "Je na tom, jak je to zmapováno, něco v nepořádku, co jste zde nedokázali opravit? (zanechte poznámku odborníkům na OpenStreetMap)"
- },
- "freeform": {
- "key": "fixme",
- "type": "text"
- },
- "id": "defibrillator-fixme"
- }
+ "fixme"
],
"filter": [
"has_image",
diff --git a/assets/layers/questions/questions.json b/assets/layers/questions/questions.json
index a85373e64..ff566ac8a 100644
--- a/assets/layers/questions/questions.json
+++ b/assets/layers/questions/questions.json
@@ -765,6 +765,36 @@
"cs": "Neopakujte již uvedená fakta"
}
},
+ {
+ "render": {
+ "en": "Extra information for OpenStreetMap experts: {fixme}",
+ "nl": "Extra informatie voor OpenStreetMap experts: {fixme}",
+ "fr": "Informations supplémentaires pour les experts d'OpenStreetMap : {fixme}",
+ "it": "Informazioni aggiuntive per gli esperti di OpenStreetMap: {fixme}",
+ "de": "Zusätzliche Informationen für OpenStreetMap-Experten: {fixme}",
+ "ru": "Дополнительная информация для экспертов OpenStreetMap: {fixme}",
+ "sl": "Dodatne informacije za OpenStreetMap strokovnjake: {fixme}",
+ "es": "Información adicional para expertos de OpenStreetMap: {fixme}",
+ "ca": "Informació addicional per als experts en OpenStreetMap: {fixme}",
+ "pl": "Więcej informacji dla doświadczonych użytkowników OpenStreetMap: {fixme}",
+ "cs": "Další informace pro experty OpenStreetMap: {fixme}"
+ },
+ "question": {
+ "en": "Is there something wrong with how this is mapped, that you weren't able to fix here? (leave a note to OpenStreetMap experts)",
+ "fr": "Y a-t-il quelque chose qui ne va pas dans la manière dont ça a été cartographié, et que vous n'avez pas pu réparer ici ? (laisser une note pour les experts d'OpenStreetMap)",
+ "it": "C'è qualcosa di sbagliato nel modo in cui è mappato, che non sei riuscito a correggere qui? (lascia una nota agli esperti di OpenStreetMap)",
+ "de": "Gibt es einen Fehler in der Kartierung, den Sie hier nicht beheben konnten? (hinterlasse eine Notiz für OpenStreetMap-Experten)",
+ "sl": "Ali je kaj narobe s tem vnosom na zemljevid, in tega niste mogli sami popraviti tu? (pustite opombo OpenStreetMap strokovnjakom)",
+ "es": "¿Hay algo mal en cómo está mapeado esto, que no hayas podido arreglar aquí? (deja una nota para los expertos de OpenStreetMap)",
+ "ca": "Hi ha alguna cosa malament en la manera de com està mapejat això, que no heu pogut solucionar aquí? (deixeu una nota als experts d'OpenStreetMap)",
+ "cs": "Je na tom, jak je to zmapováno, něco v nepořádku, co jste zde nedokázali opravit? (zanechte poznámku odborníkům na OpenStreetMap)"
+ },
+ "freeform": {
+ "key": "fixme",
+ "type": "text"
+ },
+ "id": "fixme"
+ },
{
"id": "opening_hours",
"question": {
diff --git a/assets/layers/sauna/sauna.json b/assets/layers/sauna/sauna.json
index c941ae593..bf1c3b555 100644
--- a/assets/layers/sauna/sauna.json
+++ b/assets/layers/sauna/sauna.json
@@ -87,7 +87,7 @@
]
},
"contact",
- "defibrillator.defibrillator-fixme"
+ "fixme"
],
"lineRendering": [
{
diff --git a/assets/layers/sauna/sauna_at_leisure.json b/assets/layers/sauna/sauna_at_leisure.json
index 9b824f739..47200c442 100644
--- a/assets/layers/sauna/sauna_at_leisure.json
+++ b/assets/layers/sauna/sauna_at_leisure.json
@@ -189,7 +189,7 @@
]
},
"contact",
- "defibrillator.defibrillator-fixme"
+ "fixme"
],
"lineRendering": [
{
From fe43c41d30b6b8ae23c192c16368ba3dc0c3cac9 Mon Sep 17 00:00:00 2001
From: Osmwithspace <>
Date: Sun, 22 Jun 2025 00:15:50 +0200
Subject: [PATCH 007/171] move sauna_at_leisure to own directory
---
.../sauna_at_leisure.json | 95 +++----------------
1 file changed, 11 insertions(+), 84 deletions(-)
rename assets/layers/{sauna => sauna_at_leisure}/sauna_at_leisure.json (68%)
diff --git a/assets/layers/sauna/sauna_at_leisure.json b/assets/layers/sauna_at_leisure/sauna_at_leisure.json
similarity index 68%
rename from assets/layers/sauna/sauna_at_leisure.json
rename to assets/layers/sauna_at_leisure/sauna_at_leisure.json
index 47200c442..bf6082d12 100644
--- a/assets/layers/sauna/sauna_at_leisure.json
+++ b/assets/layers/sauna_at_leisure/sauna_at_leisure.json
@@ -16,6 +16,17 @@
}
],
"tagRenderings": [
+ {
+ "builtin": "sauna.*",
+ "override": {
+ "condition": {
+ "and+": [
+ "sauna=yes"
+ ]
+ }
+ },
+ "prefix": "sauna"
+ },
"images",
"reviews",
{
@@ -104,90 +115,6 @@
]
}
},
- {
- "builtin": "opening_hours",
- "override": {
- "question": {
- "en": "What are the opening hours of this sauna?",
- "de": "Wie lauten die Öffnungszeiten von dieser Sauna?"
- },
- "render": {
- "en": "
Del dette kort ved at kopiere linket nedenunder og send det til venner og familie:",
- "title": "Del dette kort"
+ "title": "Del dette kort",
+ "documentation": "For mere information om tilgængelige URL-parametre, konsulter dokumentationen",
+ "fsBackground": "Aktivér skift af baggrunde",
+ "fsFilter": "Gør det muligt at skifte mellem lag og filtre",
+ "fsGeolocation": "Aktivér geolokalisering",
+ "openLayers": "Åbn menuen med lag og filtre",
+ "options": "Muligheder for deling",
+ "stateIsIncluded": "Den aktuelle tilstand for lag og filtre er inkluderet i det delte link og iframe."
},
"skip": "Spring over dette spørgsmål",
"testing": "Testing - ingen ændringer vil blive gemt",
@@ -388,19 +430,24 @@
"meta": {
"descriptionPlaceHolder": "Tilføj en beskrivelse af dit spor",
"intro": "Tilføj en titel for dit spor:",
- "title": "Titel og beskrivelse"
+ "title": "Titel og beskrivelse",
+ "titlePlaceholder": "Indtast titlen på dit spor",
+ "descriptionIntro": "Du kan eventuelt indtaste en beskrivelse af dit spor:"
},
"modes": {
"private": {
- "name": "Anonym"
+ "name": "Anonym",
+ "docs": "Punkterne i dit spor vil blive delt og samlet blandt andre spor. Det fulde spor vil være synligt for dig, og du vil kunne indlæse det i andre redigeringsprogrammer. OpenStreetMap.org beholder en kopi af dit spor"
},
"public": {
- "name": "Offentlig"
+ "name": "Offentlig",
+ "docs": "Dit spor vil være synligt for alle, både på din brugerprofil og på listen over GPS-spor på openstreetmap.org"
}
},
"title": "Upload dit spor til OpenStreetMap.org",
"uploadFinished": "Dit spor er uploadet!",
- "uploading": "Uploader dit spor …"
+ "uploading": "Uploader dit spor …",
+ "intro0": "Når du uploader dit spor, beholder OpenStreetMap.org en fuld kopi af sporet."
},
"uploadPending": "{count} ændringer i kø",
"uploadPendingSingle": "Én ændring i kø",
@@ -409,7 +456,40 @@
"closestFeaturesAre": "{n} objekter i visningsvinduet.",
"navigation": "Brug piletasterne til at flytte kortet, og tryk på mellemrum for at vælge det nærmeste objekt. Tryk på et tal for at vælge positioner længere væk.",
"noCloseFeatures": "Ingen objekter synlige.",
- "oneFeatureInView": "Et objekt inden for visningsvinduet."
+ "oneFeatureInView": "Et objekt inden for visningsvinduet.",
+ "directionsAbsolute": {
+ "E": "øst",
+ "N": "nord",
+ "NE": "nordøst",
+ "NW": "nordvest",
+ "S": "syd",
+ "SE": "sydøst",
+ "SW": "sydvest",
+ "W": "vest"
+ },
+ "east": "Bevæger sig mod øst",
+ "directionsRelative": {
+ "left": "venstre",
+ "right": "højre",
+ "behind": "bag dig",
+ "sharp_left": "skarpt til venstre",
+ "sharp_right": "skarpt til højre",
+ "slight_left": "lidt til venstre",
+ "slight_right": "lidt til højre",
+ "straight": "ligeud"
+ },
+ "fromGps": "{distance} {direction} fra din position",
+ "fromMapCenter": "{distance} {direction} fra kortets centrum",
+ "in": "Zoomer ind til niveau {z}",
+ "locked": "Visningen er nu låst til din GPS-position, og bevægelse er deaktiveret.",
+ "viewportCenterCloseToGps": "Kortet er centreret omkring din position.",
+ "west": "Bevæger sig mod vest",
+ "out": "Zoomer ud til niveau {z}",
+ "unlocked": "Bevægelse aktiveret.",
+ "north": "Bevæger sig mod nord",
+ "south": "Bevæger sig mod syd",
+ "islocked": "Visning låst til din GPS-position, bevægelse deaktiveret. Tryk på geolokaliseringsknappen for at låse op.",
+ "viewportCenterDetails": "Midten af visningsvinduet er {distance} og {bearing} fra din position."
},
"waitingForGeopermission": "Venter på din godkendelse til at bruge geolokalitet …",
"waitingForLocation": "Finder din nuværende position …",
@@ -451,7 +531,13 @@
},
"loginFailedReadonlyMode": "OpenStreetMap.org er i øjeblikket i skrivebeskyttet tilstand på grund af vedligeholdelse. Det vil snart være muligt at foretage redigeringer",
"loginFailedUnreachableMode": "OpenStreetMap.org er i øjeblikket ikke tilgængelig. Har du forbindelse til internettet, eller blokerer du for tredjeparter? Prøv igen senere",
- "mappingsAreHidden": "Nogle muligheder er skjulte. Brug søgning for at få vist flere muligheder."
+ "mappingsAreHidden": "Nogle muligheder er skjulte. Brug søgning for at få vist flere muligheder.",
+ "useSearch": "Brug søgningen ovenfor for at se flere muligheder",
+ "openTheMapReason": "for at se, redigere og tilføje information",
+ "searchAnswer": "Søg efter en mulighed",
+ "seeIndex": "Se oversigten med alle tematiske kort",
+ "share": "Del",
+ "retry": "Prøv igen"
},
"hotkeyDocumentation": {
"action": "Handling",
@@ -459,19 +545,50 @@
"geolocate": "Panorer kortet til den aktuelle position, eller zoom kortet til den aktuelle position. Anmoder om geotilladelse",
"intro": "MapComplete understøtter følgende genvejstaster:",
"key": "Tastekombination",
- "openLayersPanel": "Åbner panelet for baggrundslag"
+ "openLayersPanel": "Åbner panelet for baggrundslag",
+ "homeLocation": "Hop til din hjemmeplacering. Virker kun, hvis du har angivet din hjemmeplacering i brugerindstillingerne",
+ "selectFavourites": "Åbn siden med favoritter",
+ "selectItem": "Vælg det interessepunkt, der er tættest på kortets centrum (trådkors). Kun når der bruges tastaturnavigation",
+ "selectSearch": "Vælg søgebjælken for at søge efter steder",
+ "shakePhone": "Ryste din telefon",
+ "translationMode": "Slå oversættelsestilstand til eller fra",
+ "addNew": "Åbn dialogen for at tilføje et nyt punkt i midten af kortet",
+ "openFilterPanel": "Åbner interessepunkt-lagene og filterpanelet",
+ "queryCurrentLocation": "Vis den adresse, der er tættest på kortets centrum",
+ "selectItem2": "Vælg det interessepunkt, der er næsttættest på kortets centrum (trådkorset). Kun når der bruges tastaturnavigation",
+ "selectItemI": "Vælg det interessepunkt, der er det {i}. nærmeste element til kortets centrum (trådkors). Kun når der bruges tastaturnavigation",
+ "selectMap": "Indstil baggrunden til et kort fra eksterne kilder. Skifter mellem de to bedste, tilgængelige lag",
+ "selectOsmbasedmap": "Indstil baggrundslaget til et OpenStreetMap-baseret kort (eller deaktiver baggrundsrasterlaget)",
+ "selectAerial": "Indstil baggrunden til luft- eller satellitbilleder. Skifter mellem de to bedste, tilgængelige lag",
+ "selectItem3": "Vælg det interessepunkt, der er det tredje tætteste element på kortets centrum (trådkors). Kun når der bruges tastaturnavigation"
},
"image": {
"addPicture": "Tag et billede",
"doDelete": "Fjern billede",
"isDeleted": "Slettet",
"nearby": {
- "seeNearby": "Udforsk nærliggende billeder"
+ "seeNearby": "Udforsk nærliggende billeder",
+ "failed": "Hentning af billeder fra {service} mislykkedes",
+ "link": "Dette billede viser objektet",
+ "noNearbyImages": "Der blev ikke fundet nogen billeder i nærheden",
+ "close": "Skjul panelet med billeder i nærheden"
},
"pleaseLogin": "Log venligst ind for at tilføje et billede",
"respectPrivacy": "Tag ikke billeder af mennesker eller nummerplader. Upload ikke Google Maps, Google Streetview, eller fra andre ophavsresbeskyttede kilder.",
"toBig": "Dit billede er for stort da det er {actual_size}. Brug venligst billeder, der er højst {max_size}",
- "uploadFailed": "Kunne ikke uploade dit billede. Er du forbundet til Internettet og tillader du tredieparts API'er. Brave browseren eller uMatrix plugin'et kunne blokerer dem."
+ "uploadFailed": "Kunne ikke uploade dit billede. Er du forbundet til Internettet og tillader du tredieparts API'er. Brave browseren eller uMatrix plugin'et kunne blokerer dem.",
+ "selectFile": "Vælg et billede fra din enhed",
+ "upload": {
+ "one": {
+ "done": "Dit billede blev uploadet. Tak for det!",
+ "failed": "Beklager, vi kunne ikke uploade dit billede",
+ "retrying": "Prøver igen at uploade dit billede…",
+ "uploading": "Dit billede bliver uploadet…"
+ }
+ },
+ "loadingFailed": "Indlæsning af dette billede mislykkedes",
+ "processing": "Serveren behandler dit billede",
+ "mapillaryTrackingProtection": "Streng sporingsbeskyttelse blokerer indlæsning af billeder fra Mapillary, da Mapillary er ejet af Facebook/Meta. Deaktiver streng sporingsbeskyttelse, hvis du vil se dette billede."
},
"importInspector": {
"title": "Undersøg og håndter noter"
@@ -649,4 +766,4 @@
"description": "En Wikidata identifier"
}
}
-}
\ No newline at end of file
+}
From ce6806ddb1f9dbca8529160cd921cc9dde0c5aa5 Mon Sep 17 00:00:00 2001
From: ERyPTION
Date: Tue, 1 Jul 2025 13:34:05 +0000
Subject: [PATCH 013/171] Translated using Weblate (Danish)
Currently translated at 20.4% (930 of 4541 strings)
Translation: MapComplete/layers
Translate-URL: https://translate.mapcomplete.org/projects/mapcomplete/layers/da/
---
langs/layers/da.json | 54 +++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 53 insertions(+), 1 deletion(-)
diff --git a/langs/layers/da.json b/langs/layers/da.json
index ab394ced1..d46376e47 100644
--- a/langs/layers/da.json
+++ b/langs/layers/da.json
@@ -2455,6 +2455,20 @@
"wheelchair-door-width": {
"question": "Hvad er bredden på døren til det kørestolsvenlige toilet?",
"render": "Døren til det kørestolsvenlige toilet er {canonical(door:width)} bred"
+ },
+ "menstrual_products": {
+ "mappings": {
+ "2": {
+ "then": "Ingen gratis menstruationsprodukter er tilgængelige her"
+ }
+ }
+ },
+ "toilet-reviews": {
+ "render": {
+ "special": {
+ "question": "Hvordan vil du bedømme dette toilet?"
+ }
+ }
}
},
"title": {
@@ -3188,5 +3202,43 @@
},
"render": "vindmølle"
}
+ },
+ "firepit": {
+ "tagRenderings": {
+ "access": {
+ "mappings": {
+ "1": {
+ "then": "Ingen adgang"
+ },
+ "0": {
+ "then": "Offentlig"
+ },
+ "2": {
+ "then": "Privat"
+ },
+ "3": {
+ "then": "Adgang indtil tilbagekaldelse"
+ },
+ "4": {
+ "then": "Kun adgang for kunder"
+ },
+ "5": {
+ "then": "Kun adgang for godkendte"
+ }
+ },
+ "question": "Hvilken adgang er tilladt?"
+ }
+ }
+ },
+ "shelter": {
+ "tagRenderings": {
+ "shelter-type": {
+ "mappings": {
+ "4": {
+ "then": "Dette er et skur med 3 vægge, primært beregnet til camping."
+ }
+ }
+ }
+ }
}
-}
\ No newline at end of file
+}
From ce410661128e9b19326c8f8d6715526ce69c6b63 Mon Sep 17 00:00:00 2001
From: Weblate
Date: Wed, 2 Jul 2025 13:48:00 +0000
Subject: [PATCH 014/171] Update translation files
Updated by "Cleanup translation files" hook in Weblate.
Translation: MapComplete/layers
Translate-URL: https://translate.mapcomplete.org/projects/mapcomplete/layers/
---
langs/layers/nl.json | 42 ++----------------------------------------
1 file changed, 2 insertions(+), 40 deletions(-)
diff --git a/langs/layers/nl.json b/langs/layers/nl.json
index bcbb56374..8c2153a6b 100644
--- a/langs/layers/nl.json
+++ b/langs/layers/nl.json
@@ -2148,9 +2148,6 @@
},
"title": {
"mappings": {
- "0": {
- "then": "{name}"
- },
"1": {
"then": "Vogelkijkhut {name}"
},
@@ -6887,11 +6884,6 @@
}
},
"title": {
- "mappings": {
- "0": {
- "then": "{name}"
- }
- },
"render": "Natuurgebied"
}
},
@@ -7426,21 +7418,6 @@
"render": "Picknicktafel"
}
},
- "play_forest": {
- "description": "Een speelbos is een vrij toegankelijke zone in een bos",
- "name": "Speelbossen",
- "title": {
- "mappings": {
- "0": {
- "then": "{name}"
- },
- "1": {
- "then": "Speelbos {name}"
- }
- },
- "render": "Speelbos"
- }
- },
"playground": {
"deletion": {
"nonDeleteMappings": {
@@ -9189,9 +9166,6 @@
},
"title": {
"mappings": {
- "0": {
- "then": "{name}"
- },
"1": {
"then": "Voetpad"
},
@@ -11441,25 +11415,13 @@
}
},
"village_green": {
- "description": "Een laag die dorpsgroen toont (gemeenschapsgroen, maar niet echt een park)",
- "name": "Speelweide",
- "title": {
- "mappings": {
- "0": {
- "then": "{name}"
- }
- },
- "render": "Speelweide"
- }
+ "description": "Een laag die dorpsgroen toont (gemeenschapsgroen, maar niet echt een park)"
},
"visitor_information_centre": {
"description": "Een bezoekerscentrum biedt informatie over een specifieke attractie of bezienswaardigheid waar het is gevestigd.",
"name": "Bezoekerscentrum",
"title": {
"mappings": {
- "0": {
- "then": "{name:nl}"
- },
"1": {
"then": "{name}"
}
@@ -11673,4 +11635,4 @@
"render": "windturbine"
}
}
-}
\ No newline at end of file
+}
From b14207ed7e435e2dabe2c1090e9a06f8a2f35baf Mon Sep 17 00:00:00 2001
From: Pieter Vander Vennet
Date: Wed, 2 Jul 2025 20:30:14 +0200
Subject: [PATCH 015/171] Fix: fix csp
---
src/Models/Constants.ts | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/src/Models/Constants.ts b/src/Models/Constants.ts
index c2a0d4dab..5778874fe 100644
--- a/src/Models/Constants.ts
+++ b/src/Models/Constants.ts
@@ -309,6 +309,11 @@ export default class Constants {
description: "This server indicates how much items there are (according to OpenStreetMap) at a given slippy tile coordinate"
}
public static allServers: ServerSourceInfo[] = [
+ {
+ description: "OpenStreetMap.org, the source of most data",
+ url: "https://api.openstreetmap.org",
+ category: "core"
+ },
Constants.summaryServerInfo,
Constants.vectorTileServerInfo,
Constants.geoIpServerInfo,
From 93632f678f10295cb764a1699696bf80b4d04af7 Mon Sep 17 00:00:00 2001
From: Pieter Vander Vennet
Date: Wed, 2 Jul 2025 23:21:33 +0200
Subject: [PATCH 016/171] Feature: add error report on failed review
---
src/Logic/Web/MangroveReviews.ts | 23 ++++++++++++++---------
1 file changed, 14 insertions(+), 9 deletions(-)
diff --git a/src/Logic/Web/MangroveReviews.ts b/src/Logic/Web/MangroveReviews.ts
index 8bffc99b1..a6e82b4f7 100644
--- a/src/Logic/Web/MangroveReviews.ts
+++ b/src/Logic/Web/MangroveReviews.ts
@@ -164,6 +164,7 @@ export default class FeatureReviews {
fallbackName?: string
uncertaintyRadius?: number
}>
+ private readonly _reportError: (msg: string, extra: string) => Promise
private constructor(
feature: Feature,
@@ -175,9 +176,11 @@ export default class FeatureReviews {
uncertaintyRadius?: number
}>,
testmode?: Store,
- loadingAllowed?: UIEventSource
+ loadingAllowed?: UIEventSource,
+ reportError?: (msg: string, extra: string) => Promise
) {
this.loadingAllowed = loadingAllowed
+ this._reportError = reportError
const centerLonLat = GeoOperations.centerpointCoordinates(feature)
;[this._lon, this._lat] = centerLonLat
this._identity = mangroveIdentity
@@ -290,12 +293,8 @@ export default class FeatureReviews {
feature: Feature,
tagsSource: UIEventSource>,
mangroveIdentity: MangroveIdentity,
- options: {
- nameKey?: "name" | string
- fallbackName?: string
- uncertaintyRadius?: number
- },
- state?: SpecialVisualizationState
+ options: { nameKey: string; fallbackName: string; reportError: (msg) => Promise },
+ state?: SpecialVisualizationState,
): FeatureReviews {
const key =
feature.properties.id +
@@ -334,7 +333,8 @@ export default class FeatureReviews {
mangroveIdentity,
options,
state?.featureSwitchIsTesting,
- loadingAllowed
+ loadingAllowed,
+ (msg, extra) => state?.reportError(msg, extra)
)
FeatureReviews._featureReviewsCache[key] = featureReviews
return featureReviews
@@ -362,7 +362,12 @@ export default class FeatureReviews {
const jwt = await MangroveReviews.signReview(keypair, r)
const kid = await MangroveReviews.publicToPem(keypair.publicKey)
if (!this._testmode.data) {
- await MangroveReviews.submitReview(jwt)
+ try{
+ await MangroveReviews.submitReview(jwt)
+ }catch (e) {
+ await this._reportError(e, "Could not save a review. The text is:"+review.rating+", "+review.opinion)
+ throw e
+ }
} else {
console.log("Testmode enabled - not uploading review")
await Utils.waitFor(1000)
From 67f82aec38e07fc8ad5eb631cb9138baa1ddd62f Mon Sep 17 00:00:00 2001
From: Pieter Vander Vennet
Date: Wed, 2 Jul 2025 23:49:28 +0200
Subject: [PATCH 017/171] Fix: drop obsolete param in options
---
src/Logic/Web/MangroveReviews.ts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/Logic/Web/MangroveReviews.ts b/src/Logic/Web/MangroveReviews.ts
index a6e82b4f7..2a667a2b8 100644
--- a/src/Logic/Web/MangroveReviews.ts
+++ b/src/Logic/Web/MangroveReviews.ts
@@ -293,7 +293,7 @@ export default class FeatureReviews {
feature: Feature,
tagsSource: UIEventSource>,
mangroveIdentity: MangroveIdentity,
- options: { nameKey: string; fallbackName: string; reportError: (msg) => Promise },
+ options: { nameKey: string; fallbackName: string },
state?: SpecialVisualizationState,
): FeatureReviews {
const key =
From ee84b9715a7bf5781ace13238786ad120df797c4 Mon Sep 17 00:00:00 2001
From: Pieter Vander Vennet
Date: Thu, 3 Jul 2025 00:30:39 +0200
Subject: [PATCH 018/171] Themes(hotels,tourism_accomodation): use new
toilets-scheme, fix #2445
---
assets/layers/campsite/campsite.json | 2 +-
assets/layers/tourism_accomodation/tourism_accomodation.json | 2 +-
assets/themes/hotels/hotels.json | 3 ++-
3 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/assets/layers/campsite/campsite.json b/assets/layers/campsite/campsite.json
index 18ed6a9b5..6fce4181d 100644
--- a/assets/layers/campsite/campsite.json
+++ b/assets/layers/campsite/campsite.json
@@ -268,7 +268,7 @@
}
},
"caravansites.caravansites-toilets",
- "toilet_at_amenity.toilets-wheelchair",
+ "toilet_at_amenity_lib.all",
"questions",
"mastodon"
],
diff --git a/assets/layers/tourism_accomodation/tourism_accomodation.json b/assets/layers/tourism_accomodation/tourism_accomodation.json
index b5ea6cb22..75885933f 100644
--- a/assets/layers/tourism_accomodation/tourism_accomodation.json
+++ b/assets/layers/tourism_accomodation/tourism_accomodation.json
@@ -407,7 +407,7 @@
"brand",
"contact",
"wheelchair-access",
- "toilet_at_amenity.toilets-wheelchair",
+ "toilet_at_amenity_lib.all",
"internet-all",
"dog-access"
],
diff --git a/assets/themes/hotels/hotels.json b/assets/themes/hotels/hotels.json
index 0e6da3758..20d4c5d5b 100644
--- a/assets/themes/hotels/hotels.json
+++ b/assets/themes/hotels/hotels.json
@@ -48,7 +48,8 @@
"love_hotel"
],
"override": {
- "minzoom": 18
+ "minzoom": 18,
+ "enableMorePrivacy": false
}
}
]
From ccbbba56280f0ac0771f2dfa3967eef8233a70cb Mon Sep 17 00:00:00 2001
From: Pieter Vander Vennet
Date: Thu, 3 Jul 2025 01:47:22 +0200
Subject: [PATCH 019/171] Fix: fix sauna theme
---
.../sauna_at_leisure/sauna_at_leisure.json | 157 ++++++++----------
assets/themes/sauna/sauna.json | 6 +-
.../AddPrefixToTagRenderingConfig.ts | 40 ++++-
3 files changed, 115 insertions(+), 88 deletions(-)
diff --git a/assets/layers/sauna_at_leisure/sauna_at_leisure.json b/assets/layers/sauna_at_leisure/sauna_at_leisure.json
index bf6082d12..1bb01a292 100644
--- a/assets/layers/sauna_at_leisure/sauna_at_leisure.json
+++ b/assets/layers/sauna_at_leisure/sauna_at_leisure.json
@@ -30,90 +30,79 @@
"images",
"reviews",
{
- "builtin": "toilet_at_amenity.toilet-access",
- "override": {
- "condition": "leisure!=water_park",
- "question": {
- "en": "Is this sauna publicly accessible?",
- "de": "Ist die Sauna öffentlich zugänglich?"
- },
- "render": {
- "en": "Access is {sauna:access}",
- "de": "Zugang ist {sauna:access}",
- "fr": "{sauna:access}",
- "nl": "{sauna:access}",
- "it": "{sauna:access}",
- "es": "{sauna:access}",
- "da": "{sauna:access}",
- "ca": "{sauna:access}",
- "cs": "{sauna:access}",
- "sl": "{sauna:access}",
- "uk": "{sauna:access}"
- },
- "freeform": {
- "key": "sauna:access"
- },
- "mappings": [
- {
- "if": "sauna:access=yes",
- "then": {
- "en": "Public access",
- "de": "Der Zugang ist öffentlich",
- "fr": "Accès publique",
- "nl": "Publiek toegankelijk",
- "it": "Accesso pubblico",
- "ru": "Свободный доступ",
- "es": "Acceso público",
- "da": "Offentlig adgang",
- "ca": "Accés públic",
- "cs": "Veřejný přístup",
- "sl": "Javno dostopno"
- }
- },
- {
- "if": "sauna:access=customers",
- "then": {
- "en": "Only access to customers of the amenity",
- "de": "Nur Zugang für Kunden der Einrichtung",
- "nl": "Enkel toegankelijk voor klanten van de voorziening",
- "fr": "Accessibles uniquement au clients du lieu",
- "ca": "Només accessible a clients de l'instal·lació",
- "cs": "Přístup pouze zákazníkům zařízení občanské vybavenosti",
- "sl": "Samo za stranke lokala",
- "es": "Solo acceso para clientes del servicio"
- }
- },
- {
- "if": "sauna:access=no",
- "then": {
- "en": "Not accessible, even for customers of the amenity",
- "de": "Nicht zugänglich, auch nicht für Kunden der Einrichtung",
- "nl": "Niet toegankelijk, ook niet voor klanten van de voorziening",
- "fr": "Non accessibles, même pour les clients du lieu",
- "ca": "No accessible, inclús per als clients de la instal·lació",
- "cs": "Není přístupný, a to ani pro zákazníky občanské vybavenosti",
- "sl": "Ni dostopno niti za stranke lokala",
- "es": "Inaccesible, incluso para clientes del servicio"
- }
- },
- {
- "if": "sauna:access=public",
- "then": {
- "en": "Public access",
- "de": "Öffentlicher Zugang",
- "fr": "Accès publique",
- "nl": "Publiek toegankelijk",
- "it": "Accesso pubblico",
- "ru": "Свободный доступ",
- "es": "Acceso público",
- "da": "Offentlig adgang",
- "ca": "Accés públic",
- "cs": "Veřejný přístup"
- },
- "hideInAnswer": true
+ "id": "sauna_access",
+ "condition": "leisure!=water_park",
+ "question": {
+ "en": "Is this sauna publicly accessible?",
+ "de": "Ist die Sauna öffentlich zugänglich?"
+ },
+ "render": {
+ "en": "Access is {sauna:access}",
+ "de": "Zugang ist {sauna:access}"
+ },
+ "freeform": {
+ "key": "sauna:access"
+ },
+ "mappings": [
+ {
+ "if": "sauna:access=yes",
+ "then": {
+ "en": "Public access",
+ "de": "Der Zugang ist öffentlich",
+ "fr": "Accès publique",
+ "nl": "Publiek toegankelijk",
+ "it": "Accesso pubblico",
+ "ru": "Свободный доступ",
+ "es": "Acceso público",
+ "da": "Offentlig adgang",
+ "ca": "Accés públic",
+ "cs": "Veřejný přístup",
+ "sl": "Javno dostopno"
}
- ]
- }
+ },
+ {
+ "if": "sauna:access=customers",
+ "then": {
+ "en": "Only access to customers of the amenity",
+ "de": "Nur Zugang für Kunden der Einrichtung",
+ "nl": "Enkel toegankelijk voor klanten van de voorziening",
+ "fr": "Accessibles uniquement au clients du lieu",
+ "ca": "Només accessible a clients de l'instal·lació",
+ "cs": "Přístup pouze zákazníkům zařízení občanské vybavenosti",
+ "sl": "Samo za stranke lokala",
+ "es": "Solo acceso para clientes del servicio"
+ }
+ },
+ {
+ "if": "sauna:access=no",
+ "then": {
+ "en": "Not accessible, even for customers of the amenity",
+ "de": "Nicht zugänglich, auch nicht für Kunden der Einrichtung",
+ "nl": "Niet toegankelijk, ook niet voor klanten van de voorziening",
+ "fr": "Non accessibles, même pour les clients du lieu",
+ "ca": "No accessible, inclús per als clients de la instal·lació",
+ "cs": "Není přístupný, a to ani pro zákazníky občanské vybavenosti",
+ "sl": "Ni dostopno niti za stranke lokala",
+ "es": "Inaccesible, incluso para clientes del servicio"
+ }
+ },
+ {
+ "if": "sauna:access=public",
+ "then": {
+ "en": "Public access",
+ "de": "Öffentlicher Zugang",
+ "fr": "Accès publique",
+ "nl": "Publiek toegankelijk",
+ "it": "Accesso pubblico",
+ "ru": "Свободный доступ",
+ "es": "Acceso público",
+ "da": "Offentlig adgang",
+ "ca": "Accés públic",
+ "cs": "Veřejný přístup"
+ },
+ "hideInAnswer": true
+ }
+ ]
},
"contact",
"fixme"
@@ -159,4 +148,4 @@
"en": "{name}"
}
}
-}
\ No newline at end of file
+}
diff --git a/assets/themes/sauna/sauna.json b/assets/themes/sauna/sauna.json
index c03f737da..b0056e88c 100644
--- a/assets/themes/sauna/sauna.json
+++ b/assets/themes/sauna/sauna.json
@@ -6,11 +6,11 @@
"en": "Sauna"
},
"layers": [
- "./assets/layers/sauna/sauna.json",
- "./assets/layers/sauna/sauna_at_leisure.json"
+ "sauna",
+ "sauna_at_leisure"
],
"description": {
"en": "Sauna"
},
"icon": "./assets/layers/sauna/sauna.svg"
-}
\ No newline at end of file
+}
diff --git a/src/Models/ThemeConfig/Conversion/AddPrefixToTagRenderingConfig.ts b/src/Models/ThemeConfig/Conversion/AddPrefixToTagRenderingConfig.ts
index 5feb391f7..176b39459 100644
--- a/src/Models/ThemeConfig/Conversion/AddPrefixToTagRenderingConfig.ts
+++ b/src/Models/ThemeConfig/Conversion/AddPrefixToTagRenderingConfig.ts
@@ -6,6 +6,7 @@ import {
MappingConfigJson,
QuestionableTagRenderingConfigJson,
} from "../Json/QuestionableTagRenderingConfigJson"
+import { Utils } from "../../../Utils"
export default class AddPrefixToTagRenderingConfig extends DesugaringStep {
private readonly _prefix: string
@@ -18,6 +19,40 @@ export default class AddPrefixToTagRenderingConfig extends DesugaringStep "Some argument with a {PREFIX:key}"
+ *
+ * // Don't rewrite metatags
+ * new AddPrefixToTagRenderingConfig("PREFIX").rewriteArguments("Some argument with a {_calculated_key}") // => "Some argument with a {_calculated_key}"
+ *
+
+ */
+ private rewriteArguments(txt: string) {
+ const regex = /(.*?){([^}]*)}(.*)/s
+ let match = txt.match(regex)
+ if (!match) {
+ return txt
+ }
+ let result = ""
+ while (match) {
+ const [_, normal, key, leftover] = match
+ if (key.startsWith("_")) {
+ result += normal + "{" + key + "}"
+ } else {
+ result += normal + "{" + this._prefix + ":" + key + "}"
+ }
+ match = leftover.match(regex)
+ if (!match) {
+ result += leftover
+ }
+ }
+ if(txt !== result){
+ console.log(">>> Rewritten", txt, "into", result)
+ }
+ return result
+ }
+
/**
*
* const edit = new AddPrefixToTagRenderingConfig("PREFIX")
@@ -29,6 +64,9 @@ export default class AddPrefixToTagRenderingConfig extends DesugaringStep "{opening_hours_table(PREFIX:opening_hours,,)}"
+ *
+ * // Should prefix links, e.g. for 'phone'
+ * new AddPrefixToTagRenderingConfig("PREFIX").updateString("{link({phone},tel:{phone},,,,)}") // => "{link({PREFIX:phone},tel:{PREFIX:phone},,,,)}"
*/
private updateString(str: string): string {
const parsed = SpecialVisualizations.constructSpecification(str)
@@ -45,7 +83,7 @@ export default class AddPrefixToTagRenderingConfig extends DesugaringStep
Date: Wed, 2 Jul 2025 18:00:59 +0000
Subject: [PATCH 020/171] Translated using Weblate (Danish)
Currently translated at 86.7% (621 of 716 strings)
Translation: MapComplete/core
Translate-URL: https://translate.mapcomplete.org/projects/mapcomplete/core/da/
---
langs/da.json | 58 ++++++++++++++++++++++++++++++++++++++++++++++-----
1 file changed, 53 insertions(+), 5 deletions(-)
diff --git a/langs/da.json b/langs/da.json
index 57e31f8f2..c865220bb 100644
--- a/langs/da.json
+++ b/langs/da.json
@@ -560,7 +560,8 @@
"selectMap": "Indstil baggrunden til et kort fra eksterne kilder. Skifter mellem de to bedste, tilgængelige lag",
"selectOsmbasedmap": "Indstil baggrundslaget til et OpenStreetMap-baseret kort (eller deaktiver baggrundsrasterlaget)",
"selectAerial": "Indstil baggrunden til luft- eller satellitbilleder. Skifter mellem de to bedste, tilgængelige lag",
- "selectItem3": "Vælg det interessepunkt, der er det tredje tætteste element på kortets centrum (trådkors). Kun når der bruges tastaturnavigation"
+ "selectItem3": "Vælg det interessepunkt, der er det tredje tætteste element på kortets centrum (trådkors). Kun når der bruges tastaturnavigation",
+ "title": "Hurtigtaster"
},
"image": {
"addPicture": "Tag et billede",
@@ -571,7 +572,8 @@
"failed": "Hentning af billeder fra {service} mislykkedes",
"link": "Dette billede viser objektet",
"noNearbyImages": "Der blev ikke fundet nogen billeder i nærheden",
- "close": "Skjul panelet med billeder i nærheden"
+ "close": "Skjul panelet med billeder i nærheden",
+ "title": "Gadebilleder i nærheden"
},
"pleaseLogin": "Log venligst ind for at tilføje et billede",
"respectPrivacy": "Tag ikke billeder af mennesker eller nummerplader. Upload ikke Google Maps, Google Streetview, eller fra andre ophavsresbeskyttede kilder.",
@@ -584,11 +586,47 @@
"failed": "Beklager, vi kunne ikke uploade dit billede",
"retrying": "Prøver igen at uploade dit billede…",
"uploading": "Dit billede bliver uploadet…"
- }
+ },
+ "failReasons": "Du har måske mistet forbindelsen til internettet",
+ "failReasonsAdvanced": "Alternativt kan du sørge for, at din browser og dine udvidelser ikke blokerer for tredjeparts-API'er.",
+ "multiple": {
+ "done": "{count} billeder er uploadet. Tak!",
+ "partiallyDone": "{count} billeder er ved at blive uploadet, {done} billeder er færdige…",
+ "someFailed": "Beklager, vi kunne ikke uploade {count} billeder",
+ "uploading": "{count} billeder er ved at blive uploadet…"
+ },
+ "noBlur": "Billederne sløres ikke. Fotografér ikke mennesker"
},
"loadingFailed": "Indlæsning af dette billede mislykkedes",
"processing": "Serveren behandler dit billede",
- "mapillaryTrackingProtection": "Streng sporingsbeskyttelse blokerer indlæsning af billeder fra Mapillary, da Mapillary er ejet af Facebook/Meta. Deaktiver streng sporingsbeskyttelse, hvis du vil se dette billede."
+ "mapillaryTrackingProtection": "Streng sporingsbeskyttelse blokerer indlæsning af billeder fra Mapillary, da Mapillary er ejet af Facebook/Meta. Deaktiver streng sporingsbeskyttelse, hvis du vil se dette billede.",
+ "openOnWebsite": "Åbn dette billede på {name}",
+ "panoramax": {
+ "report": {
+ "blur_excess": "Der er for meget sløring, hvilket gør billedet ubrugeligt",
+ "mislocated": "Dette billede er placeret forkert",
+ "blur_missing": "Et eller flere ansigter er ikke korrekt sløret",
+ "copyright": "Billedet indeholder ophavsretligt beskyttet indhold",
+ "other": "En anden grund, angiv venligst",
+ "picture_low_quality": "Dette billede har en lav kvalitet og er ikke brugbart",
+ "privacy": "Billedet viser en privat ejendom",
+ "inappropriate": "Dette billede er upassende (det indeholder nøgenhed, opfordrer til had eller er ikke et gadebillede)"
+ },
+ "requestDeletion": "Anmod om sletning af billede",
+ "title": "Hvorfor bør dette billede slettes permanent?",
+ "deletionRequested": "Rapporten er blevet sendt. En moderator vil se på den snarest",
+ "freeform": "Er der andre relevante oplysninger?",
+ "otherFreeform": "Angiv venligst, hvorfor dette billede bør fjernes:",
+ "placeholder": "Forklar, hvorfor billedet bør slettes"
+ },
+ "reported": "Dette billede er rapporteret og kan indeholde skadeligt indhold",
+ "showAnyway": "Vis billedet alligevel",
+ "strictProtectionDetected": "Streng sporingsbeskyttelse (eller en anden indholdsblokering) blev registreret og kan have blokeret adgangen til dette billede.",
+ "unlink": {
+ "explanation": "Ved at fjerne tilknytningen til dette billede vil det ikke længere blive vist sammen med dette objekt. Det vil stadig blive vist i de nærliggende billeder og muligvis i andre objekter.",
+ "title": "Fjern link til dette billede?",
+ "button": "Fjern link til billede"
+ }
},
"importInspector": {
"title": "Undersøg og håndter noter"
@@ -602,7 +640,8 @@
"#": "Disse tekster vises over tema-knapperne, når der ikke er indlæst noget tema",
"intro": "Kort over forskellige emner, som du kan bidrage til",
"logIn": "Log ind for at se andre temaer, du tidligere har besøgt",
- "title": "Velkommen til MapComplete"
+ "title": "Velkommen til MapComplete",
+ "about": "Om MapComplete"
},
"input_helpers": {
"distance": {
@@ -765,5 +804,14 @@
"wikidata": {
"description": "En Wikidata identifier"
}
+ },
+ "imageQueue": {
+ "confirmDelete": "Slet dette billede permanent",
+ "confirmDeleteTitle": "Slet dette billede?",
+ "delete": "Slet dette billede",
+ "intro": "Følgende billeder er sat i kø til upload",
+ "menu": "Kø til billed-upload ({count})",
+ "retryAll": "Prøv at uploade alle billeder igen",
+ "noFailedImages": "Der er i øjeblikket ingen billeder i upload-køen"
}
}
From 74a3b8defb8a9dfce3b96f353268d2663aa33119 Mon Sep 17 00:00:00 2001
From: mike140
Date: Wed, 2 Jul 2025 23:05:55 +0000
Subject: [PATCH 021/171] Translated using Weblate (Ukrainian)
Currently translated at 19.6% (893 of 4541 strings)
Translation: MapComplete/layers
Translate-URL: https://translate.mapcomplete.org/projects/mapcomplete/layers/uk/
---
langs/layers/uk.json | 63 +++++++++++++++++++++++++++++++++++++++++---
1 file changed, 60 insertions(+), 3 deletions(-)
diff --git a/langs/layers/uk.json b/langs/layers/uk.json
index a9a866871..5f6f77fe9 100644
--- a/langs/layers/uk.json
+++ b/langs/layers/uk.json
@@ -1541,6 +1541,15 @@
"0": {
"description": "Надгробок - це фізичний об'єкт, який вказує на те, що тут похована одна або кілька осіб. Як правило, на ньому викарбувано ім'я, дату народження та дату смерті особи чи осіб."
}
+ },
+ "filter": {
+ "0": {
+ "options": {
+ "0": {
+ "question": "З вікіданими або без них"
+ }
+ }
+ }
}
},
"guidepost": {
@@ -1649,10 +1658,55 @@
"mappings": {
"1": {
"then": "Це меморіальна дошка"
+ },
+ "2": {
+ "then": "Це пам'ятна лавка"
+ },
+ "10": {
+ "then": "Це хрест"
+ },
+ "11": {
+ "then": "Це блакитна меморіальна дошка"
+ },
+ "12": {
+ "then": "Це історичний танк, який назавжди встановлений у громадському місці як меморіал"
+ },
+ "13": {
+ "then": "Це меморіальне дерево"
+ },
+ "4": {
+ "then": "Це камінь спотикання"
+ },
+ "5": {
+ "then": "Це стела"
+ },
+ "6": {
+ "then": "Це меморіальний камінь"
+ },
+ "7": {
+ "then": "Це погруддя"
+ },
+ "9": {
+ "then": "Це обеліск"
+ },
+ "0": {
+ "then": "Це статуя"
+ },
+ "8": {
+ "then": "Це скульптура"
+ },
+ "14": {
+ "then": "Це надгробна плита; тут похована людина"
+ },
+ "3": {
+ "then": "Це велосипед-привид — велосипед, пофарбований у білий колір на згадку про велосипедиста, який загинув у результаті автомобільної аварії"
}
- }
+ },
+ "question": "Що це за меморіал?",
+ "render": "Це {memorial}"
}
- }
+ },
+ "name": "Меморіали"
},
"nature_reserve": {
"tagRenderings": {
@@ -3304,5 +3358,8 @@
"title": {
"render": "Утилізація відходів"
}
+ },
+ "historic_aircraft": {
+ "name": "Історичний літак"
}
-}
\ No newline at end of file
+}
From c70124706654beb7e9aae19cb57ee4e74c260136 Mon Sep 17 00:00:00 2001
From: Pieter Vander Vennet
Date: Thu, 3 Jul 2025 17:32:22 +0200
Subject: [PATCH 022/171] Themes(sauna): refactor 'sauna_at_leisure' to contain
all sauna relevant questions and 'layers/sauna.json' to contain only related
questions; include 'sauna_at_leisure' in 'hotels' and 'beauty shops'; add
beauty shop types
---
assets/layers/sauna/sauna.json | 135 ++------
.../sauna_at_leisure/sauna_at_leisure.json | 289 ++++++++++++++----
assets/layers/shops/shops.json | 82 ++++-
.../tourism_accomodation.json | 1 +
assets/themes/sauna/sauna.json | 107 ++++++-
.../ThemeConfig/Conversion/PrepareLayer.ts | 2 +-
src/Models/ThemeConfig/LayerConfig.ts | 2 +-
src/UI/Popup/DataVisualisations.ts | 8 +
8 files changed, 452 insertions(+), 174 deletions(-)
diff --git a/assets/layers/sauna/sauna.json b/assets/layers/sauna/sauna.json
index bf1c3b555..23fedd023 100644
--- a/assets/layers/sauna/sauna.json
+++ b/assets/layers/sauna/sauna.json
@@ -1,7 +1,24 @@
{
- "credits": "Osmwithspace",
+ "id": "sauna",
+ "name": {
+ "en": "Sauna"
+ },
+ "description": {
+ "en": "A sauna is a small room or house designed as a place to experience dry or wet heat sessions, or an establishment with one or more of these and auxiliary facilities."
+ },
+ "source": {
+ "osmTags": {
+ "and": [
+ "leisure=sauna"
+ ]
+ }
+ },
"minzoom": 8,
- "allowMove": true,
+ "title": {
+ "render": {
+ "en": "{name}"
+ }
+ },
"pointRendering": [
{
"location": [
@@ -15,111 +32,21 @@
]
}
],
- "tagRenderings": [
- "images",
- "reviews",
- "opening_hours",
- {
- "id": "charge_cost_rewritten",
- "rewrite": {
- "sourceString": [
- "{key}",
- "{time}"
- ],
- "into": [
- [
- "2 hours",
- {
- "en": "2 hours",
- "de": "2 Stunden"
- }
- ],
- [
- "4 hours",
- {
- "en": "4 hours",
- "de": "4 Stunden"
- }
- ],
- [
- "day",
- {
- "en": "one day",
- "de": "einen Tag"
- }
- ]
- ]
- },
- "renderings": [
- {
- "id": "charge_{key}",
- "question": {
- "en": "What is the entrance fee for {time}?",
- "de": "Was ist der Eintrittspreis für {time}?"
- },
- "render": {
- "en": "entrance fee for {time}: {charge}",
- "de": "Eintrittspreis für {time}: {charge}"
- },
- "freeform": {
- "key": "charge",
- "type": "currency",
- "inline": true,
- "postfixDistinguished": "{key}",
- "addExtraTags": [
- "fee=yes"
- ]
- },
- "mappings": [
- {
- "if": "fee=no",
- "addExtraTags": [
- "charge="
- ],
- "then": {
- "en": "The sauna is free of charge",
- "de": "Die Sauna ist kostenlos"
- },
- "hideInAnswer": "fee!=no"
- }
- ]
- }
- ]
- },
- "contact",
- "fixme"
- ],
"lineRendering": [
{
"width": 1,
"color": "blue"
}
],
- "credits:uid": 8770388,
- "source": {
- "osmTags": {
- "and": [
- "leisure=sauna",
- {
- "or": [
- "opening_hours!=",
- "website!=",
- "phone!="
- ]
- }
- ]
- }
- },
- "description": {
- "en": "A sauna is a small room or house designed as a place to experience dry or wet heat sessions, or an establishment with one or more of these and auxiliary facilities."
- },
- "id": "sauna",
- "name": {
- "en": "Sauna"
- },
- "title": {
- "render": {
- "en": "{name}"
- }
- }
-}
\ No newline at end of file
+ "tagRenderings": [
+ "images",
+ "reviews",
+ "opening_hours",
+ "contact",
+ "sauna_at_leisure.sauna_expanded",
+ "fixme"
+ ],
+ "allowMove": true,
+ "credits": "Osmwithspace",
+ "credits:uid": 8770388
+}
diff --git a/assets/layers/sauna_at_leisure/sauna_at_leisure.json b/assets/layers/sauna_at_leisure/sauna_at_leisure.json
index 1bb01a292..e2f965c66 100644
--- a/assets/layers/sauna_at_leisure/sauna_at_leisure.json
+++ b/assets/layers/sauna_at_leisure/sauna_at_leisure.json
@@ -1,7 +1,26 @@
{
- "credits": "Osmwithspace",
+ "id": "sauna_at_leisure",
+ "name": {
+ "en": "Saunas at other amenities",
+ "de": "Saunen in anderen Einrichtungen"
+ },
+ "description": {
+ "en": "A sauna is a small room or house designed as a place to experience dry or wet heat sessions, or an establishment with one or more of these and auxiliary facilities."
+ },
+ "#": "Use 'sauna_at_leisure.sauna_grouped' in a layer.tagRenderings to add the 'sauna information' expandle block (incl 'has sauna'); use 'sauna_at_leisure.expanded' to get all sauna questions directly (which does _not_ include the 'has sauna' question)",
+ "source": {
+ "osmTags": {
+ "or": [
+ "sauna=yes"
+ ]
+ }
+ },
"minzoom": 8,
- "allowMove": true,
+ "title": {
+ "render": {
+ "en": "{name}"
+ }
+ },
"pointRendering": [
{
"location": [
@@ -15,34 +34,132 @@
]
}
],
+ "lineRendering": [
+ {
+ "width": 1,
+ "color": "blue"
+ }
+ ],
"tagRenderings": [
{
- "builtin": "sauna.*",
- "override": {
- "condition": {
- "and+": [
- "sauna=yes"
- ]
+ "id": "sauna-group",
+ "labels": [
+ "sauna_grouped"
+ ],
+ "render": {
+ "special": {
+ "type": "group",
+ "header": "sauna-header",
+ "labels": "has_sauna;sauna_expanded;sauna-questions"
}
- },
- "prefix": "sauna"
+ }
+ },
+ {
+ "id": "sauna-header",
+ "labels": [
+ "sauna_grouped",
+ "hidden"
+ ],
+ "render": {
+ "en": "Sauna information"
+ },
+ "icon": "./assets/layers/sauna/sauna.svg",
+ "mappings": [
+ {
+ "if": "sauna=no",
+ "then": {
+ "en": "No sauna"
+ }
+ }
+ ]
+ },
+ {
+ "id": "sauna-picture-carousel",
+ "labels": [
+ "sauna_expanded",
+ "sauna_grouped",
+ "hidden"
+ ],
+ "render": {
+ "special": {
+ "type": "image_carousel",
+ "image_key": "sayna:panoramax;sauna:image;sauna:mapillary"
+ }
+ }
+ },
+ {
+ "id": "sauna-picture",
+ "condition": {
+ "and": [
+ {
+ "or": [
+ "sauna=yes",
+ "leisure=sauna",
+ "beauty=sauna"
+ ]
+ }
+ ]
+ },
+ "labels": [
+ "sauna_expanded",
+ "sauna_grouped",
+ "hidden"
+ ],
+ "render": {
+ "special": {
+ "type": "image_upload",
+ "image_key": "sauna:panoramax",
+ "label": {
+ "en": "Add a picture of the sauna"
+ }
+ }
+ }
+ },
+ {
+ "question": {
+ "en": "Does {title()} have a sauna?"
+ },
+ "id": "has_sauna",
+ "labels": [
+ "sauna_grouped",
+ "at_leisure_only",
+ "hidden"
+ ],
+ "mappings": [
+ {
+ "if": "sauna=yes",
+ "then": {
+ "en": "Has a sauna"
+ }
+ },
+ {
+ "if": "sauna=no",
+ "then": {
+ "en": "No sauna"
+ }
+ }
+ ]
},
- "images",
- "reviews",
{
"id": "sauna_access",
- "condition": "leisure!=water_park",
+ "labels": [
+ "sauna_expanded",
+ "sauna_grouped",
+ "hidden"
+ ],
+ "condition": {
+ "and": [
+ {
+ "or": [
+ "sauna=yes"
+ ]
+ }
+ ]
+ },
"question": {
"en": "Is this sauna publicly accessible?",
"de": "Ist die Sauna öffentlich zugänglich?"
},
- "render": {
- "en": "Access is {sauna:access}",
- "de": "Zugang ist {sauna:access}"
- },
- "freeform": {
- "key": "sauna:access"
- },
"mappings": [
{
"if": "sauna:access=yes",
@@ -104,48 +221,104 @@
}
]
},
- "contact",
- "fixme"
- ],
- "lineRendering": [
{
- "width": 1,
- "color": "blue"
- }
- ],
- "credits:uid": 8770388,
- "source": {
- "osmTags": {
- "or": [
- {
- "and": [
- "sauna=yes",
- "leisure=water_park"
+ "id": "charge_cost_rewritten",
+ "rewrite": {
+ "sourceString": [
+ "{key}",
+ "{time}"
+ ],
+ "into": [
+ [
+ "2 hours",
+ {
+ "en": "2 hours",
+ "de": "2 Stunden"
+ }
+ ],
+ [
+ "4 hours",
+ {
+ "en": "4 hours",
+ "de": "4 Stunden"
+ }
+ ],
+ [
+ "day",
+ {
+ "en": "one day",
+ "de": "einen Tag"
+ }
]
- },
+ ]
+ },
+ "renderings": [
{
- "and": [
- "sauna=yes",
- "leisure!=water_park",
- "sauna:access!=no",
- "sauna:access!=private",
- "sauna:access!=customers"
- ]
+ "id": "charge_{key}",
+ "labels": [
+ "sauna_expanded",
+ "sauna_grouped",
+ "hidden"
+ ],
+ "question": {
+ "en": "What is the entrance fee for {time}?",
+ "de": "Was ist der Eintrittspreis für {time}?"
+ },
+ "render": {
+ "en": "entrance fee for {time}: {charge}",
+ "de": "Eintrittspreis für {time}: {charge}"
+ },
+ "freeform": {
+ "key": "charge",
+ "type": "currency",
+ "inline": true,
+ "postfixDistinguished": "{key}",
+ "addExtraTags": [
+ "fee=yes"
+ ]
+ },
+ "mappings": [
+ {
+ "if": "fee=no",
+ "addExtraTags": [
+ "charge="
+ ],
+ "then": {
+ "en": "The sauna is free of charge",
+ "de": "Die Sauna ist kostenlos"
+ }
+ }
+ ],
+ "condition": {
+ "and": [
+ "access!=customers",
+ "access!=no",
+ "access!=private",
+ {
+ "or": [
+ "sauna=yes"
+ ]
+ }
+ ]
+ }
}
]
+ },
+ {
+ "id": "sauna-questions",
+ "labels": [
+ "sauna_grouped",
+ "hidden"
+ ],
+ "render": {
+ "special": {
+ "type": "questions",
+ "labels": "at_leisure_only;sauna_expanded"
+ }
+ }
}
- },
- "description": {
- "en": "A sauna is a small room or house designed as a place to experience dry or wet heat sessions, or an establishment with one or more of these and auxiliary facilities."
- },
- "id": "sauna_at_leisure",
- "name": {
- "en": "Saunas at other amenities",
- "de": "Saunen in anderen Einrichtungen"
- },
- "title": {
- "render": {
- "en": "{name}"
- }
- }
+ ],
+ "allowMove": true,
+ "credits": "Osmwithspace",
+ "credits:uid": 8770388
}
diff --git a/assets/layers/shops/shops.json b/assets/layers/shops/shops.json
index cceec48e1..e66da0144 100644
--- a/assets/layers/shops/shops.json
+++ b/assets/layers/shops/shops.json
@@ -365,6 +365,69 @@
"filter": true
}
},
+ {
+ "id": "beauty_shop_type",
+ "question": {
+ "en": "What type of beauty shop is this?"
+ },
+ "multiAnswer": true,
+ "mappings": [
+ {
+ "if": "beauty=nails",
+ "then": {
+ "en": "Offers nail care services such as manicures, pedicures, and nail enhancements"
+ }
+ },
+ {
+ "if": "beauty=skin_care",
+ "then": {
+ "en": "Offers skin care services"
+ }
+ },
+ {
+ "if": "beauty=tanning",
+ "then": {
+ "en": "Offers tanning services such as sunbeds"
+ }
+ },
+ {
+ "if": "beauty=cosmetics",
+ "then": {
+ "en": "Offers cosmetic services, such as makeup"
+ }
+ },
+ {
+ "if": "beauty=massage",
+ "then": {
+ "en": "Offers massages"
+ }
+ },
+ {
+ "if": "beauty=waxing",
+ "then": {
+ "en": "Offers hair removal through waxing"
+ }
+ },
+ {
+ "if": "beauty=hair_removal",
+ "then": {
+ "en": "Offers hair removal services, e.g. with a laser"
+ }
+ },
+ {
+ "if": "beauty=eyebrow",
+ "then": {
+ "en": "Offers eyebrow enhancement services"
+ }
+ },
+ {
+ "if": "beauty=pedicure",
+ "then": {
+ "en": "Offers pedicure services"
+ }
+ }
+ ]
+ },
{
"id": "brand",
"question": {
@@ -1357,9 +1420,7 @@
{
"builtin": "bike_cleaning.bike_cleaning-service_bicycle_cleaning_charge"
},
- "internet",
- "internet-fee",
- "internet-ssid",
+ "internet-all",
{
"id": "organic",
"question": {
@@ -1471,6 +1532,21 @@
}
}
},
+ {
+ "builtin": "sauna_at_leisure.sauna_grouped",
+ "override": {
+ "condition": {
+ "and+": [
+ {
+ "or": [
+ "shop=beauty",
+ "shop=massage"
+ ]
+ }
+ ]
+ }
+ }
+ },
"description",
"toilet_at_amenity_lib.all"
],
diff --git a/assets/layers/tourism_accomodation/tourism_accomodation.json b/assets/layers/tourism_accomodation/tourism_accomodation.json
index 75885933f..7e32981e3 100644
--- a/assets/layers/tourism_accomodation/tourism_accomodation.json
+++ b/assets/layers/tourism_accomodation/tourism_accomodation.json
@@ -408,6 +408,7 @@
"contact",
"wheelchair-access",
"toilet_at_amenity_lib.all",
+ "sauna_at_leisure.sauna_grouped",
"internet-all",
"dog-access"
],
diff --git a/assets/themes/sauna/sauna.json b/assets/themes/sauna/sauna.json
index b0056e88c..eb66bb7b5 100644
--- a/assets/themes/sauna/sauna.json
+++ b/assets/themes/sauna/sauna.json
@@ -1,16 +1,109 @@
{
- "credits": "Osmwithspace",
- "credits:uid": 8770388,
"id": "sauna",
"title": {
"en": "Sauna"
},
- "layers": [
- "sauna",
- "sauna_at_leisure"
- ],
"description": {
"en": "Sauna"
},
- "icon": "./assets/layers/sauna/sauna.svg"
+ "icon": "./assets/layers/sauna/sauna.svg",
+ "credits": [
+ "Osmwithspace"
+ ],
+ "#layers": "sauna_at_leisure acts as fallback-layer and will show all objects with `sauna=yes`",
+ "layers": [
+ "sauna",
+ {
+ "builtin": "tourism_accomodation",
+ "override": {
+ "id": "tourism_accomodation_with_sauna",
+ "presets=": [],
+ "filter=": [],
+ "minzoom": 8,
+ "source": {
+ "osmTags": {
+ "and+": "sauna=yes"
+ }
+ }
+ }
+ },
+ {
+ "builtin": "tourism_accomodation",
+ "override": {
+ "minzoom": 18,
+ "name=": null,
+ "filter": {
+ "sameAs": "tourism_accomodation_with_sauna"
+ }
+ }
+ },
+ {
+ "builtin": "shops",
+ "override": {
+ "id": "shops_with_sauna",
+ "source": {
+ "osmTags":
+ {
+ "and+": [
+ "sauna=yes"
+ ]
+ }
+
+ },
+ "presets=":[],
+ "minzoom": 8,
+ "filter=": []
+ }
+ },
+ {
+ "builtin": "shops",
+ "hideTagRenderingsWithLabels": [
+ "shop_types"
+ ],
+ "override": {
+ "id": "beauty_shops",
+ "minzoom": 18,
+ "name=": null,
+ "source": {
+ "osmTags": {
+ "and+": [
+ {
+ "or": [
+ "shop=beauty",
+ "shop=massage"
+ ]
+ }
+ ]
+ }
+ },
+ "presets=": [
+ {
+ "tags": [
+ "shop=beauty"
+ ],
+ "title": {
+ "en": "a beauty shop"
+ }
+ },
+ {
+ "tags": [
+ "shop=massage"
+ ],
+ "title": {
+ "en": "a massage shop"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "builtin": "toilet",
+ "override": {
+ "minzoom":18,
+ "name=": null
+ }
+ },
+ "sauna_at_leisure"
+ ],
+ "credits:uid": 8770388
}
diff --git a/src/Models/ThemeConfig/Conversion/PrepareLayer.ts b/src/Models/ThemeConfig/Conversion/PrepareLayer.ts
index 3f9c37b09..62256c392 100644
--- a/src/Models/ThemeConfig/Conversion/PrepareLayer.ts
+++ b/src/Models/ThemeConfig/Conversion/PrepareLayer.ts
@@ -1072,7 +1072,7 @@ class DeriveSource extends DesugaringStep {
return json
}
- json.source = { osmTags }
+ json.source = { osmTags: {and: [osmTags]} }
return json
}
}
diff --git a/src/Models/ThemeConfig/LayerConfig.ts b/src/Models/ThemeConfig/LayerConfig.ts
index d27004458..db66b509e 100644
--- a/src/Models/ThemeConfig/LayerConfig.ts
+++ b/src/Models/ThemeConfig/LayerConfig.ts
@@ -71,7 +71,7 @@ export default class LayerConfig extends WithContextLoader {
* If this layer is based on another layer, this might be indicated here
* @private
*/
- private readonly _basedOn: string | undefined
+ public readonly _basedOn: string | undefined
constructor(
json: LayerConfigJson,
diff --git a/src/UI/Popup/DataVisualisations.ts b/src/UI/Popup/DataVisualisations.ts
index d1b5a885f..05b15f471 100644
--- a/src/UI/Popup/DataVisualisations.ts
+++ b/src/UI/Popup/DataVisualisations.ts
@@ -248,6 +248,10 @@ class PresetTypeSelect extends SpecialVisualizationSvelte {
layer: LayerConfig,
): SvelteUIElement {
const t = Translations.t.preset_type
+ if(layer._basedOn !== layer.id){
+ console.warn("Trying to use the _original_ layer")
+ layer = state.theme.layers.find(l => l.id === layer._basedOn) ?? layer
+ }
const question: QuestionableTagRenderingConfigJson = {
id: layer.id + "-type",
question: t.question.translations,
@@ -260,6 +264,10 @@ class PresetTypeSelect extends SpecialVisualizationSvelte {
}).translations,
})),
}
+ if(question.mappings.length === 0){
+ console.error("No mappings for preset_type_select, something went wrong")
+ return undefined
+ }
const config = new TagRenderingConfig(question)
return new SvelteUIElement(TagRenderingEditable, {
config,
From 8a0023377a04a6b1ff6d7aa3b8958ee547e03783 Mon Sep 17 00:00:00 2001
From: Pieter Vander Vennet
Date: Thu, 3 Jul 2025 17:33:29 +0200
Subject: [PATCH 023/171] Refactoring: fix small errors, simplify
'sortedByLevehnstein'-function, improve error messgae
---
.../mapcomplete-changes/mapcomplete-changes.json | 4 ++++
src/Logic/DetermineTheme.ts | 3 +--
src/Models/MenuState.ts | 3 +--
src/Models/ThemeConfig/Conversion/ExpandFilter.ts | 3 +--
.../ThemeConfig/Conversion/ExpandTagRendering.ts | 5 ++---
src/Models/ThemeConfig/Conversion/PrepareTheme.ts | 3 ++-
src/Models/ThemeConfig/Conversion/ValidateTheme.ts | 2 +-
src/Models/ThemeConfig/FilterConfig.ts | 3 +--
src/Models/ThemeConfig/TagRenderingConfig.ts | 3 +--
src/UI/InputElement/ValidatedInput.svelte | 3 +--
src/UI/InputElement/Validators/DistanceValidator.ts | 2 +-
src/UI/SpecialVisualisations/SettingsVisualisations.ts | 2 +-
src/Utils.ts | 10 ++++++++++
13 files changed, 27 insertions(+), 19 deletions(-)
diff --git a/assets/themes/mapcomplete-changes/mapcomplete-changes.json b/assets/themes/mapcomplete-changes/mapcomplete-changes.json
index 7772c9691..c3608b448 100644
--- a/assets/themes/mapcomplete-changes/mapcomplete-changes.json
+++ b/assets/themes/mapcomplete-changes/mapcomplete-changes.json
@@ -565,6 +565,10 @@
"if": "theme=rainbow_crossings",
"then": "./assets/themes/rainbow_crossings/logo.svg"
},
+ {
+ "if": "theme=sauna",
+ "then": "./assets/layers/sauna/sauna.svg"
+ },
{
"if": "theme=scouting",
"then": "./assets/layers/scouting_group/scouting.svg"
diff --git a/src/Logic/DetermineTheme.ts b/src/Logic/DetermineTheme.ts
index fed03a7ce..9da701591 100644
--- a/src/Logic/DetermineTheme.ts
+++ b/src/Logic/DetermineTheme.ts
@@ -108,8 +108,7 @@ export default class DetermineTheme {
if (themeInfo === undefined) {
const alternatives = Utils.sortedByLevenshteinDistance(
id,
- themes.map((th) => th.id),
- (i) => i
+ themes.map((th) => th.id)
).slice(0, 3)
const msg = `No builtin map theme with name ${layoutId} exists. Perhaps you meant one of ${alternatives.join(
", "
diff --git a/src/Models/MenuState.ts b/src/Models/MenuState.ts
index 9a616f015..e313899d3 100644
--- a/src/Models/MenuState.ts
+++ b/src/Models/MenuState.ts
@@ -111,8 +111,7 @@ export class MenuState {
"No tagRendering with id '" + highlightTagRendering + "'; maybe you meant:",
Utils.sortedByLevenshteinDistance(
highlightTagRendering,
- UserRelatedState.availableUserSettingsIds,
- (x) => x
+ UserRelatedState.availableUserSettingsIds
)
)
}
diff --git a/src/Models/ThemeConfig/Conversion/ExpandFilter.ts b/src/Models/ThemeConfig/Conversion/ExpandFilter.ts
index cb74004e8..1674fcabf 100644
--- a/src/Models/ThemeConfig/Conversion/ExpandFilter.ts
+++ b/src/Models/ThemeConfig/Conversion/ExpandFilter.ts
@@ -259,8 +259,7 @@ export class ExpandFilter extends DesugaringStep {
if (found === undefined) {
const suggestions = Utils.sortedByLevenshteinDistance(
filter,
- Array.from(ExpandFilter.predefinedFilters.keys()),
- (t) => t
+ Array.from(ExpandFilter.predefinedFilters.keys())
)
context
.enter(filter)
diff --git a/src/Models/ThemeConfig/Conversion/ExpandTagRendering.ts b/src/Models/ThemeConfig/Conversion/ExpandTagRendering.ts
index d9fa5a35a..3af5888c2 100644
--- a/src/Models/ThemeConfig/Conversion/ExpandTagRendering.ts
+++ b/src/Models/ThemeConfig/Conversion/ExpandTagRendering.ts
@@ -387,8 +387,7 @@ export class ExpandTagRendering extends Conversion<
if (layer === undefined) {
const candidates = Utils.sortedByLevenshteinDistance(
layerName,
- Utils.NoNull(Array.from(state.sharedLayers.keys())),
- (s) => s
+ Utils.NoNull(Array.from(state.sharedLayers.keys()))
)
if (candidates.length === 0) {
ctx.err(
@@ -419,7 +418,7 @@ export class ExpandTagRendering extends Conversion<
)
}
- candidates = Utils.sortedByLevenshteinDistance(name, candidates, (i) => i)
+ candidates = Utils.sortedByLevenshteinDistance(name, candidates)
ctx.err(
"The tagRendering with identifier " +
name +
diff --git a/src/Models/ThemeConfig/Conversion/PrepareTheme.ts b/src/Models/ThemeConfig/Conversion/PrepareTheme.ts
index e156b5f9b..bbf154fc9 100644
--- a/src/Models/ThemeConfig/Conversion/PrepareTheme.ts
+++ b/src/Models/ThemeConfig/Conversion/PrepareTheme.ts
@@ -71,7 +71,8 @@ class SubstituteLayer extends Conversion {
)
const available = new Set(knownIds)
if (!isCategory && !available.has(backgroundId)) {
- const nearby = Utils.sortedByLevenshteinDistance(backgroundId, knownIds, (t) => t)
+ const nearby = Utils.sortedByLevenshteinDistance(backgroundId, knownIds)
context
.enter("defaultBackgroundId")
.err(
diff --git a/src/Models/ThemeConfig/FilterConfig.ts b/src/Models/ThemeConfig/FilterConfig.ts
index 62eaa9453..ad6088bf7 100644
--- a/src/Models/ThemeConfig/FilterConfig.ts
+++ b/src/Models/ThemeConfig/FilterConfig.ts
@@ -65,8 +65,7 @@ export default class FilterConfig {
if (Validators.availableTypes.indexOf(type) < 0) {
throw `Invalid filter: type is not a valid validator. Did you mean one of ${Utils.sortedByLevenshteinDistance(
type,
- >Validators.availableTypes,
- (x) => x
+ >Validators.availableTypes
).slice(0, 3)}`
}
// Type is validated against 'ValidatedTextField' in Validation.ts, in ValidateFilterConfig
diff --git a/src/Models/ThemeConfig/TagRenderingConfig.ts b/src/Models/ThemeConfig/TagRenderingConfig.ts
index 3387c4426..75ae17a90 100644
--- a/src/Models/ThemeConfig/TagRenderingConfig.ts
+++ b/src/Models/ThemeConfig/TagRenderingConfig.ts
@@ -212,8 +212,7 @@ export default class TagRenderingConfig {
json.freeform.type
}, perhaps you meant ${Utils.sortedByLevenshteinDistance(
json.freeform.key,
- Validators.availableTypes,
- (s) => s
+ Validators.availableTypes
)}. See https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/SpecialInputElements.md for more information`
}
const type: ValidatorType = json.freeform.type ?? "string"
diff --git a/src/UI/InputElement/ValidatedInput.svelte b/src/UI/InputElement/ValidatedInput.svelte
index 1c9ccd4f8..a91cde102 100644
--- a/src/UI/InputElement/ValidatedInput.svelte
+++ b/src/UI/InputElement/ValidatedInput.svelte
@@ -166,8 +166,7 @@
"'; did you perhaps mean one of: " +
Utils.sortedByLevenshteinDistance(
type,
- Validators.AllValidators.map((v) => v.name),
- (v) => v
+ Validators.AllValidators.map((v) => v.name)
)
.slice(0, 5)
.join(", ")
diff --git a/src/UI/InputElement/Validators/DistanceValidator.ts b/src/UI/InputElement/Validators/DistanceValidator.ts
index ddf7c10f9..b51130159 100644
--- a/src/UI/InputElement/Validators/DistanceValidator.ts
+++ b/src/UI/InputElement/Validators/DistanceValidator.ts
@@ -47,7 +47,7 @@ export default class DistanceValidator extends Validator {
if (bg && eliCategory.indexOf(bg) < 0) {
return (
"The given background layer is not a recognized ELI-type. Perhaps you meant one of " +
- Utils.sortedByLevenshteinDistance(bg, eliCategory, (x) => x).slice(0, 5)
+ Utils.sortedByLevenshteinDistance(bg, eliCategory).slice(0, 5)
)
}
if (typeof args["zoom"] !== "number") {
diff --git a/src/UI/SpecialVisualisations/SettingsVisualisations.ts b/src/UI/SpecialVisualisations/SettingsVisualisations.ts
index b74264289..a6f2c7af0 100644
--- a/src/UI/SpecialVisualisations/SettingsVisualisations.ts
+++ b/src/UI/SpecialVisualisations/SettingsVisualisations.ts
@@ -198,7 +198,7 @@ class QrLogin extends SpecialVisualizationSvelte {
class Logout extends SpecialVisualizationSvelte {
funcName = "logout"
args = []
- needsUrls = [Constants.osmAuthConfig.url]
+ needsUrls = [Constants.osmAuthConfig]
docs = "Shows a button where the user can log out"
group = "settings"
diff --git a/src/Utils.ts b/src/Utils.ts
index d65a7e6fd..bfe46f1f7 100644
--- a/src/Utils.ts
+++ b/src/Utils.ts
@@ -1259,11 +1259,21 @@ In the case that MapComplete is pointed to the testing grounds, the edit will be
}
}
+ public static sortedByLevenshteinDistance(
+ reference: string,
+ ts: ReadonlyArray
+ ): string[]
public static sortedByLevenshteinDistance(
reference: string,
ts: ReadonlyArray,
getName: (t: T) => string
+ ): string[]
+ public static sortedByLevenshteinDistance(
+ reference: string,
+ ts: ReadonlyArray,
+ getName?: (t: T) => string
): T[] {
+ getName ??= (str) => str;
const withDistance: [T, number][] = ts.map((t) => [
t,
Utils.levenshteinDistance(getName(t), reference),
From 5f932c80a3a04a649c6e697c4d829d1a4c7bf0e6 Mon Sep 17 00:00:00 2001
From: Pieter Vander Vennet
Date: Thu, 3 Jul 2025 17:51:24 +0200
Subject: [PATCH 024/171] Themes(sauna): add sauna question to sports centre
---
.../layers/sports_centre/sports_centre.json | 3 ++-
assets/themes/sauna/sauna.json | 26 +++++++++++++++++++
.../ThemeConfig/Conversion/PrepareTheme.ts | 6 ++++-
3 files changed, 33 insertions(+), 2 deletions(-)
diff --git a/assets/layers/sports_centre/sports_centre.json b/assets/layers/sports_centre/sports_centre.json
index 6d59fc0ec..795ec5d5e 100644
--- a/assets/layers/sports_centre/sports_centre.json
+++ b/assets/layers/sports_centre/sports_centre.json
@@ -1446,7 +1446,8 @@
"it": "Quali sport si praticano in questa struttura?",
"cs": "Jaké sporty se provozují na tomto sportovišti?"
}
- }
+ },
+ "sauna_at_leisure.sauna_grouped"
],
"filter": [
"open_now"
diff --git a/assets/themes/sauna/sauna.json b/assets/themes/sauna/sauna.json
index eb66bb7b5..0f45cb7ee 100644
--- a/assets/themes/sauna/sauna.json
+++ b/assets/themes/sauna/sauna.json
@@ -37,6 +37,32 @@
}
}
},
+ {
+ "builtin": "sports_centre",
+ "override": {
+ "minzoom": 8,
+ "id": "sports_centre_with_sauna",
+ "presets=": [],
+ "filter=":[],
+ "source": {
+ "osmTags": {
+ "and+": [
+ "sauna=yes"
+ ]
+ }
+ }
+ }
+ },
+ {
+ "builtin": "sports_centre",
+ "override": {
+ "name": null,
+ "minzoom": 18,
+ "filter": {
+ "sameAs": "sports_centre_with_sauna"
+ }
+ }
+ },
{
"builtin": "shops",
"override": {
diff --git a/src/Models/ThemeConfig/Conversion/PrepareTheme.ts b/src/Models/ThemeConfig/Conversion/PrepareTheme.ts
index e156b5f9b..5a17a7684 100644
--- a/src/Models/ThemeConfig/Conversion/PrepareTheme.ts
+++ b/src/Models/ThemeConfig/Conversion/PrepareTheme.ts
@@ -505,7 +505,11 @@ class WarnForUnsubstitutedLayersInTheme extends DesugaringStep
if (layer["builtin"] !== undefined) {
continue
}
- if (layer["source"]["geojson"] !== undefined) {
+ if(layer["override"]!==undefined){
+ context.err("Got an `override` block without a `builtin`-specification")
+ continue
+ }
+ if (layer["source"]?.["geojson"] !== undefined) {
// We turn a blind eye for import layers
continue
}
From 8cb747069bfe817db4550092d7e61c73617e270b Mon Sep 17 00:00:00 2001
From: Pieter Vander Vennet
Date: Fri, 4 Jul 2025 18:09:19 +0200
Subject: [PATCH 025/171] Experimental: trim down 'generateBuildDbScript' to
only fetch AED
---
scripts/osm2pgsql/generateBuildDbScript.ts | 3 +++
1 file changed, 3 insertions(+)
diff --git a/scripts/osm2pgsql/generateBuildDbScript.ts b/scripts/osm2pgsql/generateBuildDbScript.ts
index 82d3255bc..21555fd81 100644
--- a/scripts/osm2pgsql/generateBuildDbScript.ts
+++ b/scripts/osm2pgsql/generateBuildDbScript.ts
@@ -192,6 +192,9 @@ class GenerateBuildDbScript extends Script {
const allLayers = new ValidateThemeEnsemble().convertStrict(
AllKnownLayouts.allKnownLayouts.values()
)
+ const aed = allLayers.get("defibrillator")
+ allLayers.clear()
+ allLayers.set("defibrillator", aed)
if (allLayers.size === 0) {
throw "No layers found at all"
}
From 86fcf8e63896bc96347c60f538e1d67805754467 Mon Sep 17 00:00:00 2001
From: Pieter Vander Vennet
Date: Fri, 4 Jul 2025 18:31:44 +0200
Subject: [PATCH 026/171] Fix: use old mapcomplete-changes
---
assets/themes/mapcomplete-changes/mapcomplete-changes.json | 4 ----
1 file changed, 4 deletions(-)
diff --git a/assets/themes/mapcomplete-changes/mapcomplete-changes.json b/assets/themes/mapcomplete-changes/mapcomplete-changes.json
index c3608b448..7772c9691 100644
--- a/assets/themes/mapcomplete-changes/mapcomplete-changes.json
+++ b/assets/themes/mapcomplete-changes/mapcomplete-changes.json
@@ -565,10 +565,6 @@
"if": "theme=rainbow_crossings",
"then": "./assets/themes/rainbow_crossings/logo.svg"
},
- {
- "if": "theme=sauna",
- "then": "./assets/layers/sauna/sauna.svg"
- },
{
"if": "theme=scouting",
"then": "./assets/layers/scouting_group/scouting.svg"
From 4627f77c4f42313a217d8fa071ed1863d4cab51b Mon Sep 17 00:00:00 2001
From: Pieter Vander Vennet
Date: Fri, 4 Jul 2025 21:06:02 +0200
Subject: [PATCH 027/171] Types: add types to And and Or
---
src/Logic/Tags/And.ts | 10 +++++-----
src/Logic/Tags/Or.ts | 6 +++---
2 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/src/Logic/Tags/And.ts b/src/Logic/Tags/And.ts
index e59e0095d..0c47c89ad 100644
--- a/src/Logic/Tags/And.ts
+++ b/src/Logic/Tags/And.ts
@@ -8,10 +8,10 @@ import { ExpressionSpecification } from "maplibre-gl"
import ComparingTag from "./ComparingTag"
import { FlatTag, OptimizedTag, TagsFilterClosed, TagTypes } from "./TagTypes"
-export class And extends TagsFilter {
- public and: ReadonlyArray
+export class And extends TagsFilter {
+ public and: ReadonlyArray
- constructor(and: ReadonlyArray) {
+ constructor(and: ReadonlyArray) {
super()
this.and = and
if (and.some((p) => typeof p === "string")) {
@@ -24,7 +24,7 @@ export class And extends TagsFilter {
}
}
- public static construct(and: ReadonlyArray): TagsFilter
+ public static construct(and: ReadonlyArray): T
public static construct(
and: ReadonlyArray
): TagsFilterClosed & OptimizedTag
@@ -503,7 +503,7 @@ export class And extends TagsFilter {
TagUtils.sortFilters(newAnds, true)
- return And.construct(newAnds)
+ return And.construct(newAnds)
}
isNegative(): boolean {
diff --git a/src/Logic/Tags/Or.ts b/src/Logic/Tags/Or.ts
index 1d967b8cd..cdd1ba0fc 100644
--- a/src/Logic/Tags/Or.ts
+++ b/src/Logic/Tags/Or.ts
@@ -9,10 +9,10 @@ import SubstitutingTag from "./SubstitutingTag"
import ComparingTag from "./ComparingTag"
import { FlatTag, OptimizedTag, TagsFilterClosed, TagTypes } from "./TagTypes"
-export class Or extends TagsFilter {
- public or: ReadonlyArray
+export class Or extends TagsFilter {
+ public or: ReadonlyArray
- constructor(or: ReadonlyArray) {
+ constructor(or: ReadonlyArray) {
super()
this.or = or
}
From b365f6e602c5eb29e4efbd3f46f8a6faf89bbc33 Mon Sep 17 00:00:00 2001
From: Pieter Vander Vennet
Date: Fri, 4 Jul 2025 21:06:27 +0200
Subject: [PATCH 028/171] Scripts: add counts to 'generateBuildDbScript'; add
cutoff
---
scripts/osm2pgsql/generateBuildDbScript.ts | 30 ++++++++---
src/Logic/Web/TagInfo.ts | 59 +++++++++++++++++++++-
2 files changed, 81 insertions(+), 8 deletions(-)
diff --git a/scripts/osm2pgsql/generateBuildDbScript.ts b/scripts/osm2pgsql/generateBuildDbScript.ts
index 21555fd81..9c44a39c4 100644
--- a/scripts/osm2pgsql/generateBuildDbScript.ts
+++ b/scripts/osm2pgsql/generateBuildDbScript.ts
@@ -8,6 +8,7 @@ import { RegexTag } from "../../src/Logic/Tags/RegexTag"
import { ValidateThemeEnsemble } from "../../src/Models/ThemeConfig/Conversion/Validation"
import { AllKnownLayouts } from "../../src/Customizations/AllKnownLayouts"
import { OsmObject } from "../../src/Logic/Osm/OsmObject"
+import TagInfo from "../../src/Logic/Web/TagInfo"
class LuaSnippets {
public static helpers = [
@@ -192,24 +193,35 @@ class GenerateBuildDbScript extends Script {
const allLayers = new ValidateThemeEnsemble().convertStrict(
AllKnownLayouts.allKnownLayouts.values()
)
- const aed = allLayers.get("defibrillator")
- allLayers.clear()
- allLayers.set("defibrillator", aed)
+ // const aed = allLayers.get("defibrillator")
+ // allLayers.clear()
+ // allLayers.set("defibrillator", aed)
if (allLayers.size === 0) {
throw "No layers found at all"
}
+ const notCountedCutoff = 100*1000*1000
const notCounted: string[] = []
const allNeededLayers: Map = new Map<
string,
{ tags: TagsFilter; foundInTheme: string[] }
>()
+ const tagInfo = new TagInfo()
+ const layerTotals = new Map();
for (const key of allLayers.keys()) {
const layer = allLayers.get(key)
- if (layer.isCounted) {
- allNeededLayers.set(key, layer)
- } else {
+ if (!layer.isCounted) {
notCounted.push(key)
+ continue
}
+ let total = await tagInfo.getCountEstimateFor(layer.tags)
+ console.log("Keys " + layer.tags.asHumanString() + " might have up to " + total + " items")
+ layerTotals.set(key, total)
+ if (total > notCountedCutoff) {
+ notCounted.push(key)
+ console.log("NOT indexing layer " + key + " as it exceeds the cutoff of", notCountedCutoff)
+ continue
+ }
+ allNeededLayers.set(key, layer)
}
const generators: GenerateLayerLua[] = []
@@ -228,7 +240,7 @@ class GenerateBuildDbScript extends Script {
fs.writeFileSync(path, script, "utf-8")
console.log("Written", path)
console.log(
- "Following layers are _not_ indexed as they are not counted:",
+ "Following layers are _not_ indexed as they are marked to be not indexed or exceeded the count limit:",
notCounted.join(", ")
)
console.log(
@@ -236,6 +248,10 @@ class GenerateBuildDbScript extends Script {
" layers will be created with 3 tables each. Make sure to set 'max_connections' to at least " +
(10 + 3 * allNeededLayers.size)
)
+ console.log("Layer totals (including non-indexed):")
+ for (const key of layerTotals.keys()) {
+ console.log(key,",\t",layerTotals.get(key), ",\t", allLayers.get(key).isCounted)
+ }
}
private earlyAbort() {
diff --git a/src/Logic/Web/TagInfo.ts b/src/Logic/Web/TagInfo.ts
index 2587ed1dc..78a1ad27e 100644
--- a/src/Logic/Web/TagInfo.ts
+++ b/src/Logic/Web/TagInfo.ts
@@ -1,6 +1,7 @@
import { Utils } from "../../Utils"
import type { FeatureCollection } from "geojson"
-import ScriptUtils from "../../../scripts/ScriptUtils"
+import { Tag } from "../Tags/Tag"
+import { TagsFilter } from "../Tags/TagsFilter"
export interface TagInfoStats {
/**
@@ -36,6 +37,62 @@ export default class TagInfo {
this._backend = backend
}
+ public async getCountEstimateFor(filter: TagsFilter): Promise {
+ if (filter["and"]) {
+ const subtags = filter["and"]
+ let minCount = Infinity
+ for (const subtag of subtags) {
+ const count = await this.getCountEstimateFor(subtag)
+ if(count === undefined){
+ continue
+ }
+ // The objects should meet _all_ requirements, only the smallest group will thus have influence
+ if (count < minCount) {
+ minCount = count
+ }
+ }
+ return minCount
+ }
+
+ if (filter["or"]) {
+ const subtags = filter["or"]
+ let total = 0
+ for (const subtag of subtags) {
+ const count = await this.getCountEstimateFor(subtag)
+ // THe groups might be completely disjoint, we sum
+ if(count === undefined){
+ continue
+ }
+ total += count
+ }
+ return total
+ }
+
+
+ const t = filter
+ if (t.key && t.value) {
+ if (t.isNegative()) {
+ return undefined
+ }
+ if(typeof t.key !== "string"){
+ // This is a regexkey, skip
+ return undefined
+ }
+ let v = undefined
+ if (typeof t.value === "string") {
+ v = t.value
+ }
+ const stats = await this.getStats(t.key, v)
+ return stats.data.find(item => item.type === "all").count
+ }
+ if(t.key && t.value === ""){
+ return undefined
+ }
+ console.log("Invalid filter")
+ throw "Cannot handle " + JSON.stringify(filter.asJson())
+
+ }
+
public async getStats(key: string, value?: string): Promise {
let url: string
if (value) {
From bd167292257a47dd5bd4763b0fdf645f3b79b924 Mon Sep 17 00:00:00 2001
From: Pieter Vander Vennet
Date: Fri, 4 Jul 2025 21:20:16 +0200
Subject: [PATCH 029/171] chore: automated housekeeping...
---
Docs/BuiltinIndex.md | 7 +-
Docs/BuiltinQuestions.md | 22 +-
Docs/Layers/campsite.md | 536 +++++-
Docs/Layers/group_campsite.md | 536 +++++-
Docs/Layers/group_hostel.md | 540 +++++-
Docs/Layers/hostel.md | 540 +++++-
Docs/Layers/toilet.md | 7 +
Docs/Layers/tourism_accomodation.md | 540 +++++-
Docs/TagInfo/mapcomplete_hotels.json | 1094 ++++++++++-
Docs/TagInfo/mapcomplete_onwheels.json | 228 +--
Docs/TagInfo/mapcomplete_scouting.json | 1094 ++++++++++-
Docs/Themes/hotels.md | 1 +
Docs/Themes/personal.md | 4 +-
Docs/Themes/scouting.md | 1614 ++++++++++++++++-
.../charging_station/charging_station.json | 278 +--
assets/layers/firepit/firepit.json | 21 +-
assets/layers/grave/grave.json | 3 +-
.../historic_aircraft/historic_aircraft.json | 3 +-
assets/layers/memorial/memorial.json | 51 +-
assets/layers/nsi_brand/nsi_brand.json | 2 +-
assets/layers/nsi_operator/nsi_operator.json | 2 +-
assets/layers/shelter/shelter.json | 3 +-
.../layers/tactile_model/tactile_model.json | 14 +-
assets/layers/toilet/toilet.json | 6 +-
.../mapcomplete-changes.json | 25 +-
langs/cs.json | 14 +-
langs/da.json | 270 +--
langs/ja.json | 6 +-
langs/layers/da.json | 106 +-
langs/layers/nl.json | 42 +-
langs/layers/uk.json | 52 +-
package.json | 2 +-
src/Logic/Web/MangroveReviews.ts | 13 +-
src/assets/contributors.json | 2 +-
src/assets/schemas/layerconfigmeta.json | 16 +-
src/assets/schemas/layoutconfigmeta.json | 48 +-
src/assets/translators.json | 16 +-
37 files changed, 7104 insertions(+), 654 deletions(-)
diff --git a/Docs/BuiltinIndex.md b/Docs/BuiltinIndex.md
index 12f18e033..f5a51705c 100644
--- a/Docs/BuiltinIndex.md
+++ b/Docs/BuiltinIndex.md
@@ -543,21 +543,18 @@
### toilet_at_amenity_lib.all
- cafe_pub
+ - campsite
- doctors
- food
- ice_cream
- pharmacy
- shops
+ - tourism_accomodation
### caravansites.caravansites-toilets
- campsite
- ### toilet_at_amenity.toilets-wheelchair
-
- - campsite
- - tourism_accomodation
-
### questions
- campsite
diff --git a/Docs/BuiltinQuestions.md b/Docs/BuiltinQuestions.md
index d13878221..6138d544f 100644
--- a/Docs/BuiltinQuestions.md
+++ b/Docs/BuiltinQuestions.md
@@ -200,7 +200,7 @@ _This tagrendering has no question and is thus read-only_
*{image_carousel()}{image_upload()}*
-This tagRendering is used in 129 layers: [advertising](./Layers/advertising.md) [aerialway](./Layers/aerialway.md) [all_streets](./Layers/all_streets.md) [ambulancestation](./Layers/ambulancestation.md) [animal_shelter](./Layers/animal_shelter.md) [assembly_point](./Layers/assembly_point.md) [assisted_repair](./Layers/assisted_repair.md) [atm](./Layers/atm.md) [bank](./Layers/bank.md) [barrier](./Layers/barrier.md) [bbq](./Layers/bbq.md) [beehive](./Layers/beehive.md) [bench_at_pt](./Layers/bench_at_pt.md) [bicycle_counter](./Layers/bicycle_counter.md) [bicycle_library](./Layers/bicycle_library.md) [bicycle_rental](./Layers/bicycle_rental.md) [bike_cafe](./Layers/bike_cafe.md) [bike_cleaning](./Layers/bike_cleaning.md) [bike_parking](./Layers/bike_parking.md) [bike_repair_station](./Layers/bike_repair_station.md) [bike_themed_object](./Layers/bike_themed_object.md) [binocular](./Layers/binocular.md) [birdhide](./Layers/birdhide.md) [brothel](./Layers/brothel.md) [car_rental](./Layers/car_rental.md) [caravansites](./Layers/caravansites.md) [charging_station](./Layers/charging_station.md) [cinema](./Layers/cinema.md) [climbing_route](./Layers/climbing_route.md) [clock](./Layers/clock.md) [crossings](./Layers/crossings.md) [cyclestreets](./Layers/cyclestreets.md) [cyclist_waiting_aid](./Layers/cyclist_waiting_aid.md) [defibrillator](./Layers/defibrillator.md) [disaster_response](./Layers/disaster_response.md) [dog_toilet](./Layers/dog_toilet.md) [dogpark](./Layers/dogpark.md) [dumpstations](./Layers/dumpstations.md) [elevator](./Layers/elevator.md) [elongated_coin](./Layers/elongated_coin.md) [entrance](./Layers/entrance.md) [extinguisher](./Layers/extinguisher.md) [fire_station](./Layers/fire_station.md) [firepit](./Layers/firepit.md) [fitness_centre](./Layers/fitness_centre.md) [fitness_station](./Layers/fitness_station.md) [food_courts](./Layers/food_courts.md) [governments](./Layers/governments.md) [grave](./Layers/grave.md) [guidepost](./Layers/guidepost.md) [hackerspace](./Layers/hackerspace.md) [hydrant](./Layers/hydrant.md) [information_board](./Layers/information_board.md) [insect_hotel](./Layers/insect_hotel.md) [item_with_image](./Layers/item_with_image.md) [kerbs](./Layers/kerbs.md) [lighthouse](./Layers/lighthouse.md) [love_hotel](./Layers/love_hotel.md) [map](./Layers/map.md) [mobility_hub](./Layers/mobility_hub.md) [mountain_rescue](./Layers/mountain_rescue.md) [nature_reserve](./Layers/nature_reserve.md) [observation_tower](./Layers/observation_tower.md) [outdoor_seating](./Layers/outdoor_seating.md) [parcel_lockers](./Layers/parcel_lockers.md) [parking](./Layers/parking.md) [parking_spaces](./Layers/parking_spaces.md) [parking_ticket_machine](./Layers/parking_ticket_machine.md) [picnic_table](./Layers/picnic_table.md) [play_forest](./Layers/play_forest.md) [playground](./Layers/playground.md) [playground_equipment](./Layers/playground_equipment.md) [police](./Layers/police.md) [postboxes](./Layers/postboxes.md) [postoffices](./Layers/postoffices.md) [public_bookcase](./Layers/public_bookcase.md) [rainbow_crossings](./Layers/rainbow_crossings.md) [reception_desk](./Layers/reception_desk.md) [recycling](./Layers/recycling.md) [route_marker](./Layers/route_marker.md) [shelter](./Layers/shelter.md) [ski_piste](./Layers/ski_piste.md) [slow_roads](./Layers/slow_roads.md) [souvenir_note](./Layers/souvenir_note.md) [speed_camera](./Layers/speed_camera.md) [sport_pitch](./Layers/sport_pitch.md) [sports_centre](./Layers/sports_centre.md) [stairs](./Layers/stairs.md) [street_lamps](./Layers/street_lamps.md) [stripclub](./Layers/stripclub.md) [surveillance_camera](./Layers/surveillance_camera.md) [tactile_map](./Layers/tactile_map.md) [tactile_model](./Layers/tactile_model.md) [ticket_machine](./Layers/ticket_machine.md) [ticket_validator](./Layers/ticket_validator.md) [tool_library](./Layers/tool_library.md) [trail](./Layers/trail.md) [transit_stops](./Layers/transit_stops.md) [vending_machine](./Layers/vending_machine.md) [viewpoint](./Layers/viewpoint.md) [village_green](./Layers/village_green.md) [waste_basket](./Layers/waste_basket.md) [waste_disposal](./Layers/waste_disposal.md) [windpump](./Layers/windpump.md) [windturbine](./Layers/windturbine.md) [charge_point](./Layers/charge_point.md) [climbing_area](./Layers/climbing_area.md) [climbing_gym](./Layers/climbing_gym.md) [cycleways_and_roads](./Layers/cycleways_and_roads.md) [dentist](./Layers/dentist.md) [ghostsign](./Layers/ghostsign.md) [physiotherapist](./Layers/physiotherapist.md) [school](./Layers/school.md) [shower](./Layers/shower.md) [souvenir_coin](./Layers/souvenir_coin.md) [toilet](./Layers/toilet.md) [indoors](./Layers/indoors.md) [campsite](./Layers/campsite.md) [tourism_accomodation](./Layers/tourism_accomodation.md) [cafe_pub](./Layers/cafe_pub.md) [doctors](./Layers/doctors.md) [food](./Layers/food.md) [ice_cream](./Layers/ice_cream.md) [pharmacy](./Layers/pharmacy.md) [shops](./Layers/shops.md) [bench](./Layers/bench.md) [historic_rolling_stock](./Layers/historic_rolling_stock.md) [historic_aircraft](./Layers/historic_aircraft.md) [drinking_water](./Layers/drinking_water.md)
+This tagRendering is used in 129 layers: [advertising](./Layers/advertising.md) [aerialway](./Layers/aerialway.md) [all_streets](./Layers/all_streets.md) [ambulancestation](./Layers/ambulancestation.md) [animal_shelter](./Layers/animal_shelter.md) [assembly_point](./Layers/assembly_point.md) [assisted_repair](./Layers/assisted_repair.md) [atm](./Layers/atm.md) [bank](./Layers/bank.md) [barrier](./Layers/barrier.md) [bbq](./Layers/bbq.md) [beehive](./Layers/beehive.md) [bench_at_pt](./Layers/bench_at_pt.md) [bicycle_counter](./Layers/bicycle_counter.md) [bicycle_library](./Layers/bicycle_library.md) [bicycle_rental](./Layers/bicycle_rental.md) [bike_cafe](./Layers/bike_cafe.md) [bike_cleaning](./Layers/bike_cleaning.md) [bike_parking](./Layers/bike_parking.md) [bike_repair_station](./Layers/bike_repair_station.md) [bike_themed_object](./Layers/bike_themed_object.md) [binocular](./Layers/binocular.md) [birdhide](./Layers/birdhide.md) [brothel](./Layers/brothel.md) [car_rental](./Layers/car_rental.md) [caravansites](./Layers/caravansites.md) [charging_station](./Layers/charging_station.md) [cinema](./Layers/cinema.md) [climbing_route](./Layers/climbing_route.md) [clock](./Layers/clock.md) [crossings](./Layers/crossings.md) [cyclestreets](./Layers/cyclestreets.md) [cyclist_waiting_aid](./Layers/cyclist_waiting_aid.md) [defibrillator](./Layers/defibrillator.md) [disaster_response](./Layers/disaster_response.md) [dog_toilet](./Layers/dog_toilet.md) [dogpark](./Layers/dogpark.md) [dumpstations](./Layers/dumpstations.md) [elevator](./Layers/elevator.md) [elongated_coin](./Layers/elongated_coin.md) [entrance](./Layers/entrance.md) [extinguisher](./Layers/extinguisher.md) [fire_station](./Layers/fire_station.md) [firepit](./Layers/firepit.md) [fitness_centre](./Layers/fitness_centre.md) [fitness_station](./Layers/fitness_station.md) [food_courts](./Layers/food_courts.md) [governments](./Layers/governments.md) [grave](./Layers/grave.md) [guidepost](./Layers/guidepost.md) [hackerspace](./Layers/hackerspace.md) [hydrant](./Layers/hydrant.md) [information_board](./Layers/information_board.md) [insect_hotel](./Layers/insect_hotel.md) [item_with_image](./Layers/item_with_image.md) [kerbs](./Layers/kerbs.md) [lighthouse](./Layers/lighthouse.md) [love_hotel](./Layers/love_hotel.md) [map](./Layers/map.md) [mobility_hub](./Layers/mobility_hub.md) [mountain_rescue](./Layers/mountain_rescue.md) [nature_reserve](./Layers/nature_reserve.md) [observation_tower](./Layers/observation_tower.md) [outdoor_seating](./Layers/outdoor_seating.md) [parcel_lockers](./Layers/parcel_lockers.md) [parking](./Layers/parking.md) [parking_spaces](./Layers/parking_spaces.md) [parking_ticket_machine](./Layers/parking_ticket_machine.md) [picnic_table](./Layers/picnic_table.md) [play_forest](./Layers/play_forest.md) [playground](./Layers/playground.md) [playground_equipment](./Layers/playground_equipment.md) [police](./Layers/police.md) [postboxes](./Layers/postboxes.md) [postoffices](./Layers/postoffices.md) [public_bookcase](./Layers/public_bookcase.md) [rainbow_crossings](./Layers/rainbow_crossings.md) [reception_desk](./Layers/reception_desk.md) [recycling](./Layers/recycling.md) [route_marker](./Layers/route_marker.md) [shelter](./Layers/shelter.md) [ski_piste](./Layers/ski_piste.md) [slow_roads](./Layers/slow_roads.md) [souvenir_note](./Layers/souvenir_note.md) [speed_camera](./Layers/speed_camera.md) [sport_pitch](./Layers/sport_pitch.md) [sports_centre](./Layers/sports_centre.md) [stairs](./Layers/stairs.md) [street_lamps](./Layers/street_lamps.md) [stripclub](./Layers/stripclub.md) [surveillance_camera](./Layers/surveillance_camera.md) [tactile_map](./Layers/tactile_map.md) [tactile_model](./Layers/tactile_model.md) [ticket_machine](./Layers/ticket_machine.md) [ticket_validator](./Layers/ticket_validator.md) [tool_library](./Layers/tool_library.md) [trail](./Layers/trail.md) [transit_stops](./Layers/transit_stops.md) [vending_machine](./Layers/vending_machine.md) [viewpoint](./Layers/viewpoint.md) [village_green](./Layers/village_green.md) [waste_basket](./Layers/waste_basket.md) [waste_disposal](./Layers/waste_disposal.md) [windpump](./Layers/windpump.md) [windturbine](./Layers/windturbine.md) [charge_point](./Layers/charge_point.md) [climbing_area](./Layers/climbing_area.md) [climbing_gym](./Layers/climbing_gym.md) [cycleways_and_roads](./Layers/cycleways_and_roads.md) [dentist](./Layers/dentist.md) [ghostsign](./Layers/ghostsign.md) [physiotherapist](./Layers/physiotherapist.md) [school](./Layers/school.md) [shower](./Layers/shower.md) [souvenir_coin](./Layers/souvenir_coin.md) [toilet](./Layers/toilet.md) [indoors](./Layers/indoors.md) [cafe_pub](./Layers/cafe_pub.md) [campsite](./Layers/campsite.md) [doctors](./Layers/doctors.md) [food](./Layers/food.md) [ice_cream](./Layers/ice_cream.md) [pharmacy](./Layers/pharmacy.md) [shops](./Layers/shops.md) [tourism_accomodation](./Layers/tourism_accomodation.md) [bench](./Layers/bench.md) [historic_rolling_stock](./Layers/historic_rolling_stock.md) [historic_aircraft](./Layers/historic_aircraft.md) [drinking_water](./Layers/drinking_water.md)
### images_no_blur
Same as `images`, but uploaded request to disable blurring to the panoramax server
@@ -249,7 +249,7 @@ _This tagrendering has no question and is thus read-only_
*{create_review()}{list_reviews()}*
-This tagRendering is used in 21 layers: [animal_shelter](./Layers/animal_shelter.md) [brothel](./Layers/brothel.md) [caravansites](./Layers/caravansites.md) [cinema](./Layers/cinema.md) [dogpark](./Layers/dogpark.md) [fitness_centre](./Layers/fitness_centre.md) [food_courts](./Layers/food_courts.md) [hackerspace](./Layers/hackerspace.md) [love_hotel](./Layers/love_hotel.md) [playground](./Layers/playground.md) [police](./Layers/police.md) [stripclub](./Layers/stripclub.md) [veterinary](./Layers/veterinary.md) [climbing_area](./Layers/climbing_area.md) [climbing_gym](./Layers/climbing_gym.md) [tourism_accomodation](./Layers/tourism_accomodation.md) [cafe_pub](./Layers/cafe_pub.md) [food](./Layers/food.md) [ice_cream](./Layers/ice_cream.md) [pharmacy](./Layers/pharmacy.md) [shops](./Layers/shops.md)
+This tagRendering is used in 21 layers: [animal_shelter](./Layers/animal_shelter.md) [brothel](./Layers/brothel.md) [caravansites](./Layers/caravansites.md) [cinema](./Layers/cinema.md) [dogpark](./Layers/dogpark.md) [fitness_centre](./Layers/fitness_centre.md) [food_courts](./Layers/food_courts.md) [hackerspace](./Layers/hackerspace.md) [love_hotel](./Layers/love_hotel.md) [playground](./Layers/playground.md) [police](./Layers/police.md) [stripclub](./Layers/stripclub.md) [veterinary](./Layers/veterinary.md) [climbing_area](./Layers/climbing_area.md) [climbing_gym](./Layers/climbing_gym.md) [cafe_pub](./Layers/cafe_pub.md) [food](./Layers/food.md) [ice_cream](./Layers/ice_cream.md) [pharmacy](./Layers/pharmacy.md) [shops](./Layers/shops.md) [tourism_accomodation](./Layers/tourism_accomodation.md)
### phone
The question is `What is the phone number of {title()}?`
@@ -260,7 +260,7 @@ The question is `What is the phone number of {title()}?`
This tagrendering has labels `contact`
-This tagRendering is used in 40 layers: [animal_shelter](./Layers/animal_shelter.md) [assisted_repair](./Layers/assisted_repair.md) [bicycle_library](./Layers/bicycle_library.md) [bicycle_rental](./Layers/bicycle_rental.md) [bike_cafe](./Layers/bike_cafe.md) [bike_themed_object](./Layers/bike_themed_object.md) [brothel](./Layers/brothel.md) [car_rental](./Layers/car_rental.md) [childcare](./Layers/childcare.md) [cinema](./Layers/cinema.md) [climbing_club](./Layers/climbing_club.md) [fitness_centre](./Layers/fitness_centre.md) [food_courts](./Layers/food_courts.md) [governments](./Layers/governments.md) [hackerspace](./Layers/hackerspace.md) [love_hotel](./Layers/love_hotel.md) [police](./Layers/police.md) [postoffices](./Layers/postoffices.md) [recycling](./Layers/recycling.md) [scouting_group](./Layers/scouting_group.md) [sports_centre](./Layers/sports_centre.md) [stripclub](./Layers/stripclub.md) [tool_library](./Layers/tool_library.md) [vending_machine](./Layers/vending_machine.md) [veterinary](./Layers/veterinary.md) [climbing_gym](./Layers/climbing_gym.md) [dentist](./Layers/dentist.md) [hospital](./Layers/hospital.md) [physiotherapist](./Layers/physiotherapist.md) [school](./Layers/school.md) [toilet](./Layers/toilet.md) [tertiary_education](./Layers/tertiary_education.md) [campsite](./Layers/campsite.md) [tourism_accomodation](./Layers/tourism_accomodation.md) [cafe_pub](./Layers/cafe_pub.md) [doctors](./Layers/doctors.md) [food](./Layers/food.md) [ice_cream](./Layers/ice_cream.md) [pharmacy](./Layers/pharmacy.md) [shops](./Layers/shops.md)
+This tagRendering is used in 40 layers: [animal_shelter](./Layers/animal_shelter.md) [assisted_repair](./Layers/assisted_repair.md) [bicycle_library](./Layers/bicycle_library.md) [bicycle_rental](./Layers/bicycle_rental.md) [bike_cafe](./Layers/bike_cafe.md) [bike_themed_object](./Layers/bike_themed_object.md) [brothel](./Layers/brothel.md) [car_rental](./Layers/car_rental.md) [childcare](./Layers/childcare.md) [cinema](./Layers/cinema.md) [climbing_club](./Layers/climbing_club.md) [fitness_centre](./Layers/fitness_centre.md) [food_courts](./Layers/food_courts.md) [governments](./Layers/governments.md) [hackerspace](./Layers/hackerspace.md) [love_hotel](./Layers/love_hotel.md) [police](./Layers/police.md) [postoffices](./Layers/postoffices.md) [recycling](./Layers/recycling.md) [scouting_group](./Layers/scouting_group.md) [sports_centre](./Layers/sports_centre.md) [stripclub](./Layers/stripclub.md) [tool_library](./Layers/tool_library.md) [vending_machine](./Layers/vending_machine.md) [veterinary](./Layers/veterinary.md) [climbing_gym](./Layers/climbing_gym.md) [dentist](./Layers/dentist.md) [hospital](./Layers/hospital.md) [physiotherapist](./Layers/physiotherapist.md) [school](./Layers/school.md) [toilet](./Layers/toilet.md) [tertiary_education](./Layers/tertiary_education.md) [cafe_pub](./Layers/cafe_pub.md) [campsite](./Layers/campsite.md) [doctors](./Layers/doctors.md) [food](./Layers/food.md) [ice_cream](./Layers/ice_cream.md) [pharmacy](./Layers/pharmacy.md) [shops](./Layers/shops.md) [tourism_accomodation](./Layers/tourism_accomodation.md)
### mastodon
Shows and asks for the mastodon handle
@@ -295,7 +295,7 @@ The question is `What is the email address of {title()}?`
This tagrendering has labels `contact`
-This tagRendering is used in 37 layers: [animal_shelter](./Layers/animal_shelter.md) [assisted_repair](./Layers/assisted_repair.md) [bicycle_library](./Layers/bicycle_library.md) [bicycle_rental](./Layers/bicycle_rental.md) [bike_cafe](./Layers/bike_cafe.md) [bike_themed_object](./Layers/bike_themed_object.md) [brothel](./Layers/brothel.md) [car_rental](./Layers/car_rental.md) [childcare](./Layers/childcare.md) [cinema](./Layers/cinema.md) [climbing_club](./Layers/climbing_club.md) [fitness_centre](./Layers/fitness_centre.md) [governments](./Layers/governments.md) [hackerspace](./Layers/hackerspace.md) [love_hotel](./Layers/love_hotel.md) [police](./Layers/police.md) [postoffices](./Layers/postoffices.md) [recycling](./Layers/recycling.md) [scouting_group](./Layers/scouting_group.md) [sports_centre](./Layers/sports_centre.md) [stripclub](./Layers/stripclub.md) [tool_library](./Layers/tool_library.md) [climbing_gym](./Layers/climbing_gym.md) [dentist](./Layers/dentist.md) [hospital](./Layers/hospital.md) [physiotherapist](./Layers/physiotherapist.md) [school](./Layers/school.md) [toilet](./Layers/toilet.md) [tertiary_education](./Layers/tertiary_education.md) [campsite](./Layers/campsite.md) [tourism_accomodation](./Layers/tourism_accomodation.md) [cafe_pub](./Layers/cafe_pub.md) [doctors](./Layers/doctors.md) [food](./Layers/food.md) [ice_cream](./Layers/ice_cream.md) [pharmacy](./Layers/pharmacy.md) [shops](./Layers/shops.md)
+This tagRendering is used in 37 layers: [animal_shelter](./Layers/animal_shelter.md) [assisted_repair](./Layers/assisted_repair.md) [bicycle_library](./Layers/bicycle_library.md) [bicycle_rental](./Layers/bicycle_rental.md) [bike_cafe](./Layers/bike_cafe.md) [bike_themed_object](./Layers/bike_themed_object.md) [brothel](./Layers/brothel.md) [car_rental](./Layers/car_rental.md) [childcare](./Layers/childcare.md) [cinema](./Layers/cinema.md) [climbing_club](./Layers/climbing_club.md) [fitness_centre](./Layers/fitness_centre.md) [governments](./Layers/governments.md) [hackerspace](./Layers/hackerspace.md) [love_hotel](./Layers/love_hotel.md) [police](./Layers/police.md) [postoffices](./Layers/postoffices.md) [recycling](./Layers/recycling.md) [scouting_group](./Layers/scouting_group.md) [sports_centre](./Layers/sports_centre.md) [stripclub](./Layers/stripclub.md) [tool_library](./Layers/tool_library.md) [climbing_gym](./Layers/climbing_gym.md) [dentist](./Layers/dentist.md) [hospital](./Layers/hospital.md) [physiotherapist](./Layers/physiotherapist.md) [school](./Layers/school.md) [toilet](./Layers/toilet.md) [tertiary_education](./Layers/tertiary_education.md) [cafe_pub](./Layers/cafe_pub.md) [campsite](./Layers/campsite.md) [doctors](./Layers/doctors.md) [food](./Layers/food.md) [ice_cream](./Layers/ice_cream.md) [pharmacy](./Layers/pharmacy.md) [shops](./Layers/shops.md) [tourism_accomodation](./Layers/tourism_accomodation.md)
### website
The question is `What is the website of {title()}?`
@@ -306,7 +306,7 @@ The question is `What is the website of {title()}?`
This tagrendering has labels `contact`
-This tagRendering is used in 52 layers: [animal_shelter](./Layers/animal_shelter.md) [assisted_repair](./Layers/assisted_repair.md) [bicycle_library](./Layers/bicycle_library.md) [bicycle_rental](./Layers/bicycle_rental.md) [bike_cafe](./Layers/bike_cafe.md) [bike_themed_object](./Layers/bike_themed_object.md) [brothel](./Layers/brothel.md) [car_rental](./Layers/car_rental.md) [childcare](./Layers/childcare.md) [cinema](./Layers/cinema.md) [climbing_club](./Layers/climbing_club.md) [cycle_highways](./Layers/cycle_highways.md) [disaster_response](./Layers/disaster_response.md) [dogpark](./Layers/dogpark.md) [elongated_coin](./Layers/elongated_coin.md) [fitness_centre](./Layers/fitness_centre.md) [food_courts](./Layers/food_courts.md) [governments](./Layers/governments.md) [hackerspace](./Layers/hackerspace.md) [love_hotel](./Layers/love_hotel.md) [mobility_hub](./Layers/mobility_hub.md) [nature_reserve](./Layers/nature_reserve.md) [observation_tower](./Layers/observation_tower.md) [outdoor_seating](./Layers/outdoor_seating.md) [playground](./Layers/playground.md) [police](./Layers/police.md) [postoffices](./Layers/postoffices.md) [recycling](./Layers/recycling.md) [scouting_group](./Layers/scouting_group.md) [souvenir_note](./Layers/souvenir_note.md) [sports_centre](./Layers/sports_centre.md) [stripclub](./Layers/stripclub.md) [tactile_map](./Layers/tactile_map.md) [tactile_model](./Layers/tactile_model.md) [tool_library](./Layers/tool_library.md) [vending_machine](./Layers/vending_machine.md) [veterinary](./Layers/veterinary.md) [climbing_gym](./Layers/climbing_gym.md) [dentist](./Layers/dentist.md) [hospital](./Layers/hospital.md) [physiotherapist](./Layers/physiotherapist.md) [school](./Layers/school.md) [souvenir_coin](./Layers/souvenir_coin.md) [tertiary_education](./Layers/tertiary_education.md) [campsite](./Layers/campsite.md) [tourism_accomodation](./Layers/tourism_accomodation.md) [cafe_pub](./Layers/cafe_pub.md) [doctors](./Layers/doctors.md) [food](./Layers/food.md) [ice_cream](./Layers/ice_cream.md) [pharmacy](./Layers/pharmacy.md) [shops](./Layers/shops.md)
+This tagRendering is used in 52 layers: [animal_shelter](./Layers/animal_shelter.md) [assisted_repair](./Layers/assisted_repair.md) [bicycle_library](./Layers/bicycle_library.md) [bicycle_rental](./Layers/bicycle_rental.md) [bike_cafe](./Layers/bike_cafe.md) [bike_themed_object](./Layers/bike_themed_object.md) [brothel](./Layers/brothel.md) [car_rental](./Layers/car_rental.md) [childcare](./Layers/childcare.md) [cinema](./Layers/cinema.md) [climbing_club](./Layers/climbing_club.md) [cycle_highways](./Layers/cycle_highways.md) [disaster_response](./Layers/disaster_response.md) [dogpark](./Layers/dogpark.md) [elongated_coin](./Layers/elongated_coin.md) [fitness_centre](./Layers/fitness_centre.md) [food_courts](./Layers/food_courts.md) [governments](./Layers/governments.md) [hackerspace](./Layers/hackerspace.md) [love_hotel](./Layers/love_hotel.md) [mobility_hub](./Layers/mobility_hub.md) [nature_reserve](./Layers/nature_reserve.md) [observation_tower](./Layers/observation_tower.md) [outdoor_seating](./Layers/outdoor_seating.md) [playground](./Layers/playground.md) [police](./Layers/police.md) [postoffices](./Layers/postoffices.md) [recycling](./Layers/recycling.md) [scouting_group](./Layers/scouting_group.md) [souvenir_note](./Layers/souvenir_note.md) [sports_centre](./Layers/sports_centre.md) [stripclub](./Layers/stripclub.md) [tactile_map](./Layers/tactile_map.md) [tactile_model](./Layers/tactile_model.md) [tool_library](./Layers/tool_library.md) [vending_machine](./Layers/vending_machine.md) [veterinary](./Layers/veterinary.md) [climbing_gym](./Layers/climbing_gym.md) [dentist](./Layers/dentist.md) [hospital](./Layers/hospital.md) [physiotherapist](./Layers/physiotherapist.md) [school](./Layers/school.md) [souvenir_coin](./Layers/souvenir_coin.md) [tertiary_education](./Layers/tertiary_education.md) [cafe_pub](./Layers/cafe_pub.md) [campsite](./Layers/campsite.md) [doctors](./Layers/doctors.md) [food](./Layers/food.md) [ice_cream](./Layers/ice_cream.md) [pharmacy](./Layers/pharmacy.md) [shops](./Layers/shops.md) [tourism_accomodation](./Layers/tourism_accomodation.md)
### wheelchair-access
The question is `Is this place accessible with a wheelchair?`
@@ -316,7 +316,7 @@ The question is `Is this place accessible with a wheelchair?`
- *It is possible to reach this place in a wheelchair, but it is not easy* is shown if with wheelchair=limited
- *This place is not reachable with a wheelchair* is shown if with wheelchair=no
-This tagRendering is used in 13 layers: [defibrillator](./Layers/defibrillator.md) [fitness_centre](./Layers/fitness_centre.md) [food_courts](./Layers/food_courts.md) [hackerspace](./Layers/hackerspace.md) [observation_tower](./Layers/observation_tower.md) [outdoor_seating](./Layers/outdoor_seating.md) [playground_equipment](./Layers/playground_equipment.md) [sports_centre](./Layers/sports_centre.md) [transit_stops](./Layers/transit_stops.md) [tourism_accomodation](./Layers/tourism_accomodation.md) [cafe_pub](./Layers/cafe_pub.md) [food](./Layers/food.md) [ice_cream](./Layers/ice_cream.md)
+This tagRendering is used in 13 layers: [defibrillator](./Layers/defibrillator.md) [fitness_centre](./Layers/fitness_centre.md) [food_courts](./Layers/food_courts.md) [hackerspace](./Layers/hackerspace.md) [observation_tower](./Layers/observation_tower.md) [outdoor_seating](./Layers/outdoor_seating.md) [playground_equipment](./Layers/playground_equipment.md) [sports_centre](./Layers/sports_centre.md) [transit_stops](./Layers/transit_stops.md) [cafe_pub](./Layers/cafe_pub.md) [food](./Layers/food.md) [ice_cream](./Layers/ice_cream.md) [tourism_accomodation](./Layers/tourism_accomodation.md)
### dog-access
The question is `Are dogs allowed in this business?`
@@ -327,7 +327,7 @@ The question is `Are dogs allowed in this business?`
- *Dogs are allowed and can run around freely* is shown if with dog=unleashed
- *Dogs are allowed only outside* is shown if with dog=outside
-This tagRendering is used in 4 layers: [tourism_accomodation](./Layers/tourism_accomodation.md) [cafe_pub](./Layers/cafe_pub.md) [food](./Layers/food.md) [shops](./Layers/shops.md)
+This tagRendering is used in 4 layers: [cafe_pub](./Layers/cafe_pub.md) [food](./Layers/food.md) [shops](./Layers/shops.md) [tourism_accomodation](./Layers/tourism_accomodation.md)
### description
The question is `Is there still some relevant info that the previous questions did not cover? Feel free to add it here.`
@@ -539,7 +539,7 @@ The question is `Does this place offer internet access?`
This tagrendering has labels `internet-all`
-This tagRendering is used in 7 layers: [hackerspace](./Layers/hackerspace.md) [outdoor_seating](./Layers/outdoor_seating.md) [climbing_gym](./Layers/climbing_gym.md) [tourism_accomodation](./Layers/tourism_accomodation.md) [cafe_pub](./Layers/cafe_pub.md) [food](./Layers/food.md) [shops](./Layers/shops.md)
+This tagRendering is used in 7 layers: [hackerspace](./Layers/hackerspace.md) [outdoor_seating](./Layers/outdoor_seating.md) [climbing_gym](./Layers/climbing_gym.md) [cafe_pub](./Layers/cafe_pub.md) [food](./Layers/food.md) [shops](./Layers/shops.md) [tourism_accomodation](./Layers/tourism_accomodation.md)
### internet-fee
The question is `Is there a fee for internet access?`
@@ -551,7 +551,7 @@ The question is `Is there a fee for internet access?`
This tagrendering is only visible in the popup if the following condition is met: internet_access!=no & internet_access~.+
This tagrendering has labels `internet-all`
-This tagRendering is used in 7 layers: [hackerspace](./Layers/hackerspace.md) [outdoor_seating](./Layers/outdoor_seating.md) [climbing_gym](./Layers/climbing_gym.md) [tourism_accomodation](./Layers/tourism_accomodation.md) [cafe_pub](./Layers/cafe_pub.md) [food](./Layers/food.md) [shops](./Layers/shops.md)
+This tagRendering is used in 7 layers: [hackerspace](./Layers/hackerspace.md) [outdoor_seating](./Layers/outdoor_seating.md) [climbing_gym](./Layers/climbing_gym.md) [cafe_pub](./Layers/cafe_pub.md) [food](./Layers/food.md) [shops](./Layers/shops.md) [tourism_accomodation](./Layers/tourism_accomodation.md)
### internet-ssid
The question is `What is the network name for the wireless internet access?`
@@ -563,7 +563,7 @@ The question is `What is the network name for the wireless internet access?`
This tagrendering is only visible in the popup if the following condition is met: internet_access~^(.*wlan.*)$
This tagrendering has labels `internet-all`
-This tagRendering is used in 7 layers: [hackerspace](./Layers/hackerspace.md) [outdoor_seating](./Layers/outdoor_seating.md) [climbing_gym](./Layers/climbing_gym.md) [tourism_accomodation](./Layers/tourism_accomodation.md) [cafe_pub](./Layers/cafe_pub.md) [food](./Layers/food.md) [shops](./Layers/shops.md)
+This tagRendering is used in 7 layers: [hackerspace](./Layers/hackerspace.md) [outdoor_seating](./Layers/outdoor_seating.md) [climbing_gym](./Layers/climbing_gym.md) [cafe_pub](./Layers/cafe_pub.md) [food](./Layers/food.md) [shops](./Layers/shops.md) [tourism_accomodation](./Layers/tourism_accomodation.md)
### luminous_or_lit
The question is `Is this object lit or does it emit light?`
@@ -648,7 +648,7 @@ _This tagrendering has no question and is thus read-only_
This tagrendering has labels `added_by_default`
-This tagRendering is used in 169 layers: [icons](./Layers/icons.md) [address](./Layers/address.md) [adult_changing_table](./Layers/adult_changing_table.md) [advertising](./Layers/advertising.md) [aerialway](./Layers/aerialway.md) [all_streets](./Layers/all_streets.md) [ambulancestation](./Layers/ambulancestation.md) [animal_shelter](./Layers/animal_shelter.md) [assembly_point](./Layers/assembly_point.md) [assisted_repair](./Layers/assisted_repair.md) [atm](./Layers/atm.md) [bank](./Layers/bank.md) [barrier](./Layers/barrier.md) [bbq](./Layers/bbq.md) [beehive](./Layers/beehive.md) [bench_at_pt](./Layers/bench_at_pt.md) [bicycle_counter](./Layers/bicycle_counter.md) [bicycle_library](./Layers/bicycle_library.md) [bicycle_rental](./Layers/bicycle_rental.md) [bike_cafe](./Layers/bike_cafe.md) [bike_cleaning](./Layers/bike_cleaning.md) [bike_parking](./Layers/bike_parking.md) [bike_repair_station](./Layers/bike_repair_station.md) [bike_themed_object](./Layers/bike_themed_object.md) [binocular](./Layers/binocular.md) [birdhide](./Layers/birdhide.md) [brothel](./Layers/brothel.md) [car_rental](./Layers/car_rental.md) [caravansites](./Layers/caravansites.md) [charging_station](./Layers/charging_station.md) [childcare](./Layers/childcare.md) [cinema](./Layers/cinema.md) [climbing](./Layers/climbing.md) [climbing_club](./Layers/climbing_club.md) [climbing_opportunity](./Layers/climbing_opportunity.md) [climbing_route](./Layers/climbing_route.md) [clock](./Layers/clock.md) [crossings](./Layers/crossings.md) [cycle_highways](./Layers/cycle_highways.md) [cyclestreets](./Layers/cyclestreets.md) [cyclist_waiting_aid](./Layers/cyclist_waiting_aid.md) [defibrillator](./Layers/defibrillator.md) [direction](./Layers/direction.md) [disaster_response](./Layers/disaster_response.md) [dog_toilet](./Layers/dog_toilet.md) [dogpark](./Layers/dogpark.md) [dumpstations](./Layers/dumpstations.md) [elevator](./Layers/elevator.md) [elongated_coin](./Layers/elongated_coin.md) [entrance](./Layers/entrance.md) [etymology](./Layers/etymology.md) [excrement_bag_dispenser](./Layers/excrement_bag_dispenser.md) [extinguisher](./Layers/extinguisher.md) [fire_station](./Layers/fire_station.md) [firepit](./Layers/firepit.md) [fitness_centre](./Layers/fitness_centre.md) [fitness_station](./Layers/fitness_station.md) [fixme](./Layers/fixme.md) [food_courts](./Layers/food_courts.md) [ghost_bike](./Layers/ghost_bike.md) [governments](./Layers/governments.md) [grab_rail](./Layers/grab_rail.md) [grave](./Layers/grave.md) [guidepost](./Layers/guidepost.md) [hackerspace](./Layers/hackerspace.md) [hydrant](./Layers/hydrant.md) [id_presets](./Layers/id_presets.md) [information_board](./Layers/information_board.md) [insect_hotel](./Layers/insect_hotel.md) [item_with_image](./Layers/item_with_image.md) [kerbs](./Layers/kerbs.md) [lighthouse](./Layers/lighthouse.md) [love_hotel](./Layers/love_hotel.md) [map](./Layers/map.md) [maproulette](./Layers/maproulette.md) [maproulette_challenge](./Layers/maproulette_challenge.md) [maxspeed](./Layers/maxspeed.md) [mobility_hub](./Layers/mobility_hub.md) [mountain_rescue](./Layers/mountain_rescue.md) [nature_reserve](./Layers/nature_reserve.md) [note](./Layers/note.md) [nsi_brand](./Layers/nsi_brand.md) [nsi_operator](./Layers/nsi_operator.md) [observation_tower](./Layers/observation_tower.md) [osm_community_index](./Layers/osm_community_index.md) [outdoor_seating](./Layers/outdoor_seating.md) [parcel_lockers](./Layers/parcel_lockers.md) [parking](./Layers/parking.md) [parking_spaces](./Layers/parking_spaces.md) [parking_ticket_machine](./Layers/parking_ticket_machine.md) [picnic_table](./Layers/picnic_table.md) [play_forest](./Layers/play_forest.md) [playground](./Layers/playground.md) [playground_equipment](./Layers/playground_equipment.md) [police](./Layers/police.md) [postboxes](./Layers/postboxes.md) [postoffices](./Layers/postoffices.md) [public_bookcase](./Layers/public_bookcase.md) [railway_platforms](./Layers/railway_platforms.md) [rainbow_crossings](./Layers/rainbow_crossings.md) [reception_desk](./Layers/reception_desk.md) [recycling](./Layers/recycling.md) [route_marker](./Layers/route_marker.md) [scouting_group](./Layers/scouting_group.md) [shelter](./Layers/shelter.md) [ski_piste](./Layers/ski_piste.md) [slow_roads](./Layers/slow_roads.md) [souvenir_note](./Layers/souvenir_note.md) [speed_camera](./Layers/speed_camera.md) [speed_display](./Layers/speed_display.md) [sport_pitch](./Layers/sport_pitch.md) [sports_centre](./Layers/sports_centre.md) [stairs](./Layers/stairs.md) [street_lamps](./Layers/street_lamps.md) [stripclub](./Layers/stripclub.md) [surveillance_camera](./Layers/surveillance_camera.md) [tactile_map](./Layers/tactile_map.md) [tactile_model](./Layers/tactile_model.md) [ticket_machine](./Layers/ticket_machine.md) [ticket_validator](./Layers/ticket_validator.md) [tool_library](./Layers/tool_library.md) [trail](./Layers/trail.md) [transit_routes](./Layers/transit_routes.md) [transit_stops](./Layers/transit_stops.md) [tree_node](./Layers/tree_node.md) [trolley_bay](./Layers/trolley_bay.md) [utility_pole](./Layers/utility_pole.md) [vending_machine](./Layers/vending_machine.md) [veterinary](./Layers/veterinary.md) [viewpoint](./Layers/viewpoint.md) [village_green](./Layers/village_green.md) [visitor_information_centre](./Layers/visitor_information_centre.md) [walls_and_buildings](./Layers/walls_and_buildings.md) [waste_basket](./Layers/waste_basket.md) [waste_disposal](./Layers/waste_disposal.md) [wayside_shrine](./Layers/wayside_shrine.md) [windpump](./Layers/windpump.md) [windturbine](./Layers/windturbine.md) [building](./Layers/building.md) [charge_point](./Layers/charge_point.md) [climbing_area](./Layers/climbing_area.md) [climbing_gym](./Layers/climbing_gym.md) [cycleways_and_roads](./Layers/cycleways_and_roads.md) [dentist](./Layers/dentist.md) [ghostsign](./Layers/ghostsign.md) [hospital](./Layers/hospital.md) [physiotherapist](./Layers/physiotherapist.md) [school](./Layers/school.md) [shower](./Layers/shower.md) [souvenir_coin](./Layers/souvenir_coin.md) [toilet](./Layers/toilet.md) [indoors](./Layers/indoors.md) [tertiary_education](./Layers/tertiary_education.md) [toilet_at_amenity](./Layers/toilet_at_amenity.md) [campsite](./Layers/campsite.md) [toilet_at_amenity_lib](./Layers/toilet_at_amenity_lib.md) [tourism_accomodation](./Layers/tourism_accomodation.md) [cafe_pub](./Layers/cafe_pub.md) [doctors](./Layers/doctors.md) [food](./Layers/food.md) [ice_cream](./Layers/ice_cream.md) [pharmacy](./Layers/pharmacy.md) [shops](./Layers/shops.md) [memorial](./Layers/memorial.md) [bench](./Layers/bench.md) [artwork](./Layers/artwork.md) [historic_rolling_stock](./Layers/historic_rolling_stock.md) [historic_aircraft](./Layers/historic_aircraft.md) [drinking_water](./Layers/drinking_water.md)
+This tagRendering is used in 169 layers: [icons](./Layers/icons.md) [address](./Layers/address.md) [adult_changing_table](./Layers/adult_changing_table.md) [advertising](./Layers/advertising.md) [aerialway](./Layers/aerialway.md) [all_streets](./Layers/all_streets.md) [ambulancestation](./Layers/ambulancestation.md) [animal_shelter](./Layers/animal_shelter.md) [assembly_point](./Layers/assembly_point.md) [assisted_repair](./Layers/assisted_repair.md) [atm](./Layers/atm.md) [bank](./Layers/bank.md) [barrier](./Layers/barrier.md) [bbq](./Layers/bbq.md) [beehive](./Layers/beehive.md) [bench_at_pt](./Layers/bench_at_pt.md) [bicycle_counter](./Layers/bicycle_counter.md) [bicycle_library](./Layers/bicycle_library.md) [bicycle_rental](./Layers/bicycle_rental.md) [bike_cafe](./Layers/bike_cafe.md) [bike_cleaning](./Layers/bike_cleaning.md) [bike_parking](./Layers/bike_parking.md) [bike_repair_station](./Layers/bike_repair_station.md) [bike_themed_object](./Layers/bike_themed_object.md) [binocular](./Layers/binocular.md) [birdhide](./Layers/birdhide.md) [brothel](./Layers/brothel.md) [car_rental](./Layers/car_rental.md) [caravansites](./Layers/caravansites.md) [charging_station](./Layers/charging_station.md) [childcare](./Layers/childcare.md) [cinema](./Layers/cinema.md) [climbing](./Layers/climbing.md) [climbing_club](./Layers/climbing_club.md) [climbing_opportunity](./Layers/climbing_opportunity.md) [climbing_route](./Layers/climbing_route.md) [clock](./Layers/clock.md) [crossings](./Layers/crossings.md) [cycle_highways](./Layers/cycle_highways.md) [cyclestreets](./Layers/cyclestreets.md) [cyclist_waiting_aid](./Layers/cyclist_waiting_aid.md) [defibrillator](./Layers/defibrillator.md) [direction](./Layers/direction.md) [disaster_response](./Layers/disaster_response.md) [dog_toilet](./Layers/dog_toilet.md) [dogpark](./Layers/dogpark.md) [dumpstations](./Layers/dumpstations.md) [elevator](./Layers/elevator.md) [elongated_coin](./Layers/elongated_coin.md) [entrance](./Layers/entrance.md) [etymology](./Layers/etymology.md) [excrement_bag_dispenser](./Layers/excrement_bag_dispenser.md) [extinguisher](./Layers/extinguisher.md) [fire_station](./Layers/fire_station.md) [firepit](./Layers/firepit.md) [fitness_centre](./Layers/fitness_centre.md) [fitness_station](./Layers/fitness_station.md) [fixme](./Layers/fixme.md) [food_courts](./Layers/food_courts.md) [ghost_bike](./Layers/ghost_bike.md) [governments](./Layers/governments.md) [grab_rail](./Layers/grab_rail.md) [grave](./Layers/grave.md) [guidepost](./Layers/guidepost.md) [hackerspace](./Layers/hackerspace.md) [hydrant](./Layers/hydrant.md) [id_presets](./Layers/id_presets.md) [information_board](./Layers/information_board.md) [insect_hotel](./Layers/insect_hotel.md) [item_with_image](./Layers/item_with_image.md) [kerbs](./Layers/kerbs.md) [lighthouse](./Layers/lighthouse.md) [love_hotel](./Layers/love_hotel.md) [map](./Layers/map.md) [maproulette](./Layers/maproulette.md) [maproulette_challenge](./Layers/maproulette_challenge.md) [maxspeed](./Layers/maxspeed.md) [mobility_hub](./Layers/mobility_hub.md) [mountain_rescue](./Layers/mountain_rescue.md) [nature_reserve](./Layers/nature_reserve.md) [note](./Layers/note.md) [nsi_brand](./Layers/nsi_brand.md) [nsi_operator](./Layers/nsi_operator.md) [observation_tower](./Layers/observation_tower.md) [osm_community_index](./Layers/osm_community_index.md) [outdoor_seating](./Layers/outdoor_seating.md) [parcel_lockers](./Layers/parcel_lockers.md) [parking](./Layers/parking.md) [parking_spaces](./Layers/parking_spaces.md) [parking_ticket_machine](./Layers/parking_ticket_machine.md) [picnic_table](./Layers/picnic_table.md) [play_forest](./Layers/play_forest.md) [playground](./Layers/playground.md) [playground_equipment](./Layers/playground_equipment.md) [police](./Layers/police.md) [postboxes](./Layers/postboxes.md) [postoffices](./Layers/postoffices.md) [public_bookcase](./Layers/public_bookcase.md) [railway_platforms](./Layers/railway_platforms.md) [rainbow_crossings](./Layers/rainbow_crossings.md) [reception_desk](./Layers/reception_desk.md) [recycling](./Layers/recycling.md) [route_marker](./Layers/route_marker.md) [scouting_group](./Layers/scouting_group.md) [shelter](./Layers/shelter.md) [ski_piste](./Layers/ski_piste.md) [slow_roads](./Layers/slow_roads.md) [souvenir_note](./Layers/souvenir_note.md) [speed_camera](./Layers/speed_camera.md) [speed_display](./Layers/speed_display.md) [sport_pitch](./Layers/sport_pitch.md) [sports_centre](./Layers/sports_centre.md) [stairs](./Layers/stairs.md) [street_lamps](./Layers/street_lamps.md) [stripclub](./Layers/stripclub.md) [surveillance_camera](./Layers/surveillance_camera.md) [tactile_map](./Layers/tactile_map.md) [tactile_model](./Layers/tactile_model.md) [ticket_machine](./Layers/ticket_machine.md) [ticket_validator](./Layers/ticket_validator.md) [tool_library](./Layers/tool_library.md) [trail](./Layers/trail.md) [transit_routes](./Layers/transit_routes.md) [transit_stops](./Layers/transit_stops.md) [tree_node](./Layers/tree_node.md) [trolley_bay](./Layers/trolley_bay.md) [utility_pole](./Layers/utility_pole.md) [vending_machine](./Layers/vending_machine.md) [veterinary](./Layers/veterinary.md) [viewpoint](./Layers/viewpoint.md) [village_green](./Layers/village_green.md) [visitor_information_centre](./Layers/visitor_information_centre.md) [walls_and_buildings](./Layers/walls_and_buildings.md) [waste_basket](./Layers/waste_basket.md) [waste_disposal](./Layers/waste_disposal.md) [wayside_shrine](./Layers/wayside_shrine.md) [windpump](./Layers/windpump.md) [windturbine](./Layers/windturbine.md) [building](./Layers/building.md) [charge_point](./Layers/charge_point.md) [climbing_area](./Layers/climbing_area.md) [climbing_gym](./Layers/climbing_gym.md) [cycleways_and_roads](./Layers/cycleways_and_roads.md) [dentist](./Layers/dentist.md) [ghostsign](./Layers/ghostsign.md) [hospital](./Layers/hospital.md) [physiotherapist](./Layers/physiotherapist.md) [school](./Layers/school.md) [shower](./Layers/shower.md) [souvenir_coin](./Layers/souvenir_coin.md) [toilet](./Layers/toilet.md) [indoors](./Layers/indoors.md) [tertiary_education](./Layers/tertiary_education.md) [toilet_at_amenity](./Layers/toilet_at_amenity.md) [toilet_at_amenity_lib](./Layers/toilet_at_amenity_lib.md) [cafe_pub](./Layers/cafe_pub.md) [campsite](./Layers/campsite.md) [doctors](./Layers/doctors.md) [food](./Layers/food.md) [ice_cream](./Layers/ice_cream.md) [pharmacy](./Layers/pharmacy.md) [shops](./Layers/shops.md) [tourism_accomodation](./Layers/tourism_accomodation.md) [memorial](./Layers/memorial.md) [bench](./Layers/bench.md) [artwork](./Layers/artwork.md) [historic_rolling_stock](./Layers/historic_rolling_stock.md) [historic_aircraft](./Layers/historic_aircraft.md) [drinking_water](./Layers/drinking_water.md)
### split_button
_This tagrendering has no question and is thus read-only_
diff --git a/Docs/Layers/campsite.md b/Docs/Layers/campsite.md
index 3ca5a0120..f5fa14809 100644
--- a/Docs/Layers/campsite.md
+++ b/Docs/Layers/campsite.md
@@ -5,6 +5,7 @@
Campsites
- This layer is shown at zoomlevel **7** and higher
+ - This layer will automatically load [toilet](./toilet.md) into the layout as it depends on it: tagrendering has_toilets needs this layer (has_toilets)
## Table of contents
@@ -24,7 +25,49 @@ Campsites
- [charge_person_day](#charge_person_day)
- [charge_day](#charge_day)
- [caravansites-toilets](#caravansites-toilets)
- - [toiletatamenitytoiletswheelchair](#toiletatamenitytoiletswheelchair)
+ - [toilets-group](#toilets-group)
+ - [grouptitle](#grouptitle)
+ - [has_toilets](#has_toilets)
+ - [images_toilet](#images_toilet)
+ - [toilets_repeated](#toilets_repeated)
+ - [toilets_single_level](#toilets_single_level)
+ - [toilets_toilet-access](#toilets_toilet-access)
+ - [toilets_toilets-fee](#toilets_toilets-fee)
+ - [toilets_toilet-charge](#toilets_toilet-charge)
+ - [toilets_payment-options-split](#toilets_payment-options-split)
+ - [toilets_gender_segregated](#toilets_gender_segregated)
+ - [toilets_toilet-supervised](#toilets_toilet-supervised)
+ - [toilets_description](#toilets_description)
+ - [toilets_toilets-wheelchair](#toilets_toilets-wheelchair)
+ - [toilets-type](#toilets-type)
+ - [toilets-disposal](#toilets-disposal)
+ - [menstrual_products](#menstrual_products)
+ - [menstrual_products_location](#menstrual_products_location)
+ - [toilets-changing-table](#toilets-changing-table)
+ - [toilet-changing_table:location](#toilet-changing_tablelocation)
+ - [toilet-has-paper](#toilet-has-paper)
+ - [toilet-handwashing](#toilet-handwashing)
+ - [toilet-drying](#toilet-drying)
+ - [wheelchair-group](#wheelchair-group)
+ - [wheelchair-picture-carousel](#wheelchair-picture-carousel)
+ - [wheelchair-picture](#wheelchair-picture)
+ - [wheelchair-title](#wheelchair-title)
+ - [toilet-wheelchair-access](#toilet-wheelchair-access)
+ - [toilets_wheelchair_has_grab_rail_lr](#toilets_wheelchair_has_grab_rail_lr)
+ - [toilets_wheelchair_has_grab_rail_behind](#toilets_wheelchair_has_grab_rail_behind)
+ - [toilets_wheelchair_is_foldable_left](#toilets_wheelchair_is_foldable_left)
+ - [toilets_wheelchair_is_foldable_right](#toilets_wheelchair_is_foldable_right)
+ - [wheelchair-door-width](#wheelchair-door-width)
+ - [questions-wheelchair](#questions-wheelchair)
+ - [adult_changing_table_title](#adult_changing_table_title)
+ - [adult-changing-table](#adult-changing-table)
+ - [changing_table_adult_height](#changing_table_adult_height)
+ - [changing_table_adult_adult-changing-table-min_height](#changing_table_adult_adult-changing-table-min_height)
+ - [changing_table_adult_adult-changing-table-max_height](#changing_table_adult_adult-changing-table-max_height)
+ - [changing_table_adult_adult-changing-table-mechanism](#changing_table_adult_adult-changing-table-mechanism)
+ - [changing_table_adult_adult-changing-table-support](#changing_table_adult_adult-changing-table-support)
+ - [questions-adult-changing-table](#questions-adult-changing-table)
+ - [toilet-question-box](#toilet-question-box)
- [questions](#questions)
- [mastodon](#mastodon)
- [lod](#lod)
@@ -64,6 +107,37 @@ Elements must match the expression ** [charge](https://wiki.openstreetmap.org/wiki/Key:charge) | [currency](../SpecialInputElements.md#currency) | |
| [charge](https://wiki.openstreetmap.org/wiki/Key:charge) | [currency](../SpecialInputElements.md#currency) | |
| [toilets](https://wiki.openstreetmap.org/wiki/Key:toilets) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dno) |
+| [toilets](https://wiki.openstreetmap.org/wiki/Key:toilets) | Multiple choice | [no](https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dno) |
+| [toilets](https://wiki.openstreetmap.org/wiki/Key:toilets) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dno) [separate](https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dseparate) |
+| [toilets:level](https://wiki.openstreetmap.org/wiki/Key:toilets:level) | [float](../SpecialInputElements.md#float) | [0](https://wiki.openstreetmap.org/wiki/Tag:toilets:level%3D0) [1](https://wiki.openstreetmap.org/wiki/Tag:toilets:level%3D1) [-1](https://wiki.openstreetmap.org/wiki/Tag:toilets:level%3D-1) |
+| [toilets:access](https://wiki.openstreetmap.org/wiki/Key:toilets:access) | [string](../SpecialInputElements.md#string) | [yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:access%3Dyes) [customers](https://wiki.openstreetmap.org/wiki/Tag:toilets:access%3Dcustomers) [no](https://wiki.openstreetmap.org/wiki/Tag:toilets:access%3Dno) [key](https://wiki.openstreetmap.org/wiki/Tag:toilets:access%3Dkey) |
+| [toilets:fee](https://wiki.openstreetmap.org/wiki/Key:toilets:fee) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:fee%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:toilets:fee%3Dno) |
+| [toilets:charge](https://wiki.openstreetmap.org/wiki/Key:toilets:charge) | [string](../SpecialInputElements.md#string) | |
+| [toilets:gender_segregated](https://wiki.openstreetmap.org/wiki/Key:toilets:gender_segregated) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:gender_segregated%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:toilets:gender_segregated%3Dno) |
+| [toilets:supervised](https://wiki.openstreetmap.org/wiki/Key:toilets:supervised) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:supervised%3Dyes) [interval](https://wiki.openstreetmap.org/wiki/Tag:toilets:supervised%3Dinterval) [no](https://wiki.openstreetmap.org/wiki/Tag:toilets:supervised%3Dno) |
+| [toilets:description](https://wiki.openstreetmap.org/wiki/Key:toilets:description) | [text](../SpecialInputElements.md#text) | |
+| [toilets:wheelchair](https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair%3Dno) [designated](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair%3Ddesignated) |
+| [toilets:position](https://wiki.openstreetmap.org/wiki/Key:toilets:position) | Multiple choice | [seated](https://wiki.openstreetmap.org/wiki/Tag:toilets:position%3Dseated) [urinal](https://wiki.openstreetmap.org/wiki/Tag:toilets:position%3Durinal) [squat](https://wiki.openstreetmap.org/wiki/Tag:toilets:position%3Dsquat) [seated;urinal](https://wiki.openstreetmap.org/wiki/Tag:toilets:position%3Dseated;urinal) |
+| [toilets:disposal](https://wiki.openstreetmap.org/wiki/Key:toilets:disposal) | Multiple choice | [flush](https://wiki.openstreetmap.org/wiki/Tag:toilets:disposal%3Dflush) [pitlatrine](https://wiki.openstreetmap.org/wiki/Tag:toilets:disposal%3Dpitlatrine) [bucket](https://wiki.openstreetmap.org/wiki/Tag:toilets:disposal%3Dbucket) |
+| [toilets:menstrual_products](https://wiki.openstreetmap.org/wiki/Key:toilets:menstrual_products) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:menstrual_products%3Dyes) [limited](https://wiki.openstreetmap.org/wiki/Tag:toilets:menstrual_products%3Dlimited) [no](https://wiki.openstreetmap.org/wiki/Tag:toilets:menstrual_products%3Dno) |
+| [toilets:menstrual_products:location](https://wiki.openstreetmap.org/wiki/Key:toilets:menstrual_products:location) | [string](../SpecialInputElements.md#string) | [female_toilet](https://wiki.openstreetmap.org/wiki/Tag:toilets:menstrual_products:location%3Dfemale_toilet) [male_toilet](https://wiki.openstreetmap.org/wiki/Tag:toilets:menstrual_products:location%3Dmale_toilet) [wheelchair_toilet](https://wiki.openstreetmap.org/wiki/Tag:toilets:menstrual_products:location%3Dwheelchair_toilet) |
+| [changing_table](https://wiki.openstreetmap.org/wiki/Key:changing_table) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:changing_table%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:changing_table%3Dno) |
+| [changing_table:location](https://wiki.openstreetmap.org/wiki/Key:changing_table:location) | [string](../SpecialInputElements.md#string) | [female_toilet](https://wiki.openstreetmap.org/wiki/Tag:changing_table:location%3Dfemale_toilet) [male_toilet](https://wiki.openstreetmap.org/wiki/Tag:changing_table:location%3Dmale_toilet) [wheelchair_toilet](https://wiki.openstreetmap.org/wiki/Tag:changing_table:location%3Dwheelchair_toilet) [dedicated_room](https://wiki.openstreetmap.org/wiki/Tag:changing_table:location%3Ddedicated_room) |
+| [toilets:paper_supplied](https://wiki.openstreetmap.org/wiki/Key:toilets:paper_supplied) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:paper_supplied%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:toilets:paper_supplied%3Dno) |
+| [toilets:handwashing](https://wiki.openstreetmap.org/wiki/Key:toilets:handwashing) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:handwashing%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:toilets:handwashing%3Dno) |
+| [toilets:hands_drying](https://wiki.openstreetmap.org/wiki/Key:toilets:hands_drying) | Multiple choice | [electric_hand_dryer](https://wiki.openstreetmap.org/wiki/Tag:toilets:hands_drying%3Delectric_hand_dryer) [paper_towel](https://wiki.openstreetmap.org/wiki/Tag:toilets:hands_drying%3Dpaper_towel) [towel_cabinet](https://wiki.openstreetmap.org/wiki/Tag:toilets:hands_drying%3Dtowel_cabinet) [towel](https://wiki.openstreetmap.org/wiki/Tag:toilets:hands_drying%3Dtowel) [no](https://wiki.openstreetmap.org/wiki/Tag:toilets:hands_drying%3Dno) |
+| [wheelchair](https://wiki.openstreetmap.org/wiki/Key:wheelchair) | Multiple choice | [designated](https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Ddesignated) [no](https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Dno) |
+| [toilets:wheelchair:grab_rail:left](https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair:grab_rail:left) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:grab_rail:left%3Dyes) [yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:grab_rail:left%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:grab_rail:left%3Dno) [no](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:grab_rail:left%3Dno) |
+| [toilets:wheelchair:grab_rail:behind](https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair:grab_rail:behind) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:grab_rail:behind%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:grab_rail:behind%3Dno) |
+| [toilets:wheelchair:is_foldable:left](https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair:is_foldable:left) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:is_foldable:left%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:is_foldable:left%3Dno) |
+| [toilets:wheelchair:is_foldable:right](https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair:is_foldable:right) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:is_foldable:right%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:is_foldable:right%3Dno) |
+| [door:width](https://wiki.openstreetmap.org/wiki/Key:door:width) | [pfloat](../SpecialInputElements.md#pfloat) | |
+| [changing_table:adult](https://wiki.openstreetmap.org/wiki/Key:changing_table:adult) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult%3Dno) |
+| [changing_table:adult:height](https://wiki.openstreetmap.org/wiki/Key:changing_table:adult:height) | [pfloat](../SpecialInputElements.md#pfloat) | [adjustable](https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult:height%3Dadjustable) |
+| [changing_table:adult:min_height](https://wiki.openstreetmap.org/wiki/Key:changing_table:adult:min_height) | [pfloat](../SpecialInputElements.md#pfloat) | |
+| [changing_table:adult:max_height](https://wiki.openstreetmap.org/wiki/Key:changing_table:adult:max_height) | [pfloat](../SpecialInputElements.md#pfloat) | |
+| [changing_table:adult:height:mechanism](https://wiki.openstreetmap.org/wiki/Key:changing_table:adult:height:mechanism) | Multiple choice | [manual](https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult:height:mechanism%3Dmanual) [electric](https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult:height:mechanism%3Delectric) |
+| [changing_table:adult:support](https://wiki.openstreetmap.org/wiki/Key:changing_table:adult:support) | Multiple choice | [wall_mounted](https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult:support%3Dwall_mounted) [legs](https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult:support%3Dlegs) [wheels](https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult:support%3Dwheels) |
| [contact:mastodon](https://wiki.openstreetmap.org/wiki/Key:contact:mastodon) | [fediverse](../SpecialInputElements.md#fediverse) | |
## Featureview elements and TagRenderings
@@ -81,7 +155,49 @@ Elements must match the expression **toilets=yes
- *This place does not have toilets* is shown if with toilets=no
-### toiletatamenitytoiletswheelchair
+### toilets-group
_This tagrendering has no question and is thus read-only_
-*toilet_at_amenity.toilets-wheelchair*
+*{group(grouptitle,toilet-questions,wheelchair;wheelchair-title;adult-changing-table)}*
+
+This tagrendering has labels `all`
+
+### grouptitle
+_This tagrendering has no question and is thus read-only_
+
+*Toilet information*
+
+ - *Does not have toilets* is shown if with toilets=no
+
+This tagrendering has labels `all` `hidden`
+
+### has_toilets
+The question is `Has {title()} toilets?`
+
+ - *Has toilets* is shown if with toilets=yes
+ - *Has no toilets* is shown if with toilets=no
+ - *The toilets are marked separately on the map* is shown if with toilets=separate
+
+This tagrendering has labels `toilet-questions` `hidden` `all`
+
+### images_toilet
+_This tagrendering has no question and is thus read-only_
+
+*{image_carousel(toilets:panoramax;toilets:mapillary;toilets:images)}{image_upload(toilets:panoramax,Add a picture of the toilets,)}*
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes
+This tagrendering has labels `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilets_repeated
+_This tagrendering has no question and is thus read-only_
+
+*Multiple, identical objects can be found on floors {toilets:repeat_on}.*
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & toilets:repeat_on~.+
+This tagrendering has labels `level` `amenity-no-prefix` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilets_single_level
+The question is `On what level is this feature located?`
+
+*Located on the {toilets:level}th floor* is shown if `toilets:level` is set.
+
+ - *Located underground* is shown if with toilets:location=underground. _This option cannot be chosen as answer_
+ - *Located on the ground floor* is shown if with toilets:level=0
+ - *Located on the ground floor* is shown if with toilets:level=. _This option cannot be chosen as answer_
+ - *Located on the first floor* is shown if with toilets:level=1
+ - *Located on the first basement level* is shown if with toilets:level=-1
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & toilets:repeat_on=
+This tagrendering has labels `level` `amenity-no-prefix` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilets_toilet-access
+The question is `Are these toilets publicly accessible?`
+
+*Access is {toilets:access}* is shown if `toilets:access` is set.
+
+ - *Public access* is shown if with toilets:access=yes
+ - *Only access to customers* is shown if with toilets:access=customers
+ - *Not accessible* is shown if with toilets:access=no
+ - *Accessible, but one has to ask a key to enter* is shown if with toilets:access=key
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes
+This tagrendering has labels `relevant-questions` `amenity-no-prefix` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilets_toilets-fee
+The question is `Are these toilets free to use?`
+
+ - *These are paid toilets* is shown if with toilets:fee=yes
+ - *Free to use* is shown if with toilets:fee=no
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & toilets:access!=no
+This tagrendering has labels `relevant-questions` `amenity-no-prefix` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilets_toilet-charge
+The question is `How much does one have to pay for these toilets?`
+
+*The fee is {toilets:charge}* is shown if `toilets:charge` is set.
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & toilets:fee=yes
+This tagrendering has labels `relevant-questions` `amenity-no-prefix` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilets_payment-options-split
+The question is `Which methods of payment are accepted here?`
+
+ - *Cash is accepted here* is shown if with toilets:payment:cash=yes. _This option cannot be chosen as answer_. Unselecting this answer will add toilets:payment:cash=
+ - *Payment cards are accepted here* is shown if with toilets:payment:cards=yes. _This option cannot be chosen as answer_. Unselecting this answer will add toilets:payment:cards=
+ - *Payment by QR-code is possible here* is shown if with toilets:payment:qr_code=yes. Unselecting this answer will add toilets:payment:qr_code=no
+ - *Coins are accepted here* is shown if with toilets:payment:coins=yes. Unselecting this answer will add toilets:payment:coins=no
+ - *Bank notes are accepted here* is shown if with toilets:payment:notes=yes. Unselecting this answer will add toilets:payment:notes=no
+ - *Debit cards are accepted here* is shown if with toilets:payment:debit_cards=yes. Unselecting this answer will add toilets:payment:debit_cards=no
+ - *Credit cards are accepted here* is shown if with toilets:payment:credit_cards=yes. Unselecting this answer will add toilets:payment:credit_cards=no
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & toilets:fee=yes
+This tagrendering has labels `relevant-questions` `amenity-no-prefix` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilets_gender_segregated
+The question is `Are these toilets gender-segregated?`
+
+ - *There is a separate, signposted area for men and women* is shown if with toilets:gender_segregated=yes
+ - *There is no separate, signposted area for men and women* is shown if with toilets:gender_segregated=no
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & toilets:toilets:position!=urinal
+This tagrendering has labels `relevant-questions` `no-prefix` `amenity-no-prefix` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilets_toilet-supervised
+The question is `Is this toilets supervised by a person?`
+
+ - *There is a person supervising these toilets during (most of) the opening hours* is shown if with toilets:supervised=yes
+ - *There is a person supervising these toilets, but they are present only during certain times of the opening hours* is shown if with toilets:supervised=interval
+ - *These toilets are not supervised* is shown if with toilets:supervised=no
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & (toilets:access=yes | toilets:access=)
+This tagrendering has labels `relevant-questions` `no-prefix` `amenity-no-prefix` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilets_description
+The question is `Is there still some relevant info that the previous questions did not cover? Feel free to add it here.`
+
+*{toilets:description}* is shown if `toilets:description` is set.
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes
+This tagrendering has labels `amenity-no-prefix` `no-prefix` `relevant-questions` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilets_toilets-wheelchair
+The question is `Is there a dedicated toilet for wheelchair users?`
+
+ - *There is a dedicated toilet for wheelchair users* is shown if with toilets:wheelchair=yes
+ - *No wheelchair access* is shown if with toilets:wheelchair=no
+ - *There is only a dedicated toilet for wheelchair users* is shown if with toilets:wheelchair=designated
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes
+This tagrendering has labels `relevant-questions` `wheelchair` `hidden` `no-prefix` `amenity-no-prefix` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilets-type
+The question is `Which kind of toilets are these?`
+
+ - *There are only seated toilets* is shown if with toilets:position=seated
+ - *There are only urinals here* is shown if with toilets:position=urinal
+ - *There are only squat toilets here* is shown if with toilets:position=squat
+ - *Both seated toilets and urinals are available here* is shown if with toilets:position=seated;urinal
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes
+This tagrendering has labels `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilets-disposal
+The question is `How is the waste handled?`
+
+ - *The waste is moved away by flushing the toilet with water* is shown if with toilets:disposal=flush
+ - *The waste falls into a pit* is shown if with toilets:disposal=pitlatrine
+ - *The waste is collected in a bucket or similar container, which is regularly removed* is shown if with toilets:disposal=bucket
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes
+This tagrendering has labels `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### menstrual_products
+The question is `Are free, menstrual products distributed here?`
+
+ - *Free menstrual products are available to all visitors of these toilets* is shown if with toilets:menstrual_products=yes
+ - *Free menstrual products are available to some visitors of these toilets* is shown if with toilets:menstrual_products=limited
+ - *No free menstrual products are available here* is shown if with toilets:menstrual_products=no
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes
+This tagrendering has labels `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### menstrual_products_location
+The question is `Where are the free menstrual products located?`
+
+*The menstrual products are located in {toilets:menstrual_products:location}* is shown if `toilets:menstrual_products:location` is set.
+
+ - *The free, menstrual products are located in the toilet for women* is shown if with toilets:menstrual_products:location=female_toilet
+ - *The free, menstrual products are located in the toilet for men* is shown if with toilets:menstrual_products:location=male_toilet
+ - *The free, menstrual products are located in the toilet for wheelchair users* is shown if with toilets:menstrual_products:location=wheelchair_toilet
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & (toilets:menstrual_products=limited | toilets:menstrual_products:location~.+)
+This tagrendering has labels `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilets-changing-table
+The question is `Is a changing table (to change diapers) available?`
+
+ - *A changing table is available* is shown if with changing_table=yes
+ - *No changing table is available* is shown if with changing_table=no
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes
+This tagrendering has labels `relevant-questions` `no-prefix` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilet-changing_table:location
+The question is `Where is the changing table located?`
+
+*A changing table is located at {changing_table:location}* is shown if `changing_table:location` is set.
+
+ - *A changing table is in the toilet for women* is shown if with changing_table:location=female_toilet
+ - *A changing table is in the toilet for men* is shown if with changing_table:location=male_toilet
+ - *A changing table is in the toilet for wheelchair users* is shown if with changing_table:location=wheelchair_toilet
+ - *A changing table is in a dedicated room* is shown if with changing_table:location=dedicated_room
+
+This tagrendering is only visible in the popup if the following condition is met: changing_table=yes & toilets=yes
+This tagrendering has labels `relevant-questions` `no-prefix` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilet-has-paper
+The question is `Does one have to bring their own toilet paper to this toilet?`
+
+ - *This toilet is equipped with toilet paper* is shown if with toilets:paper_supplied=yes
+ - *You have to bring your own toilet paper to this toilet* is shown if with toilets:paper_supplied=no
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & toilets:position!=urinal
+This tagrendering has labels `relevant-questions` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilet-handwashing
+The question is `Do these toilets have a sink to wash your hands?`
+
+ - *These toilets have a sink to wash your hands* is shown if with toilets:handwashing=yes
+ - *These toilets don't have a sink to wash your hands* is shown if with toilets:handwashing=no
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes
+This tagrendering has labels `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilet-drying
+The question is `Do these toilets have a device to dry your hands?`
+
+ - *Electric hand dryers are available for drying hands.* is shown if with toilets:hands_drying=electric_hand_dryer
+ - *Paper towels are available for drying hands.* is shown if with toilets:hands_drying=paper_towel
+ - *A towel roll cabinet is available for drying hands* is shown if with toilets:hands_drying=towel_cabinet
+ - *A fabric towel available to dry your hands.* is shown if with toilets:hands_drying=towel
+ - *There are no hand drying facilities available.* is shown if with toilets:hands_drying=no
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & toilets:handwashing=yes
+This tagrendering has labels `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### wheelchair-group
+_This tagrendering has no question and is thus read-only_
+
+*{group(wheelchair-title,wheelchair;adult-changing-table,)}*
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes
+This tagrendering has labels `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### wheelchair-picture-carousel
+_This tagrendering has no question and is thus read-only_
+
+*{image_carousel(toilets:wheelchair:panoramax;toilets:wheelchair:image;toilets:wheelchair:mapillary)}*
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & (toilets:wheelchair=yes | (amenity=toilets & wheelchair=yes))
+This tagrendering has labels `wheelchair` `hidden` `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### wheelchair-picture
+_This tagrendering has no question and is thus read-only_
+
+*{image_upload(toilets:wheelchair:panoramax,Add a picture of the wheelchair accessible toilet,)}*
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & (toilets:wheelchair=yes | (amenity=toilets & wheelchair=yes))
+This tagrendering has labels `wheelchair` `hidden` `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### wheelchair-title
+_This tagrendering has no question and is thus read-only_
+
+*Wheelchair accessible toilet*
+
+ - *Wheelchair accessibility features* is shown if with wheelchair=designated | toilets:wheelchair=designated
+ - *No wheelchair accessible toilet* is shown if with wheelchair=no | toilets:wheelchair=no
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes
+This tagrendering has labels `hidden` `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilet-wheelchair-access
+The question is `Is the wheelchair-accessible toilet locked?`
+
+ - *The wheelchair accessible toilets are freely accessible* is shown if with toilets:wheelchair:access=yes
+ - *One needs to ask permission to access wheelchair-accessible toilet, e.g. by asking a key* is shown if with toilets:wheelchair:access=key
+ - *One can use a Master Locksmiths Access Key(MLAK) to access this bathroom* is shown if with centralkey=mlak
+ - *One can use a RADAR Key to access this bathroom* is shown if with centralkey=nks
+ - *One can use a EuroKey to access this bathroom* is shown if with centralkey=eurokey
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & (toilets:wheelchair=yes | (amenity=toilets & wheelchair=yes)) & (access=yes | access=public | access=customers | access=)
+This tagrendering has labels `hidden` `wheelchair` `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilets_wheelchair_has_grab_rail_lr
+The question is `Is there a grab rail?`
+
+ - *Grab rails on both sides* is shown if with toilets:wheelchair:grab_rail:left=yes & toilets:wheelchair:grab_rail:right=yes
+ - *Only grab rails on the left side* is shown if with toilets:wheelchair:grab_rail:left=yes & toilets:wheelchair:grab_rail:right=no
+ - *Grab rails on the right side* is shown if with toilets:wheelchair:grab_rail:left=no & toilets:wheelchair:grab_rail:right=yes
+ - *No grab rails at all* is shown if with toilets:wheelchair:grab_rail:left=no & toilets:wheelchair:grab_rail:right=no
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & (toilets:wheelchair=yes | (amenity=toilets & wheelchair=yes))
+This tagrendering has labels `wheelchair` `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilets_wheelchair_has_grab_rail_behind
+The question is `Does the toilet have a grab rail behind the toilet?`
+
+ - *Has a grab rail behind the toilet* is shown if with toilets:wheelchair:grab_rail:behind=yes
+ - *No grab rail behind the toilet* is shown if with toilets:wheelchair:grab_rail:behind=no
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & (toilets:wheelchair=yes | (amenity=toilets & wheelchair=yes))
+This tagrendering has labels `wheelchair` `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilets_wheelchair_is_foldable_left
+The question is `Is the left grab rail foldable?`
+
+ - *The left grab rail is foldable* is shown if with toilets:wheelchair:is_foldable:left=yes
+ - *The left grab rail is not foldable* is shown if with toilets:wheelchair:is_foldable:left=no
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & toilets:wheelchair:grab_rail:left=yes & (toilets:wheelchair=yes | (amenity=toilets & wheelchair=yes))
+This tagrendering has labels `generic_questions` `wheelchair` `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilets_wheelchair_is_foldable_right
+The question is `Is the right grab rail foldable?`
+
+ - *The right grab rail is foldable* is shown if with toilets:wheelchair:is_foldable:right=yes
+ - *The right grab rail is not foldable* is shown if with toilets:wheelchair:is_foldable:right=no
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & toilets:wheelchair:grab_rail:right=yes & (toilets:wheelchair=yes | (amenity=toilets & wheelchair=yes))
+This tagrendering has labels `generic_questions` `wheelchair` `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### wheelchair-door-width
+The question is `What is the width of the door to the wheelchair accessible toilet?`
+
+*The door to the wheelchair-accessible toilet is {canonical(door:width)} wide* is shown if `door:width` is set.
+
+The allowed input is of type pfloat and is in range 0.4 until 4 (both inclusive). A warning will appear if the value is outside of 0.6 and 2.
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & (toilets:wheelchair=designated | (amenity=toilet & wheelchair~^(yes|designated)$))
+This tagrendering has labels `relevant-questions` `wheelchair` `hidden` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### questions-wheelchair
+_This tagrendering has no question and is thus read-only_
+
+*{questions(wheelchair,,)}*
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes
+This tagrendering has labels `wheelchair` `hidden` `relevant-questions` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### adult_changing_table_title
+_This tagrendering has no question and is thus read-only_
+
+*Adult changing table*
+
+This tagrendering is only visible in the popup if the following condition is met: changing_table:adult=yes & toilets=yes
+This tagrendering has labels `hidden` `prefixed` `adult-changing-table` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### adult-changing-table
+The question is `Does this toilet have an adult changing table?`
+
+ - *Has a changing table for adults* is shown if with changing_table:adult=yes
+ - *No changing table for adults* is shown if with changing_table:adult=no
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes
+This tagrendering has labels `prefixed` `hidden` `relevant-questions` `adult-changing-table` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### changing_table_adult_height
+The question is `What is the height of the adult changing table?`
+
+*The changing table is {canonical(changing_table:adult:height)} high* is shown if `changing_table:adult:height` is set.
+
+The allowed input is of type pfloat and is in range 0.4 until 2 (both inclusive). A warning will appear if the value is outside of 0.8 and 1.7.
+
+ - *The changing table is adjustable in height* is shown if with changing_table:adult:height=adjustable
+
+This tagrendering is only visible in the popup if the following condition is met: changing_table:adult=yes & toilets=yes
+This tagrendering has labels `relevant_questions` `hidden` `prefixed` `adult-changing-table` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### changing_table_adult_adult-changing-table-min_height
+The question is `What is the lowest height the adult changing table can be moved to?`
+
+*The lowest height of the adult changing table is {canonical(changing_table:adult:min_height)}* is shown if `changing_table:adult:min_height` is set.
+
+The allowed input is of type pfloat and is in range 0.4 until 2 (both inclusive). A warning will appear if the value is outside of 0.8 and 1.7.
+
+This tagrendering is only visible in the popup if the following condition is met: changing_table:adult=yes & changing_table:adult:height=adjustable & toilets=yes
+This tagrendering has labels `relevant_questions` `hidden` `prefixed` `adult-changing-table` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### changing_table_adult_adult-changing-table-max_height
+The question is `What is the highest height the adult changing table can be moved to?`
+
+*The highest height of the adult changing table is {canonical(changing_table:adult:max_height)}* is shown if `changing_table:adult:max_height` is set.
+
+The allowed input is of type pfloat and is in range 0.4 until 2 (both inclusive). A warning will appear if the value is outside of 0.8 and 1.7.
+
+This tagrendering is only visible in the popup if the following condition is met: changing_table:adult=yes & changing_table:adult:height=adjustable & toilets=yes
+This tagrendering has labels `relevant_questions` `hidden` `prefixed` `adult-changing-table` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### changing_table_adult_adult-changing-table-mechanism
+The question is `How is the height of the changing table adjusted?`
+
+ - *The height of the adult changing table is adjusted manually* is shown if with changing_table:adult:height:mechanism=manual
+ - *The height of the adult changing table is adjusted electrically* is shown if with changing_table:adult:height:mechanism=electric
+
+This tagrendering is only visible in the popup if the following condition is met: changing_table:adult=yes & changing_table:adult:height=adjustable & toilets=yes
+This tagrendering has labels `relevant_questions` `hidden` `prefixed` `adult-changing-table` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### changing_table_adult_adult-changing-table-support
+The question is `How is the adult changing table supported?`
+
+ - *The changing table is mounted to the wall* is shown if with changing_table:adult:support=wall_mounted
+ - *The changing table stands on table legs* is shown if with changing_table:adult:support=legs
+ - *The changing table stands on table legs with wheels and can be moved* is shown if with changing_table:adult:support=wheels
+
+This tagrendering is only visible in the popup if the following condition is met: changing_table:adult=yes & toilets=yes
+This tagrendering has labels `relevant_questions` `hidden` `prefixed` `adult-changing-table` `hidden` `prefixed` `adult-changing-table` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### questions-adult-changing-table
+_This tagrendering has no question and is thus read-only_
+
+*{questions(adult-changing-table,,yes)}*
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes
+This tagrendering has labels `hidden` `relevant-questions` `adult-changing-table` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilet-question-box
+_This tagrendering has no question and is thus read-only_
+
+*{questions(toilet-questions,wheelchair;adult-changing-table,)}*
+
+This tagrendering has labels `toilet-questions` `all` `hidden`
### questions
Show the questions block at this location
diff --git a/Docs/Layers/group_campsite.md b/Docs/Layers/group_campsite.md
index 7e7b959b0..cb3dae8b6 100644
--- a/Docs/Layers/group_campsite.md
+++ b/Docs/Layers/group_campsite.md
@@ -7,6 +7,7 @@ This layer is based on [campsite](../Layers/campsite.md)
Campsites
- This layer is shown at zoomlevel **7** and higher
+ - This layer will automatically load [toilet](./toilet.md) into the layout as it depends on it: tagrendering has_toilets needs this layer (has_toilets)
## Table of contents
@@ -25,7 +26,49 @@ Campsites
- [charge_person_day](#charge_person_day)
- [charge_day](#charge_day)
- [caravansites-toilets](#caravansites-toilets)
- - [toiletatamenitytoiletswheelchair](#toiletatamenitytoiletswheelchair)
+ - [toilets-group](#toilets-group)
+ - [grouptitle](#grouptitle)
+ - [has_toilets](#has_toilets)
+ - [images_toilet](#images_toilet)
+ - [toilets_repeated](#toilets_repeated)
+ - [toilets_single_level](#toilets_single_level)
+ - [toilets_toilet-access](#toilets_toilet-access)
+ - [toilets_toilets-fee](#toilets_toilets-fee)
+ - [toilets_toilet-charge](#toilets_toilet-charge)
+ - [toilets_payment-options-split](#toilets_payment-options-split)
+ - [toilets_gender_segregated](#toilets_gender_segregated)
+ - [toilets_toilet-supervised](#toilets_toilet-supervised)
+ - [toilets_description](#toilets_description)
+ - [toilets_toilets-wheelchair](#toilets_toilets-wheelchair)
+ - [toilets-type](#toilets-type)
+ - [toilets-disposal](#toilets-disposal)
+ - [menstrual_products](#menstrual_products)
+ - [menstrual_products_location](#menstrual_products_location)
+ - [toilets-changing-table](#toilets-changing-table)
+ - [toilet-changing_table:location](#toilet-changing_tablelocation)
+ - [toilet-has-paper](#toilet-has-paper)
+ - [toilet-handwashing](#toilet-handwashing)
+ - [toilet-drying](#toilet-drying)
+ - [wheelchair-group](#wheelchair-group)
+ - [wheelchair-picture-carousel](#wheelchair-picture-carousel)
+ - [wheelchair-picture](#wheelchair-picture)
+ - [wheelchair-title](#wheelchair-title)
+ - [toilet-wheelchair-access](#toilet-wheelchair-access)
+ - [toilets_wheelchair_has_grab_rail_lr](#toilets_wheelchair_has_grab_rail_lr)
+ - [toilets_wheelchair_has_grab_rail_behind](#toilets_wheelchair_has_grab_rail_behind)
+ - [toilets_wheelchair_is_foldable_left](#toilets_wheelchair_is_foldable_left)
+ - [toilets_wheelchair_is_foldable_right](#toilets_wheelchair_is_foldable_right)
+ - [wheelchair-door-width](#wheelchair-door-width)
+ - [questions-wheelchair](#questions-wheelchair)
+ - [adult_changing_table_title](#adult_changing_table_title)
+ - [adult-changing-table](#adult-changing-table)
+ - [changing_table_adult_height](#changing_table_adult_height)
+ - [changing_table_adult_adult-changing-table-min_height](#changing_table_adult_adult-changing-table-min_height)
+ - [changing_table_adult_adult-changing-table-max_height](#changing_table_adult_adult-changing-table-max_height)
+ - [changing_table_adult_adult-changing-table-mechanism](#changing_table_adult_adult-changing-table-mechanism)
+ - [changing_table_adult_adult-changing-table-support](#changing_table_adult_adult-changing-table-support)
+ - [questions-adult-changing-table](#questions-adult-changing-table)
+ - [toilet-question-box](#toilet-question-box)
- [questions](#questions)
- [mastodon](#mastodon)
- [lod](#lod)
@@ -60,6 +103,37 @@ Elements must match **any** of the following expressions:
| [charge](https://wiki.openstreetmap.org/wiki/Key:charge) | [currency](../SpecialInputElements.md#currency) | |
| [charge](https://wiki.openstreetmap.org/wiki/Key:charge) | [currency](../SpecialInputElements.md#currency) | |
| [toilets](https://wiki.openstreetmap.org/wiki/Key:toilets) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dno) |
+| [toilets](https://wiki.openstreetmap.org/wiki/Key:toilets) | Multiple choice | [no](https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dno) |
+| [toilets](https://wiki.openstreetmap.org/wiki/Key:toilets) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dno) [separate](https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dseparate) |
+| [toilets:level](https://wiki.openstreetmap.org/wiki/Key:toilets:level) | [float](../SpecialInputElements.md#float) | [0](https://wiki.openstreetmap.org/wiki/Tag:toilets:level%3D0) [1](https://wiki.openstreetmap.org/wiki/Tag:toilets:level%3D1) [-1](https://wiki.openstreetmap.org/wiki/Tag:toilets:level%3D-1) |
+| [toilets:access](https://wiki.openstreetmap.org/wiki/Key:toilets:access) | [string](../SpecialInputElements.md#string) | [yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:access%3Dyes) [customers](https://wiki.openstreetmap.org/wiki/Tag:toilets:access%3Dcustomers) [no](https://wiki.openstreetmap.org/wiki/Tag:toilets:access%3Dno) [key](https://wiki.openstreetmap.org/wiki/Tag:toilets:access%3Dkey) |
+| [toilets:fee](https://wiki.openstreetmap.org/wiki/Key:toilets:fee) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:fee%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:toilets:fee%3Dno) |
+| [toilets:charge](https://wiki.openstreetmap.org/wiki/Key:toilets:charge) | [string](../SpecialInputElements.md#string) | |
+| [toilets:gender_segregated](https://wiki.openstreetmap.org/wiki/Key:toilets:gender_segregated) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:gender_segregated%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:toilets:gender_segregated%3Dno) |
+| [toilets:supervised](https://wiki.openstreetmap.org/wiki/Key:toilets:supervised) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:supervised%3Dyes) [interval](https://wiki.openstreetmap.org/wiki/Tag:toilets:supervised%3Dinterval) [no](https://wiki.openstreetmap.org/wiki/Tag:toilets:supervised%3Dno) |
+| [toilets:description](https://wiki.openstreetmap.org/wiki/Key:toilets:description) | [text](../SpecialInputElements.md#text) | |
+| [toilets:wheelchair](https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair%3Dno) [designated](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair%3Ddesignated) |
+| [toilets:position](https://wiki.openstreetmap.org/wiki/Key:toilets:position) | Multiple choice | [seated](https://wiki.openstreetmap.org/wiki/Tag:toilets:position%3Dseated) [urinal](https://wiki.openstreetmap.org/wiki/Tag:toilets:position%3Durinal) [squat](https://wiki.openstreetmap.org/wiki/Tag:toilets:position%3Dsquat) [seated;urinal](https://wiki.openstreetmap.org/wiki/Tag:toilets:position%3Dseated;urinal) |
+| [toilets:disposal](https://wiki.openstreetmap.org/wiki/Key:toilets:disposal) | Multiple choice | [flush](https://wiki.openstreetmap.org/wiki/Tag:toilets:disposal%3Dflush) [pitlatrine](https://wiki.openstreetmap.org/wiki/Tag:toilets:disposal%3Dpitlatrine) [bucket](https://wiki.openstreetmap.org/wiki/Tag:toilets:disposal%3Dbucket) |
+| [toilets:menstrual_products](https://wiki.openstreetmap.org/wiki/Key:toilets:menstrual_products) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:menstrual_products%3Dyes) [limited](https://wiki.openstreetmap.org/wiki/Tag:toilets:menstrual_products%3Dlimited) [no](https://wiki.openstreetmap.org/wiki/Tag:toilets:menstrual_products%3Dno) |
+| [toilets:menstrual_products:location](https://wiki.openstreetmap.org/wiki/Key:toilets:menstrual_products:location) | [string](../SpecialInputElements.md#string) | [female_toilet](https://wiki.openstreetmap.org/wiki/Tag:toilets:menstrual_products:location%3Dfemale_toilet) [male_toilet](https://wiki.openstreetmap.org/wiki/Tag:toilets:menstrual_products:location%3Dmale_toilet) [wheelchair_toilet](https://wiki.openstreetmap.org/wiki/Tag:toilets:menstrual_products:location%3Dwheelchair_toilet) |
+| [changing_table](https://wiki.openstreetmap.org/wiki/Key:changing_table) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:changing_table%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:changing_table%3Dno) |
+| [changing_table:location](https://wiki.openstreetmap.org/wiki/Key:changing_table:location) | [string](../SpecialInputElements.md#string) | [female_toilet](https://wiki.openstreetmap.org/wiki/Tag:changing_table:location%3Dfemale_toilet) [male_toilet](https://wiki.openstreetmap.org/wiki/Tag:changing_table:location%3Dmale_toilet) [wheelchair_toilet](https://wiki.openstreetmap.org/wiki/Tag:changing_table:location%3Dwheelchair_toilet) [dedicated_room](https://wiki.openstreetmap.org/wiki/Tag:changing_table:location%3Ddedicated_room) |
+| [toilets:paper_supplied](https://wiki.openstreetmap.org/wiki/Key:toilets:paper_supplied) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:paper_supplied%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:toilets:paper_supplied%3Dno) |
+| [toilets:handwashing](https://wiki.openstreetmap.org/wiki/Key:toilets:handwashing) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:handwashing%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:toilets:handwashing%3Dno) |
+| [toilets:hands_drying](https://wiki.openstreetmap.org/wiki/Key:toilets:hands_drying) | Multiple choice | [electric_hand_dryer](https://wiki.openstreetmap.org/wiki/Tag:toilets:hands_drying%3Delectric_hand_dryer) [paper_towel](https://wiki.openstreetmap.org/wiki/Tag:toilets:hands_drying%3Dpaper_towel) [towel_cabinet](https://wiki.openstreetmap.org/wiki/Tag:toilets:hands_drying%3Dtowel_cabinet) [towel](https://wiki.openstreetmap.org/wiki/Tag:toilets:hands_drying%3Dtowel) [no](https://wiki.openstreetmap.org/wiki/Tag:toilets:hands_drying%3Dno) |
+| [wheelchair](https://wiki.openstreetmap.org/wiki/Key:wheelchair) | Multiple choice | [designated](https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Ddesignated) [no](https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Dno) |
+| [toilets:wheelchair:grab_rail:left](https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair:grab_rail:left) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:grab_rail:left%3Dyes) [yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:grab_rail:left%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:grab_rail:left%3Dno) [no](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:grab_rail:left%3Dno) |
+| [toilets:wheelchair:grab_rail:behind](https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair:grab_rail:behind) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:grab_rail:behind%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:grab_rail:behind%3Dno) |
+| [toilets:wheelchair:is_foldable:left](https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair:is_foldable:left) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:is_foldable:left%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:is_foldable:left%3Dno) |
+| [toilets:wheelchair:is_foldable:right](https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair:is_foldable:right) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:is_foldable:right%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:is_foldable:right%3Dno) |
+| [door:width](https://wiki.openstreetmap.org/wiki/Key:door:width) | [pfloat](../SpecialInputElements.md#pfloat) | |
+| [changing_table:adult](https://wiki.openstreetmap.org/wiki/Key:changing_table:adult) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult%3Dno) |
+| [changing_table:adult:height](https://wiki.openstreetmap.org/wiki/Key:changing_table:adult:height) | [pfloat](../SpecialInputElements.md#pfloat) | [adjustable](https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult:height%3Dadjustable) |
+| [changing_table:adult:min_height](https://wiki.openstreetmap.org/wiki/Key:changing_table:adult:min_height) | [pfloat](../SpecialInputElements.md#pfloat) | |
+| [changing_table:adult:max_height](https://wiki.openstreetmap.org/wiki/Key:changing_table:adult:max_height) | [pfloat](../SpecialInputElements.md#pfloat) | |
+| [changing_table:adult:height:mechanism](https://wiki.openstreetmap.org/wiki/Key:changing_table:adult:height:mechanism) | Multiple choice | [manual](https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult:height:mechanism%3Dmanual) [electric](https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult:height:mechanism%3Delectric) |
+| [changing_table:adult:support](https://wiki.openstreetmap.org/wiki/Key:changing_table:adult:support) | Multiple choice | [wall_mounted](https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult:support%3Dwall_mounted) [legs](https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult:support%3Dlegs) [wheels](https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult:support%3Dwheels) |
| [contact:mastodon](https://wiki.openstreetmap.org/wiki/Key:contact:mastodon) | [fediverse](../SpecialInputElements.md#fediverse) | |
## Featureview elements and TagRenderings
@@ -77,7 +151,49 @@ Elements must match **any** of the following expressions:
| [charge_person_day](#charge_person_day) | What is the charge per person per day? _Charge per person per day: {charge}_ | | *[charge](https://wiki.osm.org/wiki/Key:charge)* ([currency](../SpecialInputElements.md#currency)) |
| [charge_day](#charge_day) | What is the charge per day? _Charge per day: {charge}_ | | *[charge](https://wiki.osm.org/wiki/Key:charge)* ([currency](../SpecialInputElements.md#currency)) |
| [caravansites-toilets](#caravansites-toilets) _(Original in [caravansites](./caravansites.md#caravansites-toilets))_ | Does this place have toilets? 2 options | | _Multiple choice only_ |
-| [toiletatamenitytoiletswheelchair](#toiletatamenitytoiletswheelchair) | _toilet_at_amenity.toilets-wheelchair_ | | _Multiple choice only_ |
+| [toilets-group](#toilets-group) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets-group))_ | _{group(grouptitle,toilet-questions,wheelchair;wheelchair-title;adult-changing-table)}_ | all | _Multiple choice only_ |
+| [grouptitle](#grouptitle) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#grouptitle))_ | _Toilet information_ 1 options | all, hidden | _Multiple choice only_ |
+| [has_toilets](#has_toilets) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#has_toilets))_ | Has toilets? 3 options | toilet-questions, hidden, all | _Multiple choice only_ |
+| [images_toilet](#images_toilet) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#images_toilet))_ | _{image_carousel(toilets:panoramax;toilets:mapillary;toilets:images)}{image_upload(toilets:panoramax,Add a picture of the toilets,)}_ | relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [toilets_repeated](#toilets_repeated) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets_repeated))_ | _Multiple, identical objects can be found on floors {toilets:repeat_on}._ | level, amenity-no-prefix, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [toilets_single_level](#toilets_single_level) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets_single_level))_ | On what level is this feature located? _Located on the {toilets:level}th floor_ 5 options | level, amenity-no-prefix, relevant_questions, toilet-questions, hidden, all | *[toilets:level](https://wiki.osm.org/wiki/Key:toilets:level)* ([float](../SpecialInputElements.md#float)) |
+| [toilets_toilet-access](#toilets_toilet-access) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets_toilet-access))_ | Are these toilets publicly accessible? _Access is {toilets:access}_ 4 options | relevant-questions, amenity-no-prefix, relevant_questions, toilet-questions, hidden, all | *[toilets:access](https://wiki.osm.org/wiki/Key:toilets:access)* ([string](../SpecialInputElements.md#string)) |
+| [toilets_toilets-fee](#toilets_toilets-fee) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets_toilets-fee))_ | Are these toilets free to use? 2 options | relevant-questions, amenity-no-prefix, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [toilets_toilet-charge](#toilets_toilet-charge) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets_toilet-charge))_ | How much does one have to pay for these toilets? _The fee is {toilets:charge}_ | relevant-questions, amenity-no-prefix, relevant_questions, toilet-questions, hidden, all | *[toilets:charge](https://wiki.osm.org/wiki/Key:toilets:charge)* ([string](../SpecialInputElements.md#string)) |
+| [toilets_payment-options-split](#toilets_payment-options-split) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets_payment-options-split))_ | Which methods of payment are accepted here? 7 options | relevant-questions, amenity-no-prefix, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [toilets_gender_segregated](#toilets_gender_segregated) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets_gender_segregated))_ | Are these toilets gender-segregated? 2 options | relevant-questions, no-prefix, amenity-no-prefix, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [toilets_toilet-supervised](#toilets_toilet-supervised) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets_toilet-supervised))_ | Is this toilets supervised by a person? 3 options | relevant-questions, no-prefix, amenity-no-prefix, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [toilets_description](#toilets_description) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets_description))_ | Is there still some relevant info that the previous questions did not cover? Feel free to add it here. _{toilets:description}_ | amenity-no-prefix, no-prefix, relevant-questions, relevant_questions, toilet-questions, hidden, all | *[toilets:description](https://wiki.osm.org/wiki/Key:toilets:description)* ([text](../SpecialInputElements.md#text)) |
+| [toilets_toilets-wheelchair](#toilets_toilets-wheelchair) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets_toilets-wheelchair))_ | Is there a dedicated toilet for wheelchair users? 3 options | relevant-questions, wheelchair, hidden, no-prefix, amenity-no-prefix, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [toilets-type](#toilets-type) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets-type))_ | Which kind of toilets are these? 4 options | relevant-questions, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [toilets-disposal](#toilets-disposal) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets-disposal))_ | How is the waste handled? 3 options | relevant-questions, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [menstrual_products](#menstrual_products) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#menstrual_products))_ | Are free, menstrual products distributed here? 3 options | relevant-questions, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [menstrual_products_location](#menstrual_products_location) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#menstrual_products_location))_ | Where are the free menstrual products located? _The menstrual products are located in {toilets:menstrual_products:location}_ 3 options | relevant-questions, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | *[toilets:menstrual_products:location](https://wiki.osm.org/wiki/Key:toilets:menstrual_products:location)* ([string](../SpecialInputElements.md#string)) |
+| [toilets-changing-table](#toilets-changing-table) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets-changing-table))_ | Is a changing table (to change diapers) available? 2 options | relevant-questions, no-prefix, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [toilet-changing_table:location](#toilet-changing_table:location) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilet-changing_table:location))_ | Where is the changing table located? _A changing table is located at {changing_table:location}_ 4 options | relevant-questions, no-prefix, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | *[changing_table:location](https://wiki.osm.org/wiki/Key:changing_table:location)* ([string](../SpecialInputElements.md#string)) |
+| [toilet-has-paper](#toilet-has-paper) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilet-has-paper))_ | Does one have to bring their own toilet paper to this toilet? 2 options | relevant-questions, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [toilet-handwashing](#toilet-handwashing) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilet-handwashing))_ | Do these toilets have a sink to wash your hands? 2 options | relevant-questions, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [toilet-drying](#toilet-drying) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilet-drying))_ | Do these toilets have a device to dry your hands? 5 options | relevant-questions, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [wheelchair-group](#wheelchair-group) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#wheelchair-group))_ | _{group(wheelchair-title,wheelchair;adult-changing-table,)}_ | relevant-questions, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [wheelchair-picture-carousel](#wheelchair-picture-carousel) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#wheelchair-picture-carousel))_ | _{image_carousel(toilets:wheelchair:panoramax;toilets:wheelchair:image;toilets:wheelchair:mapillary)}_ | wheelchair, hidden, relevant-questions, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [wheelchair-picture](#wheelchair-picture) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#wheelchair-picture))_ | _{image_upload(toilets:wheelchair:panoramax,Add a picture of the wheelchair accessible toilet,)}_ | wheelchair, hidden, relevant-questions, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [wheelchair-title](#wheelchair-title) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#wheelchair-title))_ | _Wheelchair accessible toilet_ 2 options | hidden, relevant-questions, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [toilet-wheelchair-access](#toilet-wheelchair-access) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilet-wheelchair-access))_ | Is the wheelchair-accessible toilet locked? 5 options | hidden, wheelchair, relevant-questions, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [toilets_wheelchair_has_grab_rail_lr](#toilets_wheelchair_has_grab_rail_lr) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets_wheelchair_has_grab_rail_lr))_ | Is there a grab rail? 4 options | wheelchair, relevant-questions, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [toilets_wheelchair_has_grab_rail_behind](#toilets_wheelchair_has_grab_rail_behind) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets_wheelchair_has_grab_rail_behind))_ | Does the toilet have a grab rail behind the toilet? 2 options | wheelchair, relevant-questions, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [toilets_wheelchair_is_foldable_left](#toilets_wheelchair_is_foldable_left) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets_wheelchair_is_foldable_left))_ | Is the left grab rail foldable? 2 options | generic_questions, wheelchair, relevant-questions, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [toilets_wheelchair_is_foldable_right](#toilets_wheelchair_is_foldable_right) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets_wheelchair_is_foldable_right))_ | Is the right grab rail foldable? 2 options | generic_questions, wheelchair, relevant-questions, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [wheelchair-door-width](#wheelchair-door-width) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#wheelchair-door-width))_ | What is the width of the door to the wheelchair accessible toilet? _The door to the wheelchair-accessible toilet is {canonical(door:width)} wide_ | relevant-questions, wheelchair, hidden, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | *[door:width](https://wiki.osm.org/wiki/Key:door:width)* ([pfloat](../SpecialInputElements.md#pfloat)) |
+| [questions-wheelchair](#questions-wheelchair) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#questions-wheelchair))_ | _{questions(wheelchair,,)}_ | wheelchair, hidden, relevant-questions, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [adult_changing_table_title](#adult_changing_table_title) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#adult_changing_table_title))_ | _Adult changing table_ | hidden, prefixed, adult-changing-table, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [adult-changing-table](#adult-changing-table) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#adult-changing-table))_ | Does this toilet have an adult changing table? 2 options | prefixed, hidden, relevant-questions, adult-changing-table, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [changing_table_adult_height](#changing_table_adult_height) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#changing_table_adult_height))_ | What is the height of the adult changing table? _The changing table is {canonical(changing_table:adult:height)} high_ 1 options | relevant_questions, hidden, prefixed, adult-changing-table, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | *[changing_table:adult:height](https://wiki.osm.org/wiki/Key:changing_table:adult:height)* ([pfloat](../SpecialInputElements.md#pfloat)) |
+| [changing_table_adult_adult-changing-table-min_height](#changing_table_adult_adult-changing-table-min_height) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#changing_table_adult_adult-changing-table-min_height))_ | What is the lowest height the adult changing table can be moved to? _The lowest height of the adult changing table is {canonical(changing_table:adult:min_height)}_ | relevant_questions, hidden, prefixed, adult-changing-table, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | *[changing_table:adult:min_height](https://wiki.osm.org/wiki/Key:changing_table:adult:min_height)* ([pfloat](../SpecialInputElements.md#pfloat)) |
+| [changing_table_adult_adult-changing-table-max_height](#changing_table_adult_adult-changing-table-max_height) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#changing_table_adult_adult-changing-table-max_height))_ | What is the highest height the adult changing table can be moved to? _The highest height of the adult changing table is {canonical(changing_table:adult:max_height)}_ | relevant_questions, hidden, prefixed, adult-changing-table, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | *[changing_table:adult:max_height](https://wiki.osm.org/wiki/Key:changing_table:adult:max_height)* ([pfloat](../SpecialInputElements.md#pfloat)) |
+| [changing_table_adult_adult-changing-table-mechanism](#changing_table_adult_adult-changing-table-mechanism) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#changing_table_adult_adult-changing-table-mechanism))_ | How is the height of the changing table adjusted? 2 options | relevant_questions, hidden, prefixed, adult-changing-table, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [changing_table_adult_adult-changing-table-support](#changing_table_adult_adult-changing-table-support) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#changing_table_adult_adult-changing-table-support))_ | How is the adult changing table supported? 3 options | relevant_questions, hidden, prefixed, adult-changing-table, hidden, prefixed, adult-changing-table, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [questions-adult-changing-table](#questions-adult-changing-table) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#questions-adult-changing-table))_ | _{questions(adult-changing-table,,yes)}_ | hidden, relevant-questions, adult-changing-table, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [toilet-question-box](#toilet-question-box) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilet-question-box))_ | _{questions(toilet-questions,wheelchair;adult-changing-table,)}_ | toilet-questions, all, hidden | _Multiple choice only_ |
| [questions](#questions) _(Original in [questions](./BuiltinQuestions.md#questions))_ | _{questions()}_ | | _Multiple choice only_ |
| [mastodon](#mastodon) _(Original in [questions](./BuiltinQuestions.md#mastodon))_ | What is the Mastodon-handle of ? _{fediverse_link(contact:mastodon)}_ | | *[contact:mastodon](https://wiki.osm.org/wiki/Key:contact:mastodon)* ([fediverse](../SpecialInputElements.md#fediverse)) |
| [lod](#lod) _(Original in [questions](./BuiltinQuestions.md#lod))_ | _{linked_data_from_website()}_ | added_by_default | _Multiple choice only_ |
@@ -154,10 +270,422 @@ The question is `Does this place have toilets?`
- *This place has toilets* is shown if with toilets=yes
- *This place does not have toilets* is shown if with toilets=no
-### toiletatamenitytoiletswheelchair
+### toilets-group
_This tagrendering has no question and is thus read-only_
-*toilet_at_amenity.toilets-wheelchair*
+*{group(grouptitle,toilet-questions,wheelchair;wheelchair-title;adult-changing-table)}*
+
+This tagrendering has labels `all`
+
+### grouptitle
+_This tagrendering has no question and is thus read-only_
+
+*Toilet information*
+
+ - *Does not have toilets* is shown if with toilets=no
+
+This tagrendering has labels `all` `hidden`
+
+### has_toilets
+The question is `Has {title()} toilets?`
+
+ - *Has toilets* is shown if with toilets=yes
+ - *Has no toilets* is shown if with toilets=no
+ - *The toilets are marked separately on the map* is shown if with toilets=separate
+
+This tagrendering has labels `toilet-questions` `hidden` `all`
+
+### images_toilet
+_This tagrendering has no question and is thus read-only_
+
+*{image_carousel(toilets:panoramax;toilets:mapillary;toilets:images)}{image_upload(toilets:panoramax,Add a picture of the toilets,)}*
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes
+This tagrendering has labels `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilets_repeated
+_This tagrendering has no question and is thus read-only_
+
+*Multiple, identical objects can be found on floors {toilets:repeat_on}.*
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & toilets:repeat_on~.+
+This tagrendering has labels `level` `amenity-no-prefix` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilets_single_level
+The question is `On what level is this feature located?`
+
+*Located on the {toilets:level}th floor* is shown if `toilets:level` is set.
+
+ - *Located underground* is shown if with toilets:location=underground. _This option cannot be chosen as answer_
+ - *Located on the ground floor* is shown if with toilets:level=0
+ - *Located on the ground floor* is shown if with toilets:level=. _This option cannot be chosen as answer_
+ - *Located on the first floor* is shown if with toilets:level=1
+ - *Located on the first basement level* is shown if with toilets:level=-1
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & toilets:repeat_on=
+This tagrendering has labels `level` `amenity-no-prefix` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilets_toilet-access
+The question is `Are these toilets publicly accessible?`
+
+*Access is {toilets:access}* is shown if `toilets:access` is set.
+
+ - *Public access* is shown if with toilets:access=yes
+ - *Only access to customers* is shown if with toilets:access=customers
+ - *Not accessible* is shown if with toilets:access=no
+ - *Accessible, but one has to ask a key to enter* is shown if with toilets:access=key
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes
+This tagrendering has labels `relevant-questions` `amenity-no-prefix` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilets_toilets-fee
+The question is `Are these toilets free to use?`
+
+ - *These are paid toilets* is shown if with toilets:fee=yes
+ - *Free to use* is shown if with toilets:fee=no
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & toilets:access!=no
+This tagrendering has labels `relevant-questions` `amenity-no-prefix` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilets_toilet-charge
+The question is `How much does one have to pay for these toilets?`
+
+*The fee is {toilets:charge}* is shown if `toilets:charge` is set.
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & toilets:fee=yes
+This tagrendering has labels `relevant-questions` `amenity-no-prefix` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilets_payment-options-split
+The question is `Which methods of payment are accepted here?`
+
+ - *Cash is accepted here* is shown if with toilets:payment:cash=yes. _This option cannot be chosen as answer_. Unselecting this answer will add toilets:payment:cash=
+ - *Payment cards are accepted here* is shown if with toilets:payment:cards=yes. _This option cannot be chosen as answer_. Unselecting this answer will add toilets:payment:cards=
+ - *Payment by QR-code is possible here* is shown if with toilets:payment:qr_code=yes. Unselecting this answer will add toilets:payment:qr_code=no
+ - *Coins are accepted here* is shown if with toilets:payment:coins=yes. Unselecting this answer will add toilets:payment:coins=no
+ - *Bank notes are accepted here* is shown if with toilets:payment:notes=yes. Unselecting this answer will add toilets:payment:notes=no
+ - *Debit cards are accepted here* is shown if with toilets:payment:debit_cards=yes. Unselecting this answer will add toilets:payment:debit_cards=no
+ - *Credit cards are accepted here* is shown if with toilets:payment:credit_cards=yes. Unselecting this answer will add toilets:payment:credit_cards=no
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & toilets:fee=yes
+This tagrendering has labels `relevant-questions` `amenity-no-prefix` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilets_gender_segregated
+The question is `Are these toilets gender-segregated?`
+
+ - *There is a separate, signposted area for men and women* is shown if with toilets:gender_segregated=yes
+ - *There is no separate, signposted area for men and women* is shown if with toilets:gender_segregated=no
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & toilets:toilets:position!=urinal
+This tagrendering has labels `relevant-questions` `no-prefix` `amenity-no-prefix` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilets_toilet-supervised
+The question is `Is this toilets supervised by a person?`
+
+ - *There is a person supervising these toilets during (most of) the opening hours* is shown if with toilets:supervised=yes
+ - *There is a person supervising these toilets, but they are present only during certain times of the opening hours* is shown if with toilets:supervised=interval
+ - *These toilets are not supervised* is shown if with toilets:supervised=no
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & (toilets:access=yes | toilets:access=)
+This tagrendering has labels `relevant-questions` `no-prefix` `amenity-no-prefix` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilets_description
+The question is `Is there still some relevant info that the previous questions did not cover? Feel free to add it here.`
+
+*{toilets:description}* is shown if `toilets:description` is set.
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes
+This tagrendering has labels `amenity-no-prefix` `no-prefix` `relevant-questions` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilets_toilets-wheelchair
+The question is `Is there a dedicated toilet for wheelchair users?`
+
+ - *There is a dedicated toilet for wheelchair users* is shown if with toilets:wheelchair=yes
+ - *No wheelchair access* is shown if with toilets:wheelchair=no
+ - *There is only a dedicated toilet for wheelchair users* is shown if with toilets:wheelchair=designated
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes
+This tagrendering has labels `relevant-questions` `wheelchair` `hidden` `no-prefix` `amenity-no-prefix` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilets-type
+The question is `Which kind of toilets are these?`
+
+ - *There are only seated toilets* is shown if with toilets:position=seated
+ - *There are only urinals here* is shown if with toilets:position=urinal
+ - *There are only squat toilets here* is shown if with toilets:position=squat
+ - *Both seated toilets and urinals are available here* is shown if with toilets:position=seated;urinal
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes
+This tagrendering has labels `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilets-disposal
+The question is `How is the waste handled?`
+
+ - *The waste is moved away by flushing the toilet with water* is shown if with toilets:disposal=flush
+ - *The waste falls into a pit* is shown if with toilets:disposal=pitlatrine
+ - *The waste is collected in a bucket or similar container, which is regularly removed* is shown if with toilets:disposal=bucket
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes
+This tagrendering has labels `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### menstrual_products
+The question is `Are free, menstrual products distributed here?`
+
+ - *Free menstrual products are available to all visitors of these toilets* is shown if with toilets:menstrual_products=yes
+ - *Free menstrual products are available to some visitors of these toilets* is shown if with toilets:menstrual_products=limited
+ - *No free menstrual products are available here* is shown if with toilets:menstrual_products=no
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes
+This tagrendering has labels `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### menstrual_products_location
+The question is `Where are the free menstrual products located?`
+
+*The menstrual products are located in {toilets:menstrual_products:location}* is shown if `toilets:menstrual_products:location` is set.
+
+ - *The free, menstrual products are located in the toilet for women* is shown if with toilets:menstrual_products:location=female_toilet
+ - *The free, menstrual products are located in the toilet for men* is shown if with toilets:menstrual_products:location=male_toilet
+ - *The free, menstrual products are located in the toilet for wheelchair users* is shown if with toilets:menstrual_products:location=wheelchair_toilet
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & (toilets:menstrual_products=limited | toilets:menstrual_products:location~.+)
+This tagrendering has labels `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilets-changing-table
+The question is `Is a changing table (to change diapers) available?`
+
+ - *A changing table is available* is shown if with changing_table=yes
+ - *No changing table is available* is shown if with changing_table=no
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes
+This tagrendering has labels `relevant-questions` `no-prefix` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilet-changing_table:location
+The question is `Where is the changing table located?`
+
+*A changing table is located at {changing_table:location}* is shown if `changing_table:location` is set.
+
+ - *A changing table is in the toilet for women* is shown if with changing_table:location=female_toilet
+ - *A changing table is in the toilet for men* is shown if with changing_table:location=male_toilet
+ - *A changing table is in the toilet for wheelchair users* is shown if with changing_table:location=wheelchair_toilet
+ - *A changing table is in a dedicated room* is shown if with changing_table:location=dedicated_room
+
+This tagrendering is only visible in the popup if the following condition is met: changing_table=yes & toilets=yes
+This tagrendering has labels `relevant-questions` `no-prefix` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilet-has-paper
+The question is `Does one have to bring their own toilet paper to this toilet?`
+
+ - *This toilet is equipped with toilet paper* is shown if with toilets:paper_supplied=yes
+ - *You have to bring your own toilet paper to this toilet* is shown if with toilets:paper_supplied=no
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & toilets:position!=urinal
+This tagrendering has labels `relevant-questions` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilet-handwashing
+The question is `Do these toilets have a sink to wash your hands?`
+
+ - *These toilets have a sink to wash your hands* is shown if with toilets:handwashing=yes
+ - *These toilets don't have a sink to wash your hands* is shown if with toilets:handwashing=no
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes
+This tagrendering has labels `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilet-drying
+The question is `Do these toilets have a device to dry your hands?`
+
+ - *Electric hand dryers are available for drying hands.* is shown if with toilets:hands_drying=electric_hand_dryer
+ - *Paper towels are available for drying hands.* is shown if with toilets:hands_drying=paper_towel
+ - *A towel roll cabinet is available for drying hands* is shown if with toilets:hands_drying=towel_cabinet
+ - *A fabric towel available to dry your hands.* is shown if with toilets:hands_drying=towel
+ - *There are no hand drying facilities available.* is shown if with toilets:hands_drying=no
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & toilets:handwashing=yes
+This tagrendering has labels `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### wheelchair-group
+_This tagrendering has no question and is thus read-only_
+
+*{group(wheelchair-title,wheelchair;adult-changing-table,)}*
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes
+This tagrendering has labels `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### wheelchair-picture-carousel
+_This tagrendering has no question and is thus read-only_
+
+*{image_carousel(toilets:wheelchair:panoramax;toilets:wheelchair:image;toilets:wheelchair:mapillary)}*
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & (toilets:wheelchair=yes | (amenity=toilets & wheelchair=yes))
+This tagrendering has labels `wheelchair` `hidden` `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### wheelchair-picture
+_This tagrendering has no question and is thus read-only_
+
+*{image_upload(toilets:wheelchair:panoramax,Add a picture of the wheelchair accessible toilet,)}*
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & (toilets:wheelchair=yes | (amenity=toilets & wheelchair=yes))
+This tagrendering has labels `wheelchair` `hidden` `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### wheelchair-title
+_This tagrendering has no question and is thus read-only_
+
+*Wheelchair accessible toilet*
+
+ - *Wheelchair accessibility features* is shown if with wheelchair=designated | toilets:wheelchair=designated
+ - *No wheelchair accessible toilet* is shown if with wheelchair=no | toilets:wheelchair=no
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes
+This tagrendering has labels `hidden` `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilet-wheelchair-access
+The question is `Is the wheelchair-accessible toilet locked?`
+
+ - *The wheelchair accessible toilets are freely accessible* is shown if with toilets:wheelchair:access=yes
+ - *One needs to ask permission to access wheelchair-accessible toilet, e.g. by asking a key* is shown if with toilets:wheelchair:access=key
+ - *One can use a Master Locksmiths Access Key(MLAK) to access this bathroom* is shown if with centralkey=mlak
+ - *One can use a RADAR Key to access this bathroom* is shown if with centralkey=nks
+ - *One can use a EuroKey to access this bathroom* is shown if with centralkey=eurokey
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & (toilets:wheelchair=yes | (amenity=toilets & wheelchair=yes)) & (access=yes | access=public | access=customers | access=)
+This tagrendering has labels `hidden` `wheelchair` `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilets_wheelchair_has_grab_rail_lr
+The question is `Is there a grab rail?`
+
+ - *Grab rails on both sides* is shown if with toilets:wheelchair:grab_rail:left=yes & toilets:wheelchair:grab_rail:right=yes
+ - *Only grab rails on the left side* is shown if with toilets:wheelchair:grab_rail:left=yes & toilets:wheelchair:grab_rail:right=no
+ - *Grab rails on the right side* is shown if with toilets:wheelchair:grab_rail:left=no & toilets:wheelchair:grab_rail:right=yes
+ - *No grab rails at all* is shown if with toilets:wheelchair:grab_rail:left=no & toilets:wheelchair:grab_rail:right=no
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & (toilets:wheelchair=yes | (amenity=toilets & wheelchair=yes))
+This tagrendering has labels `wheelchair` `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilets_wheelchair_has_grab_rail_behind
+The question is `Does the toilet have a grab rail behind the toilet?`
+
+ - *Has a grab rail behind the toilet* is shown if with toilets:wheelchair:grab_rail:behind=yes
+ - *No grab rail behind the toilet* is shown if with toilets:wheelchair:grab_rail:behind=no
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & (toilets:wheelchair=yes | (amenity=toilets & wheelchair=yes))
+This tagrendering has labels `wheelchair` `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilets_wheelchair_is_foldable_left
+The question is `Is the left grab rail foldable?`
+
+ - *The left grab rail is foldable* is shown if with toilets:wheelchair:is_foldable:left=yes
+ - *The left grab rail is not foldable* is shown if with toilets:wheelchair:is_foldable:left=no
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & toilets:wheelchair:grab_rail:left=yes & (toilets:wheelchair=yes | (amenity=toilets & wheelchair=yes))
+This tagrendering has labels `generic_questions` `wheelchair` `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilets_wheelchair_is_foldable_right
+The question is `Is the right grab rail foldable?`
+
+ - *The right grab rail is foldable* is shown if with toilets:wheelchair:is_foldable:right=yes
+ - *The right grab rail is not foldable* is shown if with toilets:wheelchair:is_foldable:right=no
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & toilets:wheelchair:grab_rail:right=yes & (toilets:wheelchair=yes | (amenity=toilets & wheelchair=yes))
+This tagrendering has labels `generic_questions` `wheelchair` `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### wheelchair-door-width
+The question is `What is the width of the door to the wheelchair accessible toilet?`
+
+*The door to the wheelchair-accessible toilet is {canonical(door:width)} wide* is shown if `door:width` is set.
+
+The allowed input is of type pfloat and is in range 0.4 until 4 (both inclusive). A warning will appear if the value is outside of 0.6 and 2.
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & (toilets:wheelchair=designated | (amenity=toilet & wheelchair~^(yes|designated)$))
+This tagrendering has labels `relevant-questions` `wheelchair` `hidden` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### questions-wheelchair
+_This tagrendering has no question and is thus read-only_
+
+*{questions(wheelchair,,)}*
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes
+This tagrendering has labels `wheelchair` `hidden` `relevant-questions` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### adult_changing_table_title
+_This tagrendering has no question and is thus read-only_
+
+*Adult changing table*
+
+This tagrendering is only visible in the popup if the following condition is met: changing_table:adult=yes & toilets=yes
+This tagrendering has labels `hidden` `prefixed` `adult-changing-table` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### adult-changing-table
+The question is `Does this toilet have an adult changing table?`
+
+ - *Has a changing table for adults* is shown if with changing_table:adult=yes
+ - *No changing table for adults* is shown if with changing_table:adult=no
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes
+This tagrendering has labels `prefixed` `hidden` `relevant-questions` `adult-changing-table` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### changing_table_adult_height
+The question is `What is the height of the adult changing table?`
+
+*The changing table is {canonical(changing_table:adult:height)} high* is shown if `changing_table:adult:height` is set.
+
+The allowed input is of type pfloat and is in range 0.4 until 2 (both inclusive). A warning will appear if the value is outside of 0.8 and 1.7.
+
+ - *The changing table is adjustable in height* is shown if with changing_table:adult:height=adjustable
+
+This tagrendering is only visible in the popup if the following condition is met: changing_table:adult=yes & toilets=yes
+This tagrendering has labels `relevant_questions` `hidden` `prefixed` `adult-changing-table` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### changing_table_adult_adult-changing-table-min_height
+The question is `What is the lowest height the adult changing table can be moved to?`
+
+*The lowest height of the adult changing table is {canonical(changing_table:adult:min_height)}* is shown if `changing_table:adult:min_height` is set.
+
+The allowed input is of type pfloat and is in range 0.4 until 2 (both inclusive). A warning will appear if the value is outside of 0.8 and 1.7.
+
+This tagrendering is only visible in the popup if the following condition is met: changing_table:adult=yes & changing_table:adult:height=adjustable & toilets=yes
+This tagrendering has labels `relevant_questions` `hidden` `prefixed` `adult-changing-table` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### changing_table_adult_adult-changing-table-max_height
+The question is `What is the highest height the adult changing table can be moved to?`
+
+*The highest height of the adult changing table is {canonical(changing_table:adult:max_height)}* is shown if `changing_table:adult:max_height` is set.
+
+The allowed input is of type pfloat and is in range 0.4 until 2 (both inclusive). A warning will appear if the value is outside of 0.8 and 1.7.
+
+This tagrendering is only visible in the popup if the following condition is met: changing_table:adult=yes & changing_table:adult:height=adjustable & toilets=yes
+This tagrendering has labels `relevant_questions` `hidden` `prefixed` `adult-changing-table` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### changing_table_adult_adult-changing-table-mechanism
+The question is `How is the height of the changing table adjusted?`
+
+ - *The height of the adult changing table is adjusted manually* is shown if with changing_table:adult:height:mechanism=manual
+ - *The height of the adult changing table is adjusted electrically* is shown if with changing_table:adult:height:mechanism=electric
+
+This tagrendering is only visible in the popup if the following condition is met: changing_table:adult=yes & changing_table:adult:height=adjustable & toilets=yes
+This tagrendering has labels `relevant_questions` `hidden` `prefixed` `adult-changing-table` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### changing_table_adult_adult-changing-table-support
+The question is `How is the adult changing table supported?`
+
+ - *The changing table is mounted to the wall* is shown if with changing_table:adult:support=wall_mounted
+ - *The changing table stands on table legs* is shown if with changing_table:adult:support=legs
+ - *The changing table stands on table legs with wheels and can be moved* is shown if with changing_table:adult:support=wheels
+
+This tagrendering is only visible in the popup if the following condition is met: changing_table:adult=yes & toilets=yes
+This tagrendering has labels `relevant_questions` `hidden` `prefixed` `adult-changing-table` `hidden` `prefixed` `adult-changing-table` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### questions-adult-changing-table
+_This tagrendering has no question and is thus read-only_
+
+*{questions(adult-changing-table,,yes)}*
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes
+This tagrendering has labels `hidden` `relevant-questions` `adult-changing-table` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilet-question-box
+_This tagrendering has no question and is thus read-only_
+
+*{questions(toilet-questions,wheelchair;adult-changing-table,)}*
+
+This tagrendering has labels `toilet-questions` `all` `hidden`
### questions
Show the questions block at this location
diff --git a/Docs/Layers/group_hostel.md b/Docs/Layers/group_hostel.md
index 05b3bc41f..a63b80b1d 100644
--- a/Docs/Layers/group_hostel.md
+++ b/Docs/Layers/group_hostel.md
@@ -7,6 +7,7 @@ This layer is based on [tourism_accomodation](../Layers/tourism_accomodation.md)
Various types of lodging facilities
- This layer is shown at zoomlevel **7** and higher
+ - This layer will automatically load [toilet](./toilet.md) into the layout as it depends on it: tagrendering has_toilets needs this layer (has_toilets)
## Table of contents
@@ -25,7 +26,49 @@ Various types of lodging facilities
- [email](#email)
- [website](#website)
- [wheelchair-access](#wheelchair-access)
- - [toiletatamenitytoiletswheelchair](#toiletatamenitytoiletswheelchair)
+ - [toilets-group](#toilets-group)
+ - [grouptitle](#grouptitle)
+ - [has_toilets](#has_toilets)
+ - [images_toilet](#images_toilet)
+ - [toilets_repeated](#toilets_repeated)
+ - [toilets_single_level](#toilets_single_level)
+ - [toilets_toilet-access](#toilets_toilet-access)
+ - [toilets_toilets-fee](#toilets_toilets-fee)
+ - [toilets_toilet-charge](#toilets_toilet-charge)
+ - [toilets_payment-options-split](#toilets_payment-options-split)
+ - [toilets_gender_segregated](#toilets_gender_segregated)
+ - [toilets_toilet-supervised](#toilets_toilet-supervised)
+ - [toilets_description](#toilets_description)
+ - [toilets_toilets-wheelchair](#toilets_toilets-wheelchair)
+ - [toilets-type](#toilets-type)
+ - [toilets-disposal](#toilets-disposal)
+ - [menstrual_products](#menstrual_products)
+ - [menstrual_products_location](#menstrual_products_location)
+ - [toilets-changing-table](#toilets-changing-table)
+ - [toilet-changing_table:location](#toilet-changing_tablelocation)
+ - [toilet-has-paper](#toilet-has-paper)
+ - [toilet-handwashing](#toilet-handwashing)
+ - [toilet-drying](#toilet-drying)
+ - [wheelchair-group](#wheelchair-group)
+ - [wheelchair-picture-carousel](#wheelchair-picture-carousel)
+ - [wheelchair-picture](#wheelchair-picture)
+ - [wheelchair-title](#wheelchair-title)
+ - [toilet-wheelchair-access](#toilet-wheelchair-access)
+ - [toilets_wheelchair_has_grab_rail_lr](#toilets_wheelchair_has_grab_rail_lr)
+ - [toilets_wheelchair_has_grab_rail_behind](#toilets_wheelchair_has_grab_rail_behind)
+ - [toilets_wheelchair_is_foldable_left](#toilets_wheelchair_is_foldable_left)
+ - [toilets_wheelchair_is_foldable_right](#toilets_wheelchair_is_foldable_right)
+ - [wheelchair-door-width](#wheelchair-door-width)
+ - [questions-wheelchair](#questions-wheelchair)
+ - [adult_changing_table_title](#adult_changing_table_title)
+ - [adult-changing-table](#adult-changing-table)
+ - [changing_table_adult_height](#changing_table_adult_height)
+ - [changing_table_adult_adult-changing-table-min_height](#changing_table_adult_adult-changing-table-min_height)
+ - [changing_table_adult_adult-changing-table-max_height](#changing_table_adult_adult-changing-table-max_height)
+ - [changing_table_adult_adult-changing-table-mechanism](#changing_table_adult_adult-changing-table-mechanism)
+ - [changing_table_adult_adult-changing-table-support](#changing_table_adult_adult-changing-table-support)
+ - [questions-adult-changing-table](#questions-adult-changing-table)
+ - [toilet-question-box](#toilet-question-box)
- [internet](#internet)
- [internet-fee](#internet-fee)
- [internet-ssid](#internet-ssid)
@@ -70,6 +113,37 @@ Elements must match **all** of the following expressions:
| [email](https://wiki.openstreetmap.org/wiki/Key:email) | [email](../SpecialInputElements.md#email) | |
| [website](https://wiki.openstreetmap.org/wiki/Key:website) | [url](../SpecialInputElements.md#url) | |
| [wheelchair](https://wiki.openstreetmap.org/wiki/Key:wheelchair) | Multiple choice | [designated](https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Ddesignated) [yes](https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Dyes) [limited](https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Dlimited) [no](https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Dno) |
+| [toilets](https://wiki.openstreetmap.org/wiki/Key:toilets) | Multiple choice | [no](https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dno) |
+| [toilets](https://wiki.openstreetmap.org/wiki/Key:toilets) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dno) [separate](https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dseparate) |
+| [toilets:level](https://wiki.openstreetmap.org/wiki/Key:toilets:level) | [float](../SpecialInputElements.md#float) | [0](https://wiki.openstreetmap.org/wiki/Tag:toilets:level%3D0) [1](https://wiki.openstreetmap.org/wiki/Tag:toilets:level%3D1) [-1](https://wiki.openstreetmap.org/wiki/Tag:toilets:level%3D-1) |
+| [toilets:access](https://wiki.openstreetmap.org/wiki/Key:toilets:access) | [string](../SpecialInputElements.md#string) | [yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:access%3Dyes) [customers](https://wiki.openstreetmap.org/wiki/Tag:toilets:access%3Dcustomers) [no](https://wiki.openstreetmap.org/wiki/Tag:toilets:access%3Dno) [key](https://wiki.openstreetmap.org/wiki/Tag:toilets:access%3Dkey) |
+| [toilets:fee](https://wiki.openstreetmap.org/wiki/Key:toilets:fee) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:fee%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:toilets:fee%3Dno) |
+| [toilets:charge](https://wiki.openstreetmap.org/wiki/Key:toilets:charge) | [string](../SpecialInputElements.md#string) | |
+| [toilets:gender_segregated](https://wiki.openstreetmap.org/wiki/Key:toilets:gender_segregated) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:gender_segregated%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:toilets:gender_segregated%3Dno) |
+| [toilets:supervised](https://wiki.openstreetmap.org/wiki/Key:toilets:supervised) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:supervised%3Dyes) [interval](https://wiki.openstreetmap.org/wiki/Tag:toilets:supervised%3Dinterval) [no](https://wiki.openstreetmap.org/wiki/Tag:toilets:supervised%3Dno) |
+| [toilets:description](https://wiki.openstreetmap.org/wiki/Key:toilets:description) | [text](../SpecialInputElements.md#text) | |
+| [toilets:wheelchair](https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair%3Dno) [designated](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair%3Ddesignated) |
+| [toilets:position](https://wiki.openstreetmap.org/wiki/Key:toilets:position) | Multiple choice | [seated](https://wiki.openstreetmap.org/wiki/Tag:toilets:position%3Dseated) [urinal](https://wiki.openstreetmap.org/wiki/Tag:toilets:position%3Durinal) [squat](https://wiki.openstreetmap.org/wiki/Tag:toilets:position%3Dsquat) [seated;urinal](https://wiki.openstreetmap.org/wiki/Tag:toilets:position%3Dseated;urinal) |
+| [toilets:disposal](https://wiki.openstreetmap.org/wiki/Key:toilets:disposal) | Multiple choice | [flush](https://wiki.openstreetmap.org/wiki/Tag:toilets:disposal%3Dflush) [pitlatrine](https://wiki.openstreetmap.org/wiki/Tag:toilets:disposal%3Dpitlatrine) [bucket](https://wiki.openstreetmap.org/wiki/Tag:toilets:disposal%3Dbucket) |
+| [toilets:menstrual_products](https://wiki.openstreetmap.org/wiki/Key:toilets:menstrual_products) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:menstrual_products%3Dyes) [limited](https://wiki.openstreetmap.org/wiki/Tag:toilets:menstrual_products%3Dlimited) [no](https://wiki.openstreetmap.org/wiki/Tag:toilets:menstrual_products%3Dno) |
+| [toilets:menstrual_products:location](https://wiki.openstreetmap.org/wiki/Key:toilets:menstrual_products:location) | [string](../SpecialInputElements.md#string) | [female_toilet](https://wiki.openstreetmap.org/wiki/Tag:toilets:menstrual_products:location%3Dfemale_toilet) [male_toilet](https://wiki.openstreetmap.org/wiki/Tag:toilets:menstrual_products:location%3Dmale_toilet) [wheelchair_toilet](https://wiki.openstreetmap.org/wiki/Tag:toilets:menstrual_products:location%3Dwheelchair_toilet) |
+| [changing_table](https://wiki.openstreetmap.org/wiki/Key:changing_table) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:changing_table%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:changing_table%3Dno) |
+| [changing_table:location](https://wiki.openstreetmap.org/wiki/Key:changing_table:location) | [string](../SpecialInputElements.md#string) | [female_toilet](https://wiki.openstreetmap.org/wiki/Tag:changing_table:location%3Dfemale_toilet) [male_toilet](https://wiki.openstreetmap.org/wiki/Tag:changing_table:location%3Dmale_toilet) [wheelchair_toilet](https://wiki.openstreetmap.org/wiki/Tag:changing_table:location%3Dwheelchair_toilet) [dedicated_room](https://wiki.openstreetmap.org/wiki/Tag:changing_table:location%3Ddedicated_room) |
+| [toilets:paper_supplied](https://wiki.openstreetmap.org/wiki/Key:toilets:paper_supplied) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:paper_supplied%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:toilets:paper_supplied%3Dno) |
+| [toilets:handwashing](https://wiki.openstreetmap.org/wiki/Key:toilets:handwashing) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:handwashing%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:toilets:handwashing%3Dno) |
+| [toilets:hands_drying](https://wiki.openstreetmap.org/wiki/Key:toilets:hands_drying) | Multiple choice | [electric_hand_dryer](https://wiki.openstreetmap.org/wiki/Tag:toilets:hands_drying%3Delectric_hand_dryer) [paper_towel](https://wiki.openstreetmap.org/wiki/Tag:toilets:hands_drying%3Dpaper_towel) [towel_cabinet](https://wiki.openstreetmap.org/wiki/Tag:toilets:hands_drying%3Dtowel_cabinet) [towel](https://wiki.openstreetmap.org/wiki/Tag:toilets:hands_drying%3Dtowel) [no](https://wiki.openstreetmap.org/wiki/Tag:toilets:hands_drying%3Dno) |
+| [wheelchair](https://wiki.openstreetmap.org/wiki/Key:wheelchair) | Multiple choice | [designated](https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Ddesignated) [no](https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Dno) |
+| [toilets:wheelchair:grab_rail:left](https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair:grab_rail:left) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:grab_rail:left%3Dyes) [yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:grab_rail:left%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:grab_rail:left%3Dno) [no](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:grab_rail:left%3Dno) |
+| [toilets:wheelchair:grab_rail:behind](https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair:grab_rail:behind) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:grab_rail:behind%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:grab_rail:behind%3Dno) |
+| [toilets:wheelchair:is_foldable:left](https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair:is_foldable:left) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:is_foldable:left%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:is_foldable:left%3Dno) |
+| [toilets:wheelchair:is_foldable:right](https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair:is_foldable:right) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:is_foldable:right%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:is_foldable:right%3Dno) |
+| [door:width](https://wiki.openstreetmap.org/wiki/Key:door:width) | [pfloat](../SpecialInputElements.md#pfloat) | |
+| [changing_table:adult](https://wiki.openstreetmap.org/wiki/Key:changing_table:adult) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult%3Dno) |
+| [changing_table:adult:height](https://wiki.openstreetmap.org/wiki/Key:changing_table:adult:height) | [pfloat](../SpecialInputElements.md#pfloat) | [adjustable](https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult:height%3Dadjustable) |
+| [changing_table:adult:min_height](https://wiki.openstreetmap.org/wiki/Key:changing_table:adult:min_height) | [pfloat](../SpecialInputElements.md#pfloat) | |
+| [changing_table:adult:max_height](https://wiki.openstreetmap.org/wiki/Key:changing_table:adult:max_height) | [pfloat](../SpecialInputElements.md#pfloat) | |
+| [changing_table:adult:height:mechanism](https://wiki.openstreetmap.org/wiki/Key:changing_table:adult:height:mechanism) | Multiple choice | [manual](https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult:height:mechanism%3Dmanual) [electric](https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult:height:mechanism%3Delectric) |
+| [changing_table:adult:support](https://wiki.openstreetmap.org/wiki/Key:changing_table:adult:support) | Multiple choice | [wall_mounted](https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult:support%3Dwall_mounted) [legs](https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult:support%3Dlegs) [wheels](https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult:support%3Dwheels) |
| [internet_access](https://wiki.openstreetmap.org/wiki/Key:internet_access) | Multiple choice | [wlan](https://wiki.openstreetmap.org/wiki/Tag:internet_access%3Dwlan) [no](https://wiki.openstreetmap.org/wiki/Tag:internet_access%3Dno) [terminal](https://wiki.openstreetmap.org/wiki/Tag:internet_access%3Dterminal) [wired](https://wiki.openstreetmap.org/wiki/Tag:internet_access%3Dwired) [terminal;wlan](https://wiki.openstreetmap.org/wiki/Tag:internet_access%3Dterminal;wlan) |
| [internet_access:fee](https://wiki.openstreetmap.org/wiki/Key:internet_access:fee) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:internet_access:fee%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:internet_access:fee%3Dno) [customers](https://wiki.openstreetmap.org/wiki/Tag:internet_access:fee%3Dcustomers) |
| [internet_access:ssid](https://wiki.openstreetmap.org/wiki/Key:internet_access:ssid) | [string](../SpecialInputElements.md#string) | [Telekom](https://wiki.openstreetmap.org/wiki/Tag:internet_access:ssid%3DTelekom) |
@@ -89,12 +163,54 @@ Elements must match **all** of the following expressions:
| [email](#email) _(Original in [questions](./BuiltinQuestions.md#email))_ | What is the email address of ? _{email}_ 2 options | contact | *[email](https://wiki.osm.org/wiki/Key:email)* ([email](../SpecialInputElements.md#email)) |
| [website](#website) _(Original in [questions](./BuiltinQuestions.md#website))_ | What is the website of ? _{website}_ 1 options | contact | *[website](https://wiki.osm.org/wiki/Key:website)* ([url](../SpecialInputElements.md#url)) |
| [wheelchair-access](#wheelchair-access) _(Original in [questions](./BuiltinQuestions.md#wheelchair-access))_ | Is this place accessible with a wheelchair? 4 options | | _Multiple choice only_ |
-| [toiletatamenitytoiletswheelchair](#toiletatamenitytoiletswheelchair) | _toilet_at_amenity.toilets-wheelchair_ | | _Multiple choice only_ |
+| [toilets-group](#toilets-group) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets-group))_ | _{group(grouptitle,toilet-questions,wheelchair;wheelchair-title;adult-changing-table)}_ | all | _Multiple choice only_ |
+| [grouptitle](#grouptitle) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#grouptitle))_ | _Toilet information_ 1 options | all, hidden | _Multiple choice only_ |
+| [has_toilets](#has_toilets) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#has_toilets))_ | Has toilets? 3 options | toilet-questions, hidden, all | _Multiple choice only_ |
+| [images_toilet](#images_toilet) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#images_toilet))_ | _{image_carousel(toilets:panoramax;toilets:mapillary;toilets:images)}{image_upload(toilets:panoramax,Add a picture of the toilets,)}_ | relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [toilets_repeated](#toilets_repeated) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets_repeated))_ | _Multiple, identical objects can be found on floors {toilets:repeat_on}._ | level, amenity-no-prefix, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [toilets_single_level](#toilets_single_level) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets_single_level))_ | On what level is this feature located? _Located on the {toilets:level}th floor_ 5 options | level, amenity-no-prefix, relevant_questions, toilet-questions, hidden, all | *[toilets:level](https://wiki.osm.org/wiki/Key:toilets:level)* ([float](../SpecialInputElements.md#float)) |
+| [toilets_toilet-access](#toilets_toilet-access) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets_toilet-access))_ | Are these toilets publicly accessible? _Access is {toilets:access}_ 4 options | relevant-questions, amenity-no-prefix, relevant_questions, toilet-questions, hidden, all | *[toilets:access](https://wiki.osm.org/wiki/Key:toilets:access)* ([string](../SpecialInputElements.md#string)) |
+| [toilets_toilets-fee](#toilets_toilets-fee) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets_toilets-fee))_ | Are these toilets free to use? 2 options | relevant-questions, amenity-no-prefix, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [toilets_toilet-charge](#toilets_toilet-charge) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets_toilet-charge))_ | How much does one have to pay for these toilets? _The fee is {toilets:charge}_ | relevant-questions, amenity-no-prefix, relevant_questions, toilet-questions, hidden, all | *[toilets:charge](https://wiki.osm.org/wiki/Key:toilets:charge)* ([string](../SpecialInputElements.md#string)) |
+| [toilets_payment-options-split](#toilets_payment-options-split) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets_payment-options-split))_ | Which methods of payment are accepted here? 7 options | relevant-questions, amenity-no-prefix, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [toilets_gender_segregated](#toilets_gender_segregated) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets_gender_segregated))_ | Are these toilets gender-segregated? 2 options | relevant-questions, no-prefix, amenity-no-prefix, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [toilets_toilet-supervised](#toilets_toilet-supervised) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets_toilet-supervised))_ | Is this toilets supervised by a person? 3 options | relevant-questions, no-prefix, amenity-no-prefix, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [toilets_description](#toilets_description) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets_description))_ | Is there still some relevant info that the previous questions did not cover? Feel free to add it here. _{toilets:description}_ | amenity-no-prefix, no-prefix, relevant-questions, relevant_questions, toilet-questions, hidden, all | *[toilets:description](https://wiki.osm.org/wiki/Key:toilets:description)* ([text](../SpecialInputElements.md#text)) |
+| [toilets_toilets-wheelchair](#toilets_toilets-wheelchair) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets_toilets-wheelchair))_ | Is there a dedicated toilet for wheelchair users? 3 options | relevant-questions, wheelchair, hidden, no-prefix, amenity-no-prefix, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [toilets-type](#toilets-type) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets-type))_ | Which kind of toilets are these? 4 options | relevant-questions, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [toilets-disposal](#toilets-disposal) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets-disposal))_ | How is the waste handled? 3 options | relevant-questions, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [menstrual_products](#menstrual_products) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#menstrual_products))_ | Are free, menstrual products distributed here? 3 options | relevant-questions, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [menstrual_products_location](#menstrual_products_location) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#menstrual_products_location))_ | Where are the free menstrual products located? _The menstrual products are located in {toilets:menstrual_products:location}_ 3 options | relevant-questions, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | *[toilets:menstrual_products:location](https://wiki.osm.org/wiki/Key:toilets:menstrual_products:location)* ([string](../SpecialInputElements.md#string)) |
+| [toilets-changing-table](#toilets-changing-table) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets-changing-table))_ | Is a changing table (to change diapers) available? 2 options | relevant-questions, no-prefix, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [toilet-changing_table:location](#toilet-changing_table:location) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilet-changing_table:location))_ | Where is the changing table located? _A changing table is located at {changing_table:location}_ 4 options | relevant-questions, no-prefix, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | *[changing_table:location](https://wiki.osm.org/wiki/Key:changing_table:location)* ([string](../SpecialInputElements.md#string)) |
+| [toilet-has-paper](#toilet-has-paper) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilet-has-paper))_ | Does one have to bring their own toilet paper to this toilet? 2 options | relevant-questions, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [toilet-handwashing](#toilet-handwashing) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilet-handwashing))_ | Do these toilets have a sink to wash your hands? 2 options | relevant-questions, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [toilet-drying](#toilet-drying) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilet-drying))_ | Do these toilets have a device to dry your hands? 5 options | relevant-questions, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [wheelchair-group](#wheelchair-group) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#wheelchair-group))_ | _{group(wheelchair-title,wheelchair;adult-changing-table,)}_ | relevant-questions, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [wheelchair-picture-carousel](#wheelchair-picture-carousel) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#wheelchair-picture-carousel))_ | _{image_carousel(toilets:wheelchair:panoramax;toilets:wheelchair:image;toilets:wheelchair:mapillary)}_ | wheelchair, hidden, relevant-questions, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [wheelchair-picture](#wheelchair-picture) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#wheelchair-picture))_ | _{image_upload(toilets:wheelchair:panoramax,Add a picture of the wheelchair accessible toilet,)}_ | wheelchair, hidden, relevant-questions, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [wheelchair-title](#wheelchair-title) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#wheelchair-title))_ | _Wheelchair accessible toilet_ 2 options | hidden, relevant-questions, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [toilet-wheelchair-access](#toilet-wheelchair-access) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilet-wheelchair-access))_ | Is the wheelchair-accessible toilet locked? 5 options | hidden, wheelchair, relevant-questions, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [toilets_wheelchair_has_grab_rail_lr](#toilets_wheelchair_has_grab_rail_lr) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets_wheelchair_has_grab_rail_lr))_ | Is there a grab rail? 4 options | wheelchair, relevant-questions, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [toilets_wheelchair_has_grab_rail_behind](#toilets_wheelchair_has_grab_rail_behind) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets_wheelchair_has_grab_rail_behind))_ | Does the toilet have a grab rail behind the toilet? 2 options | wheelchair, relevant-questions, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [toilets_wheelchair_is_foldable_left](#toilets_wheelchair_is_foldable_left) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets_wheelchair_is_foldable_left))_ | Is the left grab rail foldable? 2 options | generic_questions, wheelchair, relevant-questions, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [toilets_wheelchair_is_foldable_right](#toilets_wheelchair_is_foldable_right) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets_wheelchair_is_foldable_right))_ | Is the right grab rail foldable? 2 options | generic_questions, wheelchair, relevant-questions, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [wheelchair-door-width](#wheelchair-door-width) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#wheelchair-door-width))_ | What is the width of the door to the wheelchair accessible toilet? _The door to the wheelchair-accessible toilet is {canonical(door:width)} wide_ | relevant-questions, wheelchair, hidden, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | *[door:width](https://wiki.osm.org/wiki/Key:door:width)* ([pfloat](../SpecialInputElements.md#pfloat)) |
+| [questions-wheelchair](#questions-wheelchair) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#questions-wheelchair))_ | _{questions(wheelchair,,)}_ | wheelchair, hidden, relevant-questions, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [adult_changing_table_title](#adult_changing_table_title) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#adult_changing_table_title))_ | _Adult changing table_ | hidden, prefixed, adult-changing-table, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [adult-changing-table](#adult-changing-table) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#adult-changing-table))_ | Does this toilet have an adult changing table? 2 options | prefixed, hidden, relevant-questions, adult-changing-table, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [changing_table_adult_height](#changing_table_adult_height) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#changing_table_adult_height))_ | What is the height of the adult changing table? _The changing table is {canonical(changing_table:adult:height)} high_ 1 options | relevant_questions, hidden, prefixed, adult-changing-table, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | *[changing_table:adult:height](https://wiki.osm.org/wiki/Key:changing_table:adult:height)* ([pfloat](../SpecialInputElements.md#pfloat)) |
+| [changing_table_adult_adult-changing-table-min_height](#changing_table_adult_adult-changing-table-min_height) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#changing_table_adult_adult-changing-table-min_height))_ | What is the lowest height the adult changing table can be moved to? _The lowest height of the adult changing table is {canonical(changing_table:adult:min_height)}_ | relevant_questions, hidden, prefixed, adult-changing-table, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | *[changing_table:adult:min_height](https://wiki.osm.org/wiki/Key:changing_table:adult:min_height)* ([pfloat](../SpecialInputElements.md#pfloat)) |
+| [changing_table_adult_adult-changing-table-max_height](#changing_table_adult_adult-changing-table-max_height) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#changing_table_adult_adult-changing-table-max_height))_ | What is the highest height the adult changing table can be moved to? _The highest height of the adult changing table is {canonical(changing_table:adult:max_height)}_ | relevant_questions, hidden, prefixed, adult-changing-table, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | *[changing_table:adult:max_height](https://wiki.osm.org/wiki/Key:changing_table:adult:max_height)* ([pfloat](../SpecialInputElements.md#pfloat)) |
+| [changing_table_adult_adult-changing-table-mechanism](#changing_table_adult_adult-changing-table-mechanism) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#changing_table_adult_adult-changing-table-mechanism))_ | How is the height of the changing table adjusted? 2 options | relevant_questions, hidden, prefixed, adult-changing-table, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [changing_table_adult_adult-changing-table-support](#changing_table_adult_adult-changing-table-support) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#changing_table_adult_adult-changing-table-support))_ | How is the adult changing table supported? 3 options | relevant_questions, hidden, prefixed, adult-changing-table, hidden, prefixed, adult-changing-table, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [questions-adult-changing-table](#questions-adult-changing-table) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#questions-adult-changing-table))_ | _{questions(adult-changing-table,,yes)}_ | hidden, relevant-questions, adult-changing-table, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [toilet-question-box](#toilet-question-box) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilet-question-box))_ | _{questions(toilet-questions,wheelchair;adult-changing-table,)}_ | toilet-questions, all, hidden | _Multiple choice only_ |
| [internet](#internet) _(Original in [questions](./BuiltinQuestions.md#internet))_ | Does this place offer internet access? 6 options | internet-all | _Multiple choice only_ |
| [internet-fee](#internet-fee) _(Original in [questions](./BuiltinQuestions.md#internet-fee))_ | Is there a fee for internet access? 3 options | internet-all | _Multiple choice only_ |
| [internet-ssid](#internet-ssid) _(Original in [questions](./BuiltinQuestions.md#internet-ssid))_ | What is the network name for the wireless internet access? _The network name is {internet_access:ssid}_ 1 options | internet-all | *[internet_access:ssid](https://wiki.osm.org/wiki/Key:internet_access:ssid)* ([string](../SpecialInputElements.md#string)) |
| [dog-access](#dog-access) _(Original in [questions](./BuiltinQuestions.md#dog-access))_ | Are dogs allowed in this business? 5 options | | _Multiple choice only_ |
-| [leftover-questions](#leftover-questions) | _{questions( ,hidden)}_ | ignore-docs, added_by_default | _Multiple choice only_ |
+| [leftover-questions](#leftover-questions) | _{questions( ,hidden;wheelchair;adult-changing-table;toilet-questions)}_ | ignore-docs, added_by_default | _Multiple choice only_ |
| [move-button](#move-button) | _{move_button()}_ | | _Multiple choice only_ |
| [delete-button](#delete-button) | _{delete_button()}_ | | _Multiple choice only_ |
| [lod](#lod) _(Original in [questions](./BuiltinQuestions.md#lod))_ | _{linked_data_from_website()}_ | added_by_default | _Multiple choice only_ |
@@ -172,10 +288,422 @@ The question is `Is this place accessible with a wheelchair?`
- *It is possible to reach this place in a wheelchair, but it is not easy* is shown if with wheelchair=limited
- *This place is not reachable with a wheelchair* is shown if with wheelchair=no
-### toiletatamenitytoiletswheelchair
+### toilets-group
_This tagrendering has no question and is thus read-only_
-*toilet_at_amenity.toilets-wheelchair*
+*{group(grouptitle,toilet-questions,wheelchair;wheelchair-title;adult-changing-table)}*
+
+This tagrendering has labels `all`
+
+### grouptitle
+_This tagrendering has no question and is thus read-only_
+
+*Toilet information*
+
+ - *Does not have toilets* is shown if with toilets=no
+
+This tagrendering has labels `all` `hidden`
+
+### has_toilets
+The question is `Has {title()} toilets?`
+
+ - *Has toilets* is shown if with toilets=yes
+ - *Has no toilets* is shown if with toilets=no
+ - *The toilets are marked separately on the map* is shown if with toilets=separate
+
+This tagrendering has labels `toilet-questions` `hidden` `all`
+
+### images_toilet
+_This tagrendering has no question and is thus read-only_
+
+*{image_carousel(toilets:panoramax;toilets:mapillary;toilets:images)}{image_upload(toilets:panoramax,Add a picture of the toilets,)}*
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes
+This tagrendering has labels `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilets_repeated
+_This tagrendering has no question and is thus read-only_
+
+*Multiple, identical objects can be found on floors {toilets:repeat_on}.*
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & toilets:repeat_on~.+
+This tagrendering has labels `level` `amenity-no-prefix` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilets_single_level
+The question is `On what level is this feature located?`
+
+*Located on the {toilets:level}th floor* is shown if `toilets:level` is set.
+
+ - *Located underground* is shown if with toilets:location=underground. _This option cannot be chosen as answer_
+ - *Located on the ground floor* is shown if with toilets:level=0
+ - *Located on the ground floor* is shown if with toilets:level=. _This option cannot be chosen as answer_
+ - *Located on the first floor* is shown if with toilets:level=1
+ - *Located on the first basement level* is shown if with toilets:level=-1
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & toilets:repeat_on=
+This tagrendering has labels `level` `amenity-no-prefix` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilets_toilet-access
+The question is `Are these toilets publicly accessible?`
+
+*Access is {toilets:access}* is shown if `toilets:access` is set.
+
+ - *Public access* is shown if with toilets:access=yes
+ - *Only access to customers* is shown if with toilets:access=customers
+ - *Not accessible* is shown if with toilets:access=no
+ - *Accessible, but one has to ask a key to enter* is shown if with toilets:access=key
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes
+This tagrendering has labels `relevant-questions` `amenity-no-prefix` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilets_toilets-fee
+The question is `Are these toilets free to use?`
+
+ - *These are paid toilets* is shown if with toilets:fee=yes
+ - *Free to use* is shown if with toilets:fee=no
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & toilets:access!=no
+This tagrendering has labels `relevant-questions` `amenity-no-prefix` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilets_toilet-charge
+The question is `How much does one have to pay for these toilets?`
+
+*The fee is {toilets:charge}* is shown if `toilets:charge` is set.
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & toilets:fee=yes
+This tagrendering has labels `relevant-questions` `amenity-no-prefix` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilets_payment-options-split
+The question is `Which methods of payment are accepted here?`
+
+ - *Cash is accepted here* is shown if with toilets:payment:cash=yes. _This option cannot be chosen as answer_. Unselecting this answer will add toilets:payment:cash=
+ - *Payment cards are accepted here* is shown if with toilets:payment:cards=yes. _This option cannot be chosen as answer_. Unselecting this answer will add toilets:payment:cards=
+ - *Payment by QR-code is possible here* is shown if with toilets:payment:qr_code=yes. Unselecting this answer will add toilets:payment:qr_code=no
+ - *Coins are accepted here* is shown if with toilets:payment:coins=yes. Unselecting this answer will add toilets:payment:coins=no
+ - *Bank notes are accepted here* is shown if with toilets:payment:notes=yes. Unselecting this answer will add toilets:payment:notes=no
+ - *Debit cards are accepted here* is shown if with toilets:payment:debit_cards=yes. Unselecting this answer will add toilets:payment:debit_cards=no
+ - *Credit cards are accepted here* is shown if with toilets:payment:credit_cards=yes. Unselecting this answer will add toilets:payment:credit_cards=no
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & toilets:fee=yes
+This tagrendering has labels `relevant-questions` `amenity-no-prefix` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilets_gender_segregated
+The question is `Are these toilets gender-segregated?`
+
+ - *There is a separate, signposted area for men and women* is shown if with toilets:gender_segregated=yes
+ - *There is no separate, signposted area for men and women* is shown if with toilets:gender_segregated=no
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & toilets:toilets:position!=urinal
+This tagrendering has labels `relevant-questions` `no-prefix` `amenity-no-prefix` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilets_toilet-supervised
+The question is `Is this toilets supervised by a person?`
+
+ - *There is a person supervising these toilets during (most of) the opening hours* is shown if with toilets:supervised=yes
+ - *There is a person supervising these toilets, but they are present only during certain times of the opening hours* is shown if with toilets:supervised=interval
+ - *These toilets are not supervised* is shown if with toilets:supervised=no
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & (toilets:access=yes | toilets:access=)
+This tagrendering has labels `relevant-questions` `no-prefix` `amenity-no-prefix` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilets_description
+The question is `Is there still some relevant info that the previous questions did not cover? Feel free to add it here.`
+
+*{toilets:description}* is shown if `toilets:description` is set.
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes
+This tagrendering has labels `amenity-no-prefix` `no-prefix` `relevant-questions` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilets_toilets-wheelchair
+The question is `Is there a dedicated toilet for wheelchair users?`
+
+ - *There is a dedicated toilet for wheelchair users* is shown if with toilets:wheelchair=yes
+ - *No wheelchair access* is shown if with toilets:wheelchair=no
+ - *There is only a dedicated toilet for wheelchair users* is shown if with toilets:wheelchair=designated
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes
+This tagrendering has labels `relevant-questions` `wheelchair` `hidden` `no-prefix` `amenity-no-prefix` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilets-type
+The question is `Which kind of toilets are these?`
+
+ - *There are only seated toilets* is shown if with toilets:position=seated
+ - *There are only urinals here* is shown if with toilets:position=urinal
+ - *There are only squat toilets here* is shown if with toilets:position=squat
+ - *Both seated toilets and urinals are available here* is shown if with toilets:position=seated;urinal
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes
+This tagrendering has labels `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilets-disposal
+The question is `How is the waste handled?`
+
+ - *The waste is moved away by flushing the toilet with water* is shown if with toilets:disposal=flush
+ - *The waste falls into a pit* is shown if with toilets:disposal=pitlatrine
+ - *The waste is collected in a bucket or similar container, which is regularly removed* is shown if with toilets:disposal=bucket
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes
+This tagrendering has labels `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### menstrual_products
+The question is `Are free, menstrual products distributed here?`
+
+ - *Free menstrual products are available to all visitors of these toilets* is shown if with toilets:menstrual_products=yes
+ - *Free menstrual products are available to some visitors of these toilets* is shown if with toilets:menstrual_products=limited
+ - *No free menstrual products are available here* is shown if with toilets:menstrual_products=no
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes
+This tagrendering has labels `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### menstrual_products_location
+The question is `Where are the free menstrual products located?`
+
+*The menstrual products are located in {toilets:menstrual_products:location}* is shown if `toilets:menstrual_products:location` is set.
+
+ - *The free, menstrual products are located in the toilet for women* is shown if with toilets:menstrual_products:location=female_toilet
+ - *The free, menstrual products are located in the toilet for men* is shown if with toilets:menstrual_products:location=male_toilet
+ - *The free, menstrual products are located in the toilet for wheelchair users* is shown if with toilets:menstrual_products:location=wheelchair_toilet
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & (toilets:menstrual_products=limited | toilets:menstrual_products:location~.+)
+This tagrendering has labels `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilets-changing-table
+The question is `Is a changing table (to change diapers) available?`
+
+ - *A changing table is available* is shown if with changing_table=yes
+ - *No changing table is available* is shown if with changing_table=no
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes
+This tagrendering has labels `relevant-questions` `no-prefix` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilet-changing_table:location
+The question is `Where is the changing table located?`
+
+*A changing table is located at {changing_table:location}* is shown if `changing_table:location` is set.
+
+ - *A changing table is in the toilet for women* is shown if with changing_table:location=female_toilet
+ - *A changing table is in the toilet for men* is shown if with changing_table:location=male_toilet
+ - *A changing table is in the toilet for wheelchair users* is shown if with changing_table:location=wheelchair_toilet
+ - *A changing table is in a dedicated room* is shown if with changing_table:location=dedicated_room
+
+This tagrendering is only visible in the popup if the following condition is met: changing_table=yes & toilets=yes
+This tagrendering has labels `relevant-questions` `no-prefix` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilet-has-paper
+The question is `Does one have to bring their own toilet paper to this toilet?`
+
+ - *This toilet is equipped with toilet paper* is shown if with toilets:paper_supplied=yes
+ - *You have to bring your own toilet paper to this toilet* is shown if with toilets:paper_supplied=no
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & toilets:position!=urinal
+This tagrendering has labels `relevant-questions` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilet-handwashing
+The question is `Do these toilets have a sink to wash your hands?`
+
+ - *These toilets have a sink to wash your hands* is shown if with toilets:handwashing=yes
+ - *These toilets don't have a sink to wash your hands* is shown if with toilets:handwashing=no
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes
+This tagrendering has labels `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilet-drying
+The question is `Do these toilets have a device to dry your hands?`
+
+ - *Electric hand dryers are available for drying hands.* is shown if with toilets:hands_drying=electric_hand_dryer
+ - *Paper towels are available for drying hands.* is shown if with toilets:hands_drying=paper_towel
+ - *A towel roll cabinet is available for drying hands* is shown if with toilets:hands_drying=towel_cabinet
+ - *A fabric towel available to dry your hands.* is shown if with toilets:hands_drying=towel
+ - *There are no hand drying facilities available.* is shown if with toilets:hands_drying=no
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & toilets:handwashing=yes
+This tagrendering has labels `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### wheelchair-group
+_This tagrendering has no question and is thus read-only_
+
+*{group(wheelchair-title,wheelchair;adult-changing-table,)}*
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes
+This tagrendering has labels `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### wheelchair-picture-carousel
+_This tagrendering has no question and is thus read-only_
+
+*{image_carousel(toilets:wheelchair:panoramax;toilets:wheelchair:image;toilets:wheelchair:mapillary)}*
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & (toilets:wheelchair=yes | (amenity=toilets & wheelchair=yes))
+This tagrendering has labels `wheelchair` `hidden` `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### wheelchair-picture
+_This tagrendering has no question and is thus read-only_
+
+*{image_upload(toilets:wheelchair:panoramax,Add a picture of the wheelchair accessible toilet,)}*
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & (toilets:wheelchair=yes | (amenity=toilets & wheelchair=yes))
+This tagrendering has labels `wheelchair` `hidden` `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### wheelchair-title
+_This tagrendering has no question and is thus read-only_
+
+*Wheelchair accessible toilet*
+
+ - *Wheelchair accessibility features* is shown if with wheelchair=designated | toilets:wheelchair=designated
+ - *No wheelchair accessible toilet* is shown if with wheelchair=no | toilets:wheelchair=no
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes
+This tagrendering has labels `hidden` `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilet-wheelchair-access
+The question is `Is the wheelchair-accessible toilet locked?`
+
+ - *The wheelchair accessible toilets are freely accessible* is shown if with toilets:wheelchair:access=yes
+ - *One needs to ask permission to access wheelchair-accessible toilet, e.g. by asking a key* is shown if with toilets:wheelchair:access=key
+ - *One can use a Master Locksmiths Access Key(MLAK) to access this bathroom* is shown if with centralkey=mlak
+ - *One can use a RADAR Key to access this bathroom* is shown if with centralkey=nks
+ - *One can use a EuroKey to access this bathroom* is shown if with centralkey=eurokey
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & (toilets:wheelchair=yes | (amenity=toilets & wheelchair=yes)) & (access=yes | access=public | access=customers | access=)
+This tagrendering has labels `hidden` `wheelchair` `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilets_wheelchair_has_grab_rail_lr
+The question is `Is there a grab rail?`
+
+ - *Grab rails on both sides* is shown if with toilets:wheelchair:grab_rail:left=yes & toilets:wheelchair:grab_rail:right=yes
+ - *Only grab rails on the left side* is shown if with toilets:wheelchair:grab_rail:left=yes & toilets:wheelchair:grab_rail:right=no
+ - *Grab rails on the right side* is shown if with toilets:wheelchair:grab_rail:left=no & toilets:wheelchair:grab_rail:right=yes
+ - *No grab rails at all* is shown if with toilets:wheelchair:grab_rail:left=no & toilets:wheelchair:grab_rail:right=no
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & (toilets:wheelchair=yes | (amenity=toilets & wheelchair=yes))
+This tagrendering has labels `wheelchair` `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilets_wheelchair_has_grab_rail_behind
+The question is `Does the toilet have a grab rail behind the toilet?`
+
+ - *Has a grab rail behind the toilet* is shown if with toilets:wheelchair:grab_rail:behind=yes
+ - *No grab rail behind the toilet* is shown if with toilets:wheelchair:grab_rail:behind=no
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & (toilets:wheelchair=yes | (amenity=toilets & wheelchair=yes))
+This tagrendering has labels `wheelchair` `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilets_wheelchair_is_foldable_left
+The question is `Is the left grab rail foldable?`
+
+ - *The left grab rail is foldable* is shown if with toilets:wheelchair:is_foldable:left=yes
+ - *The left grab rail is not foldable* is shown if with toilets:wheelchair:is_foldable:left=no
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & toilets:wheelchair:grab_rail:left=yes & (toilets:wheelchair=yes | (amenity=toilets & wheelchair=yes))
+This tagrendering has labels `generic_questions` `wheelchair` `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilets_wheelchair_is_foldable_right
+The question is `Is the right grab rail foldable?`
+
+ - *The right grab rail is foldable* is shown if with toilets:wheelchair:is_foldable:right=yes
+ - *The right grab rail is not foldable* is shown if with toilets:wheelchair:is_foldable:right=no
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & toilets:wheelchair:grab_rail:right=yes & (toilets:wheelchair=yes | (amenity=toilets & wheelchair=yes))
+This tagrendering has labels `generic_questions` `wheelchair` `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### wheelchair-door-width
+The question is `What is the width of the door to the wheelchair accessible toilet?`
+
+*The door to the wheelchair-accessible toilet is {canonical(door:width)} wide* is shown if `door:width` is set.
+
+The allowed input is of type pfloat and is in range 0.4 until 4 (both inclusive). A warning will appear if the value is outside of 0.6 and 2.
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & (toilets:wheelchair=designated | (amenity=toilet & wheelchair~^(yes|designated)$))
+This tagrendering has labels `relevant-questions` `wheelchair` `hidden` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### questions-wheelchair
+_This tagrendering has no question and is thus read-only_
+
+*{questions(wheelchair,,)}*
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes
+This tagrendering has labels `wheelchair` `hidden` `relevant-questions` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### adult_changing_table_title
+_This tagrendering has no question and is thus read-only_
+
+*Adult changing table*
+
+This tagrendering is only visible in the popup if the following condition is met: changing_table:adult=yes & toilets=yes
+This tagrendering has labels `hidden` `prefixed` `adult-changing-table` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### adult-changing-table
+The question is `Does this toilet have an adult changing table?`
+
+ - *Has a changing table for adults* is shown if with changing_table:adult=yes
+ - *No changing table for adults* is shown if with changing_table:adult=no
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes
+This tagrendering has labels `prefixed` `hidden` `relevant-questions` `adult-changing-table` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### changing_table_adult_height
+The question is `What is the height of the adult changing table?`
+
+*The changing table is {canonical(changing_table:adult:height)} high* is shown if `changing_table:adult:height` is set.
+
+The allowed input is of type pfloat and is in range 0.4 until 2 (both inclusive). A warning will appear if the value is outside of 0.8 and 1.7.
+
+ - *The changing table is adjustable in height* is shown if with changing_table:adult:height=adjustable
+
+This tagrendering is only visible in the popup if the following condition is met: changing_table:adult=yes & toilets=yes
+This tagrendering has labels `relevant_questions` `hidden` `prefixed` `adult-changing-table` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### changing_table_adult_adult-changing-table-min_height
+The question is `What is the lowest height the adult changing table can be moved to?`
+
+*The lowest height of the adult changing table is {canonical(changing_table:adult:min_height)}* is shown if `changing_table:adult:min_height` is set.
+
+The allowed input is of type pfloat and is in range 0.4 until 2 (both inclusive). A warning will appear if the value is outside of 0.8 and 1.7.
+
+This tagrendering is only visible in the popup if the following condition is met: changing_table:adult=yes & changing_table:adult:height=adjustable & toilets=yes
+This tagrendering has labels `relevant_questions` `hidden` `prefixed` `adult-changing-table` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### changing_table_adult_adult-changing-table-max_height
+The question is `What is the highest height the adult changing table can be moved to?`
+
+*The highest height of the adult changing table is {canonical(changing_table:adult:max_height)}* is shown if `changing_table:adult:max_height` is set.
+
+The allowed input is of type pfloat and is in range 0.4 until 2 (both inclusive). A warning will appear if the value is outside of 0.8 and 1.7.
+
+This tagrendering is only visible in the popup if the following condition is met: changing_table:adult=yes & changing_table:adult:height=adjustable & toilets=yes
+This tagrendering has labels `relevant_questions` `hidden` `prefixed` `adult-changing-table` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### changing_table_adult_adult-changing-table-mechanism
+The question is `How is the height of the changing table adjusted?`
+
+ - *The height of the adult changing table is adjusted manually* is shown if with changing_table:adult:height:mechanism=manual
+ - *The height of the adult changing table is adjusted electrically* is shown if with changing_table:adult:height:mechanism=electric
+
+This tagrendering is only visible in the popup if the following condition is met: changing_table:adult=yes & changing_table:adult:height=adjustable & toilets=yes
+This tagrendering has labels `relevant_questions` `hidden` `prefixed` `adult-changing-table` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### changing_table_adult_adult-changing-table-support
+The question is `How is the adult changing table supported?`
+
+ - *The changing table is mounted to the wall* is shown if with changing_table:adult:support=wall_mounted
+ - *The changing table stands on table legs* is shown if with changing_table:adult:support=legs
+ - *The changing table stands on table legs with wheels and can be moved* is shown if with changing_table:adult:support=wheels
+
+This tagrendering is only visible in the popup if the following condition is met: changing_table:adult=yes & toilets=yes
+This tagrendering has labels `relevant_questions` `hidden` `prefixed` `adult-changing-table` `hidden` `prefixed` `adult-changing-table` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### questions-adult-changing-table
+_This tagrendering has no question and is thus read-only_
+
+*{questions(adult-changing-table,,yes)}*
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes
+This tagrendering has labels `hidden` `relevant-questions` `adult-changing-table` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilet-question-box
+_This tagrendering has no question and is thus read-only_
+
+*{questions(toilet-questions,wheelchair;adult-changing-table,)}*
+
+This tagrendering has labels `toilet-questions` `all` `hidden`
### internet
The question is `Does this place offer internet access?`
@@ -221,7 +749,7 @@ The question is `Are dogs allowed in this business?`
### leftover-questions
_This tagrendering has no question and is thus read-only_
-*{questions( ,hidden)}*
+*{questions( ,hidden;wheelchair;adult-changing-table;toilet-questions)}*
This tagrendering has labels `ignore-docs` `added_by_default`
diff --git a/Docs/Layers/hostel.md b/Docs/Layers/hostel.md
index 9ff98874a..376572779 100644
--- a/Docs/Layers/hostel.md
+++ b/Docs/Layers/hostel.md
@@ -8,6 +8,7 @@ Various types of lodging facilities
- This layer is shown at zoomlevel **16** and higher
- Not visible in the layer selection by default. If you want to make this layer toggable, override `name`
+ - This layer will automatically load [toilet](./toilet.md) into the layout as it depends on it: tagrendering has_toilets needs this layer (has_toilets)
## Table of contents
@@ -26,7 +27,49 @@ Various types of lodging facilities
- [email](#email)
- [website](#website)
- [wheelchair-access](#wheelchair-access)
- - [toiletatamenitytoiletswheelchair](#toiletatamenitytoiletswheelchair)
+ - [toilets-group](#toilets-group)
+ - [grouptitle](#grouptitle)
+ - [has_toilets](#has_toilets)
+ - [images_toilet](#images_toilet)
+ - [toilets_repeated](#toilets_repeated)
+ - [toilets_single_level](#toilets_single_level)
+ - [toilets_toilet-access](#toilets_toilet-access)
+ - [toilets_toilets-fee](#toilets_toilets-fee)
+ - [toilets_toilet-charge](#toilets_toilet-charge)
+ - [toilets_payment-options-split](#toilets_payment-options-split)
+ - [toilets_gender_segregated](#toilets_gender_segregated)
+ - [toilets_toilet-supervised](#toilets_toilet-supervised)
+ - [toilets_description](#toilets_description)
+ - [toilets_toilets-wheelchair](#toilets_toilets-wheelchair)
+ - [toilets-type](#toilets-type)
+ - [toilets-disposal](#toilets-disposal)
+ - [menstrual_products](#menstrual_products)
+ - [menstrual_products_location](#menstrual_products_location)
+ - [toilets-changing-table](#toilets-changing-table)
+ - [toilet-changing_table:location](#toilet-changing_tablelocation)
+ - [toilet-has-paper](#toilet-has-paper)
+ - [toilet-handwashing](#toilet-handwashing)
+ - [toilet-drying](#toilet-drying)
+ - [wheelchair-group](#wheelchair-group)
+ - [wheelchair-picture-carousel](#wheelchair-picture-carousel)
+ - [wheelchair-picture](#wheelchair-picture)
+ - [wheelchair-title](#wheelchair-title)
+ - [toilet-wheelchair-access](#toilet-wheelchair-access)
+ - [toilets_wheelchair_has_grab_rail_lr](#toilets_wheelchair_has_grab_rail_lr)
+ - [toilets_wheelchair_has_grab_rail_behind](#toilets_wheelchair_has_grab_rail_behind)
+ - [toilets_wheelchair_is_foldable_left](#toilets_wheelchair_is_foldable_left)
+ - [toilets_wheelchair_is_foldable_right](#toilets_wheelchair_is_foldable_right)
+ - [wheelchair-door-width](#wheelchair-door-width)
+ - [questions-wheelchair](#questions-wheelchair)
+ - [adult_changing_table_title](#adult_changing_table_title)
+ - [adult-changing-table](#adult-changing-table)
+ - [changing_table_adult_height](#changing_table_adult_height)
+ - [changing_table_adult_adult-changing-table-min_height](#changing_table_adult_adult-changing-table-min_height)
+ - [changing_table_adult_adult-changing-table-max_height](#changing_table_adult_adult-changing-table-max_height)
+ - [changing_table_adult_adult-changing-table-mechanism](#changing_table_adult_adult-changing-table-mechanism)
+ - [changing_table_adult_adult-changing-table-support](#changing_table_adult_adult-changing-table-support)
+ - [questions-adult-changing-table](#questions-adult-changing-table)
+ - [toilet-question-box](#toilet-question-box)
- [internet](#internet)
- [internet-fee](#internet-fee)
- [internet-ssid](#internet-ssid)
@@ -66,6 +109,37 @@ Elements must match the expression ** [email](https://wiki.openstreetmap.org/wiki/Key:email) | [email](../SpecialInputElements.md#email) | |
| [website](https://wiki.openstreetmap.org/wiki/Key:website) | [url](../SpecialInputElements.md#url) | |
| [wheelchair](https://wiki.openstreetmap.org/wiki/Key:wheelchair) | Multiple choice | [designated](https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Ddesignated) [yes](https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Dyes) [limited](https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Dlimited) [no](https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Dno) |
+| [toilets](https://wiki.openstreetmap.org/wiki/Key:toilets) | Multiple choice | [no](https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dno) |
+| [toilets](https://wiki.openstreetmap.org/wiki/Key:toilets) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dno) [separate](https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dseparate) |
+| [toilets:level](https://wiki.openstreetmap.org/wiki/Key:toilets:level) | [float](../SpecialInputElements.md#float) | [0](https://wiki.openstreetmap.org/wiki/Tag:toilets:level%3D0) [1](https://wiki.openstreetmap.org/wiki/Tag:toilets:level%3D1) [-1](https://wiki.openstreetmap.org/wiki/Tag:toilets:level%3D-1) |
+| [toilets:access](https://wiki.openstreetmap.org/wiki/Key:toilets:access) | [string](../SpecialInputElements.md#string) | [yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:access%3Dyes) [customers](https://wiki.openstreetmap.org/wiki/Tag:toilets:access%3Dcustomers) [no](https://wiki.openstreetmap.org/wiki/Tag:toilets:access%3Dno) [key](https://wiki.openstreetmap.org/wiki/Tag:toilets:access%3Dkey) |
+| [toilets:fee](https://wiki.openstreetmap.org/wiki/Key:toilets:fee) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:fee%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:toilets:fee%3Dno) |
+| [toilets:charge](https://wiki.openstreetmap.org/wiki/Key:toilets:charge) | [string](../SpecialInputElements.md#string) | |
+| [toilets:gender_segregated](https://wiki.openstreetmap.org/wiki/Key:toilets:gender_segregated) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:gender_segregated%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:toilets:gender_segregated%3Dno) |
+| [toilets:supervised](https://wiki.openstreetmap.org/wiki/Key:toilets:supervised) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:supervised%3Dyes) [interval](https://wiki.openstreetmap.org/wiki/Tag:toilets:supervised%3Dinterval) [no](https://wiki.openstreetmap.org/wiki/Tag:toilets:supervised%3Dno) |
+| [toilets:description](https://wiki.openstreetmap.org/wiki/Key:toilets:description) | [text](../SpecialInputElements.md#text) | |
+| [toilets:wheelchair](https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair%3Dno) [designated](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair%3Ddesignated) |
+| [toilets:position](https://wiki.openstreetmap.org/wiki/Key:toilets:position) | Multiple choice | [seated](https://wiki.openstreetmap.org/wiki/Tag:toilets:position%3Dseated) [urinal](https://wiki.openstreetmap.org/wiki/Tag:toilets:position%3Durinal) [squat](https://wiki.openstreetmap.org/wiki/Tag:toilets:position%3Dsquat) [seated;urinal](https://wiki.openstreetmap.org/wiki/Tag:toilets:position%3Dseated;urinal) |
+| [toilets:disposal](https://wiki.openstreetmap.org/wiki/Key:toilets:disposal) | Multiple choice | [flush](https://wiki.openstreetmap.org/wiki/Tag:toilets:disposal%3Dflush) [pitlatrine](https://wiki.openstreetmap.org/wiki/Tag:toilets:disposal%3Dpitlatrine) [bucket](https://wiki.openstreetmap.org/wiki/Tag:toilets:disposal%3Dbucket) |
+| [toilets:menstrual_products](https://wiki.openstreetmap.org/wiki/Key:toilets:menstrual_products) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:menstrual_products%3Dyes) [limited](https://wiki.openstreetmap.org/wiki/Tag:toilets:menstrual_products%3Dlimited) [no](https://wiki.openstreetmap.org/wiki/Tag:toilets:menstrual_products%3Dno) |
+| [toilets:menstrual_products:location](https://wiki.openstreetmap.org/wiki/Key:toilets:menstrual_products:location) | [string](../SpecialInputElements.md#string) | [female_toilet](https://wiki.openstreetmap.org/wiki/Tag:toilets:menstrual_products:location%3Dfemale_toilet) [male_toilet](https://wiki.openstreetmap.org/wiki/Tag:toilets:menstrual_products:location%3Dmale_toilet) [wheelchair_toilet](https://wiki.openstreetmap.org/wiki/Tag:toilets:menstrual_products:location%3Dwheelchair_toilet) |
+| [changing_table](https://wiki.openstreetmap.org/wiki/Key:changing_table) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:changing_table%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:changing_table%3Dno) |
+| [changing_table:location](https://wiki.openstreetmap.org/wiki/Key:changing_table:location) | [string](../SpecialInputElements.md#string) | [female_toilet](https://wiki.openstreetmap.org/wiki/Tag:changing_table:location%3Dfemale_toilet) [male_toilet](https://wiki.openstreetmap.org/wiki/Tag:changing_table:location%3Dmale_toilet) [wheelchair_toilet](https://wiki.openstreetmap.org/wiki/Tag:changing_table:location%3Dwheelchair_toilet) [dedicated_room](https://wiki.openstreetmap.org/wiki/Tag:changing_table:location%3Ddedicated_room) |
+| [toilets:paper_supplied](https://wiki.openstreetmap.org/wiki/Key:toilets:paper_supplied) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:paper_supplied%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:toilets:paper_supplied%3Dno) |
+| [toilets:handwashing](https://wiki.openstreetmap.org/wiki/Key:toilets:handwashing) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:handwashing%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:toilets:handwashing%3Dno) |
+| [toilets:hands_drying](https://wiki.openstreetmap.org/wiki/Key:toilets:hands_drying) | Multiple choice | [electric_hand_dryer](https://wiki.openstreetmap.org/wiki/Tag:toilets:hands_drying%3Delectric_hand_dryer) [paper_towel](https://wiki.openstreetmap.org/wiki/Tag:toilets:hands_drying%3Dpaper_towel) [towel_cabinet](https://wiki.openstreetmap.org/wiki/Tag:toilets:hands_drying%3Dtowel_cabinet) [towel](https://wiki.openstreetmap.org/wiki/Tag:toilets:hands_drying%3Dtowel) [no](https://wiki.openstreetmap.org/wiki/Tag:toilets:hands_drying%3Dno) |
+| [wheelchair](https://wiki.openstreetmap.org/wiki/Key:wheelchair) | Multiple choice | [designated](https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Ddesignated) [no](https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Dno) |
+| [toilets:wheelchair:grab_rail:left](https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair:grab_rail:left) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:grab_rail:left%3Dyes) [yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:grab_rail:left%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:grab_rail:left%3Dno) [no](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:grab_rail:left%3Dno) |
+| [toilets:wheelchair:grab_rail:behind](https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair:grab_rail:behind) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:grab_rail:behind%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:grab_rail:behind%3Dno) |
+| [toilets:wheelchair:is_foldable:left](https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair:is_foldable:left) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:is_foldable:left%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:is_foldable:left%3Dno) |
+| [toilets:wheelchair:is_foldable:right](https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair:is_foldable:right) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:is_foldable:right%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:is_foldable:right%3Dno) |
+| [door:width](https://wiki.openstreetmap.org/wiki/Key:door:width) | [pfloat](../SpecialInputElements.md#pfloat) | |
+| [changing_table:adult](https://wiki.openstreetmap.org/wiki/Key:changing_table:adult) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult%3Dno) |
+| [changing_table:adult:height](https://wiki.openstreetmap.org/wiki/Key:changing_table:adult:height) | [pfloat](../SpecialInputElements.md#pfloat) | [adjustable](https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult:height%3Dadjustable) |
+| [changing_table:adult:min_height](https://wiki.openstreetmap.org/wiki/Key:changing_table:adult:min_height) | [pfloat](../SpecialInputElements.md#pfloat) | |
+| [changing_table:adult:max_height](https://wiki.openstreetmap.org/wiki/Key:changing_table:adult:max_height) | [pfloat](../SpecialInputElements.md#pfloat) | |
+| [changing_table:adult:height:mechanism](https://wiki.openstreetmap.org/wiki/Key:changing_table:adult:height:mechanism) | Multiple choice | [manual](https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult:height:mechanism%3Dmanual) [electric](https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult:height:mechanism%3Delectric) |
+| [changing_table:adult:support](https://wiki.openstreetmap.org/wiki/Key:changing_table:adult:support) | Multiple choice | [wall_mounted](https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult:support%3Dwall_mounted) [legs](https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult:support%3Dlegs) [wheels](https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult:support%3Dwheels) |
| [internet_access](https://wiki.openstreetmap.org/wiki/Key:internet_access) | Multiple choice | [wlan](https://wiki.openstreetmap.org/wiki/Tag:internet_access%3Dwlan) [no](https://wiki.openstreetmap.org/wiki/Tag:internet_access%3Dno) [terminal](https://wiki.openstreetmap.org/wiki/Tag:internet_access%3Dterminal) [wired](https://wiki.openstreetmap.org/wiki/Tag:internet_access%3Dwired) [terminal;wlan](https://wiki.openstreetmap.org/wiki/Tag:internet_access%3Dterminal;wlan) |
| [internet_access:fee](https://wiki.openstreetmap.org/wiki/Key:internet_access:fee) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:internet_access:fee%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:internet_access:fee%3Dno) [customers](https://wiki.openstreetmap.org/wiki/Tag:internet_access:fee%3Dcustomers) |
| [internet_access:ssid](https://wiki.openstreetmap.org/wiki/Key:internet_access:ssid) | [string](../SpecialInputElements.md#string) | [Telekom](https://wiki.openstreetmap.org/wiki/Tag:internet_access:ssid%3DTelekom) |
@@ -85,12 +159,54 @@ Elements must match the expression **{email}_ 2 options | contact | *[email](https://wiki.osm.org/wiki/Key:email)* ([email](../SpecialInputElements.md#email)) |
| [website](#website) _(Original in [questions](./BuiltinQuestions.md#website))_ | What is the website of ? _{website}_ 1 options | contact | *[website](https://wiki.osm.org/wiki/Key:website)* ([url](../SpecialInputElements.md#url)) |
| [wheelchair-access](#wheelchair-access) _(Original in [questions](./BuiltinQuestions.md#wheelchair-access))_ | Is this place accessible with a wheelchair? 4 options | | _Multiple choice only_ |
-| [toiletatamenitytoiletswheelchair](#toiletatamenitytoiletswheelchair) | _toilet_at_amenity.toilets-wheelchair_ | | _Multiple choice only_ |
+| [toilets-group](#toilets-group) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets-group))_ | _{group(grouptitle,toilet-questions,wheelchair;wheelchair-title;adult-changing-table)}_ | all | _Multiple choice only_ |
+| [grouptitle](#grouptitle) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#grouptitle))_ | _Toilet information_ 1 options | all, hidden | _Multiple choice only_ |
+| [has_toilets](#has_toilets) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#has_toilets))_ | Has toilets? 3 options | toilet-questions, hidden, all | _Multiple choice only_ |
+| [images_toilet](#images_toilet) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#images_toilet))_ | _{image_carousel(toilets:panoramax;toilets:mapillary;toilets:images)}{image_upload(toilets:panoramax,Add a picture of the toilets,)}_ | relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [toilets_repeated](#toilets_repeated) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets_repeated))_ | _Multiple, identical objects can be found on floors {toilets:repeat_on}._ | level, amenity-no-prefix, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [toilets_single_level](#toilets_single_level) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets_single_level))_ | On what level is this feature located? _Located on the {toilets:level}th floor_ 5 options | level, amenity-no-prefix, relevant_questions, toilet-questions, hidden, all | *[toilets:level](https://wiki.osm.org/wiki/Key:toilets:level)* ([float](../SpecialInputElements.md#float)) |
+| [toilets_toilet-access](#toilets_toilet-access) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets_toilet-access))_ | Are these toilets publicly accessible? _Access is {toilets:access}_ 4 options | relevant-questions, amenity-no-prefix, relevant_questions, toilet-questions, hidden, all | *[toilets:access](https://wiki.osm.org/wiki/Key:toilets:access)* ([string](../SpecialInputElements.md#string)) |
+| [toilets_toilets-fee](#toilets_toilets-fee) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets_toilets-fee))_ | Are these toilets free to use? 2 options | relevant-questions, amenity-no-prefix, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [toilets_toilet-charge](#toilets_toilet-charge) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets_toilet-charge))_ | How much does one have to pay for these toilets? _The fee is {toilets:charge}_ | relevant-questions, amenity-no-prefix, relevant_questions, toilet-questions, hidden, all | *[toilets:charge](https://wiki.osm.org/wiki/Key:toilets:charge)* ([string](../SpecialInputElements.md#string)) |
+| [toilets_payment-options-split](#toilets_payment-options-split) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets_payment-options-split))_ | Which methods of payment are accepted here? 7 options | relevant-questions, amenity-no-prefix, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [toilets_gender_segregated](#toilets_gender_segregated) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets_gender_segregated))_ | Are these toilets gender-segregated? 2 options | relevant-questions, no-prefix, amenity-no-prefix, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [toilets_toilet-supervised](#toilets_toilet-supervised) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets_toilet-supervised))_ | Is this toilets supervised by a person? 3 options | relevant-questions, no-prefix, amenity-no-prefix, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [toilets_description](#toilets_description) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets_description))_ | Is there still some relevant info that the previous questions did not cover? Feel free to add it here. _{toilets:description}_ | amenity-no-prefix, no-prefix, relevant-questions, relevant_questions, toilet-questions, hidden, all | *[toilets:description](https://wiki.osm.org/wiki/Key:toilets:description)* ([text](../SpecialInputElements.md#text)) |
+| [toilets_toilets-wheelchair](#toilets_toilets-wheelchair) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets_toilets-wheelchair))_ | Is there a dedicated toilet for wheelchair users? 3 options | relevant-questions, wheelchair, hidden, no-prefix, amenity-no-prefix, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [toilets-type](#toilets-type) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets-type))_ | Which kind of toilets are these? 4 options | relevant-questions, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [toilets-disposal](#toilets-disposal) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets-disposal))_ | How is the waste handled? 3 options | relevant-questions, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [menstrual_products](#menstrual_products) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#menstrual_products))_ | Are free, menstrual products distributed here? 3 options | relevant-questions, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [menstrual_products_location](#menstrual_products_location) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#menstrual_products_location))_ | Where are the free menstrual products located? _The menstrual products are located in {toilets:menstrual_products:location}_ 3 options | relevant-questions, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | *[toilets:menstrual_products:location](https://wiki.osm.org/wiki/Key:toilets:menstrual_products:location)* ([string](../SpecialInputElements.md#string)) |
+| [toilets-changing-table](#toilets-changing-table) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets-changing-table))_ | Is a changing table (to change diapers) available? 2 options | relevant-questions, no-prefix, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [toilet-changing_table:location](#toilet-changing_table:location) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilet-changing_table:location))_ | Where is the changing table located? _A changing table is located at {changing_table:location}_ 4 options | relevant-questions, no-prefix, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | *[changing_table:location](https://wiki.osm.org/wiki/Key:changing_table:location)* ([string](../SpecialInputElements.md#string)) |
+| [toilet-has-paper](#toilet-has-paper) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilet-has-paper))_ | Does one have to bring their own toilet paper to this toilet? 2 options | relevant-questions, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [toilet-handwashing](#toilet-handwashing) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilet-handwashing))_ | Do these toilets have a sink to wash your hands? 2 options | relevant-questions, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [toilet-drying](#toilet-drying) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilet-drying))_ | Do these toilets have a device to dry your hands? 5 options | relevant-questions, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [wheelchair-group](#wheelchair-group) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#wheelchair-group))_ | _{group(wheelchair-title,wheelchair;adult-changing-table,)}_ | relevant-questions, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [wheelchair-picture-carousel](#wheelchair-picture-carousel) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#wheelchair-picture-carousel))_ | _{image_carousel(toilets:wheelchair:panoramax;toilets:wheelchair:image;toilets:wheelchair:mapillary)}_ | wheelchair, hidden, relevant-questions, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [wheelchair-picture](#wheelchair-picture) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#wheelchair-picture))_ | _{image_upload(toilets:wheelchair:panoramax,Add a picture of the wheelchair accessible toilet,)}_ | wheelchair, hidden, relevant-questions, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [wheelchair-title](#wheelchair-title) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#wheelchair-title))_ | _Wheelchair accessible toilet_ 2 options | hidden, relevant-questions, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [toilet-wheelchair-access](#toilet-wheelchair-access) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilet-wheelchair-access))_ | Is the wheelchair-accessible toilet locked? 5 options | hidden, wheelchair, relevant-questions, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [toilets_wheelchair_has_grab_rail_lr](#toilets_wheelchair_has_grab_rail_lr) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets_wheelchair_has_grab_rail_lr))_ | Is there a grab rail? 4 options | wheelchair, relevant-questions, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [toilets_wheelchair_has_grab_rail_behind](#toilets_wheelchair_has_grab_rail_behind) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets_wheelchair_has_grab_rail_behind))_ | Does the toilet have a grab rail behind the toilet? 2 options | wheelchair, relevant-questions, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [toilets_wheelchair_is_foldable_left](#toilets_wheelchair_is_foldable_left) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets_wheelchair_is_foldable_left))_ | Is the left grab rail foldable? 2 options | generic_questions, wheelchair, relevant-questions, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [toilets_wheelchair_is_foldable_right](#toilets_wheelchair_is_foldable_right) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets_wheelchair_is_foldable_right))_ | Is the right grab rail foldable? 2 options | generic_questions, wheelchair, relevant-questions, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [wheelchair-door-width](#wheelchair-door-width) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#wheelchair-door-width))_ | What is the width of the door to the wheelchair accessible toilet? _The door to the wheelchair-accessible toilet is {canonical(door:width)} wide_ | relevant-questions, wheelchair, hidden, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | *[door:width](https://wiki.osm.org/wiki/Key:door:width)* ([pfloat](../SpecialInputElements.md#pfloat)) |
+| [questions-wheelchair](#questions-wheelchair) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#questions-wheelchair))_ | _{questions(wheelchair,,)}_ | wheelchair, hidden, relevant-questions, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [adult_changing_table_title](#adult_changing_table_title) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#adult_changing_table_title))_ | _Adult changing table_ | hidden, prefixed, adult-changing-table, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [adult-changing-table](#adult-changing-table) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#adult-changing-table))_ | Does this toilet have an adult changing table? 2 options | prefixed, hidden, relevant-questions, adult-changing-table, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [changing_table_adult_height](#changing_table_adult_height) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#changing_table_adult_height))_ | What is the height of the adult changing table? _The changing table is {canonical(changing_table:adult:height)} high_ 1 options | relevant_questions, hidden, prefixed, adult-changing-table, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | *[changing_table:adult:height](https://wiki.osm.org/wiki/Key:changing_table:adult:height)* ([pfloat](../SpecialInputElements.md#pfloat)) |
+| [changing_table_adult_adult-changing-table-min_height](#changing_table_adult_adult-changing-table-min_height) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#changing_table_adult_adult-changing-table-min_height))_ | What is the lowest height the adult changing table can be moved to? _The lowest height of the adult changing table is {canonical(changing_table:adult:min_height)}_ | relevant_questions, hidden, prefixed, adult-changing-table, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | *[changing_table:adult:min_height](https://wiki.osm.org/wiki/Key:changing_table:adult:min_height)* ([pfloat](../SpecialInputElements.md#pfloat)) |
+| [changing_table_adult_adult-changing-table-max_height](#changing_table_adult_adult-changing-table-max_height) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#changing_table_adult_adult-changing-table-max_height))_ | What is the highest height the adult changing table can be moved to? _The highest height of the adult changing table is {canonical(changing_table:adult:max_height)}_ | relevant_questions, hidden, prefixed, adult-changing-table, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | *[changing_table:adult:max_height](https://wiki.osm.org/wiki/Key:changing_table:adult:max_height)* ([pfloat](../SpecialInputElements.md#pfloat)) |
+| [changing_table_adult_adult-changing-table-mechanism](#changing_table_adult_adult-changing-table-mechanism) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#changing_table_adult_adult-changing-table-mechanism))_ | How is the height of the changing table adjusted? 2 options | relevant_questions, hidden, prefixed, adult-changing-table, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [changing_table_adult_adult-changing-table-support](#changing_table_adult_adult-changing-table-support) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#changing_table_adult_adult-changing-table-support))_ | How is the adult changing table supported? 3 options | relevant_questions, hidden, prefixed, adult-changing-table, hidden, prefixed, adult-changing-table, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [questions-adult-changing-table](#questions-adult-changing-table) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#questions-adult-changing-table))_ | _{questions(adult-changing-table,,yes)}_ | hidden, relevant-questions, adult-changing-table, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [toilet-question-box](#toilet-question-box) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilet-question-box))_ | _{questions(toilet-questions,wheelchair;adult-changing-table,)}_ | toilet-questions, all, hidden | _Multiple choice only_ |
| [internet](#internet) _(Original in [questions](./BuiltinQuestions.md#internet))_ | Does this place offer internet access? 6 options | internet-all | _Multiple choice only_ |
| [internet-fee](#internet-fee) _(Original in [questions](./BuiltinQuestions.md#internet-fee))_ | Is there a fee for internet access? 3 options | internet-all | _Multiple choice only_ |
| [internet-ssid](#internet-ssid) _(Original in [questions](./BuiltinQuestions.md#internet-ssid))_ | What is the network name for the wireless internet access? _The network name is {internet_access:ssid}_ 1 options | internet-all | *[internet_access:ssid](https://wiki.osm.org/wiki/Key:internet_access:ssid)* ([string](../SpecialInputElements.md#string)) |
| [dog-access](#dog-access) _(Original in [questions](./BuiltinQuestions.md#dog-access))_ | Are dogs allowed in this business? 5 options | | _Multiple choice only_ |
-| [leftover-questions](#leftover-questions) | _{questions( ,hidden)}_ | ignore-docs, added_by_default | _Multiple choice only_ |
+| [leftover-questions](#leftover-questions) | _{questions( ,hidden;wheelchair;adult-changing-table;toilet-questions)}_ | ignore-docs, added_by_default | _Multiple choice only_ |
| [move-button](#move-button) | _{move_button()}_ | | _Multiple choice only_ |
| [delete-button](#delete-button) | _{delete_button()}_ | | _Multiple choice only_ |
| [lod](#lod) _(Original in [questions](./BuiltinQuestions.md#lod))_ | _{linked_data_from_website()}_ | added_by_default | _Multiple choice only_ |
@@ -168,10 +284,422 @@ The question is `Is this place accessible with a wheelchair?`
- *It is possible to reach this place in a wheelchair, but it is not easy* is shown if with wheelchair=limited
- *This place is not reachable with a wheelchair* is shown if with wheelchair=no
-### toiletatamenitytoiletswheelchair
+### toilets-group
_This tagrendering has no question and is thus read-only_
-*toilet_at_amenity.toilets-wheelchair*
+*{group(grouptitle,toilet-questions,wheelchair;wheelchair-title;adult-changing-table)}*
+
+This tagrendering has labels `all`
+
+### grouptitle
+_This tagrendering has no question and is thus read-only_
+
+*Toilet information*
+
+ - *Does not have toilets* is shown if with toilets=no
+
+This tagrendering has labels `all` `hidden`
+
+### has_toilets
+The question is `Has {title()} toilets?`
+
+ - *Has toilets* is shown if with toilets=yes
+ - *Has no toilets* is shown if with toilets=no
+ - *The toilets are marked separately on the map* is shown if with toilets=separate
+
+This tagrendering has labels `toilet-questions` `hidden` `all`
+
+### images_toilet
+_This tagrendering has no question and is thus read-only_
+
+*{image_carousel(toilets:panoramax;toilets:mapillary;toilets:images)}{image_upload(toilets:panoramax,Add a picture of the toilets,)}*
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes
+This tagrendering has labels `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilets_repeated
+_This tagrendering has no question and is thus read-only_
+
+*Multiple, identical objects can be found on floors {toilets:repeat_on}.*
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & toilets:repeat_on~.+
+This tagrendering has labels `level` `amenity-no-prefix` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilets_single_level
+The question is `On what level is this feature located?`
+
+*Located on the {toilets:level}th floor* is shown if `toilets:level` is set.
+
+ - *Located underground* is shown if with toilets:location=underground. _This option cannot be chosen as answer_
+ - *Located on the ground floor* is shown if with toilets:level=0
+ - *Located on the ground floor* is shown if with toilets:level=. _This option cannot be chosen as answer_
+ - *Located on the first floor* is shown if with toilets:level=1
+ - *Located on the first basement level* is shown if with toilets:level=-1
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & toilets:repeat_on=
+This tagrendering has labels `level` `amenity-no-prefix` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilets_toilet-access
+The question is `Are these toilets publicly accessible?`
+
+*Access is {toilets:access}* is shown if `toilets:access` is set.
+
+ - *Public access* is shown if with toilets:access=yes
+ - *Only access to customers* is shown if with toilets:access=customers
+ - *Not accessible* is shown if with toilets:access=no
+ - *Accessible, but one has to ask a key to enter* is shown if with toilets:access=key
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes
+This tagrendering has labels `relevant-questions` `amenity-no-prefix` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilets_toilets-fee
+The question is `Are these toilets free to use?`
+
+ - *These are paid toilets* is shown if with toilets:fee=yes
+ - *Free to use* is shown if with toilets:fee=no
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & toilets:access!=no
+This tagrendering has labels `relevant-questions` `amenity-no-prefix` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilets_toilet-charge
+The question is `How much does one have to pay for these toilets?`
+
+*The fee is {toilets:charge}* is shown if `toilets:charge` is set.
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & toilets:fee=yes
+This tagrendering has labels `relevant-questions` `amenity-no-prefix` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilets_payment-options-split
+The question is `Which methods of payment are accepted here?`
+
+ - *Cash is accepted here* is shown if with toilets:payment:cash=yes. _This option cannot be chosen as answer_. Unselecting this answer will add toilets:payment:cash=
+ - *Payment cards are accepted here* is shown if with toilets:payment:cards=yes. _This option cannot be chosen as answer_. Unselecting this answer will add toilets:payment:cards=
+ - *Payment by QR-code is possible here* is shown if with toilets:payment:qr_code=yes. Unselecting this answer will add toilets:payment:qr_code=no
+ - *Coins are accepted here* is shown if with toilets:payment:coins=yes. Unselecting this answer will add toilets:payment:coins=no
+ - *Bank notes are accepted here* is shown if with toilets:payment:notes=yes. Unselecting this answer will add toilets:payment:notes=no
+ - *Debit cards are accepted here* is shown if with toilets:payment:debit_cards=yes. Unselecting this answer will add toilets:payment:debit_cards=no
+ - *Credit cards are accepted here* is shown if with toilets:payment:credit_cards=yes. Unselecting this answer will add toilets:payment:credit_cards=no
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & toilets:fee=yes
+This tagrendering has labels `relevant-questions` `amenity-no-prefix` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilets_gender_segregated
+The question is `Are these toilets gender-segregated?`
+
+ - *There is a separate, signposted area for men and women* is shown if with toilets:gender_segregated=yes
+ - *There is no separate, signposted area for men and women* is shown if with toilets:gender_segregated=no
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & toilets:toilets:position!=urinal
+This tagrendering has labels `relevant-questions` `no-prefix` `amenity-no-prefix` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilets_toilet-supervised
+The question is `Is this toilets supervised by a person?`
+
+ - *There is a person supervising these toilets during (most of) the opening hours* is shown if with toilets:supervised=yes
+ - *There is a person supervising these toilets, but they are present only during certain times of the opening hours* is shown if with toilets:supervised=interval
+ - *These toilets are not supervised* is shown if with toilets:supervised=no
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & (toilets:access=yes | toilets:access=)
+This tagrendering has labels `relevant-questions` `no-prefix` `amenity-no-prefix` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilets_description
+The question is `Is there still some relevant info that the previous questions did not cover? Feel free to add it here.`
+
+*{toilets:description}* is shown if `toilets:description` is set.
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes
+This tagrendering has labels `amenity-no-prefix` `no-prefix` `relevant-questions` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilets_toilets-wheelchair
+The question is `Is there a dedicated toilet for wheelchair users?`
+
+ - *There is a dedicated toilet for wheelchair users* is shown if with toilets:wheelchair=yes
+ - *No wheelchair access* is shown if with toilets:wheelchair=no
+ - *There is only a dedicated toilet for wheelchair users* is shown if with toilets:wheelchair=designated
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes
+This tagrendering has labels `relevant-questions` `wheelchair` `hidden` `no-prefix` `amenity-no-prefix` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilets-type
+The question is `Which kind of toilets are these?`
+
+ - *There are only seated toilets* is shown if with toilets:position=seated
+ - *There are only urinals here* is shown if with toilets:position=urinal
+ - *There are only squat toilets here* is shown if with toilets:position=squat
+ - *Both seated toilets and urinals are available here* is shown if with toilets:position=seated;urinal
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes
+This tagrendering has labels `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilets-disposal
+The question is `How is the waste handled?`
+
+ - *The waste is moved away by flushing the toilet with water* is shown if with toilets:disposal=flush
+ - *The waste falls into a pit* is shown if with toilets:disposal=pitlatrine
+ - *The waste is collected in a bucket or similar container, which is regularly removed* is shown if with toilets:disposal=bucket
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes
+This tagrendering has labels `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### menstrual_products
+The question is `Are free, menstrual products distributed here?`
+
+ - *Free menstrual products are available to all visitors of these toilets* is shown if with toilets:menstrual_products=yes
+ - *Free menstrual products are available to some visitors of these toilets* is shown if with toilets:menstrual_products=limited
+ - *No free menstrual products are available here* is shown if with toilets:menstrual_products=no
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes
+This tagrendering has labels `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### menstrual_products_location
+The question is `Where are the free menstrual products located?`
+
+*The menstrual products are located in {toilets:menstrual_products:location}* is shown if `toilets:menstrual_products:location` is set.
+
+ - *The free, menstrual products are located in the toilet for women* is shown if with toilets:menstrual_products:location=female_toilet
+ - *The free, menstrual products are located in the toilet for men* is shown if with toilets:menstrual_products:location=male_toilet
+ - *The free, menstrual products are located in the toilet for wheelchair users* is shown if with toilets:menstrual_products:location=wheelchair_toilet
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & (toilets:menstrual_products=limited | toilets:menstrual_products:location~.+)
+This tagrendering has labels `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilets-changing-table
+The question is `Is a changing table (to change diapers) available?`
+
+ - *A changing table is available* is shown if with changing_table=yes
+ - *No changing table is available* is shown if with changing_table=no
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes
+This tagrendering has labels `relevant-questions` `no-prefix` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilet-changing_table:location
+The question is `Where is the changing table located?`
+
+*A changing table is located at {changing_table:location}* is shown if `changing_table:location` is set.
+
+ - *A changing table is in the toilet for women* is shown if with changing_table:location=female_toilet
+ - *A changing table is in the toilet for men* is shown if with changing_table:location=male_toilet
+ - *A changing table is in the toilet for wheelchair users* is shown if with changing_table:location=wheelchair_toilet
+ - *A changing table is in a dedicated room* is shown if with changing_table:location=dedicated_room
+
+This tagrendering is only visible in the popup if the following condition is met: changing_table=yes & toilets=yes
+This tagrendering has labels `relevant-questions` `no-prefix` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilet-has-paper
+The question is `Does one have to bring their own toilet paper to this toilet?`
+
+ - *This toilet is equipped with toilet paper* is shown if with toilets:paper_supplied=yes
+ - *You have to bring your own toilet paper to this toilet* is shown if with toilets:paper_supplied=no
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & toilets:position!=urinal
+This tagrendering has labels `relevant-questions` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilet-handwashing
+The question is `Do these toilets have a sink to wash your hands?`
+
+ - *These toilets have a sink to wash your hands* is shown if with toilets:handwashing=yes
+ - *These toilets don't have a sink to wash your hands* is shown if with toilets:handwashing=no
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes
+This tagrendering has labels `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilet-drying
+The question is `Do these toilets have a device to dry your hands?`
+
+ - *Electric hand dryers are available for drying hands.* is shown if with toilets:hands_drying=electric_hand_dryer
+ - *Paper towels are available for drying hands.* is shown if with toilets:hands_drying=paper_towel
+ - *A towel roll cabinet is available for drying hands* is shown if with toilets:hands_drying=towel_cabinet
+ - *A fabric towel available to dry your hands.* is shown if with toilets:hands_drying=towel
+ - *There are no hand drying facilities available.* is shown if with toilets:hands_drying=no
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & toilets:handwashing=yes
+This tagrendering has labels `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### wheelchair-group
+_This tagrendering has no question and is thus read-only_
+
+*{group(wheelchair-title,wheelchair;adult-changing-table,)}*
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes
+This tagrendering has labels `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### wheelchair-picture-carousel
+_This tagrendering has no question and is thus read-only_
+
+*{image_carousel(toilets:wheelchair:panoramax;toilets:wheelchair:image;toilets:wheelchair:mapillary)}*
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & (toilets:wheelchair=yes | (amenity=toilets & wheelchair=yes))
+This tagrendering has labels `wheelchair` `hidden` `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### wheelchair-picture
+_This tagrendering has no question and is thus read-only_
+
+*{image_upload(toilets:wheelchair:panoramax,Add a picture of the wheelchair accessible toilet,)}*
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & (toilets:wheelchair=yes | (amenity=toilets & wheelchair=yes))
+This tagrendering has labels `wheelchair` `hidden` `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### wheelchair-title
+_This tagrendering has no question and is thus read-only_
+
+*Wheelchair accessible toilet*
+
+ - *Wheelchair accessibility features* is shown if with wheelchair=designated | toilets:wheelchair=designated
+ - *No wheelchair accessible toilet* is shown if with wheelchair=no | toilets:wheelchair=no
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes
+This tagrendering has labels `hidden` `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilet-wheelchair-access
+The question is `Is the wheelchair-accessible toilet locked?`
+
+ - *The wheelchair accessible toilets are freely accessible* is shown if with toilets:wheelchair:access=yes
+ - *One needs to ask permission to access wheelchair-accessible toilet, e.g. by asking a key* is shown if with toilets:wheelchair:access=key
+ - *One can use a Master Locksmiths Access Key(MLAK) to access this bathroom* is shown if with centralkey=mlak
+ - *One can use a RADAR Key to access this bathroom* is shown if with centralkey=nks
+ - *One can use a EuroKey to access this bathroom* is shown if with centralkey=eurokey
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & (toilets:wheelchair=yes | (amenity=toilets & wheelchair=yes)) & (access=yes | access=public | access=customers | access=)
+This tagrendering has labels `hidden` `wheelchair` `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilets_wheelchair_has_grab_rail_lr
+The question is `Is there a grab rail?`
+
+ - *Grab rails on both sides* is shown if with toilets:wheelchair:grab_rail:left=yes & toilets:wheelchair:grab_rail:right=yes
+ - *Only grab rails on the left side* is shown if with toilets:wheelchair:grab_rail:left=yes & toilets:wheelchair:grab_rail:right=no
+ - *Grab rails on the right side* is shown if with toilets:wheelchair:grab_rail:left=no & toilets:wheelchair:grab_rail:right=yes
+ - *No grab rails at all* is shown if with toilets:wheelchair:grab_rail:left=no & toilets:wheelchair:grab_rail:right=no
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & (toilets:wheelchair=yes | (amenity=toilets & wheelchair=yes))
+This tagrendering has labels `wheelchair` `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilets_wheelchair_has_grab_rail_behind
+The question is `Does the toilet have a grab rail behind the toilet?`
+
+ - *Has a grab rail behind the toilet* is shown if with toilets:wheelchair:grab_rail:behind=yes
+ - *No grab rail behind the toilet* is shown if with toilets:wheelchair:grab_rail:behind=no
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & (toilets:wheelchair=yes | (amenity=toilets & wheelchair=yes))
+This tagrendering has labels `wheelchair` `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilets_wheelchair_is_foldable_left
+The question is `Is the left grab rail foldable?`
+
+ - *The left grab rail is foldable* is shown if with toilets:wheelchair:is_foldable:left=yes
+ - *The left grab rail is not foldable* is shown if with toilets:wheelchair:is_foldable:left=no
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & toilets:wheelchair:grab_rail:left=yes & (toilets:wheelchair=yes | (amenity=toilets & wheelchair=yes))
+This tagrendering has labels `generic_questions` `wheelchair` `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilets_wheelchair_is_foldable_right
+The question is `Is the right grab rail foldable?`
+
+ - *The right grab rail is foldable* is shown if with toilets:wheelchair:is_foldable:right=yes
+ - *The right grab rail is not foldable* is shown if with toilets:wheelchair:is_foldable:right=no
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & toilets:wheelchair:grab_rail:right=yes & (toilets:wheelchair=yes | (amenity=toilets & wheelchair=yes))
+This tagrendering has labels `generic_questions` `wheelchair` `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### wheelchair-door-width
+The question is `What is the width of the door to the wheelchair accessible toilet?`
+
+*The door to the wheelchair-accessible toilet is {canonical(door:width)} wide* is shown if `door:width` is set.
+
+The allowed input is of type pfloat and is in range 0.4 until 4 (both inclusive). A warning will appear if the value is outside of 0.6 and 2.
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & (toilets:wheelchair=designated | (amenity=toilet & wheelchair~^(yes|designated)$))
+This tagrendering has labels `relevant-questions` `wheelchair` `hidden` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### questions-wheelchair
+_This tagrendering has no question and is thus read-only_
+
+*{questions(wheelchair,,)}*
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes
+This tagrendering has labels `wheelchair` `hidden` `relevant-questions` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### adult_changing_table_title
+_This tagrendering has no question and is thus read-only_
+
+*Adult changing table*
+
+This tagrendering is only visible in the popup if the following condition is met: changing_table:adult=yes & toilets=yes
+This tagrendering has labels `hidden` `prefixed` `adult-changing-table` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### adult-changing-table
+The question is `Does this toilet have an adult changing table?`
+
+ - *Has a changing table for adults* is shown if with changing_table:adult=yes
+ - *No changing table for adults* is shown if with changing_table:adult=no
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes
+This tagrendering has labels `prefixed` `hidden` `relevant-questions` `adult-changing-table` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### changing_table_adult_height
+The question is `What is the height of the adult changing table?`
+
+*The changing table is {canonical(changing_table:adult:height)} high* is shown if `changing_table:adult:height` is set.
+
+The allowed input is of type pfloat and is in range 0.4 until 2 (both inclusive). A warning will appear if the value is outside of 0.8 and 1.7.
+
+ - *The changing table is adjustable in height* is shown if with changing_table:adult:height=adjustable
+
+This tagrendering is only visible in the popup if the following condition is met: changing_table:adult=yes & toilets=yes
+This tagrendering has labels `relevant_questions` `hidden` `prefixed` `adult-changing-table` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### changing_table_adult_adult-changing-table-min_height
+The question is `What is the lowest height the adult changing table can be moved to?`
+
+*The lowest height of the adult changing table is {canonical(changing_table:adult:min_height)}* is shown if `changing_table:adult:min_height` is set.
+
+The allowed input is of type pfloat and is in range 0.4 until 2 (both inclusive). A warning will appear if the value is outside of 0.8 and 1.7.
+
+This tagrendering is only visible in the popup if the following condition is met: changing_table:adult=yes & changing_table:adult:height=adjustable & toilets=yes
+This tagrendering has labels `relevant_questions` `hidden` `prefixed` `adult-changing-table` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### changing_table_adult_adult-changing-table-max_height
+The question is `What is the highest height the adult changing table can be moved to?`
+
+*The highest height of the adult changing table is {canonical(changing_table:adult:max_height)}* is shown if `changing_table:adult:max_height` is set.
+
+The allowed input is of type pfloat and is in range 0.4 until 2 (both inclusive). A warning will appear if the value is outside of 0.8 and 1.7.
+
+This tagrendering is only visible in the popup if the following condition is met: changing_table:adult=yes & changing_table:adult:height=adjustable & toilets=yes
+This tagrendering has labels `relevant_questions` `hidden` `prefixed` `adult-changing-table` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### changing_table_adult_adult-changing-table-mechanism
+The question is `How is the height of the changing table adjusted?`
+
+ - *The height of the adult changing table is adjusted manually* is shown if with changing_table:adult:height:mechanism=manual
+ - *The height of the adult changing table is adjusted electrically* is shown if with changing_table:adult:height:mechanism=electric
+
+This tagrendering is only visible in the popup if the following condition is met: changing_table:adult=yes & changing_table:adult:height=adjustable & toilets=yes
+This tagrendering has labels `relevant_questions` `hidden` `prefixed` `adult-changing-table` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### changing_table_adult_adult-changing-table-support
+The question is `How is the adult changing table supported?`
+
+ - *The changing table is mounted to the wall* is shown if with changing_table:adult:support=wall_mounted
+ - *The changing table stands on table legs* is shown if with changing_table:adult:support=legs
+ - *The changing table stands on table legs with wheels and can be moved* is shown if with changing_table:adult:support=wheels
+
+This tagrendering is only visible in the popup if the following condition is met: changing_table:adult=yes & toilets=yes
+This tagrendering has labels `relevant_questions` `hidden` `prefixed` `adult-changing-table` `hidden` `prefixed` `adult-changing-table` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### questions-adult-changing-table
+_This tagrendering has no question and is thus read-only_
+
+*{questions(adult-changing-table,,yes)}*
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes
+This tagrendering has labels `hidden` `relevant-questions` `adult-changing-table` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilet-question-box
+_This tagrendering has no question and is thus read-only_
+
+*{questions(toilet-questions,wheelchair;adult-changing-table,)}*
+
+This tagrendering has labels `toilet-questions` `all` `hidden`
### internet
The question is `Does this place offer internet access?`
@@ -217,7 +745,7 @@ The question is `Are dogs allowed in this business?`
### leftover-questions
_This tagrendering has no question and is thus read-only_
-*{questions( ,hidden)}*
+*{questions( ,hidden;wheelchair;adult-changing-table;toilet-questions)}*
This tagrendering has labels `ignore-docs` `added_by_default`
diff --git a/Docs/Layers/toilet.md b/Docs/Layers/toilet.md
index 7d5a5bd33..b9ab4a8f8 100644
--- a/Docs/Layers/toilet.md
+++ b/Docs/Layers/toilet.md
@@ -6,11 +6,13 @@ A layer showing (public) toilets
- This layer is shown at zoomlevel **10** and higher
- This layer is needed as dependency for layer [cafe_pub](#cafe_pub)
+ - This layer is needed as dependency for layer [campsite](#campsite)
- This layer is needed as dependency for layer [doctors](#doctors)
- This layer is needed as dependency for layer [food](#food)
- This layer is needed as dependency for layer [ice_cream](#ice_cream)
- This layer is needed as dependency for layer [pharmacy](#pharmacy)
- This layer is needed as dependency for layer [shops](#shops)
+ - This layer is needed as dependency for layer [tourism_accomodation](#tourism_accomodation)
- This layer is needed as dependency for layer [bike_shop](#bike_shop)
- This layer is needed as dependency for layer [shops_second_hand](#shops_second_hand)
- This layer is needed as dependency for layer [shops_with_climbing_shoe_repair](#shops_with_climbing_shoe_repair)
@@ -25,6 +27,9 @@ A layer showing (public) toilets
- This layer is needed as dependency for layer [food_dog_friendly](#food_dog_friendly)
- This layer is needed as dependency for layer [pet_shops](#pet_shops)
- This layer is needed as dependency for layer [shop_dog_friendly](#shop_dog_friendly)
+ - This layer is needed as dependency for layer [group_campsite](#group_campsite)
+ - This layer is needed as dependency for layer [group_hostel](#group_hostel)
+ - This layer is needed as dependency for layer [hostel](#hostel)
- This layer is needed as dependency for layer [sport_shops](#sport_shops)
## Table of contents
@@ -96,6 +101,7 @@ A layer showing (public) toilets
- [fritures](https://mapcomplete.org/fritures)
- [glutenfree](https://mapcomplete.org/glutenfree)
- [healthcare](https://mapcomplete.org/healthcare)
+ - [hotels](https://mapcomplete.org/hotels)
- [icecream](https://mapcomplete.org/icecream)
- [lactosefree](https://mapcomplete.org/lactosefree)
- [nature](https://mapcomplete.org/nature)
@@ -105,6 +111,7 @@ A layer showing (public) toilets
- [pets](https://mapcomplete.org/pets)
- [playgrounds](https://mapcomplete.org/playgrounds)
- [postboxes](https://mapcomplete.org/postboxes)
+ - [scouting](https://mapcomplete.org/scouting)
- [shops](https://mapcomplete.org/shops)
- [ski](https://mapcomplete.org/ski)
- [sports](https://mapcomplete.org/sports)
diff --git a/Docs/Layers/tourism_accomodation.md b/Docs/Layers/tourism_accomodation.md
index 1371856d2..6f9eea8d0 100644
--- a/Docs/Layers/tourism_accomodation.md
+++ b/Docs/Layers/tourism_accomodation.md
@@ -5,6 +5,7 @@
Various types of lodging facilities
- This layer is shown at zoomlevel **12** and higher
+ - This layer will automatically load [toilet](./toilet.md) into the layout as it depends on it: tagrendering has_toilets needs this layer (has_toilets)
## Table of contents
@@ -23,7 +24,49 @@ Various types of lodging facilities
- [email](#email)
- [website](#website)
- [wheelchair-access](#wheelchair-access)
- - [toiletatamenitytoiletswheelchair](#toiletatamenitytoiletswheelchair)
+ - [toilets-group](#toilets-group)
+ - [grouptitle](#grouptitle)
+ - [has_toilets](#has_toilets)
+ - [images_toilet](#images_toilet)
+ - [toilets_repeated](#toilets_repeated)
+ - [toilets_single_level](#toilets_single_level)
+ - [toilets_toilet-access](#toilets_toilet-access)
+ - [toilets_toilets-fee](#toilets_toilets-fee)
+ - [toilets_toilet-charge](#toilets_toilet-charge)
+ - [toilets_payment-options-split](#toilets_payment-options-split)
+ - [toilets_gender_segregated](#toilets_gender_segregated)
+ - [toilets_toilet-supervised](#toilets_toilet-supervised)
+ - [toilets_description](#toilets_description)
+ - [toilets_toilets-wheelchair](#toilets_toilets-wheelchair)
+ - [toilets-type](#toilets-type)
+ - [toilets-disposal](#toilets-disposal)
+ - [menstrual_products](#menstrual_products)
+ - [menstrual_products_location](#menstrual_products_location)
+ - [toilets-changing-table](#toilets-changing-table)
+ - [toilet-changing_table:location](#toilet-changing_tablelocation)
+ - [toilet-has-paper](#toilet-has-paper)
+ - [toilet-handwashing](#toilet-handwashing)
+ - [toilet-drying](#toilet-drying)
+ - [wheelchair-group](#wheelchair-group)
+ - [wheelchair-picture-carousel](#wheelchair-picture-carousel)
+ - [wheelchair-picture](#wheelchair-picture)
+ - [wheelchair-title](#wheelchair-title)
+ - [toilet-wheelchair-access](#toilet-wheelchair-access)
+ - [toilets_wheelchair_has_grab_rail_lr](#toilets_wheelchair_has_grab_rail_lr)
+ - [toilets_wheelchair_has_grab_rail_behind](#toilets_wheelchair_has_grab_rail_behind)
+ - [toilets_wheelchair_is_foldable_left](#toilets_wheelchair_is_foldable_left)
+ - [toilets_wheelchair_is_foldable_right](#toilets_wheelchair_is_foldable_right)
+ - [wheelchair-door-width](#wheelchair-door-width)
+ - [questions-wheelchair](#questions-wheelchair)
+ - [adult_changing_table_title](#adult_changing_table_title)
+ - [adult-changing-table](#adult-changing-table)
+ - [changing_table_adult_height](#changing_table_adult_height)
+ - [changing_table_adult_adult-changing-table-min_height](#changing_table_adult_adult-changing-table-min_height)
+ - [changing_table_adult_adult-changing-table-max_height](#changing_table_adult_adult-changing-table-max_height)
+ - [changing_table_adult_adult-changing-table-mechanism](#changing_table_adult_adult-changing-table-mechanism)
+ - [changing_table_adult_adult-changing-table-support](#changing_table_adult_adult-changing-table-support)
+ - [questions-adult-changing-table](#questions-adult-changing-table)
+ - [toilet-question-box](#toilet-question-box)
- [internet](#internet)
- [internet-fee](#internet-fee)
- [internet-ssid](#internet-ssid)
@@ -81,6 +124,37 @@ Elements must match **any** of the following expressions:
| [email](https://wiki.openstreetmap.org/wiki/Key:email) | [email](../SpecialInputElements.md#email) | |
| [website](https://wiki.openstreetmap.org/wiki/Key:website) | [url](../SpecialInputElements.md#url) | |
| [wheelchair](https://wiki.openstreetmap.org/wiki/Key:wheelchair) | Multiple choice | [designated](https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Ddesignated) [yes](https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Dyes) [limited](https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Dlimited) [no](https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Dno) |
+| [toilets](https://wiki.openstreetmap.org/wiki/Key:toilets) | Multiple choice | [no](https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dno) |
+| [toilets](https://wiki.openstreetmap.org/wiki/Key:toilets) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dno) [separate](https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dseparate) |
+| [toilets:level](https://wiki.openstreetmap.org/wiki/Key:toilets:level) | [float](../SpecialInputElements.md#float) | [0](https://wiki.openstreetmap.org/wiki/Tag:toilets:level%3D0) [1](https://wiki.openstreetmap.org/wiki/Tag:toilets:level%3D1) [-1](https://wiki.openstreetmap.org/wiki/Tag:toilets:level%3D-1) |
+| [toilets:access](https://wiki.openstreetmap.org/wiki/Key:toilets:access) | [string](../SpecialInputElements.md#string) | [yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:access%3Dyes) [customers](https://wiki.openstreetmap.org/wiki/Tag:toilets:access%3Dcustomers) [no](https://wiki.openstreetmap.org/wiki/Tag:toilets:access%3Dno) [key](https://wiki.openstreetmap.org/wiki/Tag:toilets:access%3Dkey) |
+| [toilets:fee](https://wiki.openstreetmap.org/wiki/Key:toilets:fee) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:fee%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:toilets:fee%3Dno) |
+| [toilets:charge](https://wiki.openstreetmap.org/wiki/Key:toilets:charge) | [string](../SpecialInputElements.md#string) | |
+| [toilets:gender_segregated](https://wiki.openstreetmap.org/wiki/Key:toilets:gender_segregated) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:gender_segregated%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:toilets:gender_segregated%3Dno) |
+| [toilets:supervised](https://wiki.openstreetmap.org/wiki/Key:toilets:supervised) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:supervised%3Dyes) [interval](https://wiki.openstreetmap.org/wiki/Tag:toilets:supervised%3Dinterval) [no](https://wiki.openstreetmap.org/wiki/Tag:toilets:supervised%3Dno) |
+| [toilets:description](https://wiki.openstreetmap.org/wiki/Key:toilets:description) | [text](../SpecialInputElements.md#text) | |
+| [toilets:wheelchair](https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair%3Dno) [designated](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair%3Ddesignated) |
+| [toilets:position](https://wiki.openstreetmap.org/wiki/Key:toilets:position) | Multiple choice | [seated](https://wiki.openstreetmap.org/wiki/Tag:toilets:position%3Dseated) [urinal](https://wiki.openstreetmap.org/wiki/Tag:toilets:position%3Durinal) [squat](https://wiki.openstreetmap.org/wiki/Tag:toilets:position%3Dsquat) [seated;urinal](https://wiki.openstreetmap.org/wiki/Tag:toilets:position%3Dseated;urinal) |
+| [toilets:disposal](https://wiki.openstreetmap.org/wiki/Key:toilets:disposal) | Multiple choice | [flush](https://wiki.openstreetmap.org/wiki/Tag:toilets:disposal%3Dflush) [pitlatrine](https://wiki.openstreetmap.org/wiki/Tag:toilets:disposal%3Dpitlatrine) [bucket](https://wiki.openstreetmap.org/wiki/Tag:toilets:disposal%3Dbucket) |
+| [toilets:menstrual_products](https://wiki.openstreetmap.org/wiki/Key:toilets:menstrual_products) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:menstrual_products%3Dyes) [limited](https://wiki.openstreetmap.org/wiki/Tag:toilets:menstrual_products%3Dlimited) [no](https://wiki.openstreetmap.org/wiki/Tag:toilets:menstrual_products%3Dno) |
+| [toilets:menstrual_products:location](https://wiki.openstreetmap.org/wiki/Key:toilets:menstrual_products:location) | [string](../SpecialInputElements.md#string) | [female_toilet](https://wiki.openstreetmap.org/wiki/Tag:toilets:menstrual_products:location%3Dfemale_toilet) [male_toilet](https://wiki.openstreetmap.org/wiki/Tag:toilets:menstrual_products:location%3Dmale_toilet) [wheelchair_toilet](https://wiki.openstreetmap.org/wiki/Tag:toilets:menstrual_products:location%3Dwheelchair_toilet) |
+| [changing_table](https://wiki.openstreetmap.org/wiki/Key:changing_table) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:changing_table%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:changing_table%3Dno) |
+| [changing_table:location](https://wiki.openstreetmap.org/wiki/Key:changing_table:location) | [string](../SpecialInputElements.md#string) | [female_toilet](https://wiki.openstreetmap.org/wiki/Tag:changing_table:location%3Dfemale_toilet) [male_toilet](https://wiki.openstreetmap.org/wiki/Tag:changing_table:location%3Dmale_toilet) [wheelchair_toilet](https://wiki.openstreetmap.org/wiki/Tag:changing_table:location%3Dwheelchair_toilet) [dedicated_room](https://wiki.openstreetmap.org/wiki/Tag:changing_table:location%3Ddedicated_room) |
+| [toilets:paper_supplied](https://wiki.openstreetmap.org/wiki/Key:toilets:paper_supplied) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:paper_supplied%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:toilets:paper_supplied%3Dno) |
+| [toilets:handwashing](https://wiki.openstreetmap.org/wiki/Key:toilets:handwashing) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:handwashing%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:toilets:handwashing%3Dno) |
+| [toilets:hands_drying](https://wiki.openstreetmap.org/wiki/Key:toilets:hands_drying) | Multiple choice | [electric_hand_dryer](https://wiki.openstreetmap.org/wiki/Tag:toilets:hands_drying%3Delectric_hand_dryer) [paper_towel](https://wiki.openstreetmap.org/wiki/Tag:toilets:hands_drying%3Dpaper_towel) [towel_cabinet](https://wiki.openstreetmap.org/wiki/Tag:toilets:hands_drying%3Dtowel_cabinet) [towel](https://wiki.openstreetmap.org/wiki/Tag:toilets:hands_drying%3Dtowel) [no](https://wiki.openstreetmap.org/wiki/Tag:toilets:hands_drying%3Dno) |
+| [wheelchair](https://wiki.openstreetmap.org/wiki/Key:wheelchair) | Multiple choice | [designated](https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Ddesignated) [no](https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Dno) |
+| [toilets:wheelchair:grab_rail:left](https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair:grab_rail:left) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:grab_rail:left%3Dyes) [yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:grab_rail:left%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:grab_rail:left%3Dno) [no](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:grab_rail:left%3Dno) |
+| [toilets:wheelchair:grab_rail:behind](https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair:grab_rail:behind) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:grab_rail:behind%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:grab_rail:behind%3Dno) |
+| [toilets:wheelchair:is_foldable:left](https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair:is_foldable:left) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:is_foldable:left%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:is_foldable:left%3Dno) |
+| [toilets:wheelchair:is_foldable:right](https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair:is_foldable:right) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:is_foldable:right%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:is_foldable:right%3Dno) |
+| [door:width](https://wiki.openstreetmap.org/wiki/Key:door:width) | [pfloat](../SpecialInputElements.md#pfloat) | |
+| [changing_table:adult](https://wiki.openstreetmap.org/wiki/Key:changing_table:adult) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult%3Dno) |
+| [changing_table:adult:height](https://wiki.openstreetmap.org/wiki/Key:changing_table:adult:height) | [pfloat](../SpecialInputElements.md#pfloat) | [adjustable](https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult:height%3Dadjustable) |
+| [changing_table:adult:min_height](https://wiki.openstreetmap.org/wiki/Key:changing_table:adult:min_height) | [pfloat](../SpecialInputElements.md#pfloat) | |
+| [changing_table:adult:max_height](https://wiki.openstreetmap.org/wiki/Key:changing_table:adult:max_height) | [pfloat](../SpecialInputElements.md#pfloat) | |
+| [changing_table:adult:height:mechanism](https://wiki.openstreetmap.org/wiki/Key:changing_table:adult:height:mechanism) | Multiple choice | [manual](https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult:height:mechanism%3Dmanual) [electric](https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult:height:mechanism%3Delectric) |
+| [changing_table:adult:support](https://wiki.openstreetmap.org/wiki/Key:changing_table:adult:support) | Multiple choice | [wall_mounted](https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult:support%3Dwall_mounted) [legs](https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult:support%3Dlegs) [wheels](https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult:support%3Dwheels) |
| [internet_access](https://wiki.openstreetmap.org/wiki/Key:internet_access) | Multiple choice | [wlan](https://wiki.openstreetmap.org/wiki/Tag:internet_access%3Dwlan) [no](https://wiki.openstreetmap.org/wiki/Tag:internet_access%3Dno) [terminal](https://wiki.openstreetmap.org/wiki/Tag:internet_access%3Dterminal) [wired](https://wiki.openstreetmap.org/wiki/Tag:internet_access%3Dwired) [terminal;wlan](https://wiki.openstreetmap.org/wiki/Tag:internet_access%3Dterminal;wlan) |
| [internet_access:fee](https://wiki.openstreetmap.org/wiki/Key:internet_access:fee) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:internet_access:fee%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:internet_access:fee%3Dno) [customers](https://wiki.openstreetmap.org/wiki/Tag:internet_access:fee%3Dcustomers) |
| [internet_access:ssid](https://wiki.openstreetmap.org/wiki/Key:internet_access:ssid) | [string](../SpecialInputElements.md#string) | [Telekom](https://wiki.openstreetmap.org/wiki/Tag:internet_access:ssid%3DTelekom) |
@@ -100,12 +174,54 @@ Elements must match **any** of the following expressions:
| [email](#email) _(Original in [questions](./BuiltinQuestions.md#email))_ | What is the email address of ? _{email}_ 2 options | contact | *[email](https://wiki.osm.org/wiki/Key:email)* ([email](../SpecialInputElements.md#email)) |
| [website](#website) _(Original in [questions](./BuiltinQuestions.md#website))_ | What is the website of ? _{website}_ 1 options | contact | *[website](https://wiki.osm.org/wiki/Key:website)* ([url](../SpecialInputElements.md#url)) |
| [wheelchair-access](#wheelchair-access) _(Original in [questions](./BuiltinQuestions.md#wheelchair-access))_ | Is this place accessible with a wheelchair? 4 options | | _Multiple choice only_ |
-| [toiletatamenitytoiletswheelchair](#toiletatamenitytoiletswheelchair) | _toilet_at_amenity.toilets-wheelchair_ | | _Multiple choice only_ |
+| [toilets-group](#toilets-group) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets-group))_ | _{group(grouptitle,toilet-questions,wheelchair;wheelchair-title;adult-changing-table)}_ | all | _Multiple choice only_ |
+| [grouptitle](#grouptitle) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#grouptitle))_ | _Toilet information_ 1 options | all, hidden | _Multiple choice only_ |
+| [has_toilets](#has_toilets) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#has_toilets))_ | Has toilets? 3 options | toilet-questions, hidden, all | _Multiple choice only_ |
+| [images_toilet](#images_toilet) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#images_toilet))_ | _{image_carousel(toilets:panoramax;toilets:mapillary;toilets:images)}{image_upload(toilets:panoramax,Add a picture of the toilets,)}_ | relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [toilets_repeated](#toilets_repeated) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets_repeated))_ | _Multiple, identical objects can be found on floors {toilets:repeat_on}._ | level, amenity-no-prefix, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [toilets_single_level](#toilets_single_level) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets_single_level))_ | On what level is this feature located? _Located on the {toilets:level}th floor_ 5 options | level, amenity-no-prefix, relevant_questions, toilet-questions, hidden, all | *[toilets:level](https://wiki.osm.org/wiki/Key:toilets:level)* ([float](../SpecialInputElements.md#float)) |
+| [toilets_toilet-access](#toilets_toilet-access) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets_toilet-access))_ | Are these toilets publicly accessible? _Access is {toilets:access}_ 4 options | relevant-questions, amenity-no-prefix, relevant_questions, toilet-questions, hidden, all | *[toilets:access](https://wiki.osm.org/wiki/Key:toilets:access)* ([string](../SpecialInputElements.md#string)) |
+| [toilets_toilets-fee](#toilets_toilets-fee) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets_toilets-fee))_ | Are these toilets free to use? 2 options | relevant-questions, amenity-no-prefix, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [toilets_toilet-charge](#toilets_toilet-charge) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets_toilet-charge))_ | How much does one have to pay for these toilets? _The fee is {toilets:charge}_ | relevant-questions, amenity-no-prefix, relevant_questions, toilet-questions, hidden, all | *[toilets:charge](https://wiki.osm.org/wiki/Key:toilets:charge)* ([string](../SpecialInputElements.md#string)) |
+| [toilets_payment-options-split](#toilets_payment-options-split) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets_payment-options-split))_ | Which methods of payment are accepted here? 7 options | relevant-questions, amenity-no-prefix, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [toilets_gender_segregated](#toilets_gender_segregated) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets_gender_segregated))_ | Are these toilets gender-segregated? 2 options | relevant-questions, no-prefix, amenity-no-prefix, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [toilets_toilet-supervised](#toilets_toilet-supervised) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets_toilet-supervised))_ | Is this toilets supervised by a person? 3 options | relevant-questions, no-prefix, amenity-no-prefix, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [toilets_description](#toilets_description) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets_description))_ | Is there still some relevant info that the previous questions did not cover? Feel free to add it here. _{toilets:description}_ | amenity-no-prefix, no-prefix, relevant-questions, relevant_questions, toilet-questions, hidden, all | *[toilets:description](https://wiki.osm.org/wiki/Key:toilets:description)* ([text](../SpecialInputElements.md#text)) |
+| [toilets_toilets-wheelchair](#toilets_toilets-wheelchair) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets_toilets-wheelchair))_ | Is there a dedicated toilet for wheelchair users? 3 options | relevant-questions, wheelchair, hidden, no-prefix, amenity-no-prefix, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [toilets-type](#toilets-type) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets-type))_ | Which kind of toilets are these? 4 options | relevant-questions, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [toilets-disposal](#toilets-disposal) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets-disposal))_ | How is the waste handled? 3 options | relevant-questions, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [menstrual_products](#menstrual_products) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#menstrual_products))_ | Are free, menstrual products distributed here? 3 options | relevant-questions, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [menstrual_products_location](#menstrual_products_location) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#menstrual_products_location))_ | Where are the free menstrual products located? _The menstrual products are located in {toilets:menstrual_products:location}_ 3 options | relevant-questions, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | *[toilets:menstrual_products:location](https://wiki.osm.org/wiki/Key:toilets:menstrual_products:location)* ([string](../SpecialInputElements.md#string)) |
+| [toilets-changing-table](#toilets-changing-table) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets-changing-table))_ | Is a changing table (to change diapers) available? 2 options | relevant-questions, no-prefix, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [toilet-changing_table:location](#toilet-changing_table:location) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilet-changing_table:location))_ | Where is the changing table located? _A changing table is located at {changing_table:location}_ 4 options | relevant-questions, no-prefix, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | *[changing_table:location](https://wiki.osm.org/wiki/Key:changing_table:location)* ([string](../SpecialInputElements.md#string)) |
+| [toilet-has-paper](#toilet-has-paper) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilet-has-paper))_ | Does one have to bring their own toilet paper to this toilet? 2 options | relevant-questions, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [toilet-handwashing](#toilet-handwashing) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilet-handwashing))_ | Do these toilets have a sink to wash your hands? 2 options | relevant-questions, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [toilet-drying](#toilet-drying) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilet-drying))_ | Do these toilets have a device to dry your hands? 5 options | relevant-questions, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [wheelchair-group](#wheelchair-group) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#wheelchair-group))_ | _{group(wheelchair-title,wheelchair;adult-changing-table,)}_ | relevant-questions, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [wheelchair-picture-carousel](#wheelchair-picture-carousel) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#wheelchair-picture-carousel))_ | _{image_carousel(toilets:wheelchair:panoramax;toilets:wheelchair:image;toilets:wheelchair:mapillary)}_ | wheelchair, hidden, relevant-questions, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [wheelchair-picture](#wheelchair-picture) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#wheelchair-picture))_ | _{image_upload(toilets:wheelchair:panoramax,Add a picture of the wheelchair accessible toilet,)}_ | wheelchair, hidden, relevant-questions, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [wheelchair-title](#wheelchair-title) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#wheelchair-title))_ | _Wheelchair accessible toilet_ 2 options | hidden, relevant-questions, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [toilet-wheelchair-access](#toilet-wheelchair-access) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilet-wheelchair-access))_ | Is the wheelchair-accessible toilet locked? 5 options | hidden, wheelchair, relevant-questions, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [toilets_wheelchair_has_grab_rail_lr](#toilets_wheelchair_has_grab_rail_lr) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets_wheelchair_has_grab_rail_lr))_ | Is there a grab rail? 4 options | wheelchair, relevant-questions, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [toilets_wheelchair_has_grab_rail_behind](#toilets_wheelchair_has_grab_rail_behind) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets_wheelchair_has_grab_rail_behind))_ | Does the toilet have a grab rail behind the toilet? 2 options | wheelchair, relevant-questions, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [toilets_wheelchair_is_foldable_left](#toilets_wheelchair_is_foldable_left) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets_wheelchair_is_foldable_left))_ | Is the left grab rail foldable? 2 options | generic_questions, wheelchair, relevant-questions, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [toilets_wheelchair_is_foldable_right](#toilets_wheelchair_is_foldable_right) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets_wheelchair_is_foldable_right))_ | Is the right grab rail foldable? 2 options | generic_questions, wheelchair, relevant-questions, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [wheelchair-door-width](#wheelchair-door-width) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#wheelchair-door-width))_ | What is the width of the door to the wheelchair accessible toilet? _The door to the wheelchair-accessible toilet is {canonical(door:width)} wide_ | relevant-questions, wheelchair, hidden, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | *[door:width](https://wiki.osm.org/wiki/Key:door:width)* ([pfloat](../SpecialInputElements.md#pfloat)) |
+| [questions-wheelchair](#questions-wheelchair) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#questions-wheelchair))_ | _{questions(wheelchair,,)}_ | wheelchair, hidden, relevant-questions, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [adult_changing_table_title](#adult_changing_table_title) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#adult_changing_table_title))_ | _Adult changing table_ | hidden, prefixed, adult-changing-table, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [adult-changing-table](#adult-changing-table) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#adult-changing-table))_ | Does this toilet have an adult changing table? 2 options | prefixed, hidden, relevant-questions, adult-changing-table, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [changing_table_adult_height](#changing_table_adult_height) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#changing_table_adult_height))_ | What is the height of the adult changing table? _The changing table is {canonical(changing_table:adult:height)} high_ 1 options | relevant_questions, hidden, prefixed, adult-changing-table, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | *[changing_table:adult:height](https://wiki.osm.org/wiki/Key:changing_table:adult:height)* ([pfloat](../SpecialInputElements.md#pfloat)) |
+| [changing_table_adult_adult-changing-table-min_height](#changing_table_adult_adult-changing-table-min_height) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#changing_table_adult_adult-changing-table-min_height))_ | What is the lowest height the adult changing table can be moved to? _The lowest height of the adult changing table is {canonical(changing_table:adult:min_height)}_ | relevant_questions, hidden, prefixed, adult-changing-table, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | *[changing_table:adult:min_height](https://wiki.osm.org/wiki/Key:changing_table:adult:min_height)* ([pfloat](../SpecialInputElements.md#pfloat)) |
+| [changing_table_adult_adult-changing-table-max_height](#changing_table_adult_adult-changing-table-max_height) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#changing_table_adult_adult-changing-table-max_height))_ | What is the highest height the adult changing table can be moved to? _The highest height of the adult changing table is {canonical(changing_table:adult:max_height)}_ | relevant_questions, hidden, prefixed, adult-changing-table, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | *[changing_table:adult:max_height](https://wiki.osm.org/wiki/Key:changing_table:adult:max_height)* ([pfloat](../SpecialInputElements.md#pfloat)) |
+| [changing_table_adult_adult-changing-table-mechanism](#changing_table_adult_adult-changing-table-mechanism) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#changing_table_adult_adult-changing-table-mechanism))_ | How is the height of the changing table adjusted? 2 options | relevant_questions, hidden, prefixed, adult-changing-table, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [changing_table_adult_adult-changing-table-support](#changing_table_adult_adult-changing-table-support) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#changing_table_adult_adult-changing-table-support))_ | How is the adult changing table supported? 3 options | relevant_questions, hidden, prefixed, adult-changing-table, hidden, prefixed, adult-changing-table, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [questions-adult-changing-table](#questions-adult-changing-table) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#questions-adult-changing-table))_ | _{questions(adult-changing-table,,yes)}_ | hidden, relevant-questions, adult-changing-table, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
+| [toilet-question-box](#toilet-question-box) _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilet-question-box))_ | _{questions(toilet-questions,wheelchair;adult-changing-table,)}_ | toilet-questions, all, hidden | _Multiple choice only_ |
| [internet](#internet) _(Original in [questions](./BuiltinQuestions.md#internet))_ | Does this place offer internet access? 6 options | internet-all | _Multiple choice only_ |
| [internet-fee](#internet-fee) _(Original in [questions](./BuiltinQuestions.md#internet-fee))_ | Is there a fee for internet access? 3 options | internet-all | _Multiple choice only_ |
| [internet-ssid](#internet-ssid) _(Original in [questions](./BuiltinQuestions.md#internet-ssid))_ | What is the network name for the wireless internet access? _The network name is {internet_access:ssid}_ 1 options | internet-all | *[internet_access:ssid](https://wiki.osm.org/wiki/Key:internet_access:ssid)* ([string](../SpecialInputElements.md#string)) |
| [dog-access](#dog-access) _(Original in [questions](./BuiltinQuestions.md#dog-access))_ | Are dogs allowed in this business? 5 options | | _Multiple choice only_ |
-| [leftover-questions](#leftover-questions) | _{questions( ,hidden)}_ | ignore-docs, added_by_default | _Multiple choice only_ |
+| [leftover-questions](#leftover-questions) | _{questions( ,hidden;wheelchair;adult-changing-table;toilet-questions)}_ | ignore-docs, added_by_default | _Multiple choice only_ |
| [move-button](#move-button) | _{move_button()}_ | | _Multiple choice only_ |
| [delete-button](#delete-button) | _{delete_button()}_ | | _Multiple choice only_ |
| [lod](#lod) _(Original in [questions](./BuiltinQuestions.md#lod))_ | _{linked_data_from_website()}_ | added_by_default | _Multiple choice only_ |
@@ -183,10 +299,422 @@ The question is `Is this place accessible with a wheelchair?`
- *It is possible to reach this place in a wheelchair, but it is not easy* is shown if with wheelchair=limited
- *This place is not reachable with a wheelchair* is shown if with wheelchair=no
-### toiletatamenitytoiletswheelchair
+### toilets-group
_This tagrendering has no question and is thus read-only_
-*toilet_at_amenity.toilets-wheelchair*
+*{group(grouptitle,toilet-questions,wheelchair;wheelchair-title;adult-changing-table)}*
+
+This tagrendering has labels `all`
+
+### grouptitle
+_This tagrendering has no question and is thus read-only_
+
+*Toilet information*
+
+ - *Does not have toilets* is shown if with toilets=no
+
+This tagrendering has labels `all` `hidden`
+
+### has_toilets
+The question is `Has {title()} toilets?`
+
+ - *Has toilets* is shown if with toilets=yes
+ - *Has no toilets* is shown if with toilets=no
+ - *The toilets are marked separately on the map* is shown if with toilets=separate
+
+This tagrendering has labels `toilet-questions` `hidden` `all`
+
+### images_toilet
+_This tagrendering has no question and is thus read-only_
+
+*{image_carousel(toilets:panoramax;toilets:mapillary;toilets:images)}{image_upload(toilets:panoramax,Add a picture of the toilets,)}*
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes
+This tagrendering has labels `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilets_repeated
+_This tagrendering has no question and is thus read-only_
+
+*Multiple, identical objects can be found on floors {toilets:repeat_on}.*
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & toilets:repeat_on~.+
+This tagrendering has labels `level` `amenity-no-prefix` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilets_single_level
+The question is `On what level is this feature located?`
+
+*Located on the {toilets:level}th floor* is shown if `toilets:level` is set.
+
+ - *Located underground* is shown if with toilets:location=underground. _This option cannot be chosen as answer_
+ - *Located on the ground floor* is shown if with toilets:level=0
+ - *Located on the ground floor* is shown if with toilets:level=. _This option cannot be chosen as answer_
+ - *Located on the first floor* is shown if with toilets:level=1
+ - *Located on the first basement level* is shown if with toilets:level=-1
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & toilets:repeat_on=
+This tagrendering has labels `level` `amenity-no-prefix` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilets_toilet-access
+The question is `Are these toilets publicly accessible?`
+
+*Access is {toilets:access}* is shown if `toilets:access` is set.
+
+ - *Public access* is shown if with toilets:access=yes
+ - *Only access to customers* is shown if with toilets:access=customers
+ - *Not accessible* is shown if with toilets:access=no
+ - *Accessible, but one has to ask a key to enter* is shown if with toilets:access=key
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes
+This tagrendering has labels `relevant-questions` `amenity-no-prefix` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilets_toilets-fee
+The question is `Are these toilets free to use?`
+
+ - *These are paid toilets* is shown if with toilets:fee=yes
+ - *Free to use* is shown if with toilets:fee=no
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & toilets:access!=no
+This tagrendering has labels `relevant-questions` `amenity-no-prefix` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilets_toilet-charge
+The question is `How much does one have to pay for these toilets?`
+
+*The fee is {toilets:charge}* is shown if `toilets:charge` is set.
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & toilets:fee=yes
+This tagrendering has labels `relevant-questions` `amenity-no-prefix` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilets_payment-options-split
+The question is `Which methods of payment are accepted here?`
+
+ - *Cash is accepted here* is shown if with toilets:payment:cash=yes. _This option cannot be chosen as answer_. Unselecting this answer will add toilets:payment:cash=
+ - *Payment cards are accepted here* is shown if with toilets:payment:cards=yes. _This option cannot be chosen as answer_. Unselecting this answer will add toilets:payment:cards=
+ - *Payment by QR-code is possible here* is shown if with toilets:payment:qr_code=yes. Unselecting this answer will add toilets:payment:qr_code=no
+ - *Coins are accepted here* is shown if with toilets:payment:coins=yes. Unselecting this answer will add toilets:payment:coins=no
+ - *Bank notes are accepted here* is shown if with toilets:payment:notes=yes. Unselecting this answer will add toilets:payment:notes=no
+ - *Debit cards are accepted here* is shown if with toilets:payment:debit_cards=yes. Unselecting this answer will add toilets:payment:debit_cards=no
+ - *Credit cards are accepted here* is shown if with toilets:payment:credit_cards=yes. Unselecting this answer will add toilets:payment:credit_cards=no
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & toilets:fee=yes
+This tagrendering has labels `relevant-questions` `amenity-no-prefix` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilets_gender_segregated
+The question is `Are these toilets gender-segregated?`
+
+ - *There is a separate, signposted area for men and women* is shown if with toilets:gender_segregated=yes
+ - *There is no separate, signposted area for men and women* is shown if with toilets:gender_segregated=no
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & toilets:toilets:position!=urinal
+This tagrendering has labels `relevant-questions` `no-prefix` `amenity-no-prefix` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilets_toilet-supervised
+The question is `Is this toilets supervised by a person?`
+
+ - *There is a person supervising these toilets during (most of) the opening hours* is shown if with toilets:supervised=yes
+ - *There is a person supervising these toilets, but they are present only during certain times of the opening hours* is shown if with toilets:supervised=interval
+ - *These toilets are not supervised* is shown if with toilets:supervised=no
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & (toilets:access=yes | toilets:access=)
+This tagrendering has labels `relevant-questions` `no-prefix` `amenity-no-prefix` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilets_description
+The question is `Is there still some relevant info that the previous questions did not cover? Feel free to add it here.`
+
+*{toilets:description}* is shown if `toilets:description` is set.
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes
+This tagrendering has labels `amenity-no-prefix` `no-prefix` `relevant-questions` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilets_toilets-wheelchair
+The question is `Is there a dedicated toilet for wheelchair users?`
+
+ - *There is a dedicated toilet for wheelchair users* is shown if with toilets:wheelchair=yes
+ - *No wheelchair access* is shown if with toilets:wheelchair=no
+ - *There is only a dedicated toilet for wheelchair users* is shown if with toilets:wheelchair=designated
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes
+This tagrendering has labels `relevant-questions` `wheelchair` `hidden` `no-prefix` `amenity-no-prefix` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilets-type
+The question is `Which kind of toilets are these?`
+
+ - *There are only seated toilets* is shown if with toilets:position=seated
+ - *There are only urinals here* is shown if with toilets:position=urinal
+ - *There are only squat toilets here* is shown if with toilets:position=squat
+ - *Both seated toilets and urinals are available here* is shown if with toilets:position=seated;urinal
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes
+This tagrendering has labels `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilets-disposal
+The question is `How is the waste handled?`
+
+ - *The waste is moved away by flushing the toilet with water* is shown if with toilets:disposal=flush
+ - *The waste falls into a pit* is shown if with toilets:disposal=pitlatrine
+ - *The waste is collected in a bucket or similar container, which is regularly removed* is shown if with toilets:disposal=bucket
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes
+This tagrendering has labels `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### menstrual_products
+The question is `Are free, menstrual products distributed here?`
+
+ - *Free menstrual products are available to all visitors of these toilets* is shown if with toilets:menstrual_products=yes
+ - *Free menstrual products are available to some visitors of these toilets* is shown if with toilets:menstrual_products=limited
+ - *No free menstrual products are available here* is shown if with toilets:menstrual_products=no
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes
+This tagrendering has labels `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### menstrual_products_location
+The question is `Where are the free menstrual products located?`
+
+*The menstrual products are located in {toilets:menstrual_products:location}* is shown if `toilets:menstrual_products:location` is set.
+
+ - *The free, menstrual products are located in the toilet for women* is shown if with toilets:menstrual_products:location=female_toilet
+ - *The free, menstrual products are located in the toilet for men* is shown if with toilets:menstrual_products:location=male_toilet
+ - *The free, menstrual products are located in the toilet for wheelchair users* is shown if with toilets:menstrual_products:location=wheelchair_toilet
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & (toilets:menstrual_products=limited | toilets:menstrual_products:location~.+)
+This tagrendering has labels `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilets-changing-table
+The question is `Is a changing table (to change diapers) available?`
+
+ - *A changing table is available* is shown if with changing_table=yes
+ - *No changing table is available* is shown if with changing_table=no
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes
+This tagrendering has labels `relevant-questions` `no-prefix` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilet-changing_table:location
+The question is `Where is the changing table located?`
+
+*A changing table is located at {changing_table:location}* is shown if `changing_table:location` is set.
+
+ - *A changing table is in the toilet for women* is shown if with changing_table:location=female_toilet
+ - *A changing table is in the toilet for men* is shown if with changing_table:location=male_toilet
+ - *A changing table is in the toilet for wheelchair users* is shown if with changing_table:location=wheelchair_toilet
+ - *A changing table is in a dedicated room* is shown if with changing_table:location=dedicated_room
+
+This tagrendering is only visible in the popup if the following condition is met: changing_table=yes & toilets=yes
+This tagrendering has labels `relevant-questions` `no-prefix` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilet-has-paper
+The question is `Does one have to bring their own toilet paper to this toilet?`
+
+ - *This toilet is equipped with toilet paper* is shown if with toilets:paper_supplied=yes
+ - *You have to bring your own toilet paper to this toilet* is shown if with toilets:paper_supplied=no
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & toilets:position!=urinal
+This tagrendering has labels `relevant-questions` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilet-handwashing
+The question is `Do these toilets have a sink to wash your hands?`
+
+ - *These toilets have a sink to wash your hands* is shown if with toilets:handwashing=yes
+ - *These toilets don't have a sink to wash your hands* is shown if with toilets:handwashing=no
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes
+This tagrendering has labels `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilet-drying
+The question is `Do these toilets have a device to dry your hands?`
+
+ - *Electric hand dryers are available for drying hands.* is shown if with toilets:hands_drying=electric_hand_dryer
+ - *Paper towels are available for drying hands.* is shown if with toilets:hands_drying=paper_towel
+ - *A towel roll cabinet is available for drying hands* is shown if with toilets:hands_drying=towel_cabinet
+ - *A fabric towel available to dry your hands.* is shown if with toilets:hands_drying=towel
+ - *There are no hand drying facilities available.* is shown if with toilets:hands_drying=no
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & toilets:handwashing=yes
+This tagrendering has labels `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### wheelchair-group
+_This tagrendering has no question and is thus read-only_
+
+*{group(wheelchair-title,wheelchair;adult-changing-table,)}*
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes
+This tagrendering has labels `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### wheelchair-picture-carousel
+_This tagrendering has no question and is thus read-only_
+
+*{image_carousel(toilets:wheelchair:panoramax;toilets:wheelchair:image;toilets:wheelchair:mapillary)}*
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & (toilets:wheelchair=yes | (amenity=toilets & wheelchair=yes))
+This tagrendering has labels `wheelchair` `hidden` `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### wheelchair-picture
+_This tagrendering has no question and is thus read-only_
+
+*{image_upload(toilets:wheelchair:panoramax,Add a picture of the wheelchair accessible toilet,)}*
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & (toilets:wheelchair=yes | (amenity=toilets & wheelchair=yes))
+This tagrendering has labels `wheelchair` `hidden` `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### wheelchair-title
+_This tagrendering has no question and is thus read-only_
+
+*Wheelchair accessible toilet*
+
+ - *Wheelchair accessibility features* is shown if with wheelchair=designated | toilets:wheelchair=designated
+ - *No wheelchair accessible toilet* is shown if with wheelchair=no | toilets:wheelchair=no
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes
+This tagrendering has labels `hidden` `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilet-wheelchair-access
+The question is `Is the wheelchair-accessible toilet locked?`
+
+ - *The wheelchair accessible toilets are freely accessible* is shown if with toilets:wheelchair:access=yes
+ - *One needs to ask permission to access wheelchair-accessible toilet, e.g. by asking a key* is shown if with toilets:wheelchair:access=key
+ - *One can use a Master Locksmiths Access Key(MLAK) to access this bathroom* is shown if with centralkey=mlak
+ - *One can use a RADAR Key to access this bathroom* is shown if with centralkey=nks
+ - *One can use a EuroKey to access this bathroom* is shown if with centralkey=eurokey
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & (toilets:wheelchair=yes | (amenity=toilets & wheelchair=yes)) & (access=yes | access=public | access=customers | access=)
+This tagrendering has labels `hidden` `wheelchair` `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilets_wheelchair_has_grab_rail_lr
+The question is `Is there a grab rail?`
+
+ - *Grab rails on both sides* is shown if with toilets:wheelchair:grab_rail:left=yes & toilets:wheelchair:grab_rail:right=yes
+ - *Only grab rails on the left side* is shown if with toilets:wheelchair:grab_rail:left=yes & toilets:wheelchair:grab_rail:right=no
+ - *Grab rails on the right side* is shown if with toilets:wheelchair:grab_rail:left=no & toilets:wheelchair:grab_rail:right=yes
+ - *No grab rails at all* is shown if with toilets:wheelchair:grab_rail:left=no & toilets:wheelchair:grab_rail:right=no
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & (toilets:wheelchair=yes | (amenity=toilets & wheelchair=yes))
+This tagrendering has labels `wheelchair` `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilets_wheelchair_has_grab_rail_behind
+The question is `Does the toilet have a grab rail behind the toilet?`
+
+ - *Has a grab rail behind the toilet* is shown if with toilets:wheelchair:grab_rail:behind=yes
+ - *No grab rail behind the toilet* is shown if with toilets:wheelchair:grab_rail:behind=no
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & (toilets:wheelchair=yes | (amenity=toilets & wheelchair=yes))
+This tagrendering has labels `wheelchair` `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilets_wheelchair_is_foldable_left
+The question is `Is the left grab rail foldable?`
+
+ - *The left grab rail is foldable* is shown if with toilets:wheelchair:is_foldable:left=yes
+ - *The left grab rail is not foldable* is shown if with toilets:wheelchair:is_foldable:left=no
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & toilets:wheelchair:grab_rail:left=yes & (toilets:wheelchair=yes | (amenity=toilets & wheelchair=yes))
+This tagrendering has labels `generic_questions` `wheelchair` `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilets_wheelchair_is_foldable_right
+The question is `Is the right grab rail foldable?`
+
+ - *The right grab rail is foldable* is shown if with toilets:wheelchair:is_foldable:right=yes
+ - *The right grab rail is not foldable* is shown if with toilets:wheelchair:is_foldable:right=no
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & toilets:wheelchair:grab_rail:right=yes & (toilets:wheelchair=yes | (amenity=toilets & wheelchair=yes))
+This tagrendering has labels `generic_questions` `wheelchair` `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### wheelchair-door-width
+The question is `What is the width of the door to the wheelchair accessible toilet?`
+
+*The door to the wheelchair-accessible toilet is {canonical(door:width)} wide* is shown if `door:width` is set.
+
+The allowed input is of type pfloat and is in range 0.4 until 4 (both inclusive). A warning will appear if the value is outside of 0.6 and 2.
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes & (toilets:wheelchair=designated | (amenity=toilet & wheelchair~^(yes|designated)$))
+This tagrendering has labels `relevant-questions` `wheelchair` `hidden` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### questions-wheelchair
+_This tagrendering has no question and is thus read-only_
+
+*{questions(wheelchair,,)}*
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes
+This tagrendering has labels `wheelchair` `hidden` `relevant-questions` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### adult_changing_table_title
+_This tagrendering has no question and is thus read-only_
+
+*Adult changing table*
+
+This tagrendering is only visible in the popup if the following condition is met: changing_table:adult=yes & toilets=yes
+This tagrendering has labels `hidden` `prefixed` `adult-changing-table` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### adult-changing-table
+The question is `Does this toilet have an adult changing table?`
+
+ - *Has a changing table for adults* is shown if with changing_table:adult=yes
+ - *No changing table for adults* is shown if with changing_table:adult=no
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes
+This tagrendering has labels `prefixed` `hidden` `relevant-questions` `adult-changing-table` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### changing_table_adult_height
+The question is `What is the height of the adult changing table?`
+
+*The changing table is {canonical(changing_table:adult:height)} high* is shown if `changing_table:adult:height` is set.
+
+The allowed input is of type pfloat and is in range 0.4 until 2 (both inclusive). A warning will appear if the value is outside of 0.8 and 1.7.
+
+ - *The changing table is adjustable in height* is shown if with changing_table:adult:height=adjustable
+
+This tagrendering is only visible in the popup if the following condition is met: changing_table:adult=yes & toilets=yes
+This tagrendering has labels `relevant_questions` `hidden` `prefixed` `adult-changing-table` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### changing_table_adult_adult-changing-table-min_height
+The question is `What is the lowest height the adult changing table can be moved to?`
+
+*The lowest height of the adult changing table is {canonical(changing_table:adult:min_height)}* is shown if `changing_table:adult:min_height` is set.
+
+The allowed input is of type pfloat and is in range 0.4 until 2 (both inclusive). A warning will appear if the value is outside of 0.8 and 1.7.
+
+This tagrendering is only visible in the popup if the following condition is met: changing_table:adult=yes & changing_table:adult:height=adjustable & toilets=yes
+This tagrendering has labels `relevant_questions` `hidden` `prefixed` `adult-changing-table` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### changing_table_adult_adult-changing-table-max_height
+The question is `What is the highest height the adult changing table can be moved to?`
+
+*The highest height of the adult changing table is {canonical(changing_table:adult:max_height)}* is shown if `changing_table:adult:max_height` is set.
+
+The allowed input is of type pfloat and is in range 0.4 until 2 (both inclusive). A warning will appear if the value is outside of 0.8 and 1.7.
+
+This tagrendering is only visible in the popup if the following condition is met: changing_table:adult=yes & changing_table:adult:height=adjustable & toilets=yes
+This tagrendering has labels `relevant_questions` `hidden` `prefixed` `adult-changing-table` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### changing_table_adult_adult-changing-table-mechanism
+The question is `How is the height of the changing table adjusted?`
+
+ - *The height of the adult changing table is adjusted manually* is shown if with changing_table:adult:height:mechanism=manual
+ - *The height of the adult changing table is adjusted electrically* is shown if with changing_table:adult:height:mechanism=electric
+
+This tagrendering is only visible in the popup if the following condition is met: changing_table:adult=yes & changing_table:adult:height=adjustable & toilets=yes
+This tagrendering has labels `relevant_questions` `hidden` `prefixed` `adult-changing-table` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### changing_table_adult_adult-changing-table-support
+The question is `How is the adult changing table supported?`
+
+ - *The changing table is mounted to the wall* is shown if with changing_table:adult:support=wall_mounted
+ - *The changing table stands on table legs* is shown if with changing_table:adult:support=legs
+ - *The changing table stands on table legs with wheels and can be moved* is shown if with changing_table:adult:support=wheels
+
+This tagrendering is only visible in the popup if the following condition is met: changing_table:adult=yes & toilets=yes
+This tagrendering has labels `relevant_questions` `hidden` `prefixed` `adult-changing-table` `hidden` `prefixed` `adult-changing-table` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### questions-adult-changing-table
+_This tagrendering has no question and is thus read-only_
+
+*{questions(adult-changing-table,,yes)}*
+
+This tagrendering is only visible in the popup if the following condition is met: toilets=yes
+This tagrendering has labels `hidden` `relevant-questions` `adult-changing-table` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
+
+### toilet-question-box
+_This tagrendering has no question and is thus read-only_
+
+*{questions(toilet-questions,wheelchair;adult-changing-table,)}*
+
+This tagrendering has labels `toilet-questions` `all` `hidden`
### internet
The question is `Does this place offer internet access?`
@@ -232,7 +760,7 @@ The question is `Are dogs allowed in this business?`
### leftover-questions
_This tagrendering has no question and is thus read-only_
-*{questions( ,hidden)}*
+*{questions( ,hidden;wheelchair;adult-changing-table;toilet-questions)}*
This tagrendering has labels `ignore-docs` `added_by_default`
diff --git a/Docs/TagInfo/mapcomplete_hotels.json b/Docs/TagInfo/mapcomplete_hotels.json
index 799355c70..18e9b4e92 100644
--- a/Docs/TagInfo/mapcomplete_hotels.json
+++ b/Docs/TagInfo/mapcomplete_hotels.json
@@ -61,37 +61,37 @@
},
{
"key": "id",
- "description": "id~.+ is displayed as \"You just created this element! Thanks for sharing this info with the world and helping people worldwide.\" by layers Tourism accomodation, Love hotels",
+ "description": "id~.+ is displayed as \"You just created this element! Thanks for sharing this info with the world and helping people worldwide.\" by layers Tourism accomodation, Love hotels, Toilets",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#just_created",
"icon_url": "./assets/svg/party.svg"
},
{
"key": "image",
- "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary Furthermore, this layer shows images based on the keys panoramax, image, wikidata, wikipedia, wikimedia_commons and mapillary by layers Tourism accomodation, Love hotels",
+ "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary Furthermore, this layer shows images based on the keys panoramax, image, wikidata, wikipedia, wikimedia_commons and mapillary by layers Tourism accomodation, Love hotels, Toilets",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#images",
"icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
},
{
"key": "panoramax",
- "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary Furthermore, this layer shows images based on the keys panoramax, image, wikidata, wikipedia, wikimedia_commons and mapillary by layers Tourism accomodation, Love hotels",
+ "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary Furthermore, this layer shows images based on the keys panoramax, image, wikidata, wikipedia, wikimedia_commons and mapillary by layers Tourism accomodation, Love hotels, Toilets",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#images",
"icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
},
{
"key": "mapillary",
- "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary Furthermore, this layer shows images based on the keys panoramax, image, wikidata, wikipedia, wikimedia_commons and mapillary by layers Tourism accomodation, Love hotels",
+ "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary Furthermore, this layer shows images based on the keys panoramax, image, wikidata, wikipedia, wikimedia_commons and mapillary by layers Tourism accomodation, Love hotels, Toilets",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#images",
"icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
},
{
"key": "wikidata",
- "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary Furthermore, this layer shows images based on the keys panoramax, image, wikidata, wikipedia, wikimedia_commons and mapillary by layers Tourism accomodation, Love hotels",
+ "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary Furthermore, this layer shows images based on the keys panoramax, image, wikidata, wikipedia, wikimedia_commons and mapillary by layers Tourism accomodation, Love hotels, Toilets",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#images",
"icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
},
{
"key": "wikipedia",
- "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary Furthermore, this layer shows images based on the keys panoramax, image, wikidata, wikipedia, wikimedia_commons and mapillary by layers Tourism accomodation, Love hotels",
+ "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary Furthermore, this layer shows images based on the keys panoramax, image, wikidata, wikipedia, wikimedia_commons and mapillary by layers Tourism accomodation, Love hotels, Toilets",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#images",
"icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
},
@@ -136,7 +136,7 @@
},
{
"key": "contact:phone",
- "description": "contact:phone~.+ is displayed as \"{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}\" by layers Tourism accomodation, Love hotels",
+ "description": "contact:phone~.+ is displayed as \"{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}\" by layers Tourism accomodation, Love hotels, Toilets",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#phone",
"icon_url": "./assets/layers/questions/phone.svg"
},
@@ -148,13 +148,13 @@
},
{
"key": "contact:email",
- "description": "contact:email~.+ is displayed as \"{contact:email}\" by layers Tourism accomodation, Love hotels",
+ "description": "contact:email~.+ is displayed as \"{contact:email}\" by layers Tourism accomodation, Love hotels, Toilets",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#email",
"icon_url": "./assets/svg/envelope.svg"
},
{
"key": "operator:email",
- "description": "operator:email~.+ is displayed as \"{operator:email}\" by layers Tourism accomodation, Love hotels",
+ "description": "operator:email~.+ is displayed as \"{operator:email}\" by layers Tourism accomodation, Love hotels, Toilets",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#email",
"icon_url": "./assets/svg/envelope.svg"
},
@@ -198,6 +198,778 @@
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#wheelchair_access",
"icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
},
+ {
+ "key": "toilets",
+ "value": "no",
+ "description": "toilets=no is displayed as \"Does not have toilets\" by layer Tourism accomodation",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#grouptitle",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "toilets",
+ "value": "yes",
+ "description": "toilets=yes is displayed as \"Has toilets\" by layer Tourism accomodation",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#has_toilets",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "toilets",
+ "value": "no",
+ "description": "toilets=no is displayed as \"Has no toilets\" by layer Tourism accomodation",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#has_toilets",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "toilets",
+ "value": "separate",
+ "description": "toilets=separate is displayed as \"The toilets are marked separately on the map\" by layer Tourism accomodation",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#has_toilets",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "image",
+ "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary Furthermore, this layer shows images based on the keys panoramax, image, wikidata, wikipedia, wikimedia_commons and mapillary (This is only shown if toilets=yes) by layer Tourism accomodation",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#images",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "panoramax",
+ "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary Furthermore, this layer shows images based on the keys panoramax, image, wikidata, wikipedia, wikimedia_commons and mapillary (This is only shown if toilets=yes) by layer Tourism accomodation",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#images",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "mapillary",
+ "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary Furthermore, this layer shows images based on the keys panoramax, image, wikidata, wikipedia, wikimedia_commons and mapillary (This is only shown if toilets=yes) by layer Tourism accomodation",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#images",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "wikidata",
+ "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary Furthermore, this layer shows images based on the keys panoramax, image, wikidata, wikipedia, wikimedia_commons and mapillary (This is only shown if toilets=yes) by layer Tourism accomodation",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#images",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "wikipedia",
+ "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary Furthermore, this layer shows images based on the keys panoramax, image, wikidata, wikipedia, wikimedia_commons and mapillary (This is only shown if toilets=yes) by layer Tourism accomodation",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#images",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "toilets:level",
+ "description": "Values of `toilets:level` are shown with \"Located on the {toilets:level}th floor\" and can be updated. The question is \"On what level is this feature located?\" by layer Tourism accomodation",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#toilets_single_level",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "toilets:location",
+ "value": "underground",
+ "description": "toilets:location=underground is displayed as \"Located underground\" by layer Tourism accomodation",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#toilets_single_level",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "toilets:level",
+ "value": "0",
+ "description": "toilets:level=0 is displayed as \"Located on the ground floor\" by layer Tourism accomodation",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#toilets_single_level",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "toilets:level",
+ "description": "toilets:level= is displayed as \"Located on the ground floor\" by layer Tourism accomodation",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#toilets_single_level",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "toilets:level",
+ "value": "1",
+ "description": "toilets:level=1 is displayed as \"Located on the first floor\" by layer Tourism accomodation",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#toilets_single_level",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "toilets:level",
+ "value": "-1",
+ "description": "toilets:level=-1 is displayed as \"Located on the first basement level\" by layer Tourism accomodation",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#toilets_single_level",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "toilets:access",
+ "description": "Values of `toilets:access` are shown with \"Access is {toilets:access}\" and can be updated. The question is \"Are these toilets publicly accessible?\" by layer Tourism accomodation",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#toilets_toilet_access",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "toilets:access",
+ "value": "yes",
+ "description": "toilets:access=yes is displayed as \"Public access\" by layer Tourism accomodation",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#toilets_toilet_access",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "toilets:access",
+ "value": "customers",
+ "description": "toilets:access=customers is displayed as \"Only access to customers\" by layer Tourism accomodation",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#toilets_toilet_access",
+ "icon_url": "key"
+ },
+ {
+ "key": "toilets:access",
+ "value": "no",
+ "description": "toilets:access=no is displayed as \"Not accessible\" by layer Tourism accomodation",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#toilets_toilet_access",
+ "icon_url": "lock"
+ },
+ {
+ "key": "toilets:access",
+ "value": "key",
+ "description": "toilets:access=key is displayed as \"Accessible, but one has to ask a key to enter\" by layer Tourism accomodation",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#toilets_toilet_access",
+ "icon_url": "key"
+ },
+ {
+ "key": "toilets:fee",
+ "value": "yes",
+ "description": "toilets:fee=yes is displayed as \"These are paid toilets\" by layer Tourism accomodation",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#toilets_toilets_fee",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "toilets:fee",
+ "value": "no",
+ "description": "toilets:fee=no is displayed as \"Free to use\" by layer Tourism accomodation",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#toilets_toilets_fee",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "toilets:charge",
+ "description": "Values of `toilets:charge` are shown with \"The fee is {toilets:charge}\" and can be updated. The question is \"How much does one have to pay for these toilets?\" by layer Tourism accomodation",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#toilets_toilet_charge",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "toilets:payment:cash",
+ "value": "yes",
+ "description": "toilets:payment:cash=yes is displayed as \"Cash is accepted here\" by layer Tourism accomodation",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#toilets_payment_options_split",
+ "icon_url": "./assets/layers/questions/cash.svg"
+ },
+ {
+ "key": "toilets:payment:cards",
+ "value": "yes",
+ "description": "toilets:payment:cards=yes is displayed as \"Payment cards are accepted here\" by layer Tourism accomodation",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#toilets_payment_options_split",
+ "icon_url": "./assets/layers/questions/payment_card.svg"
+ },
+ {
+ "key": "toilets:payment:qr_code",
+ "value": "yes",
+ "description": "toilets:payment:qr_code=yes is displayed as \"Payment by QR-code is possible here\" by layer Tourism accomodation",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#toilets_payment_options_split",
+ "icon_url": "./assets/layers/questions/qrcode.svg"
+ },
+ {
+ "key": "toilets:payment:coins",
+ "value": "yes",
+ "description": "toilets:payment:coins=yes is displayed as \"Coins are accepted here\" by layer Tourism accomodation",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#toilets_payment_options_split",
+ "icon_url": "./assets/layers/questions/coins.svg"
+ },
+ {
+ "key": "toilets:payment:notes",
+ "value": "yes",
+ "description": "toilets:payment:notes=yes is displayed as \"Bank notes are accepted here\" by layer Tourism accomodation",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#toilets_payment_options_split",
+ "icon_url": "./assets/layers/questions/notes.svg"
+ },
+ {
+ "key": "toilets:payment:debit_cards",
+ "value": "yes",
+ "description": "toilets:payment:debit_cards=yes is displayed as \"Debit cards are accepted here\" by layer Tourism accomodation",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#toilets_payment_options_split",
+ "icon_url": "./assets/layers/questions/payment_card.svg"
+ },
+ {
+ "key": "toilets:payment:credit_cards",
+ "value": "yes",
+ "description": "toilets:payment:credit_cards=yes is displayed as \"Credit cards are accepted here\" by layer Tourism accomodation",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#toilets_payment_options_split",
+ "icon_url": "./assets/layers/questions/payment_card.svg"
+ },
+ {
+ "key": "toilets:gender_segregated",
+ "value": "yes",
+ "description": "toilets:gender_segregated=yes is displayed as \"There is a separate, signposted area for men and women\" by layer Tourism accomodation",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#toilets_gender_segregated",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "toilets:gender_segregated",
+ "value": "no",
+ "description": "toilets:gender_segregated=no is displayed as \"There is no separate, signposted area for men and women\" by layer Tourism accomodation",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#toilets_gender_segregated",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "toilets:supervised",
+ "value": "yes",
+ "description": "toilets:supervised=yes is displayed as \"There is a person supervising these toilets during (most of) the opening hours\" by layer Tourism accomodation",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#toilets_toilet_supervised",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "toilets:supervised",
+ "value": "interval",
+ "description": "toilets:supervised=interval is displayed as \"There is a person supervising these toilets, but they are present only during certain times of the opening hours\" by layer Tourism accomodation",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#toilets_toilet_supervised",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "toilets:supervised",
+ "value": "no",
+ "description": "toilets:supervised=no is displayed as \"These toilets are not supervised\" by layer Tourism accomodation",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#toilets_toilet_supervised",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "toilets:description",
+ "description": "Values of `toilets:description` are shown with \"{toilets:description}\" and can be updated. The question is \"Is there still some relevant info that the previous questions did not cover? Feel free to add it here.\" by layer Tourism accomodation",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#toilets_description",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "toilets:wheelchair",
+ "value": "yes",
+ "description": "toilets:wheelchair=yes is displayed as \"There is a dedicated toilet for wheelchair users\" by layer Tourism accomodation",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#toilets_toilets_wheelchair",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "toilets:wheelchair",
+ "value": "no",
+ "description": "toilets:wheelchair=no is displayed as \"No wheelchair access\" by layer Tourism accomodation",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#toilets_toilets_wheelchair",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "toilets:wheelchair",
+ "value": "designated",
+ "description": "toilets:wheelchair=designated is displayed as \"There is only a dedicated toilet for wheelchair users\" by layer Tourism accomodation",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#toilets_toilets_wheelchair",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "toilets:position",
+ "value": "seated",
+ "description": "toilets:position=seated is displayed as \"There are only seated toilets\" by layers Tourism accomodation, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#toilets_type",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "toilets:position",
+ "value": "urinal",
+ "description": "toilets:position=urinal is displayed as \"There are only urinals here\" by layers Tourism accomodation, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#toilets_type",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "toilets:position",
+ "value": "squat",
+ "description": "toilets:position=squat is displayed as \"There are only squat toilets here\" by layers Tourism accomodation, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#toilets_type",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "toilets:position",
+ "value": "seated;urinal",
+ "description": "toilets:position=seated;urinal is displayed as \"Both seated toilets and urinals are available here\" by layers Tourism accomodation, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#toilets_type",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "toilets:disposal",
+ "value": "flush",
+ "description": "toilets:disposal=flush is displayed as \"The waste is moved away by flushing the toilet with water\" by layers Tourism accomodation, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#toilets_disposal",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "toilets:disposal",
+ "value": "pitlatrine",
+ "description": "toilets:disposal=pitlatrine is displayed as \"The waste falls into a pit\" by layers Tourism accomodation, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#toilets_disposal",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "toilets:disposal",
+ "value": "bucket",
+ "description": "toilets:disposal=bucket is displayed as \"The waste is collected in a bucket or similar container, which is regularly removed\" by layers Tourism accomodation, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#toilets_disposal",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "toilets:menstrual_products",
+ "value": "yes",
+ "description": "toilets:menstrual_products=yes is displayed as \"Free menstrual products are available to all visitors of these toilets\" by layers Tourism accomodation, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#menstrual_products",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "toilets:menstrual_products",
+ "value": "limited",
+ "description": "toilets:menstrual_products=limited is displayed as \"Free menstrual products are available to some visitors of these toilets\" by layers Tourism accomodation, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#menstrual_products",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "toilets:menstrual_products",
+ "value": "no",
+ "description": "toilets:menstrual_products=no is displayed as \"No free menstrual products are available here\" by layers Tourism accomodation, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#menstrual_products",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "toilets:menstrual_products:location",
+ "description": "Values of `toilets:menstrual_products:location` are shown with \"The menstrual products are located in {toilets:menstrual_products:location}\" and can be updated. The question is \"Where are the free menstrual products located?\" by layers Tourism accomodation, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#menstrual_products_location",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "toilets:menstrual_products:location",
+ "value": "female_toilet",
+ "description": "toilets:menstrual_products:location=female_toilet is displayed as \"The free, menstrual products are located in the toilet for women\" by layers Tourism accomodation, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#menstrual_products_location",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "toilets:menstrual_products:location",
+ "value": "male_toilet",
+ "description": "toilets:menstrual_products:location=male_toilet is displayed as \"The free, menstrual products are located in the toilet for men\" by layers Tourism accomodation, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#menstrual_products_location",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "toilets:menstrual_products:location",
+ "value": "wheelchair_toilet",
+ "description": "toilets:menstrual_products:location=wheelchair_toilet is displayed as \"The free, menstrual products are located in the toilet for wheelchair users\" by layers Tourism accomodation, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#menstrual_products_location",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "changing_table",
+ "value": "yes",
+ "description": "changing_table=yes is displayed as \"A changing table is available\" by layers Tourism accomodation, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#toilets_changing_table",
+ "icon_url": "./assets/layers/toilet/baby.svg"
+ },
+ {
+ "key": "changing_table",
+ "value": "no",
+ "description": "changing_table=no is displayed as \"No changing table is available\" by layers Tourism accomodation, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#toilets_changing_table",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "changing_table:location",
+ "description": "Values of `changing_table:location` are shown with \"A changing table is located at {changing_table:location}\" and can be updated. The question is \"Where is the changing table located?\" by layers Tourism accomodation, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#toilet_changing_table_location",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "changing_table:location",
+ "value": "female_toilet",
+ "description": "changing_table:location=female_toilet is displayed as \"A changing table is in the toilet for women\" by layers Tourism accomodation, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#toilet_changing_table_location",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "changing_table:location",
+ "value": "male_toilet",
+ "description": "changing_table:location=male_toilet is displayed as \"A changing table is in the toilet for men\" by layers Tourism accomodation, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#toilet_changing_table_location",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "changing_table:location",
+ "value": "wheelchair_toilet",
+ "description": "changing_table:location=wheelchair_toilet is displayed as \"A changing table is in the toilet for wheelchair users\" by layers Tourism accomodation, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#toilet_changing_table_location",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "changing_table:location",
+ "value": "dedicated_room",
+ "description": "changing_table:location=dedicated_room is displayed as \"A changing table is in a dedicated room\" by layers Tourism accomodation, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#toilet_changing_table_location",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "toilets:paper_supplied",
+ "value": "yes",
+ "description": "toilets:paper_supplied=yes is displayed as \"This toilet is equipped with toilet paper\" by layers Tourism accomodation, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#toilet_has_paper",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "toilets:paper_supplied",
+ "value": "no",
+ "description": "toilets:paper_supplied=no is displayed as \"You have to bring your own toilet paper to this toilet\" by layers Tourism accomodation, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#toilet_has_paper",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "toilets:handwashing",
+ "value": "yes",
+ "description": "toilets:handwashing=yes is displayed as \"These toilets have a sink to wash your hands\" by layers Tourism accomodation, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#toilet_handwashing",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "toilets:handwashing",
+ "value": "no",
+ "description": "toilets:handwashing=no is displayed as \"These toilets don't have a sink to wash your hands\" by layers Tourism accomodation, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#toilet_handwashing",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "toilets:hands_drying",
+ "value": "electric_hand_dryer",
+ "description": "toilets:hands_drying=electric_hand_dryer is displayed as \"Electric hand dryers are available for drying hands.\" by layers Tourism accomodation, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#toilet_drying",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "toilets:hands_drying",
+ "value": "paper_towel",
+ "description": "toilets:hands_drying=paper_towel is displayed as \"Paper towels are available for drying hands.\" by layers Tourism accomodation, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#toilet_drying",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "toilets:hands_drying",
+ "value": "towel_cabinet",
+ "description": "toilets:hands_drying=towel_cabinet is displayed as \"A towel roll cabinet is available for drying hands\" by layers Tourism accomodation, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#toilet_drying",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "toilets:hands_drying",
+ "value": "towel",
+ "description": "toilets:hands_drying=towel is displayed as \"A fabric towel available to dry your hands.\" by layers Tourism accomodation, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#toilet_drying",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "toilets:hands_drying",
+ "value": "no",
+ "description": "toilets:hands_drying=no is displayed as \"There are no hand drying facilities available.\" by layers Tourism accomodation, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#toilet_drying",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "image",
+ "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary (This is only shown if ((wheelchair=yes & amenity=toilets) | toilets:wheelchair=yes) & toilets=yes) by layer Tourism accomodation",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#images",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "panoramax",
+ "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary (This is only shown if ((wheelchair=yes & amenity=toilets) | toilets:wheelchair=yes) & toilets=yes) by layer Tourism accomodation",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#images",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "mapillary",
+ "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary (This is only shown if ((wheelchair=yes & amenity=toilets) | toilets:wheelchair=yes) & toilets=yes) by layer Tourism accomodation",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#images",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "wikidata",
+ "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary (This is only shown if ((wheelchair=yes & amenity=toilets) | toilets:wheelchair=yes) & toilets=yes) by layer Tourism accomodation",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#images",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "wikipedia",
+ "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary (This is only shown if ((wheelchair=yes & amenity=toilets) | toilets:wheelchair=yes) & toilets=yes) by layer Tourism accomodation",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#images",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "image",
+ "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary Furthermore, this layer shows images based on the keys panoramax, image, wikidata, wikipedia, wikimedia_commons and mapillary (This is only shown if ((wheelchair=yes & amenity=toilets) | toilets:wheelchair=yes) & toilets=yes) by layer Tourism accomodation",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#images",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "panoramax",
+ "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary Furthermore, this layer shows images based on the keys panoramax, image, wikidata, wikipedia, wikimedia_commons and mapillary (This is only shown if ((wheelchair=yes & amenity=toilets) | toilets:wheelchair=yes) & toilets=yes) by layer Tourism accomodation",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#images",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "mapillary",
+ "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary Furthermore, this layer shows images based on the keys panoramax, image, wikidata, wikipedia, wikimedia_commons and mapillary (This is only shown if ((wheelchair=yes & amenity=toilets) | toilets:wheelchair=yes) & toilets=yes) by layer Tourism accomodation",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#images",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "wikidata",
+ "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary Furthermore, this layer shows images based on the keys panoramax, image, wikidata, wikipedia, wikimedia_commons and mapillary (This is only shown if ((wheelchair=yes & amenity=toilets) | toilets:wheelchair=yes) & toilets=yes) by layer Tourism accomodation",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#images",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "wikipedia",
+ "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary Furthermore, this layer shows images based on the keys panoramax, image, wikidata, wikipedia, wikimedia_commons and mapillary (This is only shown if ((wheelchair=yes & amenity=toilets) | toilets:wheelchair=yes) & toilets=yes) by layer Tourism accomodation",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#images",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "wheelchair",
+ "value": "designated",
+ "description": "wheelchair=designated | toilets:wheelchair=designated is displayed as \"Wheelchair accessibility features\" by layers Tourism accomodation, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#wheelchair_title",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "toilets:wheelchair",
+ "value": "designated",
+ "description": "wheelchair=designated | toilets:wheelchair=designated is displayed as \"Wheelchair accessibility features\" by layers Tourism accomodation, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#wheelchair_title",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "wheelchair",
+ "value": "no",
+ "description": "wheelchair=no | toilets:wheelchair=no is displayed as \"No wheelchair accessible toilet\" by layers Tourism accomodation, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#wheelchair_title",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "toilets:wheelchair",
+ "value": "no",
+ "description": "wheelchair=no | toilets:wheelchair=no is displayed as \"No wheelchair accessible toilet\" by layers Tourism accomodation, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#wheelchair_title",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "toilets:wheelchair:access",
+ "value": "yes",
+ "description": "toilets:wheelchair:access=yes is displayed as \"The wheelchair accessible toilets are freely accessible\" by layers Tourism accomodation, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#toilet_wheelchair_access",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "toilets:wheelchair:access",
+ "value": "key",
+ "description": "toilets:wheelchair:access=key is displayed as \"One needs to ask permission to access wheelchair-accessible toilet, e.g. by asking a key\" by layers Tourism accomodation, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#toilet_wheelchair_access",
+ "icon_url": "key"
+ },
+ {
+ "key": "centralkey",
+ "value": "mlak",
+ "description": "centralkey=mlak is displayed as \"One can use a Master Locksmiths Access Key(MLAK) to access this bathroom\" by layers Tourism accomodation, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#toilet_wheelchair_access",
+ "icon_url": "./assets/layers/toilet/MLAK.svg"
+ },
+ {
+ "key": "centralkey",
+ "value": "nks",
+ "description": "centralkey=nks is displayed as \"One can use a RADAR Key to access this bathroom\" by layers Tourism accomodation, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#toilet_wheelchair_access",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "centralkey",
+ "value": "eurokey",
+ "description": "centralkey=eurokey is displayed as \"One can use a EuroKey to access this bathroom\" by layers Tourism accomodation, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#toilet_wheelchair_access",
+ "icon_url": "./assets/layers/toilet/eurokey.svg"
+ },
+ {
+ "key": "toilets:wheelchair:grab_rail:left",
+ "value": "yes",
+ "description": "toilets:wheelchair:grab_rail:left=yes & toilets:wheelchair:grab_rail:right=yes is displayed as \"Grab rails on both sides\" by layers Tourism accomodation, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#toilets_wheelchair_has_grab_rail_lr",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "toilets:wheelchair:grab_rail:right",
+ "value": "yes",
+ "description": "toilets:wheelchair:grab_rail:left=yes & toilets:wheelchair:grab_rail:right=yes is displayed as \"Grab rails on both sides\" by layers Tourism accomodation, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#toilets_wheelchair_has_grab_rail_lr",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "toilets:wheelchair:grab_rail:left",
+ "value": "yes",
+ "description": "toilets:wheelchair:grab_rail:left=yes & toilets:wheelchair:grab_rail:right=no is displayed as \"Only grab rails on the left side\" by layers Tourism accomodation, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#toilets_wheelchair_has_grab_rail_lr",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "toilets:wheelchair:grab_rail:right",
+ "value": "no",
+ "description": "toilets:wheelchair:grab_rail:left=yes & toilets:wheelchair:grab_rail:right=no is displayed as \"Only grab rails on the left side\" by layers Tourism accomodation, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#toilets_wheelchair_has_grab_rail_lr",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "toilets:wheelchair:grab_rail:left",
+ "value": "no",
+ "description": "toilets:wheelchair:grab_rail:left=no & toilets:wheelchair:grab_rail:right=yes is displayed as \"Grab rails on the right side\" by layers Tourism accomodation, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#toilets_wheelchair_has_grab_rail_lr",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "toilets:wheelchair:grab_rail:right",
+ "value": "yes",
+ "description": "toilets:wheelchair:grab_rail:left=no & toilets:wheelchair:grab_rail:right=yes is displayed as \"Grab rails on the right side\" by layers Tourism accomodation, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#toilets_wheelchair_has_grab_rail_lr",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "toilets:wheelchair:grab_rail:left",
+ "value": "no",
+ "description": "toilets:wheelchair:grab_rail:left=no & toilets:wheelchair:grab_rail:right=no is displayed as \"No grab rails at all\" by layers Tourism accomodation, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#toilets_wheelchair_has_grab_rail_lr",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "toilets:wheelchair:grab_rail:right",
+ "value": "no",
+ "description": "toilets:wheelchair:grab_rail:left=no & toilets:wheelchair:grab_rail:right=no is displayed as \"No grab rails at all\" by layers Tourism accomodation, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#toilets_wheelchair_has_grab_rail_lr",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "toilets:wheelchair:grab_rail:behind",
+ "value": "yes",
+ "description": "toilets:wheelchair:grab_rail:behind=yes is displayed as \"Has a grab rail behind the toilet\" by layers Tourism accomodation, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#toilets_wheelchair_has_grab_rail_behind",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "toilets:wheelchair:grab_rail:behind",
+ "value": "no",
+ "description": "toilets:wheelchair:grab_rail:behind=no is displayed as \"No grab rail behind the toilet\" by layers Tourism accomodation, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#toilets_wheelchair_has_grab_rail_behind",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "toilets:wheelchair:is_foldable:left",
+ "value": "yes",
+ "description": "toilets:wheelchair:is_foldable:left=yes is displayed as \"The left grab rail is foldable\" by layers Tourism accomodation, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#toilets_wheelchair_is_foldable_left",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "toilets:wheelchair:is_foldable:left",
+ "value": "no",
+ "description": "toilets:wheelchair:is_foldable:left=no is displayed as \"The left grab rail is not foldable\" by layers Tourism accomodation, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#toilets_wheelchair_is_foldable_left",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "toilets:wheelchair:is_foldable:right",
+ "value": "yes",
+ "description": "toilets:wheelchair:is_foldable:right=yes is displayed as \"The right grab rail is foldable\" by layers Tourism accomodation, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#toilets_wheelchair_is_foldable_right",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "toilets:wheelchair:is_foldable:right",
+ "value": "no",
+ "description": "toilets:wheelchair:is_foldable:right=no is displayed as \"The right grab rail is not foldable\" by layers Tourism accomodation, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#toilets_wheelchair_is_foldable_right",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "door:width",
+ "description": "Values of `door:width` are shown with \"The door to the wheelchair-accessible toilet is {canonical(door:width)} wide\" and can be updated. The question is \"What is the width of the door to the wheelchair accessible toilet?\" by layers Tourism accomodation, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#wheelchair_door_width",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "changing_table:adult",
+ "value": "yes",
+ "description": "changing_table:adult=yes is displayed as \"Has a changing table for adults\" by layers Tourism accomodation, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#adult_changing_table",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "changing_table:adult",
+ "value": "no",
+ "description": "changing_table:adult=no is displayed as \"No changing table for adults\" by layers Tourism accomodation, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#adult_changing_table",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "changing_table:adult:height",
+ "description": "Values of `changing_table:adult:height` are shown with \"The changing table is {canonical(changing_table:adult:height)} high\" and can be updated. The question is \"What is the height of the adult changing table?\" by layers Tourism accomodation, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#changing_table_adult_height",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "changing_table:adult:height",
+ "value": "adjustable",
+ "description": "changing_table:adult:height=adjustable is displayed as \"The changing table is adjustable in height\" by layers Tourism accomodation, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#changing_table_adult_height",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "changing_table:adult:min_height",
+ "description": "Values of `changing_table:adult:min_height` are shown with \"The lowest height of the adult changing table is {canonical(changing_table:adult:min_height)}\" and can be updated. The question is \"What is the lowest height the adult changing table can be moved to?\" by layers Tourism accomodation, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#changing_table_adult_adult_changing_table_min_height",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "changing_table:adult:max_height",
+ "description": "Values of `changing_table:adult:max_height` are shown with \"The highest height of the adult changing table is {canonical(changing_table:adult:max_height)}\" and can be updated. The question is \"What is the highest height the adult changing table can be moved to?\" by layers Tourism accomodation, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#changing_table_adult_adult_changing_table_max_height",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "changing_table:adult:height:mechanism",
+ "value": "manual",
+ "description": "changing_table:adult:height:mechanism=manual is displayed as \"The height of the adult changing table is adjusted manually\" by layers Tourism accomodation, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#changing_table_adult_adult_changing_table_mechanism",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "changing_table:adult:height:mechanism",
+ "value": "electric",
+ "description": "changing_table:adult:height:mechanism=electric is displayed as \"The height of the adult changing table is adjusted electrically\" by layers Tourism accomodation, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#changing_table_adult_adult_changing_table_mechanism",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "changing_table:adult:support",
+ "value": "wall_mounted",
+ "description": "changing_table:adult:support=wall_mounted is displayed as \"The changing table is mounted to the wall\" by layers Tourism accomodation, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#changing_table_adult_adult_changing_table_support",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "changing_table:adult:support",
+ "value": "legs",
+ "description": "changing_table:adult:support=legs is displayed as \"The changing table stands on table legs\" by layers Tourism accomodation, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#changing_table_adult_adult_changing_table_support",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
+ {
+ "key": "changing_table:adult:support",
+ "value": "wheels",
+ "description": "changing_table:adult:support=wheels is displayed as \"The changing table stands on table legs with wheels and can be moved\" by layers Tourism accomodation, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/tourism_accomodation.md#changing_table_adult_adult_changing_table_support",
+ "icon_url": "./assets/layers/tourism_accomodation/hostel.svg"
+ },
{
"key": "internet_access",
"value": "wlan",
@@ -321,6 +1093,310 @@
"description": "Values of `name` are shown with \"This love hotel is named {name}\" and can be updated. The question is \"What is the name of this love hotel?\" by layer Love hotels",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/love_hotel.md#name",
"icon_url": "./assets/layers/love_hotel/hotel.svg"
+ },
+ {
+ "key": "amenity",
+ "value": "toilets",
+ "description": "Features with this tag are displayed by layer Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/toilet.md",
+ "icon_url": "./assets/layers/toilet/toilets.svg"
+ },
+ {
+ "key": "level",
+ "description": "Values of `level` are shown with \"Located on the {level}th floor\" and can be updated. The question is \"On what level is this feature located?\" by layer Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/toilet.md#single_level",
+ "icon_url": "./assets/layers/toilet/toilets.svg"
+ },
+ {
+ "key": "location",
+ "value": "underground",
+ "description": "location=underground is displayed as \"Located underground\" by layer Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/toilet.md#single_level",
+ "icon_url": "./assets/layers/toilet/toilets.svg"
+ },
+ {
+ "key": "level",
+ "value": "0",
+ "description": "level=0 is displayed as \"Located on the ground floor\" by layer Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/toilet.md#single_level",
+ "icon_url": "./assets/layers/toilet/toilets.svg"
+ },
+ {
+ "key": "level",
+ "description": "level= is displayed as \"Located on the ground floor\" by layer Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/toilet.md#single_level",
+ "icon_url": "./assets/layers/toilet/toilets.svg"
+ },
+ {
+ "key": "level",
+ "value": "1",
+ "description": "level=1 is displayed as \"Located on the first floor\" by layer Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/toilet.md#single_level",
+ "icon_url": "./assets/layers/toilet/toilets.svg"
+ },
+ {
+ "key": "level",
+ "value": "-1",
+ "description": "level=-1 is displayed as \"Located on the first basement level\" by layer Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/toilet.md#single_level",
+ "icon_url": "./assets/layers/toilet/toilets.svg"
+ },
+ {
+ "key": "access",
+ "description": "Values of `access` are shown with \"Access is {access}\" and can be updated. The question is \"Are these toilets publicly accessible?\" by layer Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/toilet.md#toilet_access",
+ "icon_url": "./assets/layers/toilet/toilets.svg"
+ },
+ {
+ "key": "access",
+ "value": "yes",
+ "description": "access=yes is displayed as \"Public access\" by layer Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/toilet.md#toilet_access",
+ "icon_url": "./assets/layers/toilet/toilets.svg"
+ },
+ {
+ "key": "access",
+ "value": "customers",
+ "description": "access=customers is displayed as \"Only access to customers\" by layer Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/toilet.md#toilet_access",
+ "icon_url": "key"
+ },
+ {
+ "key": "access",
+ "value": "no",
+ "description": "access=no is displayed as \"Not accessible\" by layer Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/toilet.md#toilet_access",
+ "icon_url": "lock"
+ },
+ {
+ "key": "access",
+ "value": "key",
+ "description": "access=key is displayed as \"Accessible, but one has to ask a key to enter\" by layer Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/toilet.md#toilet_access",
+ "icon_url": "key"
+ },
+ {
+ "key": "fee",
+ "value": "yes",
+ "description": "fee=yes is displayed as \"These are paid toilets\" by layer Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/toilet.md#toilets_fee",
+ "icon_url": "./assets/layers/toilet/toilets.svg"
+ },
+ {
+ "key": "fee",
+ "value": "no",
+ "description": "fee=no is displayed as \"Free to use\" by layer Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/toilet.md#toilets_fee",
+ "icon_url": "./assets/layers/toilet/toilets.svg"
+ },
+ {
+ "key": "charge",
+ "description": "Values of `charge` are shown with \"The fee is {charge}\" and can be updated. The question is \"How much does one have to pay for these toilets?\" by layer Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/toilet.md#toilet_charge",
+ "icon_url": "./assets/layers/toilet/toilets.svg"
+ },
+ {
+ "key": "payment:cash",
+ "value": "yes",
+ "description": "payment:cash=yes is displayed as \"Cash is accepted here\" by layer Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/toilet.md#payment_options_split",
+ "icon_url": "./assets/layers/questions/cash.svg"
+ },
+ {
+ "key": "payment:cards",
+ "value": "yes",
+ "description": "payment:cards=yes is displayed as \"Payment cards are accepted here\" by layer Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/toilet.md#payment_options_split",
+ "icon_url": "./assets/layers/questions/payment_card.svg"
+ },
+ {
+ "key": "payment:qr_code",
+ "value": "yes",
+ "description": "payment:qr_code=yes is displayed as \"Payment by QR-code is possible here\" by layer Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/toilet.md#payment_options_split",
+ "icon_url": "./assets/layers/questions/qrcode.svg"
+ },
+ {
+ "key": "payment:coins",
+ "value": "yes",
+ "description": "payment:coins=yes is displayed as \"Coins are accepted here\" by layer Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/toilet.md#payment_options_split",
+ "icon_url": "./assets/layers/questions/coins.svg"
+ },
+ {
+ "key": "payment:notes",
+ "value": "yes",
+ "description": "payment:notes=yes is displayed as \"Bank notes are accepted here\" by layer Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/toilet.md#payment_options_split",
+ "icon_url": "./assets/layers/questions/notes.svg"
+ },
+ {
+ "key": "payment:debit_cards",
+ "value": "yes",
+ "description": "payment:debit_cards=yes is displayed as \"Debit cards are accepted here\" by layer Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/toilet.md#payment_options_split",
+ "icon_url": "./assets/layers/questions/payment_card.svg"
+ },
+ {
+ "key": "payment:credit_cards",
+ "value": "yes",
+ "description": "payment:credit_cards=yes is displayed as \"Credit cards are accepted here\" by layer Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/toilet.md#payment_options_split",
+ "icon_url": "./assets/layers/questions/payment_card.svg"
+ },
+ {
+ "key": "opening_hours",
+ "description": "Values of `opening_hours` are shown with \"
Opening hours
{opening_hours_table(opening_hours)}\" and can be updated. The question is \"When are these toilets opened?\" by layer Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/toilet.md#opening_hours_24_7",
+ "icon_url": "./assets/layers/toilet/toilets.svg"
+ },
+ {
+ "key": "opening_hours",
+ "value": "24/7",
+ "description": "opening_hours=24/7 is displayed as \"24/7 opened (including holidays)\" by layer Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/toilet.md#opening_hours_24_7",
+ "icon_url": "./assets/layers/questions/open24_7.svg"
+ },
+ {
+ "key": "opening_hours",
+ "value": "closed",
+ "description": "opening_hours=closed is displayed as \"Marked as closed for an unspecified time\" by layer Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/toilet.md#opening_hours_24_7",
+ "icon_url": "./assets/layers/toilet/toilets.svg"
+ },
+ {
+ "key": "gender_segregated",
+ "value": "yes",
+ "description": "gender_segregated=yes is displayed as \"There is a separate, signposted area for men and women\" by layer Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/toilet.md#gender_segregated",
+ "icon_url": "./assets/layers/toilet/toilets.svg"
+ },
+ {
+ "key": "gender_segregated",
+ "value": "no",
+ "description": "gender_segregated=no is displayed as \"There is no separate, signposted area for men and women\" by layer Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/toilet.md#gender_segregated",
+ "icon_url": "./assets/layers/toilet/toilets.svg"
+ },
+ {
+ "key": "supervised",
+ "value": "yes",
+ "description": "supervised=yes is displayed as \"There is a person supervising these toilets during (most of) the opening hours\" by layer Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/toilet.md#toilet_supervised",
+ "icon_url": "./assets/layers/toilet/toilets.svg"
+ },
+ {
+ "key": "supervised",
+ "value": "interval",
+ "description": "supervised=interval is displayed as \"There is a person supervising these toilets, but they are present only during certain times of the opening hours\" by layer Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/toilet.md#toilet_supervised",
+ "icon_url": "./assets/layers/toilet/toilets.svg"
+ },
+ {
+ "key": "supervised",
+ "value": "no",
+ "description": "supervised=no is displayed as \"These toilets are not supervised\" by layer Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/toilet.md#toilet_supervised",
+ "icon_url": "./assets/layers/toilet/toilets.svg"
+ },
+ {
+ "key": "description",
+ "description": "Values of `description` are shown with \"{description}\" and can be updated. The question is \"Is there still some relevant info that the previous questions did not cover? Feel free to add it here.\" by layer Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/toilet.md#description",
+ "icon_url": "./assets/layers/toilet/toilets.svg"
+ },
+ {
+ "key": "wheelchair",
+ "value": "yes",
+ "description": "wheelchair=yes is displayed as \"There is a dedicated toilet for wheelchair users\" by layer Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/toilet.md#toilets_wheelchair",
+ "icon_url": "./assets/layers/toilet/toilets.svg"
+ },
+ {
+ "key": "wheelchair",
+ "value": "no",
+ "description": "wheelchair=no is displayed as \"No wheelchair access\" by layer Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/toilet.md#toilets_wheelchair",
+ "icon_url": "./assets/layers/toilet/toilets.svg"
+ },
+ {
+ "key": "wheelchair",
+ "value": "designated",
+ "description": "wheelchair=designated is displayed as \"There is only a dedicated toilet for wheelchair users\" by layer Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/toilet.md#toilets_wheelchair",
+ "icon_url": "./assets/layers/toilet/toilets.svg"
+ },
+ {
+ "key": "image",
+ "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary (This is only shown if ((wheelchair=yes & amenity=toilets) | toilets:wheelchair=yes)) by layer Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/toilet.md#images",
+ "icon_url": "./assets/layers/toilet/toilets.svg"
+ },
+ {
+ "key": "panoramax",
+ "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary (This is only shown if ((wheelchair=yes & amenity=toilets) | toilets:wheelchair=yes)) by layer Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/toilet.md#images",
+ "icon_url": "./assets/layers/toilet/toilets.svg"
+ },
+ {
+ "key": "mapillary",
+ "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary (This is only shown if ((wheelchair=yes & amenity=toilets) | toilets:wheelchair=yes)) by layer Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/toilet.md#images",
+ "icon_url": "./assets/layers/toilet/toilets.svg"
+ },
+ {
+ "key": "wikidata",
+ "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary (This is only shown if ((wheelchair=yes & amenity=toilets) | toilets:wheelchair=yes)) by layer Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/toilet.md#images",
+ "icon_url": "./assets/layers/toilet/toilets.svg"
+ },
+ {
+ "key": "wikipedia",
+ "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary (This is only shown if ((wheelchair=yes & amenity=toilets) | toilets:wheelchair=yes)) by layer Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/toilet.md#images",
+ "icon_url": "./assets/layers/toilet/toilets.svg"
+ },
+ {
+ "key": "image",
+ "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary Furthermore, this layer shows images based on the keys panoramax, image, wikidata, wikipedia, wikimedia_commons and mapillary (This is only shown if ((wheelchair=yes & amenity=toilets) | toilets:wheelchair=yes)) by layer Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/toilet.md#images",
+ "icon_url": "./assets/layers/toilet/toilets.svg"
+ },
+ {
+ "key": "panoramax",
+ "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary Furthermore, this layer shows images based on the keys panoramax, image, wikidata, wikipedia, wikimedia_commons and mapillary (This is only shown if ((wheelchair=yes & amenity=toilets) | toilets:wheelchair=yes)) by layer Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/toilet.md#images",
+ "icon_url": "./assets/layers/toilet/toilets.svg"
+ },
+ {
+ "key": "mapillary",
+ "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary Furthermore, this layer shows images based on the keys panoramax, image, wikidata, wikipedia, wikimedia_commons and mapillary (This is only shown if ((wheelchair=yes & amenity=toilets) | toilets:wheelchair=yes)) by layer Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/toilet.md#images",
+ "icon_url": "./assets/layers/toilet/toilets.svg"
+ },
+ {
+ "key": "wikidata",
+ "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary Furthermore, this layer shows images based on the keys panoramax, image, wikidata, wikipedia, wikimedia_commons and mapillary (This is only shown if ((wheelchair=yes & amenity=toilets) | toilets:wheelchair=yes)) by layer Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/toilet.md#images",
+ "icon_url": "./assets/layers/toilet/toilets.svg"
+ },
+ {
+ "key": "wikipedia",
+ "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary Furthermore, this layer shows images based on the keys panoramax, image, wikidata, wikipedia, wikimedia_commons and mapillary (This is only shown if ((wheelchair=yes & amenity=toilets) | toilets:wheelchair=yes)) by layer Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/toilet.md#images",
+ "icon_url": "./assets/layers/toilet/toilets.svg"
+ },
+ {
+ "key": "phone",
+ "description": "Values of `phone` are shown with \"{link(&LBRACEphone&RBRACE,tel:&LBRACEphone&RBRACE,,,,)}\" and can be updated. The question is \"What number can one call in case of troubles or questions?\" by layer Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/toilet.md#phone",
+ "icon_url": "./assets/layers/questions/phone.svg"
+ },
+ {
+ "key": "email",
+ "description": "Values of `email` are shown with \"{email}\" and can be updated. The question is \"What is the email address one can send to in case of troubles or questions?\" by layer Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/toilet.md#email",
+ "icon_url": "./assets/svg/envelope.svg"
}
]
}
\ No newline at end of file
diff --git a/Docs/TagInfo/mapcomplete_onwheels.json b/Docs/TagInfo/mapcomplete_onwheels.json
index 9a89d9ee9..307d2a6dd 100644
--- a/Docs/TagInfo/mapcomplete_onwheels.json
+++ b/Docs/TagInfo/mapcomplete_onwheels.json
@@ -471,772 +471,772 @@
{
"key": "toilets",
"value": "no",
- "description": "toilets=no is displayed as \"Does not have toilets\" by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors",
+ "description": "toilets=no is displayed as \"Does not have toilets\" by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#grouptitle",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "toilets",
"value": "yes",
- "description": "toilets=yes is displayed as \"Has toilets\" by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors",
+ "description": "toilets=yes is displayed as \"Has toilets\" by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#has_toilets",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "toilets",
"value": "no",
- "description": "toilets=no is displayed as \"Has no toilets\" by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors",
+ "description": "toilets=no is displayed as \"Has no toilets\" by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#has_toilets",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "toilets",
"value": "separate",
- "description": "toilets=separate is displayed as \"The toilets are marked separately on the map\" by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors",
+ "description": "toilets=separate is displayed as \"The toilets are marked separately on the map\" by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#has_toilets",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "image",
- "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary Furthermore, this layer shows images based on the keys panoramax, image, wikidata, wikipedia, wikimedia_commons and mapillary (This is only shown if toilets=yes) by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors",
+ "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary Furthermore, this layer shows images based on the keys panoramax, image, wikidata, wikipedia, wikimedia_commons and mapillary (This is only shown if toilets=yes) by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#images",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "panoramax",
- "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary Furthermore, this layer shows images based on the keys panoramax, image, wikidata, wikipedia, wikimedia_commons and mapillary (This is only shown if toilets=yes) by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors",
+ "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary Furthermore, this layer shows images based on the keys panoramax, image, wikidata, wikipedia, wikimedia_commons and mapillary (This is only shown if toilets=yes) by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#images",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "mapillary",
- "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary Furthermore, this layer shows images based on the keys panoramax, image, wikidata, wikipedia, wikimedia_commons and mapillary (This is only shown if toilets=yes) by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors",
+ "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary Furthermore, this layer shows images based on the keys panoramax, image, wikidata, wikipedia, wikimedia_commons and mapillary (This is only shown if toilets=yes) by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#images",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "wikidata",
- "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary Furthermore, this layer shows images based on the keys panoramax, image, wikidata, wikipedia, wikimedia_commons and mapillary (This is only shown if toilets=yes) by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors",
+ "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary Furthermore, this layer shows images based on the keys panoramax, image, wikidata, wikipedia, wikimedia_commons and mapillary (This is only shown if toilets=yes) by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#images",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "wikipedia",
- "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary Furthermore, this layer shows images based on the keys panoramax, image, wikidata, wikipedia, wikimedia_commons and mapillary (This is only shown if toilets=yes) by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors",
+ "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary Furthermore, this layer shows images based on the keys panoramax, image, wikidata, wikipedia, wikimedia_commons and mapillary (This is only shown if toilets=yes) by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#images",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "toilets:level",
- "description": "Values of `toilets:level` are shown with \"Located on the {toilets:level}th floor\" and can be updated. The question is \"On what level is this feature located?\" by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors",
+ "description": "Values of `toilets:level` are shown with \"Located on the {toilets:level}th floor\" and can be updated. The question is \"On what level is this feature located?\" by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#toilets_single_level",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "toilets:location",
"value": "underground",
- "description": "toilets:location=underground is displayed as \"Located underground\" by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors",
+ "description": "toilets:location=underground is displayed as \"Located underground\" by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#toilets_single_level",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "toilets:level",
"value": "0",
- "description": "toilets:level=0 is displayed as \"Located on the ground floor\" by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors",
+ "description": "toilets:level=0 is displayed as \"Located on the ground floor\" by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#toilets_single_level",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "toilets:level",
- "description": "toilets:level= is displayed as \"Located on the ground floor\" by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors",
+ "description": "toilets:level= is displayed as \"Located on the ground floor\" by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#toilets_single_level",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "toilets:level",
"value": "1",
- "description": "toilets:level=1 is displayed as \"Located on the first floor\" by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors",
+ "description": "toilets:level=1 is displayed as \"Located on the first floor\" by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#toilets_single_level",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "toilets:level",
"value": "-1",
- "description": "toilets:level=-1 is displayed as \"Located on the first basement level\" by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors",
+ "description": "toilets:level=-1 is displayed as \"Located on the first basement level\" by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#toilets_single_level",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "toilets:access",
- "description": "Values of `toilets:access` are shown with \"Access is {toilets:access}\" and can be updated. The question is \"Are these toilets publicly accessible?\" by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors",
+ "description": "Values of `toilets:access` are shown with \"Access is {toilets:access}\" and can be updated. The question is \"Are these toilets publicly accessible?\" by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#toilets_toilet_access",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "toilets:access",
"value": "yes",
- "description": "toilets:access=yes is displayed as \"Public access\" by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors",
+ "description": "toilets:access=yes is displayed as \"Public access\" by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#toilets_toilet_access",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "toilets:access",
"value": "customers",
- "description": "toilets:access=customers is displayed as \"Only access to customers\" by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors",
+ "description": "toilets:access=customers is displayed as \"Only access to customers\" by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#toilets_toilet_access",
"icon_url": "key"
},
{
"key": "toilets:access",
"value": "no",
- "description": "toilets:access=no is displayed as \"Not accessible\" by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors",
+ "description": "toilets:access=no is displayed as \"Not accessible\" by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#toilets_toilet_access",
"icon_url": "lock"
},
{
"key": "toilets:access",
"value": "key",
- "description": "toilets:access=key is displayed as \"Accessible, but one has to ask a key to enter\" by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors",
+ "description": "toilets:access=key is displayed as \"Accessible, but one has to ask a key to enter\" by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#toilets_toilet_access",
"icon_url": "key"
},
{
"key": "toilets:fee",
"value": "yes",
- "description": "toilets:fee=yes is displayed as \"These are paid toilets\" by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors",
+ "description": "toilets:fee=yes is displayed as \"These are paid toilets\" by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#toilets_toilets_fee",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "toilets:fee",
"value": "no",
- "description": "toilets:fee=no is displayed as \"Free to use\" by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors",
+ "description": "toilets:fee=no is displayed as \"Free to use\" by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#toilets_toilets_fee",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "toilets:charge",
- "description": "Values of `toilets:charge` are shown with \"The fee is {toilets:charge}\" and can be updated. The question is \"How much does one have to pay for these toilets?\" by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors",
+ "description": "Values of `toilets:charge` are shown with \"The fee is {toilets:charge}\" and can be updated. The question is \"How much does one have to pay for these toilets?\" by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#toilets_toilet_charge",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "toilets:payment:cash",
"value": "yes",
- "description": "toilets:payment:cash=yes is displayed as \"Cash is accepted here\" by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors",
+ "description": "toilets:payment:cash=yes is displayed as \"Cash is accepted here\" by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#toilets_payment_options_split",
"icon_url": "./assets/layers/questions/cash.svg"
},
{
"key": "toilets:payment:cards",
"value": "yes",
- "description": "toilets:payment:cards=yes is displayed as \"Payment cards are accepted here\" by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors",
+ "description": "toilets:payment:cards=yes is displayed as \"Payment cards are accepted here\" by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#toilets_payment_options_split",
"icon_url": "./assets/layers/questions/payment_card.svg"
},
{
"key": "toilets:payment:qr_code",
"value": "yes",
- "description": "toilets:payment:qr_code=yes is displayed as \"Payment by QR-code is possible here\" by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors",
+ "description": "toilets:payment:qr_code=yes is displayed as \"Payment by QR-code is possible here\" by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#toilets_payment_options_split",
"icon_url": "./assets/layers/questions/qrcode.svg"
},
{
"key": "toilets:payment:coins",
"value": "yes",
- "description": "toilets:payment:coins=yes is displayed as \"Coins are accepted here\" by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors",
+ "description": "toilets:payment:coins=yes is displayed as \"Coins are accepted here\" by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#toilets_payment_options_split",
"icon_url": "./assets/layers/questions/coins.svg"
},
{
"key": "toilets:payment:notes",
"value": "yes",
- "description": "toilets:payment:notes=yes is displayed as \"Bank notes are accepted here\" by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors",
+ "description": "toilets:payment:notes=yes is displayed as \"Bank notes are accepted here\" by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#toilets_payment_options_split",
"icon_url": "./assets/layers/questions/notes.svg"
},
{
"key": "toilets:payment:debit_cards",
"value": "yes",
- "description": "toilets:payment:debit_cards=yes is displayed as \"Debit cards are accepted here\" by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors",
+ "description": "toilets:payment:debit_cards=yes is displayed as \"Debit cards are accepted here\" by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#toilets_payment_options_split",
"icon_url": "./assets/layers/questions/payment_card.svg"
},
{
"key": "toilets:payment:credit_cards",
"value": "yes",
- "description": "toilets:payment:credit_cards=yes is displayed as \"Credit cards are accepted here\" by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors",
+ "description": "toilets:payment:credit_cards=yes is displayed as \"Credit cards are accepted here\" by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#toilets_payment_options_split",
"icon_url": "./assets/layers/questions/payment_card.svg"
},
{
"key": "toilets:gender_segregated",
"value": "yes",
- "description": "toilets:gender_segregated=yes is displayed as \"There is a separate, signposted area for men and women\" by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors",
+ "description": "toilets:gender_segregated=yes is displayed as \"There is a separate, signposted area for men and women\" by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#toilets_gender_segregated",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "toilets:gender_segregated",
"value": "no",
- "description": "toilets:gender_segregated=no is displayed as \"There is no separate, signposted area for men and women\" by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors",
+ "description": "toilets:gender_segregated=no is displayed as \"There is no separate, signposted area for men and women\" by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#toilets_gender_segregated",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "toilets:supervised",
"value": "yes",
- "description": "toilets:supervised=yes is displayed as \"There is a person supervising these toilets during (most of) the opening hours\" by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors",
+ "description": "toilets:supervised=yes is displayed as \"There is a person supervising these toilets during (most of) the opening hours\" by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#toilets_toilet_supervised",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "toilets:supervised",
"value": "interval",
- "description": "toilets:supervised=interval is displayed as \"There is a person supervising these toilets, but they are present only during certain times of the opening hours\" by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors",
+ "description": "toilets:supervised=interval is displayed as \"There is a person supervising these toilets, but they are present only during certain times of the opening hours\" by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#toilets_toilet_supervised",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "toilets:supervised",
"value": "no",
- "description": "toilets:supervised=no is displayed as \"These toilets are not supervised\" by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors",
+ "description": "toilets:supervised=no is displayed as \"These toilets are not supervised\" by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#toilets_toilet_supervised",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "toilets:description",
- "description": "Values of `toilets:description` are shown with \"{toilets:description}\" and can be updated. The question is \"Is there still some relevant info that the previous questions did not cover? Feel free to add it here.\" by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors",
+ "description": "Values of `toilets:description` are shown with \"{toilets:description}\" and can be updated. The question is \"Is there still some relevant info that the previous questions did not cover? Feel free to add it here.\" by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#toilets_description",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "toilets:wheelchair",
"value": "yes",
- "description": "toilets:wheelchair=yes is displayed as \"There is a dedicated toilet for wheelchair users\" by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors",
+ "description": "toilets:wheelchair=yes is displayed as \"There is a dedicated toilet for wheelchair users\" by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#toilets_toilets_wheelchair",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "toilets:wheelchair",
"value": "no",
- "description": "toilets:wheelchair=no is displayed as \"No wheelchair access\" by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors",
+ "description": "toilets:wheelchair=no is displayed as \"No wheelchair access\" by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#toilets_toilets_wheelchair",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "toilets:wheelchair",
"value": "designated",
- "description": "toilets:wheelchair=designated is displayed as \"There is only a dedicated toilet for wheelchair users\" by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors",
+ "description": "toilets:wheelchair=designated is displayed as \"There is only a dedicated toilet for wheelchair users\" by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#toilets_toilets_wheelchair",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "toilets:position",
"value": "seated",
- "description": "toilets:position=seated is displayed as \"There are only seated toilets\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors",
+ "description": "toilets:position=seated is displayed as \"There are only seated toilets\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#toilets_type",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "toilets:position",
"value": "urinal",
- "description": "toilets:position=urinal is displayed as \"There are only urinals here\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors",
+ "description": "toilets:position=urinal is displayed as \"There are only urinals here\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#toilets_type",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "toilets:position",
"value": "squat",
- "description": "toilets:position=squat is displayed as \"There are only squat toilets here\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors",
+ "description": "toilets:position=squat is displayed as \"There are only squat toilets here\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#toilets_type",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "toilets:position",
"value": "seated;urinal",
- "description": "toilets:position=seated;urinal is displayed as \"Both seated toilets and urinals are available here\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors",
+ "description": "toilets:position=seated;urinal is displayed as \"Both seated toilets and urinals are available here\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#toilets_type",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "toilets:disposal",
"value": "flush",
- "description": "toilets:disposal=flush is displayed as \"The waste is moved away by flushing the toilet with water\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors",
+ "description": "toilets:disposal=flush is displayed as \"The waste is moved away by flushing the toilet with water\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#toilets_disposal",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "toilets:disposal",
"value": "pitlatrine",
- "description": "toilets:disposal=pitlatrine is displayed as \"The waste falls into a pit\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors",
+ "description": "toilets:disposal=pitlatrine is displayed as \"The waste falls into a pit\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#toilets_disposal",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "toilets:disposal",
"value": "bucket",
- "description": "toilets:disposal=bucket is displayed as \"The waste is collected in a bucket or similar container, which is regularly removed\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors",
+ "description": "toilets:disposal=bucket is displayed as \"The waste is collected in a bucket or similar container, which is regularly removed\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#toilets_disposal",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "toilets:menstrual_products",
"value": "yes",
- "description": "toilets:menstrual_products=yes is displayed as \"Free menstrual products are available to all visitors of these toilets\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors",
+ "description": "toilets:menstrual_products=yes is displayed as \"Free menstrual products are available to all visitors of these toilets\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#menstrual_products",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "toilets:menstrual_products",
"value": "limited",
- "description": "toilets:menstrual_products=limited is displayed as \"Free menstrual products are available to some visitors of these toilets\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors",
+ "description": "toilets:menstrual_products=limited is displayed as \"Free menstrual products are available to some visitors of these toilets\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#menstrual_products",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "toilets:menstrual_products",
"value": "no",
- "description": "toilets:menstrual_products=no is displayed as \"No free menstrual products are available here\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors",
+ "description": "toilets:menstrual_products=no is displayed as \"No free menstrual products are available here\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#menstrual_products",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "toilets:menstrual_products:location",
- "description": "Values of `toilets:menstrual_products:location` are shown with \"The menstrual products are located in {toilets:menstrual_products:location}\" and can be updated. The question is \"Where are the free menstrual products located?\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors",
+ "description": "Values of `toilets:menstrual_products:location` are shown with \"The menstrual products are located in {toilets:menstrual_products:location}\" and can be updated. The question is \"Where are the free menstrual products located?\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#menstrual_products_location",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "toilets:menstrual_products:location",
"value": "female_toilet",
- "description": "toilets:menstrual_products:location=female_toilet is displayed as \"The free, menstrual products are located in the toilet for women\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors",
+ "description": "toilets:menstrual_products:location=female_toilet is displayed as \"The free, menstrual products are located in the toilet for women\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#menstrual_products_location",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "toilets:menstrual_products:location",
"value": "male_toilet",
- "description": "toilets:menstrual_products:location=male_toilet is displayed as \"The free, menstrual products are located in the toilet for men\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors",
+ "description": "toilets:menstrual_products:location=male_toilet is displayed as \"The free, menstrual products are located in the toilet for men\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#menstrual_products_location",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "toilets:menstrual_products:location",
"value": "wheelchair_toilet",
- "description": "toilets:menstrual_products:location=wheelchair_toilet is displayed as \"The free, menstrual products are located in the toilet for wheelchair users\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors",
+ "description": "toilets:menstrual_products:location=wheelchair_toilet is displayed as \"The free, menstrual products are located in the toilet for wheelchair users\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#menstrual_products_location",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "changing_table",
"value": "yes",
- "description": "changing_table=yes is displayed as \"A changing table is available\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors",
+ "description": "changing_table=yes is displayed as \"A changing table is available\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#toilets_changing_table",
"icon_url": "./assets/layers/toilet/baby.svg"
},
{
"key": "changing_table",
"value": "no",
- "description": "changing_table=no is displayed as \"No changing table is available\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors",
+ "description": "changing_table=no is displayed as \"No changing table is available\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#toilets_changing_table",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "changing_table:location",
- "description": "Values of `changing_table:location` are shown with \"A changing table is located at {changing_table:location}\" and can be updated. The question is \"Where is the changing table located?\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors",
+ "description": "Values of `changing_table:location` are shown with \"A changing table is located at {changing_table:location}\" and can be updated. The question is \"Where is the changing table located?\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#toilet_changing_table_location",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "changing_table:location",
"value": "female_toilet",
- "description": "changing_table:location=female_toilet is displayed as \"A changing table is in the toilet for women\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors",
+ "description": "changing_table:location=female_toilet is displayed as \"A changing table is in the toilet for women\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#toilet_changing_table_location",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "changing_table:location",
"value": "male_toilet",
- "description": "changing_table:location=male_toilet is displayed as \"A changing table is in the toilet for men\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors",
+ "description": "changing_table:location=male_toilet is displayed as \"A changing table is in the toilet for men\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#toilet_changing_table_location",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "changing_table:location",
"value": "wheelchair_toilet",
- "description": "changing_table:location=wheelchair_toilet is displayed as \"A changing table is in the toilet for wheelchair users\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors",
+ "description": "changing_table:location=wheelchair_toilet is displayed as \"A changing table is in the toilet for wheelchair users\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#toilet_changing_table_location",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "changing_table:location",
"value": "dedicated_room",
- "description": "changing_table:location=dedicated_room is displayed as \"A changing table is in a dedicated room\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors",
+ "description": "changing_table:location=dedicated_room is displayed as \"A changing table is in a dedicated room\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#toilet_changing_table_location",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "toilets:paper_supplied",
"value": "yes",
- "description": "toilets:paper_supplied=yes is displayed as \"This toilet is equipped with toilet paper\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors",
+ "description": "toilets:paper_supplied=yes is displayed as \"This toilet is equipped with toilet paper\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#toilet_has_paper",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "toilets:paper_supplied",
"value": "no",
- "description": "toilets:paper_supplied=no is displayed as \"You have to bring your own toilet paper to this toilet\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors",
+ "description": "toilets:paper_supplied=no is displayed as \"You have to bring your own toilet paper to this toilet\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#toilet_has_paper",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "toilets:handwashing",
"value": "yes",
- "description": "toilets:handwashing=yes is displayed as \"These toilets have a sink to wash your hands\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors",
+ "description": "toilets:handwashing=yes is displayed as \"These toilets have a sink to wash your hands\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#toilet_handwashing",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "toilets:handwashing",
"value": "no",
- "description": "toilets:handwashing=no is displayed as \"These toilets don't have a sink to wash your hands\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors",
+ "description": "toilets:handwashing=no is displayed as \"These toilets don't have a sink to wash your hands\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#toilet_handwashing",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "toilets:hands_drying",
"value": "electric_hand_dryer",
- "description": "toilets:hands_drying=electric_hand_dryer is displayed as \"Electric hand dryers are available for drying hands.\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors",
+ "description": "toilets:hands_drying=electric_hand_dryer is displayed as \"Electric hand dryers are available for drying hands.\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#toilet_drying",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "toilets:hands_drying",
"value": "paper_towel",
- "description": "toilets:hands_drying=paper_towel is displayed as \"Paper towels are available for drying hands.\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors",
+ "description": "toilets:hands_drying=paper_towel is displayed as \"Paper towels are available for drying hands.\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#toilet_drying",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "toilets:hands_drying",
"value": "towel_cabinet",
- "description": "toilets:hands_drying=towel_cabinet is displayed as \"A towel roll cabinet is available for drying hands\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors",
+ "description": "toilets:hands_drying=towel_cabinet is displayed as \"A towel roll cabinet is available for drying hands\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#toilet_drying",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "toilets:hands_drying",
"value": "towel",
- "description": "toilets:hands_drying=towel is displayed as \"A fabric towel available to dry your hands.\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors",
+ "description": "toilets:hands_drying=towel is displayed as \"A fabric towel available to dry your hands.\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#toilet_drying",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "toilets:hands_drying",
"value": "no",
- "description": "toilets:hands_drying=no is displayed as \"There are no hand drying facilities available.\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors",
+ "description": "toilets:hands_drying=no is displayed as \"There are no hand drying facilities available.\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#toilet_drying",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "image",
- "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary (This is only shown if ((wheelchair=yes & amenity=toilets) | toilets:wheelchair=yes) & toilets=yes) by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors",
+ "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary (This is only shown if ((wheelchair=yes & amenity=toilets) | toilets:wheelchair=yes) & toilets=yes) by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#images",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "panoramax",
- "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary (This is only shown if ((wheelchair=yes & amenity=toilets) | toilets:wheelchair=yes) & toilets=yes) by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors",
+ "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary (This is only shown if ((wheelchair=yes & amenity=toilets) | toilets:wheelchair=yes) & toilets=yes) by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#images",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "mapillary",
- "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary (This is only shown if ((wheelchair=yes & amenity=toilets) | toilets:wheelchair=yes) & toilets=yes) by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors",
+ "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary (This is only shown if ((wheelchair=yes & amenity=toilets) | toilets:wheelchair=yes) & toilets=yes) by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#images",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "wikidata",
- "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary (This is only shown if ((wheelchair=yes & amenity=toilets) | toilets:wheelchair=yes) & toilets=yes) by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors",
+ "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary (This is only shown if ((wheelchair=yes & amenity=toilets) | toilets:wheelchair=yes) & toilets=yes) by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#images",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "wikipedia",
- "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary (This is only shown if ((wheelchair=yes & amenity=toilets) | toilets:wheelchair=yes) & toilets=yes) by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors",
+ "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary (This is only shown if ((wheelchair=yes & amenity=toilets) | toilets:wheelchair=yes) & toilets=yes) by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#images",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "image",
- "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary Furthermore, this layer shows images based on the keys panoramax, image, wikidata, wikipedia, wikimedia_commons and mapillary (This is only shown if ((wheelchair=yes & amenity=toilets) | toilets:wheelchair=yes) & toilets=yes) by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors",
+ "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary Furthermore, this layer shows images based on the keys panoramax, image, wikidata, wikipedia, wikimedia_commons and mapillary (This is only shown if ((wheelchair=yes & amenity=toilets) | toilets:wheelchair=yes) & toilets=yes) by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#images",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "panoramax",
- "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary Furthermore, this layer shows images based on the keys panoramax, image, wikidata, wikipedia, wikimedia_commons and mapillary (This is only shown if ((wheelchair=yes & amenity=toilets) | toilets:wheelchair=yes) & toilets=yes) by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors",
+ "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary Furthermore, this layer shows images based on the keys panoramax, image, wikidata, wikipedia, wikimedia_commons and mapillary (This is only shown if ((wheelchair=yes & amenity=toilets) | toilets:wheelchair=yes) & toilets=yes) by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#images",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "mapillary",
- "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary Furthermore, this layer shows images based on the keys panoramax, image, wikidata, wikipedia, wikimedia_commons and mapillary (This is only shown if ((wheelchair=yes & amenity=toilets) | toilets:wheelchair=yes) & toilets=yes) by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors",
+ "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary Furthermore, this layer shows images based on the keys panoramax, image, wikidata, wikipedia, wikimedia_commons and mapillary (This is only shown if ((wheelchair=yes & amenity=toilets) | toilets:wheelchair=yes) & toilets=yes) by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#images",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "wikidata",
- "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary Furthermore, this layer shows images based on the keys panoramax, image, wikidata, wikipedia, wikimedia_commons and mapillary (This is only shown if ((wheelchair=yes & amenity=toilets) | toilets:wheelchair=yes) & toilets=yes) by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors",
+ "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary Furthermore, this layer shows images based on the keys panoramax, image, wikidata, wikipedia, wikimedia_commons and mapillary (This is only shown if ((wheelchair=yes & amenity=toilets) | toilets:wheelchair=yes) & toilets=yes) by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#images",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "wikipedia",
- "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary Furthermore, this layer shows images based on the keys panoramax, image, wikidata, wikipedia, wikimedia_commons and mapillary (This is only shown if ((wheelchair=yes & amenity=toilets) | toilets:wheelchair=yes) & toilets=yes) by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors",
+ "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary Furthermore, this layer shows images based on the keys panoramax, image, wikidata, wikipedia, wikimedia_commons and mapillary (This is only shown if ((wheelchair=yes & amenity=toilets) | toilets:wheelchair=yes) & toilets=yes) by layers Cafés and pubs, Restaurants and fast food, Shop, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#images",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "wheelchair",
"value": "designated",
- "description": "wheelchair=designated | toilets:wheelchair=designated is displayed as \"Wheelchair accessibility features\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors",
+ "description": "wheelchair=designated | toilets:wheelchair=designated is displayed as \"Wheelchair accessibility features\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#wheelchair_title",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "toilets:wheelchair",
"value": "designated",
- "description": "wheelchair=designated | toilets:wheelchair=designated is displayed as \"Wheelchair accessibility features\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors",
+ "description": "wheelchair=designated | toilets:wheelchair=designated is displayed as \"Wheelchair accessibility features\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#wheelchair_title",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "wheelchair",
"value": "no",
- "description": "wheelchair=no | toilets:wheelchair=no is displayed as \"No wheelchair accessible toilet\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors",
+ "description": "wheelchair=no | toilets:wheelchair=no is displayed as \"No wheelchair accessible toilet\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#wheelchair_title",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "toilets:wheelchair",
"value": "no",
- "description": "wheelchair=no | toilets:wheelchair=no is displayed as \"No wheelchair accessible toilet\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors",
+ "description": "wheelchair=no | toilets:wheelchair=no is displayed as \"No wheelchair accessible toilet\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#wheelchair_title",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "toilets:wheelchair:access",
"value": "yes",
- "description": "toilets:wheelchair:access=yes is displayed as \"The wheelchair accessible toilets are freely accessible\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors",
+ "description": "toilets:wheelchair:access=yes is displayed as \"The wheelchair accessible toilets are freely accessible\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#toilet_wheelchair_access",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "toilets:wheelchair:access",
"value": "key",
- "description": "toilets:wheelchair:access=key is displayed as \"One needs to ask permission to access wheelchair-accessible toilet, e.g. by asking a key\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors",
+ "description": "toilets:wheelchair:access=key is displayed as \"One needs to ask permission to access wheelchair-accessible toilet, e.g. by asking a key\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#toilet_wheelchair_access",
"icon_url": "key"
},
{
"key": "centralkey",
"value": "mlak",
- "description": "centralkey=mlak is displayed as \"One can use a Master Locksmiths Access Key(MLAK) to access this bathroom\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors",
+ "description": "centralkey=mlak is displayed as \"One can use a Master Locksmiths Access Key(MLAK) to access this bathroom\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#toilet_wheelchair_access",
"icon_url": "./assets/layers/toilet/MLAK.svg"
},
{
"key": "centralkey",
"value": "nks",
- "description": "centralkey=nks is displayed as \"One can use a RADAR Key to access this bathroom\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors",
+ "description": "centralkey=nks is displayed as \"One can use a RADAR Key to access this bathroom\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#toilet_wheelchair_access",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "centralkey",
"value": "eurokey",
- "description": "centralkey=eurokey is displayed as \"One can use a EuroKey to access this bathroom\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors",
+ "description": "centralkey=eurokey is displayed as \"One can use a EuroKey to access this bathroom\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#toilet_wheelchair_access",
"icon_url": "./assets/layers/toilet/eurokey.svg"
},
{
"key": "toilets:wheelchair:grab_rail:left",
"value": "yes",
- "description": "toilets:wheelchair:grab_rail:left=yes & toilets:wheelchair:grab_rail:right=yes is displayed as \"Grab rails on both sides\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors",
+ "description": "toilets:wheelchair:grab_rail:left=yes & toilets:wheelchair:grab_rail:right=yes is displayed as \"Grab rails on both sides\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#toilets_wheelchair_has_grab_rail_lr",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "toilets:wheelchair:grab_rail:right",
"value": "yes",
- "description": "toilets:wheelchair:grab_rail:left=yes & toilets:wheelchair:grab_rail:right=yes is displayed as \"Grab rails on both sides\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors",
+ "description": "toilets:wheelchair:grab_rail:left=yes & toilets:wheelchair:grab_rail:right=yes is displayed as \"Grab rails on both sides\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#toilets_wheelchair_has_grab_rail_lr",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "toilets:wheelchair:grab_rail:left",
"value": "yes",
- "description": "toilets:wheelchair:grab_rail:left=yes & toilets:wheelchair:grab_rail:right=no is displayed as \"Only grab rails on the left side\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors",
+ "description": "toilets:wheelchair:grab_rail:left=yes & toilets:wheelchair:grab_rail:right=no is displayed as \"Only grab rails on the left side\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#toilets_wheelchair_has_grab_rail_lr",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "toilets:wheelchair:grab_rail:right",
"value": "no",
- "description": "toilets:wheelchair:grab_rail:left=yes & toilets:wheelchair:grab_rail:right=no is displayed as \"Only grab rails on the left side\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors",
+ "description": "toilets:wheelchair:grab_rail:left=yes & toilets:wheelchair:grab_rail:right=no is displayed as \"Only grab rails on the left side\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#toilets_wheelchair_has_grab_rail_lr",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "toilets:wheelchair:grab_rail:left",
"value": "no",
- "description": "toilets:wheelchair:grab_rail:left=no & toilets:wheelchair:grab_rail:right=yes is displayed as \"Grab rails on the right side\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors",
+ "description": "toilets:wheelchair:grab_rail:left=no & toilets:wheelchair:grab_rail:right=yes is displayed as \"Grab rails on the right side\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#toilets_wheelchair_has_grab_rail_lr",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "toilets:wheelchair:grab_rail:right",
"value": "yes",
- "description": "toilets:wheelchair:grab_rail:left=no & toilets:wheelchair:grab_rail:right=yes is displayed as \"Grab rails on the right side\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors",
+ "description": "toilets:wheelchair:grab_rail:left=no & toilets:wheelchair:grab_rail:right=yes is displayed as \"Grab rails on the right side\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#toilets_wheelchair_has_grab_rail_lr",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "toilets:wheelchair:grab_rail:left",
"value": "no",
- "description": "toilets:wheelchair:grab_rail:left=no & toilets:wheelchair:grab_rail:right=no is displayed as \"No grab rails at all\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors",
+ "description": "toilets:wheelchair:grab_rail:left=no & toilets:wheelchair:grab_rail:right=no is displayed as \"No grab rails at all\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#toilets_wheelchair_has_grab_rail_lr",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "toilets:wheelchair:grab_rail:right",
"value": "no",
- "description": "toilets:wheelchair:grab_rail:left=no & toilets:wheelchair:grab_rail:right=no is displayed as \"No grab rails at all\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors",
+ "description": "toilets:wheelchair:grab_rail:left=no & toilets:wheelchair:grab_rail:right=no is displayed as \"No grab rails at all\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#toilets_wheelchair_has_grab_rail_lr",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "toilets:wheelchair:grab_rail:behind",
"value": "yes",
- "description": "toilets:wheelchair:grab_rail:behind=yes is displayed as \"Has a grab rail behind the toilet\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors",
+ "description": "toilets:wheelchair:grab_rail:behind=yes is displayed as \"Has a grab rail behind the toilet\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#toilets_wheelchair_has_grab_rail_behind",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "toilets:wheelchair:grab_rail:behind",
"value": "no",
- "description": "toilets:wheelchair:grab_rail:behind=no is displayed as \"No grab rail behind the toilet\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors",
+ "description": "toilets:wheelchair:grab_rail:behind=no is displayed as \"No grab rail behind the toilet\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#toilets_wheelchair_has_grab_rail_behind",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "toilets:wheelchair:is_foldable:left",
"value": "yes",
- "description": "toilets:wheelchair:is_foldable:left=yes is displayed as \"The left grab rail is foldable\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors",
+ "description": "toilets:wheelchair:is_foldable:left=yes is displayed as \"The left grab rail is foldable\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#toilets_wheelchair_is_foldable_left",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "toilets:wheelchair:is_foldable:left",
"value": "no",
- "description": "toilets:wheelchair:is_foldable:left=no is displayed as \"The left grab rail is not foldable\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors",
+ "description": "toilets:wheelchair:is_foldable:left=no is displayed as \"The left grab rail is not foldable\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#toilets_wheelchair_is_foldable_left",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "toilets:wheelchair:is_foldable:right",
"value": "yes",
- "description": "toilets:wheelchair:is_foldable:right=yes is displayed as \"The right grab rail is foldable\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors",
+ "description": "toilets:wheelchair:is_foldable:right=yes is displayed as \"The right grab rail is foldable\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#toilets_wheelchair_is_foldable_right",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "toilets:wheelchair:is_foldable:right",
"value": "no",
- "description": "toilets:wheelchair:is_foldable:right=no is displayed as \"The right grab rail is not foldable\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors",
+ "description": "toilets:wheelchair:is_foldable:right=no is displayed as \"The right grab rail is not foldable\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#toilets_wheelchair_is_foldable_right",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "door:width",
- "description": "Values of `door:width` are shown with \"The door to the wheelchair-accessible toilet is {canonical(door:width)} wide\" and can be updated. The question is \"What is the width of the door to the wheelchair accessible toilet?\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors",
+ "description": "Values of `door:width` are shown with \"The door to the wheelchair-accessible toilet is {canonical(door:width)} wide\" and can be updated. The question is \"What is the width of the door to the wheelchair accessible toilet?\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#wheelchair_door_width",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "changing_table:adult",
"value": "yes",
- "description": "changing_table:adult=yes is displayed as \"Has a changing table for adults\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors",
+ "description": "changing_table:adult=yes is displayed as \"Has a changing table for adults\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#adult_changing_table",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "changing_table:adult",
"value": "no",
- "description": "changing_table:adult=no is displayed as \"No changing table for adults\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors",
+ "description": "changing_table:adult=no is displayed as \"No changing table for adults\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#adult_changing_table",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "changing_table:adult:height",
- "description": "Values of `changing_table:adult:height` are shown with \"The changing table is {canonical(changing_table:adult:height)} high\" and can be updated. The question is \"What is the height of the adult changing table?\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors",
+ "description": "Values of `changing_table:adult:height` are shown with \"The changing table is {canonical(changing_table:adult:height)} high\" and can be updated. The question is \"What is the height of the adult changing table?\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#changing_table_adult_height",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "changing_table:adult:height",
"value": "adjustable",
- "description": "changing_table:adult:height=adjustable is displayed as \"The changing table is adjustable in height\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors",
+ "description": "changing_table:adult:height=adjustable is displayed as \"The changing table is adjustable in height\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#changing_table_adult_height",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "changing_table:adult:min_height",
- "description": "Values of `changing_table:adult:min_height` are shown with \"The lowest height of the adult changing table is {canonical(changing_table:adult:min_height)}\" and can be updated. The question is \"What is the lowest height the adult changing table can be moved to?\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors",
+ "description": "Values of `changing_table:adult:min_height` are shown with \"The lowest height of the adult changing table is {canonical(changing_table:adult:min_height)}\" and can be updated. The question is \"What is the lowest height the adult changing table can be moved to?\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#changing_table_adult_adult_changing_table_min_height",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "changing_table:adult:max_height",
- "description": "Values of `changing_table:adult:max_height` are shown with \"The highest height of the adult changing table is {canonical(changing_table:adult:max_height)}\" and can be updated. The question is \"What is the highest height the adult changing table can be moved to?\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors",
+ "description": "Values of `changing_table:adult:max_height` are shown with \"The highest height of the adult changing table is {canonical(changing_table:adult:max_height)}\" and can be updated. The question is \"What is the highest height the adult changing table can be moved to?\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#changing_table_adult_adult_changing_table_max_height",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "changing_table:adult:height:mechanism",
"value": "manual",
- "description": "changing_table:adult:height:mechanism=manual is displayed as \"The height of the adult changing table is adjusted manually\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors",
+ "description": "changing_table:adult:height:mechanism=manual is displayed as \"The height of the adult changing table is adjusted manually\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#changing_table_adult_adult_changing_table_mechanism",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "changing_table:adult:height:mechanism",
"value": "electric",
- "description": "changing_table:adult:height:mechanism=electric is displayed as \"The height of the adult changing table is adjusted electrically\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors",
+ "description": "changing_table:adult:height:mechanism=electric is displayed as \"The height of the adult changing table is adjusted electrically\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#changing_table_adult_adult_changing_table_mechanism",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "changing_table:adult:support",
"value": "wall_mounted",
- "description": "changing_table:adult:support=wall_mounted is displayed as \"The changing table is mounted to the wall\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors",
+ "description": "changing_table:adult:support=wall_mounted is displayed as \"The changing table is mounted to the wall\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#changing_table_adult_adult_changing_table_support",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "changing_table:adult:support",
"value": "legs",
- "description": "changing_table:adult:support=legs is displayed as \"The changing table stands on table legs\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors",
+ "description": "changing_table:adult:support=legs is displayed as \"The changing table stands on table legs\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#changing_table_adult_adult_changing_table_support",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
{
"key": "changing_table:adult:support",
"value": "wheels",
- "description": "changing_table:adult:support=wheels is displayed as \"The changing table stands on table legs with wheels and can be moved\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors",
+ "description": "changing_table:adult:support=wheels is displayed as \"The changing table stands on table legs with wheels and can be moved\" by layers Cafés and pubs, Restaurants and fast food, Shop, Toilets, Pharmacies, Doctors, Tourism accomodation",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/cafe_pub.md#changing_table_adult_adult_changing_table_support",
"icon_url": "./assets/themes/onwheels/cafe.svg"
},
diff --git a/Docs/TagInfo/mapcomplete_scouting.json b/Docs/TagInfo/mapcomplete_scouting.json
index f0de98bef..bf11cae77 100644
--- a/Docs/TagInfo/mapcomplete_scouting.json
+++ b/Docs/TagInfo/mapcomplete_scouting.json
@@ -19,7 +19,7 @@
},
{
"key": "id",
- "description": "id~.+ is displayed as \"You just created this element! Thanks for sharing this info with the world and helping people worldwide.\" by layers Scouting groups, Group Campsites, Hostels for groups and scouts",
+ "description": "id~.+ is displayed as \"You just created this element! Thanks for sharing this info with the world and helping people worldwide.\" by layers Scouting groups, Group Campsites, Hostels for groups and scouts, Toilets",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/scouting_group.md#just_created",
"icon_url": "./assets/svg/party.svg"
},
@@ -43,7 +43,7 @@
},
{
"key": "contact:phone",
- "description": "contact:phone~.+ is displayed as \"{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}\" by layers Scouting groups, Group Campsites, Hostels for groups and scouts",
+ "description": "contact:phone~.+ is displayed as \"{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}\" by layers Scouting groups, Group Campsites, Hostels for groups and scouts, Toilets",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/scouting_group.md#phone",
"icon_url": "./assets/layers/questions/phone.svg"
},
@@ -55,13 +55,13 @@
},
{
"key": "contact:email",
- "description": "contact:email~.+ is displayed as \"{contact:email}\" by layers Scouting groups, Group Campsites, Hostels for groups and scouts",
+ "description": "contact:email~.+ is displayed as \"{contact:email}\" by layers Scouting groups, Group Campsites, Hostels for groups and scouts, Toilets",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/scouting_group.md#email",
"icon_url": "./assets/svg/envelope.svg"
},
{
"key": "operator:email",
- "description": "operator:email~.+ is displayed as \"{operator:email}\" by layers Scouting groups, Group Campsites, Hostels for groups and scouts",
+ "description": "operator:email~.+ is displayed as \"{operator:email}\" by layers Scouting groups, Group Campsites, Hostels for groups and scouts, Toilets",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/scouting_group.md#email",
"icon_url": "./assets/svg/envelope.svg"
},
@@ -133,31 +133,31 @@
},
{
"key": "image",
- "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary Furthermore, this layer shows images based on the keys panoramax, image, wikidata, wikipedia, wikimedia_commons and mapillary by layers Group Campsites, Hostels for groups and scouts",
+ "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary Furthermore, this layer shows images based on the keys panoramax, image, wikidata, wikipedia, wikimedia_commons and mapillary by layers Group Campsites, Hostels for groups and scouts, Toilets",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#images",
"icon_url": "./assets/layers/campsite/campsite.svg"
},
{
"key": "panoramax",
- "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary Furthermore, this layer shows images based on the keys panoramax, image, wikidata, wikipedia, wikimedia_commons and mapillary by layers Group Campsites, Hostels for groups and scouts",
+ "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary Furthermore, this layer shows images based on the keys panoramax, image, wikidata, wikipedia, wikimedia_commons and mapillary by layers Group Campsites, Hostels for groups and scouts, Toilets",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#images",
"icon_url": "./assets/layers/campsite/campsite.svg"
},
{
"key": "mapillary",
- "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary Furthermore, this layer shows images based on the keys panoramax, image, wikidata, wikipedia, wikimedia_commons and mapillary by layers Group Campsites, Hostels for groups and scouts",
+ "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary Furthermore, this layer shows images based on the keys panoramax, image, wikidata, wikipedia, wikimedia_commons and mapillary by layers Group Campsites, Hostels for groups and scouts, Toilets",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#images",
"icon_url": "./assets/layers/campsite/campsite.svg"
},
{
"key": "wikidata",
- "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary Furthermore, this layer shows images based on the keys panoramax, image, wikidata, wikipedia, wikimedia_commons and mapillary by layers Group Campsites, Hostels for groups and scouts",
+ "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary Furthermore, this layer shows images based on the keys panoramax, image, wikidata, wikipedia, wikimedia_commons and mapillary by layers Group Campsites, Hostels for groups and scouts, Toilets",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#images",
"icon_url": "./assets/layers/campsite/campsite.svg"
},
{
"key": "wikipedia",
- "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary Furthermore, this layer shows images based on the keys panoramax, image, wikidata, wikipedia, wikimedia_commons and mapillary by layers Group Campsites, Hostels for groups and scouts",
+ "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary Furthermore, this layer shows images based on the keys panoramax, image, wikidata, wikipedia, wikimedia_commons and mapillary by layers Group Campsites, Hostels for groups and scouts, Toilets",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#images",
"icon_url": "./assets/layers/campsite/campsite.svg"
},
@@ -227,6 +227,778 @@
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#caravansites_toilets",
"icon_url": "./assets/layers/campsite/campsite.svg"
},
+ {
+ "key": "toilets",
+ "value": "no",
+ "description": "toilets=no is displayed as \"Does not have toilets\" by layers Group Campsites, Hostels for groups and scouts",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#grouptitle",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "toilets",
+ "value": "yes",
+ "description": "toilets=yes is displayed as \"Has toilets\" by layers Group Campsites, Hostels for groups and scouts",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#has_toilets",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "toilets",
+ "value": "no",
+ "description": "toilets=no is displayed as \"Has no toilets\" by layers Group Campsites, Hostels for groups and scouts",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#has_toilets",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "toilets",
+ "value": "separate",
+ "description": "toilets=separate is displayed as \"The toilets are marked separately on the map\" by layers Group Campsites, Hostels for groups and scouts",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#has_toilets",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "image",
+ "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary Furthermore, this layer shows images based on the keys panoramax, image, wikidata, wikipedia, wikimedia_commons and mapillary (This is only shown if toilets=yes) by layers Group Campsites, Hostels for groups and scouts",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#images",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "panoramax",
+ "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary Furthermore, this layer shows images based on the keys panoramax, image, wikidata, wikipedia, wikimedia_commons and mapillary (This is only shown if toilets=yes) by layers Group Campsites, Hostels for groups and scouts",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#images",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "mapillary",
+ "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary Furthermore, this layer shows images based on the keys panoramax, image, wikidata, wikipedia, wikimedia_commons and mapillary (This is only shown if toilets=yes) by layers Group Campsites, Hostels for groups and scouts",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#images",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "wikidata",
+ "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary Furthermore, this layer shows images based on the keys panoramax, image, wikidata, wikipedia, wikimedia_commons and mapillary (This is only shown if toilets=yes) by layers Group Campsites, Hostels for groups and scouts",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#images",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "wikipedia",
+ "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary Furthermore, this layer shows images based on the keys panoramax, image, wikidata, wikipedia, wikimedia_commons and mapillary (This is only shown if toilets=yes) by layers Group Campsites, Hostels for groups and scouts",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#images",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "toilets:level",
+ "description": "Values of `toilets:level` are shown with \"Located on the {toilets:level}th floor\" and can be updated. The question is \"On what level is this feature located?\" by layers Group Campsites, Hostels for groups and scouts",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#toilets_single_level",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "toilets:location",
+ "value": "underground",
+ "description": "toilets:location=underground is displayed as \"Located underground\" by layers Group Campsites, Hostels for groups and scouts",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#toilets_single_level",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "toilets:level",
+ "value": "0",
+ "description": "toilets:level=0 is displayed as \"Located on the ground floor\" by layers Group Campsites, Hostels for groups and scouts",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#toilets_single_level",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "toilets:level",
+ "description": "toilets:level= is displayed as \"Located on the ground floor\" by layers Group Campsites, Hostels for groups and scouts",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#toilets_single_level",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "toilets:level",
+ "value": "1",
+ "description": "toilets:level=1 is displayed as \"Located on the first floor\" by layers Group Campsites, Hostels for groups and scouts",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#toilets_single_level",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "toilets:level",
+ "value": "-1",
+ "description": "toilets:level=-1 is displayed as \"Located on the first basement level\" by layers Group Campsites, Hostels for groups and scouts",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#toilets_single_level",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "toilets:access",
+ "description": "Values of `toilets:access` are shown with \"Access is {toilets:access}\" and can be updated. The question is \"Are these toilets publicly accessible?\" by layers Group Campsites, Hostels for groups and scouts",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#toilets_toilet_access",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "toilets:access",
+ "value": "yes",
+ "description": "toilets:access=yes is displayed as \"Public access\" by layers Group Campsites, Hostels for groups and scouts",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#toilets_toilet_access",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "toilets:access",
+ "value": "customers",
+ "description": "toilets:access=customers is displayed as \"Only access to customers\" by layers Group Campsites, Hostels for groups and scouts",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#toilets_toilet_access",
+ "icon_url": "key"
+ },
+ {
+ "key": "toilets:access",
+ "value": "no",
+ "description": "toilets:access=no is displayed as \"Not accessible\" by layers Group Campsites, Hostels for groups and scouts",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#toilets_toilet_access",
+ "icon_url": "lock"
+ },
+ {
+ "key": "toilets:access",
+ "value": "key",
+ "description": "toilets:access=key is displayed as \"Accessible, but one has to ask a key to enter\" by layers Group Campsites, Hostels for groups and scouts",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#toilets_toilet_access",
+ "icon_url": "key"
+ },
+ {
+ "key": "toilets:fee",
+ "value": "yes",
+ "description": "toilets:fee=yes is displayed as \"These are paid toilets\" by layers Group Campsites, Hostels for groups and scouts",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#toilets_toilets_fee",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "toilets:fee",
+ "value": "no",
+ "description": "toilets:fee=no is displayed as \"Free to use\" by layers Group Campsites, Hostels for groups and scouts",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#toilets_toilets_fee",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "toilets:charge",
+ "description": "Values of `toilets:charge` are shown with \"The fee is {toilets:charge}\" and can be updated. The question is \"How much does one have to pay for these toilets?\" by layers Group Campsites, Hostels for groups and scouts",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#toilets_toilet_charge",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "toilets:payment:cash",
+ "value": "yes",
+ "description": "toilets:payment:cash=yes is displayed as \"Cash is accepted here\" by layers Group Campsites, Hostels for groups and scouts",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#toilets_payment_options_split",
+ "icon_url": "./assets/layers/questions/cash.svg"
+ },
+ {
+ "key": "toilets:payment:cards",
+ "value": "yes",
+ "description": "toilets:payment:cards=yes is displayed as \"Payment cards are accepted here\" by layers Group Campsites, Hostels for groups and scouts",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#toilets_payment_options_split",
+ "icon_url": "./assets/layers/questions/payment_card.svg"
+ },
+ {
+ "key": "toilets:payment:qr_code",
+ "value": "yes",
+ "description": "toilets:payment:qr_code=yes is displayed as \"Payment by QR-code is possible here\" by layers Group Campsites, Hostels for groups and scouts",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#toilets_payment_options_split",
+ "icon_url": "./assets/layers/questions/qrcode.svg"
+ },
+ {
+ "key": "toilets:payment:coins",
+ "value": "yes",
+ "description": "toilets:payment:coins=yes is displayed as \"Coins are accepted here\" by layers Group Campsites, Hostels for groups and scouts",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#toilets_payment_options_split",
+ "icon_url": "./assets/layers/questions/coins.svg"
+ },
+ {
+ "key": "toilets:payment:notes",
+ "value": "yes",
+ "description": "toilets:payment:notes=yes is displayed as \"Bank notes are accepted here\" by layers Group Campsites, Hostels for groups and scouts",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#toilets_payment_options_split",
+ "icon_url": "./assets/layers/questions/notes.svg"
+ },
+ {
+ "key": "toilets:payment:debit_cards",
+ "value": "yes",
+ "description": "toilets:payment:debit_cards=yes is displayed as \"Debit cards are accepted here\" by layers Group Campsites, Hostels for groups and scouts",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#toilets_payment_options_split",
+ "icon_url": "./assets/layers/questions/payment_card.svg"
+ },
+ {
+ "key": "toilets:payment:credit_cards",
+ "value": "yes",
+ "description": "toilets:payment:credit_cards=yes is displayed as \"Credit cards are accepted here\" by layers Group Campsites, Hostels for groups and scouts",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#toilets_payment_options_split",
+ "icon_url": "./assets/layers/questions/payment_card.svg"
+ },
+ {
+ "key": "toilets:gender_segregated",
+ "value": "yes",
+ "description": "toilets:gender_segregated=yes is displayed as \"There is a separate, signposted area for men and women\" by layers Group Campsites, Hostels for groups and scouts",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#toilets_gender_segregated",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "toilets:gender_segregated",
+ "value": "no",
+ "description": "toilets:gender_segregated=no is displayed as \"There is no separate, signposted area for men and women\" by layers Group Campsites, Hostels for groups and scouts",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#toilets_gender_segregated",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "toilets:supervised",
+ "value": "yes",
+ "description": "toilets:supervised=yes is displayed as \"There is a person supervising these toilets during (most of) the opening hours\" by layers Group Campsites, Hostels for groups and scouts",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#toilets_toilet_supervised",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "toilets:supervised",
+ "value": "interval",
+ "description": "toilets:supervised=interval is displayed as \"There is a person supervising these toilets, but they are present only during certain times of the opening hours\" by layers Group Campsites, Hostels for groups and scouts",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#toilets_toilet_supervised",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "toilets:supervised",
+ "value": "no",
+ "description": "toilets:supervised=no is displayed as \"These toilets are not supervised\" by layers Group Campsites, Hostels for groups and scouts",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#toilets_toilet_supervised",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "toilets:description",
+ "description": "Values of `toilets:description` are shown with \"{toilets:description}\" and can be updated. The question is \"Is there still some relevant info that the previous questions did not cover? Feel free to add it here.\" by layers Group Campsites, Hostels for groups and scouts",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#toilets_description",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "toilets:wheelchair",
+ "value": "yes",
+ "description": "toilets:wheelchair=yes is displayed as \"There is a dedicated toilet for wheelchair users\" by layers Group Campsites, Hostels for groups and scouts",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#toilets_toilets_wheelchair",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "toilets:wheelchair",
+ "value": "no",
+ "description": "toilets:wheelchair=no is displayed as \"No wheelchair access\" by layers Group Campsites, Hostels for groups and scouts",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#toilets_toilets_wheelchair",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "toilets:wheelchair",
+ "value": "designated",
+ "description": "toilets:wheelchair=designated is displayed as \"There is only a dedicated toilet for wheelchair users\" by layers Group Campsites, Hostels for groups and scouts",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#toilets_toilets_wheelchair",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "toilets:position",
+ "value": "seated",
+ "description": "toilets:position=seated is displayed as \"There are only seated toilets\" by layers Group Campsites, Hostels for groups and scouts, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#toilets_type",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "toilets:position",
+ "value": "urinal",
+ "description": "toilets:position=urinal is displayed as \"There are only urinals here\" by layers Group Campsites, Hostels for groups and scouts, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#toilets_type",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "toilets:position",
+ "value": "squat",
+ "description": "toilets:position=squat is displayed as \"There are only squat toilets here\" by layers Group Campsites, Hostels for groups and scouts, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#toilets_type",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "toilets:position",
+ "value": "seated;urinal",
+ "description": "toilets:position=seated;urinal is displayed as \"Both seated toilets and urinals are available here\" by layers Group Campsites, Hostels for groups and scouts, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#toilets_type",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "toilets:disposal",
+ "value": "flush",
+ "description": "toilets:disposal=flush is displayed as \"The waste is moved away by flushing the toilet with water\" by layers Group Campsites, Hostels for groups and scouts, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#toilets_disposal",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "toilets:disposal",
+ "value": "pitlatrine",
+ "description": "toilets:disposal=pitlatrine is displayed as \"The waste falls into a pit\" by layers Group Campsites, Hostels for groups and scouts, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#toilets_disposal",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "toilets:disposal",
+ "value": "bucket",
+ "description": "toilets:disposal=bucket is displayed as \"The waste is collected in a bucket or similar container, which is regularly removed\" by layers Group Campsites, Hostels for groups and scouts, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#toilets_disposal",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "toilets:menstrual_products",
+ "value": "yes",
+ "description": "toilets:menstrual_products=yes is displayed as \"Free menstrual products are available to all visitors of these toilets\" by layers Group Campsites, Hostels for groups and scouts, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#menstrual_products",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "toilets:menstrual_products",
+ "value": "limited",
+ "description": "toilets:menstrual_products=limited is displayed as \"Free menstrual products are available to some visitors of these toilets\" by layers Group Campsites, Hostels for groups and scouts, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#menstrual_products",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "toilets:menstrual_products",
+ "value": "no",
+ "description": "toilets:menstrual_products=no is displayed as \"No free menstrual products are available here\" by layers Group Campsites, Hostels for groups and scouts, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#menstrual_products",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "toilets:menstrual_products:location",
+ "description": "Values of `toilets:menstrual_products:location` are shown with \"The menstrual products are located in {toilets:menstrual_products:location}\" and can be updated. The question is \"Where are the free menstrual products located?\" by layers Group Campsites, Hostels for groups and scouts, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#menstrual_products_location",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "toilets:menstrual_products:location",
+ "value": "female_toilet",
+ "description": "toilets:menstrual_products:location=female_toilet is displayed as \"The free, menstrual products are located in the toilet for women\" by layers Group Campsites, Hostels for groups and scouts, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#menstrual_products_location",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "toilets:menstrual_products:location",
+ "value": "male_toilet",
+ "description": "toilets:menstrual_products:location=male_toilet is displayed as \"The free, menstrual products are located in the toilet for men\" by layers Group Campsites, Hostels for groups and scouts, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#menstrual_products_location",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "toilets:menstrual_products:location",
+ "value": "wheelchair_toilet",
+ "description": "toilets:menstrual_products:location=wheelchair_toilet is displayed as \"The free, menstrual products are located in the toilet for wheelchair users\" by layers Group Campsites, Hostels for groups and scouts, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#menstrual_products_location",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "changing_table",
+ "value": "yes",
+ "description": "changing_table=yes is displayed as \"A changing table is available\" by layers Group Campsites, Hostels for groups and scouts, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#toilets_changing_table",
+ "icon_url": "./assets/layers/toilet/baby.svg"
+ },
+ {
+ "key": "changing_table",
+ "value": "no",
+ "description": "changing_table=no is displayed as \"No changing table is available\" by layers Group Campsites, Hostels for groups and scouts, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#toilets_changing_table",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "changing_table:location",
+ "description": "Values of `changing_table:location` are shown with \"A changing table is located at {changing_table:location}\" and can be updated. The question is \"Where is the changing table located?\" by layers Group Campsites, Hostels for groups and scouts, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#toilet_changing_table_location",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "changing_table:location",
+ "value": "female_toilet",
+ "description": "changing_table:location=female_toilet is displayed as \"A changing table is in the toilet for women\" by layers Group Campsites, Hostels for groups and scouts, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#toilet_changing_table_location",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "changing_table:location",
+ "value": "male_toilet",
+ "description": "changing_table:location=male_toilet is displayed as \"A changing table is in the toilet for men\" by layers Group Campsites, Hostels for groups and scouts, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#toilet_changing_table_location",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "changing_table:location",
+ "value": "wheelchair_toilet",
+ "description": "changing_table:location=wheelchair_toilet is displayed as \"A changing table is in the toilet for wheelchair users\" by layers Group Campsites, Hostels for groups and scouts, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#toilet_changing_table_location",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "changing_table:location",
+ "value": "dedicated_room",
+ "description": "changing_table:location=dedicated_room is displayed as \"A changing table is in a dedicated room\" by layers Group Campsites, Hostels for groups and scouts, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#toilet_changing_table_location",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "toilets:paper_supplied",
+ "value": "yes",
+ "description": "toilets:paper_supplied=yes is displayed as \"This toilet is equipped with toilet paper\" by layers Group Campsites, Hostels for groups and scouts, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#toilet_has_paper",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "toilets:paper_supplied",
+ "value": "no",
+ "description": "toilets:paper_supplied=no is displayed as \"You have to bring your own toilet paper to this toilet\" by layers Group Campsites, Hostels for groups and scouts, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#toilet_has_paper",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "toilets:handwashing",
+ "value": "yes",
+ "description": "toilets:handwashing=yes is displayed as \"These toilets have a sink to wash your hands\" by layers Group Campsites, Hostels for groups and scouts, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#toilet_handwashing",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "toilets:handwashing",
+ "value": "no",
+ "description": "toilets:handwashing=no is displayed as \"These toilets don't have a sink to wash your hands\" by layers Group Campsites, Hostels for groups and scouts, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#toilet_handwashing",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "toilets:hands_drying",
+ "value": "electric_hand_dryer",
+ "description": "toilets:hands_drying=electric_hand_dryer is displayed as \"Electric hand dryers are available for drying hands.\" by layers Group Campsites, Hostels for groups and scouts, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#toilet_drying",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "toilets:hands_drying",
+ "value": "paper_towel",
+ "description": "toilets:hands_drying=paper_towel is displayed as \"Paper towels are available for drying hands.\" by layers Group Campsites, Hostels for groups and scouts, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#toilet_drying",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "toilets:hands_drying",
+ "value": "towel_cabinet",
+ "description": "toilets:hands_drying=towel_cabinet is displayed as \"A towel roll cabinet is available for drying hands\" by layers Group Campsites, Hostels for groups and scouts, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#toilet_drying",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "toilets:hands_drying",
+ "value": "towel",
+ "description": "toilets:hands_drying=towel is displayed as \"A fabric towel available to dry your hands.\" by layers Group Campsites, Hostels for groups and scouts, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#toilet_drying",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "toilets:hands_drying",
+ "value": "no",
+ "description": "toilets:hands_drying=no is displayed as \"There are no hand drying facilities available.\" by layers Group Campsites, Hostels for groups and scouts, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#toilet_drying",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "image",
+ "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary (This is only shown if ((wheelchair=yes & amenity=toilets) | toilets:wheelchair=yes) & toilets=yes) by layers Group Campsites, Hostels for groups and scouts",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#images",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "panoramax",
+ "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary (This is only shown if ((wheelchair=yes & amenity=toilets) | toilets:wheelchair=yes) & toilets=yes) by layers Group Campsites, Hostels for groups and scouts",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#images",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "mapillary",
+ "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary (This is only shown if ((wheelchair=yes & amenity=toilets) | toilets:wheelchair=yes) & toilets=yes) by layers Group Campsites, Hostels for groups and scouts",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#images",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "wikidata",
+ "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary (This is only shown if ((wheelchair=yes & amenity=toilets) | toilets:wheelchair=yes) & toilets=yes) by layers Group Campsites, Hostels for groups and scouts",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#images",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "wikipedia",
+ "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary (This is only shown if ((wheelchair=yes & amenity=toilets) | toilets:wheelchair=yes) & toilets=yes) by layers Group Campsites, Hostels for groups and scouts",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#images",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "image",
+ "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary Furthermore, this layer shows images based on the keys panoramax, image, wikidata, wikipedia, wikimedia_commons and mapillary (This is only shown if ((wheelchair=yes & amenity=toilets) | toilets:wheelchair=yes) & toilets=yes) by layers Group Campsites, Hostels for groups and scouts",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#images",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "panoramax",
+ "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary Furthermore, this layer shows images based on the keys panoramax, image, wikidata, wikipedia, wikimedia_commons and mapillary (This is only shown if ((wheelchair=yes & amenity=toilets) | toilets:wheelchair=yes) & toilets=yes) by layers Group Campsites, Hostels for groups and scouts",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#images",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "mapillary",
+ "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary Furthermore, this layer shows images based on the keys panoramax, image, wikidata, wikipedia, wikimedia_commons and mapillary (This is only shown if ((wheelchair=yes & amenity=toilets) | toilets:wheelchair=yes) & toilets=yes) by layers Group Campsites, Hostels for groups and scouts",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#images",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "wikidata",
+ "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary Furthermore, this layer shows images based on the keys panoramax, image, wikidata, wikipedia, wikimedia_commons and mapillary (This is only shown if ((wheelchair=yes & amenity=toilets) | toilets:wheelchair=yes) & toilets=yes) by layers Group Campsites, Hostels for groups and scouts",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#images",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "wikipedia",
+ "description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary Furthermore, this layer shows images based on the keys panoramax, image, wikidata, wikipedia, wikimedia_commons and mapillary (This is only shown if ((wheelchair=yes & amenity=toilets) | toilets:wheelchair=yes) & toilets=yes) by layers Group Campsites, Hostels for groups and scouts",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#images",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "wheelchair",
+ "value": "designated",
+ "description": "wheelchair=designated | toilets:wheelchair=designated is displayed as \"Wheelchair accessibility features\" by layers Group Campsites, Hostels for groups and scouts, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#wheelchair_title",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "toilets:wheelchair",
+ "value": "designated",
+ "description": "wheelchair=designated | toilets:wheelchair=designated is displayed as \"Wheelchair accessibility features\" by layers Group Campsites, Hostels for groups and scouts, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#wheelchair_title",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "wheelchair",
+ "value": "no",
+ "description": "wheelchair=no | toilets:wheelchair=no is displayed as \"No wheelchair accessible toilet\" by layers Group Campsites, Hostels for groups and scouts, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#wheelchair_title",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "toilets:wheelchair",
+ "value": "no",
+ "description": "wheelchair=no | toilets:wheelchair=no is displayed as \"No wheelchair accessible toilet\" by layers Group Campsites, Hostels for groups and scouts, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#wheelchair_title",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "toilets:wheelchair:access",
+ "value": "yes",
+ "description": "toilets:wheelchair:access=yes is displayed as \"The wheelchair accessible toilets are freely accessible\" by layers Group Campsites, Hostels for groups and scouts, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#toilet_wheelchair_access",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "toilets:wheelchair:access",
+ "value": "key",
+ "description": "toilets:wheelchair:access=key is displayed as \"One needs to ask permission to access wheelchair-accessible toilet, e.g. by asking a key\" by layers Group Campsites, Hostels for groups and scouts, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#toilet_wheelchair_access",
+ "icon_url": "key"
+ },
+ {
+ "key": "centralkey",
+ "value": "mlak",
+ "description": "centralkey=mlak is displayed as \"One can use a Master Locksmiths Access Key(MLAK) to access this bathroom\" by layers Group Campsites, Hostels for groups and scouts, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#toilet_wheelchair_access",
+ "icon_url": "./assets/layers/toilet/MLAK.svg"
+ },
+ {
+ "key": "centralkey",
+ "value": "nks",
+ "description": "centralkey=nks is displayed as \"One can use a RADAR Key to access this bathroom\" by layers Group Campsites, Hostels for groups and scouts, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#toilet_wheelchair_access",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "centralkey",
+ "value": "eurokey",
+ "description": "centralkey=eurokey is displayed as \"One can use a EuroKey to access this bathroom\" by layers Group Campsites, Hostels for groups and scouts, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#toilet_wheelchair_access",
+ "icon_url": "./assets/layers/toilet/eurokey.svg"
+ },
+ {
+ "key": "toilets:wheelchair:grab_rail:left",
+ "value": "yes",
+ "description": "toilets:wheelchair:grab_rail:left=yes & toilets:wheelchair:grab_rail:right=yes is displayed as \"Grab rails on both sides\" by layers Group Campsites, Hostels for groups and scouts, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#toilets_wheelchair_has_grab_rail_lr",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "toilets:wheelchair:grab_rail:right",
+ "value": "yes",
+ "description": "toilets:wheelchair:grab_rail:left=yes & toilets:wheelchair:grab_rail:right=yes is displayed as \"Grab rails on both sides\" by layers Group Campsites, Hostels for groups and scouts, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#toilets_wheelchair_has_grab_rail_lr",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "toilets:wheelchair:grab_rail:left",
+ "value": "yes",
+ "description": "toilets:wheelchair:grab_rail:left=yes & toilets:wheelchair:grab_rail:right=no is displayed as \"Only grab rails on the left side\" by layers Group Campsites, Hostels for groups and scouts, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#toilets_wheelchair_has_grab_rail_lr",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "toilets:wheelchair:grab_rail:right",
+ "value": "no",
+ "description": "toilets:wheelchair:grab_rail:left=yes & toilets:wheelchair:grab_rail:right=no is displayed as \"Only grab rails on the left side\" by layers Group Campsites, Hostels for groups and scouts, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#toilets_wheelchair_has_grab_rail_lr",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "toilets:wheelchair:grab_rail:left",
+ "value": "no",
+ "description": "toilets:wheelchair:grab_rail:left=no & toilets:wheelchair:grab_rail:right=yes is displayed as \"Grab rails on the right side\" by layers Group Campsites, Hostels for groups and scouts, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#toilets_wheelchair_has_grab_rail_lr",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "toilets:wheelchair:grab_rail:right",
+ "value": "yes",
+ "description": "toilets:wheelchair:grab_rail:left=no & toilets:wheelchair:grab_rail:right=yes is displayed as \"Grab rails on the right side\" by layers Group Campsites, Hostels for groups and scouts, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#toilets_wheelchair_has_grab_rail_lr",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "toilets:wheelchair:grab_rail:left",
+ "value": "no",
+ "description": "toilets:wheelchair:grab_rail:left=no & toilets:wheelchair:grab_rail:right=no is displayed as \"No grab rails at all\" by layers Group Campsites, Hostels for groups and scouts, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#toilets_wheelchair_has_grab_rail_lr",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "toilets:wheelchair:grab_rail:right",
+ "value": "no",
+ "description": "toilets:wheelchair:grab_rail:left=no & toilets:wheelchair:grab_rail:right=no is displayed as \"No grab rails at all\" by layers Group Campsites, Hostels for groups and scouts, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#toilets_wheelchair_has_grab_rail_lr",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "toilets:wheelchair:grab_rail:behind",
+ "value": "yes",
+ "description": "toilets:wheelchair:grab_rail:behind=yes is displayed as \"Has a grab rail behind the toilet\" by layers Group Campsites, Hostels for groups and scouts, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#toilets_wheelchair_has_grab_rail_behind",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "toilets:wheelchair:grab_rail:behind",
+ "value": "no",
+ "description": "toilets:wheelchair:grab_rail:behind=no is displayed as \"No grab rail behind the toilet\" by layers Group Campsites, Hostels for groups and scouts, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#toilets_wheelchair_has_grab_rail_behind",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "toilets:wheelchair:is_foldable:left",
+ "value": "yes",
+ "description": "toilets:wheelchair:is_foldable:left=yes is displayed as \"The left grab rail is foldable\" by layers Group Campsites, Hostels for groups and scouts, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#toilets_wheelchair_is_foldable_left",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "toilets:wheelchair:is_foldable:left",
+ "value": "no",
+ "description": "toilets:wheelchair:is_foldable:left=no is displayed as \"The left grab rail is not foldable\" by layers Group Campsites, Hostels for groups and scouts, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#toilets_wheelchair_is_foldable_left",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "toilets:wheelchair:is_foldable:right",
+ "value": "yes",
+ "description": "toilets:wheelchair:is_foldable:right=yes is displayed as \"The right grab rail is foldable\" by layers Group Campsites, Hostels for groups and scouts, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#toilets_wheelchair_is_foldable_right",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "toilets:wheelchair:is_foldable:right",
+ "value": "no",
+ "description": "toilets:wheelchair:is_foldable:right=no is displayed as \"The right grab rail is not foldable\" by layers Group Campsites, Hostels for groups and scouts, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#toilets_wheelchair_is_foldable_right",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "door:width",
+ "description": "Values of `door:width` are shown with \"The door to the wheelchair-accessible toilet is {canonical(door:width)} wide\" and can be updated. The question is \"What is the width of the door to the wheelchair accessible toilet?\" by layers Group Campsites, Hostels for groups and scouts, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#wheelchair_door_width",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "changing_table:adult",
+ "value": "yes",
+ "description": "changing_table:adult=yes is displayed as \"Has a changing table for adults\" by layers Group Campsites, Hostels for groups and scouts, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#adult_changing_table",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "changing_table:adult",
+ "value": "no",
+ "description": "changing_table:adult=no is displayed as \"No changing table for adults\" by layers Group Campsites, Hostels for groups and scouts, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#adult_changing_table",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "changing_table:adult:height",
+ "description": "Values of `changing_table:adult:height` are shown with \"The changing table is {canonical(changing_table:adult:height)} high\" and can be updated. The question is \"What is the height of the adult changing table?\" by layers Group Campsites, Hostels for groups and scouts, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#changing_table_adult_height",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "changing_table:adult:height",
+ "value": "adjustable",
+ "description": "changing_table:adult:height=adjustable is displayed as \"The changing table is adjustable in height\" by layers Group Campsites, Hostels for groups and scouts, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#changing_table_adult_height",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "changing_table:adult:min_height",
+ "description": "Values of `changing_table:adult:min_height` are shown with \"The lowest height of the adult changing table is {canonical(changing_table:adult:min_height)}\" and can be updated. The question is \"What is the lowest height the adult changing table can be moved to?\" by layers Group Campsites, Hostels for groups and scouts, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#changing_table_adult_adult_changing_table_min_height",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "changing_table:adult:max_height",
+ "description": "Values of `changing_table:adult:max_height` are shown with \"The highest height of the adult changing table is {canonical(changing_table:adult:max_height)}\" and can be updated. The question is \"What is the highest height the adult changing table can be moved to?\" by layers Group Campsites, Hostels for groups and scouts, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#changing_table_adult_adult_changing_table_max_height",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "changing_table:adult:height:mechanism",
+ "value": "manual",
+ "description": "changing_table:adult:height:mechanism=manual is displayed as \"The height of the adult changing table is adjusted manually\" by layers Group Campsites, Hostels for groups and scouts, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#changing_table_adult_adult_changing_table_mechanism",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "changing_table:adult:height:mechanism",
+ "value": "electric",
+ "description": "changing_table:adult:height:mechanism=electric is displayed as \"The height of the adult changing table is adjusted electrically\" by layers Group Campsites, Hostels for groups and scouts, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#changing_table_adult_adult_changing_table_mechanism",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "changing_table:adult:support",
+ "value": "wall_mounted",
+ "description": "changing_table:adult:support=wall_mounted is displayed as \"The changing table is mounted to the wall\" by layers Group Campsites, Hostels for groups and scouts, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#changing_table_adult_adult_changing_table_support",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "changing_table:adult:support",
+ "value": "legs",
+ "description": "changing_table:adult:support=legs is displayed as \"The changing table stands on table legs\" by layers Group Campsites, Hostels for groups and scouts, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#changing_table_adult_adult_changing_table_support",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
+ {
+ "key": "changing_table:adult:support",
+ "value": "wheels",
+ "description": "changing_table:adult:support=wheels is displayed as \"The changing table stands on table legs with wheels and can be moved\" by layers Group Campsites, Hostels for groups and scouts, Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_campsite.md#changing_table_adult_adult_changing_table_support",
+ "icon_url": "./assets/layers/campsite/campsite.svg"
+ },
{
"key": "tourism",
"value": "hostel",
@@ -405,6 +1177,310 @@
"description": "dog=outside is displayed as \"Dogs are allowed only outside\" by layer Hostels for groups and scouts",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/group_hostel.md#dog_access",
"icon_url": "./assets/layers/questions/dogs_outside.svg"
+ },
+ {
+ "key": "amenity",
+ "value": "toilets",
+ "description": "Features with this tag are displayed by layer Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/toilet.md",
+ "icon_url": "./assets/layers/toilet/toilets.svg"
+ },
+ {
+ "key": "level",
+ "description": "Values of `level` are shown with \"Located on the {level}th floor\" and can be updated. The question is \"On what level is this feature located?\" by layer Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/toilet.md#single_level",
+ "icon_url": "./assets/layers/toilet/toilets.svg"
+ },
+ {
+ "key": "location",
+ "value": "underground",
+ "description": "location=underground is displayed as \"Located underground\" by layer Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/toilet.md#single_level",
+ "icon_url": "./assets/layers/toilet/toilets.svg"
+ },
+ {
+ "key": "level",
+ "value": "0",
+ "description": "level=0 is displayed as \"Located on the ground floor\" by layer Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/toilet.md#single_level",
+ "icon_url": "./assets/layers/toilet/toilets.svg"
+ },
+ {
+ "key": "level",
+ "description": "level= is displayed as \"Located on the ground floor\" by layer Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/toilet.md#single_level",
+ "icon_url": "./assets/layers/toilet/toilets.svg"
+ },
+ {
+ "key": "level",
+ "value": "1",
+ "description": "level=1 is displayed as \"Located on the first floor\" by layer Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/toilet.md#single_level",
+ "icon_url": "./assets/layers/toilet/toilets.svg"
+ },
+ {
+ "key": "level",
+ "value": "-1",
+ "description": "level=-1 is displayed as \"Located on the first basement level\" by layer Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/toilet.md#single_level",
+ "icon_url": "./assets/layers/toilet/toilets.svg"
+ },
+ {
+ "key": "access",
+ "description": "Values of `access` are shown with \"Access is {access}\" and can be updated. The question is \"Are these toilets publicly accessible?\" by layer Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/toilet.md#toilet_access",
+ "icon_url": "./assets/layers/toilet/toilets.svg"
+ },
+ {
+ "key": "access",
+ "value": "yes",
+ "description": "access=yes is displayed as \"Public access\" by layer Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/toilet.md#toilet_access",
+ "icon_url": "./assets/layers/toilet/toilets.svg"
+ },
+ {
+ "key": "access",
+ "value": "customers",
+ "description": "access=customers is displayed as \"Only access to customers\" by layer Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/toilet.md#toilet_access",
+ "icon_url": "key"
+ },
+ {
+ "key": "access",
+ "value": "no",
+ "description": "access=no is displayed as \"Not accessible\" by layer Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/toilet.md#toilet_access",
+ "icon_url": "lock"
+ },
+ {
+ "key": "access",
+ "value": "key",
+ "description": "access=key is displayed as \"Accessible, but one has to ask a key to enter\" by layer Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/toilet.md#toilet_access",
+ "icon_url": "key"
+ },
+ {
+ "key": "fee",
+ "value": "yes",
+ "description": "fee=yes is displayed as \"These are paid toilets\" by layer Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/toilet.md#toilets_fee",
+ "icon_url": "./assets/layers/toilet/toilets.svg"
+ },
+ {
+ "key": "fee",
+ "value": "no",
+ "description": "fee=no is displayed as \"Free to use\" by layer Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/toilet.md#toilets_fee",
+ "icon_url": "./assets/layers/toilet/toilets.svg"
+ },
+ {
+ "key": "charge",
+ "description": "Values of `charge` are shown with \"The fee is {charge}\" and can be updated. The question is \"How much does one have to pay for these toilets?\" by layer Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/toilet.md#toilet_charge",
+ "icon_url": "./assets/layers/toilet/toilets.svg"
+ },
+ {
+ "key": "payment:cash",
+ "value": "yes",
+ "description": "payment:cash=yes is displayed as \"Cash is accepted here\" by layer Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/toilet.md#payment_options_split",
+ "icon_url": "./assets/layers/questions/cash.svg"
+ },
+ {
+ "key": "payment:cards",
+ "value": "yes",
+ "description": "payment:cards=yes is displayed as \"Payment cards are accepted here\" by layer Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/toilet.md#payment_options_split",
+ "icon_url": "./assets/layers/questions/payment_card.svg"
+ },
+ {
+ "key": "payment:qr_code",
+ "value": "yes",
+ "description": "payment:qr_code=yes is displayed as \"Payment by QR-code is possible here\" by layer Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/toilet.md#payment_options_split",
+ "icon_url": "./assets/layers/questions/qrcode.svg"
+ },
+ {
+ "key": "payment:coins",
+ "value": "yes",
+ "description": "payment:coins=yes is displayed as \"Coins are accepted here\" by layer Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/toilet.md#payment_options_split",
+ "icon_url": "./assets/layers/questions/coins.svg"
+ },
+ {
+ "key": "payment:notes",
+ "value": "yes",
+ "description": "payment:notes=yes is displayed as \"Bank notes are accepted here\" by layer Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/toilet.md#payment_options_split",
+ "icon_url": "./assets/layers/questions/notes.svg"
+ },
+ {
+ "key": "payment:debit_cards",
+ "value": "yes",
+ "description": "payment:debit_cards=yes is displayed as \"Debit cards are accepted here\" by layer Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/toilet.md#payment_options_split",
+ "icon_url": "./assets/layers/questions/payment_card.svg"
+ },
+ {
+ "key": "payment:credit_cards",
+ "value": "yes",
+ "description": "payment:credit_cards=yes is displayed as \"Credit cards are accepted here\" by layer Toilets",
+ "doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/toilet.md#payment_options_split",
+ "icon_url": "./assets/layers/questions/payment_card.svg"
+ },
+ {
+ "key": "opening_hours",
+ "description": "Values of `opening_hours` are shown with \"
Indlejr gerne dette kort på dit websted. Vi tilskynder dig til det - du behøver ikke engang at spørge om tilladelse. Det det frit og gratis og vil altid være det. Jo flere der bruger det, jo mere værdifuldt bliver det.",
- "fsUserbadge": "Slå loginknappen til",
- "fsWelcomeMessage": "Vis velkomstbeskeden og tilknyttede faner",
- "intro": "
Del dette kort
Del dette kort ved at kopiere linket nedenunder og send det til venner og familie:",
- "title": "Del dette kort",
"documentation": "For mere information om tilgængelige URL-parametre, konsulter dokumentationen",
+ "embedIntro": "
Indlejr på dit websted
Indlejr gerne dette kort på dit websted. Vi tilskynder dig til det - du behøver ikke engang at spørge om tilladelse. Det det frit og gratis og vil altid være det. Jo flere der bruger det, jo mere værdifuldt bliver det.",
"fsBackground": "Aktivér skift af baggrunde",
"fsFilter": "Gør det muligt at skifte mellem lag og filtre",
"fsGeolocation": "Aktivér geolokalisering",
+ "fsUserbadge": "Slå loginknappen til",
+ "fsWelcomeMessage": "Vis velkomstbeskeden og tilknyttede faner",
+ "intro": "
Del dette kort
Del dette kort ved at kopiere linket nedenunder og send det til venner og familie:",
"openLayers": "Åbn menuen med lag og filtre",
"options": "Muligheder for deling",
- "stateIsIncluded": "Den aktuelle tilstand for lag og filtre er inkluderet i det delte link og iframe."
+ "stateIsIncluded": "Den aktuelle tilstand for lag og filtre er inkluderet i det delte link og iframe.",
+ "title": "Del dette kort"
},
"skip": "Spring over dette spørgsmål",
"testing": "Testing - ingen ændringer vil blive gemt",
@@ -426,37 +434,35 @@
"choosePermission": "Vælg herunder om dit spor skal deles:",
"confirm": "Bekræft upload",
"gpxServiceOffline": "GPX-tjenesten er i øjeblikket offline - upload er ikke muligt lige nu. Prøv igen senere.",
+ "intro0": "Når du uploader dit spor, beholder OpenStreetMap.org en fuld kopi af sporet.",
"intro1": "Du har mulighed for at downloade dit spor igen og læse det ind i OpenStreetMap-redigeringsprogrammer",
"meta": {
+ "descriptionIntro": "Du kan eventuelt indtaste en beskrivelse af dit spor:",
"descriptionPlaceHolder": "Tilføj en beskrivelse af dit spor",
"intro": "Tilføj en titel for dit spor:",
"title": "Titel og beskrivelse",
- "titlePlaceholder": "Indtast titlen på dit spor",
- "descriptionIntro": "Du kan eventuelt indtaste en beskrivelse af dit spor:"
+ "titlePlaceholder": "Indtast titlen på dit spor"
},
"modes": {
"private": {
- "name": "Anonym",
- "docs": "Punkterne i dit spor vil blive delt og samlet blandt andre spor. Det fulde spor vil være synligt for dig, og du vil kunne indlæse det i andre redigeringsprogrammer. OpenStreetMap.org beholder en kopi af dit spor"
+ "docs": "Punkterne i dit spor vil blive delt og samlet blandt andre spor. Det fulde spor vil være synligt for dig, og du vil kunne indlæse det i andre redigeringsprogrammer. OpenStreetMap.org beholder en kopi af dit spor",
+ "name": "Anonym"
},
"public": {
- "name": "Offentlig",
- "docs": "Dit spor vil være synligt for alle, både på din brugerprofil og på listen over GPS-spor på openstreetmap.org"
+ "docs": "Dit spor vil være synligt for alle, både på din brugerprofil og på listen over GPS-spor på openstreetmap.org",
+ "name": "Offentlig"
}
},
"title": "Upload dit spor til OpenStreetMap.org",
"uploadFinished": "Dit spor er uploadet!",
- "uploading": "Uploader dit spor …",
- "intro0": "Når du uploader dit spor, beholder OpenStreetMap.org en fuld kopi af sporet."
+ "uploading": "Uploader dit spor …"
},
"uploadPending": "{count} ændringer i kø",
"uploadPendingSingle": "Én ændring i kø",
"uploadingChanges": "Uploader ændringer …",
+ "useSearch": "Brug søgningen ovenfor for at se flere muligheder",
"visualFeedback": {
"closestFeaturesAre": "{n} objekter i visningsvinduet.",
- "navigation": "Brug piletasterne til at flytte kortet, og tryk på mellemrum for at vælge det nærmeste objekt. Tryk på et tal for at vælge positioner længere væk.",
- "noCloseFeatures": "Ingen objekter synlige.",
- "oneFeatureInView": "Et objekt inden for visningsvinduet.",
"directionsAbsolute": {
"E": "øst",
"N": "nord",
@@ -467,29 +473,32 @@
"SW": "sydvest",
"W": "vest"
},
- "east": "Bevæger sig mod øst",
"directionsRelative": {
+ "behind": "bag dig",
"left": "venstre",
"right": "højre",
- "behind": "bag dig",
"sharp_left": "skarpt til venstre",
"sharp_right": "skarpt til højre",
"slight_left": "lidt til venstre",
"slight_right": "lidt til højre",
"straight": "ligeud"
},
+ "east": "Bevæger sig mod øst",
"fromGps": "{distance} {direction} fra din position",
"fromMapCenter": "{distance} {direction} fra kortets centrum",
"in": "Zoomer ind til niveau {z}",
- "locked": "Visningen er nu låst til din GPS-position, og bevægelse er deaktiveret.",
- "viewportCenterCloseToGps": "Kortet er centreret omkring din position.",
- "west": "Bevæger sig mod vest",
- "out": "Zoomer ud til niveau {z}",
- "unlocked": "Bevægelse aktiveret.",
- "north": "Bevæger sig mod nord",
- "south": "Bevæger sig mod syd",
"islocked": "Visning låst til din GPS-position, bevægelse deaktiveret. Tryk på geolokaliseringsknappen for at låse op.",
- "viewportCenterDetails": "Midten af visningsvinduet er {distance} og {bearing} fra din position."
+ "locked": "Visningen er nu låst til din GPS-position, og bevægelse er deaktiveret.",
+ "navigation": "Brug piletasterne til at flytte kortet, og tryk på mellemrum for at vælge det nærmeste objekt. Tryk på et tal for at vælge positioner længere væk.",
+ "noCloseFeatures": "Ingen objekter synlige.",
+ "north": "Bevæger sig mod nord",
+ "oneFeatureInView": "Et objekt inden for visningsvinduet.",
+ "out": "Zoomer ud til niveau {z}",
+ "south": "Bevæger sig mod syd",
+ "unlocked": "Bevægelse aktiveret.",
+ "viewportCenterCloseToGps": "Kortet er centreret omkring din position.",
+ "viewportCenterDetails": "Midten af visningsvinduet er {distance} og {bearing} fra din position.",
+ "west": "Bevæger sig mod vest"
},
"waitingForGeopermission": "Venter på din godkendelse til at bruge geolokalitet …",
"waitingForLocation": "Finder din nuværende position …",
@@ -528,65 +537,79 @@
"readMore": "Læs resten af artiklen",
"searchToShort": "Din søgeforespørgsel er for kort. Indtast en længere tekst",
"searchWikidata": "Søg på Wikidata"
- },
- "loginFailedReadonlyMode": "OpenStreetMap.org er i øjeblikket i skrivebeskyttet tilstand på grund af vedligeholdelse. Det vil snart være muligt at foretage redigeringer",
- "loginFailedUnreachableMode": "OpenStreetMap.org er i øjeblikket ikke tilgængelig. Har du forbindelse til internettet, eller blokerer du for tredjeparter? Prøv igen senere",
- "mappingsAreHidden": "Nogle muligheder er skjulte. Brug søgning for at få vist flere muligheder.",
- "useSearch": "Brug søgningen ovenfor for at se flere muligheder",
- "openTheMapReason": "for at se, redigere og tilføje information",
- "searchAnswer": "Søg efter en mulighed",
- "seeIndex": "Se oversigten med alle tematiske kort",
- "share": "Del",
- "retry": "Prøv igen"
+ }
},
"hotkeyDocumentation": {
"action": "Handling",
+ "addNew": "Åbn dialogen for at tilføje et nyt punkt i midten af kortet",
"closeSidebar": "Luk sidemenuen",
"geolocate": "Panorer kortet til den aktuelle position, eller zoom kortet til den aktuelle position. Anmoder om geotilladelse",
+ "homeLocation": "Hop til din hjemmeplacering. Virker kun, hvis du har angivet din hjemmeplacering i brugerindstillingerne",
"intro": "MapComplete understøtter følgende genvejstaster:",
"key": "Tastekombination",
+ "openFilterPanel": "Åbner interessepunkt-lagene og filterpanelet",
"openLayersPanel": "Åbner panelet for baggrundslag",
- "homeLocation": "Hop til din hjemmeplacering. Virker kun, hvis du har angivet din hjemmeplacering i brugerindstillingerne",
+ "queryCurrentLocation": "Vis den adresse, der er tættest på kortets centrum",
+ "selectAerial": "Indstil baggrunden til luft- eller satellitbilleder. Skifter mellem de to bedste, tilgængelige lag",
"selectFavourites": "Åbn siden med favoritter",
"selectItem": "Vælg det interessepunkt, der er tættest på kortets centrum (trådkors). Kun når der bruges tastaturnavigation",
- "selectSearch": "Vælg søgebjælken for at søge efter steder",
- "shakePhone": "Ryste din telefon",
- "translationMode": "Slå oversættelsestilstand til eller fra",
- "addNew": "Åbn dialogen for at tilføje et nyt punkt i midten af kortet",
- "openFilterPanel": "Åbner interessepunkt-lagene og filterpanelet",
- "queryCurrentLocation": "Vis den adresse, der er tættest på kortets centrum",
"selectItem2": "Vælg det interessepunkt, der er næsttættest på kortets centrum (trådkorset). Kun når der bruges tastaturnavigation",
+ "selectItem3": "Vælg det interessepunkt, der er det tredje tætteste element på kortets centrum (trådkors). Kun når der bruges tastaturnavigation",
"selectItemI": "Vælg det interessepunkt, der er det {i}. nærmeste element til kortets centrum (trådkors). Kun når der bruges tastaturnavigation",
"selectMap": "Indstil baggrunden til et kort fra eksterne kilder. Skifter mellem de to bedste, tilgængelige lag",
"selectOsmbasedmap": "Indstil baggrundslaget til et OpenStreetMap-baseret kort (eller deaktiver baggrundsrasterlaget)",
- "selectAerial": "Indstil baggrunden til luft- eller satellitbilleder. Skifter mellem de to bedste, tilgængelige lag",
- "selectItem3": "Vælg det interessepunkt, der er det tredje tætteste element på kortets centrum (trådkors). Kun når der bruges tastaturnavigation",
- "title": "Hurtigtaster"
+ "selectSearch": "Vælg søgebjælken for at søge efter steder",
+ "shakePhone": "Ryste din telefon",
+ "title": "Hurtigtaster",
+ "translationMode": "Slå oversættelsestilstand til eller fra"
},
"image": {
"addPicture": "Tag et billede",
"doDelete": "Fjern billede",
"isDeleted": "Slettet",
+ "loadingFailed": "Indlæsning af dette billede mislykkedes",
+ "mapillaryTrackingProtection": "Streng sporingsbeskyttelse blokerer indlæsning af billeder fra Mapillary, da Mapillary er ejet af Facebook/Meta. Deaktiver streng sporingsbeskyttelse, hvis du vil se dette billede.",
"nearby": {
- "seeNearby": "Udforsk nærliggende billeder",
+ "close": "Skjul panelet med billeder i nærheden",
"failed": "Hentning af billeder fra {service} mislykkedes",
"link": "Dette billede viser objektet",
"noNearbyImages": "Der blev ikke fundet nogen billeder i nærheden",
- "close": "Skjul panelet med billeder i nærheden",
+ "seeNearby": "Udforsk nærliggende billeder",
"title": "Gadebilleder i nærheden"
},
- "pleaseLogin": "Log venligst ind for at tilføje et billede",
- "respectPrivacy": "Tag ikke billeder af mennesker eller nummerplader. Upload ikke Google Maps, Google Streetview, eller fra andre ophavsresbeskyttede kilder.",
- "toBig": "Dit billede er for stort da det er {actual_size}. Brug venligst billeder, der er højst {max_size}",
- "uploadFailed": "Kunne ikke uploade dit billede. Er du forbundet til Internettet og tillader du tredieparts API'er. Brave browseren eller uMatrix plugin'et kunne blokerer dem.",
- "selectFile": "Vælg et billede fra din enhed",
- "upload": {
- "one": {
- "done": "Dit billede blev uploadet. Tak for det!",
- "failed": "Beklager, vi kunne ikke uploade dit billede",
- "retrying": "Prøver igen at uploade dit billede…",
- "uploading": "Dit billede bliver uploadet…"
+ "openOnWebsite": "Åbn dette billede på {name}",
+ "panoramax": {
+ "deletionRequested": "Rapporten er blevet sendt. En moderator vil se på den snarest",
+ "freeform": "Er der andre relevante oplysninger?",
+ "otherFreeform": "Angiv venligst, hvorfor dette billede bør fjernes:",
+ "placeholder": "Forklar, hvorfor billedet bør slettes",
+ "report": {
+ "blur_excess": "Der er for meget sløring, hvilket gør billedet ubrugeligt",
+ "blur_missing": "Et eller flere ansigter er ikke korrekt sløret",
+ "copyright": "Billedet indeholder ophavsretligt beskyttet indhold",
+ "inappropriate": "Dette billede er upassende (det indeholder nøgenhed, opfordrer til had eller er ikke et gadebillede)",
+ "mislocated": "Dette billede er placeret forkert",
+ "other": "En anden grund, angiv venligst",
+ "picture_low_quality": "Dette billede har en lav kvalitet og er ikke brugbart",
+ "privacy": "Billedet viser en privat ejendom"
},
+ "requestDeletion": "Anmod om sletning af billede",
+ "title": "Hvorfor bør dette billede slettes permanent?"
+ },
+ "pleaseLogin": "Log venligst ind for at tilføje et billede",
+ "processing": "Serveren behandler dit billede",
+ "reported": "Dette billede er rapporteret og kan indeholde skadeligt indhold",
+ "respectPrivacy": "Tag ikke billeder af mennesker eller nummerplader. Upload ikke Google Maps, Google Streetview, eller fra andre ophavsresbeskyttede kilder.",
+ "selectFile": "Vælg et billede fra din enhed",
+ "showAnyway": "Vis billedet alligevel",
+ "strictProtectionDetected": "Streng sporingsbeskyttelse (eller en anden indholdsblokering) blev registreret og kan have blokeret adgangen til dette billede.",
+ "toBig": "Dit billede er for stort da det er {actual_size}. Brug venligst billeder, der er højst {max_size}",
+ "unlink": {
+ "button": "Fjern link til billede",
+ "explanation": "Ved at fjerne tilknytningen til dette billede vil det ikke længere blive vist sammen med dette objekt. Det vil stadig blive vist i de nærliggende billeder og muligvis i andre objekter.",
+ "title": "Fjern link til dette billede?"
+ },
+ "upload": {
"failReasons": "Du har måske mistet forbindelsen til internettet",
"failReasonsAdvanced": "Alternativt kan du sørge for, at din browser og dine udvidelser ikke blokerer for tredjeparts-API'er.",
"multiple": {
@@ -595,38 +618,24 @@
"someFailed": "Beklager, vi kunne ikke uploade {count} billeder",
"uploading": "{count} billeder er ved at blive uploadet…"
},
- "noBlur": "Billederne sløres ikke. Fotografér ikke mennesker"
+ "noBlur": "Billederne sløres ikke. Fotografér ikke mennesker",
+ "one": {
+ "done": "Dit billede blev uploadet. Tak for det!",
+ "failed": "Beklager, vi kunne ikke uploade dit billede",
+ "retrying": "Prøver igen at uploade dit billede…",
+ "uploading": "Dit billede bliver uploadet…"
+ }
},
- "loadingFailed": "Indlæsning af dette billede mislykkedes",
- "processing": "Serveren behandler dit billede",
- "mapillaryTrackingProtection": "Streng sporingsbeskyttelse blokerer indlæsning af billeder fra Mapillary, da Mapillary er ejet af Facebook/Meta. Deaktiver streng sporingsbeskyttelse, hvis du vil se dette billede.",
- "openOnWebsite": "Åbn dette billede på {name}",
- "panoramax": {
- "report": {
- "blur_excess": "Der er for meget sløring, hvilket gør billedet ubrugeligt",
- "mislocated": "Dette billede er placeret forkert",
- "blur_missing": "Et eller flere ansigter er ikke korrekt sløret",
- "copyright": "Billedet indeholder ophavsretligt beskyttet indhold",
- "other": "En anden grund, angiv venligst",
- "picture_low_quality": "Dette billede har en lav kvalitet og er ikke brugbart",
- "privacy": "Billedet viser en privat ejendom",
- "inappropriate": "Dette billede er upassende (det indeholder nøgenhed, opfordrer til had eller er ikke et gadebillede)"
- },
- "requestDeletion": "Anmod om sletning af billede",
- "title": "Hvorfor bør dette billede slettes permanent?",
- "deletionRequested": "Rapporten er blevet sendt. En moderator vil se på den snarest",
- "freeform": "Er der andre relevante oplysninger?",
- "otherFreeform": "Angiv venligst, hvorfor dette billede bør fjernes:",
- "placeholder": "Forklar, hvorfor billedet bør slettes"
- },
- "reported": "Dette billede er rapporteret og kan indeholde skadeligt indhold",
- "showAnyway": "Vis billedet alligevel",
- "strictProtectionDetected": "Streng sporingsbeskyttelse (eller en anden indholdsblokering) blev registreret og kan have blokeret adgangen til dette billede.",
- "unlink": {
- "explanation": "Ved at fjerne tilknytningen til dette billede vil det ikke længere blive vist sammen med dette objekt. Det vil stadig blive vist i de nærliggende billeder og muligvis i andre objekter.",
- "title": "Fjern link til dette billede?",
- "button": "Fjern link til billede"
- }
+ "uploadFailed": "Kunne ikke uploade dit billede. Er du forbundet til Internettet og tillader du tredieparts API'er. Brave browseren eller uMatrix plugin'et kunne blokerer dem."
+ },
+ "imageQueue": {
+ "confirmDelete": "Slet dette billede permanent",
+ "confirmDeleteTitle": "Slet dette billede?",
+ "delete": "Slet dette billede",
+ "intro": "Følgende billeder er sat i kø til upload",
+ "menu": "Kø til billed-upload ({count})",
+ "noFailedImages": "Der er i øjeblikket ingen billeder i upload-køen",
+ "retryAll": "Prøv at uploade alle billeder igen"
},
"importInspector": {
"title": "Undersøg og håndter noter"
@@ -638,10 +647,10 @@
},
"index": {
"#": "Disse tekster vises over tema-knapperne, når der ikke er indlæst noget tema",
+ "about": "Om MapComplete",
"intro": "Kort over forskellige emner, som du kan bidrage til",
"logIn": "Log ind for at se andre temaer, du tidligere har besøgt",
- "title": "Velkommen til MapComplete",
- "about": "Om MapComplete"
+ "title": "Velkommen til MapComplete"
},
"input_helpers": {
"distance": {
@@ -804,14 +813,5 @@
"wikidata": {
"description": "En Wikidata identifier"
}
- },
- "imageQueue": {
- "confirmDelete": "Slet dette billede permanent",
- "confirmDeleteTitle": "Slet dette billede?",
- "delete": "Slet dette billede",
- "intro": "Følgende billeder er sat i kø til upload",
- "menu": "Kø til billed-upload ({count})",
- "retryAll": "Prøv at uploade alle billeder igen",
- "noFailedImages": "Der er i øjeblikket ingen billeder i upload-køen"
}
-}
+}
\ No newline at end of file
diff --git a/langs/ja.json b/langs/ja.json
index fdabba258..38f6b9896 100644
--- a/langs/ja.json
+++ b/langs/ja.json
@@ -111,11 +111,11 @@
"reviews": {
"affiliated_reviewer_warning": "(関係者のレビュー)",
"i_am_affiliated": "わたしは、この対象物の関係者です",
+ "i_am_affiliated_explanation": "所有者、作成者、従業員などの有無を確認します……",
"no_reviews_yet": "まだレビューはありません。最初に書き込みを行い、データとビジネスのオープン化を支援しましょう!",
"saved": "レビューが保存されました。共有ありがとう!",
"saving_review": "保存中…",
"title": "{count}個のレビュー",
- "tos": "レビューを作成する場合は、Mangrove.reviewsのTOSおよびプライバシーポリシーに同意します。",
- "i_am_affiliated_explanation": "所有者、作成者、従業員などの有無を確認します……"
+ "tos": "レビューを作成する場合は、Mangrove.reviewsのTOSおよびプライバシーポリシーに同意します。"
}
-}
+}
\ No newline at end of file
diff --git a/langs/layers/da.json b/langs/layers/da.json
index d46376e47..c89790198 100644
--- a/langs/layers/da.json
+++ b/langs/layers/da.json
@@ -1651,6 +1651,33 @@
}
}
},
+ "firepit": {
+ "tagRenderings": {
+ "access": {
+ "mappings": {
+ "0": {
+ "then": "Offentlig"
+ },
+ "1": {
+ "then": "Ingen adgang"
+ },
+ "2": {
+ "then": "Privat"
+ },
+ "3": {
+ "then": "Adgang indtil tilbagekaldelse"
+ },
+ "4": {
+ "then": "Kun adgang for kunder"
+ },
+ "5": {
+ "then": "Kun adgang for godkendte"
+ }
+ },
+ "question": "Hvilken adgang er tilladt?"
+ }
+ }
+ },
"food": {
"description": "Et lag, der viser restauranter og fastfood-faciliteter (med en særlig gengivelse af friterier)",
"filter": {
@@ -2080,6 +2107,17 @@
}
}
},
+ "shelter": {
+ "tagRenderings": {
+ "shelter-type": {
+ "mappings": {
+ "4": {
+ "then": "Dette er et skur med 3 vægge, primært beregnet til camping."
+ }
+ }
+ }
+ }
+ },
"shops": {
"tagRenderings": {
"bicycle_rental": {
@@ -2338,6 +2376,13 @@
}
},
"tagRenderings": {
+ "menstrual_products": {
+ "mappings": {
+ "2": {
+ "then": "Ingen gratis menstruationsprodukter er tilgængelige her"
+ }
+ }
+ },
"opening_hours_24_7": {
"override": {
"question": "Hvornår åbnes disse toiletter?"
@@ -2402,6 +2447,13 @@
},
"question": "Skal man selv medbringe toiletpapir til dette toilet?"
},
+ "toilet-reviews": {
+ "render": {
+ "special": {
+ "question": "Hvordan vil du bedømme dette toilet?"
+ }
+ }
+ },
"toilets-changing-table": {
"mappings": {
"0": {
@@ -2455,20 +2507,6 @@
"wheelchair-door-width": {
"question": "Hvad er bredden på døren til det kørestolsvenlige toilet?",
"render": "Døren til det kørestolsvenlige toilet er {canonical(door:width)} bred"
- },
- "menstrual_products": {
- "mappings": {
- "2": {
- "then": "Ingen gratis menstruationsprodukter er tilgængelige her"
- }
- }
- },
- "toilet-reviews": {
- "render": {
- "special": {
- "question": "Hvordan vil du bedømme dette toilet?"
- }
- }
}
},
"title": {
@@ -3202,43 +3240,5 @@
},
"render": "vindmølle"
}
- },
- "firepit": {
- "tagRenderings": {
- "access": {
- "mappings": {
- "1": {
- "then": "Ingen adgang"
- },
- "0": {
- "then": "Offentlig"
- },
- "2": {
- "then": "Privat"
- },
- "3": {
- "then": "Adgang indtil tilbagekaldelse"
- },
- "4": {
- "then": "Kun adgang for kunder"
- },
- "5": {
- "then": "Kun adgang for godkendte"
- }
- },
- "question": "Hvilken adgang er tilladt?"
- }
- }
- },
- "shelter": {
- "tagRenderings": {
- "shelter-type": {
- "mappings": {
- "4": {
- "then": "Dette er et skur med 3 vægge, primært beregnet til camping."
- }
- }
- }
- }
}
-}
+}
\ No newline at end of file
diff --git a/langs/layers/nl.json b/langs/layers/nl.json
index 8c2153a6b..bcbb56374 100644
--- a/langs/layers/nl.json
+++ b/langs/layers/nl.json
@@ -2148,6 +2148,9 @@
},
"title": {
"mappings": {
+ "0": {
+ "then": "{name}"
+ },
"1": {
"then": "Vogelkijkhut {name}"
},
@@ -6884,6 +6887,11 @@
}
},
"title": {
+ "mappings": {
+ "0": {
+ "then": "{name}"
+ }
+ },
"render": "Natuurgebied"
}
},
@@ -7418,6 +7426,21 @@
"render": "Picknicktafel"
}
},
+ "play_forest": {
+ "description": "Een speelbos is een vrij toegankelijke zone in een bos",
+ "name": "Speelbossen",
+ "title": {
+ "mappings": {
+ "0": {
+ "then": "{name}"
+ },
+ "1": {
+ "then": "Speelbos {name}"
+ }
+ },
+ "render": "Speelbos"
+ }
+ },
"playground": {
"deletion": {
"nonDeleteMappings": {
@@ -9166,6 +9189,9 @@
},
"title": {
"mappings": {
+ "0": {
+ "then": "{name}"
+ },
"1": {
"then": "Voetpad"
},
@@ -11415,13 +11441,25 @@
}
},
"village_green": {
- "description": "Een laag die dorpsgroen toont (gemeenschapsgroen, maar niet echt een park)"
+ "description": "Een laag die dorpsgroen toont (gemeenschapsgroen, maar niet echt een park)",
+ "name": "Speelweide",
+ "title": {
+ "mappings": {
+ "0": {
+ "then": "{name}"
+ }
+ },
+ "render": "Speelweide"
+ }
},
"visitor_information_centre": {
"description": "Een bezoekerscentrum biedt informatie over een specifieke attractie of bezienswaardigheid waar het is gevestigd.",
"name": "Bezoekerscentrum",
"title": {
"mappings": {
+ "0": {
+ "then": "{name:nl}"
+ },
"1": {
"then": "{name}"
}
@@ -11635,4 +11673,4 @@
"render": "windturbine"
}
}
-}
+}
\ No newline at end of file
diff --git a/langs/layers/uk.json b/langs/layers/uk.json
index 5f6f77fe9..46df8fe0c 100644
--- a/langs/layers/uk.json
+++ b/langs/layers/uk.json
@@ -1536,12 +1536,6 @@
}
},
"grave": {
- "name": "Надгробки",
- "presets": {
- "0": {
- "description": "Надгробок - це фізичний об'єкт, який вказує на те, що тут похована одна або кілька осіб. Як правило, на ньому викарбувано ім'я, дату народження та дату смерті особи чи осіб."
- }
- },
"filter": {
"0": {
"options": {
@@ -1550,6 +1544,12 @@
}
}
}
+ },
+ "name": "Надгробки",
+ "presets": {
+ "0": {
+ "description": "Надгробок - це фізичний об'єкт, який вказує на те, що тут похована одна або кілька осіб. Як правило, на ньому викарбувано ім'я, дату народження та дату смерті особи чи осіб."
+ }
}
},
"guidepost": {
@@ -1566,6 +1566,9 @@
}
}
},
+ "historic_aircraft": {
+ "name": "Історичний літак"
+ },
"hospital": {
"name": "Лікарні",
"tagRenderings": {
@@ -1644,6 +1647,7 @@
}
},
"memorial": {
+ "name": "Меморіали",
"tagRenderings": {
"inscription": {
"mappings": {
@@ -1656,12 +1660,12 @@
},
"memorial-type": {
"mappings": {
+ "0": {
+ "then": "Це статуя"
+ },
"1": {
"then": "Це меморіальна дошка"
},
- "2": {
- "then": "Це пам'ятна лавка"
- },
"10": {
"then": "Це хрест"
},
@@ -1674,6 +1678,15 @@
"13": {
"then": "Це меморіальне дерево"
},
+ "14": {
+ "then": "Це надгробна плита; тут похована людина"
+ },
+ "2": {
+ "then": "Це пам'ятна лавка"
+ },
+ "3": {
+ "then": "Це велосипед-привид — велосипед, пофарбований у білий колір на згадку про велосипедиста, який загинув у результаті автомобільної аварії"
+ },
"4": {
"then": "Це камінь спотикання"
},
@@ -1686,27 +1699,17 @@
"7": {
"then": "Це погруддя"
},
- "9": {
- "then": "Це обеліск"
- },
- "0": {
- "then": "Це статуя"
- },
"8": {
"then": "Це скульптура"
},
- "14": {
- "then": "Це надгробна плита; тут похована людина"
- },
- "3": {
- "then": "Це велосипед-привид — велосипед, пофарбований у білий колір на згадку про велосипедиста, який загинув у результаті автомобільної аварії"
+ "9": {
+ "then": "Це обеліск"
}
},
"question": "Що це за меморіал?",
"render": "Це {memorial}"
}
- },
- "name": "Меморіали"
+ }
},
"nature_reserve": {
"tagRenderings": {
@@ -3358,8 +3361,5 @@
"title": {
"render": "Утилізація відходів"
}
- },
- "historic_aircraft": {
- "name": "Історичний літак"
}
-}
+}
\ No newline at end of file
diff --git a/package.json b/package.json
index 7d6c98070..e06238d19 100644
--- a/package.json
+++ b/package.json
@@ -139,7 +139,7 @@
"optimize-images-scaledown-jpg": "cd assets/ && find . -regextype sed -regex \".*/.*.\\(jpg\\|JPG\\|JPEG\\|jpeg\\)\" -exec mogrify -resize 640x640\\> '{}' \\; && echo 'JPGs are optimized'",
"generate:schemas": "export NODE_OPTIONS=\"--max-old-space-size=8192\" && ./scripts/generateSchemas.sh && echo 'tsjson is done' && vite-node scripts/fixSchemas.ts ",
"reuse-compliance": "reuse lint",
- "housekeeping": "export NODE_OPTIONS=\"--max-old-space-size=1200\" && git pull && npx update-browserslist-db@latest && npm run generate && npm run generate:docs && npm run generate:schemas && npm run generate:contributor-list && vite-node scripts/fetchLanguages.ts && vite-node scripts/generateSunnyUnlabeled.ts && npm run format && git add assets/ langs/ Docs/ **/*.ts Docs/* src/* && git commit -m 'chore: automated housekeeping...'",
+ "housekeeping": "export NODE_OPTIONS=\"--max-old-space-size=1200\" && git pull && npx update-browserslist-db@latest && npm run generate && npm run generate:docs && npm run generate:schemas && npm run generate:contributor-list && vite-node scripts/fetchLanguages.ts && vite-node scripts/generateSunnyUnlabeled.ts && npm run format && npm run lint:themes && git add assets/ langs/ Docs/ **/*.ts Docs/* src/* && git commit -m 'chore: automated housekeeping...'",
"###": "MICROSERVICES AND SERVER MAINTAINENCE",
"release": "standard-version && git push --follow-tags",
"release:minor": "standard-version --release-as minor",
diff --git a/src/Logic/Web/MangroveReviews.ts b/src/Logic/Web/MangroveReviews.ts
index 2a667a2b8..f06ce2302 100644
--- a/src/Logic/Web/MangroveReviews.ts
+++ b/src/Logic/Web/MangroveReviews.ts
@@ -177,7 +177,7 @@ export default class FeatureReviews {
}>,
testmode?: Store,
loadingAllowed?: UIEventSource,
- reportError?: (msg: string, extra: string) => Promise
+ reportError?: (msg: string, extra: string) => Promise
) {
this.loadingAllowed = loadingAllowed
this._reportError = reportError
@@ -294,7 +294,7 @@ export default class FeatureReviews {
tagsSource: UIEventSource>,
mangroveIdentity: MangroveIdentity,
options: { nameKey: string; fallbackName: string },
- state?: SpecialVisualizationState,
+ state?: SpecialVisualizationState
): FeatureReviews {
const key =
feature.properties.id +
@@ -362,10 +362,13 @@ export default class FeatureReviews {
const jwt = await MangroveReviews.signReview(keypair, r)
const kid = await MangroveReviews.publicToPem(keypair.publicKey)
if (!this._testmode.data) {
- try{
+ try {
await MangroveReviews.submitReview(jwt)
- }catch (e) {
- await this._reportError(e, "Could not save a review. The text is:"+review.rating+", "+review.opinion)
+ } catch (e) {
+ await this._reportError(
+ e,
+ "Could not save a review. The text is:" + review.rating + ", " + review.opinion
+ )
throw e
}
} else {
diff --git a/src/assets/contributors.json b/src/assets/contributors.json
index c769e30b7..d8fc5e78b 100644
--- a/src/assets/contributors.json
+++ b/src/assets/contributors.json
@@ -1,7 +1,7 @@
{
"contributors": [
{
- "commits": 10023,
+ "commits": 10029,
"contributor": "Pieter Vander Vennet"
},
{
diff --git a/src/assets/schemas/layerconfigmeta.json b/src/assets/schemas/layerconfigmeta.json
index 828ef83ab..843d76543 100644
--- a/src/assets/schemas/layerconfigmeta.json
+++ b/src/assets/schemas/layerconfigmeta.json
@@ -11413,22 +11413,18 @@
"if": "value=toilet_at_amenity",
"then": "toilet_at_amenity - A layer showing (public) toilets located at different places."
},
- {
- "if": "value=campsite",
- "then": "campsite - Campsites"
- },
{
"if": "value=toilet_at_amenity_lib",
"then": "toilet_at_amenity_lib - Special layer which makes it easy to add, as a group, information about toilets to any POI"
},
- {
- "if": "value=tourism_accomodation",
- "then": "tourism_accomodation - Various types of lodging facilities"
- },
{
"if": "value=cafe_pub",
"then": "cafe_pub - A layer showing cafés and pubs where one can gather around a drink. The layer asks for some relevant questions"
},
+ {
+ "if": "value=campsite",
+ "then": "campsite - Campsites"
+ },
{
"if": "value=doctors",
"then": "doctors - This layer shows doctor offices"
@@ -11449,6 +11445,10 @@
"if": "value=shops",
"then": "shops - A shop"
},
+ {
+ "if": "value=tourism_accomodation",
+ "then": "tourism_accomodation - Various types of lodging facilities"
+ },
{
"if": "value=bike_shop",
"then": "bike_shop - A shop specifically selling bicycles or related items"
diff --git a/src/assets/schemas/layoutconfigmeta.json b/src/assets/schemas/layoutconfigmeta.json
index f4940b839..ac31d7f9d 100644
--- a/src/assets/schemas/layoutconfigmeta.json
+++ b/src/assets/schemas/layoutconfigmeta.json
@@ -1292,22 +1292,18 @@
"if": "value=toilet_at_amenity",
"then": "toilet_at_amenity (builtin) - A layer showing (public) toilets located at different places."
},
- {
- "if": "value=campsite",
- "then": "campsite (builtin) - Campsites"
- },
{
"if": "value=toilet_at_amenity_lib",
"then": "toilet_at_amenity_lib (builtin) - Special layer which makes it easy to add, as a group, information about toilets to any POI"
},
- {
- "if": "value=tourism_accomodation",
- "then": "tourism_accomodation (builtin) - Various types of lodging facilities"
- },
{
"if": "value=cafe_pub",
"then": "cafe_pub (builtin) - A layer showing cafés and pubs where one can gather around a drink. The layer asks for some relevant questions"
},
+ {
+ "if": "value=campsite",
+ "then": "campsite (builtin) - Campsites"
+ },
{
"if": "value=doctors",
"then": "doctors (builtin) - This layer shows doctor offices"
@@ -1328,6 +1324,10 @@
"if": "value=shops",
"then": "shops (builtin) - A shop"
},
+ {
+ "if": "value=tourism_accomodation",
+ "then": "tourism_accomodation (builtin) - Various types of lodging facilities"
+ },
{
"if": "value=bike_shop",
"then": "bike_shop (builtin) - A shop specifically selling bicycles or related items"
@@ -14081,22 +14081,18 @@
"if": "value=toilet_at_amenity",
"then": "toilet_at_amenity - A layer showing (public) toilets located at different places."
},
- {
- "if": "value=campsite",
- "then": "campsite - Campsites"
- },
{
"if": "value=toilet_at_amenity_lib",
"then": "toilet_at_amenity_lib - Special layer which makes it easy to add, as a group, information about toilets to any POI"
},
- {
- "if": "value=tourism_accomodation",
- "then": "tourism_accomodation - Various types of lodging facilities"
- },
{
"if": "value=cafe_pub",
"then": "cafe_pub - A layer showing cafés and pubs where one can gather around a drink. The layer asks for some relevant questions"
},
+ {
+ "if": "value=campsite",
+ "then": "campsite - Campsites"
+ },
{
"if": "value=doctors",
"then": "doctors - This layer shows doctor offices"
@@ -14117,6 +14113,10 @@
"if": "value=shops",
"then": "shops - A shop"
},
+ {
+ "if": "value=tourism_accomodation",
+ "then": "tourism_accomodation - Various types of lodging facilities"
+ },
{
"if": "value=bike_shop",
"then": "bike_shop - A shop specifically selling bicycles or related items"
@@ -35906,22 +35906,18 @@
"if": "value=toilet_at_amenity",
"then": "toilet_at_amenity - A layer showing (public) toilets located at different places."
},
- {
- "if": "value=campsite",
- "then": "campsite - Campsites"
- },
{
"if": "value=toilet_at_amenity_lib",
"then": "toilet_at_amenity_lib - Special layer which makes it easy to add, as a group, information about toilets to any POI"
},
- {
- "if": "value=tourism_accomodation",
- "then": "tourism_accomodation - Various types of lodging facilities"
- },
{
"if": "value=cafe_pub",
"then": "cafe_pub - A layer showing cafés and pubs where one can gather around a drink. The layer asks for some relevant questions"
},
+ {
+ "if": "value=campsite",
+ "then": "campsite - Campsites"
+ },
{
"if": "value=doctors",
"then": "doctors - This layer shows doctor offices"
@@ -35942,6 +35938,10 @@
"if": "value=shops",
"then": "shops - A shop"
},
+ {
+ "if": "value=tourism_accomodation",
+ "then": "tourism_accomodation - Various types of lodging facilities"
+ },
{
"if": "value=bike_shop",
"then": "bike_shop - A shop specifically selling bicycles or related items"
diff --git a/src/assets/translators.json b/src/assets/translators.json
index d577afa90..08233d842 100644
--- a/src/assets/translators.json
+++ b/src/assets/translators.json
@@ -21,7 +21,7 @@
"contributor": "mcliquid"
},
{
- "commits": 98,
+ "commits": 99,
"contributor": "mike140"
},
{
@@ -69,7 +69,7 @@
"contributor": "Iago"
},
{
- "commits": 31,
+ "commits": 32,
"contributor": "Lukáš Jelínek"
},
{
@@ -240,6 +240,10 @@
"commits": 8,
"contributor": "Vinicius"
},
+ {
+ "commits": 7,
+ "contributor": "ERyPTION"
+ },
{
"commits": 7,
"contributor": "Franco"
@@ -376,10 +380,6 @@
"commits": 4,
"contributor": "Jan Zabel"
},
- {
- "commits": 3,
- "contributor": "ERyPTION"
- },
{
"commits": 3,
"contributor": "ceirios"
@@ -608,6 +608,10 @@
"commits": 2,
"contributor": "Leo Alcaraz"
},
+ {
+ "commits": 1,
+ "contributor": "oxisol"
+ },
{
"commits": 1,
"contributor": "POG"
From 68c5fb853ae331a2007d68c7855c28f503c06110 Mon Sep 17 00:00:00 2001
From: Pieter Vander Vennet
Date: Sat, 5 Jul 2025 01:51:52 +0200
Subject: [PATCH 030/171] Chore: lint themes
---
.../charging_station/charging_station.json | 276 +++++++++---------
assets/layers/diets/diets.json | 1 -
assets/layers/food/food.json | 1 -
assets/layers/nsi_brand/nsi_brand.json | 2 +-
assets/layers/nsi_operator/nsi_operator.json | 2 +-
assets/layers/questions/questions.json | 8 +-
.../sauna_at_leisure/sauna_at_leisure.json | 2 +-
.../layers/tactile_model/tactile_model.json | 14 +-
.../mapcomplete-changes.json | 25 +-
assets/themes/sauna/sauna.json | 20 +-
10 files changed, 174 insertions(+), 177 deletions(-)
diff --git a/assets/layers/charging_station/charging_station.json b/assets/layers/charging_station/charging_station.json
index 859978de5..0912be190 100644
--- a/assets/layers/charging_station/charging_station.json
+++ b/assets/layers/charging_station/charging_station.json
@@ -10,7 +10,16 @@
"it": "Stazioni di ricarica",
"uk": "Зарядні станції"
},
- "minzoom": 10,
+ "description": {
+ "en": "A charging station",
+ "nl": "Oplaadpunten",
+ "ca": "Una estació de càrrega",
+ "cs": "Nabíjecí stanice",
+ "de": "Eine Ladestation",
+ "es": "Un punto de carga",
+ "fr": "Une station de recharge",
+ "it": "Una stazione di ricarica"
+ },
"source": {
"osmTags": {
"and": [
@@ -25,6 +34,7 @@
]
}
},
+ "minzoom": 10,
"title": {
"render": {
"en": "Charging station",
@@ -85,17 +95,119 @@
}
]
},
- "description": {
- "en": "A charging station",
- "nl": "Oplaadpunten",
- "ca": "Una estació de càrrega",
- "cs": "Nabíjecí stanice",
- "de": "Eine Ladestation",
- "es": "Un punto de carga",
- "fr": "Une station de recharge",
- "it": "Una stazione di ricarica"
- },
- "#": "no-question-hint-check",
+ "pointRendering": [
+ {
+ "location": [
+ "point",
+ "centroid"
+ ],
+ "marker": [
+ {
+ "icon": "pin",
+ "color": "#fff"
+ },
+ {
+ "icon": {
+ "render": "./assets/themes/charging_stations/plug.svg",
+ "mappings": [
+ {
+ "if": "bicycle=yes",
+ "then": "./assets/themes/charging_stations/bicycle.svg"
+ },
+ {
+ "if": {
+ "or": [
+ "car=yes",
+ "motorcar=yes"
+ ]
+ },
+ "then": "./assets/themes/charging_stations/car.svg"
+ }
+ ]
+ }
+ }
+ ],
+ "iconBadges": [
+ {
+ "if": {
+ "or": [
+ "disused:amenity=charging_station",
+ "operational_status=broken"
+ ]
+ },
+ "then": "close:#c22;"
+ },
+ {
+ "if": {
+ "or": [
+ "proposed:amenity=charging_station",
+ "planned:amenity=charging_station"
+ ]
+ },
+ "then": "./assets/layers/charging_station/under_construction.svg"
+ },
+ {
+ "if": {
+ "and": [
+ "bicycle=yes",
+ {
+ "or": [
+ "motorcar=yes",
+ "car=yes"
+ ]
+ }
+ ]
+ },
+ "then": "circle:#fff;./assets/themes/charging_stations/car.svg"
+ }
+ ],
+ "anchor": "bottom",
+ "iconSize": "50,50"
+ }
+ ],
+ "lineRendering": [
+ {
+ "color": "black",
+ "width": 2,
+ "fillColor": "#80808080"
+ }
+ ],
+ "presets": [
+ {
+ "tags": [
+ "amenity=charging_station",
+ "motorcar=no",
+ "bicycle=yes"
+ ],
+ "title": {
+ "en": "charging station for electrical bikes",
+ "nl": "oplaadpunt voor elektrische fietsen",
+ "ca": "Estació de càrrega de bicicletes elèctriques",
+ "cs": "nabíjecí stanice pro elektrokola",
+ "de": "Ladestation für Elektrofahrräder",
+ "es": "punto de carga para bicicletas eléctricas",
+ "it": "stazione di ricarica per biciclette elettriche",
+ "uk": "зарядна станція для електровелосипедів"
+ }
+ },
+ {
+ "tags": [
+ "amenity=charging_station",
+ "motorcar=yes",
+ "bicycle=no"
+ ],
+ "title": {
+ "en": "charging station for cars",
+ "nl": "oplaadstation voor elektrische auto's",
+ "ca": "estació de càrrega per a cotxes",
+ "cs": "nabíjecí stanice pro auta",
+ "de": "Ladestation für Autos",
+ "es": "punto de carga para coches",
+ "it": "stazione di ricarica per auto",
+ "uk": "зарядна станція для автомобілів"
+ }
+ }
+ ],
"tagRenderings": [
"images",
{
@@ -3302,119 +3414,6 @@
}
}
],
- "lineRendering": [
- {
- "color": "black",
- "width": 2,
- "fillColor": "#80808080"
- }
- ],
- "pointRendering": [
- {
- "location": [
- "point",
- "centroid"
- ],
- "marker": [
- {
- "icon": "pin",
- "color": "#fff"
- },
- {
- "icon": {
- "render": "./assets/themes/charging_stations/plug.svg",
- "mappings": [
- {
- "if": "bicycle=yes",
- "then": "./assets/themes/charging_stations/bicycle.svg"
- },
- {
- "if": {
- "or": [
- "car=yes",
- "motorcar=yes"
- ]
- },
- "then": "./assets/themes/charging_stations/car.svg"
- }
- ]
- }
- }
- ],
- "iconBadges": [
- {
- "if": {
- "or": [
- "disused:amenity=charging_station",
- "operational_status=broken"
- ]
- },
- "then": "close:#c22;"
- },
- {
- "if": {
- "or": [
- "proposed:amenity=charging_station",
- "planned:amenity=charging_station"
- ]
- },
- "then": "./assets/layers/charging_station/under_construction.svg"
- },
- {
- "if": {
- "and": [
- "bicycle=yes",
- {
- "or": [
- "motorcar=yes",
- "car=yes"
- ]
- }
- ]
- },
- "then": "circle:#fff;./assets/themes/charging_stations/car.svg"
- }
- ],
- "anchor": "bottom",
- "iconSize": "50,50"
- }
- ],
- "presets": [
- {
- "tags": [
- "amenity=charging_station",
- "motorcar=no",
- "bicycle=yes"
- ],
- "title": {
- "en": "charging station for electrical bikes",
- "nl": "oplaadpunt voor elektrische fietsen",
- "ca": "Estació de càrrega de bicicletes elèctriques",
- "cs": "nabíjecí stanice pro elektrokola",
- "de": "Ladestation für Elektrofahrräder",
- "es": "punto de carga para bicicletas eléctricas",
- "it": "stazione di ricarica per biciclette elettriche",
- "uk": "зарядна станція для електровелосипедів"
- }
- },
- {
- "tags": [
- "amenity=charging_station",
- "motorcar=yes",
- "bicycle=no"
- ],
- "title": {
- "en": "charging station for cars",
- "nl": "oplaadstation voor elektrische auto's",
- "ca": "estació de càrrega per a cotxes",
- "cs": "nabíjecí stanice pro auta",
- "de": "Ladestation für Autos",
- "es": "punto de carga para coches",
- "it": "stazione di ricarica per auto",
- "uk": "зарядна станція для автомобілів"
- }
- }
- ],
"filter": [
{
"id": "vehicle-type",
@@ -3758,6 +3757,19 @@
]
}
],
+ "deletion": {
+ "softDeletionTags": {
+ "and": [
+ "amenity=",
+ "disused:amenity=charging_station"
+ ]
+ },
+ "neededChangesets": 10
+ },
+ "allowMove": {
+ "enableRelocation": false,
+ "enableImproveAccuracy": true
+ },
"units": [
{
"maxstay": {
@@ -3961,17 +3973,5 @@
}
}
],
- "allowMove": {
- "enableRelocation": false,
- "enableImproveAccuracy": true
- },
- "deletion": {
- "softDeletionTags": {
- "and": [
- "amenity=",
- "disused:amenity=charging_station"
- ]
- },
- "neededChangesets": 10
- }
+ "#": "no-question-hint-check"
}
diff --git a/assets/layers/diets/diets.json b/assets/layers/diets/diets.json
index a430cddd1..d64e4b2a1 100644
--- a/assets/layers/diets/diets.json
+++ b/assets/layers/diets/diets.json
@@ -519,7 +519,6 @@
},
"id": "vegetarian"
},
-
{
"labels": [
"diets",
diff --git a/assets/layers/food/food.json b/assets/layers/food/food.json
index 934e75bfa..7de39bbaf 100644
--- a/assets/layers/food/food.json
+++ b/assets/layers/food/food.json
@@ -905,7 +905,6 @@
"child_highchair",
"kids_area",
"diets.diets",
-
{
"id": "friture-take-your-container",
"question": {
diff --git a/assets/layers/nsi_brand/nsi_brand.json b/assets/layers/nsi_brand/nsi_brand.json
index 791888e51..a8a1b50ad 100644
--- a/assets/layers/nsi_brand/nsi_brand.json
+++ b/assets/layers/nsi_brand/nsi_brand.json
@@ -517667,4 +517667,4 @@
"allowMove": false,
"#dont-translate": "*",
"generation_time": "2025-06-03T20:20:14.242Z"
-}
\ No newline at end of file
+}
diff --git a/assets/layers/nsi_operator/nsi_operator.json b/assets/layers/nsi_operator/nsi_operator.json
index ba3be922b..a5d0e1d71 100644
--- a/assets/layers/nsi_operator/nsi_operator.json
+++ b/assets/layers/nsi_operator/nsi_operator.json
@@ -452991,4 +452991,4 @@
"allowMove": false,
"#dont-translate": "*",
"generation_time": "2025-06-03T20:22:18.283Z"
-}
\ No newline at end of file
+}
diff --git a/assets/layers/questions/questions.json b/assets/layers/questions/questions.json
index 45c979d3b..2a880f931 100644
--- a/assets/layers/questions/questions.json
+++ b/assets/layers/questions/questions.json
@@ -3436,7 +3436,9 @@
}
}
],
- "filters": ["filters.child_highchair"]
+ "filters": [
+ "filters.child_highchair"
+ ]
},
{
"id": "kids_area",
@@ -3504,7 +3506,9 @@
"hideInAnswer": true
}
],
- "filter": ["filters.kids_area"]
+ "filter": [
+ "filters.kids_area"
+ ]
}
],
"allowMove": false,
diff --git a/assets/layers/sauna_at_leisure/sauna_at_leisure.json b/assets/layers/sauna_at_leisure/sauna_at_leisure.json
index e2f965c66..70eeaf08c 100644
--- a/assets/layers/sauna_at_leisure/sauna_at_leisure.json
+++ b/assets/layers/sauna_at_leisure/sauna_at_leisure.json
@@ -7,7 +7,6 @@
"description": {
"en": "A sauna is a small room or house designed as a place to experience dry or wet heat sessions, or an establishment with one or more of these and auxiliary facilities."
},
- "#": "Use 'sauna_at_leisure.sauna_grouped' in a layer.tagRenderings to add the 'sauna information' expandle block (incl 'has sauna'); use 'sauna_at_leisure.expanded' to get all sauna questions directly (which does _not_ include the 'has sauna' question)",
"source": {
"osmTags": {
"or": [
@@ -319,6 +318,7 @@
}
],
"allowMove": true,
+ "#": "Use 'sauna_at_leisure.sauna_grouped' in a layer.tagRenderings to add the 'sauna information' expandle block (incl 'has sauna'); use 'sauna_at_leisure.expanded' to get all sauna questions directly (which does _not_ include the 'has sauna' question)",
"credits": "Osmwithspace",
"credits:uid": 8770388
}
diff --git a/assets/layers/tactile_model/tactile_model.json b/assets/layers/tactile_model/tactile_model.json
index 9f80bc3ab..f4752c8c3 100644
--- a/assets/layers/tactile_model/tactile_model.json
+++ b/assets/layers/tactile_model/tactile_model.json
@@ -7,13 +7,6 @@
"it": "Modelli tattili",
"cs": "Hmatové modely"
},
- "title": {
- "en": "Tactile Model",
- "de": "Taktiles Modell",
- "ca": "Model tàctil",
- "it": "Modello tattile",
- "cs": "Hmatový model"
- },
"description": {
"en": "Layer showing tactile models, three-dimensional models of the surrounding area.",
"de": "Ebene mit dreidimensionalen ertastbaren Modellen der Umgebung.",
@@ -25,6 +18,13 @@
"osmTags": "information=tactile_model"
},
"minzoom": 10,
+ "title": {
+ "en": "Tactile Model",
+ "de": "Taktiles Modell",
+ "ca": "Model tàctil",
+ "it": "Modello tattile",
+ "cs": "Hmatový model"
+ },
"pointRendering": [
{
"marker": [
diff --git a/assets/themes/mapcomplete-changes/mapcomplete-changes.json b/assets/themes/mapcomplete-changes/mapcomplete-changes.json
index 7772c9691..10a61f17a 100644
--- a/assets/themes/mapcomplete-changes/mapcomplete-changes.json
+++ b/assets/themes/mapcomplete-changes/mapcomplete-changes.json
@@ -11,17 +11,6 @@
"it": "Modifiche fatte con MapComplete",
"zh_Hant": "由MapComplete進行的變動"
},
- "shortDescription": {
- "en": "Shows changes made by MapComplete",
- "de": "Zeigt die von MapComplete vorgenommenen Änderungen an",
- "cs": "Zobrazuje změny provedené nástrojem MapComplete",
- "es": "Muestra los cambios realizados por MapComplete",
- "fr": "Afficher les modifications faites avec MapComplete",
- "nl": "Toont wijzigingen gemaakt met MapComplete",
- "ko": "MapComplete를 통해 이루어진 변경 사항을 표시합니다",
- "it": "Mostra le modifiche fatte con MapComplete",
- "zh_Hant": "顯示由MapComplete進行的變動"
- },
"description": {
"en": "This maps shows all the changes made with MapComplete",
"de": "Diese Karte zeigt alle mit MapComplete vorgenommenen Änderungen",
@@ -34,11 +23,19 @@
"it": "Questa mappa mostra tutte le modifiche effettuate con MapComplete",
"zh_Hant": "這個地圖顯示所有用MapComplete做出的改變"
},
+ "shortDescription": {
+ "en": "Shows changes made by MapComplete",
+ "de": "Zeigt die von MapComplete vorgenommenen Änderungen an",
+ "cs": "Zobrazuje změny provedené nástrojem MapComplete",
+ "es": "Muestra los cambios realizados por MapComplete",
+ "fr": "Afficher les modifications faites avec MapComplete",
+ "nl": "Toont wijzigingen gemaakt met MapComplete",
+ "ko": "MapComplete를 통해 이루어진 변경 사항을 표시합니다",
+ "it": "Mostra le modifiche fatte con MapComplete",
+ "zh_Hant": "顯示由MapComplete進行的變動"
+ },
"icon": "./assets/svg/logo.svg",
"hideFromOverview": true,
- "startLat": 0,
- "startLon": 0,
- "startZoom": 1,
"layers": [
{
"id": "mapcomplete-changes",
diff --git a/assets/themes/sauna/sauna.json b/assets/themes/sauna/sauna.json
index 0f45cb7ee..f9b846f79 100644
--- a/assets/themes/sauna/sauna.json
+++ b/assets/themes/sauna/sauna.json
@@ -10,7 +10,6 @@
"credits": [
"Osmwithspace"
],
- "#layers": "sauna_at_leisure acts as fallback-layer and will show all objects with `sauna=yes`",
"layers": [
"sauna",
{
@@ -43,7 +42,7 @@
"minzoom": 8,
"id": "sports_centre_with_sauna",
"presets=": [],
- "filter=":[],
+ "filter=": [],
"source": {
"osmTags": {
"and+": [
@@ -68,15 +67,13 @@
"override": {
"id": "shops_with_sauna",
"source": {
- "osmTags":
- {
- "and+": [
- "sauna=yes"
- ]
- }
-
+ "osmTags": {
+ "and+": [
+ "sauna=yes"
+ ]
+ }
},
- "presets=":[],
+ "presets=": [],
"minzoom": 8,
"filter=": []
}
@@ -125,11 +122,12 @@
{
"builtin": "toilet",
"override": {
- "minzoom":18,
+ "minzoom": 18,
"name=": null
}
},
"sauna_at_leisure"
],
+ "#layers": "sauna_at_leisure acts as fallback-layer and will show all objects with `sauna=yes`",
"credits:uid": 8770388
}
From 40678a2eb3c756dd37608d78e10861985aa3443b Mon Sep 17 00:00:00 2001
From: Pieter Vander Vennet
Date: Sat, 5 Jul 2025 02:03:00 +0200
Subject: [PATCH 031/171] Docs: add typing for credits in layerconfig
---
src/Models/ThemeConfig/Json/LayerConfigJson.ts | 15 ++++++++++++++-
1 file changed, 14 insertions(+), 1 deletion(-)
diff --git a/src/Models/ThemeConfig/Json/LayerConfigJson.ts b/src/Models/ThemeConfig/Json/LayerConfigJson.ts
index 25fc08297..17c02d392 100644
--- a/src/Models/ThemeConfig/Json/LayerConfigJson.ts
+++ b/src/Models/ThemeConfig/Json/LayerConfigJson.ts
@@ -626,5 +626,18 @@ export interface LayerConfigJson {
/**
* group: hidden
*/
- "#dont-translate"?: "*"
+ "#dont-translate"?: "*",
+
+ /**
+ * group: hidden
+ * Who created this theme?
+ * Set by studio
+ */
+ credits: string
+ /**
+ * group: hidden
+ * Who created this theme?
+ * Set by studio
+ */
+ "credits:uid":number
}
From 8761685fa609f8e9b9ef4674166da8a4ab2d1b95 Mon Sep 17 00:00:00 2001
From: Pieter Vander Vennet
Date: Sat, 5 Jul 2025 02:03:39 +0200
Subject: [PATCH 032/171] Scripts: automatically reorder layers and themes into
the fixed order
---
scripts/lint.ts | 41 ++-----------------
.../ThemeConfig/Conversion/PrepareLayer.ts | 18 +++++++-
.../ThemeConfig/Conversion/PrepareTheme.ts | 24 ++++++++---
src/Utils.ts | 18 +++++++-
4 files changed, 55 insertions(+), 46 deletions(-)
diff --git a/scripts/lint.ts b/scripts/lint.ts
index 55ef491ea..8e3d6fbb3 100644
--- a/scripts/lint.ts
+++ b/scripts/lint.ts
@@ -1,47 +1,14 @@
import ScriptUtils from "./ScriptUtils"
import { writeFileSync } from "fs"
-import {
- FixLegacyTheme,
- UpdateLegacyLayer,
-} from "../src/Models/ThemeConfig/Conversion/LegacyJsonConvert"
-import Translations from "../src/UI/i18n/Translations"
-import { Translation } from "../src/UI/i18n/Translation"
+import { FixLegacyTheme, UpdateLegacyLayer } from "../src/Models/ThemeConfig/Conversion/LegacyJsonConvert"
import { LayerConfigJson } from "../src/Models/ThemeConfig/Json/LayerConfigJson"
-import themeconfig from "../src/assets/schemas/layoutconfigmeta.json"
-import layerconfig from "../src/assets/schemas/layerconfigmeta.json"
-
-import { Utils } from "../src/Utils"
-import { ConfigMeta } from "../src/UI/Studio/configMeta"
import { ConversionContext } from "../src/Models/ThemeConfig/Conversion/ConversionContext"
/*
* This script reads all theme and layer files and reformats them inplace
* Use with caution, make a commit beforehand!
*/
-const themeAttributesOrder = Utils.Dedup(
- (themeconfig).filter((c) => c.path.length === 1).map((c) => c.path[0])
-)
-const layerAttributesOrder = Utils.Dedup(
- (layerconfig).filter((c) => c.path.length === 1).map((c) => c.path[0])
-)
-const t: Translation = Translations.t.general.add.addNew
-t.OnEveryLanguage((txt, ln) => {
- console.log(ln, txt)
- return txt
-})
-function reorder(object: object, order: string[]) {
- const allKeys = new Set(Object.keys(object))
- const copy = {}
- for (const key of order) {
- copy[key] = object[key]
- allKeys.delete(key)
- }
- for (const key of allKeys) {
- copy[key] = object[key]
- }
- return copy
-}
const layerFiles = ScriptUtils.getLayerFiles()
for (const layerFile of layerFiles) {
@@ -52,8 +19,7 @@ for (const layerFile of layerFiles) {
ConversionContext.construct([layerFile.path.split("/").at(-1)], ["update legacy"])
)
)
- const reordered = reorder(fixed, layerAttributesOrder)
- writeFileSync(layerFile.path, JSON.stringify(reordered, null, " ") + "\n")
+ writeFileSync(layerFile.path, JSON.stringify(fixed, null, " ") + "\n")
} catch (e) {
console.error("COULD NOT LINT LAYER" + layerFile.path + ":\n\t" + e)
}
@@ -69,10 +35,9 @@ for (const themeFile of themeFiles) {
// extractInlineLayer(fixed)
const endsWithNewline = themeFile.raw.at(-1) === "\n"
- const ordered = reorder(fixed, themeAttributesOrder)
writeFileSync(
themeFile.path,
- JSON.stringify(ordered, null, " ") + (endsWithNewline ? "\n" : "")
+ JSON.stringify(fixed, null, " ") + (endsWithNewline ? "\n" : "")
)
} catch (e) {
console.error("COULD NOT LINT THEME" + themeFile.path + ":\n\t" + e)
diff --git a/src/Models/ThemeConfig/Conversion/PrepareLayer.ts b/src/Models/ThemeConfig/Conversion/PrepareLayer.ts
index 62256c392..6d21e86bc 100644
--- a/src/Models/ThemeConfig/Conversion/PrepareLayer.ts
+++ b/src/Models/ThemeConfig/Conversion/PrepareLayer.ts
@@ -32,6 +32,7 @@ import { ExpandRewrite } from "./ExpandRewrite"
import { TagUtils } from "../../../Logic/Tags/TagUtils"
import { ExpandFilter, PruneFilters } from "./ExpandFilter"
import { ExpandTagRendering } from "./ExpandTagRendering"
+import layerconfig from "../../../assets/schemas/layerconfigmeta.json"
class AddFiltersFromTagRenderings extends DesugaringStep {
constructor() {
@@ -1077,6 +1078,20 @@ class DeriveSource extends DesugaringStep {
}
}
+class OrderLayer extends DesugaringStep{
+
+ private static readonly layerAttributesOrder: ReadonlyArray = Utils.Dedup(
+ (layerconfig).filter((c) => c.path.length === 1).map((c) => c.path[0])
+ )
+ constructor() {
+ super("OrderLayer", "Reorders the layer to the default order")
+ }
+
+ public convert(json: LayerConfigJson, context: ConversionContext): LayerConfigJson {
+ return Utils.reorder(json, OrderLayer.layerAttributesOrder)
+ }
+}
+
export class PrepareLayer extends Fuse {
constructor(
state: DesugaringContext,
@@ -1125,7 +1140,8 @@ export class PrepareLayer extends Fuse {
new AddFiltersFromTagRenderings(),
new ExpandFilter(state),
new MoveUnitConfigs(),
- new PruneFilters()
+ new PruneFilters(),
+ new OrderLayer()
)
}
diff --git a/src/Models/ThemeConfig/Conversion/PrepareTheme.ts b/src/Models/ThemeConfig/Conversion/PrepareTheme.ts
index 68848a055..7149cd5c7 100644
--- a/src/Models/ThemeConfig/Conversion/PrepareTheme.ts
+++ b/src/Models/ThemeConfig/Conversion/PrepareTheme.ts
@@ -20,6 +20,8 @@ import DependencyCalculator from "../DependencyCalculator"
import { AddContextToTranslations } from "./AddContextToTranslations"
import ValidationUtils from "./ValidationUtils"
import { ConversionContext } from "./ConversionContext"
+import { ConfigMeta } from "../../../UI/Studio/configMeta"
+import themeconfig from "../../../assets/schemas/layoutconfigmeta.json"
class SubstituteLayer extends Conversion {
private readonly _state: DesugaringContext
@@ -28,7 +30,6 @@ class SubstituteLayer extends Conversion 0
@@ -605,7 +603,20 @@ class PostvalidateTheme extends DesugaringStep {
return json
}
}
+class OrderTheme extends DesugaringStep{
+ private static readonly themeAttributesOrder: ReadonlyArray = Utils.Dedup(
+ (themeconfig).filter((c) => c.path.length === 1).map((c) => c.path[0])
+ )
+
+ constructor() {
+ super("OrderLayer", "Reorders the layer to the default order")
+ }
+
+ public convert(json: ThemeConfigJson, context: ConversionContext): ThemeConfigJson {
+ return Utils.reorder(json, OrderTheme.themeAttributesOrder)
+ }
+}
export class PrepareTheme extends Fuse {
private state: DesugaringContext
@@ -646,7 +657,8 @@ export class PrepareTheme extends Fuse {
: new AddDefaultLayers(state),
new AddDependencyLayersToTheme(state),
// new AddImportLayers(),
- new PostvalidateTheme(state)
+ new PostvalidateTheme(state),
+ new OrderTheme()
)
this.state = state
}
diff --git a/src/Utils.ts b/src/Utils.ts
index bfe46f1f7..cd1138d1e 100644
--- a/src/Utils.ts
+++ b/src/Utils.ts
@@ -1229,6 +1229,8 @@ In the case that MapComplete is pointed to the testing grounds, the edit will be
* @param x
* @constructor
*/
+ static Clone(x: Readonly): T
+ static Clone(x: T): T
static Clone(x: T): T {
if (x === undefined) {
return undefined
@@ -1267,7 +1269,7 @@ In the case that MapComplete is pointed to the testing grounds, the edit will be
reference: string,
ts: ReadonlyArray,
getName: (t: T) => string
- ): string[]
+ ): T[]
public static sortedByLevenshteinDistance(
reference: string,
ts: ReadonlyArray,
@@ -1841,4 +1843,18 @@ In the case that MapComplete is pointed to the testing grounds, the edit will be
public static concat(param: T[][]): T[] {
return [].concat(...param)
}
+
+
+ public static reorder(object: T, order: ReadonlyArray): T {
+ const allKeys = new Set(Object.keys(object))
+ const copy = {}
+ for (const key of order) {
+ copy[key] = object[key]
+ allKeys.delete(key)
+ }
+ for (const key of allKeys) {
+ copy[key] = object[key]
+ }
+ return copy
+ }
}
From 47f52e45133e1a7dfe5abc4aa01f3a6615ea2d56 Mon Sep 17 00:00:00 2001
From: Pieter Vander Vennet
Date: Sat, 5 Jul 2025 04:35:49 +0200
Subject: [PATCH 033/171] Fix: make credits and credits:uid optional
---
src/Models/ThemeConfig/Json/LayerConfigJson.ts | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/Models/ThemeConfig/Json/LayerConfigJson.ts b/src/Models/ThemeConfig/Json/LayerConfigJson.ts
index 17c02d392..a291d79bf 100644
--- a/src/Models/ThemeConfig/Json/LayerConfigJson.ts
+++ b/src/Models/ThemeConfig/Json/LayerConfigJson.ts
@@ -633,11 +633,11 @@ export interface LayerConfigJson {
* Who created this theme?
* Set by studio
*/
- credits: string
+ credits?: string
/**
* group: hidden
* Who created this theme?
* Set by studio
*/
- "credits:uid":number
+ "credits:uid"?:number
}
From 54e1f5d44ccd2a7cc7545311df0d1f21a583d39d Mon Sep 17 00:00:00 2001
From: Pieter Vander Vennet
Date: Sat, 5 Jul 2025 04:37:16 +0200
Subject: [PATCH 034/171] Refactoring: simplify working with 'DoesImageExist'
---
scripts/generateLayerOverview.ts | 24 ++++---------------
.../ThemeConfig/Conversion/Validation.ts | 16 +++++++++++++
2 files changed, 21 insertions(+), 19 deletions(-)
diff --git a/scripts/generateLayerOverview.ts b/scripts/generateLayerOverview.ts
index 553b2e0ed..49148cdeb 100644
--- a/scripts/generateLayerOverview.ts
+++ b/scripts/generateLayerOverview.ts
@@ -1,6 +1,5 @@
import ScriptUtils from "./ScriptUtils"
import { existsSync, mkdirSync, readFileSync, statSync, writeFileSync } from "fs"
-import licenses from "../src/assets/generated/license_info.json"
import { ThemeConfigJson } from "../src/Models/ThemeConfig/Json/ThemeConfigJson"
import { LayerConfigJson } from "../src/Models/ThemeConfig/Json/LayerConfigJson"
import Constants from "../src/Models/Constants"
@@ -14,11 +13,7 @@ import {
import { Translation } from "../src/UI/i18n/Translation"
import { PrepareLayer } from "../src/Models/ThemeConfig/Conversion/PrepareLayer"
import { PrepareTheme } from "../src/Models/ThemeConfig/Conversion/PrepareTheme"
-import {
- Conversion,
- DesugaringContext,
- DesugaringStep,
-} from "../src/Models/ThemeConfig/Conversion/Conversion"
+import { Conversion, DesugaringContext, DesugaringStep } from "../src/Models/ThemeConfig/Conversion/Conversion"
import { Utils } from "../src/Utils"
import Script from "./Script"
import { AllSharedLayers } from "../src/Customizations/AllSharedLayers"
@@ -35,10 +30,7 @@ import { Translatable } from "../src/Models/ThemeConfig/Json/Translatable"
import { ValidateThemeAndLayers } from "../src/Models/ThemeConfig/Conversion/ValidateThemeAndLayers"
import { ExtractImages } from "../src/Models/ThemeConfig/Conversion/FixImages"
import { TagRenderingConfigJson } from "../src/Models/ThemeConfig/Json/TagRenderingConfigJson"
-import {
- LayerConfigDependencyGraph,
- LevelInfo,
-} from "../src/Models/ThemeConfig/LayerConfigDependencyGraph"
+import { LayerConfigDependencyGraph, LevelInfo } from "../src/Models/ThemeConfig/LayerConfigDependencyGraph"
// This scripts scans 'src/assets/layers/*.json' for layer definition files and 'src/assets/themes/*.json' for theme definition files.
// It spits out an overview of those to be used to load them
@@ -650,11 +642,7 @@ class LayerOverviewUtils extends Script {
const forceReload = args.some((a) => a == "--force")
- const licensePaths = new Set()
- for (const i in licenses) {
- licensePaths.add(licenses[i].path)
- }
- const doesImageExist = new DoesImageExist(licensePaths, existsSync)
+ const doesImageExist = DoesImageExist.constructWithLicenses(existsSync)
const sharedLayers = this.buildLayerIndex(doesImageExist)
const priviliged = new Set(Constants.priviliged_layers)
@@ -677,7 +665,6 @@ class LayerOverviewUtils extends Script {
}
const recompiledThemes: string[] = []
const sharedThemes = this.buildThemeIndex(
- licensePaths,
sharedLayers,
recompiledThemes,
forceReload,
@@ -990,7 +977,6 @@ class LayerOverviewUtils extends Script {
}
private buildThemeIndex(
- licensePaths: Set,
sharedLayers: Map,
recompiledThemes: string[],
forceReload: boolean,
@@ -1004,7 +990,7 @@ class LayerOverviewUtils extends Script {
themeFiles.map((th) => th.parsed)
)
- const trs = this.getSharedTagRenderings(new DoesImageExist(licensePaths, existsSync))
+ const trs = this.getSharedTagRenderings(DoesImageExist.constructWithLicenses(existsSync))
const convertState: DesugaringContext = {
sharedLayers,
@@ -1076,7 +1062,7 @@ class LayerOverviewUtils extends Script {
ConversionContext.construct([themePath], ["PrepareLayer"])
)
new ValidateThemeAndLayers(
- new DoesImageExist(licensePaths, existsSync, knownTagRenderings),
+ DoesImageExist.constructWithLicenses(existsSync, knownTagRenderings),
themePath,
true,
knownTagRenderings
diff --git a/src/Models/ThemeConfig/Conversion/Validation.ts b/src/Models/ThemeConfig/Conversion/Validation.ts
index 6bc79f6f3..a3f7f4b1a 100644
--- a/src/Models/ThemeConfig/Conversion/Validation.ts
+++ b/src/Models/ThemeConfig/Conversion/Validation.ts
@@ -22,6 +22,7 @@ import PointRenderingConfigJson from "../Json/PointRenderingConfigJson"
import { PrevalidateLayer } from "./PrevalidateLayer"
import { AvailableRasterLayers } from "../../RasterLayers"
import { eliCategory } from "../../RasterLayerProperties"
+import licenses from "../../../assets/generated/license_info.json"
export class ValidateLanguageCompleteness extends DesugaringStep {
private readonly _languages: string[]
@@ -126,6 +127,21 @@ export class DoesImageExist extends DesugaringStep {
}
return image
}
+
+ private static licensePaths: Set
+
+ public static constructWithLicenses(checkExistsSync?: (path: string) => boolean, ignore?: Set) {
+ if (!DoesImageExist.licensePaths) {
+
+ const licensePaths = new Set()
+ for (const i in licenses) {
+ licensePaths.add(licenses[i].path)
+ }
+ DoesImageExist.licensePaths = licensePaths
+ }
+ return new DoesImageExist(DoesImageExist.licensePaths, checkExistsSync, ignore)
+ }
+
}
class OverrideShadowingCheck extends DesugaringStep {
From c7b905d1fb44d417185307f6a086ea16585ff656 Mon Sep 17 00:00:00 2001
From: Pieter Vander Vennet
Date: Sat, 5 Jul 2025 04:38:56 +0200
Subject: [PATCH 035/171] Themes: make 'description' and 'title' optional if
there is a single theme and it can be reused from this single theme
---
.../ThemeConfig/Conversion/PrepareTheme.ts | 30 +++++++++++++++++++
.../ThemeConfig/Conversion/ValidateTheme.ts | 7 +++--
.../ThemeConfig/Json/ThemeConfigJson.ts | 3 +-
src/Models/ThemeConfig/ThemeConfig.ts | 4 +--
4 files changed, 37 insertions(+), 7 deletions(-)
diff --git a/src/Models/ThemeConfig/Conversion/PrepareTheme.ts b/src/Models/ThemeConfig/Conversion/PrepareTheme.ts
index 7149cd5c7..2361eb1d4 100644
--- a/src/Models/ThemeConfig/Conversion/PrepareTheme.ts
+++ b/src/Models/ThemeConfig/Conversion/PrepareTheme.ts
@@ -617,6 +617,33 @@ class OrderTheme extends DesugaringStep{
return Utils.reorder(json, OrderTheme.themeAttributesOrder)
}
}
+
+class DeriveDescription extends DesugaringStep {
+ private readonly _key: string
+ private readonly _sourceKey: "name"
+ constructor(key: "icon" | "description" | "title", sourceKey?: "name") {
+ super("DeriveDescription", "If a single layer and no description is given, steal the description from the layer")
+ this._key = key
+ this._sourceKey = sourceKey
+ }
+
+ convert(json: ThemeConfigJson, context: ConversionContext): ThemeConfigJson {
+ if (json[this._key]) {
+ return json
+ }
+ const msg = "This theme has no "+this._key+". If there is only a single layer, we can steal it from this layer though. Current layers are "+json.layers.map(l => l["id"]).join("; ")
+ if (json.layers.length !== 1) {
+ context.err(msg)
+ }
+ const l = json.layers[0] // Already expanded
+ context.info(`Added '${this._key}' to theme ${json.id} based on single layer`)
+ return {
+ ...json,
+ [this._key]: l[this._sourceKey ?? this._key],
+ }
+ }
+}
+
export class PrepareTheme extends Fuse {
private state: DesugaringContext
@@ -632,6 +659,9 @@ export class PrepareTheme extends Fuse {
new PreparePersonalTheme(state),
new WarnForUnsubstitutedLayersInTheme(),
new On("layers", new Concat(new SubstituteLayer(state))),
+ new DeriveDescription( "description"),
+ new DeriveDescription( "icon"),
+ new DeriveDescription( "title", "name"),
new SetDefault("socialImage", "assets/SocialImage.png", true),
// We expand all tagrenderings first...
diff --git a/src/Models/ThemeConfig/Conversion/ValidateTheme.ts b/src/Models/ThemeConfig/Conversion/ValidateTheme.ts
index c743efaac..e24ce8c46 100644
--- a/src/Models/ThemeConfig/Conversion/ValidateTheme.ts
+++ b/src/Models/ThemeConfig/Conversion/ValidateTheme.ts
@@ -35,6 +35,9 @@ export class ValidateTheme extends DesugaringStep {
}
convert(json: ThemeConfigJson, context: ConversionContext): ThemeConfigJson {
+ if (!json.title) {
+ context.enter("title").err(`The theme ${json.id} does not have a title defined.`)
+ }
const theme = new ThemeConfig(json, this._isBuiltin)
{
// Legacy format checks
@@ -55,9 +58,7 @@ export class ValidateTheme extends DesugaringStep {
}
}
}
- if (!json.title) {
- context.enter("title").err(`The theme ${json.id} does not have a title defined.`)
- }
+
if (!json.icon) {
context.enter("icon").err("A theme should have an icon")
}
diff --git a/src/Models/ThemeConfig/Json/ThemeConfigJson.ts b/src/Models/ThemeConfig/Json/ThemeConfigJson.ts
index bebc25b82..61f6cd388 100644
--- a/src/Models/ThemeConfig/Json/ThemeConfigJson.ts
+++ b/src/Models/ThemeConfig/Json/ThemeConfigJson.ts
@@ -56,10 +56,11 @@ export interface ThemeConfigJson {
/**
* question: How would you describe this theme?
* The description, as shown in the welcome message and the more-screen
+ * ifunset: reuse the description of the only layer
* group: basic
*
*/
- description: Translatable
+ description?: Translatable
/**
* A short description, showed as social description and in the 'more theme'-buttons.
diff --git a/src/Models/ThemeConfig/ThemeConfig.ts b/src/Models/ThemeConfig/ThemeConfig.ts
index bb96fe744..a104f4f7c 100644
--- a/src/Models/ThemeConfig/ThemeConfig.ts
+++ b/src/Models/ThemeConfig/ThemeConfig.ts
@@ -132,9 +132,7 @@ export default class ThemeConfig implements ThemeInformation {
}
const context = this.id
this.credits = Array.isArray(json.credits) ? json.credits.join("; ") : json.credits
- if (!json.title) {
- throw `The theme ${json.id} does not have a title defined.`
- }
+
this.language = json.mustHaveLanguage ?? Object.keys(json.title)
{
From db685dc05ff36dd05e5d2330249e78ef0f6d4646 Mon Sep 17 00:00:00 2001
From: Pieter Vander Vennet
Date: Sat, 5 Jul 2025 04:39:30 +0200
Subject: [PATCH 036/171] Scripts: create script to import layers from studio
into official mapcomplete
---
scripts/downloadCommons.ts | 6 +-
scripts/importCustomTheme.ts | 73 +++++++++
.../ImageProviders/WikimediaImageProvider.ts | 19 ++-
.../ThemeConfig/Conversion/FixImages.ts | 27 ++--
src/Utils.ts | 142 ++++++++++--------
5 files changed, 186 insertions(+), 81 deletions(-)
create mode 100644 scripts/importCustomTheme.ts
diff --git a/scripts/downloadCommons.ts b/scripts/downloadCommons.ts
index dad3013e6..279092b36 100644
--- a/scripts/downloadCommons.ts
+++ b/scripts/downloadCommons.ts
@@ -2,7 +2,7 @@
* Script to download images from Wikimedia Commons, and save them together with license information.
*/
-import { readFileSync, writeFileSync, existsSync, mkdirSync } from "fs"
+import { existsSync, mkdirSync, readFileSync, writeFileSync } from "fs"
import { unescape } from "querystring"
import SmallLicense from "../src/Models/smallLicense"
@@ -123,7 +123,7 @@ const templateMapping = {
"Template:CC0": "CC0 1.0",
}
-async function main(args: string[]) {
+export async function main(args: string[]) {
if (args.length < 2) {
console.log("Usage: downloadCommons.ts