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

104 lines
4.8 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:dis="http://www.thales.dc/Discount"
xmlns:fee="http://www.thales.dc/Fee"
xmlns="http://www.thales.dc/ProductPriceWithDetails"
targetNamespace="http://www.thales.dc/ProductPriceWithDetails"
version="1.0.2">
<!-- 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.0.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:annotation>
<xs:documentation>sprint 218 - 23/08/2025 - Version 1.0.2</xs:documentation>
<xs:documentation>
add rating explanations
</xs:documentation>
</xs:annotation>
<xs:annotation>
<xs:documentation>-----------------------------------------------------------------------------------------------------------------------</xs:documentation>
</xs:annotation>
<!-- Import of xsd file -->
<xs:import namespace="http://www.thales.dc/Discount" schemaLocation="Discount.xsd"/>
<xs:import namespace="http://www.thales.dc/Fee" schemaLocation="Fee.xsd"/>
<xs:element name="ProductPriceWithDetails" type="ProductPriceWithDetails"/>
<xs:complexType name="ProductPriceWithDetails">
<xs:all>
<xs:element name="Price" type="xs:decimal"/>
<xs:element name="BaseFare" type="xs:decimal"/>
<xs:element name="Discounts" type="Discounts" minOccurs="0"/>
<xs:element name="RatingExplanations" type="RatingExplanations" minOccurs="0"/>
<xs:element name="Fees" type="Fees" minOccurs="0"/>
</xs:all>
</xs:complexType>
<xs:complexType name="Discounts">
<xs:sequence>
<xs:element name="Discount" type="dis:Discount" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="Fees">
<xs:sequence>
<xs:element name="Fee" type="fee:Fee" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="RatingExplanations">
<xs:sequence>
<xs:element name="RatingExplanation" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:all>
<xs:element name="CrossedZoneRating" minOccurs="0">
<xs:complexType>
<xs:all>
<xs:element name="CrossedZones" type="xs:integer"/>
<xs:element name="CrossedZoneSurcharge" type="xs:decimal"/>
<xs:element name="CrossedZoneSurchargeType" type="xs:string"/>
</xs:all>
</xs:complexType>
</xs:element>
<xs:element name="DistanceRating" minOccurs="0">
<xs:complexType>
<xs:all>
<xs:element name="Distance" type="xs:decimal"/>
</xs:all>
</xs:complexType>
</xs:element>
<xs:element name="ExternalRating" minOccurs="0">
<xs:complexType>
<xs:all>
<xs:element name="Reason" type="xs:string" minOccurs="0"/>
<xs:element name="UserId" type="xs:string"/>
<xs:element name="Realm" type="xs:string"/>
</xs:all>
</xs:complexType>
</xs:element>
</xs:all>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:schema>