poc-reports/es_elt/xsd/common/MediaConsumptionAdjustmentCommon.xsd
2026-01-27 14:48:39 +01:00

196 lines
8.7 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="http://www.thales.dc/MediaConsumptionAdjustmentCommon"
targetNamespace="http://www.thales.dc/MediaConsumptionAdjustmentCommon"
version="1.1.1">
<!-- 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>sprint 186 - 23/08/2023 - Version 1.1.1</xs:documentation>
<xs:documentation>
change versioning and add documentation to respect XSD versioning format
</xs:documentation>
</xs:annotation>
<xs:annotation>
<xs:documentation>-----------------------------------------------------------------------------------------------------------------------
</xs:documentation>
</xs:annotation>
<xs:complexType name="MediaIdentification">
<xs:all>
<xs:element name="MediaId" type="xs:string"/>
<xs:element name="MediaSerialNumber" type="xs:string"/>
<xs:element name="MediaTypeId" type="xs:int">
<xs:annotation>
<xs:documentation>Dictionary prefix: MediaType</xs:documentation>
</xs:annotation>
</xs:element>
</xs:all>
</xs:complexType>
<xs:complexType name="User">
<xs:all>
<xs:element name="Realm" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>Realm of the user</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="UserId" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>Id the user</xs:documentation>
</xs:annotation>
</xs:element>
</xs:all>
</xs:complexType>
<xs:complexType name="MediaConsumptionAdjustmentModificationResult">
<xs:all>
<xs:element name="PreviousLegPrice" type="xs:decimal">
<xs:annotation>
<xs:documentation>Leg price before the adjustment</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="RecomputedLegPrice" type="xs:decimal">
<xs:annotation>
<xs:documentation>Leg price charge after the adjustment</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="LegPriceVariation" type="xs:decimal">
<xs:annotation>
<xs:documentation>Variation of price on leg adjusted</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="OtherLegsPriceVariation" type="xs:decimal">
<xs:annotation>
<xs:documentation>Variation of price on other legs</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="TotalPriceVariation" type="xs:decimal">
<xs:annotation>
<xs:documentation>Total price variation: (Price After Adjustment) - (Price Before Adjustment)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ReasonCode" type="xs:string">
<xs:annotation>
<xs:documentation>Reason for the adjustment</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ReasonDetails" type="xs:string">
<xs:annotation>
<xs:documentation>Detail reason for the adjustment</xs:documentation>
</xs:annotation>
</xs:element>
</xs:all>
</xs:complexType>
<xs:complexType name="MediaConsumptionJourneyAdjustmentModificationResult">
<xs:all>
<xs:element name="PreviousJourneyPrice" type="xs:decimal">
<xs:annotation>
<xs:documentation>Journey price before the adjustment</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="RecomputedJourneyPrice" type="xs:decimal">
<xs:annotation>
<xs:documentation>Journey price charge after the adjustment</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="OtherJourneysPriceVariation" type="xs:decimal">
<xs:annotation>
<xs:documentation>Variation of price on other journeys</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="TotalPriceVariation" type="xs:decimal">
<xs:annotation>
<xs:documentation>Total price variation: (Price After Adjustment) - (Price Before Adjustment)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ReasonCode" type="xs:string">
<xs:annotation>
<xs:documentation>Reason for the adjustment</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ReasonDetails" type="xs:string">
<xs:annotation>
<xs:documentation>Detail reason for the adjustment</xs:documentation>
</xs:annotation>
</xs:element>
</xs:all>
</xs:complexType>
<xs:simpleType name="AdjustmentType">
<xs:restriction base="xs:string">
<xs:enumeration value="MISSING"/>
<xs:enumeration value="EXPECTED"/>
<xs:enumeration value="EXCESS"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="AdjustmentSource">
<xs:restriction base="xs:string">
<xs:enumeration value="SINGLE"/>
<xs:enumeration value="BULK"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="BulkAdjustmentInformation">
<xs:all>
<xs:element name="BulkId" type="xs:string"/>
<xs:element name="CreationDate" type="xs:dateTime"/>
<xs:element name="DateFrom" type="xs:dateTime"/>
<xs:element name="DateTo" type="xs:dateTime"/>
<xs:element name="MediaTypes" type="MediaTypes"/>
<xs:element name="AdjustmentTypes" type="AdjustmentTypes"/>
<xs:element name="ReasonCode" type="xs:string"/>
<xs:element name="ReasonDetails" type="xs:string" minOccurs="0"/>
<xs:element name="AgentCreator" type="xs:string"/>
<xs:element name="AgentExecutor" type="xs:string"/>
<xs:element name="TotalAdjustment" type="xs:decimal"/>
</xs:all>
</xs:complexType>
<xs:complexType name="MediaTypes">
<xs:sequence>
<!-- List of MediaType -->
<xs:element name="MediaType" type="xs:int" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="AdjustmentTypes">
<xs:sequence>
<!-- List of AdjustmentType -->
<xs:element name="AdjustmentType" type="AdjustmentType" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="BulkAdjustmentEntryResultErrors">
<xs:sequence>
<!-- List of BulkAdjustmentEntryResult -->
<xs:element name="BulkAdjustmentEntryResultError" type="BulkAdjustmentEntryResultError" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="BulkAdjustmentEntryResultError">
<xs:all>
<xs:element name="Id" type="xs:string"/>
<xs:element name="TravelEventId" type="xs:string"/>
<xs:element name="MediaId" type="xs:string"/>
<xs:element name="ExecutionStatus" type="ExecutionStatus"/>
<xs:element name="AdjustmentAmount" type="xs:decimal"/>
</xs:all>
</xs:complexType>
<xs:simpleType name="ExecutionStatus">
<xs:restriction base="xs:string">
<xs:enumeration value="SUCCESS"/>
<xs:enumeration value="FAILED"/>
<xs:enumeration value="SKIPPED"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>