From c0651479270b06b4adc2e8a57ecee6749cc3231b Mon Sep 17 00:00:00 2001
From: pietervdvn <pietervdvn@posteo.net>
Date: Sat, 18 Sep 2021 02:29:47 +0200
Subject: [PATCH] Documentation update

---
 Docs/CalculatedTags.md                        | 170 ++++----
 Docs/SpecialInputElements.md                  |   6 +-
 Docs/SpecialRenderings.md                     | 145 +++----
 .../mapcomplete_charging_stations.json        | 381 ++++++++++++++++++
 Docs/TagInfo/mapcomplete_toilets.json         |   5 +
 Docs/TagInfo/mapcomplete_waste_basket.json    |  30 ++
 Docs/URL_Parameters.md                        | 123 +++---
 7 files changed, 648 insertions(+), 212 deletions(-)

diff --git a/Docs/CalculatedTags.md b/Docs/CalculatedTags.md
index 13f2d287e..8d8973b7b 100644
--- a/Docs/CalculatedTags.md
+++ b/Docs/CalculatedTags.md
@@ -1,91 +1,115 @@
-Metatags
+
+ Metatags 
 ==========
 
 
 
 Metatags are extra tags available, in order to display more data or to give better questions.
 
-The are calculated automatically on every feature when the data arrives in the webbrowser. This document gives an
-overview of the available metatags.
+The are calculated automatically on every feature when the data arrives in the webbrowser. This document gives an overview of the available metatags.
 
-**Hint:** when using metatags, add the [query parameter](URL_Parameters.md) `debug=true` to the URL. This will include a
-box in the popup for features which shows all the properties of the object
+**Hint:** when using metatags, add the [query parameter](URL_Parameters.md) `debug=true` to the URL. This will include a box in the popup for features which shows all the properties of the object
 
 
-Metatags calculated by MapComplete
+ Metatags calculated by MapComplete 
 ------------------------------------
 
 
 
-The following values are always calculated, by default, by MapComplete and are available automatically on all elements
-in every theme
+The following values are always calculated, by default, by MapComplete and are available automatically on all elements in every theme
+
+
+### _lat, _lon 
+
 
-### _lat, _lon
 
 The latitude and longitude of the point (or centerpoint in the case of a way/area)
 
-### _surface, _surface:ha
+
+### _surface, _surface:ha 
+
+
 
 The surface area of the feature, in square meters and in hectare. Not set on points and ways
 
-### _length, _length:km
 
-The total length of a feature in meters (and in kilometers, rounded to one decimal for '_length:km'). For a surface, the
-length of the perimeter
+### _length, _length:km 
 
-### Theme-defined keys
 
-If 'units' is defined in the layoutConfig, then this metatagger will rewrite the specified keys to have the canonical
-form (e.g. `1meter` will be rewritten to `1m`)
 
-### _country
+The total length of a feature in meters (and in kilometers, rounded to one decimal for '_length:km'). For a surface, the length of the perimeter
+
+
+### Theme-defined keys 
+
+
+
+If 'units' is defined in the layoutConfig, then this metatagger will rewrite the specified keys to have the canonical form (e.g. `1meter` will be rewritten to `1m`)
+
+
+### _country 
+
+
 
 The country code of the property (with latlon2country)
 
-### _isOpen, _isOpen:description
+
+### _isOpen, _isOpen:description 
+
+
 
 If 'opening_hours' is present, it will add the current state of the feature (being 'yes' or 'no')
 
-### _width:needed, _width:needed:no_pedestrians, _width:difference
 
-Legacy for a specific project calculating the needed width for safe traffic on a road. Only activated if 'width:
-carriageway' is present
+### _width:needed, _width:needed:no_pedestrians, _width:difference 
 
-### _direction:numerical, _direction:leftright
 
-_direction:numerical is a normalized, numerical direction based on 'camera:direction' or on 'direction'; it is only
-present if a valid direction is found (e.g. 38.5 or NE). _direction:leftright is either 'left' or 'right', which is
-left-looking on the map or 'right-looking' on the map
 
-### _now:date, _now:datetime, _loaded:date, _loaded:_datetime
+Legacy for a specific project calculating the needed width for safe traffic on a road. Only activated if 'width:carriageway' is present
+
+
+### _direction:numerical, _direction:leftright 
+
+
+
+_direction:numerical is a normalized, numerical direction based on 'camera:direction' or on 'direction'; it is only present if a valid direction is found (e.g. 38.5 or NE). _direction:leftright is either 'left' or 'right', which is left-looking on the map or 'right-looking' on the map
+
+
+### _now:date, _now:datetime, _loaded:date, _loaded:_datetime 
+
+
+
+Adds the time that the data got loaded - pretty much the time of downloading from overpass. The format is YYYY-MM-DD hh:mm, aka 'sortable' aka ISO-8601-but-not-entirely
+
+
+### _last_edit:contributor, _last_edit:contributor:uid, _last_edit:changeset, _last_edit:timestamp, _version_number 
 
-Adds the time that the data got loaded - pretty much the time of downloading from overpass. The format is YYYY-MM-DD hh:
-mm, aka 'sortable' aka ISO-8601-but-not-entirely
 
-### _last_edit:contributor, _last_edit:contributor:uid, _last_edit:changeset, _last_edit:timestamp, _version_number
 
 Information about the last edit of this object.
 
 
-Calculating tags with Javascript
+ Calculating tags with Javascript 
 ----------------------------------
 
 
 
-In some cases, it is useful to have some tags calculated based on other properties. Some useful tags are available by
-default (e.g. `lat`, `lon`, `_country`), as detailed above.
+In some cases, it is useful to have some tags calculated based on other properties. Some useful tags are available by default (e.g. `lat`, `lon`, `_country`), as detailed above.
 
 It is also possible to calculate your own tags - but this requires some javascript knowledge.
 
+
+
 Before proceeding, some warnings:
 
-- DO NOT DO THIS AS BEGINNER
-- **Only do this if all other techniques fail**  This should _not_ be done to create a rendering effect, only to
-  calculate a specific value
-- **THIS MIGHT BE DISABLED WITHOUT ANY NOTICE ON UNOFFICIAL THEMES** As unofficial themes might be loaded from the
-  internet, this is the equivalent of injecting arbitrary code into the client. It'll be disabled if abuse occurs.
 
-To enable this feature, add a field `calculatedTags` in the layer object, e.g.:
+
+  - DO NOT DO THIS AS BEGINNER
+  - **Only do this if all other techniques fail**  This should _not_ be done to create a rendering effect, only to calculate a specific value
+  - **THIS MIGHT BE DISABLED WITHOUT ANY NOTICE ON UNOFFICIAL THEMES** As unofficial themes might be loaded from the internet, this is the equivalent of injecting arbitrary code into the client. It'll be disabled if abuse occurs.
+
+
+To enable this feature,  add a field `calculatedTags` in the layer object, e.g.:
 
 ````
 
@@ -101,56 +125,58 @@ To enable this feature, add a field `calculatedTags` in the layer object, e.g.:
 
 ````
 
-The above code will be executed for every feature in the layer. The feature is accessible as `feat` and is an amended
-geojson object:
 
-- `area` contains the surface area (in square meters) of the object
-- `lat` and `lon` contain the latitude and longitude
 
-Some advanced functions are available on **feat** as well:
+The above code will be executed for every feature in the layer. The feature is accessible as `feat` and is an amended geojson object:
 
-- distanceTo
-- overlapWith
-- closest
-- memberships
-- score
 
-### distanceTo
 
-Calculates the distance between the feature and a specified point in kilometer. The input should either be a pair of
-coordinates, a geojson feature or the ID of an object
+  - `area` contains the surface area (in square meters) of the object
+  - `lat` and `lon` contain the latitude and longitude
 
-0. longitude
-1. latitude
 
-### overlapWith
+Some advanced functions are available on **feat** as well: 
 
-Gives a list of features from the specified layer which this feature (partly) overlaps with. If the current feature is a
-point, all features that embed the point are given. The returned value is `{ feat: GeoJSONFeature, overlap: number}[]`
-where `overlap` is the overlapping surface are (in m²) for areas, the overlapping length (in meter) if the current
-feature is a line or `undefined` if the current feature is a point
+  - distanceTo
+  - overlapWith
+  - closest
+  - memberships
+  - score
+ 
+### distanceTo 
 
-0. ...layerIds - one or more layer ids of the layer from which every feature is checked for overlap)
+ Calculates the distance between the feature and a specified point in kilometer. The input should either be a pair of coordinates, a geojson feature or the ID of an object 
 
-### closest
+  0. longitude
+  1. latitude
+ 
+### overlapWith 
 
-Given either a list of geojson features or a single layer name, gives the single object which is nearest to the feature.
-In the case of ways/polygons, only the centerpoint is considered.
+ Gives a list of features from the specified layer which this feature (partly) overlaps with. If the current feature is a point, all features that embed the point are given. The returned value is `{ feat: GeoJSONFeature, overlap: number}[]` where `overlap` is the overlapping surface are (in m²) for areas, the overlapping length (in meter) if the current feature is a line or `undefined` if the current feature is a point.
 
-0. list of features
+For example to get all objects which overlap or embed from a layer, use `_contained_climbing_routes_properties=feat.overlapWith('climbing_route')` 
 
-### memberships
+  0. ...layerIds - one or more layer ids  of the layer from which every feature is checked for overlap)
+ 
+### closest 
 
-Gives a list of `{role: string, relation: Relation}`-objects, containing all the relations that this feature is part of.
+ Given either a list of geojson features or a single layer name, gives the single object which is nearest to the feature. In the case of ways/polygons, only the centerpoint is considered. 
 
-For example: `_part_of_walking_routes=feat.memberships().map(r => r.relation.tags.name).join(';')`
+  0. list of features
+ 
+### memberships 
 
-### score
+ Gives a list of `{role: string, relation: Relation}`-objects, containing all the relations that this feature is part of. 
 
-Given the path of an aspected routing json file, will calculate the score. This score is wrapped in a UIEventSource, so
-for further calculations, use `.map(score => ...)`
+For example: `_part_of_walking_routes=feat.memberships().map(r => r.relation.tags.name).join(';')` 
 
-For
-example: `_comfort_score=feat.score('https://raw.githubusercontent.com/pietervdvn/AspectedRouting/master/Examples/bicycle/aspects/bicycle.comfort.json')`
 
-0. path Generated from SimpleMetaTagger, ExtraFunction
\ No newline at end of file
+ 
+### score 
+
+ Given the path of an aspected routing json file, will calculate the score. This score is wrapped in a UIEventSource, so for further calculations, use `.map(score => ...)`
+
+For example: `_comfort_score=feat.score('https://raw.githubusercontent.com/pietervdvn/AspectedRouting/master/Examples/bicycle/aspects/bicycle.comfort.json')` 
+
+  0. path
+ Generated from SimpleMetaTagger, ExtraFunction
\ No newline at end of file
diff --git a/Docs/SpecialInputElements.md b/Docs/SpecialInputElements.md
index b7628b51b..957a74db4 100644
--- a/Docs/SpecialInputElements.md
+++ b/Docs/SpecialInputElements.md
@@ -1,7 +1,6 @@
 # Available types for text fields
 
-The listed types here trigger a special input element. Use them in `tagrendering.freeform.type` of your tagrendering to
-activate them
+The listed types here trigger a special input element. Use them in `tagrendering.freeform.type` of your tagrendering to activate them
 
 ## string
 
@@ -21,8 +20,7 @@ A geographical direction, in degrees. 0° is north, 90° is east, ... Will retur
 
 ## length
 
-A geographical length in meters (rounded at two points). Will give an extra minimap with a measurement tool.
-Arguments: [ zoomlevel, preferredBackgroundMapType (comma separated) ], e.g. `["21", "map,photo"]
+A geographical length in meters (rounded at two points). Will give an extra minimap with a measurement tool. Arguments: [ zoomlevel, preferredBackgroundMapType (comma separated) ], e.g. `["21", "map,photo"]
 
 ## wikidata
 
diff --git a/Docs/SpecialRenderings.md b/Docs/SpecialRenderings.md
index 056765e58..da4a4bc20 100644
--- a/Docs/SpecialRenderings.md
+++ b/Docs/SpecialRenderings.md
@@ -1,110 +1,92 @@
-### Special tag renderings
 
-In a tagrendering, some special values are substituted by an advanced UI-element. This allows advanced features and
-visualizations to be reused by custom themes or even to query third-party API's. General usage is `{func_name()}`
-, `{func_name(arg, someotherarg)}` or `{func_name(args):cssStyle}`. Note that you _do not_fcs need to use quotes around
-your arguments, the comma is enough to separate them. This also implies you cannot use a comma in your args
+### Special tag renderings 
 
-### all_tags
+ In a tagrendering, some special values are substituted by an advanced UI-element. This allows advanced features and visualizations to be reused by custom themes or even to query third-party API's. General usage is `{func_name()}`, `{func_name(arg, someotherarg)}` or `{func_name(args):cssStyle}`. Note that you _do not_fcs need to use quotes around your arguments, the comma is enough to separate them. This also implies you cannot use a comma in your args 
+### all_tags 
 
-Prints all key-value pairs of the object - used for debugging
+ Prints all key-value pairs of the object - used for debugging 
 
 name | default | description
 ------ | --------- | -------------
 
-#### Example usage
+ 
+#### Example usage 
 
-{all_tags()}
+ `{all_tags()}` 
+### image_carousel 
 
-### image_carousel
-
-Creates an image carousel for the given sources. An attempt will be made to guess what source is used. Supported:
-Wikidata identifiers, Wikipedia pages, Wikimedia categories, IMGUR (with attribution, direct links)
+ Creates an image carousel for the given sources. An attempt will be made to guess what source is used. Supported: Wikidata identifiers, Wikipedia pages, Wikimedia categories, IMGUR (with attribution, direct links) 
 
 name | default | description
 ------ | --------- | -------------
-image key/prefix | image | The keys given to the images, e.g. if <span class='literal-code'>image</span> is given, the first picture URL will be added as <span class='literal-code'>image</span>, the second as <span class='literal-code'>image:0</span>, the third as <span class='literal-code'>image:1</span>, etc...
+image key/prefix | image | The keys given to the images, e.g. if <span class='literal-code'>image</span> is given, the first picture URL will be added as <span class='literal-code'>image</span>, the second as <span class='literal-code'>image:0</span>, the third as <span class='literal-code'>image:1</span>, etc... 
 smart search | true | Also include images given via 'Wikidata', 'wikimedia_commons' and 'mapillary
+ 
+#### Example usage 
 
-#### Example usage
+ `{image_carousel(image,true)}` 
+### image_upload 
 
-{image_carousel(image,true)}
-
-### image_upload
-
-Creates a button where a user can upload an image to IMGUR
+ Creates a button where a user can upload an image to IMGUR 
 
 name | default | description
 ------ | --------- | -------------
 image-key | image | Image tag to add the URL to (or image-tag:0, image-tag:1 when multiple images are added)
+ 
+#### Example usage 
 
-#### Example usage
+ `{image_upload(image)}` 
+### minimap 
 
-{image_upload(image)}
-
-### minimap
-
-A small map showing the selected feature. Note that no styling is applied, wrap this in a div
+ A small map showing the selected feature. Note that no styling is applied, wrap this in a div 
 
 name | default | description
 ------ | --------- | -------------
 zoomlevel | 18 | The (maximum) zoomlevel: the target zoomlevel after fitting the entire feature. The minimap will fit the entire feature, then zoom out to this zoom level. The higher, the more zoomed in with 1 being the entire world and 19 being really close
 idKey | id | (Matches all resting arguments) This argument should be the key of a property of the feature. The corresponding value is interpreted as either the id or the a list of ID's. The features with these ID's will be shown on this minimap.
+ 
+#### Example usage 
 
-#### Example usage
+ `{minimap()}`, `{minimap(17, id, _list_of_embedded_feature_ids_calculated_by_calculated_tag):height:10rem; border: 2px solid black}` 
+### reviews 
 
-`{minimap()}`
-, `{minimap(17, id, _list_of_embedded_feature_ids_calculated_by_calculated_tag):height:10rem; border: 2px solid black}`
-
-### reviews
-
-Adds an overview of the mangrove-reviews of this object. Mangrove.Reviews needs - in order to identify the reviewed
-object - a coordinate and a name. By default, the name of the object is given, but this can be overwritten
+ Adds an overview of the mangrove-reviews of this object. Mangrove.Reviews needs - in order to identify the reviewed object - a coordinate and a name. By default, the name of the object is given, but this can be overwritten 
 
 name | default | description
 ------ | --------- | -------------
 subjectKey | name | The key to use to determine the subject. If specified, the subject will be <b>tags[subjectKey]</b>
 fallback | undefined | The identifier to use, if <i>tags[subjectKey]</i> as specified above is not available. This is effectively a fallback value
+ 
+#### Example usage 
 
-#### Example usage
+ `{reviews()}` for a vanilla review, `{reviews(name, play_forest)}` to review a play forest. If a name is known, the name will be used as identifier, otherwise 'play_forest' is used 
+### opening_hours_table 
 
-<b>{reviews()}<b> for a vanilla review, <b>{reviews(name, play_forest)}</b> to review a play forest. If a name is known,
-the name will be used as identifier, otherwise 'play_forest' is used
-
-### opening_hours_table
-
-Creates an opening-hours table. Usage: {opening_hours_table(opening_hours)} to create a table of the tag '
-opening_hours'.
+ Creates an opening-hours table. Usage: {opening_hours_table(opening_hours)} to create a table of the tag 'opening_hours'. 
 
 name | default | description
 ------ | --------- | -------------
 key | opening_hours | The tagkey from which the table is constructed.
+ 
+#### Example usage 
 
-#### Example usage
+ `{opening_hours_table(opening_hours)}` 
+### live 
 
-{opening_hours_table(opening_hours)}
-
-### live
-
-Downloads a JSON from the given URL, e.g. '{live(example.org/data.json, shorthand:x.y.z, other:a.b.c, shorthand)}' will
-download the given file, will create an object {shorthand: json[x][y][z], other: json[a][b][c] out of it and will
-return 'other' or 'json[a][b][c]. This is made to use in combination with tags, e.g. {live({url}, {url:format},
-needed_value)}
+ Downloads a JSON from the given URL, e.g. '{live(example.org/data.json, shorthand:x.y.z, other:a.b.c, shorthand)}' will download the given file, will create an object {shorthand: json[x][y][z], other: json[a][b][c] out of it and will return 'other' or 'json[a][b][c]. This is made to use in combination with tags, e.g. {live({url}, {url:format}, needed_value)} 
 
 name | default | description
 ------ | --------- | -------------
 Url | undefined | The URL to load
 Shorthands | undefined | A list of shorthands, of the format 'shorthandname:path.path.path'. separated by ;
 path | undefined | The path (or shorthand) that should be returned
+ 
+#### Example usage 
 
-#### Example usage
+ {live({url},{url:format},hour)} {live(https://data.mobility.brussels/bike/api/counts/?request=live&featureID=CB2105,hour:data.hour_cnt;day:data.day_cnt;year:data.year_cnt,hour)} 
+### histogram 
 
-{live({url},{url:format},hour)}
-{live(https://data.mobility.brussels/bike/api/counts/?request=live&featureID=CB2105,hour:data.hour_cnt;day:data.day_cnt;year:data.year_cnt,hour)}
-
-### histogram
-
-Create a histogram for a list of given values, read from the properties.
+ Create a histogram for a list of given values, read from the properties. 
 
 name | default | description
 ------ | --------- | -------------
@@ -112,31 +94,50 @@ key | undefined | The key to be read and to generate a histogram from
 title |  | The text to put above the given values column
 countHeader |  | The text to put above the counts
 colors* | undefined | (Matches all resting arguments - optional) Matches a regex onto a color value, e.g. `3[a-zA-Z+-]*:#33cc33`
+ 
+#### Example usage 
 
-#### Example usage
+ `{histogram('some_key')}` with properties being `{some_key: ['a','b','a','c']} to create a histogram 
+### share_link 
 
-`{histogram('some_key')}` with properties being `{some_key: ['a','b','a','c']} to create a histogram
-
-### share_link
-
-Creates a link that (attempts to) open the native 'share'-screen
+ Creates a link that (attempts to) open the native 'share'-screen 
 
 name | default | description
 ------ | --------- | -------------
 url | undefined | The url to share (default: current URL)
+ 
+#### Example usage 
 
-#### Example usage
+ {share_link()} to share the current page, {share_link(<some_url>)} to share the given url 
+### canonical 
 
-{share_link()} to share the current page, {share_link(<some_url>)} to share the given url
-
-### canonical
-
-Converts a short, canonical value into the long, translated text
+ Converts a short, canonical value into the long, translated text 
 
 name | default | description
 ------ | --------- | -------------
 key | undefined | The key of the tag to give the canonical text for
+ 
+#### Example usage 
 
-#### Example usage
+ {canonical(length)} will give 42 metre (in french) 
+### import_button 
 
-{canonical(length)} will give 42 metre (in french) Generated from UI/SpecialVisualisations.ts
\ No newline at end of file
+ This button will copy the data from an external dataset into OpenStreetMap. It is only functional in official themes but can be tested in unofficial themes.
+
+If you want to import a dataset, make sure that:
+
+1. The dataset to import has a suitable license
+2. The community has been informed of the import
+3. The theme will filter out duplicate nodes4. All other requirements of the [import guidelines](https://wiki.openstreetmap.org/wiki/Import/Guidelines) have been followed 
+
+name | default | description
+------ | --------- | -------------
+tags | undefined | Tags to copy-specification. This contains one or more pairs (seperated by a `;`), e.g. `amenity=fast_food; addr:housenumber={number}`. This new point will then have the tags `amenity=fast_food` and `addr:housenumber` with the value that was saved in `number` in the original feature. (Hint: prepare these values, e.g. with calculatedTags)
+text | Import this data into OpenStreetMap | The text to show on the button
+icon | ./assets/svg/addSmall.svg | A nice icon to show in the button
+ 
+#### Example usage 
+
+ `{import_button(,Import this data into OpenStreetMap,./assets/svg/addSmall.svg)}`
+ 
+Generated from UI/SpecialVisualisations.ts
\ No newline at end of file
diff --git a/Docs/TagInfo/mapcomplete_charging_stations.json b/Docs/TagInfo/mapcomplete_charging_stations.json
index 948444129..0306d7284 100644
--- a/Docs/TagInfo/mapcomplete_charging_stations.json
+++ b/Docs/TagInfo/mapcomplete_charging_stations.json
@@ -189,38 +189,381 @@
       "key": "socket:schuko",
       "description": "Layer 'Charging stations' shows and asks freeform values for key 'socket:schuko' (in the MapComplete.osm.be theme 'Charging stations')"
     },
+    {
+      "key": "socket:schuko:voltage",
+      "description": "Layer 'Charging stations' shows and asks freeform values for key 'socket:schuko:voltage' (in the MapComplete.osm.be theme 'Charging stations')"
+    },
+    {
+      "key": "socket:socket:schuko:voltage",
+      "description": "Layer 'Charging stations' shows socket:socket:schuko:voltage=230 V with a fixed text, namely '<b><b>Schuko wall plug</b> without ground pin (CEE7/4 type F)</b> <img style='width:1rem;' src='./assets/layers/charging_station/CEE7_4F.svg'/> outputs 230 volt' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')",
+      "value": "230 V"
+    },
+    {
+      "key": "socket:schuko:current",
+      "description": "Layer 'Charging stations' shows and asks freeform values for key 'socket:schuko:current' (in the MapComplete.osm.be theme 'Charging stations')"
+    },
+    {
+      "key": "socket:socket:schuko:current",
+      "description": "Layer 'Charging stations' shows socket:socket:schuko:current=16 A with a fixed text, namely '<b><b>Schuko wall plug</b> without ground pin (CEE7/4 type F)</b> <img style='width:1rem;' src='./assets/layers/charging_station/CEE7_4F.svg'/> outputs at most 16 A' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')",
+      "value": "16 A"
+    },
+    {
+      "key": "socket:schuko:output",
+      "description": "Layer 'Charging stations' shows and asks freeform values for key 'socket:schuko:output' (in the MapComplete.osm.be theme 'Charging stations')"
+    },
+    {
+      "key": "socket:socket:schuko:output",
+      "description": "Layer 'Charging stations' shows socket:socket:schuko:output=3.6 kw with a fixed text, namely '<b><b>Schuko wall plug</b> without ground pin (CEE7/4 type F)</b> <img style='width:1rem;' src='./assets/layers/charging_station/CEE7_4F.svg'/> outputs at most 3.6 kw' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')",
+      "value": "3.6 kw"
+    },
     {
       "key": "socket:typee",
       "description": "Layer 'Charging stations' shows and asks freeform values for key 'socket:typee' (in the MapComplete.osm.be theme 'Charging stations')"
     },
+    {
+      "key": "socket:typee:voltage",
+      "description": "Layer 'Charging stations' shows and asks freeform values for key 'socket:typee:voltage' (in the MapComplete.osm.be theme 'Charging stations')"
+    },
+    {
+      "key": "socket:socket:typee:voltage",
+      "description": "Layer 'Charging stations' shows socket:socket:typee:voltage=230 V with a fixed text, namely '<b><b>European wall plug</b> with ground pin (CEE7/4 type E)</b> <img style='width:1rem;' src='./assets/layers/charging_station/TypeE.svg'/> outputs 230 volt' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')",
+      "value": "230 V"
+    },
+    {
+      "key": "socket:typee:current",
+      "description": "Layer 'Charging stations' shows and asks freeform values for key 'socket:typee:current' (in the MapComplete.osm.be theme 'Charging stations')"
+    },
+    {
+      "key": "socket:socket:typee:current",
+      "description": "Layer 'Charging stations' shows socket:socket:typee:current=16 A with a fixed text, namely '<b><b>European wall plug</b> with ground pin (CEE7/4 type E)</b> <img style='width:1rem;' src='./assets/layers/charging_station/TypeE.svg'/> outputs at most 16 A' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')",
+      "value": "16 A"
+    },
+    {
+      "key": "socket:typee:output",
+      "description": "Layer 'Charging stations' shows and asks freeform values for key 'socket:typee:output' (in the MapComplete.osm.be theme 'Charging stations')"
+    },
+    {
+      "key": "socket:socket:typee:output",
+      "description": "Layer 'Charging stations' shows socket:socket:typee:output=3 kw with a fixed text, namely '<b><b>European wall plug</b> with ground pin (CEE7/4 type E)</b> <img style='width:1rem;' src='./assets/layers/charging_station/TypeE.svg'/> outputs at most 3 kw' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')",
+      "value": "3 kw"
+    },
+    {
+      "key": "socket:socket:typee:output",
+      "description": "Layer 'Charging stations' shows socket:socket:typee:output=22 kw with a fixed text, namely '<b><b>European wall plug</b> with ground pin (CEE7/4 type E)</b> <img style='width:1rem;' src='./assets/layers/charging_station/TypeE.svg'/> outputs at most 22 kw' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')",
+      "value": "22 kw"
+    },
     {
       "key": "socket:chademo",
       "description": "Layer 'Charging stations' shows and asks freeform values for key 'socket:chademo' (in the MapComplete.osm.be theme 'Charging stations')"
     },
+    {
+      "key": "socket:chademo:voltage",
+      "description": "Layer 'Charging stations' shows and asks freeform values for key 'socket:chademo:voltage' (in the MapComplete.osm.be theme 'Charging stations')"
+    },
+    {
+      "key": "socket:socket:chademo:voltage",
+      "description": "Layer 'Charging stations' shows socket:socket:chademo:voltage=500 V with a fixed text, namely '<b><b>Chademo</b></b> <img style='width:1rem;' src='./assets/layers/charging_station/Chademo_type4.svg'/> outputs 500 volt' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')",
+      "value": "500 V"
+    },
+    {
+      "key": "socket:chademo:current",
+      "description": "Layer 'Charging stations' shows and asks freeform values for key 'socket:chademo:current' (in the MapComplete.osm.be theme 'Charging stations')"
+    },
+    {
+      "key": "socket:socket:chademo:current",
+      "description": "Layer 'Charging stations' shows socket:socket:chademo:current=120 A with a fixed text, namely '<b><b>Chademo</b></b> <img style='width:1rem;' src='./assets/layers/charging_station/Chademo_type4.svg'/> outputs at most 120 A' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')",
+      "value": "120 A"
+    },
+    {
+      "key": "socket:chademo:output",
+      "description": "Layer 'Charging stations' shows and asks freeform values for key 'socket:chademo:output' (in the MapComplete.osm.be theme 'Charging stations')"
+    },
+    {
+      "key": "socket:socket:chademo:output",
+      "description": "Layer 'Charging stations' shows socket:socket:chademo:output=50 kw with a fixed text, namely '<b><b>Chademo</b></b> <img style='width:1rem;' src='./assets/layers/charging_station/Chademo_type4.svg'/> outputs at most 50 kw' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')",
+      "value": "50 kw"
+    },
     {
       "key": "socket:type1_cable",
       "description": "Layer 'Charging stations' shows and asks freeform values for key 'socket:type1_cable' (in the MapComplete.osm.be theme 'Charging stations')"
     },
+    {
+      "key": "socket:type1_cable:voltage",
+      "description": "Layer 'Charging stations' shows and asks freeform values for key 'socket:type1_cable:voltage' (in the MapComplete.osm.be theme 'Charging stations')"
+    },
+    {
+      "key": "socket:socket:type1_cable:voltage",
+      "description": "Layer 'Charging stations' shows socket:socket:type1_cable:voltage=200 V with a fixed text, namely '<b><b>Type 1 with cable</b> (J1772)</b> <img style='width:1rem;' src='./assets/layers/charging_station/Type1_J1772.svg'/> outputs 200 volt' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')",
+      "value": "200 V"
+    },
+    {
+      "key": "socket:socket:type1_cable:voltage",
+      "description": "Layer 'Charging stations' shows socket:socket:type1_cable:voltage=240 V with a fixed text, namely '<b><b>Type 1 with cable</b> (J1772)</b> <img style='width:1rem;' src='./assets/layers/charging_station/Type1_J1772.svg'/> outputs 240 volt' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')",
+      "value": "240 V"
+    },
+    {
+      "key": "socket:type1_cable:current",
+      "description": "Layer 'Charging stations' shows and asks freeform values for key 'socket:type1_cable:current' (in the MapComplete.osm.be theme 'Charging stations')"
+    },
+    {
+      "key": "socket:socket:type1_cable:current",
+      "description": "Layer 'Charging stations' shows socket:socket:type1_cable:current=32 A with a fixed text, namely '<b><b>Type 1 with cable</b> (J1772)</b> <img style='width:1rem;' src='./assets/layers/charging_station/Type1_J1772.svg'/> outputs at most 32 A' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')",
+      "value": "32 A"
+    },
+    {
+      "key": "socket:type1_cable:output",
+      "description": "Layer 'Charging stations' shows and asks freeform values for key 'socket:type1_cable:output' (in the MapComplete.osm.be theme 'Charging stations')"
+    },
+    {
+      "key": "socket:socket:type1_cable:output",
+      "description": "Layer 'Charging stations' shows socket:socket:type1_cable:output=3.7 kw with a fixed text, namely '<b><b>Type 1 with cable</b> (J1772)</b> <img style='width:1rem;' src='./assets/layers/charging_station/Type1_J1772.svg'/> outputs at most 3.7 kw' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')",
+      "value": "3.7 kw"
+    },
+    {
+      "key": "socket:socket:type1_cable:output",
+      "description": "Layer 'Charging stations' shows socket:socket:type1_cable:output=7 kw with a fixed text, namely '<b><b>Type 1 with cable</b> (J1772)</b> <img style='width:1rem;' src='./assets/layers/charging_station/Type1_J1772.svg'/> outputs at most 7 kw' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')",
+      "value": "7 kw"
+    },
     {
       "key": "socket:type1",
       "description": "Layer 'Charging stations' shows and asks freeform values for key 'socket:type1' (in the MapComplete.osm.be theme 'Charging stations')"
     },
+    {
+      "key": "socket:type1:voltage",
+      "description": "Layer 'Charging stations' shows and asks freeform values for key 'socket:type1:voltage' (in the MapComplete.osm.be theme 'Charging stations')"
+    },
+    {
+      "key": "socket:socket:type1:voltage",
+      "description": "Layer 'Charging stations' shows socket:socket:type1:voltage=200 V with a fixed text, namely '<b><b>Type 1 <i>without</i> cable</b> (J1772)</b> <img style='width:1rem;' src='./assets/layers/charging_station/Type1_J1772.svg'/> outputs 200 volt' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')",
+      "value": "200 V"
+    },
+    {
+      "key": "socket:socket:type1:voltage",
+      "description": "Layer 'Charging stations' shows socket:socket:type1:voltage=240 V with a fixed text, namely '<b><b>Type 1 <i>without</i> cable</b> (J1772)</b> <img style='width:1rem;' src='./assets/layers/charging_station/Type1_J1772.svg'/> outputs 240 volt' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')",
+      "value": "240 V"
+    },
+    {
+      "key": "socket:type1:current",
+      "description": "Layer 'Charging stations' shows and asks freeform values for key 'socket:type1:current' (in the MapComplete.osm.be theme 'Charging stations')"
+    },
+    {
+      "key": "socket:socket:type1:current",
+      "description": "Layer 'Charging stations' shows socket:socket:type1:current=32 A with a fixed text, namely '<b><b>Type 1 <i>without</i> cable</b> (J1772)</b> <img style='width:1rem;' src='./assets/layers/charging_station/Type1_J1772.svg'/> outputs at most 32 A' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')",
+      "value": "32 A"
+    },
+    {
+      "key": "socket:type1:output",
+      "description": "Layer 'Charging stations' shows and asks freeform values for key 'socket:type1:output' (in the MapComplete.osm.be theme 'Charging stations')"
+    },
+    {
+      "key": "socket:socket:type1:output",
+      "description": "Layer 'Charging stations' shows socket:socket:type1:output=3.7 kw with a fixed text, namely '<b><b>Type 1 <i>without</i> cable</b> (J1772)</b> <img style='width:1rem;' src='./assets/layers/charging_station/Type1_J1772.svg'/> outputs at most 3.7 kw' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')",
+      "value": "3.7 kw"
+    },
+    {
+      "key": "socket:socket:type1:output",
+      "description": "Layer 'Charging stations' shows socket:socket:type1:output=6.6 kw with a fixed text, namely '<b><b>Type 1 <i>without</i> cable</b> (J1772)</b> <img style='width:1rem;' src='./assets/layers/charging_station/Type1_J1772.svg'/> outputs at most 6.6 kw' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')",
+      "value": "6.6 kw"
+    },
+    {
+      "key": "socket:socket:type1:output",
+      "description": "Layer 'Charging stations' shows socket:socket:type1:output=7 kw with a fixed text, namely '<b><b>Type 1 <i>without</i> cable</b> (J1772)</b> <img style='width:1rem;' src='./assets/layers/charging_station/Type1_J1772.svg'/> outputs at most 7 kw' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')",
+      "value": "7 kw"
+    },
+    {
+      "key": "socket:socket:type1:output",
+      "description": "Layer 'Charging stations' shows socket:socket:type1:output=7.2 kw with a fixed text, namely '<b><b>Type 1 <i>without</i> cable</b> (J1772)</b> <img style='width:1rem;' src='./assets/layers/charging_station/Type1_J1772.svg'/> outputs at most 7.2 kw' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')",
+      "value": "7.2 kw"
+    },
     {
       "key": "socket:type1_combo",
       "description": "Layer 'Charging stations' shows and asks freeform values for key 'socket:type1_combo' (in the MapComplete.osm.be theme 'Charging stations')"
     },
+    {
+      "key": "socket:type1_combo:voltage",
+      "description": "Layer 'Charging stations' shows and asks freeform values for key 'socket:type1_combo:voltage' (in the MapComplete.osm.be theme 'Charging stations')"
+    },
+    {
+      "key": "socket:socket:type1_combo:voltage",
+      "description": "Layer 'Charging stations' shows socket:socket:type1_combo:voltage=400 V with a fixed text, namely '<b><b>Type 1 CCS</b> (aka Type 1 Combo)</b> <img style='width:1rem;' src='./assets/layers/charging_station/Type1-ccs.svg'/> outputs 400 volt' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')",
+      "value": "400 V"
+    },
+    {
+      "key": "socket:socket:type1_combo:voltage",
+      "description": "Layer 'Charging stations' shows socket:socket:type1_combo:voltage=1000 V with a fixed text, namely '<b><b>Type 1 CCS</b> (aka Type 1 Combo)</b> <img style='width:1rem;' src='./assets/layers/charging_station/Type1-ccs.svg'/> outputs 1000 volt' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')",
+      "value": "1000 V"
+    },
+    {
+      "key": "socket:type1_combo:current",
+      "description": "Layer 'Charging stations' shows and asks freeform values for key 'socket:type1_combo:current' (in the MapComplete.osm.be theme 'Charging stations')"
+    },
+    {
+      "key": "socket:socket:type1_combo:current",
+      "description": "Layer 'Charging stations' shows socket:socket:type1_combo:current=50 A with a fixed text, namely '<b><b>Type 1 CCS</b> (aka Type 1 Combo)</b> <img style='width:1rem;' src='./assets/layers/charging_station/Type1-ccs.svg'/> outputs at most 50 A' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')",
+      "value": "50 A"
+    },
+    {
+      "key": "socket:socket:type1_combo:current",
+      "description": "Layer 'Charging stations' shows socket:socket:type1_combo:current=125 A with a fixed text, namely '<b><b>Type 1 CCS</b> (aka Type 1 Combo)</b> <img style='width:1rem;' src='./assets/layers/charging_station/Type1-ccs.svg'/> outputs at most 125 A' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')",
+      "value": "125 A"
+    },
+    {
+      "key": "socket:type1_combo:output",
+      "description": "Layer 'Charging stations' shows and asks freeform values for key 'socket:type1_combo:output' (in the MapComplete.osm.be theme 'Charging stations')"
+    },
+    {
+      "key": "socket:socket:type1_combo:output",
+      "description": "Layer 'Charging stations' shows socket:socket:type1_combo:output=50 kw with a fixed text, namely '<b><b>Type 1 CCS</b> (aka Type 1 Combo)</b> <img style='width:1rem;' src='./assets/layers/charging_station/Type1-ccs.svg'/> outputs at most 50 kw' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')",
+      "value": "50 kw"
+    },
+    {
+      "key": "socket:socket:type1_combo:output",
+      "description": "Layer 'Charging stations' shows socket:socket:type1_combo:output=62.5 kw with a fixed text, namely '<b><b>Type 1 CCS</b> (aka Type 1 Combo)</b> <img style='width:1rem;' src='./assets/layers/charging_station/Type1-ccs.svg'/> outputs at most 62.5 kw' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')",
+      "value": "62.5 kw"
+    },
+    {
+      "key": "socket:socket:type1_combo:output",
+      "description": "Layer 'Charging stations' shows socket:socket:type1_combo:output=150 kw with a fixed text, namely '<b><b>Type 1 CCS</b> (aka Type 1 Combo)</b> <img style='width:1rem;' src='./assets/layers/charging_station/Type1-ccs.svg'/> outputs at most 150 kw' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')",
+      "value": "150 kw"
+    },
+    {
+      "key": "socket:socket:type1_combo:output",
+      "description": "Layer 'Charging stations' shows socket:socket:type1_combo:output=350 kw with a fixed text, namely '<b><b>Type 1 CCS</b> (aka Type 1 Combo)</b> <img style='width:1rem;' src='./assets/layers/charging_station/Type1-ccs.svg'/> outputs at most 350 kw' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')",
+      "value": "350 kw"
+    },
     {
       "key": "socket:tesla_supercharger",
       "description": "Layer 'Charging stations' shows and asks freeform values for key 'socket:tesla_supercharger' (in the MapComplete.osm.be theme 'Charging stations')"
     },
+    {
+      "key": "socket:tesla_supercharger:voltage",
+      "description": "Layer 'Charging stations' shows and asks freeform values for key 'socket:tesla_supercharger:voltage' (in the MapComplete.osm.be theme 'Charging stations')"
+    },
+    {
+      "key": "socket:socket:tesla_supercharger:voltage",
+      "description": "Layer 'Charging stations' shows socket:socket:tesla_supercharger:voltage=480 V with a fixed text, namely '<b><b>Tesla Supercharger</b></b> <img style='width:1rem;' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/> outputs 480 volt' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')",
+      "value": "480 V"
+    },
+    {
+      "key": "socket:tesla_supercharger:current",
+      "description": "Layer 'Charging stations' shows and asks freeform values for key 'socket:tesla_supercharger:current' (in the MapComplete.osm.be theme 'Charging stations')"
+    },
+    {
+      "key": "socket:socket:tesla_supercharger:current",
+      "description": "Layer 'Charging stations' shows socket:socket:tesla_supercharger:current=125 A with a fixed text, namely '<b><b>Tesla Supercharger</b></b> <img style='width:1rem;' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/> outputs at most 125 A' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')",
+      "value": "125 A"
+    },
+    {
+      "key": "socket:socket:tesla_supercharger:current",
+      "description": "Layer 'Charging stations' shows socket:socket:tesla_supercharger:current=350 A with a fixed text, namely '<b><b>Tesla Supercharger</b></b> <img style='width:1rem;' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/> outputs at most 350 A' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')",
+      "value": "350 A"
+    },
+    {
+      "key": "socket:tesla_supercharger:output",
+      "description": "Layer 'Charging stations' shows and asks freeform values for key 'socket:tesla_supercharger:output' (in the MapComplete.osm.be theme 'Charging stations')"
+    },
+    {
+      "key": "socket:socket:tesla_supercharger:output",
+      "description": "Layer 'Charging stations' shows socket:socket:tesla_supercharger:output=120 kw with a fixed text, namely '<b><b>Tesla Supercharger</b></b> <img style='width:1rem;' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/> outputs at most 120 kw' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')",
+      "value": "120 kw"
+    },
+    {
+      "key": "socket:socket:tesla_supercharger:output",
+      "description": "Layer 'Charging stations' shows socket:socket:tesla_supercharger:output=150 kw with a fixed text, namely '<b><b>Tesla Supercharger</b></b> <img style='width:1rem;' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/> outputs at most 150 kw' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')",
+      "value": "150 kw"
+    },
+    {
+      "key": "socket:socket:tesla_supercharger:output",
+      "description": "Layer 'Charging stations' shows socket:socket:tesla_supercharger:output=250 kw with a fixed text, namely '<b><b>Tesla Supercharger</b></b> <img style='width:1rem;' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/> outputs at most 250 kw' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')",
+      "value": "250 kw"
+    },
     {
       "key": "socket:type2",
       "description": "Layer 'Charging stations' shows and asks freeform values for key 'socket:type2' (in the MapComplete.osm.be theme 'Charging stations')"
     },
+    {
+      "key": "socket:type2:voltage",
+      "description": "Layer 'Charging stations' shows and asks freeform values for key 'socket:type2:voltage' (in the MapComplete.osm.be theme 'Charging stations')"
+    },
+    {
+      "key": "socket:socket:type2:voltage",
+      "description": "Layer 'Charging stations' shows socket:socket:type2:voltage=230 V with a fixed text, namely '<b><b>Type 2</b> (mennekes)</b> <img style='width:1rem;' src='./assets/layers/charging_station/Type2_socket.svg'/> outputs 230 volt' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')",
+      "value": "230 V"
+    },
+    {
+      "key": "socket:socket:type2:voltage",
+      "description": "Layer 'Charging stations' shows socket:socket:type2:voltage=400 V with a fixed text, namely '<b><b>Type 2</b> (mennekes)</b> <img style='width:1rem;' src='./assets/layers/charging_station/Type2_socket.svg'/> outputs 400 volt' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')",
+      "value": "400 V"
+    },
+    {
+      "key": "socket:type2:current",
+      "description": "Layer 'Charging stations' shows and asks freeform values for key 'socket:type2:current' (in the MapComplete.osm.be theme 'Charging stations')"
+    },
+    {
+      "key": "socket:socket:type2:current",
+      "description": "Layer 'Charging stations' shows socket:socket:type2:current=16 A with a fixed text, namely '<b><b>Type 2</b> (mennekes)</b> <img style='width:1rem;' src='./assets/layers/charging_station/Type2_socket.svg'/> outputs at most 16 A' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')",
+      "value": "16 A"
+    },
+    {
+      "key": "socket:socket:type2:current",
+      "description": "Layer 'Charging stations' shows socket:socket:type2:current=32 A with a fixed text, namely '<b><b>Type 2</b> (mennekes)</b> <img style='width:1rem;' src='./assets/layers/charging_station/Type2_socket.svg'/> outputs at most 32 A' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')",
+      "value": "32 A"
+    },
+    {
+      "key": "socket:type2:output",
+      "description": "Layer 'Charging stations' shows and asks freeform values for key 'socket:type2:output' (in the MapComplete.osm.be theme 'Charging stations')"
+    },
+    {
+      "key": "socket:socket:type2:output",
+      "description": "Layer 'Charging stations' shows socket:socket:type2:output=11 kw with a fixed text, namely '<b><b>Type 2</b> (mennekes)</b> <img style='width:1rem;' src='./assets/layers/charging_station/Type2_socket.svg'/> outputs at most 11 kw' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')",
+      "value": "11 kw"
+    },
+    {
+      "key": "socket:socket:type2:output",
+      "description": "Layer 'Charging stations' shows socket:socket:type2:output=22 kw with a fixed text, namely '<b><b>Type 2</b> (mennekes)</b> <img style='width:1rem;' src='./assets/layers/charging_station/Type2_socket.svg'/> outputs at most 22 kw' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')",
+      "value": "22 kw"
+    },
     {
       "key": "socket:type2_combo",
       "description": "Layer 'Charging stations' shows and asks freeform values for key 'socket:type2_combo' (in the MapComplete.osm.be theme 'Charging stations')"
     },
+    {
+      "key": "socket:type2_combo:voltage",
+      "description": "Layer 'Charging stations' shows and asks freeform values for key 'socket:type2_combo:voltage' (in the MapComplete.osm.be theme 'Charging stations')"
+    },
+    {
+      "key": "socket:socket:type2_combo:voltage",
+      "description": "Layer 'Charging stations' shows socket:socket:type2_combo:voltage=500 V with a fixed text, namely '<b><b>Type 2 CCS</b> (mennekes)</b> <img style='width:1rem;' src='./assets/layers/charging_station/Type2_CCS.svg'/> outputs 500 volt' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')",
+      "value": "500 V"
+    },
+    {
+      "key": "socket:socket:type2_combo:voltage",
+      "description": "Layer 'Charging stations' shows socket:socket:type2_combo:voltage=920 V with a fixed text, namely '<b><b>Type 2 CCS</b> (mennekes)</b> <img style='width:1rem;' src='./assets/layers/charging_station/Type2_CCS.svg'/> outputs 920 volt' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')",
+      "value": "920 V"
+    },
+    {
+      "key": "socket:type2_combo:current",
+      "description": "Layer 'Charging stations' shows and asks freeform values for key 'socket:type2_combo:current' (in the MapComplete.osm.be theme 'Charging stations')"
+    },
+    {
+      "key": "socket:socket:type2_combo:current",
+      "description": "Layer 'Charging stations' shows socket:socket:type2_combo:current=125 A with a fixed text, namely '<b><b>Type 2 CCS</b> (mennekes)</b> <img style='width:1rem;' src='./assets/layers/charging_station/Type2_CCS.svg'/> outputs at most 125 A' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')",
+      "value": "125 A"
+    },
+    {
+      "key": "socket:socket:type2_combo:current",
+      "description": "Layer 'Charging stations' shows socket:socket:type2_combo:current=350 A with a fixed text, namely '<b><b>Type 2 CCS</b> (mennekes)</b> <img style='width:1rem;' src='./assets/layers/charging_station/Type2_CCS.svg'/> outputs at most 350 A' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')",
+      "value": "350 A"
+    },
+    {
+      "key": "socket:type2_combo:output",
+      "description": "Layer 'Charging stations' shows and asks freeform values for key 'socket:type2_combo:output' (in the MapComplete.osm.be theme 'Charging stations')"
+    },
+    {
+      "key": "socket:socket:type2_combo:output",
+      "description": "Layer 'Charging stations' shows socket:socket:type2_combo:output=50 kw with a fixed text, namely '<b><b>Type 2 CCS</b> (mennekes)</b> <img style='width:1rem;' src='./assets/layers/charging_station/Type2_CCS.svg'/> outputs at most 50 kw' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')",
+      "value": "50 kw"
+    },
     {
       "key": "authentication:membership_card",
       "description": "Layer 'Charging stations' shows authentication:membership_card=yes with a fixed text, namely 'Authentication by a membership card' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')",
@@ -274,6 +617,44 @@
       "description": "Layer 'Charging stations' shows opening_hours=24/7 with a fixed text, namely '24/7 opened (including holidays)' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')",
       "value": "24/7"
     },
+    {
+      "key": "charge",
+      "description": "Layer 'Charging stations' shows and asks freeform values for key 'charge' (in the MapComplete.osm.be theme 'Charging stations')"
+    },
+    {
+      "key": "fee",
+      "description": "Layer 'Charging stations' shows fee=no&charge= with a fixed text, namely 'Free to use' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')",
+      "value": "no"
+    },
+    {
+      "key": "charge",
+      "description": "Layer 'Charging stations' shows fee=no&charge= with a fixed text, namely 'Free to use' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key charge.",
+      "value": ""
+    },
+    {
+      "key": "payment:cash",
+      "description": "Layer 'Charging stations' shows payment:cash=yes with a fixed text, namely 'Cash is accepted here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')",
+      "value": "yes"
+    },
+    {
+      "key": "payment:cards",
+      "description": "Layer 'Charging stations' shows payment:cards=yes with a fixed text, namely 'Payment cards are accepted here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')",
+      "value": "yes"
+    },
+    {
+      "key": "payment:app",
+      "description": "Layer 'Charging stations' shows payment:app=yes with a fixed text, namely 'Payment is done using a dedicated app' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')",
+      "value": "yes"
+    },
+    {
+      "key": "maxstay",
+      "description": "Layer 'Charging stations' shows and asks freeform values for key 'maxstay' (in the MapComplete.osm.be theme 'Charging stations')"
+    },
+    {
+      "key": "maxstay",
+      "description": "Layer 'Charging stations' shows maxstay=unlimited with a fixed text, namely 'No timelimit on leaving your vehicle here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')",
+      "value": "unlimited"
+    },
     {
       "key": "network",
       "description": "Layer 'Charging stations' shows and asks freeform values for key 'network' (in the MapComplete.osm.be theme 'Charging stations')"
diff --git a/Docs/TagInfo/mapcomplete_toilets.json b/Docs/TagInfo/mapcomplete_toilets.json
index 161489fb5..713b2b65b 100644
--- a/Docs/TagInfo/mapcomplete_toilets.json
+++ b/Docs/TagInfo/mapcomplete_toilets.json
@@ -55,6 +55,11 @@
       "description": "Layer 'Toilets' shows access=key with a fixed text, namely 'Accessible, but one has to ask a key to enter' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Toilet Map')",
       "value": "key"
     },
+    {
+      "key": "access",
+      "description": "Layer 'Toilets' shows access=public with a fixed text, namely 'Public access' (in the MapComplete.osm.be theme 'Open Toilet Map')",
+      "value": "public"
+    },
     {
       "key": "fee",
       "description": "Layer 'Toilets' shows fee=yes with a fixed text, namely 'These are paid toilets' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Toilet Map')",
diff --git a/Docs/TagInfo/mapcomplete_waste_basket.json b/Docs/TagInfo/mapcomplete_waste_basket.json
index a1a4c9149..eeebd2e5b 100644
--- a/Docs/TagInfo/mapcomplete_waste_basket.json
+++ b/Docs/TagInfo/mapcomplete_waste_basket.json
@@ -14,6 +14,36 @@
       "key": "amenity",
       "description": "The MapComplete theme Waste Basket has a layer Waste Basket showing features with this tag",
       "value": "waste_basket"
+    },
+    {
+      "key": "waste",
+      "description": "Layer 'Waste Basket' shows waste= with a fixed text, namely 'A waste basket for general waste' (in the MapComplete.osm.be theme 'Waste Basket') Picking this answer will delete the key waste.",
+      "value": ""
+    },
+    {
+      "key": "waste",
+      "description": "Layer 'Waste Basket' shows waste=trash with a fixed text, namely 'A waste basket for general waste' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Waste Basket')",
+      "value": "trash"
+    },
+    {
+      "key": "waste",
+      "description": "Layer 'Waste Basket' shows waste=dog_excrement with a fixed text, namely 'A waste basket for dog excrements' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Waste Basket')",
+      "value": "dog_excrement"
+    },
+    {
+      "key": "waste",
+      "description": "Layer 'Waste Basket' shows waste=cigarettes with a fixed text, namely 'A waste basket for cigarettes' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Waste Basket')",
+      "value": "cigarettes"
+    },
+    {
+      "key": "waste",
+      "description": "Layer 'Waste Basket' shows waste=drugs with a fixed text, namely 'A waste basket for drugs' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Waste Basket')",
+      "value": "drugs"
+    },
+    {
+      "key": "waste",
+      "description": "Layer 'Waste Basket' shows waste=sharps with a fixed text, namely 'A waste basket for needles and other sharp objects' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Waste Basket')",
+      "value": "sharps"
     }
   ]
 }
\ No newline at end of file
diff --git a/Docs/URL_Parameters.md b/Docs/URL_Parameters.md
index 6b0afe450..f35380901 100644
--- a/Docs/URL_Parameters.md
+++ b/Docs/URL_Parameters.md
@@ -1,3 +1,4 @@
+
 URL-parameters and URL-hash
 ============================
 
@@ -8,8 +9,8 @@ What is a URL parameter?
 
 URL-parameters are extra parts of the URL used to set the state.
 
-For example, if the url is `https://mapcomplete.osm.be/cyclofix?lat=51.0&lon=4.3&z=5&test=true#node/1234`, the
-URL-parameters are stated in the part between the `?` and the `#`. There are multiple, all separated by `&`, namely:
+For example, if the url is `https://mapcomplete.osm.be/cyclofix?lat=51.0&lon=4.3&z=5&test=true#node/1234`,
+the URL-parameters are stated in the part between the `?` and the `#`. There are multiple, all separated by `&`, namely:
 
 - The url-parameter `lat` is `51.0` in this instance
 - The url-parameter `lon` is `4.3` in this instance
@@ -19,175 +20,169 @@ URL-parameters are stated in the part between the `?` and the `#`. There are mul
 Finally, the URL-hash is the part after the `#`. It is `node/1234` in this case.
 
 
-download-control-toggle
+ download-control-toggle 
 -------------------------
 
-Whether or not the download panel is shown The default value is _false_
+ Whether or not the download panel is shown The default value is _false_
 
 
-filter-toggle
+ filter-toggle 
 ---------------
 
-Whether or not the filter view is shown The default value is _false_
+ Whether or not the filter view is shown The default value is _false_
 
 
-tab
+ tab 
 -----
 
-The tab that is shown in the welcome-message. 0 = the explanation of the theme,1 = OSM-credits, 2 = sharescreen, 3 =
-more themes, 4 = about mapcomplete (user must be logged in and have >50 changesets) The default value is _0_
+ The tab that is shown in the welcome-message. 0 = the explanation of the theme,1 = OSM-credits, 2 = sharescreen, 3 = more themes, 4 = about mapcomplete (user must be logged in and have >50 changesets) The default value is _0_
 
 
-z
+ z 
 ---
 
-The initial/current zoom level The default value is _0_
+ The initial/current zoom level The default value is _0_
 
 
-lat
+ lat 
 -----
 
-The initial/current latitude The default value is _0_
+ The initial/current latitude The default value is _0_
 
 
-lon
+ lon 
 -----
 
-The initial/current longitude of the app The default value is _0_
+ The initial/current longitude of the app The default value is _0_
 
 
-fs-userbadge
+ fs-userbadge 
 --------------
 
-Disables/Enables the user information pill (userbadge) at the top left. Disabling this disables logging in and thus
-disables editing all together, effectively putting MapComplete into read-only mode. The default value is _true_
+ Disables/Enables the user information pill (userbadge) at the top left. Disabling this disables logging in and thus disables editing all together, effectively putting MapComplete into read-only mode. The default value is _true_
 
 
-fs-search
+ fs-search 
 -----------
 
-Disables/Enables the search bar The default value is _true_
+ Disables/Enables the search bar The default value is _true_
 
 
-fs-background
+ fs-background 
 ---------------
 
-Disables/Enables the background layer control The default value is _true_
+ Disables/Enables the background layer control The default value is _true_
 
 
-fs-filter
+ fs-filter 
 -----------
 
-Disables/Enables the filter The default value is _true_
+ Disables/Enables the filter The default value is _true_
 
 
-fs-add-new
+ fs-add-new 
 ------------
 
-Disables/Enables the 'add new feature'-popup. (A theme without presets might not have it in the first place) The default
-value is _true_
+ Disables/Enables the 'add new feature'-popup. (A theme without presets might not have it in the first place) The default value is _true_
 
 
-fs-welcome-message
+ fs-welcome-message 
 --------------------
 
-Disables/enables the help menu or welcome message The default value is _true_
+ Disables/enables the help menu or welcome message The default value is _true_
 
 
-fs-iframe
+ fs-iframe 
 -----------
 
-Disables/Enables the iframe-popup The default value is _false_
+ Disables/Enables the iframe-popup The default value is _false_
 
 
-fs-more-quests
+ fs-more-quests 
 ----------------
 
-Disables/Enables the 'More Quests'-tab in the welcome message The default value is _true_
+ Disables/Enables the 'More Quests'-tab in the welcome message The default value is _true_
 
 
-fs-share-screen
+ fs-share-screen 
 -----------------
 
-Disables/Enables the 'Share-screen'-tab in the welcome message The default value is _true_
+ Disables/Enables the 'Share-screen'-tab in the welcome message The default value is _true_
 
 
-fs-geolocation
+ fs-geolocation 
 ----------------
 
-Disables/Enables the geolocation button The default value is _true_
+ Disables/Enables the geolocation button The default value is _true_
 
 
-fs-all-questions
+ fs-all-questions 
 ------------------
 
-Always show all questions The default value is _false_
+ Always show all questions The default value is _false_
 
 
-fs-export
+ fs-export 
 -----------
 
-Enable the export as GeoJSON and CSV button The default value is _false_
+ Enable the export as GeoJSON and CSV button The default value is _false_
 
 
-fs-pdf
+ fs-pdf 
 --------
 
-Enable the PDF download button The default value is _false_
+ Enable the PDF download button The default value is _false_
 
 
-test
+ test 
 ------
 
-If true, 'dryrun' mode is activated. The app will behave as normal, except that changes to OSM will be printed onto the
-console instead of actually uploaded to osm.org The default value is _false_
+ If true, 'dryrun' mode is activated. The app will behave as normal, except that changes to OSM will be printed onto the console instead of actually uploaded to osm.org The default value is _false_
 
 
-debug
+ debug 
 -------
 
-If true, shows some extra debugging help such as all the available tags on every object The default value is _false_
+ If true, shows some extra debugging help such as all the available tags on every object The default value is _false_
 
 
-fake-user
+ fake-user 
 -----------
 
-If true, 'dryrun' mode is activated and a fake user account is loaded The default value is _false_
+ If true, 'dryrun' mode is activated and a fake user account is loaded The default value is _false_
 
 
-backend
+ backend 
 ---------
 
-The OSM backend to use - can be used to redirect mapcomplete to the testing backend when using 'osm-test' The default
-value is _osm_
+ The OSM backend to use - can be used to redirect mapcomplete to the testing backend when using 'osm-test' The default value is _osm_
 
 
-overpassUrl
+ overpassUrl 
 -------------
 
-Point mapcomplete to a different overpass-instance. Example: https://overpass-api.de/api/interpreter The default value
-is _https://overpass-api.de/api/interpreter_
+ Point mapcomplete to a different overpass-instance. Example: https://overpass-api.de/api/interpreter The default value is _https://overpass-api.de/api/interpreter_
 
 
-overpassTimeout
+ overpassTimeout 
 -----------------
 
-Set a different timeout (in seconds) for queries in overpass The default value is _30_
+ Set a different timeout (in seconds) for queries in overpass The default value is _30_
 
 
-custom-css
+ custom-css 
 ------------
 
-If specified, the custom css from the given link will be loaded additionaly The default value is __
+ If specified, the custom css from the given link will be loaded additionaly The default value is __
 
 
-background
+ background 
 ------------
 
-The id of the background layer to start with The default value is _osm_
+ The id of the background layer to start with The default value is _osm_
 
 
-layer-<layer-id>
+ layer-<layer-id> 
 ------------------
 
-Wether or not the layer with id <layer-id> is shown The default value is _true_ Generated from QueryParameters
\ No newline at end of file
+ Wether or not the layer with id <layer-id> is shown The default value is _true_ Generated from QueryParameters
\ No newline at end of file