diff --git a/Vecto3GUI2020Test/TestData/final.VIF_Report_4.xml b/Vecto3GUI2020Test/TestData/final.VIF_Report_4.xml
index 094ccf10ca1d8f2bb5702912eeb5772ef2facb59..c22683708e9015652cc03ffa3721d0ae1015f71b 100644
--- a/Vecto3GUI2020Test/TestData/final.VIF_Report_4.xml
+++ b/Vecto3GUI2020Test/TestData/final.VIF_Report_4.xml
@@ -656,10 +656,10 @@
               </v2.8:ElectricSystem>
               <v2.8:HVAC>
                 <v2.8:SystemConfiguration>0</v2.8:SystemConfiguration>
-                <v2.8:HeatPumpTypeDriverCompartment>non R-744 2-stage</v2.8:HeatPumpTypeDriverCompartment>
-                <v2.8:HeatPumpModeDriverCompartment>cooling</v2.8:HeatPumpModeDriverCompartment>
-                <v2.8:HeatPumpTypePassengerCompartment>non R-744 4-stage</v2.8:HeatPumpTypePassengerCompartment>
-                <v2.8:HeatPumpModePassengerCompartment>cooling</v2.8:HeatPumpModePassengerCompartment>
+                <v2.8:HeatPumpTypeCoolingDriverCompartment>R-744</v2.8:HeatPumpTypeCoolingDriverCompartment>
+                <v2.8:HeatPumpTypeHeatingDriverCompartment>non R-744 2-stage</v2.8:HeatPumpTypeHeatingDriverCompartment>
+                <v2.8:HeatPumpTypeCoolingPassengerCompartment>none</v2.8:HeatPumpTypeCoolingPassengerCompartment>
+                <v2.8:HeatPumpTypeHeatingPassengerCompartment>non R-744 continuous</v2.8:HeatPumpTypeHeatingPassengerCompartment>
               </v2.8:HVAC>
             </v2.8:Data>
           </v2.8:Auxiliaries>
@@ -701,6 +701,7 @@
         <v2.8:LegislativeCategory>M3</v2.8:LegislativeCategory>
         <v2.8:CorrectedActualMass>10680</v2.8:CorrectedActualMass>
         <v2.8:TechnicalPermissibleMaximumLadenMass>18000</v2.8:TechnicalPermissibleMaximumLadenMass>
+        <v2.8:AirdragModifiedMultistage>true</v2.8:AirdragModifiedMultistage>
         <v2.8:NgTankSystem>Compressed</v2.8:NgTankSystem>
         <v2.8:ClassBus>II</v2.8:ClassBus>
         <v2.8:NumberPassengerSeatsLowerDeck>86</v2.8:NumberPassengerSeatsLowerDeck>
@@ -751,10 +752,10 @@
               </v2.8:ElectricSystem>
               <v2.8:HVAC>
                 <v2.8:SystemConfiguration>6</v2.8:SystemConfiguration>
-                <v2.8:HeatPumpTypeDriverCompartment>none</v2.8:HeatPumpTypeDriverCompartment>
-                <v2.8:HeatPumpModeDriverCompartment>N.A.</v2.8:HeatPumpModeDriverCompartment>
-                <v2.8:HeatPumpTypePassengerCompartment>non R-744 2-stage</v2.8:HeatPumpTypePassengerCompartment>
-                <v2.8:HeatPumpModePassengerCompartment>cooling</v2.8:HeatPumpModePassengerCompartment>
+                <v2.8:HeatPumpTypeCoolingDriverCompartment>R-744</v2.8:HeatPumpTypeCoolingDriverCompartment>
+                <v2.8:HeatPumpTypeHeatingDriverCompartment>non R-744 2-stage</v2.8:HeatPumpTypeHeatingDriverCompartment>
+                <v2.8:HeatPumpTypeCoolingPassengerCompartment>none</v2.8:HeatPumpTypeCoolingPassengerCompartment>
+                <v2.8:HeatPumpTypeHeatingPassengerCompartment>non R-744 continuous</v2.8:HeatPumpTypeHeatingPassengerCompartment>
                 <v2.8:AuxiliaryHeaterPower>15000</v2.8:AuxiliaryHeaterPower>
                 <v2.8:DoubleGlazing>true</v2.8:DoubleGlazing>
                 <v2.8:AdjustableAuxiliaryHeater>false</v2.8:AdjustableAuxiliaryHeater>
diff --git a/Vecto3GUI2020Test/ViewModelTests/MultistageAuxiliariesViewModelTests.cs b/Vecto3GUI2020Test/ViewModelTests/MultistageAuxiliariesViewModelTests.cs
index 801e095995c191e606368b3edbac1dd74d623a13..7c8a88022124d7d33aab0ad4c66dc518a0aeca7c 100644
--- a/Vecto3GUI2020Test/ViewModelTests/MultistageAuxiliariesViewModelTests.cs
+++ b/Vecto3GUI2020Test/ViewModelTests/MultistageAuxiliariesViewModelTests.cs
@@ -12,113 +12,52 @@ namespace Vecto3GUI2020Test.ViewModelTests
 	[TestFixture]
 	public class MultistageAuxiliariesViewModelTests : ViewModelTestBase
 	{
-
-
-
-		[Test]
-		public void TestAllowedValuesHeatPumpModePassenger()
-		{
-
-			//var auxVm = new MultistageAuxiliariesViewModel(null);
-			//auxVm.HeatPumpTypePassengerCompartment = HeatPumpType.none;
-			//Assert.IsTrue(auxVm.HeatPumpModePassengerCompartmentAllowedValues.Contains(HeatPumpMode.N_A));
-			//Assert.IsFalse(auxVm.HeatPumpModePassengerCompartmentAllowedValues.Contains(HeatPumpMode.cooling));
-			//Assert.IsFalse(auxVm.HeatPumpModePassengerCompartmentAllowedValues.Contains(HeatPumpMode.heating));
-			//Assert.IsFalse(auxVm.HeatPumpModePassengerCompartmentAllowedValues.Contains(HeatPumpMode.heating_and_cooling));
-
-
-			//auxVm.HeatPumpTypePassengerCompartment = HeatPumpType.R_744;
-			//Assert.IsFalse(auxVm.HeatPumpModePassengerCompartmentAllowedValues.Contains(HeatPumpMode.N_A));
-		}
-
-		[Test]
-		public void TestAllowedValuesHeatPumpModeDriver()
-		{
-			var auxVm = new MultistageAuxiliariesViewModel(null);
-			auxVm.HeatPumpTypeDriverCompartment = HeatPumpType.none;
-			Assert.IsTrue(auxVm.HeatPumpModeDriverCompartmentAllowedValues.Contains(HeatPumpMode.N_A));
-			Assert.IsFalse(auxVm.HeatPumpModeDriverCompartmentAllowedValues.Contains(HeatPumpMode.cooling));
-			Assert.IsFalse(auxVm.HeatPumpModeDriverCompartmentAllowedValues.Contains(HeatPumpMode.heating));
-			Assert.IsFalse(auxVm.HeatPumpModeDriverCompartmentAllowedValues.Contains(HeatPumpMode.heating_and_cooling));
-
-
-			auxVm.HeatPumpTypeDriverCompartment = HeatPumpType.R_744;
-			Assert.IsFalse(auxVm.HeatPumpModeDriverCompartmentAllowedValues.Contains(HeatPumpMode.N_A));
-		}
-
-
-		[Test]
-		public void TestEnumParameters()
-		{
-			var auxVm = new MultistageAuxiliariesViewModel(null);
-			auxVm.HeatPumpTypeDriverCompartment = HeatPumpType.none;
-			Assert.IsTrue(auxVm.HeatPumpGroupEditingEnabled);
-			auxVm.HeatPumpTypeDriverCompartment = HeatPumpType.R_744;
-			Assert.IsTrue(auxVm.HeatPumpGroupEditingEnabled);
-
-			auxVm.HeatPumpGroupEditingEnabled = false;
-			auxVm.ParameterViewModels[nameof(auxVm.HeatPumpTypeDriverCompartment)].CurrentContent =
-				HeatPumpType.R_744;
-			Assert.IsTrue(auxVm.HeatPumpGroupEditingEnabled);
-
-			auxVm.ParameterViewModels[nameof(auxVm.HeatPumpTypeDriverCompartment)].CurrentContent =
-				HeatPumpType.none;
-
-
-			Assert.IsTrue(auxVm.HeatPumpGroupEditingEnabled);
-
-		}
-
 		[Test]
-		public void TestEnum()
+		public void TestAllowedValuesHeatPumpTypePassenger()
 		{
 			var auxVm = new MultistageAuxiliariesViewModel(null);
-			auxVm.HeatPumpTypeDriverCompartment = HeatPumpType.none;
-			auxVm.HeatPumpModeDriverCompartment = HeatPumpMode.N_A;
-			auxVm.HeatPumpGroupEditingEnabled = false;
-			auxVm.HeatPumpGroupEditingEnabled = true;
-			Assert.AreEqual(HeatPumpMode.N_A, auxVm.HeatPumpModeDriverCompartment);
-			Assert.AreEqual(HeatPumpMode.N_A,
-				auxVm.ParameterViewModels[nameof(auxVm.HeatPumpModeDriverCompartment)].CurrentContent);
+			Assert.IsFalse(auxVm.HeatPumpTypePassengerAllowedValues.Contains(HeatPumpMode.N_A));
+        }
+
+       [Test]
+        public void TestAllowedValuesHeatPumpTypeDriver()
+        {
+            var auxVm = new MultistageAuxiliariesViewModel(null);
+			auxVm.SystemConfiguration = BusHVACSystemConfiguration.Configuration6;
+			Assert.AreEqual(auxVm.HeatPumpTypeDriverAllowedValues.Count,1);
+            Assert.Contains(HeatPumpType.not_applicable, auxVm.HeatPumpTypeDriverAllowedValues);
+
+			auxVm.SystemConfiguration = BusHVACSystemConfiguration.Configuration3;
+            Assert.IsFalse(auxVm.HeatPumpTypeDriverAllowedValues.Contains(HeatPumpType.not_applicable));
+
+			auxVm.SystemConfiguration = BusHVACSystemConfiguration.Configuration10;
+			Assert.AreEqual(auxVm.HeatPumpTypeDriverAllowedValues.Count, 1);
+			Assert.Contains(HeatPumpType.not_applicable, auxVm.HeatPumpTypeDriverAllowedValues);
+
+			auxVm.SystemConfiguration = BusHVACSystemConfiguration.Configuration2;
+			Assert.IsFalse(auxVm.HeatPumpTypeDriverAllowedValues.Contains(HeatPumpType.not_applicable));
 		}
 
-		[Test]
-		public void TestPassengerHeatPumpConfigurations()
-		{
-			var auxVm = new MultistageAuxiliariesViewModel(null);
-			auxVm.HeatPumpGroupEditingEnabled = true;
-
-
-			Assert.AreEqual(1, auxVm.HeatPumpConfigurationsPassenger.Count);
-
-			Assert.IsFalse(auxVm.RemovePassengerHeatpumpCommand.CanExecute(null));
-
-
-			bool canExecuteChangedFired = false;
-			auxVm.RemovePassengerHeatpumpCommand.CanExecuteChanged += (sender, args) => {
-				canExecuteChangedFired = true;
-			};
-
-			//Add another configuration
-			
-			auxVm.AddPassengerHeatpumpCommand.Execute(null);
-			Assert.AreEqual(2, auxVm.HeatPumpConfigurationsPassenger.Count);
-			Assert.IsTrue(canExecuteChangedFired, "Can Execute Changed Not Fired");
-			canExecuteChangedFired = false;
-			Assert.IsTrue(auxVm.RemovePassengerHeatpumpCommand.CanExecute(null));
-
-			//Remove configuration
-			auxVm.RemovePassengerHeatpumpCommand.Execute(auxVm.HeatPumpConfigurationsPassenger.Last());
-			Assert.AreEqual(1, auxVm.HeatPumpConfigurationsPassenger.Count);
-			Assert.IsTrue(canExecuteChangedFired);
-			Assert.IsFalse(auxVm.RemovePassengerHeatpumpCommand.CanExecute(null));
-
-
 
+        [Test]
+        public void TestEnumParameters()
+        {
+            var auxVm = new MultistageAuxiliariesViewModel(null);
+            auxVm.HeatPumpTypeCoolingDriverCompartment = HeatPumpType.none;
+            Assert.IsTrue(auxVm.HeatPumpGroupEditingEnabled);
+            auxVm.HeatPumpTypeCoolingDriverCompartment = HeatPumpType.R_744;
+            Assert.IsTrue(auxVm.HeatPumpGroupEditingEnabled);
 
+            auxVm.HeatPumpGroupEditingEnabled = false;
+            auxVm.ParameterViewModels[nameof(auxVm.HeatPumpTypeCoolingDriverCompartment)].CurrentContent =
+                HeatPumpType.R_744;
+            Assert.IsTrue(auxVm.HeatPumpGroupEditingEnabled);
 
+            auxVm.ParameterViewModels[nameof(auxVm.HeatPumpTypeCoolingDriverCompartment)].CurrentContent =
+                HeatPumpType.none;
 
 
+            Assert.IsTrue(auxVm.HeatPumpGroupEditingEnabled);
 		}
 	}
 }
diff --git a/Vecto3GUI2020Test/ViewModelTests/VIFTests.cs b/Vecto3GUI2020Test/ViewModelTests/VIFTests.cs
index 868e5033e1c069ba3e144df4acc4cb3033c93d23..eec919596ef98c57e751b3596ddf6b17724f5299 100644
--- a/Vecto3GUI2020Test/ViewModelTests/VIFTests.cs
+++ b/Vecto3GUI2020Test/ViewModelTests/VIFTests.cs
@@ -1,6 +1,7 @@
 using System;
 using System.IO;
 using System.Linq;
+using System.Windows;
 using System.Xml;
 using Moq;
 using Ninject;
@@ -23,6 +24,7 @@ namespace Vecto3GUI2020Test.ViewModelTests
 	{
 
 		public const string _finalVifReport4 = "final.VIF_Report_4.xml";
+		public const string _vectoMultistageOneStage = "vecto_multistage_consolidated_one_stage.xml";
 
 		[Test]
 		public void loadPrimaryVehicleOnlyAndCreateNewVIF()
@@ -81,6 +83,9 @@ namespace Vecto3GUI2020Test.ViewModelTests
 		[TestCase(false, 0, TestName="Without Airdrag Component")]
 		public void CreateCompletedFinalVIFWithAirdrag(bool loadAirdrag, int airdragVersion)
 		{
+			GetMockDialogHelper().Setup(dialogHelper => dialogHelper.ShowMessageBox(It.IsAny<string>(),
+				It.IsAny<string>(), MessageBoxButton.YesNo, It.IsAny<MessageBoxImage>())).Returns(MessageBoxResult.No);
+
 			var multistagevm = loadFile(_finalVifReport4);
 
 			var VehicleViewModel = multistagevm.MultiStageJobViewModel.ManufacturingStageViewModel.VehicleViewModel as InterimStageBusVehicleViewModel_v2_8;
diff --git a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/123sadf.xml b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/123sadf.xml
deleted file mode 100644
index b5ec06780cea3c086d372969fa2bc397889c25c5..0000000000000000000000000000000000000000
--- a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/123sadf.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<tns:VectoInputDeclaration xmlns:tns="urn:tugraz:ivt:VectoAPI:DeclarationInput:v2.0" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.8" xmlns:schemaVersion="2.8" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:v2.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0">
-  <v2.0:Vehicle id="TODO:ADDIDENTIFIER" xsi:type="InterimstageInputType">
-    <Date>27.04.2021</Date>
-    <DeclarationType>interim</DeclarationType>
-  </v2.0:Vehicle>
-</tns:VectoInputDeclaration>
\ No newline at end of file