diff --git a/management/forms.py b/management/forms.py
index 361fc247abce52ce2fb376c206199def7f80a52e..2991618ded8f07888446a5fe88e8307c2bb14a48 100644
--- a/management/forms.py
+++ b/management/forms.py
@@ -153,9 +153,14 @@ class SessionSettingsForm(AddSessionForm):
             # will be set by html
             'invite_text': ''
         }
+        widgets = {
+            'start_date': forms.TextInput(attrs={'placeholder': 'e.g. 2020-05-12 13:00:00', 'type': 'datetime'})
+        }
 
     def clean_add_election_manager(self):
         value = self.data['add_election_manager']
+        if not value:
+            return value
         if not ElectionManager.objects.filter(username=value).exists():
             raise forms.ValidationError(f'Cannot find election manager with username {value}')
 
@@ -164,8 +169,9 @@ class SessionSettingsForm(AddSessionForm):
     def _save_m2m(self):
         super()._save_m2m()
 
-        self.cleaned_data['add_election_manager'].sessions.add(self.instance)
-        self.cleaned_data['add_election_manager'].save()
+        if self.cleaned_data['add_election_manager']:
+            self.cleaned_data['add_election_manager'].sessions.add(self.instance)
+            self.cleaned_data['add_election_manager'].save()
 
     def save(self, commit=True):
         self.instance = super().save(commit=False)
diff --git a/management/templates/management/session.html b/management/templates/management/session.html
index 418c73ac967d4441678ec84149b995738a117ace..96daa9aa0209d691d2b1aaea655f9b3b4d9f593d 100644
--- a/management/templates/management/session.html
+++ b/management/templates/management/session.html
@@ -30,7 +30,8 @@
             <small>Meeting on <a href="{{ session.meeting_link }}">{{ session.meeting_link }}</a></small>
           {% endif %}
           {% if session.start_date %}
-            <small>- {{ session.start_date }}</small>
+            <br/>
+            <small>Starts on {{ session.start_date }}</small>
           {% endif %}
         </div>
         <div class="card-body">
diff --git a/management/templates/management/session_settings.html b/management/templates/management/session_settings.html
index 35301ef3f1f9f32f599144612c9dcb125db5442e..95affadf354431d6d9afefec1d9e665c6378583f 100644
--- a/management/templates/management/session_settings.html
+++ b/management/templates/management/session_settings.html
@@ -2,6 +2,10 @@
 {% load static %}
 {% load crispy_forms_filters %}
 
+{% block head %}
+  <link rel="stylesheet" href="{% static "management/css/DateTimePicker.css" %}"/>
+{% endblock %}
+
 {% block content %}
   <div class="row justify-content-center">
     <div class="col-12">
@@ -86,14 +90,17 @@
             </div>
 
             <br>
-            <button type="submit" id="id_btn_start" class="btn btn-success">Save</button>
+            <button type="submit" id="id_btn_start" class="btn btn-success">Update</button>
+            <div id="dtBox"></div>
           </form>
         </div>
       </div>
     </div>
   </div>
-  <script src="{% static "js/jquery-3.5.1.slim.min.js" %}"
-          integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj"></script>
+  <script src="{% static "js/jquery-3.5.1.min.js" %}"
+          integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0="></script>
   <script src="{% static "bootstrap-4.5.3-dist/js/bootstrap.min.js" %}"
           integrity="sha384-w1Q4orYjBQndcko6MimVbzY0tgp4pWB4lZ7lr30WKz0vr/aWKhXdBNmNb5D92v7s"></script>
+  <script src="{% static "management/js/DateTimePicker.js" %}"></script>
+  <script src="{% static "management/js/datetime.js" %}"></script>
 {% endblock %}
diff --git a/management/views.py b/management/views.py
index 35c0d2fbe867d6979c853060c3b6dbe5718dd81c..123d5414f14dd5d276ca07fb865ac7b1c85a5aa6 100644
--- a/management/views.py
+++ b/management/views.py
@@ -115,6 +115,8 @@ def session_settings(request, pk=None):
                 )
             else:
                 form.save()
+                messages.add_message(request, messages.INFO, 'Session updated successfully!')
+                return redirect('management:session', session.id)
 
     context = {
         'session': session,