266 lines
14 KiB
XML
266 lines
14 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:med="http://www.thales.dc/MediaIdentification"
|
|
xmlns:loc="http://www.thales.dc/Localized"
|
|
xmlns:clr="http://www.thales.dc/ClearingItemType"
|
|
xmlns="http://www.thales.dc/ContractApportionment"
|
|
targetNamespace="http://www.thales.dc/ContractApportionment"
|
|
version="1.3.1">
|
|
|
|
<!-- 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>04/11/2021 - Version 1.1.0</xs:documentation>
|
|
<xs:documentation>
|
|
- Add the contract rule details
|
|
- Remove the ContractApportionmentId (the ContractApportionment is at the contract level so ContractApportionmentId did not have any sense)
|
|
- Add ClearingVersion
|
|
- Remove the rule name at contract level
|
|
- Remove the payerRoleType in Apportionment/Settlement at contract level
|
|
- Remove the compensation in Settlement at contract level
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:annotation>
|
|
<xs:documentation>-----------------------------------------------------------------------------------------------------------------------</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:annotation>
|
|
<xs:documentation>11/07/2022 - Version 1.2.0</xs:documentation>
|
|
<xs:documentation>
|
|
- Add ContractSerialNumber
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:annotation>
|
|
<xs:documentation>-----------------------------------------------------------------------------------------------------------------------</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:annotation>
|
|
<xs:documentation>17/10/2022 - Version 1.2.1</xs:documentation>
|
|
<xs:documentation>
|
|
- Add BestEffort in ContractApportionmentAuditExchange
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:annotation>
|
|
<xs:documentation>-----------------------------------------------------------------------------------------------------------------------</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:annotation>
|
|
<xs:documentation>03/11/2022 - Version 1.3.0</xs:documentation>
|
|
<xs:documentation>
|
|
- Rename ApportionedRevenue to AmountToApportion
|
|
- see ClearingItemType.xsd file version 1.1.0
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:annotation>
|
|
<xs:documentation>-----------------------------------------------------------------------------------------------------------------------</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:annotation>
|
|
<xs:documentation>03/11/2023 - Version 1.3.1</xs:documentation>
|
|
<xs:documentation>
|
|
- Add capping product code et journey definition product code to identify the capping/journey definition used in the apportionment.
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:annotation>
|
|
<xs:documentation>-----------------------------------------------------------------------------------------------------------------------</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:annotation>
|
|
<xs:documentation>23/04/2024 - Version 1.3.2</xs:documentation>
|
|
<xs:documentation>
|
|
- Add DailyMediaConsumptions with dailyMediaConsumptionId and legIds.
|
|
</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="ContractApportionmentXsdVersion" type="xs:string" fixed="1.3"/>
|
|
</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 ContractApportionmentAuditExchange structure -->
|
|
<xs:element name="Payload" type="ContractApportionmentAuditExchange"/>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
<!-- Description of the ContractApportionmentAuditExchange structure -->
|
|
<xs:annotation>
|
|
<xs:documentation>Apportionment of a fraction of contract from a payer to a payee's account during a settlement period.</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:complexType name="ContractApportionmentAuditExchange">
|
|
<xs:annotation>
|
|
<xs:documentation>clr_apportionment_get: At apportionment creation</xs:documentation>
|
|
<xs:documentation>Apportionment of a fraction of contract from a payer to a payee's account during a settlement period.</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:all>
|
|
<xs:element name="ApportionmentItems" minOccurs="0" type="clr:ApportionmentItemsType"/>
|
|
<xs:element name="ContractRuleDetails" minOccurs="0">
|
|
<xs:annotation>
|
|
<xs:documentation>Sorted rule details</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="ContractRuleDetail" type="clr:ContractRuleDetails" minOccurs="0" maxOccurs="unbounded"/>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="SettlementItems" minOccurs="0" type="clr:SettlementItemsType"/>
|
|
<xs:element name="AmountToApportion" type="xs:decimal">
|
|
<xs:annotation>
|
|
<xs:documentation>The total revenue to be apportioned among all the stakeholder</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="ContractId" type="xs:string">
|
|
<xs:annotation>
|
|
<xs:documentation>The contract as an instance of a product, possibly on a media.</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="ContractSerialNumber" type="xs:string" minOccurs="0">
|
|
<xs:annotation>
|
|
<xs:documentation>The contract serial number: serial number of the Contract Id.</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<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="MediaIdentification" type="med:MediaIdentification" minOccurs="0">
|
|
<xs:annotation>
|
|
<xs:documentation>The media holding the contract</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="NonTransitProductCode" type="loc:LocalizedNonTransitProductCode" minOccurs="0">
|
|
<xs:annotation>
|
|
<xs:documentation>The type of product of the contract instance if it is a non transit product.</xs:documentation>
|
|
<xs:documentation>Dictionary prefix: NonTransitProductCode</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<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="ProductCode" type="loc:LocalizedProductCode" minOccurs="0">
|
|
<xs:annotation>
|
|
<xs:documentation>The type of product of the contract instance if it is a transit product.</xs:documentation>
|
|
<xs:documentation>Dictionary prefix: ProductCode</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="SupplementProductCode" type="loc:LocalizedSupplementProductCode" minOccurs="0">
|
|
<xs:annotation>
|
|
<xs:documentation>The type of product of the contract instance if it is a supplement product.</xs:documentation>
|
|
<xs:documentation>Dictionary prefix: SupplementProductCode</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="CappingProductCode" type="loc:LocalizedCappingRule" minOccurs="0">
|
|
<xs:annotation>
|
|
<xs:documentation>The type of capping of the contract instance if it is a capping instance.</xs:documentation>
|
|
<xs:documentation>Dictionary prefix: CappingRule</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="JourneyProductCode" type="loc:LocalizedJourneyDefinition" minOccurs="0">
|
|
<xs:annotation>
|
|
<xs:documentation>The type of journey definition of the contract instance if it is a journey instance.</xs:documentation>
|
|
<xs:documentation>Dictionary prefix: JourneyDefinition</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="BestEffort" type="xs:boolean" minOccurs="0">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
In case of an apportionment of an amount lower than the revenue:
|
|
If true, will perform the apportionment the best way possible.
|
|
If false, will do nothing for the apportionment.
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="Sequence" type="xs:long">
|
|
<xs:annotation>
|
|
<xs:documentation>The ordering sequence number of this contract's apportionment.</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="SettlementPeriodId" type="xs:string"/>
|
|
<xs:element name="SettlementPeriodCreationDateTime" type="xs:dateTime"/>
|
|
<xs:element minOccurs="0" name="DailyMediaConsumptions">
|
|
<xs:annotation>
|
|
<xs:documentation>DailyMediaConsumptions</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="DailyMediaConsumption" 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 minOccurs="0" name="Legs">
|
|
<xs:annotation>
|
|
<xs:documentation>Legs</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="Leg" type="Leg" minOccurs="0" maxOccurs="unbounded"/>
|
|
</xs:sequence>
|
|
</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>
|
|
Unique identifier for a leg.
|
|
Between multiple reconstructions, the legId will be kept constant if the leg did not change
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
</xs:all>
|
|
</xs:complexType>
|
|
</xs:schema>
|