<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns="urn:at.vvo.omds.types.omds3types.v1-3-0.on2antrag.common" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:omds="urn:omds20" xmlns:cst="urn:omds3CommonServiceTypes-1-1-0" xmlns:ost="urn:omds3ServiceTypes-1-1-0" targetNamespace="urn:at.vvo.omds.types.omds3types.v1-3-0.on2antrag.common" elementFormDefault="qualified" attributeFormDefault="qualified" version="1.5.0">
	<xsd:import namespace="urn:omds20" schemaLocation="omds211-00.xsd"/>
	<xsd:import namespace="urn:omds3CommonServiceTypes-1-1-0" schemaLocation="omds3CommonServiceTypes.xsd"/>
	<xsd:import namespace="urn:omds3ServiceTypes-1-1-0" schemaLocation="omds3ServiceTypes.xsd"/>
	<!--Prozessobjekte Berechnung, Offert, Antrag - Spartenübergreifend-->
	<xsd:complexType name="SpezBerechnung_Type" abstract="true">
		<xsd:annotation>
			<xsd:documentation>Abstrakter Basistyp Berechnung, der bei Request und bei Response gleich ist</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="Personen" type="cst:BeteiligtePersonVertrag_Type" minOccurs="0" maxOccurs="unbounded">
				<xsd:annotation>
					<xsd:documentation>Liste aller benötigten Personen, welche dann über ihre Rolle direkt referenziert werden. Im Offert ist dies insb. der Versicherungsnehmer.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="SpezOffert_Type" abstract="true">
		<xsd:annotation>
			<xsd:documentation>Abstrakter Basistyp Offert, der bei Request und Response gleich ist</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="Offertnummer" type="cst:ObjektId_Type" minOccurs="0"/>
			<xsd:element name="Personen" type="cst:BeteiligtePersonVertrag_Type" maxOccurs="unbounded">
				<xsd:annotation>
					<xsd:documentation>Liste aller benötigten Personen, welche dann über ihre Rolle direkt referenziert werden. Im Offert ist dies insb. der Versicherungsnehmer.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="Versicherungsnehmer" type="xsd:unsignedShort">
				<xsd:annotation>
					<xsd:documentation>Referenz auf die Person, die als Versicherungsnehmer fungiert. </xsd:documentation>
				</xsd:annotation>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="SpezAntrag_Type" abstract="true">
		<xsd:annotation>
			<xsd:documentation>Abstrakter Basistyp für Antrag, der bei Request und bei Response gleich ist</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="Antragsart" type="cst:Antragsart_Type" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Die Antragsart kann auch vom ServiceProvider automatisch bestimmt werden, dann bleibt sie im Request leer.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="Personen" type="cst:BeteiligtePersonVertrag_Type" maxOccurs="unbounded">
				<xsd:annotation>
					<xsd:documentation>Liste aller benötigten Vertragspersonen (nicht versicherte Personen), welche dann über ihre Rolle referenziert werden. Die Personen können eine Adresse enthalten.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="Versicherungsnehmer" type="xsd:unsignedShort">
				<xsd:annotation>
					<xsd:documentation>Referenz auf die Person, die als Versicherungsnehmer fungiert. </xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="AbweichenderPraemienzahler" type="xsd:unsignedShort" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Referenz auf einen abweichenden Praemienzahler, wenn nicht der Verisicherungsnehmer die Prämie zahlt</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="WeitereVersicherungsnehmer" type="xsd:unsignedShort" minOccurs="0" maxOccurs="unbounded">
				<xsd:annotation>
					<xsd:documentation>Referenz auf weitere Versicherungsnehmer</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="WeitereVertragspersonen" type="cst:Vertragsperson_Type" minOccurs="0" maxOccurs="unbounded">
				<xsd:annotation>
					<xsd:documentation>Weitere Personen in Vertragsrollen</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="AbgelehnteRisiken" type="cst:AbgelehnteRisiken_Type" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Bestehen Ablehnungen zu den beantragten Risiken</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="Vorversicherungen" type="cst:Vorversicherungen_Type" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Bestehen Vorversicherungen zu dem Antrag</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="Zahlungsdaten" type="cst:Zahlungsdaten_Type">
				<xsd:annotation>
					<xsd:documentation>Beschreibt die Art der Zahlung und enthält die zugehörigen Daten</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="Sepa" type="cst:SepaCd_Type" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>SEPA-Mandat-Steuerung, wenn Zahlungsdaten ein SEPA-Mandat notwendig machen.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="Polizzenversand" type="cst:PolizzenversandType" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>alternativer Polizzenversand</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="Datenschutzbestimmungen" type="cst:Datenverwendung_Type">
				<xsd:annotation>
					<xsd:documentation>Allgemeine Datenschutzbestimmungen</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="Kontierung" type="cst:Kontierung_Type" minOccurs="0" maxOccurs="3"/>
			<xsd:element name="Ersatzpolizzennummer" type="cst:Ersatzpolizzen_Type" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Ersatzpolizzennummern bei Konvertierung</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="ZusendungWeitereDokumente" type="xsd:string" minOccurs="0" maxOccurs="unbounded">
				<xsd:annotation>
					<xsd:documentation>Sollen weitere Antragsdokumente zugestellt werden (z.B. IVK)</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="ZusaetzlicheAntragsdaten" type="ZusaetzlicheAntragsdaten_Type" minOccurs="0" maxOccurs="unbounded">
				<xsd:annotation>
					<xsd:documentation>Moeglichkeit fuer die Erweitung des Standards um eigene Antragsdaten</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<!--Abstrakte BOA-Operationstypen-->
	<xsd:complexType name="CalculateRequest_Type" abstract="true">
		<xsd:annotation>
			<xsd:documentation>Abstrakter Request für die Berechnung</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="cst:CommonProcessRequest_Type">
				<xsd:sequence>
					<xsd:element name="RequestUpselling" type="xsd:boolean" default="false">
						<xsd:annotation>
							<xsd:documentation>Sollen Upselling-Vorschläge mitberechnet werden? Wenn ja kann dies zu einer längeren Berechnungsdauer führen.</xsd:documentation>
						</xsd:annotation>
					</xsd:element>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="CalculateResponse_Type" abstract="true">
		<xsd:annotation>
			<xsd:documentation>Abstrakter Response, der das Ergebnis der Berechnung enthält bzw. Fehlermeldungen</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="cst:CommonProcessResponse_Type"/>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="CreateOfferRequest_Type" abstract="true">
		<xsd:annotation>
			<xsd:documentation>Abstrakter Request für das Offert</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="cst:CommonProcessRequest_Type"/>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="CreateOfferResponse_Type" abstract="true">
		<xsd:annotation>
			<xsd:documentation>Abstrakter Response, der das Offert enthält bzw. Fehlermeldungen</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="cst:CommonProcessResponse_Type">
				<xsd:sequence>
					<xsd:element name="Dokumente" type="cst:DokumentInfo_Type" minOccurs="0" maxOccurs="unbounded">
						<xsd:annotation>
							<xsd:documentation>Referenzen auf Offertdokumente, die heruntergeladen werden können.</xsd:documentation>
						</xsd:annotation>
					</xsd:element>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="CreateApplicationRequest_Type" abstract="true">
		<xsd:annotation>
			<xsd:documentation>Abstrakter Request für den Antrag</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="cst:CommonProcessRequest_Type">
				<xsd:sequence>
					<xsd:element name="Dateianhaenge" type="cst:Dateianhang_Type" minOccurs="0" maxOccurs="unbounded">
						<xsd:annotation>
							<xsd:documentation>Ergänzende Dokumente zum Antrag, z.B. SEPA-Mandat oder Gutachten über den Zustand des Fahrzeugs.</xsd:documentation>
						</xsd:annotation>
					</xsd:element>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="CreateApplicationResponse_Type" abstract="true">
		<xsd:annotation>
			<xsd:documentation>Abstrakter Response, der den Antrag enthält bzw. Fehlermeldungen</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="cst:CommonProcessResponse_Type">
				<xsd:sequence>
					<xsd:element name="Antragstatus" type="cst:SubmitApplicationStatus_Type" minOccurs="0">
						<xsd:annotation>
							<xsd:documentation>optional ein aktueller Status des Antragsprozess</xsd:documentation>
						</xsd:annotation>
					</xsd:element>
					<xsd:element name="Antragsnummer" type="cst:ObjektId_Type" minOccurs="0">
						<xsd:annotation>
							<xsd:documentation>Wenn der Antrag fehlerfrei erstellt werden konnte, die Referenz auf diesen Antrag. Diese Referenz ist bei der Einreichung des Antrags anzugegeben.</xsd:documentation>
						</xsd:annotation>
					</xsd:element>
					<xsd:element name="Dokumente" type="cst:DokumentInfo_Type" minOccurs="0" maxOccurs="unbounded">
						<xsd:annotation>
							<xsd:documentation>Referenzen auf Antragsdokumente, die heruntergeladen werden können.</xsd:documentation>
						</xsd:annotation>
					</xsd:element>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="SubmitApplicationRequest_Type" abstract="true">
		<xsd:annotation>
			<xsd:documentation>Abstrakter Request für die Antragsüberleitung</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="cst:CommonProcessRequest_Type">
				<xsd:sequence>
					<xsd:element name="Dateianhaenge" type="cst:Dateianhang_Type" minOccurs="0" maxOccurs="unbounded">
						<xsd:annotation>
							<xsd:documentation>Ergänzende Dokumente zum Antrag, z.B. SEPA-Mandat oder Gutachten über den Zustand des Fahrzeugs.</xsd:documentation>
						</xsd:annotation>
					</xsd:element>
					<xsd:element name="Antragsnummer" type="cst:ObjektId_Type" minOccurs="0">
						<xsd:annotation>
							<xsd:documentation>Die Referenz auf einen zuvor mit CreateApplication erzeugten Antrag, welcher jetzt eingereicht werden soll. Diese Referenz wird durch CreateApplication erzeugt. Entweder ist solch ein Bezug zu einem vorangegangenen SubmitApplication mitzugeben oder nochmals die Daten.</xsd:documentation>
						</xsd:annotation>
					</xsd:element>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="SubmitApplicationResponse_Type" abstract="true">
		<xsd:annotation>
			<xsd:documentation>Abstrakter Response der Antragsüberleitung</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="cst:CommonProcessResponse_Type">
				<xsd:sequence>
					<xsd:element name="Antragstatus" type="cst:SubmitApplicationStatus_Type">
						<xsd:annotation>
							<xsd:documentation>aktueller Status des eingespielten Antrages</xsd:documentation>
						</xsd:annotation>
					</xsd:element>
					<xsd:element name="Antragsnummer" type="cst:ObjektId_Type"/>
					<xsd:element name="Dokumente" type="cst:DokumentInfo_Type" minOccurs="0" maxOccurs="unbounded">
						<xsd:annotation>
							<xsd:documentation>Referenzen auf Antragsdokumente, die heruntergeladen werden können.</xsd:documentation>
						</xsd:annotation>
					</xsd:element>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="CalculateRequestGen_Type" abstract="true">
		<xsd:annotation>
			<xsd:documentation>Abstrakter Request für die Berechnung mit generischen Produktbausteinen</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="CalculateRequest_Type">
				<xsd:sequence>
					<xsd:element name="Produktmetadaten" type="xsd:boolean">
						<xsd:annotation>
							<xsd:documentation>Wenn "wahr", sollen im Response Produktmetadaten enthalten sein.</xsd:documentation>
						</xsd:annotation>
					</xsd:element>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="CalculateResponseGen_Type" abstract="true">
		<xsd:annotation>
			<xsd:documentation>Abstrakter Response Berechnung </xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="CalculateResponse_Type"/>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="CreateOfferRequestGen_Type" abstract="true">
		<xsd:annotation>
			<xsd:documentation>Abstrakter Request für die Offerterstellung mit generischen Produktbausteinen</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="CreateOfferRequest_Type">
				<xsd:sequence>
					<xsd:element name="Produktmetadaten" type="xsd:boolean">
						<xsd:annotation>
							<xsd:documentation>Wenn "wahr", sollen im Response Produktmetadaten enthalten sein.</xsd:documentation>
						</xsd:annotation>
					</xsd:element>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="CreateOfferResponseGen_Type" abstract="true">
		<xsd:annotation>
			<xsd:documentation>Abstrakter Response der Offerterstellung</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="CreateOfferResponse_Type"/>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="CreateApplicationRequestGen_Type" abstract="true">
		<xsd:annotation>
			<xsd:documentation>Abstrakter Request der Antragserzeugung mit generischen Produktbausteinen</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="CreateApplicationRequest_Type">
				<xsd:sequence>
					<xsd:element name="Produktmetadaten" type="xsd:boolean">
						<xsd:annotation>
							<xsd:documentation>Wenn "wahr", sollen im Response Produktmetadaten enthalten sein.</xsd:documentation>
						</xsd:annotation>
					</xsd:element>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="CreateApplicationResponseGen_Type" abstract="true">
		<xsd:annotation>
			<xsd:documentation>Abstrakter Response der Antragserzeugung</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="CreateApplicationResponse_Type"/>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="SubmitApplicationRequestGen_Type" abstract="true">
		<xsd:annotation>
			<xsd:documentation>Abstrakter Request der Antragsüberleitung mit generischen Produktbausteinen</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="SubmitApplicationRequest_Type">
				<xsd:sequence>
					<xsd:element name="Produktmetadaten" type="xsd:boolean">
						<xsd:annotation>
							<xsd:documentation>Wenn "wahr", sollen im Response Produktmetadaten enthalten sein.</xsd:documentation>
						</xsd:annotation>
					</xsd:element>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="SubmitApplicationResponseGen_Type" abstract="true">
		<xsd:annotation>
			<xsd:documentation>Abstrakter Response der Antragsüberleitung</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="SubmitApplicationResponse_Type"/>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="ZusaetzlicheAntragsdaten_Type" abstract="true">
		<xsd:annotation>
			<xsd:documentation>Abstrakter Typ fuer die Erweiterung des Antrags um Elemente, die nicht im Standard enthalten sind</xsd:documentation>
		</xsd:annotation>
	</xsd:complexType>
	<xsd:complexType name="GetApplicationDocumentRequest_Type">
		<xsd:annotation>
			<xsd:documentation>Typ um Offert- und Antragsdokumente zu beziehen</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="cst:CommonRequest_Type">
				<xsd:sequence>
					<xsd:element name="DokumentId" type="xsd:string">
						<xsd:annotation>
							<xsd:documentation>Eine DokumentenId als String</xsd:documentation>
						</xsd:annotation>
					</xsd:element>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="GetApplicationDocumentResponse_Type">
		<xsd:annotation>
			<xsd:documentation>Typ um Offert- und Antragsdokumente zurückzugeben</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="cst:CommonResponse_Type">
				<xsd:sequence>
					<xsd:element name="Dokument" type="cst:DokumentInfo_Type" minOccurs="0"/>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:element name="GetApplicationDocumentRequest" type="GetApplicationDocumentRequest_Type">
		<xsd:annotation>
			<xsd:documentation>Element um Offert- und Antragsdokumente zu beziehen</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="GetApplicationDocumentResponse" type="GetApplicationDocumentResponse_Type">
		<xsd:annotation>
			<xsd:documentation>Element um Offert- und Antragsdokumente zurückzugeben</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
</xsd:schema>
