﻿<?xml version="1.0" encoding="utf-8"?>
<schema xmlns:common="https://webservices.idosplatform.nl/common/" xmlns:premiumperiod="https://webservices.idosplatform.nl/premiumperiod/" elementFormDefault="qualified" targetNamespace="https://webservices.idosplatform.nl/premiumperiod/" xmlns="http://www.w3.org/2001/XMLSchema">
  <import schemaLocation="https://webservices.idosplatform.nl/Contracts/Common.xsd" namespace="https://webservices.idosplatform.nl/common/" />
  <simpleType name="PremiumCalculationOption">
    <restriction base="string">
      <enumeration value="EnabledRealDays" />
      <enumeration value="Enabled360USDays" />
    </restriction>
  </simpleType>
  <simpleType name="MutationCalculationOption">
    <restriction base="string">
      <enumeration value="ProRata" />
      <enumeration value="CalculateInHalf" />
      <enumeration value="Disabled" />
    </restriction>
  </simpleType>
  <simpleType name="PremiumTermStatus">
    <restriction base="string">
      <enumeration value="ToBeRenewed" />
      <enumeration value="Renewed" />
      <enumeration value="Cancelled" />
    </restriction>
  </simpleType>
  <simpleType name="PremiumTermIndicator">
    <restriction base="string">
      <enumeration value="Incomplete" />
    </restriction>
  </simpleType>
  <complexType name="PremiumTermsType">
    <sequence minOccurs="1" maxOccurs="1">
      <element name="PremiumTerm" type="premiumperiod:PremiumTermType" minOccurs="0" maxOccurs="unbounded" />
    </sequence>
  </complexType>
  <complexType name="PremiumPeriodDetailsType">
    <sequence minOccurs="1" maxOccurs="1">
      <element name="FromDate" type="date" minOccurs="1" maxOccurs="1" nillable="false" />
      <element name="MainPremiumDueDate" type="date" minOccurs="1" maxOccurs="1" nillable="true" />
      <element name="InvoicePeriodMonths" type="common:PositiveIntegerType" minOccurs="1" maxOccurs="1" nillable="true" />
      <element name="PremiumCalculationOption" type="premiumperiod:PremiumCalculationOption" minOccurs="1" maxOccurs="1" nillable="false" />
      <element name="MutationCalculationOption" type="premiumperiod:MutationCalculationOption" minOccurs="1" maxOccurs="1" nillable="false" />
      <element name="PremiumTerms" type="premiumperiod:PremiumTermsType" minOccurs="1" maxOccurs="1" />
      <element name="PremiumPeriodId" type="common:PositiveIntegerType" minOccurs="1" maxOccurs="1" nillable="false" />
      <element name="IsActive" type="boolean" minOccurs="1" maxOccurs="1" nillable="false" />
      <element name="InvolvedInsurerUserOrganisations " type="common:InsurerUserOrganisationIdsType" minOccurs="1" maxOccurs="1">
        <annotation>
          <documentation>List of InvolvedInsurerUserOrganisations that have access to the Premium Period</documentation>
        </annotation>
      </element>
    </sequence>
  </complexType>
  <complexType name="PremiumTermType">
    <sequence minOccurs="1" maxOccurs="1">
      <element name="FromDate" type="date" minOccurs="1" maxOccurs="1" nillable="false" />
      <element name="EndDate" type="date" minOccurs="1" maxOccurs="1" nillable="true" />
      <element name="RenewalDate" type="date" minOccurs="1" maxOccurs="1" nillable="true" />
      <element name="Status" type="premiumperiod:PremiumTermStatus" minOccurs="1" maxOccurs="1" nillable="true" />
      <element name="Indicator" type="premiumperiod:PremiumTermIndicator" minOccurs="1" maxOccurs="1" nillable="true" />
      <element name="PremiumTermId" type="common:PositiveIntegerType" minOccurs="1" maxOccurs="1" nillable="false" />
      <element name="PremiumPeriodId" type="common:PositiveIntegerType" minOccurs="1" maxOccurs="1" nillable="false" />
    </sequence>
  </complexType>
</schema>