<?xml version="1.0" encoding="UTF-8"?>
<!-- Provisionsfilsexempel: 1.0.4 med tillämpningsspecifikt tillägg 2022-06-21 -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
	<xs:simpleType name="formatOrgPnr">
		<xs:restriction base="xs:token">
			<xs:pattern value="\d{8}-\d{4}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="formatTeknisktDatum">
		<xs:restriction base="xs:token">
			<xs:pattern value="\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="formatText">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="formatVerksamhetsDatum">
		<xs:restriction base="xs:token">
			<xs:pattern value="\d{4}-\d{2}-\d{2}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="formatUUID">
		<xs:restriction base="xs:token">
			<xs:pattern value="[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:complexType name="strukturTillampningspecifikt">
		<xs:annotation>
			<xs:documentation>Beskriver hur en tillampningsspecifikt element ser ut.</xs:documentation>
		</xs:annotation>
		<xs:simpleContent>
			<xs:extension base="formatText">
				<xs:attribute name="kod" type="formatText"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="strukturAvserPeriod">
		<xs:sequence>
			<xs:element name="fromDatum" type="formatVerksamhetsDatum"/>
			<xs:element name="tomDatum" type="formatVerksamhetsDatum"/>
			<xs:element name="forsakringsgivare" type="formatOrgPnr"/>
			<xs:element name="maklarkod" type="strukturMaklare" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="tillampningsspecifiktTillagg" type="strukturTillampningspecifikt" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	
	<xs:complexType name="strukturDetaljrad">
		<xs:sequence>
			<xs:element name="id" type="formatUUID"/>
			<xs:element name="typAvDetaljrad" type="formatText"/>
			<xs:element name="korrigerarId" type="formatUUID" minOccurs="0"/>
			<xs:element name="forsakringsnummer" type="formatText"/>
			<xs:element name="avtalsnummer" type="formatText" minOccurs="0"/>
			<xs:element name="affarsnamn" type="formatText" minOccurs="0"/>
			<xs:element name="depaKontoInstitut" type="formatOrgPnr" minOccurs="0"/>
			<xs:element name="depaKontoNr" type="formatText" minOccurs="0"/>
			<xs:element name="vardepapperIsin" type="formatText" minOccurs="0"/>
			<xs:element name="vardepapperNamn" type="formatText" minOccurs="0"/>
			<xs:element name="produkt" type="formatText" minOccurs="0"/>
			<xs:element name="orsakskod" type="formatText"/>
			<xs:element name="orsaksbeskrivning" type="formatText" minOccurs="0"/>
			<xs:element name="provisionsintervall" type="formatText"/>
			<xs:element name="berakningsgrund" type="formatText"/>
			<xs:element name="produktomrade" type="formatText"/>
			<xs:element name="produktkategori" type="formatText" minOccurs="0"/>
			<xs:element name="produktkategoriOvrig" type="formatText" minOccurs="0"/>
			<xs:element name="skattekategori" type="formatText"/>
			<xs:element name="teckningstyp" type="formatText"/>
			<xs:element name="betalningsreferens" type="formatText" minOccurs="0"/>
			<xs:element name="datumForBetalning" type="formatVerksamhetsDatum" minOccurs="0"/>
			<xs:element name="belopp" type="xs:decimal"/>
			<xs:element name="beskrivning" type="formatText" minOccurs="0"/>
			<xs:element name="faktor" type="xs:decimal"/>
			<xs:element name="reduceradFaktor" type="xs:decimal" minOccurs="0"/>
			<xs:element name="anledningTillReduktion" type="formatText" minOccurs="0"/>
			<xs:element name="premie" type="xs:decimal" minOccurs="0"/>
			<xs:element name="kapital" type="xs:decimal" minOccurs="0"/>
			<xs:element name="flyttatKapital" type="xs:decimal" minOccurs="0"/>
			<xs:element name="avdrag" type="xs:decimal" minOccurs="0"/>
			<xs:element name="anledningTillAvdrag" type="formatText" minOccurs="0"/>
			<xs:element name="datumForProvision" type="formatVerksamhetsDatum" minOccurs="0"/>
			<xs:element name="tillampningsspecifiktTillagg" type="strukturTillampningspecifikt" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="strukturForsakrad">
		<xs:sequence>
			<xs:element name="forsakrad" type="formatOrgPnr"/>
			<xs:element name="svensktOrganisationsnummerSaknas" type="xs:boolean" minOccurs="0" />
			<xs:element name="alternativtOrganisationsnummer" type="formatText" minOccurs="0"/>
			<xs:element name="svensktIdentifikationsnummerSaknas" type="xs:boolean" minOccurs="0" />
			<xs:element name="alternativtIdentifikationsnummer" type="formatText" minOccurs="0" />
			<xs:element name="forsakradKundnummer" type="formatText" minOccurs="0"/>
			<xs:element name="forsakradNamn" type="formatText" minOccurs="0"/>
			<xs:element name="detaljrad" type="strukturDetaljrad" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="tillampningsspecifiktTillagg" type="strukturTillampningspecifikt" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="strukturForsakringstagare">
		<xs:sequence>
			<xs:element name="forsakringstagare" type="formatOrgPnr"/>
			<xs:element name="svensktOrganisationsnummerSaknas" type="xs:boolean" minOccurs="0" />
			<xs:element name="alternativtOrganisationsnummer" type="formatText" minOccurs="0"/>
			<xs:element name="svensktIdentifikationsnummerSaknas" type="xs:boolean" minOccurs="0" />
			<xs:element name="alternativtIdentifikationsnummer" type="formatText" minOccurs="0" />
			<xs:element name="forsakringstagareNamn" type="formatText" minOccurs="0"/>
			<xs:element name="forsakrad" type="strukturForsakrad" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="tillampningsspecifiktTillagg" type="strukturTillampningspecifikt" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>

	<xs:complexType name="strukturMaklare">
		<xs:sequence>
			<xs:element name="forsakringsmaklarbolagskod" type="formatText"/>
			<xs:element name="forsakringsmaklarkod" type="formatText"/>
			<xs:element name="forsakringsmaklarnamn" type="formatText" minOccurs="0"/>
			<xs:element name="forsakringstagare" type="strukturForsakringstagare" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="tillampningsspecifiktTillagg" type="strukturTillampningspecifikt" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="strukturMetadata">
		<xs:sequence>
			<xs:element name="filidentifikation" type="formatUUID"/>
			<xs:element name="anvandning" type="formatText"/>
			<xs:element name="mottagare" type="formatOrgPnr"/>
			<xs:element name="avsandare" type="formatOrgPnr"/>
			<xs:element name="tidpunktForSkapande" type="formatTeknisktDatum"/>
			<xs:element name="totalbelopp" type="xs:decimal"/>
			<xs:element name="ingaendeSaldo" type="xs:decimal" minOccurs="0"/>
			<xs:element name="utgaendeSaldo" type="xs:decimal" minOccurs="0"/>
			<xs:element name="betalningsreferens" type="formatText" minOccurs="0"/>
			<xs:element name="datumForBetalning" type="formatVerksamhetsDatum" minOccurs="0"/>
			<xs:element name="tillampningsspecifiktTillagg" type="strukturTillampningspecifikt" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="provision">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="metadata" type="strukturMetadata"/>
				<xs:element name="provision" minOccurs="0" maxOccurs="unbounded">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="avserPeriod" type="strukturAvserPeriod" minOccurs="0" maxOccurs="unbounded"/>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
			</xs:sequence>
			<xs:attribute name="implementation">
				<xs:simpleType>
					<xs:restriction base="xs:NMTOKEN">
						<xs:enumeration value="1.0.1"/>
						<xs:enumeration value="1.0.2"/>
						<xs:enumeration value="1.0.3"/>
						<xs:enumeration value="1.0.4"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
		</xs:complexType>
	</xs:element>
</xs:schema>





