diff --git a/VECTO3GUI/ViewModel/Adapter/Declaration/VehicleDeclarationAdapter.cs b/VECTO3GUI/ViewModel/Adapter/Declaration/VehicleDeclarationAdapter.cs
index 0c30dcde852539875116b43c7187d1a1bad53c6c..27efaa6425d58d9a81fb338ca499195340c19da4 100644
--- a/VECTO3GUI/ViewModel/Adapter/Declaration/VehicleDeclarationAdapter.cs
+++ b/VECTO3GUI/ViewModel/Adapter/Declaration/VehicleDeclarationAdapter.cs
@@ -102,6 +102,7 @@ namespace VECTO3GUI.ViewModel.Adapter.Declaration
 		public PerSecond EngineIdleSpeed { get { return ViewModel.IdlingSpeed; } }
 		public bool VocationalVehicle { get; }
 		public bool SleeperCab { get; }
+		public bool AirdragModifiedMultistage { get; }
 		public TankSystem? TankSystem { get; }
 		public IAdvancedDriverAssistantSystemDeclarationInputData ADAS { get; }
 		public bool ZeroEmissionVehicle { get; }
@@ -121,6 +122,7 @@ namespace VECTO3GUI.ViewModel.Adapter.Declaration
 		public Meter Width { get; }
 		public Meter EntranceHeight { get; }
 		public ConsumerTechnology DoorDriveTechnology { get; }
+		public StateOfCompletion StateOfCompletion { get; }
 
 		public IAirdragDeclarationInputData AirdragInputData { get {
 			return GetComponentViewModel<IAirdragViewModel>(Component.Airdrag)?.ModelData;
diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationInputDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationInputDataProvider.cs
index 8c91f030a64d6e62ba40ef6a48e4a2f1867db277..6a7083158a64ae6ee50a63ebce477513e262690b 100644
--- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationInputDataProvider.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationInputDataProvider.cs
@@ -112,6 +112,37 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration
 
 	}
 
+	public class XMLDeclarationInputDataProviderMultistageV01 : AbstractXMLResource, IXMLDeclarationInputData
+	{
+		public static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_MULTISTAGE_BUS_VEHICLE_NAMESPACE_VO1;
+
+		public const string XSD_TYPE = "VectoOuputMultistageType";
+
+		public static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE);
+
+		protected IDeclarationJobInputData JobData;
+
+		public XMLDeclarationInputDataProviderMultistageV01(XmlDocument xmlDoc, string fileName) : base(xmlDoc.DocumentElement, fileName)
+		{
+
+		}
+
+		protected override XNamespace SchemaNamespace
+		{
+			get { return NAMESPACE_URI; }
+		}
+		protected override DataSourceType SourceType { get; }
+		public IDeclarationJobInputData JobInputData
+		{
+			get { return JobData ?? (JobData = Reader.JobData); }
+		}
+
+
+		public IPrimaryVehicleInformationInputDataProvider PrimaryVehicleData { get; }
+		public XElement XMLHash { get; }
+		public IXMLDeclarationInputDataReader Reader { protected get; set; }
+	}
+
 
 	// ---------------------------------------------------------------------------------------
 
diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataMultistageV01InjectModule.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataMultistageV01InjectModule.cs
new file mode 100644
index 0000000000000000000000000000000000000000..54f573aef40c22366e22c9f77bb19eea10120b6b
--- /dev/null
+++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataMultistageV01InjectModule.cs
@@ -0,0 +1,14 @@
+using Ninject.Modules;
+using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Interfaces;
+
+namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.NinjectModules
+{
+	public class XMLDeclarationInputDataMultistageV01InjectModule : NinjectModule
+	{
+		public override void Load()
+		{
+			Bind<IXMLDeclarationInputData>().To<XMLDeclarationInputDataProviderMultistageV01>()
+				.Named(XMLDeclarationInputDataProviderMultistageV01.QUALIFIED_XSD_TYPE);
+		}
+	}
+}
\ No newline at end of file
diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationReaderInjectModule.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationReaderInjectModule.cs
index 457b7fc1cbcccfbb2a4ab76b96f192dd44b5de40..add872db3af81ed52f3f2364671433524ad74b44 100644
--- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationReaderInjectModule.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationReaderInjectModule.cs
@@ -22,7 +22,8 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration
 				new XMLDeclarationInputDataV23InjectModule(),
 				new XMLDeclarationInputDataV26InjectModule(),
 				new XMLDeclarationPrimaryVehicleBusV01InjectModule(), 
-				new XMLDeclarationInputDataV28InjectModule()
+				new XMLDeclarationInputDataV28InjectModule(),
+				new XMLDeclarationInputDataMultistageV01InjectModule(), 
 			});
 
 			#endregion
diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/XMLInputDataFactory.cs b/VectoCore/VectoCore/InputData/FileIO/XML/XMLInputDataFactory.cs
index 100cea5e5caee7cb49d1787ac24dda0cfc3febf3..4bd3a8d138cf0e90b6ed3080a57b1755d616e4fd 100644
--- a/VectoCore/VectoCore/InputData/FileIO/XML/XMLInputDataFactory.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/XML/XMLInputDataFactory.cs
@@ -114,6 +114,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML
 				case XmlDocumentType.DeclarationJobData: return ReadDeclarationJob(xmlDoc, source);
 				case XmlDocumentType.EngineeringJobData: return ReadEngineeringJob(xmlDoc, source);
 				case XmlDocumentType.PrimaryVehicleBusOutputData: return ReadPrimaryVehicleDeclarationJob(xmlDoc, source);
+				case XmlDocumentType.MultistageOutputData: return ReadMultistageDeclarationJob(xmlDoc, source);
 				case XmlDocumentType.EngineeringComponentData:
 				case XmlDocumentType.DeclarationComponentData:
 				case XmlDocumentType.ManufacturerReport:
@@ -123,6 +124,18 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML
 			}
 		}
 
+		private IInputDataProvider ReadMultistageDeclarationJob(XmlDocument xmlDoc, string source)
+		{
+			var versionNumber = XMLHelper.GetXsdType(xmlDoc.DocumentElement?.SchemaInfo.SchemaType);
+			try {
+				var input = DeclarationFactory.CreateInputProvider(versionNumber, xmlDoc, source);
+				input.Reader = DeclarationFactory.CreateInputReader(versionNumber, input, xmlDoc.DocumentElement);
+				return input;
+			} catch (Exception e) {
+				throw new VectoException("Failed to read Declaration job version {0}", e, versionNumber);
+			}
+		}
+
 		private IEngineeringInputDataProvider ReadEngineeringJob(XmlDocument xmlDoc, string source)
 		{
 			var versionNumber = XMLHelper.GetXsdType(xmlDoc.DocumentElement?.SchemaInfo.SchemaType);
diff --git a/VectoCore/VectoCore/Resources/XSD/VectoOutputMultistage.0.1.xsd b/VectoCore/VectoCore/Resources/XSD/VectoOutputMultistage.0.1.xsd
index 20e79b89a2745e56d44c392f7fc4fea5e0f67fe7..daa302884b9c27d98f9932528bdb8583df85233f 100644
--- a/VectoCore/VectoCore/Resources/XSD/VectoOutputMultistage.0.1.xsd
+++ b/VectoCore/VectoCore/Resources/XSD/VectoOutputMultistage.0.1.xsd
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- edited with XMLSpy v2021 (x64) (http://www.altova.com) by Franz Kober (Technische Universität Graz) -->
+<!-- edited with XMLSpy v2021 (x64) (http://www.altova.com) by Markus Quaritsch (Technische Universität Graz) -->
 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:vif="urn:tugraz:ivt:VectoAPI:DeclarationOutput:VehicleInterimFile:v0.1" xmlns:v1.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v1.0" xmlns:v2.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" xmlns:v2.1="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.1" xmlns:v2.3="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.3" xmlns:v2.4="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.4" xmlns:v2.6="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.6" xmlns:v2.8="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.8" xmlns:out="urn:tugraz:ivt:VectoAPI:DeclarationOutputDefinitions" xmlns:common="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions" targetNamespace="urn:tugraz:ivt:VectoAPI:DeclarationOutput:VehicleInterimFile:v0.1" elementFormDefault="qualified" attributeFormDefault="unqualified" xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:ParameterDocumentation ParameterDocumentation.xsd">
 	<xs:import namespace="urn:tugraz:ivt:VectoAPI:DeclarationOutputDefinitions" schemaLocation="VectoOutputDefinitions.xsd"/>
 	<xs:import namespace="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions" schemaLocation="VectoDeclarationDefinitions.xsd"/>
@@ -9,16 +9,10 @@
 	<xs:import namespace="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.3" schemaLocation="VectoDeclarationDefinitions.2.3_DEV.xsd"/>
 	<xs:import namespace="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.6" schemaLocation="VectoDeclarationDefinitions.2.6_Buses.xsd"/>
 	<xs:import namespace="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.8" schemaLocation="VectoDeclarationDefinitions.2.8_Stage.xsd"/>
-	<xs:element name="VectoOuputMultistage">
+	<xs:element name="VectoOuputMultistage" type="vif:VectoOuputMultistageType">
 		<xs:annotation>
 			<xs:documentation>Comment describing your root element</xs:documentation>
 		</xs:annotation>
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element name="PrimaryVehicle" type="vif:PrimaryVehicleType"/>
-				<xs:element name="ManufacturingStage" type="vif:ManufacturingStageType" minOccurs="0" maxOccurs="unbounded"/>
-			</xs:sequence>
-		</xs:complexType>
 	</xs:element>
 	<xs:complexType name="AbstractAngledriveDataPIFType" abstract="true"/>
 	<xs:complexType name="AbstractAxlegearDataPIFType" abstract="true"/>
@@ -572,4 +566,10 @@
 			<xs:enumeration value="Coach"/>
 		</xs:restriction>
 	</xs:simpleType>
+	<xs:complexType name="VectoOuputMultistageType">
+		<xs:sequence>
+			<xs:element name="PrimaryVehicle" type="vif:PrimaryVehicleType"/>
+			<xs:element name="ManufacturingStage" type="vif:ManufacturingStageType" minOccurs="0" maxOccurs="unbounded"/>
+		</xs:sequence>
+	</xs:complexType>
 </xs:schema>
diff --git a/VectoCore/VectoCore/Utils/XMLHelper.cs b/VectoCore/VectoCore/Utils/XMLHelper.cs
index 0adc70f4216f5faefb846d540af3182c1c9e7e68..fc5f90dccbf75d87d3423f86fa304bcbda083e6d 100644
--- a/VectoCore/VectoCore/Utils/XMLHelper.cs
+++ b/VectoCore/VectoCore/Utils/XMLHelper.cs
@@ -54,6 +54,7 @@ namespace TUGraz.VectoCore.Utils
 				case "VectoInputEngineering": return XmlDocumentType.EngineeringJobData;
 				case "VectoComponentEngineering": return XmlDocumentType.EngineeringComponentData;
 				case "VectoOutputPrimaryVehicle": return XmlDocumentType.PrimaryVehicleBusOutputData;
+				case "VectoOuputMultistage": return XmlDocumentType.MultistageOutputData;
 			}
 
 			return null;
diff --git a/VectoCore/VectoCore/VectoCore.csproj b/VectoCore/VectoCore/VectoCore.csproj
index 904f87b2fe4676aaf5830f6b7375e7b4a8784604..671c7f1f4fd46f34a4399f050b0319632b5a0b7b 100644
--- a/VectoCore/VectoCore/VectoCore.csproj
+++ b/VectoCore/VectoCore/VectoCore.csproj
@@ -189,6 +189,7 @@
     <Compile Include="InputData\FileIO\XML\Declaration\Interfaces\IXMLTorqueConverterDeclarationInputData.cs" />
     <Compile Include="InputData\FileIO\XML\Declaration\Interfaces\IXMLTyreDeclarationInputData.cs" />
     <Compile Include="InputData\FileIO\XML\Declaration\Interfaces\IXMLVehicleComponentsDeclaration.cs" />
+    <Compile Include="InputData\FileIO\XML\Declaration\NinjectModules\XMLDeclarationInputDataMultistageV01InjectModule.cs" />
     <Compile Include="InputData\FileIO\XML\Declaration\NinjectModules\XMLDeclarationInputDataV20InjectModule.cs" />
     <Compile Include="InputData\FileIO\XML\Declaration\NinjectModules\XMLDeclarationInputDataV21InjectModule.cs" />
     <Compile Include="InputData\FileIO\XML\Declaration\NinjectModules\XMLDeclarationInputDataV22InjectModule.cs" />