OverdueConfigSchema.xsd

128 lines | 4.632 kB Blame History Raw Download
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" version="1.0">
<xs:element name="overdueConfig" type="defaultOverdueConfig"/>
<xs:complexType name="defaultOverdueConfig">
<xs:complexContent>
<xs:extension base="validatingConfig">
<xs:sequence>
<xs:element name="accountOverdueStates" type="defaultOverdueStatesAccount"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType abstract="true" name="validatingConfig">
<xs:sequence/>
</xs:complexType>
<xs:complexType name="defaultOverdueStatesAccount">
<xs:complexContent>
<xs:extension base="defaultOverdueStateSet">
<xs:sequence>
<xs:element minOccurs="0" name="initialReevaluationInterval" type="defaultDuration"/>
<xs:element maxOccurs="unbounded" name="state" type="defaultOverdueState"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType abstract="true" name="defaultOverdueStateSet">
<xs:complexContent>
<xs:extension base="validatingConfig">
<xs:sequence/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="defaultDuration">
<xs:complexContent>
<xs:extension base="validatingConfig">
<xs:sequence>
<xs:element name="unit" type="timeUnit"/>
<xs:element minOccurs="0" name="number" type="xs:int"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="defaultOverdueState">
<xs:complexContent>
<xs:extension base="validatingConfig">
<xs:sequence>
<xs:element minOccurs="0" name="condition" type="defaultOverdueCondition"/>
<xs:element minOccurs="0" name="externalMessage" type="xs:string"/>
<xs:element minOccurs="0" name="blockChanges" type="xs:boolean"/>
<xs:element minOccurs="0" name="disableEntitlementAndChangesBlocked" type="xs:boolean"/>
<xs:element minOccurs="0" name="subscriptionCancellationPolicy" type="overdueCancellationPolicy"/>
<xs:element minOccurs="0" name="isClearState" type="xs:boolean"/>
<xs:element minOccurs="0" name="autoReevaluationInterval" type="defaultDuration"/>
<xs:element minOccurs="0" name="enterStateEmailNotification" type="defaultEmailNotification"/>
</xs:sequence>
<xs:attribute name="name" type="xs:ID" use="required"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="defaultOverdueCondition">
<xs:complexContent>
<xs:extension base="validatingConfig">
<xs:sequence>
<xs:element minOccurs="0" name="numberOfUnpaidInvoicesEqualsOrExceeds" type="xs:int"/>
<xs:element minOccurs="0" name="totalUnpaidInvoiceBalanceEqualsOrExceeds" type="xs:decimal"/>
<xs:element minOccurs="0" name="timeSinceEarliestUnpaidInvoiceEqualsOrExceeds" type="defaultDuration"/>
<xs:element minOccurs="0" name="responseForLastFailedPaymentIn">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="response" type="paymentResponse"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="controlTagInclusion" type="controlTagType"/>
<xs:element minOccurs="0" name="controlTagExclusion" type="controlTagType"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="defaultEmailNotification">
<xs:sequence>
<xs:element name="subject" type="xs:string"/>
<xs:element name="templateName" type="xs:string"/>
<xs:element minOccurs="0" name="isHTML" type="xs:boolean"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="timeUnit">
<xs:restriction base="xs:string">
<xs:enumeration value="DAYS"/>
<xs:enumeration value="MONTHS"/>
<xs:enumeration value="YEARS"/>
<xs:enumeration value="UNLIMITED"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="paymentResponse">
<xs:restriction base="xs:string">
<xs:enumeration value="INVALID_CARD"/>
<xs:enumeration value="EXPIRED_CARD"/>
<xs:enumeration value="LOST_OR_STOLEN_CARD"/>
<xs:enumeration value="DO_NOT_HONOR"/>
<xs:enumeration value="INSUFFICIENT_FUNDS"/>
<xs:enumeration value="DECLINE"/>
<xs:enumeration value="PROCESSING_ERROR"/>
<xs:enumeration value="INVALID_AMOUNT"/>
<xs:enumeration value="DUPLICATE_TRANSACTION"/>
<xs:enumeration value="OTHER"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="controlTagType">
<xs:restriction base="xs:string">
<xs:enumeration value="AUTO_PAY_OFF"/>
<xs:enumeration value="AUTO_INVOICING_OFF"/>
<xs:enumeration value="OVERDUE_ENFORCEMENT_OFF"/>
<xs:enumeration value="WRITTEN_OFF"/>
<xs:enumeration value="MANUAL_PAY"/>
<xs:enumeration value="TEST"/>
<xs:enumeration value="PARTNER"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="overdueCancellationPolicy">
<xs:restriction base="xs:string">
<xs:enumeration value="END_OF_TERM"/>
<xs:enumeration value="IMMEDIATE"/>
<xs:enumeration value="NONE"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>