anchor.diff:              E-Tag: "x234dff"
               Cache-Control: max-age=3628800
   
  -                "items" : [
  -                    {
  -                        "location" : [13.37788, 52.5337],
  -                        "relevantStation" : {
  -                            "meteoGroupStationId" : "abcd1234ef5678",
  -                            "stationName" : "Berlin Dahlem",
  -                            "location" : [13.36612, 52.1234],
  -                            "timeZoneName" : "Europe/Berlin"
  -                        },
  -                        "observation" : [
  -                            {
  -                                "observedFrom": "2016-10-13T11:00:00Z",
  -                                "observedUntil": "2016-10-13T12:00:00Z",
  -                                "observedPeriod" : "PT1H",
  -                                "sunshineDurationInMinutes": 15,
  -                                "windGustInKnots" : 20,
  -                            },
  -                            {
  -                                "observedFrom": "2016-10-13T06:00:00Z",
  -                                "observedUntil": "2016-10-13T18:00:00Z",
  -                                "observedPeriod" : "PT12H",
  -                                "sunshineDurationInMinutes": 123,
  -                                "windGustInKnots" : 20,
  -                            },
  -                            {
  -                                "observedFrom": "2016-10-13T12:00:00Z",
  -                                "observedUntil": "2016-10-13T12:00:00Z",
  -                                "observedPeriod" : "PT0S",
  -                                "airTemperatureInCelsius": 29.6,
  -                                "windSpeedInKnots" : 14
  -                            }
  -
  -                        ]
  +            {
  +                "observations" : [
  +                    {
  +                        "locatedAt" : [13.37788, 52.5337],
  +                        "meteoGroupStationId" : "abcd1234ef5678",
  +                        "meteoGroupStationName" : "Berlin Dahlem",
  +                        "stationLocation" : [13.36612, 52.1234],
  +                        "stationTimeZoneName" : "Europe/Berlin",
  +                        "observedFrom": "2016-10-13T12:00:00Z",
  +                        "observedUntil": "2016-10-13T12:00:00Z",
  +                        "observedPeriod" : "PT0S",
  +                        "airTemperatureInCelsius": 29.6,
  +                        "windSpeedInKnots" : 14
  +                    },
  +                    {
  +                        "locatedAt" : [13.37788, 52.5337],
  +                        "meteoGroupStationId" : "abcd1234ef5678",
  +                        "meteoGroupStationName" : "Berlin Dahlem",
  +                        "stationLocation" : [13.36612, 52.1234],
  +                        "stationTimeZoneName" : "Europe/Berlin",
  +                        "observedFrom": "2016-10-13T11:00:00Z",
  +                        "observedUntil": "2016-10-13T12:00:00Z",
  +                        "observedPeriod" : "PT1H",
  +                        "sunshineDurationInMinutes": 15,
  +                        "windGustInKnots" : 20
  +                    },
  +                    {
  +                        "locatedAt" : [13.37788, 52.5337],
  +                        "meteoGroupStationId" : "abcd1234ef5678",
  +                        "meteoGroupStationName" : "Berlin Dahlem",
  +                        "stationLocation" : [13.36612, 52.1234],
  +                        "stationTimeZoneName" : "Europe/Berlin",
  +                        "observedFrom": "2016-10-13T13:00:00Z",
  +                        "observedUntil": "2016-10-13T13:00:00Z",
  +                        "observedPeriod" : "PT0S",
  +                        "airTemperatureInCelsius": 27.2,
  +                        "windSpeedInKnots" : 12
  +                    },
  +                    {
  +                        "locatedAt" : [13.37788, 52.5337],
  +                        "meteoGroupStationId" : "abcd1234ef5678",
  +                        "meteoGroupStationName" : "Berlin Dahlem",
  +                        "stationLocation" : [13.36612, 52.1234],
  +                        "stationTimeZoneName" : "Europe/Berlin",
  +                        "observedFrom": "2016-10-13T12:00:00Z",
  +                        "observedUntil": "2016-10-13T13:00:00Z",
  +                        "observedPeriod" : "PT1H",
  +                        "sunshineDurationInMinutes": 10,
  +                        "windGustInKnots" : 16
                       }
                   ]
               }
   
  ---------
  -
  -Alternative
  -* completly flat structure.
  -* no prior aggregation leaves room for transposition tables approach
  -* again, every field must be requested in fields request parameter
  -
  -                "items" : [
  -                    {
  -                        "location" : [13.37788, 52.5337],
  -                        "meteoGroupStationId" : "abcd1234ef5678",
  -                        "stationName" : "Berlin Dahlem",
  -                        "stationLocation" : [13.36612, 52.1234],
  -                        "stationTimeZoneName" : "Europe/Berlin"
  -                        "observedFromUtc": "2016-10-13T11:00:00Z",
  -                        "observedUntilUtc": "2016-10-13T12:00:00Z",
  -                        "observedPeriod" : "PT1H",
  -                        "sunshineDurationInMinutes": 15,
  -                        "windGustInKnots" : 20,
  -                    },
  -                    {
  -                        "location" : [13.37788, 52.5337],
  -                        "meteoGroupStationId" : "abcd1234ef5678",
  -                        "stationName" : "Berlin Dahlem",
  -                        "stationLocation" : [13.36612, 52.1234],
  -                        "stationTimeZoneName" : "Europe/Berlin"
  -                        "observedFromUtc": "2016-10-13T06:00:00Z",
  -                        "observedUntilUtc": "2016-10-13T18:00:00Z",
  -                        "observedPeriod" : "PT12H",
  -                        "sunshineDurationInMinutes": 123,
  -                        "windGustInKnots" : 20,
  -                    },
  -                    {
  -                        "location" : [13.37788, 52.5337],
  -                        "meteoGroupStationId" : "abcd1234ef5678",
  -                        "stationName" : "Berlin Dahlem",
  -                        "stationLocation" : [13.36612, 52.1234],
  -                        "stationTimeZoneName" : "Europe/Berlin"
  -                        "observedFromUtc": "2016-10-13T12:00:00Z",
  -                        "observedUntilUtc": "2016-10-13T12:00:00Z",
  -                        "observedPeriod" : "PT0S",
  -                        "airTemperatureInCelsius": 29.6,
  -                        "windSpeedInKnots" : 14
  -                    }
  -
  -
  ------------------------------------
  -
   
   
   # Group Forecast
   
  -## Retrieve weather forecast [/forecast?locatedAt={locatedAt}&fields={fields}&validPeriod={validPeriod}&validFrom={validFrom}{&validUntil}]
  +## Retrieve weather forecast [/search?locatedAt={locatedAt}&fields={fields}&validPeriod={validPeriod}&validFrom={validFrom}{&validUntil}]   to be FIXED ...
  +
  +#### Example
  +`https://point-forecast.weather.mg/search?locatedAt=53,13`  to be FIXED ...
  +
  +### Search for forecast data from weather stations for multiple given locations [GET]
  +
  +For any requested location a relevant station is searched.
  +The searching algorithm stops at a maximum distance of 100km (between requested location and station).
  +By default, the latest known weather forecast data from a relevant station is returned.
  +
  +*Meteorological hints*
  +
  +The forecasted parameters always have a time period associated, which is typically one hour and one moment.
  +Each weather parameter refers implicitly to one or another time period within a forecast.
  +For example air temperature is forecasted for one moment in time.
  +Whereas max air temperature is typically forecasted for a period of one our.
  +There are other forecast periods possible, where parameters than are aggregated among e.g. 12 hours.
  +In the response JSON document the weather parameters will be associated with their according period.
  +
  +*Technical hints*
  +
  +All timestamps and time periods/durations follow ISO8601 standard notation.
  +For example 'PT1H' refers to one hour and 'PT0S' refers to one moment.
  +For convinience reasons, a single location can be requested, but the response always returns a collection.
  +For multiple locations, its recommended to just use the point compression.
  +The observations in the response collection are "flat" to allow easy streaming and filtering on client side.
  +The observations in the response are ordered ascending by field 'validFrom'.
   
   ### Forecasted weather for a given *latitude* and *longitude* [GET]
  -
  -Weather forecast for the next 7 days.
   
   + Parameters
       + locatedAt: `13.37788,52.5337` (string, required) - longitude,latitude; can occur multiple times for multiple locations
  -    + locatedAt: `joionluqqFvwqmo629nC` (string, optional) - compressed list of station locations, using Microsoft Point Compression Algorithm, is efficient for up to 400 locations
  +    + locatedAt: `joionluqqFvwqmo629nC` (string, optional) - compressed list of station locations, using Microsoft Point Compression Algorithm, is efficient for up to 400 locations   to be FIXED ...
       + fields: `airTemperatureInCelsius,dewPointTemperatureInFahrenheit,dewPointTemperatureInKelvin` (string, required) - comma separated list of parameters to be contained inside response
  -    + validFromUtc: `2016-10-13T11:00:00Z` (string, optional)
  -    + validUntilUtc: `2016-10-13T15:00:00Z` (string, optional)
  -    + validFromLocalTime: `2016-10-13T11:00:00Z` (string, optional)
  -    + validUntilLocalTime: `2016-10-13T15:00:00Z` (string, optional)
  -    + validPeriod: `PT0S,PT1H,PT6H` - comma separated list of periods to be retrieved. use iso8601 time duration notation. PT1H refers one hour forecast periods. PT6H applies three hours aggregation.
  +    + validFrom: `2016-10-13T11:00:00Z` (string, optional)
  +    + validUntil: `2016-10-13T15:00:00Z` (string, optional)
  +    + validPeriod: `PT0S,PT1H` - comma separated list of periods to be retrieved. use iso8601 time duration notation. PT1H refers one hour forecast periods. PT6H applies three hours aggregation.
   
   + Response 200 (application/json)
   
  
positive.code: 
  # Data Structures
  
  ## Backward compatibility
  
  Weather API may add more parameters in the future.
  Clients should irgnore unknown parameters.
  Only when parameters will fundamently change, a new version might be introduced.
  
  ## Forecast Intervals
  
  The response contains different time intervals which contain forecast in for different time spans.
  
  Interval name  | Time interval  | Time span
  ---------------|----------------|--------------------------------
  hourly         | 1 hour         | using time zone from requested location, today from 00:00 until 00:00 next day, plus 1 day ahead, means 48 hours in total
  interval6hours | 6 hours        | using time zone from requested location, today from 00:00 until 00:00 next day, plus 6 days ahead, means 28 intervals in total
  halfDaily      | 12 hours       | using time zone from requested location, today from 00:00 until 00:00 next day, plus 6 days ahead, means 14 intervals in total
  daily          | 24 hours       | using time zone from requested location, today from 00:00 until 00:00 next day, plus 6 days ahead, means 7 days in total
  
  
  ## Units
  
  Parameter | unit
  ---------------|-----
  minAirTemperature                         | Degree or Fahrenheit
  maxAirTemperature                         | Degree or Fahrenheit
  airTemperature                            | Degree or Fahrenheit
  dewPointTemperature                       | Degree or Fahrenheit
  precipitation                             | mm or inch
  precipitationLastHour                     | mm or inch
  windSpeed                                 | m/s or km/h or m/h or BFT
  windGust                                  | in Knots or m/h or km/h
  date, time, time offset                   | timestamps including date, time and a zime offset are encoded in [ISO 8601 format](https://en.wikipedia.org/wiki/ISO_8601).
  precipitationProbabilityInPercent100based | a percentage which refers to the amount of precipitation probability
  
  
  ## Total Cloud Cover (number)
  
  This symbolic letter shall embrace the total fraction of the celestial dome covered by clouds irrespective of their genus.
  (WMO akronym 'N')
  
      Value | Meaning
  
negative.code:     + Body
  
              {
                  "forecasts" : [
                      {
                          "locatedAt" : [13.37788, 52.5337],
                          "meteoGroupStationId" : "abcd1234ef5678",
                          "meteoGroupStationName" : "Berlin Dahlem",
                          "stationLocation" : [13.36612, 52.1234],
                          "stationTimeZoneName" : "Europe/Berlin",
                          "validFrom": "2016-08-25T14:00:00Z",
                          "validUntil": "2016-08-25T14:00:00Z",
                          "validPeriod": "PT0S",
                          "airTemperatureInCelsius": 15.8,
                          "dewPointTemperatureInCelsius": 15.8,
                          "airPressureInHpa": 1012.9,
                          "effectiveCloudCoverInOcta": 3,
                          "precipitationIntensityInMillimeter": 0,
                          "windSpeedInKnots": 3
                      },
                      {
                          "locatedAt" : [13.37788, 52.5337],
                          "meteoGroupStationId" : "abcd1234ef5678",
                          "meteoGroupStationName" : "Berlin Dahlem",
                          "stationLocation" : [13.36612, 52.1234],
                          "stationTimeZoneName" : "Europe/Berlin",
                          "validFrom": "2016-08-25T14:00:00Z",
                          "validUntil": "2016-08-25T15:00:00Z",
                          "validPeriod": "PT1H",
                          "minAirTemperatureInCelsius": 13,
                          "maxAirTemperatureInCelsius": 16,
                          "sunshineDurationInMinutes": 23,
                          "precipitationAmountInMillimeter": 0,
                          "windGustInKnots": 5
                      },
                      {
                          "locatedAt" : [13.37788, 52.5337],
                          "meteoGroupStationId" : "abcd1234ef5678",
                          "meteoGroupStationName" : "Berlin Dahlem",
                          "stationLocation" : [13.36612, 52.1234],
                          "stationTimeZoneName" : "Europe/Berlin",
                          "validFrom": "2016-08-25T15:00:00Z",
                          "validUntil": "2016-08-25T15:00:00Z",
                          "validPeriod": "PT0S",
                          "airTemperatureInCelsius": 14.2,
                          "dewPointTemperatureInCelsius": 14.1,
                          "airPressureInHpa": 1011,
                          "effectiveCloudCoverInOcta": 4,
                          "precipitationIntensityInMillimeter": 0,
                          "windSpeedInKnots": 2
                      },
                      {
                          "locatedAt" : [13.37788, 52.5337],
                          "meteoGroupStationId" : "abcd1234ef5678",
                          "meteoGroupStationName" : "Berlin Dahlem",
                          "stationLocation" : [13.36612, 52.1234],
                          "stationTimeZoneName" : "Europe/Berlin",
                          "validFrom": "2016-08-25T15:00:00Z",
                          "validUntil": "2016-08-25T16:00:00Z",
                          "validPeriod": "PT1H",
                          "minAirTemperatureInCelsius": 14,
                          "maxAirTemperatureInCelsius": 16,
                          "sunshineDurationInMinutes": 18,
                          "precipitationAmountInMillimeter": 0,
                          "windGustInKnots": 4
                      }
                  ]
              }
  
  
  