poc-reports/es_elt/xsd/auditData/pom/CustomerOrder.xsd
2026-01-27 14:48:39 +01:00

184 lines
9.1 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:med="http://www.thales.dc/MediaIdentification"
xmlns:head="http://www.thales.dc/Headers"
xmlns:orderDetails="http://www.thales.dc/OrderDetails"
xmlns:com="http://www.thales.dc/ExtendedAddress"
xmlns="http://www.thales.dc/CustomerOrder"
targetNamespace="http://www.thales.dc/CustomerOrder"
version="1.0.3">
<!-- Import of xsd file -->
<xs:import namespace="http://www.thales.dc/Headers" schemaLocation="../../common/Headers.xsd"/>
<xs:import namespace="http://www.thales.dc/ExtendedAddress" schemaLocation="../../common/ExtendedAddress.xsd"/>
<xs:import namespace="http://www.thales.dc/OrderDetails" schemaLocation="../../common/OrderDetails.xsd"/>
<xs:import namespace="http://www.thales.dc/MediaIdentification" schemaLocation="../../common/MediaIdentification.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>sprint 186 - 29/08/2023 - Version 1.0.1</xs:documentation>
<xs:documentation>
add refund data to order items (contractSerialNumber, refundAmount, refundFee, FinalRefundAmountFlag)
</xs:documentation>
</xs:annotation>
<xs:annotation>
<xs:documentation>-----------------------------------------------------------------------------------------------------------------------</xs:documentation>
</xs:annotation>
<xs:annotation>
<xs:documentation>sprint 187 -22/09/2023 - Version 1.0.2</xs:documentation>
<xs:documentation>
Add user info to track Agent's action
</xs:documentation>
</xs:annotation>
<xs:annotation>
<xs:documentation>-----------------------------------------------------------------------------------------------------------------------</xs:documentation>
</xs:annotation>
<xs:annotation>
<xs:documentation>sprint 205 - 15/10/2024 - Version 1.0.3</xs:documentation>
<xs:documentation>
add Payment Means Id for PAY_AS_YOU_GO_MODIFICATION
</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="CustomerOrderXsdVersion" 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 CustomerOrderAuditExchange structure -->
<xs:element name="Payload" type="CustomerOrderAuditExchange"/>
</xs:sequence>
</xs:complexType>
<!-- Description of the CustomerOrdersAuditExchange structure -->
<xs:complexType name="CustomerOrderAuditExchange">
<xs:annotation>
<xs:documentation>pom_orders_post: At order update</xs:documentation>
</xs:annotation>
<xs:all>
<xs:element name="CustomerId" type="xs:string" minOccurs="0"/>
<xs:element name="InvoicingData" type="com:ExtendedAddress" minOccurs="0"/>
<xs:element name="OrderNumber" type="xs:string" minOccurs="0"/>
<xs:element name="OrderStatus" type="orderDetails:CustomerOrderStatus" minOccurs="0">
<xs:annotation>
<xs:documentation>Dictionary prefix: CustomerOrderStatus</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="PaymentReference" type="xs:string" minOccurs="0"/>
<xs:element name="SubmissionDate" type="xs:dateTime" minOccurs="0"/>
<xs:element name="TotalPrice" type="orderDetails:PriceIncludingVAT" minOccurs="0"/>
<xs:element name="Items" type="Items" minOccurs="0"/>
<xs:element name="User" type="User" minOccurs="0"/>
</xs:all>
</xs:complexType>
<xs:complexType name="Items">
<xs:sequence>
<xs:element name="Item" type="Item" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</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="Item">
<xs:all>
<xs:element name="ExpirationDate" type="xs:dateTime" minOccurs="0"/>
<xs:element name="ItemNumber" type="xs:string" minOccurs="0"/>
<xs:element name="ItemStatus" type="orderDetails:DeliveryOrderStatus" minOccurs="0">
<xs:annotation>
<xs:documentation>Dictionary prefix: DeliveryOrderStatus</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ItemType" type="orderDetails:OrderItemType" minOccurs="0">
<xs:annotation>
<xs:documentation>Dictionary prefix: DeliveryOrderStatus</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Media" type="med:MediaIdentification" minOccurs="0"/>
<xs:element name="Price" type="orderDetails:PriceIncludingVAT" minOccurs="0"/>
<xs:element name="TicketingVersion" type="xs:string" minOccurs="0"/>
<xs:element name="ContractSerialNumber" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>The serial number of the contract to refund</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="InitialRefundAmount" type="orderDetails:PriceIncludingVAT" minOccurs="0">
<xs:annotation>
<xs:documentation>The initial refund amount calculated by CSS</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="FinalRefundAmount" type="orderDetails:PriceIncludingVAT" minOccurs="0">
<xs:annotation>
<xs:documentation>The final refund amount calculated by MAM</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="RefundFee" type="orderDetails:PriceIncludingVAT" minOccurs="0">
<xs:annotation>
<xs:documentation>The fee applicate to refund a product</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="FinalRefundAmountFlag" type="xs:boolean" minOccurs="0">
<xs:annotation>
<xs:documentation>If we have a final refund amount</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="PaymentMeansId" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>The payment means Id (When a Payment Agreement is attached to a media)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="PurseId" type="xs:string" minOccurs="0"/>
</xs:all>
</xs:complexType>
</xs:schema>