191 lines
9.4 KiB
XML
191 lines
9.4 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:loc="http://www.thales.dc/Localized"
|
|
xmlns="http://www.thales.dc/FeeContract"
|
|
targetNamespace="http://www.thales.dc/FeeContract"
|
|
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/MediaIdentification" schemaLocation="../../common/MediaIdentification.xsd"/>
|
|
<xs:import namespace="http://www.thales.dc/Localized" schemaLocation="../../common/Localized.xsd"/>
|
|
<xs:import namespace="http://www.thales.dc/ClearingItemType" schemaLocation="../../common/ClearingItemType.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>
|
|
<xs:annotation>
|
|
<xs:documentation>24/10/2024 - Version 1.0.1</xs:documentation>
|
|
<xs:documentation>
|
|
Add ChargingModel, ChargingPeriod, TotalNumber, TotalAmount, FeeRuleId
|
|
Remove AmountToApportion
|
|
</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="FeeContractXsdVersion" 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 FeeContractExchange structure -->
|
|
<xs:element name="Payload" type="FeeContractExchange"/>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
<!-- Description of the FeeContractExchange structure -->
|
|
<xs:annotation>
|
|
<xs:documentation>Allocation of a fee based on a contract from a payer to a payee's account.</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:complexType name="FeeContractExchange">
|
|
<xs:annotation>
|
|
<xs:documentation>clr:fee.contract.get: At fee distribution</xs:documentation>
|
|
<xs:documentation>Distribution of a fee based on a contract from a payer to a payee's account.</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:all>
|
|
<xs:element name="FeeItems" minOccurs="0">
|
|
<xs:annotation>
|
|
<xs:documentation>Output from fee distribution</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="FeeItem" type="FeeContractItemType" minOccurs="0" maxOccurs="unbounded"/>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="SettlementItems" minOccurs="0">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
Individual money transfer. The current settlements already take into account what has been done in previous settlement periods.
|
|
For instance, if in period n-1, we needed to give A->B 10, and in current period n we realize that we needed to give A->B 3,
|
|
the current audit will only contain a contractSettlement B->A 7 to compensate.
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="SettlementItem" type="FeeSettlementItemType" minOccurs="0" maxOccurs="unbounded"/>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="FeeContractId" type="xs:string">
|
|
<xs:annotation>
|
|
<xs:documentation>The contract as an instance of a fee.</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="FeeContextId" type="xs:string"/>
|
|
<xs:element name="FeeRuleId" type="xs:string"/>
|
|
<xs:element name="CreationEventId" type="xs:string">
|
|
<xs:annotation>
|
|
<xs:documentation>The unique identifier of the related event.</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="ChargingModel" type="xs:string">
|
|
<xs:annotation>
|
|
<xs:documentation>The charging model of the fee contract (per event, per volume, per total value).</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="ChargingPeriod" type="xs:string">
|
|
<xs:annotation>
|
|
<xs:documentation>The charging period of the fee contract (Daily, Weekly, Monthly).</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="ApplicationDate" type="xs:dateTime"/>
|
|
<xs:element name="ProcessingDate" type="xs:dateTime" minOccurs="0"/>
|
|
<xs:element name="ClearingVersion" type="xs:normalizedString">
|
|
<xs:annotation>
|
|
<xs:documentation>The version of the clearing parameters.</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="SettlementPeriodId" type="xs:string"/>
|
|
<xs:element name="TotalNumber" type="xs:int" minOccurs="0"/>
|
|
<xs:element name="TotalAmount" type="xs:decimal"/>
|
|
<xs:element name="Sequence" type="xs:long">
|
|
<xs:annotation>
|
|
<xs:documentation>The ordering sequence number of this contract.</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
</xs:all>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="FeeContractItemType">
|
|
<xs:annotation>
|
|
<xs:documentation>Results of fee calculation</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:all>
|
|
<xs:element name="StakeholderId" type="loc:LocalizedBusinessEntity">
|
|
<xs:annotation>
|
|
<xs:documentation>The stakeholder involved in the fee</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="Account" type="xs:string">
|
|
<xs:annotation>
|
|
<xs:documentation>The account to where the money is credited/debited.</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="AllocatedAmount" type="xs:decimal">
|
|
<xs:annotation>
|
|
<xs:documentation>amount (positive or negative) allocated to the Clearing Participant</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
</xs:all>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="FeeSettlementItemType">
|
|
<xs:annotation>
|
|
<xs:documentation>Individual money movement resulting from the fee items</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:all>
|
|
<xs:element name="PayerId" type="loc:LocalizedBusinessEntity">
|
|
<xs:annotation>
|
|
<xs:documentation>The stakeholder who will be debited money</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="PayeeId" type="loc:LocalizedBusinessEntity">
|
|
<xs:annotation>
|
|
<xs:documentation>The stakeholder who will be credited money</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="SettlementAmount" type="xs:decimal">
|
|
<xs:annotation>
|
|
<xs:documentation>amount (POSITIVE) to transfer between PAYER and PAYEE</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
</xs:all>
|
|
</xs:complexType>
|
|
</xs:schema>
|