+       /**
+        * Get stop
+        *
+        * @return \DateTime
+        */
+       public function getStop(): \DateTime {
+               //Check start
+               if ($this->stop !== null) {
+                       return $this->stop;
+               }
+
+               //Get start clone
+               $this->stop = clone $this->getStart();
+
+               //With length
+               if ($this->length !== null) {
+                       //Set stop time
+                       $this->stop->add(new \DateInterval('PT'.$this->length->format('H').'H'.$this->length->format('i').'M'.$this->length->format('s').'S'));
+               }
+
+               //Return date
+               return $this->stop;
+       }
+
+       /**
+        * Set premium
+        *
+        * @param bool $premium
+        *
+        * @return Session
+        */
+       public function setPremium(?bool $premium): Session {
+               $this->premium = $premium;
+
+               return $this;
+       }
+
+       /**
+        * Get premium
+        *
+        * @return bool
+        */
+       public function getPremium(): ?bool {
+               return $this->premium;
+       }
+
+       /**
+        * Set rainfall
+        *
+        * @param float $rainfall
+        *
+        * @return Session
+        */
+       public function setRainfall(?float $rainfall): Session {
+               $this->rainfall = $rainfall;
+
+               return $this;
+       }
+
+       /**
+        * Get rainfall
+        *
+        * @return float
+        */
+       public function getRainfall(): ?float {
+               return $this->rainfall;
+       }
+
+       /**
+        * Set rainrisk
+        *
+        * @param float $rainrisk
+        *
+        * @return Session
+        */
+       public function setRainrisk(?float $rainrisk): Session {
+               $this->rainrisk = $rainrisk;
+
+               return $this;
+       }
+
+       /**
+        * Get rainrisk
+        *
+        * @return float
+        */
+       public function getRainrisk(): ?float {
+               return $this->rainrisk;
+       }
+
+       /**
+        * Set realfeel
+        *
+        * @param float $realfeel
+        *
+        * @return Session
+        */
+       public function setRealfeel(?float $realfeel): Session {
+               $this->realfeel = $realfeel;
+
+               return $this;
+       }
+
+       /**
+        * Get realfeel
+        *
+        * @return float
+        */
+       public function getRealfeel(): ?float {
+               return $this->realfeel;
+       }
+
+       /**
+        * Set realfeelmin
+        *
+        * @param float $realfeelmin
+        *
+        * @return Session
+        */
+       public function setRealfeelmin(?float $realfeelmin): Session {
+               $this->realfeelmin = $realfeelmin;
+
+               return $this;
+       }
+
+       /**
+        * Get realfeelmin
+        *
+        * @return float
+        */
+       public function getRealfeelmin(): ?float {
+               return $this->realfeelmin;
+       }
+
+       /**
+        * Set realfeelmax
+        *
+        * @param float $realfeelmax
+        *
+        * @return Session
+        */
+       public function setRealfeelmax(?float $realfeelmax): Session {
+               $this->realfeelmax = $realfeelmax;
+
+               return $this;
+       }
+
+       /**
+        * Get realfeelmax
+        *
+        * @return float
+        */
+       public function getRealfeelmax(): ?float {
+               return $this->realfeelmax;
+       }
+
+       /**
+        * Set temperature
+        *
+        * @param float $temperature
+        *
+        * @return Session
+        */
+       public function setTemperature(?float $temperature): Session {
+               $this->temperature = $temperature;
+
+               return $this;
+       }
+
+       /**
+        * Get temperature
+        *
+        * @return float
+        */
+       public function getTemperature(): ?float {
+               return $this->temperature;
+       }
+
+       /**
+        * Set temperaturemin
+        *
+        * @param float $temperaturemin
+        *
+        * @return Session
+        */
+       public function setTemperaturemin(?float $temperaturemin): Session {
+               $this->temperaturemin = $temperaturemin;
+
+               return $this;
+       }
+
+       /**
+        * Get temperaturemin
+        *
+        * @return float
+        */
+       public function getTemperaturemin(): ?float {
+               return $this->temperaturemin;
+       }
+
+       /**
+        * Set temperaturemax
+        *
+        * @param float $temperaturemax
+        *
+        * @return Session
+        */
+       public function setTemperaturemax(?float $temperaturemax): Session {
+               $this->temperaturemax = $temperaturemax;
+
+               return $this;
+       }
+
+       /**
+        * Get temperaturemax
+        *
+        * @return float
+        */
+       public function getTemperaturemax(): ?float {
+               return $this->temperaturemax;
+       }
+
+       /**
+        * Set locked
+        *
+        * @param \DateTime $locked
+        *
+        * @return Session
+        */
+       public function setLocked(?\DateTime $locked): Session {
+               $this->locked = $locked;
+
+               return $this;
+       }
+
+       /**
+        * Get locked
+        *
+        * @return \DateTime
+        */
+       public function getLocked(): ?\DateTime {
+               return $this->locked;
+       }
+