2026-01-27 14:48:39 +01:00

135 lines
6.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="http://www.thales.dc/Fine"
targetNamespace="http://www.thales.dc/Fine"
version="1.0.0">
<!-- Import of xsd file -->
<xs:import namespace="http://www.thales.dc/Headers" schemaLocation="../../common/Headers.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="FineXsdVersion" 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 FineAuditExchange structure -->
<xs:element name="Payload" type="FineAuditExchange"/>
</xs:sequence>
</xs:complexType>
<!-- Description of the FineAuditExchange structure -->
<xs:complexType name="FineAuditExchange">
<xs:annotation>
<xs:documentation>scm_fines_post: At fine creation</xs:documentation>
<xs:documentation>scm_str_fine_payment: At fine payment</xs:documentation>
<xs:documentation>scm_fine_delete: At fine cancellation</xs:documentation>
<xs:documentation>Model for audit trace of fines</xs:documentation>
</xs:annotation>
<xs:all>
<xs:element name="AgentNumber" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>Agent who gave the fine to the fraudulent traveler</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Amount" type="xs:decimal" minOccurs="0">
<xs:annotation>
<xs:documentation>Amount of the fine.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ClosingDate" type="xs:dateTime" minOccurs="0">
<xs:annotation>
<xs:documentation>Date when the fine was set to closed/cancelled</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="CreationDate" type="xs:dateTime" minOccurs="0">
<xs:annotation>
<xs:documentation>Date when the fine was issued</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="DeviceNumber" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>Number of the device that created the fine</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="DeviceOwner" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>Operator of the device that emits the fine</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="DeviceType" type="xs:int" minOccurs="0">
<xs:annotation>
<xs:documentation>Type of the device that emits the fine</xs:documentation>
<xs:documentation>Dictionary prefix: DeviceType</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="FineId" type="xs:string">
<xs:annotation>
<xs:documentation>Technical id</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="FineNumber" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>Number of the fine (device specific number)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="FineStatus" type="FineStatus" minOccurs="0">
<xs:annotation>
<xs:documentation>Status of the fine: ISSUED means due to be paid, PAID means paid to the agent when issued or CANCELLED when bo operator
cancelled it
</xs:documentation>
<xs:documentation>Dictionary prefix: FineStatus</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="OffenceType" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>Type of offence.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:all>
</xs:complexType>
<xs:simpleType name="FineStatus">
<xs:restriction base="xs:string">
<xs:enumeration value="ISSUED"/>
<xs:enumeration value="PAID"/>
<xs:enumeration value="CANCELLED"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>