poc-reports/es_elt/xsd/auditData/rpe/DebtRepayment.xsd
2026-01-27 14:48:39 +01:00

147 lines
7.1 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (C) Revenue Collection Systems France S.A.S. - 2018-2025 ALL RIGHTS RESERVED
-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:head="http://www.thales.dc/Headers"
xmlns:com="http://www.thales.dc/HalLink"
xmlns:pay="http://www.thales.dc/PaymentType"
xmlns="http://www.thales.dc/DebtRepayment"
targetNamespace="http://www.thales.dc/DebtRepayment"
version="1.0.0">
<!-- Import of xsd file -->
<xs:import namespace="http://www.thales.dc/Headers" schemaLocation="../../common/Headers.xsd"/>
<xs:import namespace="http://www.thales.dc/HalLink" schemaLocation="../../common/HalLink.xsd"/>
<xs:import namespace="http://www.thales.dc/PaymentType" schemaLocation="../../common/PaymentType.xsd"/>
<!-- Annotate all modification of the xsd file according to version -->
<xs:annotation>
<xs:documentation>-----------------------------------------------------------------------------------------------------------------------</xs:documentation>
</xs:annotation>
<xs:annotation>
<xs:documentation>Version List</xs:documentation>
</xs:annotation>
<xs:annotation>
<xs:documentation>-----------------------------------------------------------------------------------------------------------------------</xs:documentation>
</xs:annotation>
<xs:annotation>
<xs:documentation>04/11/2021 - Version 1.0.0</xs:documentation>
<xs:documentation>
1st part: Add the AuditMessages, AuditMessage, Headers and Payload element for the XML validation
2nd part: Add version to xsd schema
</xs:documentation>
</xs:annotation>
<xs:annotation>
<xs:documentation>-----------------------------------------------------------------------------------------------------------------------</xs:documentation>
</xs:annotation>
<!-- Description of the AuditMessages structure -->
<xs:element name="AuditMessages" type="AuditMessagesType"/>
<xs:complexType name="AuditMessagesType">
<xs:sequence>
<!-- List of AuditMessage -->
<xs:element name="AuditMessage" type="AuditMessageType" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<!-- version of AuditMessages structure -->
<xs:attribute name="DebtRepaymentXsdVersion" type="xs:string" fixed="1.0"/>
</xs:complexType>
<!-- Description of the AuditMessage structure -->
<xs:complexType name="AuditMessageType">
<xs:sequence>
<!-- Headers structure -->
<xs:element name="Headers" type="head:HeadersType" minOccurs="0"/>
<!-- Payload is a DebtRepaymentAuditExchange structure -->
<xs:element name="Payload" type="DebtRepaymentAuditExchange"/>
</xs:sequence>
</xs:complexType>
<!-- Description of the DebtRepaymentAuditExchange structure -->
<xs:complexType name="DebtRepaymentAuditExchange">
<xs:annotation>
<xs:documentation>rpe_payments_payment_post: After a sale server debt repayment or any recovery that settles a debt</xs:documentation>
</xs:annotation>
<xs:all>
<xs:element name="Amount" type="xs:decimal"/>
<xs:element name="DebtSurplusSettlementId" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>In case of debt surplus reversal, contains the reference to the initial debt repayment or recovery with surplus.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="MediaId" type="xs:string" minOccurs="0"/>
<xs:element name="Missing" type="xs:decimal" minOccurs="0">
<xs:annotation>
<xs:documentation>When the payment is less than the actual debt.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="PaymentId" type="xs:string"/>
<xs:element name="PaymentReference" type="com:HalLink" minOccurs="0">
<xs:annotation>
<xs:documentation>A reference of the payment which paid the debt.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="PaymentType" type="pay:PaymentType">
<xs:annotation>
<xs:documentation>To distinguish between an automatic recovery from a direct payment</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Surplus" type="xs:decimal" minOccurs="0">
<xs:annotation>
<xs:documentation>When the payment covers more than the actual debt.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="InvolvedDailyMediaConsumptions" minOccurs="0">
<xs:annotation>
<xs:documentation>Daily media consumptions involved in payment request</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="InvolvedDailyMediaConsumption" type="DailyMediaConsumption" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:all>
</xs:complexType>
<xs:complexType name="DailyMediaConsumption">
<xs:all>
<xs:element name="DailyMediaConsumptionId" type="xs:string">
<xs:annotation>
<xs:documentation>Id of the daily media consumption that was involved in this payment request</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ModifiedLegs" minOccurs="0">
<xs:complexType>
<xs:all>
<xs:element name="AddedLegs" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="AddedLeg" type="Leg" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="RemovedLegs" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="RemovedLeg" type="Leg" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:all>
</xs:complexType>
</xs:element>
</xs:all>
</xs:complexType>
<xs:complexType name="Leg">
<xs:all>
<xs:element name="LegId" type="xs:string">
<xs:annotation>
<xs:documentation>Id of the leg</xs:documentation>
</xs:annotation>
</xs:element>
</xs:all>
</xs:complexType>
</xs:schema>