diff --git a/src/app/custom_modules/calendar/calendar.component.ts b/src/app/custom_modules/calendar/calendar.component.ts
index 6b03496..cc409aa 100644
--- a/src/app/custom_modules/calendar/calendar.component.ts
+++ b/src/app/custom_modules/calendar/calendar.component.ts
@@ -163,8 +163,8 @@
 
   eventTimesChanged(eventchanged: CalendarEventTimesChangedEvent): void {
     const event = <CalendarEvent><GridMeasure>eventchanged.event;
-    event.meta.starttimeFirstSequence = eventchanged.newStart;
-    event.meta.endtimeGridmeasure = eventchanged.newEnd;
+    event.meta.plannedStarttimSinglemeasure = eventchanged.newStart;
+    event.meta.plannedEndtimeSinglemeasure = eventchanged.newEnd;
 
     event.start = eventchanged.newStart;
     event.end = eventchanged.newEnd;
diff --git a/src/app/model/grid-measure.ts b/src/app/model/grid-measure.ts
index 4723b07..cb0ba8f 100644
--- a/src/app/model/grid-measure.ts
+++ b/src/app/model/grid-measure.ts
@@ -27,20 +27,12 @@
     statusId?: number;
     switchingObject?: string;
     costCenter?: string;
-    // responsibleOnSiteName?: string; // TODO: gehört hier nicht rein, ist ein Attribut der SGM
-    // responsibleOnSiteDepartment?: string; // TODO: gehört hier nicht rein, ist ein Attribut der SGM
     approvalBy?: string;
     areaOfSwitching?: string;
     appointmentRepetition?: string;
     appointmentStartdate?: string;
     appointmentNumberOf?: number;
-    plannedStarttimeFirstSequence?: string;
     plannedStarttimeFirstSinglemeasure?: string;
-    plannedEndtimeLastSinglemeasure?: string;
-    plannedEndtimeGridmeasure?: string;
-    starttimeFirstSequence?: string;
-    starttimeFirstSinglemeasure?: string;
-    endtimeLastSinglemeasure?: string;
     endtimeGridmeasure?: string;
     timeOfReallocation?: string;
     description?: string;
diff --git a/src/app/pages/grid-measure-detail-header/grid-measure-detail-header.component.spec.ts b/src/app/pages/grid-measure-detail-header/grid-measure-detail-header.component.spec.ts
index b291fb3..7c846b9 100644
--- a/src/app/pages/grid-measure-detail-header/grid-measure-detail-header.component.spec.ts
+++ b/src/app/pages/grid-measure-detail-header/grid-measure-detail-header.component.spec.ts
@@ -109,25 +109,6 @@
 
   });
 
-  it('should result in invalid form after change on plannedEndtimeGridmeasure field', () => {
-    spyOn(component, 'onGridMeasureTitleChange').and.callThrough();
-
-    const newVal = 'TitleTest';
-    component.gridMeasureDetail.title = newVal;
-    component.gridMeasureDetail.plannedEndtimeGridmeasure = '2016-01-16T11:11:00z';
-
-    // Todo call the change Event over dispatcher for Example not the method itself
-    component.onGridMeasureTitleChange(newVal);
-    fixture.detectChanges();
-
-    fixture.whenRenderingDone().then(() => {
-      fixture.detectChanges();
-      expect((component as any).validForm).toBeFalsy();
-      expect(component.onGridMeasureTitleChange).toHaveBeenCalled();
-    });
-
-  });
-
   it('should set form to readonly', () => {
     component.readOnlyForm = false;
     fixture.detectChanges();
diff --git a/src/app/pages/grid-measure-detail-tab/grid-measure-detail-tab.component.spec.ts b/src/app/pages/grid-measure-detail-tab/grid-measure-detail-tab.component.spec.ts
index 5f4f991..7ee82cf 100644
--- a/src/app/pages/grid-measure-detail-tab/grid-measure-detail-tab.component.spec.ts
+++ b/src/app/pages/grid-measure-detail-tab/grid-measure-detail-tab.component.spec.ts
@@ -266,25 +266,6 @@
 
   });
 
-  it('should result in invalid form after change on plannedEndtimeGridmeasure field', () => {
-    spyOn(component, 'onGridMeasureTitleChange').and.callThrough();
-
-    const newVal = 'TitleTest';
-    component.gridMeasureDetail.title = newVal;
-    component.gridMeasureDetail.plannedEndtimeGridmeasure = '2016-01-16T11:11:00z';
-
-    // Todo call the change Event over dispatcher for Example not the method itself
-    component.onGridMeasureTitleChange(newVal);
-    fixture.detectChanges();
-
-    fixture.whenRenderingDone().then(() => {
-      fixture.detectChanges();
-      expect((component as any).validForm).toBeFalsy();
-      expect(component.onGridMeasureTitleChange).toHaveBeenCalled();
-    });
-
-  });
-
   ////////// UPLOAD DOCUMENT ////////////////
 
   it('should delete attached document', async(() => {
@@ -595,18 +576,12 @@
 
     component.gridMeasureDetail.id = undefined;
     component.gridMeasureDetail.appointmentStartdate = undefined;
-    component.gridMeasureDetail.plannedStarttimeFirstSequence = undefined;
-    component.gridMeasureDetail.plannedEndtimeLastSinglemeasure = undefined;
-    component.gridMeasureDetail.plannedEndtimeGridmeasure = undefined;
     component.gridMeasureDetail.plannedStarttimeFirstSinglemeasure = undefined;
     component.setCurrTimeIfEmpty(component.gridMeasureDetail);
     fixture.detectChanges();
     fixture.whenStable().then(() => {
       fixture.detectChanges();
       expect(component.gridMeasureDetail.appointmentStartdate.substr(0, 16)).toBe(mockDate.substr(0, 16));
-      expect(component.gridMeasureDetail.plannedStarttimeFirstSequence.substr(0, 16)).toBe(mockDate.substr(0, 16));
-      expect(component.gridMeasureDetail.plannedEndtimeLastSinglemeasure.substr(0, 16)).toBe(mockDate.substr(0, 16));
-      expect(component.gridMeasureDetail.plannedEndtimeGridmeasure.substr(0, 16)).toBe(mockDate.substr(0, 16));
       expect(component.gridMeasureDetail.plannedStarttimeFirstSinglemeasure.substr(0, 16)).toBe(mockDate.substr(0, 16));
     });
   }), customTestTimeout);
diff --git a/src/app/pages/grid-measure-detail-tab/grid-measure-detail-tab.component.ts b/src/app/pages/grid-measure-detail-tab/grid-measure-detail-tab.component.ts
index e6d7912..8eed6e4 100644
--- a/src/app/pages/grid-measure-detail-tab/grid-measure-detail-tab.component.ts
+++ b/src/app/pages/grid-measure-detail-tab/grid-measure-detail-tab.component.ts
@@ -147,9 +147,6 @@
 
     const dateFields = [
       'appointmentStartdate',
-      'plannedStarttimeFirstSequence',
-      'plannedEndtimeLastSinglemeasure',
-      'plannedEndtimeGridmeasure',
       'plannedStarttimeFirstSinglemeasure'
     ];
     if (gridMeasure.id) {
diff --git a/src/app/test-data/grid-measures.ts b/src/app/test-data/grid-measures.ts
index ed79f4e..06a6677 100644
--- a/src/app/test-data/grid-measures.ts
+++ b/src/app/test-data/grid-measures.ts
@@ -18,9 +18,6 @@
         descriptiveId: 'descriptiveId1',
         branchId: 1,
         plannedStarttimeFirstSinglemeasure: '2017-01-15T11:11:00z',
-        plannedStarttimeFirstSequence: '2017-01-15T11:11:00z',
-        plannedEndtimeLastSinglemeasure: '2017-01-15T11:11:00z',
-        plannedEndtimeGridmeasure: '2017-01-16T11:11:00z',
         title: 'T1',
         affectedResource: 'TESTRESOURCE1',
         remark: 'TESTREMARK1',
