diff --git a/observations/forms.py b/observations/forms.py
new file mode 100644
index 0000000000000000000000000000000000000000..2b8c8a02315043c06437c2a1f26019b954d8f7ae
--- /dev/null
+++ b/observations/forms.py
@@ -0,0 +1,5 @@
+from django import forms
+
+class ObservationTimeFilterForm(forms.Form):
+    timeOfObservationFrom = forms.DateField(required=False)
+    timeOfObservationTo = forms.DateField(required=False)
\ No newline at end of file
diff --git a/observations/templates/observations/index.html b/observations/templates/observations/index.html
index 81ac2e2f00d2002fe187570927aa224cd3b4dc69..8ed4fb67d7336c046785317fb4daadecba07fbff 100755
--- a/observations/templates/observations/index.html
+++ b/observations/templates/observations/index.html
@@ -44,7 +44,17 @@
 			</div>
 		</div>
 		<div class="col-xs-6">
-		</div>
+		<form class="form-inline" method="get" action="/observations">
+			<div class="form-group">
+				<input class="form-control" type="date" name="{{form.timeOfObservationFrom.html_name}}" value="{{form.timeOfObservationFrom.value | default_if_none:""}}" placeholder="{% trans "From" %}"/>
+			</div>
+			-
+			<div class="form-group">
+				<input class="form-control" type="date" name="{{form.timeOfObservationTo.html_name}}" value="{{form.timeOfObservationTo.value | default_if_none:""}}" placeholder="{% trans "To" %}"/>
+			</div>
+			<button type="submit" class="btn btn-primary">{% trans "Date search" %}</button>
+		</form>
+	</div>
 	</div>
 	<table class="table">
 		<thead>
@@ -80,7 +90,11 @@
 	};
 	$(document).ready(function() {
 		$(".chosen-select").chosen({placeholder_text_multiple:"{% trans "Crops" %}"});
-		$.getJSON("/vipslogicproxy/rest/observation/broadcast/list/" + settings.vipsOrganizationId, function( json ) {
+		{% if form.timeOfObservationFrom.value or form.timeOfObservationTo.value %}
+		$.getJSON("/vipslogicproxy/rest/observation/broadcast/list/" + settings.vipsOrganizationId+ "?timeOfObservationFrom={{form.timeOfObservationFrom.value | default_if_none:""}}&timeOfObservationTo={{form.timeOfObservationTo.value | default_if_none:""}}", function( json ) {
+		{% else %}
+		$.getJSON("/vipslogicproxy/rest/observation/broadcast/list/" + settings.vipsOrganizationId+ "?season=" + getCurrentYear(), function( json ) {
+		{% endif %}
 			allObservations = json;
 			allObservations.sort(sortObservationMessages).reverse();
 			for(var i in allObservations)
diff --git a/observations/views.py b/observations/views.py
index 091827f5333ecc2ca7431283c24d7e1fe52f3e62..86da364bd4d4eaa6b53336f2924bfec69a21de44 100755
--- a/observations/views.py
+++ b/observations/views.py
@@ -19,16 +19,21 @@
 
 from django.shortcuts import render
 from django.utils import translation
+from observations.forms import ObservationTimeFilterForm
 from organisms.models import CropCategory
 
 def index(request):
+    form = ObservationTimeFilterForm(request.GET)
+    if form == None:
+        form = ObservationTimeFilterForm() 
     context = {
-              'crop_categories': CropCategory.get_crop_categories(translation.get_language())
+              "crop_categories": CropCategory.get_crop_categories(translation.get_language()),
+              "form" : form
                }
     return render(request, 'observations/index.html', context)
 
 def detail(request, observation_id):
     context = {
-              "observation_id" : observation_id
+              "observation_id" : observation_id,
                }
     return render(request, 'observations/detail.html', context)