196 lines
8.7 KiB
XML
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>
|