diff --git a/src/main/java/no/nibio/vips/logic/controller/session/ObservationBean.java b/src/main/java/no/nibio/vips/logic/controller/session/ObservationBean.java
index 356e7c92270881ee360253bb0dcd4629d543ab2a..fd28c779bae0014927e955fc5a7e636a4ee1e831 100755
--- a/src/main/java/no/nibio/vips/logic/controller/session/ObservationBean.java
+++ b/src/main/java/no/nibio/vips/logic/controller/session/ObservationBean.java
@@ -48,6 +48,7 @@ import no.nibio.vips.logic.entity.Organization;
 import no.nibio.vips.logic.entity.PointOfInterest;
 import no.nibio.vips.logic.entity.VipsLogicUser;
 import no.nibio.vips.logic.util.SessionControllerGetter;
+import no.nibio.vips.logic.util.SystemTime;
 import org.apache.commons.fileupload.FileItem;
 import org.apache.commons.io.FilenameUtils;
 import org.wololo.geojson.Feature;
@@ -234,6 +235,12 @@ public class ObservationBean {
         em.remove(observation);
     }
 
+    /**
+     * 
+     * @param organizationId
+     * @param season
+     * @return 
+     */
     public List<Observation> getBroadcastObservations(Integer organizationId, Integer season) {
         Organization organization= em.find(Organization.class, organizationId);
         /*List<VipsLogicUser> users = em.createNamedQuery("VipsLogicUser.findByOrganizationId", VipsLogicUser.class)
@@ -255,15 +262,44 @@ public class ObservationBean {
             Date start = cal.getTime();
             cal.set(season, Calendar.DECEMBER, 31, 23, 59, 59);
             Date end = cal.getTime();
-            retVal = this.getObservationsWithGeoInfo(em.createNamedQuery("Observation.findByOrganizationIdAndStatusTypeIdAndBroadcastMessageAndSeason")
-                    .setParameter("organizationId", organization)
-                    .setParameter("statusTypeId", Observation.STATUS_TYPE_ID_APPROVED)
-                    .setParameter("start", start)
-                    .setParameter("end", end)
-                    .getResultList());
+            retVal = this.getBroadcastObservations(organizationId, start, end);
         }
         return retVal;
     }
+    
+    /**
+     * 
+     * @param organizationId
+     * @param start When period starts. Default: Jan 1st 2000
+     * @param end When period ends. Default: 100 years from now
+     * @return 
+     */
+    public List<Observation> getBroadcastObservations(Integer organizationId, Date start, Date end) {
+        if(start == null || end == null)
+        {
+            Calendar cal = Calendar.getInstance();
+            if(start == null) // Default Jan 1st 2000
+            {
+                cal.set(2000, Calendar.JANUARY,1,0,0,0);
+                start = cal.getTime();
+            }
+            if(end == null) // Default: Today + 100 years
+            {
+                cal.setTime(SystemTime.getSystemTime());
+                cal.add(Calendar.YEAR, 100);
+                end = cal.getTime();
+            }
+        }
+        Organization organization= em.find(Organization.class, organizationId);
+        return this.getObservationsWithGeoInfo(em.createNamedQuery("Observation.findByOrganizationIdAndStatusTypeIdAndBroadcastMessageAndPeriod")
+                .setParameter("organizationId", organization)
+                .setParameter("statusTypeId", Observation.STATUS_TYPE_ID_APPROVED)
+                .setParameter("start", start)
+                .setParameter("end", end)
+                .getResultList());
+    }
+    
+    
     /**
      * 
      * @param message
diff --git a/src/main/java/no/nibio/vips/logic/entity/Observation.java b/src/main/java/no/nibio/vips/logic/entity/Observation.java
index 2ef03bff78356a0547a756f88171be349643c3af..110984161a49fc3fc6c2d4163bb00fc0c4dc4b4c 100755
--- a/src/main/java/no/nibio/vips/logic/entity/Observation.java
+++ b/src/main/java/no/nibio/vips/logic/entity/Observation.java
@@ -69,7 +69,7 @@ import org.hibernate.annotations.TypeDefs;
     @NamedQuery(name = "Observation.findByOrganizationId", query = "SELECT o FROM Observation o WHERE o.userId IN(SELECT v.userId FROM VipsLogicUser v WHERE v.organizationId = :organizationId OR  v.organizationId IN(SELECT o.organizationId FROM Organization o WHERE o.parentOrganizationId = :organizationId))"),
     @NamedQuery(name = "Observation.findByOrganizationIdAndStatusTypeId", query = "SELECT o FROM Observation o WHERE o.userId IN(SELECT v.userId FROM VipsLogicUser v WHERE v.organizationId = :organizationId OR  v.organizationId IN(SELECT o.organizationId FROM Organization o WHERE o.parentOrganizationId = :organizationId)) AND o.statusTypeId= :statusTypeId"),
     @NamedQuery(name = "Observation.findByOrganizationIdAndStatusTypeIdAndBroadcastMessage", query = "SELECT o FROM Observation o WHERE o.userId IN(SELECT v.userId FROM VipsLogicUser v WHERE v.organizationId = :organizationId OR  v.organizationId IN(SELECT o.organizationId FROM Organization o WHERE o.parentOrganizationId = :organizationId)) AND o.statusTypeId= :statusTypeId AND o.broadcastMessage IS TRUE"),
-    @NamedQuery(name = "Observation.findByOrganizationIdAndStatusTypeIdAndBroadcastMessageAndSeason", query = "SELECT o FROM Observation o WHERE o.timeOfObservation BETWEEN :start AND :end AND o.userId IN(SELECT v.userId FROM VipsLogicUser v WHERE v.organizationId = :organizationId OR  v.organizationId IN(SELECT o.organizationId FROM Organization o WHERE o.parentOrganizationId = :organizationId)) AND o.statusTypeId= :statusTypeId AND o.broadcastMessage IS TRUE"),
+    @NamedQuery(name = "Observation.findByOrganizationIdAndStatusTypeIdAndBroadcastMessageAndPeriod", query = "SELECT o FROM Observation o WHERE o.timeOfObservation BETWEEN :start AND :end AND o.userId IN(SELECT v.userId FROM VipsLogicUser v WHERE v.organizationId = :organizationId OR  v.organizationId IN(SELECT o.organizationId FROM Organization o WHERE o.parentOrganizationId = :organizationId)) AND o.statusTypeId= :statusTypeId AND o.broadcastMessage IS TRUE"),
     @NamedQuery(name = "Observation.findByOrganism", query = "SELECT o FROM Observation o WHERE o.organism =  :organism"),
     @NamedQuery(name = "Observation.findByTimeOfObservation", query = "SELECT o FROM Observation o WHERE o.timeOfObservation = :timeOfObservation")
 })
diff --git a/src/main/java/no/nibio/vips/logic/service/ObservationService.java b/src/main/java/no/nibio/vips/logic/service/ObservationService.java
index b4fda92d7b3b2bc9ebbdf8be256c6cde1cbfe50a..179666f2fed3648680ad9371de10bb8686d5eeb7 100755
--- a/src/main/java/no/nibio/vips/logic/service/ObservationService.java
+++ b/src/main/java/no/nibio/vips/logic/service/ObservationService.java
@@ -197,10 +197,38 @@ public class ObservationService {
     @Produces("application/json;charset=UTF-8")
     public Response getBroadcastObservations(
             @PathParam("organizationId") Integer organizationId,
-            @QueryParam("season") Integer season
+            @QueryParam("season") Integer season,
+            @QueryParam("timeOfObservationFrom") String timeOfObservationFrom,
+            @QueryParam("timeOfObservationTo") String timeOfObservationTo
     )
     {
-        return Response.ok().entity(SessionControllerGetter.getObservationBean().getBroadcastObservations(organizationId, season)).build();
+        if((timeOfObservationFrom != null && ! timeOfObservationFrom.isEmpty()) 
+                || (timeOfObservationTo != null && ! timeOfObservationTo.isEmpty()))
+        {
+            Date from = null;
+            Date to = null;
+            try
+            {
+                SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
+                if(timeOfObservationFrom != null && ! timeOfObservationFrom.isEmpty())
+                {
+                    from = format.parse(timeOfObservationFrom);
+                }
+                if(timeOfObservationTo != null && ! timeOfObservationTo.isEmpty())
+                {
+                    to = format.parse(timeOfObservationTo);
+                }
+                return Response.ok().entity(SessionControllerGetter.getObservationBean().getBroadcastObservations(organizationId, from, to)).build();
+            }
+            catch(ParseException ex)
+            {
+                return Response.status(Response.Status.BAD_REQUEST).entity("Invalid date format").build();
+            }
+        }
+        else
+        {
+            return Response.ok().entity(SessionControllerGetter.getObservationBean().getBroadcastObservations(organizationId, season)).build();
+        }
     }
     
     @GET