Index: /trunk/sources/HeuristicLab.Hive.Client.Console/HiveClientConsole.Designer.cs
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Client.Console/HiveClientConsole.Designer.cs	(revision 1256)
+++ /trunk/sources/HeuristicLab.Hive.Client.Console/HiveClientConsole.Designer.cs	(revision 1257)
@@ -98,6 +98,6 @@
       this.btCreate = new System.Windows.Forms.Button();
       this.mcOnline = new System.Windows.Forms.MonthCalendar();
-      this.cmbFrom = new System.Windows.Forms.ComboBox();
-      this.cmbTo = new System.Windows.Forms.ComboBox();
+      this.dtpFrom = new System.Windows.Forms.DateTimePicker();
+      this.dtpTo = new System.Windows.Forms.DateTimePicker();
       this.tcClientConsole.SuspendLayout();
       this.tpConnection.SuspendLayout();
@@ -515,6 +515,6 @@
       // groupBox1
       // 
-      this.groupBox1.Controls.Add(this.cmbTo);
-      this.groupBox1.Controls.Add(this.cmbFrom);
+      this.groupBox1.Controls.Add(this.dtpTo);
+      this.groupBox1.Controls.Add(this.dtpFrom);
       this.groupBox1.Controls.Add(this.chbade);
       this.groupBox1.Controls.Add(this.btnRecurrence);
@@ -612,19 +612,19 @@
       this.mcOnline.DateChanged += new System.Windows.Forms.DateRangeEventHandler(this.mcOnline_DateChanged);
       // 
-      // cmbFrom
-      // 
-      this.cmbFrom.FormattingEnabled = true;
-      this.cmbFrom.Location = new System.Drawing.Point(100, 30);
-      this.cmbFrom.Name = "cmbFrom";
-      this.cmbFrom.Size = new System.Drawing.Size(77, 21);
-      this.cmbFrom.TabIndex = 39;
-      // 
-      // cmbTo
-      // 
-      this.cmbTo.FormattingEnabled = true;
-      this.cmbTo.Location = new System.Drawing.Point(100, 62);
-      this.cmbTo.Name = "cmbTo";
-      this.cmbTo.Size = new System.Drawing.Size(77, 21);
-      this.cmbTo.TabIndex = 40;
+      // dtpFrom
+      // 
+      this.dtpFrom.Format = System.Windows.Forms.DateTimePickerFormat.Custom;
+      this.dtpFrom.Location = new System.Drawing.Point(97, 31);
+      this.dtpFrom.Name = "dtpFrom";
+      this.dtpFrom.Size = new System.Drawing.Size(89, 20);
+      this.dtpFrom.TabIndex = 32;
+      // 
+      // dtpTo
+      // 
+      this.dtpTo.Format = System.Windows.Forms.DateTimePickerFormat.Custom;
+      this.dtpTo.Location = new System.Drawing.Point(97, 64);
+      this.dtpTo.Name = "dtpTo";
+      this.dtpTo.Size = new System.Drawing.Size(89, 20);
+      this.dtpTo.TabIndex = 33;
       // 
       // HiveClientConsole
@@ -709,6 +709,6 @@
     private System.Windows.Forms.Button btnRecurrence;
     private System.Windows.Forms.CheckBox chbade;
-    private System.Windows.Forms.ComboBox cmbTo;
-    private System.Windows.Forms.ComboBox cmbFrom;
+    private System.Windows.Forms.DateTimePicker dtpTo;
+    private System.Windows.Forms.DateTimePicker dtpFrom;
   }
 }
Index: /trunk/sources/HeuristicLab.Hive.Client.Console/HiveClientConsole.resx
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Client.Console/HiveClientConsole.resx	(revision 1256)
+++ /trunk/sources/HeuristicLab.Hive.Client.Console/HiveClientConsole.resx	(revision 1257)
@@ -127,44 +127,44 @@
         ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAABS
         CgAAAk1TRnQBSQFMAgEBAgEAAQQBAAEEAQABEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA
-        AwABEAMAAQEBAAEgBgABECoAAUMCAQF0AWYCCQHxAxgB/wFiAgMB1AEgAgEBLCwAAUMCAQF0AWYCCQHx
-        AxgB/wFiAgMB1AEgAgEBLKQAAWACCgHyAZMBcgEYAf8BvwGBARgB/wG9AYEBGAH/AboBgQEYAf8BuAGB
-        ARgB/wG2AYABGAH/AUwBNQEYAf8BPQIBAWUcAAFgAgoB8gIYAaQB/wIYAdYB/wIYAdQB/wIYAdIB/wIY
-        AdAB/wIYAc4B/wIYAVMB/wE9AgEBZZgAASIBHgEYAf8BxwGBARgB/wHDAYEBGAH/AbEBegEYAf8BsQF6
-        ARgB/wGxAXoBGAH/AbEBegEYAf8BswF8ARgB/wG2AYABGAH/AbQBfQEYAf8BZAIFAeQUAAIYASMB/wIY
-        AdwB/wIYAdkB/wIYAcoB/wIYAcoB/wIYAcoB/wIYAcoB/wIYAcsB/wIYAc4B/wIYAcwB/wFkAgUB5JAA
-        AxgB/wHLAYEBGAH/AbsBgQEYAf8BtgGAARgB/wG2AYABGAH/Ae4B3AHEBf8BvgGBATUB/wG2AYABGAH/
-        AbYBgAEYAf8BtgGAARgB/wG0AX0BGAH/AUkCAgGGDAADGAH/AhgB4AH/AhgB0gH/AhgBzgH/AkUB1gH/
-        AhgBzgH/AhgBzgH/AhgBzgH/AhsBzgH/AhgBzgH/AhgBzgH/AhgBzAH/AUkCAgGGiAABLAIBAUIB0AGG
-        ARgB/wHHAYEBGAH/AboBgQEYAf8BugGBARgB/wG6AYEBGAH/AdABnAFpBf8BugGBARgB/wG6AYEBGAH/
-        AboBgQEYAf8BugGBARgB/wG2AYABGAH/AWwBRwEYAf8IAAEsAgEBQgIYAeQB/wIYAdwB/wIYAdIB/wKf
-        Ae0F/wJeAd4B/wIYAdIB/wL0Af0F/wIbAdIB/wIYAdIB/wIYAc4B/wIYAXcB/4gAAxgB/wHSAYkBGAH/
-        Ab8BgQEYAf8BvwGBARgB/wG/AYEBGAH/Ab8BgQEYAf8B0wGfAWkF/wG/AYEBGAH/Ab8BgQEYAf8BvwGB
-        ARgB/wG/AYEBGAH/Ab4BgQEYAf8BtgGAARgB/wE2AgEBVwQAAxgB/wIYAeUB/wIYAdYB/wIYAdYN/wL1
-        Af0J/wLiAfoB/wIYAdYB/wIYAdUB/wIYAc4B/wE2AgEBV4QAAWABSAEYAf8B1AGMARgB/wHEAYEBGAH/
-        AcQBgQEYAf8BxAGBARgB/wHEAYEBGAH/AdcBpAFqBf8BxAGBARgB/wHEAYEBGAH/AcQBgQEYAf8BxAGB
-        ARgB/wHEAYEBGAH/AbgBgQEYAf8BZQIHAewEAAIYAWYB/wIYAegB/wIYAdoB/wIYAdoB/wIYAdoR/wLi
-        AfoB/wIYAdoB/wIYAdoB/wIYAdoB/wIYAdAB/wFlAgcB7IQAAYABXQEYAf8B1wGOARgB/wHJAYEBGAH/
-        AckBgQEYAf8ByQGBARgB/wHJAYEBGAn/AckBgQEYAf8ByQGBARgB/wHJAYEBGAH/AckBgQEYAf8ByQGB
-        ARgB/wG6AYEBGAH/AxgB/wQAAhgBgQH/AhgB6QH/AhgB3gH/AhgB3gH/AhgB3gH/AvQB/Q3/Al4B5wH/
-        AhgB3gH/AhgB3gH/AhgB3gH/AhgB0gH/AxgB/4QAAXABTgEYAf8B2QGRARgB/wHOAYMBGAH/Ac4BgwEY
-        Af8BzgGDARgB/wHOAYMBGAH/Ac4BgwEYAf8B1wGcAUkB/wHOAYMBGAH/Ac4BgwEYAf8BzgGDARgB/wHO
-        AYMBGAH/Ac4BgwEYAf8BvQGBARgB/wFIAhMB+QQAARgBHQFvAf8CGAHsAf8CGAHiAf8CGAHiAf8C9AH9
-        Ff8CXgHqAf8CGAHiAf8CGAHiAf8CGAHUAf8BSAITAfmEAAEbARkBGAH/AdsBlAEYAf8B0gGJARgB/wHS
-        AYkBGAH/AdIBiQEYAf8B0gGJARgB/wHSAYkBGAH/AesBywGQAf8B0gGJARgB/wHSAYkBGAH/AdIBiQEY
-        Af8B0gGJARgB/wHEAYEBGAH/Ab8BgQEYAf8BUQICAZsEAAIYARsB/wIYAe0B/wIYAeYB/wIYAeUB/wL9
-        Af4F/wLiAfwB/wIYAeUJ/wKBAfEB/wIYAeUB/wIYAdoB/wIYAdYB/wFRAgIBm4QAAVgCAgGyAd4BmAEY
-        Af8B2wGUARgB/wHXAY4BGAH/AdcBjgEYAf8B1wGOARgB/wH7AfYB6wX/AdcBjgEYAf8B1wGOARgB/wHX
-        AY4BGAH/AdYBjQEYAf8BxAGBARgB/wGpAXkBGAH/CAABWAICAbIBGAEiAe8B/wIYAe0B/wIYAekB/wIY
-        AekB/wLhAfwB/wIYAekB/wIYAekB/wIYAekB/wKBAfMB/wIYAekB/wIYAegB/wIYAdoB/wEYASABnQH/
-        jAABUgE3ARgB/wHdAZcBGAH/AdsBlAEYAf8B2wGUARgB/wHbAZQBGAH/AdsBlAEYAf8B3AGXAR4B/wHb
-        AZQBGAH/AdsBlAEYAf8B1QGMARgB/wHJAYEBGAH/AdEBiAEYAf8BLAIYAfwMAAIYAUwB/wIYAe8B/wIY
-        Ae0B/wIYAe0B/wIYAe0B/wIYAe0B/wIYAe0B/wIYAe0B/wIYAe0B/wIYAegB/wIYAd4B/wEYASsB4gH/
-        ASwCGAH8jAABGQIBASEBkAFsARgB/wHfAZkBGAH/AdsBlAEYAf8B2QGRARgB/wHYAZABGAH/AdgBkAEY
-        Af8B0wGKARgB/wHQAYYBGAH/Ac4BgwEYAf8B2gGSARgB/wEjAR4BGAH/EAABGQIBASECGAGHAf8BGAEe
-        AfEB/wIYAe0B/wIYAewB/wIYAesB/wIYAesB/wIYAeYB/wIYAeQB/wIYAeIB/wEYATUB5gH/AhgBIgH/
-        lAABEgIBARYBPQEvARgB/wHSAYkBGAH/AeIBnQEYAf8B2QGRARgB/wHXAY4BGAH/AdUBjAEYAf8B4QGb
-        ARgB/wHOAYQBGAH/ATACGAH+GAABEgIBARYCGAE8Af8BGAEeAdMB/wEYAS8B9AH/AhgB7AH/AhgB6QH/
-        ARgBGQHoAf8BGAE3AfAB/wIYAcwB/wEwAhgB/qAAAUYCAQF9AxgB/wFpAVABGAH/AYEBaQEYAf8BSgE7
-        ARgB/wEwAhgB/gEUAgEBGiQAAUYCAQF9AxgB/wIYAWwB/wIYAYEB/wIYAUwB/wEwAhgB/gEUAgEBGv8A
+        AwABEAMAAQEBAAEgBgABECoAAUMCAQF0AWYCCQHxAxkB/wFiAgMB1AEgAgEBLCwAAUMCAQF0AWYCCQHx
+        AxkB/wFiAgMB1AEgAgEBLKQAAWACCgHyAZMBcwEZAf8BvwGBARkB/wG9AYEBGQH/AboBgQEZAf8BuAGB
+        ARkB/wG2AYEBGQH/AU0BNgEZAf8BPQIBAWUcAAFgAgoB8gIZAaQB/wIZAdYB/wIZAdQB/wIZAdIB/wIZ
+        AdAB/wIZAc4B/wIZAVQB/wE9AgEBZZgAASMBHwEZAf8BxwGBARkB/wHDAYEBGQH/AbEBewEZAf8BsQF7
+        ARkB/wGxAXsBGQH/AbEBewEZAf8BswF9ARkB/wG2AYEBGQH/AbQBfgEZAf8BZAIFAeQUAAIZASQB/wIZ
+        AdwB/wIZAdkB/wIZAcoB/wIZAcoB/wIZAcoB/wIZAcoB/wIZAcsB/wIZAc4B/wIZAcwB/wFkAgUB5JAA
+        AxkB/wHLAYEBGQH/AbsBgQEZAf8BtgGBARkB/wG2AYEBGQH/Ae4B3AHEBf8BvgGBATYB/wG2AYEBGQH/
+        AbYBgQEZAf8BtgGBARkB/wG0AX4BGQH/AUkCAgGGDAADGQH/AhkB4AH/AhkB0gH/AhkBzgH/AkYB1gH/
+        AhkBzgH/AhkBzgH/AhkBzgH/AhwBzgH/AhkBzgH/AhkBzgH/AhkBzAH/AUkCAgGGiAABLAIBAUIB0AGG
+        ARkB/wHHAYEBGQH/AboBgQEZAf8BugGBARkB/wG6AYEBGQH/AdABnAFqBf8BugGBARkB/wG6AYEBGQH/
+        AboBgQEZAf8BugGBARkB/wG2AYEBGQH/AW0BSAEZAf8IAAEsAgEBQgIZAeQB/wIZAdwB/wIZAdIB/wKf
+        Ae0F/wJfAd4B/wIZAdIB/wL0Af0F/wIcAdIB/wIZAdIB/wIZAc4B/wIZAXgB/4gAAxkB/wHSAYkBGQH/
+        Ab8BgQEZAf8BvwGBARkB/wG/AYEBGQH/Ab8BgQEZAf8B0wGfAWoF/wG/AYEBGQH/Ab8BgQEZAf8BvwGB
+        ARkB/wG/AYEBGQH/Ab4BgQEZAf8BtgGBARkB/wE2AgEBVwQAAxkB/wIZAeUB/wIZAdYB/wIZAdYN/wL1
+        Af0J/wLiAfoB/wIZAdYB/wIZAdUB/wIZAc4B/wE2AgEBV4QAAWEBSQEZAf8B1AGMARkB/wHEAYEBGQH/
+        AcQBgQEZAf8BxAGBARkB/wHEAYEBGQH/AdcBpAFrBf8BxAGBARkB/wHEAYEBGQH/AcQBgQEZAf8BxAGB
+        ARkB/wHEAYEBGQH/AbgBgQEZAf8BZQIHAewEAAIZAWcB/wIZAegB/wIZAdoB/wIZAdoB/wIZAdoR/wLi
+        AfoB/wIZAdoB/wIZAdoB/wIZAdoB/wIZAdAB/wFlAgcB7IQAAYEBXgEZAf8B1wGOARkB/wHJAYEBGQH/
+        AckBgQEZAf8ByQGBARkB/wHJAYEBGQn/AckBgQEZAf8ByQGBARkB/wHJAYEBGQH/AckBgQEZAf8ByQGB
+        ARkB/wG6AYEBGQH/AxkB/wQAAhkBgQH/AhkB6QH/AhkB3gH/AhkB3gH/AhkB3gH/AvQB/Q3/Al8B5wH/
+        AhkB3gH/AhkB3gH/AhkB3gH/AhkB0gH/AxkB/4QAAXEBTwEZAf8B2QGRARkB/wHOAYMBGQH/Ac4BgwEZ
+        Af8BzgGDARkB/wHOAYMBGQH/Ac4BgwEZAf8B1wGcAUoB/wHOAYMBGQH/Ac4BgwEZAf8BzgGDARkB/wHO
+        AYMBGQH/Ac4BgwEZAf8BvQGBARkB/wFJAhMB+QQAARkBHgFwAf8CGQHsAf8CGQHiAf8CGQHiAf8C9AH9
+        Ff8CXwHqAf8CGQHiAf8CGQHiAf8CGQHUAf8BSQITAfmEAAEcARoBGQH/AdsBlAEZAf8B0gGJARkB/wHS
+        AYkBGQH/AdIBiQEZAf8B0gGJARkB/wHSAYkBGQH/AesBywGQAf8B0gGJARkB/wHSAYkBGQH/AdIBiQEZ
+        Af8B0gGJARkB/wHEAYEBGQH/Ab8BgQEZAf8BUQICAZsEAAIZARwB/wIZAe0B/wIZAeYB/wIZAeUB/wL9
+        Af4F/wLiAfwB/wIZAeUJ/wKBAfEB/wIZAeUB/wIZAdoB/wIZAdYB/wFRAgIBm4QAAVgCAgGyAd4BmAEZ
+        Af8B2wGUARkB/wHXAY4BGQH/AdcBjgEZAf8B1wGOARkB/wH7AfYB6wX/AdcBjgEZAf8B1wGOARkB/wHX
+        AY4BGQH/AdYBjQEZAf8BxAGBARkB/wGpAXoBGQH/CAABWAICAbIBGQEjAe8B/wIZAe0B/wIZAekB/wIZ
+        AekB/wLhAfwB/wIZAekB/wIZAekB/wIZAekB/wKBAfMB/wIZAekB/wIZAegB/wIZAdoB/wEZASEBnQH/
+        jAABUwE4ARkB/wHdAZcBGQH/AdsBlAEZAf8B2wGUARkB/wHbAZQBGQH/AdsBlAEZAf8B3AGXAR8B/wHb
+        AZQBGQH/AdsBlAEZAf8B1QGMARkB/wHJAYEBGQH/AdEBiAEZAf8BLAIZAfwMAAIZAU0B/wIZAe8B/wIZ
+        Ae0B/wIZAe0B/wIZAe0B/wIZAe0B/wIZAe0B/wIZAe0B/wIZAe0B/wIZAegB/wIZAd4B/wEZASwB4gH/
+        ASwCGQH8jAABGQIBASEBkAFtARkB/wHfAZkBGQH/AdsBlAEZAf8B2QGRARkB/wHYAZABGQH/AdgBkAEZ
+        Af8B0wGKARkB/wHQAYYBGQH/Ac4BgwEZAf8B2gGSARkB/wEkAR8BGQH/EAABGQIBASECGQGHAf8BGQEf
+        AfEB/wIZAe0B/wIZAewB/wIZAesB/wIZAesB/wIZAeYB/wIZAeQB/wIZAeIB/wEZATYB5gH/AhkBIwH/
+        lAABEgIBARYBPgEwARkB/wHSAYkBGQH/AeIBnQEZAf8B2QGRARkB/wHXAY4BGQH/AdUBjAEZAf8B4QGb
+        ARkB/wHOAYQBGQH/ATICGQH+GAABEgIBARYCGQE9Af8BGQEfAdMB/wEZATAB9AH/AhkB7AH/AhkB6QH/
+        ARkBGgHoAf8BGQE4AfAB/wIZAcwB/wEyAhkB/qAAAUYCAQF9AxkB/wFqAVEBGQH/AYEBagEZAf8BSwE8
+        ARkB/wEyAhkB/gEUAgEBGiQAAUYCAQF9AxkB/wIZAW0B/wIZAYEB/wIZAU0B/wEyAhkB/gEUAgEBGv8A
         kQABQgFNAT4HAAE+AwABKAMAAUADAAEQAwABAQEAAQEFAAGAFwAD/wEAAfwBHwH8AR8EAAHwAQcB8AEH
         BAAB4AEDAeABAwQAAcABAQHAAQEEAAGAAQEBgAEBBAABgAEAAYAFAAGAAQABgAUAAYABAAGABQABgAEA
Index: /trunk/sources/HeuristicLab.Hive.Client.Console/Recurrence.Designer.cs
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Client.Console/Recurrence.Designer.cs	(revision 1257)
+++ /trunk/sources/HeuristicLab.Hive.Client.Console/Recurrence.Designer.cs	(revision 1257)
@@ -0,0 +1,386 @@
+﻿namespace HeuristicLab.Hive.Client.Console {
+  partial class Recurrence {
+    /// <summary>
+    /// Required designer variable.
+    /// </summary>
+    private System.ComponentModel.IContainer components = null;
+
+    /// <summary>
+    /// Clean up any resources being used.
+    /// </summary>
+    /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+    protected override void Dispose(bool disposing) {
+      if (disposing && (components != null)) {
+        components.Dispose();
+      }
+      base.Dispose(disposing);
+    }
+
+    #region Windows Form Designer generated code
+
+    /// <summary>
+    /// Required method for Designer support - do not modify
+    /// the contents of this method with the code editor.
+    /// </summary>
+    private void InitializeComponent() {
+      this.cmbEnd = new System.Windows.Forms.Label();
+      this.label1 = new System.Windows.Forms.Label();
+      this.gbAppointment = new System.Windows.Forms.GroupBox();
+      this.cmbDuration = new System.Windows.Forms.ComboBox();
+      this.label3 = new System.Windows.Forms.Label();
+      this.gbRecurrence = new System.Windows.Forms.GroupBox();
+      this.rbtWeekly = new System.Windows.Forms.RadioButton();
+      this.rbtDaily = new System.Windows.Forms.RadioButton();
+      this.txtDays = new System.Windows.Forms.TextBox();
+      this.label4 = new System.Windows.Forms.Label();
+      this.gbDaily = new System.Windows.Forms.GroupBox();
+      this.gbWeekly = new System.Windows.Forms.GroupBox();
+      this.cbSunday = new System.Windows.Forms.CheckBox();
+      this.cbSaturday = new System.Windows.Forms.CheckBox();
+      this.cbFriday = new System.Windows.Forms.CheckBox();
+      this.cbThursday = new System.Windows.Forms.CheckBox();
+      this.cbWednesday = new System.Windows.Forms.CheckBox();
+      this.cbTuesday = new System.Windows.Forms.CheckBox();
+      this.cbMonday = new System.Windows.Forms.CheckBox();
+      this.label7 = new System.Windows.Forms.Label();
+      this.gbDuration = new System.Windows.Forms.GroupBox();
+      this.dtpEnd = new System.Windows.Forms.DateTimePicker();
+      this.dtpStart = new System.Windows.Forms.DateTimePicker();
+      this.label5 = new System.Windows.Forms.Label();
+      this.label6 = new System.Windows.Forms.Label();
+      this.cmbEndTime = new System.Windows.Forms.ComboBox();
+      this.cmbBeginTime = new System.Windows.Forms.ComboBox();
+      this.gbAppointment.SuspendLayout();
+      this.gbRecurrence.SuspendLayout();
+      this.gbDaily.SuspendLayout();
+      this.gbWeekly.SuspendLayout();
+      this.gbDuration.SuspendLayout();
+      this.SuspendLayout();
+      // 
+      // cmbEnd
+      // 
+      this.cmbEnd.AutoSize = true;
+      this.cmbEnd.Location = new System.Drawing.Point(129, 22);
+      this.cmbEnd.Name = "cmbEnd";
+      this.cmbEnd.Size = new System.Drawing.Size(29, 13);
+      this.cmbEnd.TabIndex = 34;
+      this.cmbEnd.Text = "End:";
+      // 
+      // label1
+      // 
+      this.label1.AutoSize = true;
+      this.label1.Location = new System.Drawing.Point(7, 22);
+      this.label1.Name = "label1";
+      this.label1.Size = new System.Drawing.Size(37, 13);
+      this.label1.TabIndex = 32;
+      this.label1.Text = "Begin:";
+      // 
+      // gbAppointment
+      // 
+      this.gbAppointment.Controls.Add(this.cmbEndTime);
+      this.gbAppointment.Controls.Add(this.cmbBeginTime);
+      this.gbAppointment.Controls.Add(this.cmbDuration);
+      this.gbAppointment.Controls.Add(this.label3);
+      this.gbAppointment.Controls.Add(this.label1);
+      this.gbAppointment.Controls.Add(this.cmbEnd);
+      this.gbAppointment.Location = new System.Drawing.Point(2, 2);
+      this.gbAppointment.Name = "gbAppointment";
+      this.gbAppointment.Size = new System.Drawing.Size(386, 50);
+      this.gbAppointment.TabIndex = 39;
+      this.gbAppointment.TabStop = false;
+      this.gbAppointment.Text = "Appointment";
+      // 
+      // cmbDuration
+      // 
+      this.cmbDuration.FormattingEnabled = true;
+      this.cmbDuration.Location = new System.Drawing.Point(303, 18);
+      this.cmbDuration.Name = "cmbDuration";
+      this.cmbDuration.Size = new System.Drawing.Size(77, 21);
+      this.cmbDuration.TabIndex = 37;
+      // 
+      // label3
+      // 
+      this.label3.AutoSize = true;
+      this.label3.Location = new System.Drawing.Point(255, 21);
+      this.label3.Name = "label3";
+      this.label3.Size = new System.Drawing.Size(50, 13);
+      this.label3.TabIndex = 36;
+      this.label3.Text = "Duration:";
+      // 
+      // gbRecurrence
+      // 
+      this.gbRecurrence.Controls.Add(this.rbtWeekly);
+      this.gbRecurrence.Controls.Add(this.rbtDaily);
+      this.gbRecurrence.Location = new System.Drawing.Point(2, 59);
+      this.gbRecurrence.Name = "gbRecurrence";
+      this.gbRecurrence.Size = new System.Drawing.Size(123, 94);
+      this.gbRecurrence.TabIndex = 40;
+      this.gbRecurrence.TabStop = false;
+      this.gbRecurrence.Text = "Recurrence Pattern";
+      // 
+      // rbtWeekly
+      // 
+      this.rbtWeekly.AutoSize = true;
+      this.rbtWeekly.Location = new System.Drawing.Point(11, 58);
+      this.rbtWeekly.Name = "rbtWeekly";
+      this.rbtWeekly.Size = new System.Drawing.Size(61, 17);
+      this.rbtWeekly.TabIndex = 1;
+      this.rbtWeekly.Text = "Weekly";
+      this.rbtWeekly.UseVisualStyleBackColor = true;
+      this.rbtWeekly.CheckedChanged += new System.EventHandler(this.rbtDaily_CheckedChanged);
+      // 
+      // rbtDaily
+      // 
+      this.rbtDaily.AutoSize = true;
+      this.rbtDaily.Checked = true;
+      this.rbtDaily.Location = new System.Drawing.Point(11, 34);
+      this.rbtDaily.Name = "rbtDaily";
+      this.rbtDaily.Size = new System.Drawing.Size(48, 17);
+      this.rbtDaily.TabIndex = 0;
+      this.rbtDaily.TabStop = true;
+      this.rbtDaily.Text = "Daily";
+      this.rbtDaily.UseVisualStyleBackColor = true;
+      this.rbtDaily.CheckedChanged += new System.EventHandler(this.rbtDaily_CheckedChanged);
+      // 
+      // txtDays
+      // 
+      this.txtDays.Location = new System.Drawing.Point(50, 17);
+      this.txtDays.Name = "txtDays";
+      this.txtDays.Size = new System.Drawing.Size(30, 20);
+      this.txtDays.TabIndex = 24;
+      // 
+      // label4
+      // 
+      this.label4.AutoSize = true;
+      this.label4.Location = new System.Drawing.Point(10, 20);
+      this.label4.Name = "label4";
+      this.label4.Size = new System.Drawing.Size(34, 13);
+      this.label4.TabIndex = 23;
+      this.label4.Text = "Every";
+      // 
+      // gbDaily
+      // 
+      this.gbDaily.Controls.Add(this.label7);
+      this.gbDaily.Controls.Add(this.txtDays);
+      this.gbDaily.Controls.Add(this.label4);
+      this.gbDaily.Location = new System.Drawing.Point(123, 59);
+      this.gbDaily.Name = "gbDaily";
+      this.gbDaily.Size = new System.Drawing.Size(265, 94);
+      this.gbDaily.TabIndex = 41;
+      this.gbDaily.TabStop = false;
+      // 
+      // gbWeekly
+      // 
+      this.gbWeekly.Controls.Add(this.cbSunday);
+      this.gbWeekly.Controls.Add(this.cbSaturday);
+      this.gbWeekly.Controls.Add(this.cbFriday);
+      this.gbWeekly.Controls.Add(this.cbThursday);
+      this.gbWeekly.Controls.Add(this.cbWednesday);
+      this.gbWeekly.Controls.Add(this.cbTuesday);
+      this.gbWeekly.Controls.Add(this.cbMonday);
+      this.gbWeekly.Location = new System.Drawing.Point(123, 59);
+      this.gbWeekly.Name = "gbWeekly";
+      this.gbWeekly.Size = new System.Drawing.Size(265, 94);
+      this.gbWeekly.TabIndex = 42;
+      this.gbWeekly.TabStop = false;
+      this.gbWeekly.Visible = false;
+      // 
+      // cbSunday
+      // 
+      this.cbSunday.AutoSize = true;
+      this.cbSunday.Location = new System.Drawing.Point(11, 58);
+      this.cbSunday.Name = "cbSunday";
+      this.cbSunday.Size = new System.Drawing.Size(62, 17);
+      this.cbSunday.TabIndex = 6;
+      this.cbSunday.Text = "Sunday";
+      this.cbSunday.UseVisualStyleBackColor = true;
+      // 
+      // cbSaturday
+      // 
+      this.cbSaturday.AutoSize = true;
+      this.cbSaturday.Location = new System.Drawing.Point(173, 37);
+      this.cbSaturday.Name = "cbSaturday";
+      this.cbSaturday.Size = new System.Drawing.Size(68, 17);
+      this.cbSaturday.TabIndex = 5;
+      this.cbSaturday.Text = "Saturday";
+      this.cbSaturday.UseVisualStyleBackColor = true;
+      // 
+      // cbFriday
+      // 
+      this.cbFriday.AutoSize = true;
+      this.cbFriday.Location = new System.Drawing.Point(97, 37);
+      this.cbFriday.Name = "cbFriday";
+      this.cbFriday.Size = new System.Drawing.Size(54, 17);
+      this.cbFriday.TabIndex = 4;
+      this.cbFriday.Text = "Friday";
+      this.cbFriday.UseVisualStyleBackColor = true;
+      // 
+      // cbThursday
+      // 
+      this.cbThursday.AutoSize = true;
+      this.cbThursday.Location = new System.Drawing.Point(11, 37);
+      this.cbThursday.Name = "cbThursday";
+      this.cbThursday.Size = new System.Drawing.Size(70, 17);
+      this.cbThursday.TabIndex = 3;
+      this.cbThursday.Text = "Thursday";
+      this.cbThursday.UseVisualStyleBackColor = true;
+      // 
+      // cbWednesday
+      // 
+      this.cbWednesday.AutoSize = true;
+      this.cbWednesday.Location = new System.Drawing.Point(173, 16);
+      this.cbWednesday.Name = "cbWednesday";
+      this.cbWednesday.Size = new System.Drawing.Size(86, 17);
+      this.cbWednesday.TabIndex = 2;
+      this.cbWednesday.Text = "Wednesday ";
+      this.cbWednesday.UseVisualStyleBackColor = true;
+      // 
+      // cbTuesday
+      // 
+      this.cbTuesday.AutoSize = true;
+      this.cbTuesday.Location = new System.Drawing.Point(97, 16);
+      this.cbTuesday.Name = "cbTuesday";
+      this.cbTuesday.Size = new System.Drawing.Size(67, 17);
+      this.cbTuesday.TabIndex = 1;
+      this.cbTuesday.Text = "Tuesday";
+      this.cbTuesday.UseVisualStyleBackColor = true;
+      // 
+      // cbMonday
+      // 
+      this.cbMonday.AutoSize = true;
+      this.cbMonday.Location = new System.Drawing.Point(11, 16);
+      this.cbMonday.Name = "cbMonday";
+      this.cbMonday.Size = new System.Drawing.Size(64, 17);
+      this.cbMonday.TabIndex = 0;
+      this.cbMonday.Text = "Monday";
+      this.cbMonday.UseVisualStyleBackColor = true;
+      // 
+      // label7
+      // 
+      this.label7.AutoSize = true;
+      this.label7.Location = new System.Drawing.Point(86, 20);
+      this.label7.Name = "label7";
+      this.label7.Size = new System.Drawing.Size(37, 13);
+      this.label7.TabIndex = 25;
+      this.label7.Text = "Day(s)";
+      // 
+      // gbDuration
+      // 
+      this.gbDuration.Controls.Add(this.dtpEnd);
+      this.gbDuration.Controls.Add(this.dtpStart);
+      this.gbDuration.Controls.Add(this.label5);
+      this.gbDuration.Controls.Add(this.label6);
+      this.gbDuration.Location = new System.Drawing.Point(2, 160);
+      this.gbDuration.Name = "gbDuration";
+      this.gbDuration.Size = new System.Drawing.Size(386, 50);
+      this.gbDuration.TabIndex = 42;
+      this.gbDuration.TabStop = false;
+      this.gbDuration.Text = "Duration";
+      // 
+      // dtpEnd
+      // 
+      this.dtpEnd.Format = System.Windows.Forms.DateTimePickerFormat.Short;
+      this.dtpEnd.Location = new System.Drawing.Point(250, 18);
+      this.dtpEnd.Name = "dtpEnd";
+      this.dtpEnd.Size = new System.Drawing.Size(91, 20);
+      this.dtpEnd.TabIndex = 29;
+      // 
+      // dtpStart
+      // 
+      this.dtpStart.Format = System.Windows.Forms.DateTimePickerFormat.Custom;
+      this.dtpStart.Location = new System.Drawing.Point(69, 18);
+      this.dtpStart.Name = "dtpStart";
+      this.dtpStart.Size = new System.Drawing.Size(89, 20);
+      this.dtpStart.TabIndex = 28;
+      // 
+      // label5
+      // 
+      this.label5.AutoSize = true;
+      this.label5.Location = new System.Drawing.Point(189, 22);
+      this.label5.Name = "label5";
+      this.label5.Size = new System.Drawing.Size(55, 13);
+      this.label5.TabIndex = 27;
+      this.label5.Text = "End Date:";
+      // 
+      // label6
+      // 
+      this.label6.AutoSize = true;
+      this.label6.Location = new System.Drawing.Point(14, 22);
+      this.label6.Name = "label6";
+      this.label6.Size = new System.Drawing.Size(58, 13);
+      this.label6.TabIndex = 25;
+      this.label6.Text = "Start Date:";
+      // 
+      // cmbEndTime
+      // 
+      this.cmbEndTime.FormattingEnabled = true;
+      this.cmbEndTime.Location = new System.Drawing.Point(155, 18);
+      this.cmbEndTime.Name = "cmbEndTime";
+      this.cmbEndTime.Size = new System.Drawing.Size(77, 21);
+      this.cmbEndTime.TabIndex = 39;
+      // 
+      // cmbBeginTime
+      // 
+      this.cmbBeginTime.FormattingEnabled = true;
+      this.cmbBeginTime.Location = new System.Drawing.Point(46, 18);
+      this.cmbBeginTime.Name = "cmbBeginTime";
+      this.cmbBeginTime.Size = new System.Drawing.Size(77, 21);
+      this.cmbBeginTime.TabIndex = 38;
+      // 
+      // Recurrence
+      // 
+      this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+      this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+      this.ClientSize = new System.Drawing.Size(390, 214);
+      this.Controls.Add(this.gbWeekly);
+      this.Controls.Add(this.gbDuration);
+      this.Controls.Add(this.gbDaily);
+      this.Controls.Add(this.gbRecurrence);
+      this.Controls.Add(this.gbAppointment);
+      this.Name = "Recurrence";
+      this.Text = "Recurrence";
+      this.gbAppointment.ResumeLayout(false);
+      this.gbAppointment.PerformLayout();
+      this.gbRecurrence.ResumeLayout(false);
+      this.gbRecurrence.PerformLayout();
+      this.gbDaily.ResumeLayout(false);
+      this.gbDaily.PerformLayout();
+      this.gbWeekly.ResumeLayout(false);
+      this.gbWeekly.PerformLayout();
+      this.gbDuration.ResumeLayout(false);
+      this.gbDuration.PerformLayout();
+      this.ResumeLayout(false);
+
+    }
+
+    #endregion
+
+    private System.Windows.Forms.Label cmbEnd;
+    private System.Windows.Forms.Label label1;
+    private System.Windows.Forms.GroupBox gbAppointment;
+    private System.Windows.Forms.ComboBox cmbDuration;
+    private System.Windows.Forms.Label label3;
+    private System.Windows.Forms.GroupBox gbRecurrence;
+    private System.Windows.Forms.RadioButton rbtWeekly;
+    private System.Windows.Forms.RadioButton rbtDaily;
+    private System.Windows.Forms.TextBox txtDays;
+    private System.Windows.Forms.Label label4;
+    private System.Windows.Forms.GroupBox gbDaily;
+    private System.Windows.Forms.GroupBox gbDuration;
+    private System.Windows.Forms.DateTimePicker dtpEnd;
+    private System.Windows.Forms.DateTimePicker dtpStart;
+    private System.Windows.Forms.Label label5;
+    private System.Windows.Forms.Label label6;
+    private System.Windows.Forms.Label label7;
+    private System.Windows.Forms.GroupBox gbWeekly;
+    private System.Windows.Forms.CheckBox cbSunday;
+    private System.Windows.Forms.CheckBox cbSaturday;
+    private System.Windows.Forms.CheckBox cbFriday;
+    private System.Windows.Forms.CheckBox cbThursday;
+    private System.Windows.Forms.CheckBox cbWednesday;
+    private System.Windows.Forms.CheckBox cbTuesday;
+    private System.Windows.Forms.CheckBox cbMonday;
+    private System.Windows.Forms.ComboBox cmbEndTime;
+    private System.Windows.Forms.ComboBox cmbBeginTime;
+  }
+}
Index: /trunk/sources/HeuristicLab.Hive.Client.Console/Recurrence.cs
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Client.Console/Recurrence.cs	(revision 1257)
+++ /trunk/sources/HeuristicLab.Hive.Client.Console/Recurrence.cs	(revision 1257)
@@ -0,0 +1,26 @@
+﻿using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Linq;
+using System.Text;
+using System.Windows.Forms;
+
+namespace HeuristicLab.Hive.Client.Console {
+  public partial class Recurrence : Form {
+    public Recurrence() {
+      InitializeComponent();
+    }
+
+    private void rbtDaily_CheckedChanged(object sender, EventArgs e) {
+      if (rbtDaily.Checked) {
+        gbDaily.Visible = true;
+        gbWeekly.Visible = false;
+      } else if (rbtWeekly.Checked) {
+        gbDaily.Visible = false;
+        gbWeekly.Visible = true;
+      }
+    }
+  }
+}
Index: /trunk/sources/HeuristicLab.Hive.Client.Console/Recurrence.resx
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Client.Console/Recurrence.resx	(revision 1257)
+++ /trunk/sources/HeuristicLab.Hive.Client.Console/Recurrence.resx	(revision 1257)
@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+</root>
