OverdueConfigSchema.xsd

108 lines | 3.739 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="overdueConfig"/>
<xs:complexType name="overdueConfig">
<xs:complexContent>
<xs:extension base="validatingConfig">
<xs:sequence>
<xs:element name="bundleOverdueStates" type="overdueStatesBundle"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType abstract="true" name="validatingConfig">
<xs:sequence/>
</xs:complexType>
<xs:complexType name="overdueStatesBundle">
<xs:complexContent>
<xs:extension base="defaultOverdueStateSet">
<xs:sequence>
<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="defaultOverdueState">
<xs:complexContent>
<xs:extension base="validatingConfig">
<xs:sequence>
<xs:element minOccurs="0" name="condition" type="defaultCondition"/>
<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="daysBetweenPaymentRetries" type="xs:int"/>
<xs:element minOccurs="0" name="isClearState" type="xs:boolean"/>
<xs:element minOccurs="0" name="autoReevaluationInterval" type="defaultDuration"/>
</xs:sequence>
<xs:attribute name="name" type="xs:ID" use="required"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="defaultCondition">
<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="controlTag" type="controlTagType"/>
</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: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:restriction>
</xs:simpleType>
</xs:schema>