﻿<?xml version="1.0" encoding="UTF-8"?>
<xs:schema targetNamespace="http://www.xmlmode.nl/interdata/vwe" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.xmlmode.nl/interdata/vwe" elementFormDefault="unqualified" attributeFormDefault="unqualified">
  <xs:include schemaLocation="SharedVehicleDataTypes.xsd"/>
  <!-- Complex type definities -->
  <xs:complexType name="bpmInfoTypeV1">
    <xs:sequence>
      <xs:element ref="bpmRestitutieBijExportMogelijk"/>
      <xs:element ref="bpmRedenGeenRestitutie"/>
      <xs:element ref="datumEersteToelatingInternationaal"/>
      <xs:element ref="brutoBpm"/>
      <xs:element ref="percentageAfschrijving"/>
      <xs:element ref="restBpm"/>
      <xs:element ref="meldingen" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="bpmInfoTypeV2">
    <xs:sequence>
      <xs:element ref="bpmRestitutieBijExportMogelijk"/>
      <xs:element ref="bpmRedenGeenRestitutie"/>
      <xs:element ref="datumEersteToelatingInternationaal"/>
      <xs:element ref="brutoBpm"/>
      <xs:element ref="percentageAfschrijving"/>
      <xs:element ref="restBpm"/>
      <xs:element ref="datumEersteToelatingNationaal" />
      <xs:element ref="meldingen" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="AthlonKentekenTypeV1">
    <xs:all>
      <xs:element name="MaintenanceData"  />
    </xs:all>
  </xs:complexType>

  <xs:element name="MaintenanceData" type="xs:boolean"/>

  <xs:complexType name="AthlonMaintenanceTypeV1">
    <xs:sequence>
      <xs:element name="Onderhoud" type="OnderhoudsType" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="OnderhoudsType">
    <xs:all>
      <xs:element name="DatumUitgevoerd" type="xs:dateTime"/>
      <xs:element name="Kilometerstand" type="xs:int" nillable="true" />
      <xs:element name="RobCode" type="xs:string" />
      <xs:element name="RobOmschrijving" type="xs:string" />
      <xs:element name="Aantal" type="xs:int" nillable="true" />
    </xs:all>
  </xs:complexType>

  <xs:complexType name="PostcodeCheckTypeV1">
    <xs:sequence>
      <xs:element name="Kenteken" type="kentekenType" minOccurs="0" />
      <xs:element name="Chassisnummer" type="xs:string" minOccurs="0" />
      <xs:element name="Postcode" type="xs:int"  />
      <xs:element name="GeboorteJaar" type="xs:int" />
      <xs:element name="IsMatch" type="xs:boolean" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="OdometerTypeV1">
    <xs:sequence>
      <xs:element name="registratie" type="OdometerType" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="OdometerType">
    <xs:sequence>
      <xs:element name="Tellerstand" type="xs:int" minOccurs="0" />
      <xs:element name="DatumRegistratieTellerstand" type="xs:string" minOccurs="0" />
      <xs:element name="RdwProces" type="xs:boolean" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="OnderhoudsHistorieType">
	  <xs:all>
		  <xs:element name="onderhoudsdatum" type="xs:date"/>
		  <xs:element name="kilometerstand" type="xs:int" nillable="true" />
		  <xs:element name="onderhoudOmschrijving" type="xs:string" />
		  <xs:element name="uitgevoerdDoor" type="xs:string" nillable="true" />
	  </xs:all>
  </xs:complexType>

	<xs:complexType name="OnderhoudsHistorieTypeV1">
		<xs:sequence>
			<xs:element name="onderhoud" type="OnderhoudsHistorieType" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>

  <xs:complexType name="AdvertentieHistorieTypeV1">
    <xs:sequence>
      <xs:element name="advertentie" type="AdvertentieHistorieType" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="AdvertentieHistorieTypeV2">
    <xs:sequence>
      <xs:element name="advertentie" type="AdvertentieHistorieUitgebreidType" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>


  <xs:complexType name="AdvertentieHistorieType">
    <xs:sequence>
      <xs:element name="startdatumAdvertentie" type="xs:string" />
      <xs:element name="einddatumAdvertentie" type="xs:string" nillable="true" />
      <xs:element name="advertentiePrijs" type="xs:double" />
      <xs:element name="exclBtw" type="xs:boolean" nillable="false" />
      <xs:element name="tellerstand" type="xs:int" nillable="true" />      
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="AdvertentieHistorieUitgebreidType">
    <xs:complexContent>
      <xs:extension base="AdvertentieHistorieType">
        <xs:sequence>
          <xs:element name="adverteerder" type="xs:string" nillable="true" />
          <xs:element name="plaats" type="xs:string" nillable="true" />
          <xs:element name="details">
            <xs:complexType>
              <xs:sequence>
                <xs:element name="advertentiePrijsDetail" type="AdvertentiePrijsHistorieDetailType" minOccurs="0" maxOccurs="unbounded"/>
              </xs:sequence>
            </xs:complexType>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="AdvertentiePrijsHistorieSamenvattingTypeV1">
  	<xs:sequence>
  		<xs:element name="advertentiePrijsSamenvatting" type="AdvertentiePrijsHistorieSamenvattingType" minOccurs="0" maxOccurs="unbounded"/>
  	</xs:sequence>
  </xs:complexType>
  
  <xs:complexType name="AdvertentiePrijsHistorieSamenvattingType">
  	<xs:sequence>
  		<xs:element name="startPrijsDatum" type="xs:string" nillable="false" />
		<xs:element name="startPrijs" type="xs:double" nillable="false" />
  		<xs:element name="startPrijsInclBTW" type="xs:boolean" nillable="false" />

		<xs:element name="minimumPrijsDatum" type="xs:string" nillable="false" />
		<xs:element name="minimumPrijs" type="xs:double" nillable="false" />
		<xs:element name="minimumPrijsInclBTW" type="xs:boolean" nillable="false" />

		<xs:element name="maximumPrijsDatum" type="xs:string" nillable="false" />
		<xs:element name="maximumPrijs" type="xs:double" nillable="false" />
		<xs:element name="maximumPrijsInclBTW" type="xs:boolean" nillable="false" />

		<xs:element name="laatstePrijsDatum" type="xs:string" nillable="false" />
		<xs:element name="laatstePrijs" type="xs:double" nillable="false" />
		<xs:element name="laatstePrijsInclBTW" type="xs:boolean" nillable="false" />
  	</xs:sequence>
  </xs:complexType>
	
	<xs:complexType name="AdvertentiePrijsHistorieDetailTypeV1">
  	<xs:sequence>
  		<xs:element name="advertentiePrijsDetail" type="AdvertentiePrijsHistorieDetailType" minOccurs="0" maxOccurs="unbounded"/>
  	</xs:sequence>
  </xs:complexType>
  
  <xs:complexType name="AdvertentiePrijsHistorieDetailType">
  	<xs:sequence>
  		<xs:element name="startDatum" type="xs:string" nillable="false" />
		<xs:element name="eindDatum" type="xs:string" nillable="true" />
		<xs:element name="advertentiePrijs" type="xs:double" nillable="true" />
  		<xs:element name="inclBTW" type="xs:boolean" nillable="true" />
  	</xs:sequence>
  </xs:complexType>

  <xs:complexType name="BidSuccessTypeV1">
	  <xs:all>
		  <xs:element name="Kans" type="xs:float" nillable="true" />
		  <xs:element name="Label" type="xs:string" nillable="true" />
	  </xs:all>
  </xs:complexType>

  <xs:complexType name="bpmInfoTypeV3">
    <xs:sequence>
      <xs:element ref="bpmRestitutieBijExportMogelijk"/>
      <xs:element ref="bpmRedenGeenRestitutie"/>
      <xs:element ref="datumEersteToelatingInternationaal"/>
      <xs:element ref="brutoBpm" />
      <xs:element ref="percentageAfschrijving"/>
      <xs:element ref="restBpm"/>
      <xs:element ref="datumEersteToelatingNationaal" />
      <xs:element ref="bpmBetaaldBijRegistratie" />
      <xs:element ref="meldingen" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>


  <xs:complexType name="TheftRatingTypeV1">
    <xs:all>
      <xs:element name="AutotelexId" type="xs:int" minOccurs="0" />
      <xs:element name="VersionNameAutotelex" type="xs:string" minOccurs="0" />
      <xs:element name="TheftRatingWithoutCertificate" type="xs:float" minOccurs="0" />
      <xs:element name="ReplacementValue" type="xs:int" minOccurs="0" />
      <xs:element name="ValueAtRisk" type="xs:int" minOccurs="0" />
      <xs:element name="RiskLabel" type="xs:string" minOccurs="0" />
      <xs:element name="ActualsPastYear" minOccurs="0" />
      <xs:element ref="meldingen" minOccurs="0"/>
    </xs:all>
  </xs:complexType>

	<xs:complexType name="TheftRatingTypeV2">
		<xs:complexContent>
			<xs:extension base="TheftRatingTypeV1" />
		</xs:complexContent>
	</xs:complexType>

  <xs:complexType name="ActualsPastYearType">
    <xs:sequence>
      <xs:element type="xs:string" name="ParcTheftRate" />
      <xs:element type="xs:string" name="ModelTheftRate" />
      <xs:element type="xs:string" name="VersionTheftRate" />
      <xs:element type="xs:string" name="VersionCount" />
    </xs:sequence>
  </xs:complexType>

	<xs:complexType name="ActualsPastYearTypeV2">
		<xs:sequence>
			<xs:element type="xs:string" name="ParcTheftRate" />
			<xs:element type="xs:string" name="ModelTheftRate" />
			<xs:element type="xs:string" name="ModelCount" />
			<xs:element type="xs:string" name="VersionTheftRate" />
			<xs:element type="xs:string" name="VersionCount" />
		</xs:sequence>
	</xs:complexType>

	<xs:complexType name="TotalCostOfOwnershipTypeV1" >
    <xs:sequence>
      <xs:element type="CostsPerMonthType" name="CostsPerMonth" minOccurs="0" />
      <xs:element type="CostsPerKmType" name="CostsPerKm" minOccurs="0" />
      <xs:element type="ParametersType" name="Parameters" minOccurs="0" />
      <xs:element ref="meldingen" minOccurs="0"  />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="FixedCostsType" >
    <xs:sequence>
      <xs:element type="xs:float" name="AgingDepreciation"/>
      <xs:element type="xs:float" name="Insurance"/>
      <xs:element type="xs:float" name="RoadTax"/>
      <xs:element type="xs:float" name="Miscellaneous"/>
      <xs:element type="xs:float" name="TotalFixedCosts"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="VariableCostsType">
    <xs:sequence>
      <xs:element type="xs:float" name="UsageDepreciation"/>
      <xs:element type="xs:float" name="Fuel"/>
      <xs:element type="xs:float" name="Maintenance"/>
      <xs:element type="xs:float" name="Tyres"/>
      <xs:element type="xs:float" name="TotalVariableCosts"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="CostsPerMonthType">
    <xs:sequence>
      <xs:element type="xs:float" name="TotalCosts"/>
      <xs:element type="xs:float" name="TotalCostsExclFuel"/>
      <xs:element type="xs:float" name="Financing"/>
      <xs:element type="FixedCostsType" name="FixedCosts"/>
      <xs:element type="VariableCostsType" name="VariableCosts"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="CostsPerKmType">
    <xs:sequence>
      <xs:element type="xs:float" name="TotalCosts"/>
      <xs:element type="xs:float" name="Financing"/>
      <xs:element type="FixedCostsType" name="FixedCosts"/>
      <xs:element type="VariableCostsType" name="VariableCosts"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="FuelDetailType">
    <xs:sequence>
      <xs:element type="xs:string" name="FuelType"/>
      <xs:element type="xs:float" name="FuelPrice"/>
      <xs:element type="xs:float" name="FuelEfficiency"/>
      <xs:element type="xs:string" name="EfficiencyType"/>
      <xs:element type="xs:float" name="FuelMix"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="FuelDetailsType">
    <xs:sequence>
      <xs:element type="FuelDetailType" name="FuelDetail" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ParametersType" >
    <xs:sequence>
      <xs:element type="xs:string" name="Registration"  minOccurs="0" maxOccurs="1" />
      <xs:element type="xs:string" name="Odometer"  minOccurs="0" maxOccurs="1" />
      <xs:element type="xs:string" name="advertentieHistorie"  minOccurs="0" maxOccurs="1" />
      <xs:element type="xs:short" name="TimeTillSale" minOccurs="0" maxOccurs="1"/>
      <xs:element type="xs:unsignedInt" name="AnnualKilometers" minOccurs="0" maxOccurs="1"/>
      <xs:element type="xs:float" name="InterestRate" minOccurs="0" maxOccurs="1"/>
      <xs:element type="xs:string" name="Province" minOccurs="0" maxOccurs="1"/>
      <xs:element type="xs:string" name="InsuranceType" minOccurs="0" maxOccurs="1"/>
      <xs:element type="xs:byte" name="DriverAge" minOccurs="0" maxOccurs="1"/>
      <xs:element type="xs:byte" name="YearsWithoutDamage"  minOccurs="0" maxOccurs="1"/>
      <xs:element type="FuelDetailsType" name="FuelDetails" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element type="xs:string" name="TyreType" minOccurs="0" maxOccurs="1"/>
      <xs:element type="xs:short" name="PricePerTyre" minOccurs="0" maxOccurs="1"/>
      <xs:element type="xs:short" name="TyreDurability" minOccurs="0" maxOccurs="1"/>
      <xs:element type="xs:short" name="TyreRemainingDurability" minOccurs="0" maxOccurs="1"/>
      <xs:element type="xs:byte" name="TyreSets" minOccurs="0" maxOccurs="1"/>
      <xs:element type="xs:string" name="TyreState" minOccurs="0" maxOccurs="1"/>
    </xs:sequence>
  </xs:complexType>

  <!--
	<?xml version="1.0"?>
	<statNieuwVerkopenVermogen xmlns:vwe="http://www.xmlmode.nl/interdata/vwe" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="vwe:statNieuwVerkopenVermogenTypeV1">
		<vwe:ranking>
			<vwe:positie>1</vwe:positie>
			<vwe:merk>Bugatti</vwe:merk>
			<vwe:model>Veyron</vwe:model>
			<vwe:motorVermogen>736</vwe:motorVermogen>
		</vwe:ranking>
	-->

  <xs:complexType name="CostIndicationPerMonthTypeV1">
    <xs:sequence>
      <xs:element name="RoadTax" type="xs:decimal" nillable="true"/>
      <xs:element name="Insurance" type="xs:decimal" nillable="true" />
      <xs:element name="MaintenanceInclTyres" type="xs:decimal" nillable="true" />
      <xs:element name="Depreciation" type="xs:decimal" nillable="true" />
      <xs:element name="Fuel" type="xs:decimal" nillable="true" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="statApkKeuringTotaalTypeV1">
    <xs:sequence>
      <xs:element ref="periode" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="statEndOfLifeTotaalTypeV1">
    <xs:sequence>
      <xs:element ref="periode" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="statEndOfLifeExportLandTypeV1">
    <xs:sequence>
      <xs:element ref="ranking" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="statEndOfLifeExportModelTypeV1">
    <xs:sequence>
      <xs:element ref="ranking" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="statEndOfLifeSloopModelTypeV1">
    <xs:sequence>
      <xs:element ref="ranking" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="statNieuwVerkopenTotaalTypeV1">
    <xs:sequence>
      <xs:element ref="periode" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="statNieuwVerkopenElektrischTypeV1">
    <xs:sequence>
      <xs:element ref="periode" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="statNieuwVerkopenVermogenTypeV1">
    <xs:sequence>
      <xs:element ref="ranking" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="statNieuwVerkopenMeestVerkochtTypeV1">
    <xs:sequence>
      <xs:element ref="ranking" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="statOccasionVerkopenTotaalTypeV1">
    <xs:sequence>
      <xs:element ref="periode" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="statOccasionVerkopenMeestVerkochtTypeV1">
    <xs:sequence>
      <xs:element ref="ranking" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="statWagenparkVoorraadTypeV1">
    <xs:sequence>
      <xs:element ref="provincies" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="statWagenparkStadagenGemiddeldTypeV1">
    <xs:sequence>
      <xs:element ref="provincies" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="statWagenparkStadagenMinstTypeV1">
    <xs:sequence>
      <xs:element ref="ranking" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="statWagenparkStadagenCarrosserieTypeV1">
    <xs:sequence>
      <xs:element ref="carrosserieStatistiek" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="statWagenparkSegmentTypeV1">
    <xs:sequence>
      <xs:element ref="provincies" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>


  <xs:complexType name="statWagenparkModelTypeV1">
    <xs:sequence>
      <xs:element ref="ranking" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="statijdTypeV1">
    <xs:sequence>
      <xs:element ref="merk"/>
      <xs:element ref="model"/>
      <xs:element ref="aantalVoertuigen"/>
      <xs:element ref="statijd"/>
      <xs:element ref="gemiddeldeStatijd"/>
      <xs:element ref="soortEigenaar"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="bpmInfoDoorverkoopTypeV1">
    <xs:sequence>
      <xs:element ref="kenteken" />
      <xs:element ref="brutoBpm"/>
      <xs:element ref="datumEersteToelatingInternationaal"/>
      <xs:element ref="restBpmOpgenomenInFactuurbedrag"/>
      <xs:element ref="btwPercentage"/>
      <xs:element ref="datumOpvragen"/>
      <xs:element ref="factuurBedrag"/>
      <xs:element ref="factuurBedragExclBpmBtw"/>
      <xs:element ref="btw"/>
      <xs:element ref="restBpm"/>
      <xs:element ref="percentageAfschrijving"/>
      <xs:element ref="berekeningGeldigTm"/>
      <xs:element ref="verminderingNaGeldigTm"/>
      <xs:element ref="meldingen" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="milieuStickerTypeV1">
    <xs:sequence>
      <xs:element ref="kenteken" />
      <xs:element ref="schadStoffGruppe" />
      <xs:element ref="stickerKleur" />
      <xs:element ref="roetFilter" />
      <xs:element ref="euroKlasse" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="bpmInfoImportTypeV1">
    <xs:sequence>
      <xs:element ref="minrestbpm" minOccurs="0" />
      <xs:element ref="maxrestbpm" minOccurs="0" />
      <xs:element ref="minbrutobpm" minOccurs="0" />
      <xs:element ref="maxbrutobpm" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="askingPriceTypeV1">
	  <xs:sequence>
		  <xs:element ref="verkoopadviesprijs"  />
		  <xs:element ref="meldingen" minOccurs="0"  />
	  </xs:sequence>
  </xs:complexType>

  <xs:complexType name="askingPriceTypeV2">
    <xs:sequence>
      <xs:element name="marktprijs" type="prijsrange"/>
      <xs:element name="inkoopprijs" type="prijsrange"/>
      <xs:element ref="meldingen" />
    </xs:sequence>
  </xs:complexType>
  
  <xs:complexType name="onderhoudKeurmerkTypeV1">
	  <xs:sequence>
		  <xs:element name="Keurmerk" type="xs:boolean" />
		  <xs:element name="LaatsteDatumKeurmerk" type="xs:string" nillable="true" />
		  <xs:element name="KmStand" type="xs:int" nillable="true" />
		  <xs:element name="Merk" type="xs:string" nillable="true" />
		  <xs:element name="NaamAutobedrijf" type="xs:string" nillable="true" />
		  <xs:element name="PlaatsAutobedrijf" type="xs:string" nillable="true" />
	  </xs:sequence>
  </xs:complexType>

  <xs:element name="verkoopadviesprijs" type="xs:string" nillable="true">
    <xs:annotation>
      <xs:documentation>
        geadviseerde vraagprijs bij verkoop
      </xs:documentation>
    </xs:annotation>
  </xs:element>

  <xs:complexType name="prijsrange">
    <xs:sequence>
      <xs:element name="verwacht" type="xs:string" nillable="true" />
      <xs:element name="competitief" type="xs:string" nillable="true" />
      <xs:element name="zeerCompetitief" type="xs:string" nillable="true" />
    </xs:sequence>
  </xs:complexType>
  
  <!-- Veld definities -->
  <xs:element name="periode">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="jaar"/>
        <xs:element ref="maandnummer"/>
        <xs:element ref="maand"/>
        <xs:element ref="provincie" minOccurs="0"/>
        <xs:element ref="totaal" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="ranking">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="positie"/>
        <xs:element ref="merk" minOccurs="0"/>
        <xs:element ref="model" minOccurs="0"/>
        <xs:element ref="land" minOccurs="0"/>
        <xs:element ref="motorVermogen" minOccurs="0"/>
        <xs:element ref="totaal" minOccurs="0"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="provincies">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="provincieItem" maxOccurs="unbounded"/>
        <xs:element ref="totaal" minOccurs="0"/>
        <xs:element ref="stadagenGemiddeld" minOccurs="0"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="provincieItem">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="provincie"/>
        <xs:element ref="segmenten" minOccurs="0" maxOccurs="unbounded"/>
        <xs:element ref="totaal" minOccurs="0"/>
        <xs:element ref="stadagenGemiddeld" minOccurs="0"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="segmenten">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="segmentItem" maxOccurs="unbounded"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="segmentItem">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="positie"/>
        <xs:element ref="segment" />
        <xs:element ref="totaal" minOccurs="0"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>


  <xs:element name="carrosserieStatistiek">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="carrosserie"/>
        <xs:element ref="stadagenGemiddeld" minOccurs="0"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>


  <xs:element name="meldingen" nillable="false">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="melding" maxOccurs="unbounded" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="melding">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="code" />
        <xs:element ref="omschrijving" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="code" type="xs:string" />
  <xs:element name="omschrijving" type="xs:string" />


  <xs:element name="bpmRestitutieBijExportMogelijk" type="xs:boolean" nillable="false">
    <xs:annotation>
      <xs:documentation>
        Geeft aan of BPM restitutie bij export mogelijk is.
      </xs:documentation>
    </xs:annotation>
  </xs:element>

  <xs:element name="bpmRedenGeenRestitutie" type="xs:string" nillable="true">
    <xs:annotation>
      <xs:documentation>
        Omschrijving van de reden indien BPM restitutie bij export niet mogelijk is.
      </xs:documentation>
    </xs:annotation>
  </xs:element>

  <xs:element name="brutoBpm" type="xs:int" nillable="true">
    <xs:annotation>
      <xs:documentation>
        Het Bruto BPM (belasting bij invoer) bedrag bij een voertuig.
      </xs:documentation>
    </xs:annotation>
  </xs:element>

  <xs:element name="percentageAfschrijving" nillable="true">
    <xs:annotation>
      <xs:documentation>
        Het afschrijvingspercentage BPM behorende bij het voertuig uit de afschrijvingstabel.
      </xs:documentation>
    </xs:annotation>
    <xs:simpleType>
      <xs:restriction base="xs:decimal">
        <xs:minInclusive value="0"/>
        <xs:fractionDigits value="2"/>
      </xs:restriction>
    </xs:simpleType>
  </xs:element>

  <xs:element name="restBpm" type="xs:int" nillable="true">
    <xs:annotation>
      <xs:documentation>
        De restant-BPM wordt berekend door van de oorspronkelijk betaalde BPM en het afschrijvingspercentage.
      </xs:documentation>
    </xs:annotation>
  </xs:element>

  <xs:element name="datumEersteToelatingInternationaal" type="xs:date" nillable="true">
    <xs:annotation>
      <xs:documentation>
        De datum waarop het voertuig voor de eerste keer
        - in het kentekenregister is tenaamgesteld, of
        - in een vergelijkbaar (buitenlands) register is
        ingeschreven, of
        - blijkens ambtelijke vaststelling in gebruik is genomen.
        Deze datum is bedoeld om zo goed mogelijk de 'leeftijd' van het
        betreffende voertuig aan te geven. De datum eerste toelating geldt als
        startpunt voor de BPM, bepaling APK-plicht en de te hanteren technische
        eisen, waarbij de oudste datum prevaleert.
        De EERSTE betekenis komt overeen met het element 'eersteToelatingNationaal', terwijl er
        met een verwijzing onder 'bijzonderheden' naar gerefereerd werd (sinds 1
        jan 1995 tot 1 juni 1999). De twee volgende betekenissen zijn 3 dec 1992
        ingegaan waarbij de datum onder 'bijzonderheden' op het kentekenbewijs
        werd vermeld (tot 1 juni 1999).
        Op het huidige kentekenbewijs wordt dit gegeven vermeld onder de
        rubriek 'B. Datum eerste toelating'.
      </xs:documentation>
    </xs:annotation>
  </xs:element>

  <xs:element name="datumEersteToelatingNationaal" type="xs:date" nillable="true">
    <xs:annotation>
      <xs:documentation>
        De datum waarop het voertuig voor de eerste keer in Nederland is geregistreerd.
      </xs:documentation>
    </xs:annotation>
  </xs:element>

  <xs:element name="jaar" type="xs:short" nillable="false">
    <xs:annotation>
      <xs:documentation>
        Jaartal in een periode
      </xs:documentation>
    </xs:annotation>
  </xs:element>

  <xs:element name="maand" type="maandType" nillable="false">
    <xs:annotation>
      <xs:documentation>
        Maand in een periode
      </xs:documentation>
    </xs:annotation>
  </xs:element>

  <xs:element name="maandnummer" nillable="false">
    <xs:annotation>
      <xs:documentation>
        Maandnummer in een periode
      </xs:documentation>
    </xs:annotation>
    <xs:simpleType>
      <xs:restriction base="xs:short">
        <xs:minInclusive value="1"/>
        <xs:maxInclusive value="12"/>
      </xs:restriction>
    </xs:simpleType>
  </xs:element>

  <xs:element name="provincie" type="provincieType" nillable="false">
    <xs:annotation>
      <xs:documentation>
        Provincie in Nederland
      </xs:documentation>
    </xs:annotation>
  </xs:element>

  <xs:element name="totaal" nillable="false">
    <xs:annotation>
      <xs:documentation>
        Een totaaltelling
      </xs:documentation>
    </xs:annotation>
    <xs:simpleType>
      <xs:restriction base="xs:int">
        <xs:minInclusive value="0"/>
      </xs:restriction>
    </xs:simpleType>
  </xs:element>

  <xs:element name="stadagenGemiddeld" nillable="false">
    <xs:annotation>
      <xs:documentation>
        Gemiddeld aantal stadagen van een voertuig
      </xs:documentation>
    </xs:annotation>
    <xs:simpleType>
      <xs:restriction base="xs:int">
        <xs:minInclusive value="0"/>
      </xs:restriction>
    </xs:simpleType>
  </xs:element>

  <xs:element name="merk" nillable="false">
    <xs:annotation>
      <xs:documentation>
        Merkomschrijving
      </xs:documentation>
    </xs:annotation>
    <xs:simpleType>
      <xs:restriction base="xs:string">
        <xs:maxLength value="30"/>
      </xs:restriction>
    </xs:simpleType>
  </xs:element>

  <xs:element name="model" nillable="false">
    <xs:annotation>
      <xs:documentation>
        Modelomschrijving
      </xs:documentation>
    </xs:annotation>
    <xs:simpleType>
      <xs:restriction base="xs:string">
        <xs:maxLength value="50"/>
      </xs:restriction>
    </xs:simpleType>
  </xs:element>

  <xs:element name="positie" nillable="false">
    <xs:annotation>
      <xs:documentation>
        Positie in de ranking
      </xs:documentation>
    </xs:annotation>
    <xs:simpleType>
      <xs:restriction base="xs:int">
        <xs:minInclusive value="1"/>
      </xs:restriction>
    </xs:simpleType>
  </xs:element>

  <xs:element name="motorVermogen" nillable="false">
    <xs:annotation>
      <xs:documentation>
        Motorvermogen in KW
      </xs:documentation>
    </xs:annotation>
    <xs:simpleType>
      <xs:restriction base="xs:int">
        <xs:minInclusive value="0"/>
      </xs:restriction>
    </xs:simpleType>
  </xs:element>

  <xs:element name="land" nillable="false">
    <xs:annotation>
      <xs:documentation>
        Landnaam
      </xs:documentation>
    </xs:annotation>
    <xs:simpleType>
      <xs:restriction base="xs:string">
        <xs:maxLength value="100"/>
      </xs:restriction>
    </xs:simpleType>
  </xs:element>

  <xs:element name="carrosserie" nillable="false">
    <xs:annotation>
      <xs:documentation>
        Het type carrosserie van een voertuig
      </xs:documentation>
    </xs:annotation>
    <xs:simpleType>
      <xs:restriction base="xs:string">
        <xs:maxLength value="30"/>
      </xs:restriction>
    </xs:simpleType>
  </xs:element>

  <xs:element name="segment" nillable="false">
    <xs:annotation>
      <xs:documentation>
        Code voor het segment voor het voertuig
      </xs:documentation>
    </xs:annotation>
    <xs:simpleType>
      <xs:restriction base="xs:string">
        <xs:maxLength value="3"/>
      </xs:restriction>
    </xs:simpleType>
  </xs:element>

  <xs:element name="aantalVoertuigen" nillable="true">
    <xs:annotation>
      <xs:documentation>
        Aantal voertuigen
      </xs:documentation>
    </xs:annotation>
    <xs:simpleType>
      <xs:restriction base="xs:int"/>
    </xs:simpleType>
  </xs:element>

  <xs:element name="statijd" nillable="true">
    <xs:annotation>
      <xs:documentation>
        Statijd
      </xs:documentation>
    </xs:annotation>
    <xs:simpleType>
      <xs:restriction base="xs:int"/>
    </xs:simpleType>
  </xs:element>

  <xs:element name="gemiddeldeStatijd" nillable="true">
    <xs:annotation>
      <xs:documentation>
        Gemiddelde statijd
      </xs:documentation>
    </xs:annotation>
    <xs:simpleType>
      <xs:restriction base="xs:int"/>
    </xs:simpleType>
  </xs:element>

  <xs:element name="soortEigenaar" nillable="true">
    <xs:annotation>
      <xs:documentation>
        Soort eigenaar
      </xs:documentation>
    </xs:annotation>
    <xs:simpleType>
      <xs:restriction base="xs:string">
        <xs:maxLength value="5"/>
      </xs:restriction>
    </xs:simpleType>
  </xs:element>

  <xs:element name="btwPercentage" nillable="true">
    <xs:annotation>
      <xs:documentation>
        BTW in procenten
      </xs:documentation>
    </xs:annotation>
    <xs:simpleType>
      <xs:restriction base="xs:decimal">
        <xs:minInclusive value="0"/>
        <xs:fractionDigits value="2"/>
      </xs:restriction>
    </xs:simpleType>
  </xs:element>

  <xs:element name="restBpmOpgenomenInFactuurbedrag" type="xs:boolean" nillable="true">
    <xs:annotation>
      <xs:documentation>
        Factuurbedrag inclusief of exclusief BPM
      </xs:documentation>
    </xs:annotation>
  </xs:element>

  <xs:element name="datumOpvragen" type="xs:date" nillable="true">
    <xs:annotation>
      <xs:documentation>
        Datum opvraging rest BPM (vandaag)
      </xs:documentation>
    </xs:annotation>
  </xs:element>

  <xs:element name="factuurBedrag" type="xs:int" nillable="true">
    <xs:annotation>
      <xs:documentation>
        Factuurbedrag in hele Euro's
      </xs:documentation>
    </xs:annotation>
  </xs:element>

  <xs:element name="factuurBedragExclBpmBtw" type="xs:double" nillable="true">
    <xs:annotation>
      <xs:documentation>
        Netto factuurbedrag
      </xs:documentation>
    </xs:annotation>
  </xs:element>

  <xs:element name="btw" type="xs:double" nillable="true">
    <xs:annotation>
      <xs:documentation>
        BTW bedrag in hele Euro's
      </xs:documentation>
    </xs:annotation>
  </xs:element>

  <xs:element name="berekeningGeldigTm" type="xs:date" nillable="true">
    <xs:annotation>
      <xs:documentation>
        Datum waarop de BPM berekening verandert.
      </xs:documentation>
    </xs:annotation>
  </xs:element>

  <xs:element name="verminderingNaGeldigTm" type="xs:int" nillable="true">
    <xs:annotation>
      <xs:documentation>
        Bedrag waarmee de rest BPM verminderd wordt na datum "berekeningGeldigTm"
      </xs:documentation>
    </xs:annotation>
  </xs:element>

  <xs:element name="kenteken" type="xs:string" nillable="true">
    <xs:annotation>
      <xs:documentation>
        Het ingevoerde kenteken
      </xs:documentation>
    </xs:annotation>
  </xs:element>

  <xs:element name="schadStoffGruppe" type="xs:int" nillable="true">
    <xs:annotation>
      <xs:documentation>
        Uitstootklasse Duitsland
      </xs:documentation>
    </xs:annotation>
  </xs:element>

  <xs:element name="stickerKleur" type="xs:string" nillable="true">
    <xs:annotation>
      <xs:documentation>
        Kleur sticker volgens Duitsland (gekoppeld aan schadStoffGruppe)
      </xs:documentation>
    </xs:annotation>
  </xs:element>

  <xs:element name="roetFilter" type="xs:string" nillable="true">
    <xs:annotation>
      <xs:documentation>
        Voertuig beschikt over roetfilter: Nee, affabriek, ja
      </xs:documentation>
    </xs:annotation>
  </xs:element>

  <xs:element name="euroKlasse" type="xs:string" nillable="true">
    <xs:annotation>
      <xs:documentation>
        Euroklasse verbrandingsmotor indien beschikbaar
      </xs:documentation>
    </xs:annotation>
  </xs:element>

  <xs:element name="bpmBetaaldBijRegistratie" type="xs:int" nillable="true">
    <xs:annotation>
      <xs:documentation>
        Het BPM bedrag betaald bij import van het voertuig.
      </xs:documentation>
    </xs:annotation>
  </xs:element>

  <xs:element name="minrestbpm" type="xs:int" nillable="true" />
  <xs:element name="maxrestbpm" type="xs:int" nillable="true" />
  <xs:element name="minbrutobpm" type="xs:int" nillable="true" />
  <xs:element name="maxbrutobpm" type="xs:int" nillable="true" />


</xs:schema>
