Add superset
This commit is contained in:
parent
d1404b2736
commit
d1057513ad
10
build.sh
10
build.sh
@ -5,5 +5,13 @@ helm template valkey https://github.com/valkey-io/valkey-helm/releases/download/
|
|||||||
|
|
||||||
helm template azurite https://github.com/viters/azurite-helm-chart/releases/download/azurite-2.0.0/azurite-2.0.0.tgz --values azurite-values.yaml > sds/base/azurite.yaml
|
helm template azurite https://github.com/viters/azurite-helm-chart/releases/download/azurite-2.0.0/azurite-2.0.0.tgz --values azurite-values.yaml > sds/base/azurite.yaml
|
||||||
|
|
||||||
|
|
||||||
helm template elasticsearch https://github.com/wiremind/wiremind-helm-charts/releases/download/elasticsearch-8.16.0/elasticsearch-8.16.0.tgz --values elasticsearch-values.yaml > sds/base/elasticsearch.yaml
|
helm template elasticsearch https://github.com/wiremind/wiremind-helm-charts/releases/download/elasticsearch-8.16.0/elasticsearch-8.16.0.tgz --values elasticsearch-values.yaml > sds/base/elasticsearch.yaml
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
helm template valkey https://github.com/valkey-io/valkey-helm/releases/download/valkey-0.9.3/valkey-0.9.3.tgz --namespace reports-superset --values valkey-values.yaml > superset/base/valkey.yaml
|
||||||
|
|
||||||
|
helm template superset https://github.com/apache/superset/releases/download/superset-helm-chart-0.15.2/superset-0.15.2.tgz --namespace reports-superset --values superset-values.yaml > superset/base/superset.yaml
|
||||||
|
|
||||||
|
|
||||||
|
docker buildx build --push -t registry.dev.k8s.transcity/reports/superset:5.0.0 superset-image
|
||||||
|
|||||||
@ -20,5 +20,9 @@ resources:
|
|||||||
extraEnvs:
|
extraEnvs:
|
||||||
- name: xpack.security.enabled
|
- name: xpack.security.enabled
|
||||||
value: "false"
|
value: "false"
|
||||||
|
- name: http.cors.enabled
|
||||||
|
value: "true"
|
||||||
|
- name: http.cors.allow-origin
|
||||||
|
value: "*"
|
||||||
secret:
|
secret:
|
||||||
password: GTRNZHCJTiGJ2CfY
|
password: GTRNZHCJTiGJ2CfY
|
||||||
|
|||||||
2
es_elt/.dockerignore
Normal file
2
es_elt/.dockerignore
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
samples/
|
||||||
|
xsd/
|
||||||
3
es_elt/.gitignore
vendored
Normal file
3
es_elt/.gitignore
vendored
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
/samples/
|
||||||
|
__pycache__/
|
||||||
|
/last.json
|
||||||
41
es_elt/Dockerfile
Normal file
41
es_elt/Dockerfile
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
FROM python:3.12-slim AS builder
|
||||||
|
|
||||||
|
COPY --from=ghcr.io/astral-sh/uv:0.8 /uv /bin/
|
||||||
|
|
||||||
|
WORKDIR /app
|
||||||
|
|
||||||
|
ENV UV_LINK_MODE=copy \
|
||||||
|
UV_COMPILE_BYTECODE=1
|
||||||
|
|
||||||
|
RUN uv venv --clear --relocatable /app
|
||||||
|
|
||||||
|
RUN --mount=type=cache,target=/root/.cache/uv \
|
||||||
|
--mount=type=bind,source=uv.lock,target=uv.lock \
|
||||||
|
--mount=type=bind,source=pyproject.toml,target=pyproject.toml \
|
||||||
|
uv sync --locked --no-install-project --no-dev --no-editable
|
||||||
|
|
||||||
|
RUN --mount=type=cache,target=/root/.cache/uv \
|
||||||
|
--mount=type=bind,source=.,target=/usr/src \
|
||||||
|
uv pip install /usr/src
|
||||||
|
|
||||||
|
|
||||||
|
FROM python:3.12-slim
|
||||||
|
|
||||||
|
COPY --from=builder /app /app
|
||||||
|
WORKDIR /app
|
||||||
|
|
||||||
|
COPY settings.toml /app/settings.toml
|
||||||
|
|
||||||
|
RUN mkdir /state /data
|
||||||
|
VOLUME /state
|
||||||
|
|
||||||
|
ENV ELT_ENV=docker \
|
||||||
|
ELT_ELASTICSEARCH_URL=http://elasticsearch:9200/ \
|
||||||
|
ELT_ELASTICSEARCH_USER=elasticsearch \
|
||||||
|
ELT_ELASTICSEARCH_PASSWORD=password
|
||||||
|
|
||||||
|
ENTRYPOINT [ "/app/bin/es-elt" ]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
0
es_elt/README.md
Normal file
0
es_elt/README.md
Normal file
21
es_elt/compose.yaml
Normal file
21
es_elt/compose.yaml
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
name: es
|
||||||
|
|
||||||
|
services:
|
||||||
|
|
||||||
|
elasticsearch:
|
||||||
|
image: docker.elastic.co/elasticsearch/elasticsearch:9.1.3
|
||||||
|
ports:
|
||||||
|
- "9200:9200"
|
||||||
|
- "9300:9300"
|
||||||
|
environment:
|
||||||
|
ES_JAVA_OPTS: "-Xms2g -Xmx2g"
|
||||||
|
ELASTIC_PASSWORD: "password"
|
||||||
|
http.cors.enabled: "true"
|
||||||
|
http.cors.allow-origin: "http://localhost:9800"
|
||||||
|
xpack.security.enabled: "false"
|
||||||
|
discovery.type: single-node
|
||||||
|
|
||||||
|
elasticvue:
|
||||||
|
image: cars10/elasticvue
|
||||||
|
ports:
|
||||||
|
- "9800:8080"
|
||||||
57
es_elt/cronjob.yaml
Normal file
57
es_elt/cronjob.yaml
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
apiVersion: batch/v1
|
||||||
|
kind: CronJob
|
||||||
|
metadata:
|
||||||
|
name: elt-es
|
||||||
|
namespace: transcity-demo-aws-pg
|
||||||
|
spec:
|
||||||
|
schedule: "5 * * * *"
|
||||||
|
concurrencyPolicy: Forbid
|
||||||
|
suspend: false
|
||||||
|
jobTemplate:
|
||||||
|
spec:
|
||||||
|
template:
|
||||||
|
spec:
|
||||||
|
restartPolicy: Never
|
||||||
|
nodeSelector:
|
||||||
|
workload: transcity-pg
|
||||||
|
containers:
|
||||||
|
- name: es-elt
|
||||||
|
image: 767397786784.dkr.ecr.eu-west-3.amazonaws.com/reports/es-elt:0.1.4
|
||||||
|
# args:
|
||||||
|
# - --start-from
|
||||||
|
# - 2026-01-26/00
|
||||||
|
env:
|
||||||
|
- name: ELT_ELASTICSEARCH_URL
|
||||||
|
value: http://elasticsearch-master.reports-sds.svc:9200
|
||||||
|
- name: ELT_ELASTICSEARCH_USER
|
||||||
|
value: elastic
|
||||||
|
- name: ELT_ELASTICSEARCH_PASSWORD
|
||||||
|
value: GTRNZHCJTiGJ2CfY
|
||||||
|
- name: ELT_MAX_WORKERS
|
||||||
|
value: "2"
|
||||||
|
volumeMounts:
|
||||||
|
- name: export
|
||||||
|
mountPath: /data
|
||||||
|
- name: state
|
||||||
|
mountPath: /state
|
||||||
|
volumes:
|
||||||
|
- name: export
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: demo-aws-pg-dih-export
|
||||||
|
- name: state
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: elt-es
|
||||||
|
parallelism: 1
|
||||||
|
backoffLimit: 3
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
metadata:
|
||||||
|
name: elt-es
|
||||||
|
namespace: transcity-demo-aws-pg
|
||||||
|
spec:
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteOnce
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 16Mi
|
||||||
34
es_elt/pyproject.toml
Normal file
34
es_elt/pyproject.toml
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
[project]
|
||||||
|
name = "es-elt"
|
||||||
|
version = "0.1.4"
|
||||||
|
description = "Add your description here"
|
||||||
|
readme = "README.md"
|
||||||
|
authors = [
|
||||||
|
{ name = "Paul-Henry PERRIN", email = "paul-henry.perrin@urbanandmainlines.com" }
|
||||||
|
]
|
||||||
|
requires-python = ">=3.12"
|
||||||
|
dependencies = [
|
||||||
|
"cyclopts>=4.5.0",
|
||||||
|
"dynaconf>=3.2.12",
|
||||||
|
"elasticsearch>=9.2.1",
|
||||||
|
"xsdata-pydantic[cli,lxml]>=24.5",
|
||||||
|
]
|
||||||
|
|
||||||
|
[project.scripts]
|
||||||
|
es-elt = "es_elt:main"
|
||||||
|
|
||||||
|
[build-system]
|
||||||
|
requires = ["uv_build>=0.8.14,<0.9.0"]
|
||||||
|
build-backend = "uv_build"
|
||||||
|
|
||||||
|
[dependency-groups]
|
||||||
|
dev = [
|
||||||
|
"isort>=7.0.0",
|
||||||
|
"ruff>=0.14.13",
|
||||||
|
"taskipy>=1.14.1",
|
||||||
|
]
|
||||||
|
|
||||||
|
[tool.taskipy.tasks]
|
||||||
|
generate = "cd src && ELT_ENV=default uv run xsdata generate --output pydantic --package es_elt.xml --recursive --unnest-classes ../xsd && uv run isort es_elt/xml && uv run ruff format es_elt/xml"
|
||||||
|
package = "docker buildx build -t es-elt:$(uv version --short) ."
|
||||||
|
deploy = "docker buildx build --push -t registry.dev.k8s.transcity/reports/es-elt:$(uv version --short) ."
|
||||||
22
es_elt/settings.toml
Normal file
22
es_elt/settings.toml
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
[global]
|
||||||
|
ingest_device_txn=false
|
||||||
|
ingest_bo_txn=false
|
||||||
|
|
||||||
|
[default]
|
||||||
|
state_file="last.json"
|
||||||
|
include_audit= [ "mam_str_media_consumptions" ]
|
||||||
|
audit_dir = "/tmp"
|
||||||
|
|
||||||
|
|
||||||
|
[docker]
|
||||||
|
state_file="/state/last.json"
|
||||||
|
include_audit= [ "mam_str_media_consumptions" ]
|
||||||
|
audit_dir = "/data"
|
||||||
|
|
||||||
|
|
||||||
|
[dev]
|
||||||
|
state_file="last.json"
|
||||||
|
elasticsearch_url="http://localhost:9200"
|
||||||
|
elasticsearch_user="elasticsearch"
|
||||||
|
include_audit= []
|
||||||
|
audit_dir = "samples"
|
||||||
3
es_elt/src/es_elt/.gitignore
vendored
Normal file
3
es_elt/src/es_elt/.gitignore
vendored
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
|
||||||
|
# Ignore dynaconf secret files
|
||||||
|
.secrets.*
|
||||||
3
es_elt/src/es_elt/__init__.py
Normal file
3
es_elt/src/es_elt/__init__.py
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
from .main import main
|
||||||
|
|
||||||
|
__all__ = ("main",)
|
||||||
BIN
es_elt/src/es_elt/__pycache__/__init__.cpython-312.pyc
Normal file
BIN
es_elt/src/es_elt/__pycache__/__init__.cpython-312.pyc
Normal file
Binary file not shown.
BIN
es_elt/src/es_elt/__pycache__/config.cpython-312.pyc
Normal file
BIN
es_elt/src/es_elt/__pycache__/config.cpython-312.pyc
Normal file
Binary file not shown.
BIN
es_elt/src/es_elt/__pycache__/main.cpython-312.pyc
Normal file
BIN
es_elt/src/es_elt/__pycache__/main.cpython-312.pyc
Normal file
Binary file not shown.
22
es_elt/src/es_elt/config.py
Normal file
22
es_elt/src/es_elt/config.py
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
from pathlib import Path
|
||||||
|
|
||||||
|
from dynaconf import Dynaconf, Validator
|
||||||
|
|
||||||
|
settings = Dynaconf(
|
||||||
|
envvar_prefix="ELT",
|
||||||
|
environments=True,
|
||||||
|
env_switcher="ELT_ENV",
|
||||||
|
settings_files=["settings.toml", ".secrets.toml"],
|
||||||
|
validators=[
|
||||||
|
Validator(
|
||||||
|
"include_audit",
|
||||||
|
cast=lambda v: (v.split(",") if isinstance(v, str) else v),
|
||||||
|
default=[],
|
||||||
|
),
|
||||||
|
Validator("audit_dir", cast=lambda p: Path(p), condition=lambda p: p.is_dir()),
|
||||||
|
Validator("max_workers", cast=int),
|
||||||
|
],
|
||||||
|
)
|
||||||
|
|
||||||
|
# `envvar_prefix` = export envvars with `export DYNACONF_FOO=bar`.
|
||||||
|
# `settings_files` = Load these files in the order.
|
||||||
345
es_elt/src/es_elt/main.py
Normal file
345
es_elt/src/es_elt/main.py
Normal file
@ -0,0 +1,345 @@
|
|||||||
|
import importlib
|
||||||
|
import json
|
||||||
|
import pkgutil
|
||||||
|
import re
|
||||||
|
import time
|
||||||
|
from concurrent.futures import ProcessPoolExecutor, wait
|
||||||
|
from pathlib import Path
|
||||||
|
|
||||||
|
# from pprint import pprint
|
||||||
|
from typing import Any
|
||||||
|
|
||||||
|
import cyclopts
|
||||||
|
from elasticsearch import BadRequestError, Elasticsearch, helpers
|
||||||
|
from xsdata_pydantic.bindings import XmlParser
|
||||||
|
|
||||||
|
import es_elt.xml as xml
|
||||||
|
|
||||||
|
from .config import settings
|
||||||
|
|
||||||
|
## Generation:
|
||||||
|
## uv run xsdata generate --output pydantic --package es_elt.xml --recursive --unnest-classes ../xsd
|
||||||
|
|
||||||
|
## Import all modules generated by xsd
|
||||||
|
models = [
|
||||||
|
importlib.import_module(pkg.name)
|
||||||
|
for pkg in pkgutil.walk_packages(xml.__path__, prefix=xml.__name__ + ".")
|
||||||
|
if not pkg.ispkg
|
||||||
|
]
|
||||||
|
|
||||||
|
## Associate xml namespace to top level generated class
|
||||||
|
audit_class = {
|
||||||
|
getattr(module, "__NAMESPACE__"): getattr(module, "AuditMessages")
|
||||||
|
for module in models
|
||||||
|
if hasattr(module, "__NAMESPACE__") and hasattr(module, "AuditMessages")
|
||||||
|
}
|
||||||
|
|
||||||
|
## pprint(audit_class)
|
||||||
|
|
||||||
|
re_ifsng = re.compile(r"^(X-)?[Ii]fsng-")
|
||||||
|
re_camel_case = re.compile(r"[a-z][A-Z]")
|
||||||
|
|
||||||
|
|
||||||
|
def clean_header(header: str):
|
||||||
|
# print(header)
|
||||||
|
h = re_ifsng.sub("", header)
|
||||||
|
h = h.replace("-", "_")
|
||||||
|
h = re_camel_case.sub(lambda x: f"{x.group()[0]}_{x.group()[1].lower()}", h)
|
||||||
|
return h
|
||||||
|
|
||||||
|
|
||||||
|
def to_document[T](audit: T) -> dict[str, Any]:
|
||||||
|
headers = {clean_header(elt.qname): elt.text for elt in audit.headers.any_element}
|
||||||
|
document = audit.model_dump(mode="json")
|
||||||
|
document["headers"] = headers
|
||||||
|
return document
|
||||||
|
|
||||||
|
|
||||||
|
def to_index_action(document, index: str):
|
||||||
|
action = {
|
||||||
|
"_index": index,
|
||||||
|
"_id": document["headers"]["msg_id"],
|
||||||
|
"_source": document,
|
||||||
|
}
|
||||||
|
return action
|
||||||
|
|
||||||
|
|
||||||
|
def list_days_after(
|
||||||
|
root: Path, start_day: str = None, stop_day: str = None
|
||||||
|
) -> list[Path]:
|
||||||
|
start_day = start_day or "0000-00-00"
|
||||||
|
stop_day = stop_day or "9999-99-99"
|
||||||
|
days = sorted(p for p in root.glob("????-??-??") if start_day <= p.name <= stop_day)
|
||||||
|
return days
|
||||||
|
|
||||||
|
|
||||||
|
def list_hours_after(
|
||||||
|
day: Path, start_hour: str = None, stop_hour: str = None
|
||||||
|
) -> list[Path]:
|
||||||
|
start_hour = start_hour or "00"
|
||||||
|
stop_hour = stop_hour or "99"
|
||||||
|
hours = sorted(p for p in day.glob("??") if start_hour <= p.name <= stop_hour)
|
||||||
|
return hours
|
||||||
|
|
||||||
|
|
||||||
|
include_audit = set(settings.include_audit or [])
|
||||||
|
|
||||||
|
|
||||||
|
def list_audit_types(hour: Path) -> list[Path]:
|
||||||
|
return list(
|
||||||
|
audit_dir
|
||||||
|
for audit_dir in (hour / "auditData").glob("*")
|
||||||
|
if (audit_dir.name in include_audit if include_audit else True)
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def list_txn_device(hour: Path) -> list[Path]:
|
||||||
|
return list((hour / "txn" / "device").glob("*/*"))
|
||||||
|
|
||||||
|
|
||||||
|
def list_txn_bo(hour: Path) -> list[Path]:
|
||||||
|
return list((hour / "txn" / "bo").glob("*/*"))
|
||||||
|
|
||||||
|
|
||||||
|
def ingest_file(es: Elasticsearch, audit_dir: Path, index_name: str) -> None:
|
||||||
|
def get_namespace():
|
||||||
|
ns_rx = re.compile(
|
||||||
|
r'\<([^:>]+:)?AuditMessages.*xmlns(:[^ =]+)? *= *"(?P<ns>[^"]*)"'
|
||||||
|
)
|
||||||
|
|
||||||
|
sample = next(audit_dir.glob("*.xml"))
|
||||||
|
with sample.open("r") as sample_stream:
|
||||||
|
header = sample_stream.read(512)
|
||||||
|
|
||||||
|
if match := ns_rx.search(header):
|
||||||
|
return match.groupdict()["ns"]
|
||||||
|
|
||||||
|
return None
|
||||||
|
|
||||||
|
parser = XmlParser()
|
||||||
|
|
||||||
|
ns = get_namespace()
|
||||||
|
if ns is None:
|
||||||
|
print("Unable to find namespace")
|
||||||
|
return
|
||||||
|
message_class = audit_class[ns]
|
||||||
|
|
||||||
|
try:
|
||||||
|
# Check if index exists silently
|
||||||
|
# if not es.indices.exists(index="pom_orders_post"):
|
||||||
|
es.indices.create(index=index_name)
|
||||||
|
|
||||||
|
except BadRequestError as ex:
|
||||||
|
if ex.error != "resource_already_exists_exception":
|
||||||
|
raise
|
||||||
|
# print(f"Index {index_name} already exists")
|
||||||
|
|
||||||
|
fail_doc = []
|
||||||
|
|
||||||
|
def generate_document():
|
||||||
|
for xml_file in audit_dir.glob("*"):
|
||||||
|
# print(xml_file)
|
||||||
|
with xml_file.open("rb") as input_stream:
|
||||||
|
try:
|
||||||
|
result = parser.parse(input_stream, message_class)
|
||||||
|
# print(result)
|
||||||
|
for audit in result.audit_message:
|
||||||
|
yield to_index_action(to_document(audit), index_name)
|
||||||
|
except Exception as ex:
|
||||||
|
# print(f"Failed to read {xml_file}: {ex}, skipping")
|
||||||
|
# import traceback
|
||||||
|
# traceback.print_exception(ex)
|
||||||
|
fail_doc.append(
|
||||||
|
{
|
||||||
|
"_index": "error-ingestion-parsing",
|
||||||
|
"_id": xml_file.name,
|
||||||
|
"error": str(ex),
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
start_time = time.monotonic()
|
||||||
|
succeeded, failed = helpers.bulk(
|
||||||
|
es,
|
||||||
|
generate_document(),
|
||||||
|
raise_on_error=False,
|
||||||
|
max_retries=3,
|
||||||
|
initial_backoff=2,
|
||||||
|
)
|
||||||
|
duration = int(time.monotonic() - start_time) or 1
|
||||||
|
print(
|
||||||
|
f"{audit_dir} {index_name} {succeeded} inserted, failures: {len(failed)} in {duration // 60}m{duration % 60}s, ({(succeeded + len(failed)) / duration:.2f} records/s)"
|
||||||
|
)
|
||||||
|
|
||||||
|
if fail_doc:
|
||||||
|
helpers.bulk(
|
||||||
|
es,
|
||||||
|
fail_doc,
|
||||||
|
raise_on_error=False,
|
||||||
|
max_retries=3,
|
||||||
|
initial_backoff=2,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def ingest_dir(ingest_dir, index_name):
|
||||||
|
es = Elasticsearch(
|
||||||
|
settings.elasticsearch_url,
|
||||||
|
basic_auth=(settings.elasticsearch_user, settings.elasticsearch_password),
|
||||||
|
)
|
||||||
|
|
||||||
|
try:
|
||||||
|
es.indices.create(index="error-ingestion-parsing")
|
||||||
|
|
||||||
|
except BadRequestError as ex:
|
||||||
|
if ex.error != "resource_already_exists_exception":
|
||||||
|
raise
|
||||||
|
try:
|
||||||
|
es.indices.create(index="error-ingestion-insert")
|
||||||
|
|
||||||
|
except BadRequestError as ex:
|
||||||
|
if ex.error != "resource_already_exists_exception":
|
||||||
|
raise
|
||||||
|
|
||||||
|
try:
|
||||||
|
ingest_file(es, ingest_dir, index_name)
|
||||||
|
except Exception as ex:
|
||||||
|
print(f"Failed: {ingest_dir.name} {ex}")
|
||||||
|
|
||||||
|
|
||||||
|
def ingest(
|
||||||
|
*,
|
||||||
|
start_from: str | None = None,
|
||||||
|
stop_at: str | None = None,
|
||||||
|
single: str | None = None,
|
||||||
|
) -> None:
|
||||||
|
"""Load audit xml files in ElasticSearch
|
||||||
|
|
||||||
|
Parameters
|
||||||
|
----------
|
||||||
|
start_from
|
||||||
|
Start ingestion from this date/hour YYYY-MM-DD[/HH].
|
||||||
|
stop_at
|
||||||
|
Last date / hour to ingest YYYY-MM-DD[/HH].
|
||||||
|
single
|
||||||
|
Load only this directory YYYY-MM-DD[/HH].
|
||||||
|
"""
|
||||||
|
|
||||||
|
state_file = Path(settings.state_file)
|
||||||
|
|
||||||
|
if state_file.is_file():
|
||||||
|
state = json.loads(state_file.read_text())
|
||||||
|
|
||||||
|
start_day = state["last_day"]
|
||||||
|
start_hour = state["last_hour"]
|
||||||
|
else:
|
||||||
|
start_day = None
|
||||||
|
start_hour = None
|
||||||
|
|
||||||
|
if single:
|
||||||
|
start_from = stop_at = single
|
||||||
|
|
||||||
|
if start_from:
|
||||||
|
if "/" in start_from:
|
||||||
|
start_day, _, start_hour = start_from.partition("/")
|
||||||
|
else:
|
||||||
|
start_day = start_from
|
||||||
|
start_hour = None
|
||||||
|
|
||||||
|
if stop_at:
|
||||||
|
if "/" in stop_at:
|
||||||
|
stop_day, _, stop_hour = stop_at.partition("/")
|
||||||
|
else:
|
||||||
|
stop_day = stop_at
|
||||||
|
stop_hour = None
|
||||||
|
else:
|
||||||
|
stop_day = None
|
||||||
|
stop_hour = None
|
||||||
|
|
||||||
|
file_root = settings.audit_dir
|
||||||
|
|
||||||
|
es = Elasticsearch(
|
||||||
|
settings.elasticsearch_url,
|
||||||
|
basic_auth=(settings.elasticsearch_user, settings.elasticsearch_password),
|
||||||
|
)
|
||||||
|
if not es.ping():
|
||||||
|
print("ElasticSearch not reachable")
|
||||||
|
return
|
||||||
|
|
||||||
|
print(
|
||||||
|
f"Ingest files from {file_root}/{start_day or '<earliest>'}/{start_hour or '00'} to {file_root}/{stop_day or '<latest>'}/{stop_hour or '23'} in {settings.elasticsearch_url}"
|
||||||
|
)
|
||||||
|
|
||||||
|
hour_dirs = sorted(
|
||||||
|
[
|
||||||
|
hour
|
||||||
|
for day in list_days_after(file_root, start_day, stop_day)
|
||||||
|
for hour in list_hours_after(
|
||||||
|
day,
|
||||||
|
start_hour if day.name == (start_day or "0000-00-00") else None,
|
||||||
|
stop_hour if day.name == (stop_day or "0000-00-00") else None,
|
||||||
|
)
|
||||||
|
]
|
||||||
|
)
|
||||||
|
|
||||||
|
print("Will process:")
|
||||||
|
for h in hour_dirs:
|
||||||
|
print(f" {h}")
|
||||||
|
|
||||||
|
audit_dirs = [
|
||||||
|
audit_type for hour in hour_dirs for audit_type in list_audit_types(hour)
|
||||||
|
]
|
||||||
|
|
||||||
|
txn_devices_dirs = [
|
||||||
|
txn_device for hour in hour_dirs for txn_device in list_txn_device(hour)
|
||||||
|
]
|
||||||
|
|
||||||
|
txn_bo_dirs = [txn_bo for hour in hour_dirs for txn_bo in list_txn_bo(hour)]
|
||||||
|
|
||||||
|
with ProcessPoolExecutor(max_workers=settings.get("max_workers")) as pool:
|
||||||
|
futures = (
|
||||||
|
[
|
||||||
|
pool.submit(
|
||||||
|
ingest_dir, audit_dir, f"audit-{audit_dir.name.replace('_', '-')}"
|
||||||
|
)
|
||||||
|
for audit_dir in audit_dirs
|
||||||
|
]
|
||||||
|
+ (
|
||||||
|
[
|
||||||
|
pool.submit(
|
||||||
|
ingest_dir,
|
||||||
|
txn_device_dir,
|
||||||
|
f"txn-device-{txn_device_dir.name.lower().replace('_', '-')}",
|
||||||
|
)
|
||||||
|
for txn_device_dir in txn_devices_dirs
|
||||||
|
]
|
||||||
|
if settings.ingest_device_txn
|
||||||
|
else []
|
||||||
|
)
|
||||||
|
+ (
|
||||||
|
[
|
||||||
|
pool.submit(
|
||||||
|
ingest_dir,
|
||||||
|
txn_bo_dir,
|
||||||
|
f"txn-bo-{txn_bo_dir.name.lower().replace('_', '-')}",
|
||||||
|
)
|
||||||
|
for txn_bo_dir in txn_bo_dirs
|
||||||
|
]
|
||||||
|
if settings.ingest_bo_txn
|
||||||
|
else []
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
done, not_done = wait(futures)
|
||||||
|
# pprint([d.result() for d in done])
|
||||||
|
|
||||||
|
if hour_dirs:
|
||||||
|
last_dir = hour_dirs[-1]
|
||||||
|
last_day = last_dir.parts[-2]
|
||||||
|
last_hour = last_dir.parts[-1]
|
||||||
|
|
||||||
|
state_file.write_text(
|
||||||
|
json.dumps({"last_day": last_day, "last_hour": last_hour})
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def main() -> None:
|
||||||
|
cyclopts.run(ingest)
|
||||||
1
es_elt/src/es_elt/xml/__init__.py
Normal file
1
es_elt/src/es_elt/xml/__init__.py
Normal file
@ -0,0 +1 @@
|
|||||||
|
# nothing here
|
||||||
BIN
es_elt/src/es_elt/xml/__pycache__/__init__.cpython-312.pyc
Normal file
BIN
es_elt/src/es_elt/xml/__pycache__/__init__.cpython-312.pyc
Normal file
Binary file not shown.
1
es_elt/src/es_elt/xml/audit_data/__init__.py
Normal file
1
es_elt/src/es_elt/xml/audit_data/__init__.py
Normal file
@ -0,0 +1 @@
|
|||||||
|
# nothing here
|
||||||
Binary file not shown.
35
es_elt/src/es_elt/xml/audit_data/acm/__init__.py
Normal file
35
es_elt/src/es_elt/xml/audit_data/acm/__init__.py
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
from es_elt.xml.audit_data.acm.user_group import ActionStatus
|
||||||
|
from es_elt.xml.audit_data.acm.user_group import AuditMessages as GroupAuditMessages
|
||||||
|
from es_elt.xml.audit_data.acm.user_group import (
|
||||||
|
AuditMessagesType as GroupAuditMessagesType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.acm.user_group import (
|
||||||
|
AuditMessageType as GroupAuditMessageType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.acm.user_group import UserGroupAuditExchange
|
||||||
|
from es_elt.xml.audit_data.acm.user_login import AuditMessages as LoginAuditMessages
|
||||||
|
from es_elt.xml.audit_data.acm.user_login import (
|
||||||
|
AuditMessagesType as LoginAuditMessagesType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.acm.user_login import (
|
||||||
|
AuditMessageType as LoginAuditMessageType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.acm.user_login import (
|
||||||
|
ConnexionStatus,
|
||||||
|
UserLoginAuditExchange,
|
||||||
|
UserLoginAuditExchangeUserGroups,
|
||||||
|
)
|
||||||
|
|
||||||
|
__all__ = [
|
||||||
|
"ActionStatus",
|
||||||
|
"GroupAuditMessageType",
|
||||||
|
"GroupAuditMessages",
|
||||||
|
"GroupAuditMessagesType",
|
||||||
|
"UserGroupAuditExchange",
|
||||||
|
"LoginAuditMessageType",
|
||||||
|
"LoginAuditMessages",
|
||||||
|
"LoginAuditMessagesType",
|
||||||
|
"ConnexionStatus",
|
||||||
|
"UserLoginAuditExchange",
|
||||||
|
"UserLoginAuditExchangeUserGroups",
|
||||||
|
]
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
108
es_elt/src/es_elt/xml/audit_data/acm/user_group.py
Normal file
108
es_elt/src/es_elt/xml/audit_data/acm/user_group.py
Normal file
@ -0,0 +1,108 @@
|
|||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from enum import Enum
|
||||||
|
|
||||||
|
from pydantic import BaseModel, ConfigDict
|
||||||
|
from xsdata.models.datatype import XmlDateTime
|
||||||
|
from xsdata_pydantic.fields import field
|
||||||
|
|
||||||
|
from es_elt.xml.common.headers import HeadersType
|
||||||
|
|
||||||
|
__NAMESPACE__ = "http://www.thales.dc/UserGroup"
|
||||||
|
|
||||||
|
|
||||||
|
class ActionStatus(Enum):
|
||||||
|
ADDED = "ADDED"
|
||||||
|
UPDATED = "UPDATED"
|
||||||
|
DELETED = "DELETED"
|
||||||
|
|
||||||
|
|
||||||
|
class UserGroupAuditExchange(BaseModel):
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
date: None | XmlDateTime = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "Date",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
user_group_name: None | str = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "UserGroupName",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
user_group_id: None | int = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "UserGroupId",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
user_id: None | str = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "UserId",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
status: ActionStatus = field(
|
||||||
|
metadata={
|
||||||
|
"name": "Status",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class AuditMessageType(BaseModel):
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
headers: None | HeadersType = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "Headers",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
payload: UserGroupAuditExchange = field(
|
||||||
|
metadata={
|
||||||
|
"name": "Payload",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class AuditMessagesType(BaseModel):
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
audit_message: list[AuditMessageType] = field(
|
||||||
|
default_factory=list,
|
||||||
|
metadata={
|
||||||
|
"name": "AuditMessage",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
user_group_xsd_version: str = field(
|
||||||
|
const=True,
|
||||||
|
default="1.0",
|
||||||
|
metadata={
|
||||||
|
"name": "UserGroupXsdVersion",
|
||||||
|
"type": "Attribute",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class AuditMessages(AuditMessagesType):
|
||||||
|
class Meta:
|
||||||
|
namespace = "http://www.thales.dc/UserGroup"
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
130
es_elt/src/es_elt/xml/audit_data/acm/user_login.py
Normal file
130
es_elt/src/es_elt/xml/audit_data/acm/user_login.py
Normal file
@ -0,0 +1,130 @@
|
|||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from enum import Enum
|
||||||
|
|
||||||
|
from pydantic import BaseModel, ConfigDict
|
||||||
|
from xsdata.models.datatype import XmlDateTime
|
||||||
|
from xsdata_pydantic.fields import field
|
||||||
|
|
||||||
|
from es_elt.xml.common.headers import HeadersType
|
||||||
|
|
||||||
|
__NAMESPACE__ = "http://www.thales.dc/UserLogin"
|
||||||
|
|
||||||
|
|
||||||
|
class ConnexionStatus(Enum):
|
||||||
|
SUCCESS = "SUCCESS"
|
||||||
|
FAILED = "FAILED"
|
||||||
|
|
||||||
|
|
||||||
|
class UserLoginAuditExchangeUserGroups(BaseModel):
|
||||||
|
class Meta:
|
||||||
|
global_type = False
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
user_group: list[str] = field(
|
||||||
|
default_factory=list,
|
||||||
|
metadata={
|
||||||
|
"name": "UserGroup",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class UserLoginAuditExchange(BaseModel):
|
||||||
|
"""
|
||||||
|
:ivar date:
|
||||||
|
:ivar user_id:
|
||||||
|
:ivar realm:
|
||||||
|
:ivar result:
|
||||||
|
:ivar user_groups: List of userGroups associated to user
|
||||||
|
"""
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
date: None | XmlDateTime = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "Date",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
user_id: None | str = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "UserId",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
realm: None | str = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "Realm",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
result: ConnexionStatus = field(
|
||||||
|
metadata={
|
||||||
|
"name": "Result",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
user_groups: None | UserLoginAuditExchangeUserGroups = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "UserGroups",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class AuditMessageType(BaseModel):
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
headers: None | HeadersType = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "Headers",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
payload: None | UserLoginAuditExchange = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "Payload",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class AuditMessagesType(BaseModel):
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
audit_message: list[AuditMessageType] = field(
|
||||||
|
default_factory=list,
|
||||||
|
metadata={
|
||||||
|
"name": "AuditMessage",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
user_login_xsd_version: str = field(
|
||||||
|
const=True,
|
||||||
|
default="1.0",
|
||||||
|
metadata={
|
||||||
|
"name": "UserLoginXsdVersion",
|
||||||
|
"type": "Attribute",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class AuditMessages(AuditMessagesType):
|
||||||
|
class Meta:
|
||||||
|
namespace = "http://www.thales.dc/UserLogin"
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
17
es_elt/src/es_elt/xml/audit_data/alm/__init__.py
Normal file
17
es_elt/src/es_elt/xml/audit_data/alm/__init__.py
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
from es_elt.xml.audit_data.alm.action_list import (
|
||||||
|
ActionEntryStatus,
|
||||||
|
ActionEntryType,
|
||||||
|
ActionListAuditExchange,
|
||||||
|
AuditMessages,
|
||||||
|
AuditMessagesType,
|
||||||
|
AuditMessageType,
|
||||||
|
)
|
||||||
|
|
||||||
|
__all__ = [
|
||||||
|
"ActionEntryStatus",
|
||||||
|
"ActionEntryType",
|
||||||
|
"ActionListAuditExchange",
|
||||||
|
"AuditMessageType",
|
||||||
|
"AuditMessages",
|
||||||
|
"AuditMessagesType",
|
||||||
|
]
|
||||||
Binary file not shown.
Binary file not shown.
162
es_elt/src/es_elt/xml/audit_data/alm/action_list.py
Normal file
162
es_elt/src/es_elt/xml/audit_data/alm/action_list.py
Normal file
@ -0,0 +1,162 @@
|
|||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from enum import Enum
|
||||||
|
|
||||||
|
from pydantic import BaseModel, ConfigDict
|
||||||
|
from xsdata.models.datatype import XmlDateTime
|
||||||
|
from xsdata_pydantic.fields import field
|
||||||
|
|
||||||
|
from es_elt.xml.common.headers import HeadersType
|
||||||
|
|
||||||
|
__NAMESPACE__ = "http://www.thales.dc/ActionList"
|
||||||
|
|
||||||
|
|
||||||
|
class ActionEntryStatus(Enum):
|
||||||
|
INITIALIZED = "INITIALIZED"
|
||||||
|
COMPLETED = "COMPLETED"
|
||||||
|
CANCELLED = "CANCELLED"
|
||||||
|
|
||||||
|
|
||||||
|
class ActionEntryType(Enum):
|
||||||
|
APPLICATION_ACTIVATION = "APPLICATION_ACTIVATION"
|
||||||
|
APPLICATION_UNBLOCKING = "APPLICATION_UNBLOCKING"
|
||||||
|
HOLDER_PROFILE_UPDATE = "HOLDER_PROFILE_UPDATE"
|
||||||
|
PURSE_RELOAD = "PURSE_RELOAD"
|
||||||
|
PURSE_DEBIT = "PURSE_DEBIT"
|
||||||
|
CONTRACT_SALE = "CONTRACT_SALE"
|
||||||
|
CONTRACT_UNBLOCKING = "CONTRACT_UNBLOCKING"
|
||||||
|
|
||||||
|
|
||||||
|
class ActionListAuditExchange(BaseModel):
|
||||||
|
"""
|
||||||
|
:ivar action_entry_status: Dictionary prefix: ActionEntryStatus
|
||||||
|
:ivar action_entry_type: Dictionary prefix: ActionEntryType
|
||||||
|
:ivar execution_date:
|
||||||
|
:ivar expiry_date:
|
||||||
|
:ivar media_id:
|
||||||
|
:ivar media_serial_number:
|
||||||
|
:ivar media_type_id:
|
||||||
|
:ivar submission_date:
|
||||||
|
:ivar system_action_number:
|
||||||
|
"""
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
action_entry_status: None | ActionEntryStatus = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "ActionEntryStatus",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
action_entry_type: None | ActionEntryType = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "ActionEntryType",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
execution_date: None | XmlDateTime = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "ExecutionDate",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
expiry_date: None | XmlDateTime = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "ExpiryDate",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
media_id: None | str = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "MediaId",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
media_serial_number: None | str = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "MediaSerialNumber",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
media_type_id: None | int = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "MediaTypeId",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
submission_date: None | XmlDateTime = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "SubmissionDate",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
system_action_number: None | str = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "SystemActionNumber",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class AuditMessageType(BaseModel):
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
headers: None | HeadersType = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "Headers",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
payload: ActionListAuditExchange = field(
|
||||||
|
metadata={
|
||||||
|
"name": "Payload",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class AuditMessagesType(BaseModel):
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
audit_message: list[AuditMessageType] = field(
|
||||||
|
default_factory=list,
|
||||||
|
metadata={
|
||||||
|
"name": "AuditMessage",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
action_list_xsd_version: str = field(
|
||||||
|
const=True,
|
||||||
|
default="1.0",
|
||||||
|
metadata={
|
||||||
|
"name": "ActionListXsdVersion",
|
||||||
|
"type": "Attribute",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class AuditMessages(AuditMessagesType):
|
||||||
|
class Meta:
|
||||||
|
namespace = "http://www.thales.dc/ActionList"
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
73
es_elt/src/es_elt/xml/audit_data/bpm/__init__.py
Normal file
73
es_elt/src/es_elt/xml/audit_data/bpm/__init__.py
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
from es_elt.xml.audit_data.bpm.configuration_parameters import (
|
||||||
|
AuditMessages as ConfigurationParametersAuditMessages,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.bpm.configuration_parameters import (
|
||||||
|
AuditMessagesType as ConfigurationParametersAuditMessagesType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.bpm.configuration_parameters import (
|
||||||
|
AuditMessageType as ConfigurationParametersAuditMessageType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.bpm.configuration_parameters import (
|
||||||
|
ConfigurationParametersAuditExchange,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.bpm.ticketing_conf_item_creation import (
|
||||||
|
AuditMessages as TicketingConfItemCreationAuditMessages,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.bpm.ticketing_conf_item_creation import (
|
||||||
|
AuditMessagesType as TicketingConfItemCreationAuditMessagesType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.bpm.ticketing_conf_item_creation import (
|
||||||
|
AuditMessageType as TicketingConfItemCreationAuditMessageType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.bpm.ticketing_conf_item_creation import (
|
||||||
|
TicketingConfItemCreationAuditExchange,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.bpm.ticketing_set_creation import (
|
||||||
|
AuditMessages as SetAuditMessages,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.bpm.ticketing_set_creation import (
|
||||||
|
AuditMessagesType as SetAuditMessagesType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.bpm.ticketing_set_creation import (
|
||||||
|
AuditMessageType as SetAuditMessageType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.bpm.ticketing_set_creation import (
|
||||||
|
ConfItem,
|
||||||
|
ConfItems,
|
||||||
|
TicketingSetCreationAuditExchange,
|
||||||
|
TicketingSetValidationStatus,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.bpm.ticketing_set_publish import (
|
||||||
|
AuditMessages as PublishAuditMessages,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.bpm.ticketing_set_publish import (
|
||||||
|
AuditMessagesType as PublishAuditMessagesType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.bpm.ticketing_set_publish import (
|
||||||
|
AuditMessageType as PublishAuditMessageType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.bpm.ticketing_set_publish import (
|
||||||
|
TicketingSetPublishAuditExchange,
|
||||||
|
)
|
||||||
|
|
||||||
|
__all__ = [
|
||||||
|
"ConfigurationParametersAuditMessageType",
|
||||||
|
"ConfigurationParametersAuditMessages",
|
||||||
|
"ConfigurationParametersAuditMessagesType",
|
||||||
|
"ConfigurationParametersAuditExchange",
|
||||||
|
"TicketingConfItemCreationAuditMessageType",
|
||||||
|
"TicketingConfItemCreationAuditMessages",
|
||||||
|
"TicketingConfItemCreationAuditMessagesType",
|
||||||
|
"TicketingConfItemCreationAuditExchange",
|
||||||
|
"SetAuditMessageType",
|
||||||
|
"SetAuditMessages",
|
||||||
|
"SetAuditMessagesType",
|
||||||
|
"ConfItem",
|
||||||
|
"ConfItems",
|
||||||
|
"TicketingSetCreationAuditExchange",
|
||||||
|
"TicketingSetValidationStatus",
|
||||||
|
"PublishAuditMessageType",
|
||||||
|
"PublishAuditMessages",
|
||||||
|
"PublishAuditMessagesType",
|
||||||
|
"TicketingSetPublishAuditExchange",
|
||||||
|
]
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
116
es_elt/src/es_elt/xml/audit_data/bpm/configuration_parameters.py
Normal file
116
es_elt/src/es_elt/xml/audit_data/bpm/configuration_parameters.py
Normal file
@ -0,0 +1,116 @@
|
|||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from pydantic import BaseModel, ConfigDict
|
||||||
|
from xsdata.models.datatype import XmlDateTime
|
||||||
|
from xsdata_pydantic.fields import field
|
||||||
|
|
||||||
|
from es_elt.xml.common.headers import HeadersType
|
||||||
|
|
||||||
|
__NAMESPACE__ = "http://www.thales.dc/ConfigurationParameters"
|
||||||
|
|
||||||
|
|
||||||
|
class ConfigurationParametersAuditExchange(BaseModel):
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
operator_id: str = field(
|
||||||
|
metadata={
|
||||||
|
"name": "OperatorId",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
creation_date_time: XmlDateTime = field(
|
||||||
|
metadata={
|
||||||
|
"name": "CreationDateTime",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
activation_date_time: None | XmlDateTime = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "ActivationDateTime",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
filename: str = field(
|
||||||
|
metadata={
|
||||||
|
"name": "Filename",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
identifier_version: str = field(
|
||||||
|
metadata={
|
||||||
|
"name": "IdentifierVersion",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
type_value: str = field(
|
||||||
|
metadata={
|
||||||
|
"name": "Type",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
content: str = field(
|
||||||
|
metadata={
|
||||||
|
"name": "Content",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class AuditMessageType(BaseModel):
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
headers: None | HeadersType = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "Headers",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
payload: ConfigurationParametersAuditExchange = field(
|
||||||
|
metadata={
|
||||||
|
"name": "Payload",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class AuditMessagesType(BaseModel):
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
audit_message: list[AuditMessageType] = field(
|
||||||
|
default_factory=list,
|
||||||
|
metadata={
|
||||||
|
"name": "AuditMessage",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
configuration_parameters_xsd_version: str = field(
|
||||||
|
const=True,
|
||||||
|
default="1.0",
|
||||||
|
metadata={
|
||||||
|
"name": "ConfigurationParametersXsdVersion",
|
||||||
|
"type": "Attribute",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class AuditMessages(AuditMessagesType):
|
||||||
|
class Meta:
|
||||||
|
namespace = "http://www.thales.dc/ConfigurationParameters"
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
@ -0,0 +1,113 @@
|
|||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from pydantic import BaseModel, ConfigDict
|
||||||
|
from xsdata.models.datatype import XmlDateTime
|
||||||
|
from xsdata_pydantic.fields import field
|
||||||
|
|
||||||
|
from es_elt.xml.common.headers import HeadersType
|
||||||
|
|
||||||
|
__NAMESPACE__ = "http://www.thales.dc/TicketingConfItemCreation"
|
||||||
|
|
||||||
|
|
||||||
|
class TicketingConfItemCreationAuditExchange(BaseModel):
|
||||||
|
"""
|
||||||
|
bpm_ticketing_configurationItem_post: At business parameters
|
||||||
|
configuration item creation.
|
||||||
|
"""
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
conf_item_type: str = field(
|
||||||
|
metadata={
|
||||||
|
"name": "ConfItemType",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
creation_date_time: XmlDateTime = field(
|
||||||
|
metadata={
|
||||||
|
"name": "CreationDateTime",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
hash: str = field(
|
||||||
|
metadata={
|
||||||
|
"name": "Hash",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
identifier_version: str = field(
|
||||||
|
metadata={
|
||||||
|
"name": "IdentifierVersion",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
parameters_type: str = field(
|
||||||
|
metadata={
|
||||||
|
"name": "ParametersType",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
ticketing_conf_item_id: str = field(
|
||||||
|
metadata={
|
||||||
|
"name": "TicketingConfItemId",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class AuditMessageType(BaseModel):
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
headers: None | HeadersType = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "Headers",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
payload: TicketingConfItemCreationAuditExchange = field(
|
||||||
|
metadata={
|
||||||
|
"name": "Payload",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class AuditMessagesType(BaseModel):
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
audit_message: list[AuditMessageType] = field(
|
||||||
|
default_factory=list,
|
||||||
|
metadata={
|
||||||
|
"name": "AuditMessage",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
ticketing_conf_item_creation_xsd_version: str = field(
|
||||||
|
const=True,
|
||||||
|
default="1.0",
|
||||||
|
metadata={
|
||||||
|
"name": "TicketingConfItemCreationXsdVersion",
|
||||||
|
"type": "Attribute",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class AuditMessages(AuditMessagesType):
|
||||||
|
class Meta:
|
||||||
|
namespace = "http://www.thales.dc/TicketingConfItemCreation"
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
183
es_elt/src/es_elt/xml/audit_data/bpm/ticketing_set_creation.py
Normal file
183
es_elt/src/es_elt/xml/audit_data/bpm/ticketing_set_creation.py
Normal file
@ -0,0 +1,183 @@
|
|||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from enum import Enum
|
||||||
|
|
||||||
|
from pydantic import BaseModel, ConfigDict
|
||||||
|
from xsdata.models.datatype import XmlDateTime
|
||||||
|
from xsdata_pydantic.fields import field
|
||||||
|
|
||||||
|
from es_elt.xml.common.headers import HeadersType
|
||||||
|
|
||||||
|
__NAMESPACE__ = "http://www.thales.dc/TicketingSetCreation"
|
||||||
|
|
||||||
|
|
||||||
|
class ConfItem(BaseModel):
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
conf_item_id: str = field(
|
||||||
|
metadata={
|
||||||
|
"name": "ConfItemId",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
identifier_version: None | str = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "IdentifierVersion",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class TicketingSetValidationStatus(Enum):
|
||||||
|
DRAFT = "DRAFT"
|
||||||
|
APPROVED = "APPROVED"
|
||||||
|
REJECTED = "REJECTED"
|
||||||
|
DEPLOYED = "DEPLOYED"
|
||||||
|
|
||||||
|
|
||||||
|
class ConfItems(BaseModel):
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
conf_item: list[ConfItem] = field(
|
||||||
|
default_factory=list,
|
||||||
|
metadata={
|
||||||
|
"name": "ConfItem",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"min_occurs": 1,
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class TicketingSetCreationAuditExchange(BaseModel):
|
||||||
|
"""
|
||||||
|
bpm_ticketing_set_approve_post: On approval of ticketing set by an
|
||||||
|
operator bpm_ticketing_set_reject_post: On rejection of ticketing set
|
||||||
|
by an operator bpm_ticketing_set_deploy_post: On deployment of
|
||||||
|
ticketing set by an operator bpm_ticketing_set_post: Creation of a
|
||||||
|
ticketing set.
|
||||||
|
|
||||||
|
:ivar activation_date_time:
|
||||||
|
:ivar creation_date_time:
|
||||||
|
:ivar update_date_time:
|
||||||
|
:ivar hash:
|
||||||
|
:ivar identifier_version:
|
||||||
|
:ivar ticketing_set_id:
|
||||||
|
:ivar status:
|
||||||
|
:ivar conf_items: List of configuration items contained in the set
|
||||||
|
"""
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
activation_date_time: None | XmlDateTime = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "ActivationDateTime",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
creation_date_time: XmlDateTime = field(
|
||||||
|
metadata={
|
||||||
|
"name": "CreationDateTime",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
update_date_time: XmlDateTime = field(
|
||||||
|
metadata={
|
||||||
|
"name": "UpdateDateTime",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
hash: str = field(
|
||||||
|
metadata={
|
||||||
|
"name": "Hash",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
identifier_version: str = field(
|
||||||
|
metadata={
|
||||||
|
"name": "IdentifierVersion",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
ticketing_set_id: str = field(
|
||||||
|
metadata={
|
||||||
|
"name": "TicketingSetId",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
status: TicketingSetValidationStatus = field(
|
||||||
|
metadata={
|
||||||
|
"name": "Status",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
conf_items: ConfItems = field(
|
||||||
|
metadata={
|
||||||
|
"name": "ConfItems",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class AuditMessageType(BaseModel):
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
headers: None | HeadersType = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "Headers",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
payload: TicketingSetCreationAuditExchange = field(
|
||||||
|
metadata={
|
||||||
|
"name": "Payload",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class AuditMessagesType(BaseModel):
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
audit_message: list[AuditMessageType] = field(
|
||||||
|
default_factory=list,
|
||||||
|
metadata={
|
||||||
|
"name": "AuditMessage",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
ticketing_set_creation_xsd_version: str = field(
|
||||||
|
const=True,
|
||||||
|
default="1.0",
|
||||||
|
metadata={
|
||||||
|
"name": "TicketingSetCreationXsdVersion",
|
||||||
|
"type": "Attribute",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class AuditMessages(AuditMessagesType):
|
||||||
|
class Meta:
|
||||||
|
namespace = "http://www.thales.dc/TicketingSetCreation"
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
@ -0,0 +1,96 @@
|
|||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from pydantic import BaseModel, ConfigDict
|
||||||
|
from xsdata.models.datatype import XmlDateTime
|
||||||
|
from xsdata_pydantic.fields import field
|
||||||
|
|
||||||
|
from es_elt.xml.common.headers import HeadersType
|
||||||
|
|
||||||
|
__NAMESPACE__ = "http://www.thales.dc/TicketingSetPublish"
|
||||||
|
|
||||||
|
|
||||||
|
class TicketingSetPublishAuditExchange(BaseModel):
|
||||||
|
"""
|
||||||
|
bpm_ticketing_set_publication: At ticketing set publication.
|
||||||
|
"""
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
activation_date_time: XmlDateTime = field(
|
||||||
|
metadata={
|
||||||
|
"name": "ActivationDateTime",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
identifier_version: str = field(
|
||||||
|
metadata={
|
||||||
|
"name": "IdentifierVersion",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
publication_date_time: XmlDateTime = field(
|
||||||
|
metadata={
|
||||||
|
"name": "PublicationDateTime",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
ticketing_set_id: str = field(
|
||||||
|
metadata={
|
||||||
|
"name": "TicketingSetId",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class AuditMessageType(BaseModel):
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
headers: None | HeadersType = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "Headers",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
payload: TicketingSetPublishAuditExchange = field(
|
||||||
|
metadata={
|
||||||
|
"name": "Payload",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class AuditMessagesType(BaseModel):
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
audit_message: list[AuditMessageType] = field(
|
||||||
|
default_factory=list,
|
||||||
|
metadata={
|
||||||
|
"name": "AuditMessage",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
ticketing_set_publish_xsd_version: str = field(
|
||||||
|
const=True,
|
||||||
|
default="1.0",
|
||||||
|
metadata={
|
||||||
|
"name": "TicketingSetPublishXsdVersion",
|
||||||
|
"type": "Attribute",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class AuditMessages(AuditMessagesType):
|
||||||
|
class Meta:
|
||||||
|
namespace = "http://www.thales.dc/TicketingSetPublish"
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
19
es_elt/src/es_elt/xml/audit_data/clm/__init__.py
Normal file
19
es_elt/src/es_elt/xml/audit_data/clm/__init__.py
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
from es_elt.xml.audit_data.clm.customer_claim import (
|
||||||
|
AuditMessages,
|
||||||
|
AuditMessagesType,
|
||||||
|
AuditMessageType,
|
||||||
|
CustomerClaimAuditExchange,
|
||||||
|
CustomerClaimAuthor,
|
||||||
|
CustomerClaimStatus,
|
||||||
|
CustomerClaimType,
|
||||||
|
)
|
||||||
|
|
||||||
|
__all__ = [
|
||||||
|
"AuditMessageType",
|
||||||
|
"AuditMessages",
|
||||||
|
"AuditMessagesType",
|
||||||
|
"CustomerClaimAuditExchange",
|
||||||
|
"CustomerClaimAuthor",
|
||||||
|
"CustomerClaimStatus",
|
||||||
|
"CustomerClaimType",
|
||||||
|
]
|
||||||
Binary file not shown.
Binary file not shown.
181
es_elt/src/es_elt/xml/audit_data/clm/customer_claim.py
Normal file
181
es_elt/src/es_elt/xml/audit_data/clm/customer_claim.py
Normal file
@ -0,0 +1,181 @@
|
|||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from enum import Enum
|
||||||
|
|
||||||
|
from pydantic import BaseModel, ConfigDict
|
||||||
|
from xsdata.models.datatype import XmlDateTime, XmlDuration
|
||||||
|
from xsdata_pydantic.fields import field
|
||||||
|
|
||||||
|
from es_elt.xml.common.headers import HeadersType
|
||||||
|
|
||||||
|
__NAMESPACE__ = "http://www.thales.dc/CustomerClaim"
|
||||||
|
|
||||||
|
|
||||||
|
class CustomerClaimAuthor(Enum):
|
||||||
|
OPERATOR = "OPERATOR"
|
||||||
|
DEVICE = "DEVICE"
|
||||||
|
CUSTOMER = "CUSTOMER"
|
||||||
|
|
||||||
|
|
||||||
|
class CustomerClaimStatus(Enum):
|
||||||
|
SUBMITTED = "SUBMITTED"
|
||||||
|
IN_PROGRESS = "IN_PROGRESS"
|
||||||
|
APPROVED = "APPROVED"
|
||||||
|
REJECTED = "REJECTED"
|
||||||
|
CLOSED = "CLOSED"
|
||||||
|
|
||||||
|
|
||||||
|
class CustomerClaimType(Enum):
|
||||||
|
REFUND = "REFUND"
|
||||||
|
CUSTOMER_CLAIM = "CUSTOMER_CLAIM"
|
||||||
|
EVIDENCE_CHECK = "EVIDENCE_CHECK"
|
||||||
|
DEVICE_DYSFUNCTION = "DEVICE_DYSFUNCTION"
|
||||||
|
|
||||||
|
|
||||||
|
class CustomerClaimAuditExchange(BaseModel):
|
||||||
|
"""
|
||||||
|
clm_customer_claims_post: At claims creation or update.
|
||||||
|
|
||||||
|
:ivar answer_expected: Whenever an operator answered a customer but
|
||||||
|
shall later come back to him.
|
||||||
|
:ivar author_id: Claim author id
|
||||||
|
:ivar author_type: Claim author type (operator, customer, ...).
|
||||||
|
:ivar claim_number:
|
||||||
|
:ivar customer_claim_type: Dictionary prefix: CustomerClaimType
|
||||||
|
:ivar customer_id: Customer account identifier. May be null
|
||||||
|
(DEVICE_DYSFUNCTION case).
|
||||||
|
:ivar last_event_duration: Duration since previous event sent
|
||||||
|
:ivar pending_limit_date: The date AFTER which the claim may be
|
||||||
|
processed.
|
||||||
|
:ivar status: Dictionary prefix: CustomerClaimStatus
|
||||||
|
:ivar text: Last message exchange during the conversation.
|
||||||
|
"""
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
answer_expected: bool = field(
|
||||||
|
metadata={
|
||||||
|
"name": "AnswerExpected",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
author_id: str = field(
|
||||||
|
metadata={
|
||||||
|
"name": "AuthorId",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
author_type: CustomerClaimAuthor = field(
|
||||||
|
metadata={
|
||||||
|
"name": "AuthorType",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
claim_number: str = field(
|
||||||
|
metadata={
|
||||||
|
"name": "ClaimNumber",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
customer_claim_type: CustomerClaimType = field(
|
||||||
|
metadata={
|
||||||
|
"name": "CustomerClaimType",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
customer_id: None | str = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "CustomerId",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
last_event_duration: None | XmlDuration = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "LastEventDuration",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
pending_limit_date: None | XmlDateTime = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "PendingLimitDate",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
status: CustomerClaimStatus = field(
|
||||||
|
metadata={
|
||||||
|
"name": "Status",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
text: None | str = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "Text",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class AuditMessageType(BaseModel):
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
headers: None | HeadersType = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "Headers",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
payload: CustomerClaimAuditExchange = field(
|
||||||
|
metadata={
|
||||||
|
"name": "Payload",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class AuditMessagesType(BaseModel):
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
audit_message: list[AuditMessageType] = field(
|
||||||
|
default_factory=list,
|
||||||
|
metadata={
|
||||||
|
"name": "AuditMessage",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
customer_claim_xsd_version: str = field(
|
||||||
|
const=True,
|
||||||
|
default="1.0",
|
||||||
|
metadata={
|
||||||
|
"name": "CustomerClaimXsdVersion",
|
||||||
|
"type": "Attribute",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class AuditMessages(AuditMessagesType):
|
||||||
|
class Meta:
|
||||||
|
namespace = "http://www.thales.dc/CustomerClaim"
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
263
es_elt/src/es_elt/xml/audit_data/clr/__init__.py
Normal file
263
es_elt/src/es_elt/xml/audit_data/clr/__init__.py
Normal file
@ -0,0 +1,263 @@
|
|||||||
|
from es_elt.xml.audit_data.clr.apportionment_using_capping_ratio_plugin_details import (
|
||||||
|
ApportionmentUsingCappingRatioPluginDetailsAuditExchange,
|
||||||
|
ApportionmentUsingCappingRatioPluginDetailsAuditExchangeDailyMediaConsumptions,
|
||||||
|
ApportionmentUsingCappingRatioPluginDetailsAuditExchangeDailyMediaConsumptionsDailyMediaConsumption,
|
||||||
|
ApportionmentUsingCappingRatioPluginDetailsAuditExchangeDailyMediaConsumptionsDailyMediaConsumptionLegApportionments,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.clr.apportionment_using_capping_ratio_plugin_details import (
|
||||||
|
AuditMessages as ApportionmentUsingCappingRatioPluginDetailsAuditMessages,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.clr.apportionment_using_capping_ratio_plugin_details import (
|
||||||
|
AuditMessagesType as ApportionmentUsingCappingRatioPluginDetailsAuditMessagesType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.clr.apportionment_using_capping_ratio_plugin_details import (
|
||||||
|
AuditMessageType as ApportionmentUsingCappingRatioPluginDetailsAuditMessageType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.clr.apportionment_using_capping_ratio_plugin_details import (
|
||||||
|
CappingRatioApportionmentItemType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.clr.apportionment_using_capping_ratio_plugin_details import (
|
||||||
|
LegApportionment as UsingCappingRatioPluginLegApportionment,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.clr.apportionment_using_capping_ratio_plugin_details import (
|
||||||
|
LegApportionmentApportionmentItems as UsingCappingRatioPluginLegApportionmentApportionmentItems,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.clr.clearing_operation import (
|
||||||
|
AuditMessages as ClearingOperationAuditMessages,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.clr.clearing_operation import (
|
||||||
|
AuditMessagesType as ClearingOperationAuditMessagesType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.clr.clearing_operation import (
|
||||||
|
AuditMessageType as ClearingOperationAuditMessageType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.clr.clearing_operation import (
|
||||||
|
ClearingOperationAuditExchange,
|
||||||
|
ClearingOperationAuditExchangeFees,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.clr.contract_apportionment import (
|
||||||
|
AuditMessages as ContractApportionmentAuditMessages,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.clr.contract_apportionment import (
|
||||||
|
AuditMessagesType as ContractApportionmentAuditMessagesType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.clr.contract_apportionment import (
|
||||||
|
AuditMessageType as ContractApportionmentAuditMessageType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.clr.contract_apportionment import (
|
||||||
|
ContractApportionmentAuditExchange,
|
||||||
|
ContractApportionmentAuditExchangeContractRuleDetails,
|
||||||
|
ContractApportionmentAuditExchangeDailyMediaConsumptions,
|
||||||
|
DailyMediaConsumption,
|
||||||
|
DailyMediaConsumptionLegs,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.clr.contract_apportionment import Leg as ContractLeg
|
||||||
|
from es_elt.xml.audit_data.clr.fee_contract import AuditMessages as FeeAuditMessages
|
||||||
|
from es_elt.xml.audit_data.clr.fee_contract import (
|
||||||
|
AuditMessagesType as FeeAuditMessagesType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.clr.fee_contract import (
|
||||||
|
AuditMessageType as FeeAuditMessageType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.clr.fee_contract import (
|
||||||
|
FeeContractExchange,
|
||||||
|
FeeContractExchangeFeeItems,
|
||||||
|
FeeContractExchangeSettlementItems,
|
||||||
|
FeeContractItemType,
|
||||||
|
FeeSettlementItemType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.clr.fixed_origin_destination_apportionment_details import (
|
||||||
|
AuditMessages as FixedOriginDestinationApportionmentDetailsAuditMessages,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.clr.fixed_origin_destination_apportionment_details import (
|
||||||
|
AuditMessagesType as FixedOriginDestinationApportionmentDetailsAuditMessagesType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.clr.fixed_origin_destination_apportionment_details import (
|
||||||
|
AuditMessageType as FixedOriginDestinationApportionmentDetailsAuditMessageType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.clr.fixed_origin_destination_apportionment_details import (
|
||||||
|
FixedOriginDestinationApportionmentDetailsAuditExchange,
|
||||||
|
FixedOriginDestinationApportionmentDetailsAuditExchangeLegApportionments,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.clr.fixed_origin_destination_apportionment_details import (
|
||||||
|
LegApportionment as FixedOriginDestinationLegApportionment,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.clr.fixed_origin_destination_apportionment_details import (
|
||||||
|
LegApportionmentApportionmentItems as FixedOriginDestinationLegApportionmentApportionmentItems,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.clr.fixed_origin_destination_apportionment_details import (
|
||||||
|
LegApportionmentLegRuleDetails,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.clr.fixed_origin_destination_apportionment_errors import (
|
||||||
|
ApportionmentErrorType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.clr.fixed_origin_destination_apportionment_errors import (
|
||||||
|
AuditMessages as ErrorsAuditMessages,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.clr.fixed_origin_destination_apportionment_errors import (
|
||||||
|
AuditMessagesType as ErrorsAuditMessagesType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.clr.fixed_origin_destination_apportionment_errors import (
|
||||||
|
AuditMessageType as ErrorsAuditMessageType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.clr.fixed_origin_destination_apportionment_errors import (
|
||||||
|
FixedOriginDestinationApportionmentErrorsAuditExchange,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.clr.manual_settlement_item_audit import (
|
||||||
|
AuditMessages as ManualSettlementItemAuditMessages,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.clr.manual_settlement_item_audit import (
|
||||||
|
AuditMessagesType as ManualSettlementItemAuditMessagesType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.clr.manual_settlement_item_audit import (
|
||||||
|
AuditMessageType as ManualSettlementItemAuditMessageType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.clr.manual_settlement_item_audit import (
|
||||||
|
ManualSettlementItemExchange,
|
||||||
|
ManualSettlementItemStatus,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.clr.media_consumptions_apportionment import (
|
||||||
|
AuditMessages as MediaConsumptionsApportionmentAuditMessages,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.clr.media_consumptions_apportionment import (
|
||||||
|
AuditMessagesType as MediaConsumptionsApportionmentAuditMessagesType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.clr.media_consumptions_apportionment import (
|
||||||
|
AuditMessageType as MediaConsumptionsApportionmentAuditMessageType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.clr.media_consumptions_apportionment import (
|
||||||
|
Journey,
|
||||||
|
JourneyLegs,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.clr.media_consumptions_apportionment import (
|
||||||
|
Leg as MediaConsumptionsLeg,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.clr.media_consumptions_apportionment import (
|
||||||
|
LegErrorCodes,
|
||||||
|
MediaConsumptionApportionment,
|
||||||
|
MediaConsumptionApportionmentFees,
|
||||||
|
MediaConsumptionApportionmentJourneys,
|
||||||
|
MediaConsumptionsApportionmentAuditExchange,
|
||||||
|
MediaConsumptionsApportionmentAuditExchangeMediaConsumptionApportionments,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.clr.settlement_period import (
|
||||||
|
AuditMessages as SettlementPeriodAuditMessages,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.clr.settlement_period import (
|
||||||
|
AuditMessagesType as SettlementPeriodAuditMessagesType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.clr.settlement_period import (
|
||||||
|
AuditMessageType as SettlementPeriodAuditMessageType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.clr.settlement_period import (
|
||||||
|
Balances,
|
||||||
|
FeeSettlements,
|
||||||
|
ManualSettlements,
|
||||||
|
ProductApportionments,
|
||||||
|
SettlementPeriodApportionmentExchange,
|
||||||
|
SettlementPeriodExchange,
|
||||||
|
Settlements,
|
||||||
|
StakeholderAccountBalanceExchange,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.clr.transaction_apportionment import (
|
||||||
|
AuditMessages as TransactionApportionmentAuditMessages,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.clr.transaction_apportionment import (
|
||||||
|
AuditMessagesType as TransactionApportionmentAuditMessagesType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.clr.transaction_apportionment import (
|
||||||
|
AuditMessageType as TransactionApportionmentAuditMessageType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.clr.transaction_apportionment import (
|
||||||
|
TransactionApportionmentAuditExchange,
|
||||||
|
TransactionApportionmentAuditExchangeTransactionRuleDetails,
|
||||||
|
TransactionRuleDetail,
|
||||||
|
TransactionRuleDetailApportionmentItems,
|
||||||
|
TransactionRuleDetailPtomContractTypes,
|
||||||
|
TransactionRuleDetailSettlementItems,
|
||||||
|
)
|
||||||
|
|
||||||
|
__all__ = [
|
||||||
|
"ApportionmentUsingCappingRatioPluginDetailsAuditExchange",
|
||||||
|
"ApportionmentUsingCappingRatioPluginDetailsAuditExchangeDailyMediaConsumptions",
|
||||||
|
"ApportionmentUsingCappingRatioPluginDetailsAuditExchangeDailyMediaConsumptionsDailyMediaConsumption",
|
||||||
|
"ApportionmentUsingCappingRatioPluginDetailsAuditExchangeDailyMediaConsumptionsDailyMediaConsumptionLegApportionments",
|
||||||
|
"ApportionmentUsingCappingRatioPluginDetailsAuditMessageType",
|
||||||
|
"ApportionmentUsingCappingRatioPluginDetailsAuditMessages",
|
||||||
|
"ApportionmentUsingCappingRatioPluginDetailsAuditMessagesType",
|
||||||
|
"CappingRatioApportionmentItemType",
|
||||||
|
"UsingCappingRatioPluginLegApportionment",
|
||||||
|
"UsingCappingRatioPluginLegApportionmentApportionmentItems",
|
||||||
|
"ClearingOperationAuditMessageType",
|
||||||
|
"ClearingOperationAuditMessages",
|
||||||
|
"ClearingOperationAuditMessagesType",
|
||||||
|
"ClearingOperationAuditExchange",
|
||||||
|
"ClearingOperationAuditExchangeFees",
|
||||||
|
"ContractApportionmentAuditMessageType",
|
||||||
|
"ContractApportionmentAuditMessages",
|
||||||
|
"ContractApportionmentAuditMessagesType",
|
||||||
|
"ContractApportionmentAuditExchange",
|
||||||
|
"ContractApportionmentAuditExchangeContractRuleDetails",
|
||||||
|
"ContractApportionmentAuditExchangeDailyMediaConsumptions",
|
||||||
|
"DailyMediaConsumption",
|
||||||
|
"DailyMediaConsumptionLegs",
|
||||||
|
"ContractLeg",
|
||||||
|
"FeeAuditMessageType",
|
||||||
|
"FeeAuditMessages",
|
||||||
|
"FeeAuditMessagesType",
|
||||||
|
"FeeContractExchange",
|
||||||
|
"FeeContractExchangeFeeItems",
|
||||||
|
"FeeContractExchangeSettlementItems",
|
||||||
|
"FeeContractItemType",
|
||||||
|
"FeeSettlementItemType",
|
||||||
|
"FixedOriginDestinationApportionmentDetailsAuditMessageType",
|
||||||
|
"FixedOriginDestinationApportionmentDetailsAuditMessages",
|
||||||
|
"FixedOriginDestinationApportionmentDetailsAuditMessagesType",
|
||||||
|
"FixedOriginDestinationApportionmentDetailsAuditExchange",
|
||||||
|
"FixedOriginDestinationApportionmentDetailsAuditExchangeLegApportionments",
|
||||||
|
"FixedOriginDestinationLegApportionment",
|
||||||
|
"FixedOriginDestinationLegApportionmentApportionmentItems",
|
||||||
|
"LegApportionmentLegRuleDetails",
|
||||||
|
"ApportionmentErrorType",
|
||||||
|
"ErrorsAuditMessageType",
|
||||||
|
"ErrorsAuditMessages",
|
||||||
|
"ErrorsAuditMessagesType",
|
||||||
|
"FixedOriginDestinationApportionmentErrorsAuditExchange",
|
||||||
|
"ManualSettlementItemAuditMessageType",
|
||||||
|
"ManualSettlementItemAuditMessages",
|
||||||
|
"ManualSettlementItemAuditMessagesType",
|
||||||
|
"ManualSettlementItemExchange",
|
||||||
|
"ManualSettlementItemStatus",
|
||||||
|
"MediaConsumptionsApportionmentAuditMessageType",
|
||||||
|
"MediaConsumptionsApportionmentAuditMessages",
|
||||||
|
"MediaConsumptionsApportionmentAuditMessagesType",
|
||||||
|
"Journey",
|
||||||
|
"JourneyLegs",
|
||||||
|
"MediaConsumptionsLeg",
|
||||||
|
"LegErrorCodes",
|
||||||
|
"MediaConsumptionApportionment",
|
||||||
|
"MediaConsumptionApportionmentFees",
|
||||||
|
"MediaConsumptionApportionmentJourneys",
|
||||||
|
"MediaConsumptionsApportionmentAuditExchange",
|
||||||
|
"MediaConsumptionsApportionmentAuditExchangeMediaConsumptionApportionments",
|
||||||
|
"SettlementPeriodAuditMessageType",
|
||||||
|
"SettlementPeriodAuditMessages",
|
||||||
|
"SettlementPeriodAuditMessagesType",
|
||||||
|
"Balances",
|
||||||
|
"FeeSettlements",
|
||||||
|
"ManualSettlements",
|
||||||
|
"ProductApportionments",
|
||||||
|
"SettlementPeriodApportionmentExchange",
|
||||||
|
"SettlementPeriodExchange",
|
||||||
|
"Settlements",
|
||||||
|
"StakeholderAccountBalanceExchange",
|
||||||
|
"TransactionApportionmentAuditMessageType",
|
||||||
|
"TransactionApportionmentAuditMessages",
|
||||||
|
"TransactionApportionmentAuditMessagesType",
|
||||||
|
"TransactionApportionmentAuditExchange",
|
||||||
|
"TransactionApportionmentAuditExchangeTransactionRuleDetails",
|
||||||
|
"TransactionRuleDetail",
|
||||||
|
"TransactionRuleDetailApportionmentItems",
|
||||||
|
"TransactionRuleDetailPtomContractTypes",
|
||||||
|
"TransactionRuleDetailSettlementItems",
|
||||||
|
]
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1,260 @@
|
|||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from decimal import Decimal
|
||||||
|
|
||||||
|
from pydantic import BaseModel, ConfigDict
|
||||||
|
from xsdata_pydantic.fields import field
|
||||||
|
|
||||||
|
from es_elt.xml.common.headers import HeadersType
|
||||||
|
from es_elt.xml.common.localized import LocalizedBusinessEntity, LocalizedBusinessRole
|
||||||
|
|
||||||
|
__NAMESPACE__ = "http://www.thales.dc/ApportionmentUsingCappingRatioPluginDetails"
|
||||||
|
|
||||||
|
|
||||||
|
class CappingRatioApportionmentItemType(BaseModel):
|
||||||
|
"""
|
||||||
|
Details of apportionment for a leg.
|
||||||
|
|
||||||
|
:ivar stakeholder_id: The stakeholder involved in the apportionment
|
||||||
|
:ivar role_type: Retailer, Card Owner, Product Owner, Transporter...
|
||||||
|
:ivar account: The account to where the money is credited/debited.
|
||||||
|
:ivar allocated_amount: amount (positive or negative) allocated to
|
||||||
|
the Clearing Participant
|
||||||
|
:ivar allocated_amount_without_capping: amount (positive or
|
||||||
|
negative) allocated to the Clearing Participant if the
|
||||||
|
apportionment were performed without capping
|
||||||
|
"""
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
stakeholder_id: LocalizedBusinessEntity = field(
|
||||||
|
metadata={
|
||||||
|
"name": "StakeholderId",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
role_type: LocalizedBusinessRole = field(
|
||||||
|
metadata={
|
||||||
|
"name": "RoleType",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
account: str = field(
|
||||||
|
metadata={
|
||||||
|
"name": "Account",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
allocated_amount: Decimal = field(
|
||||||
|
metadata={
|
||||||
|
"name": "AllocatedAmount",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
allocated_amount_without_capping: Decimal = field(
|
||||||
|
metadata={
|
||||||
|
"name": "AllocatedAmountWithoutCapping",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class LegApportionmentApportionmentItems(BaseModel):
|
||||||
|
class Meta:
|
||||||
|
global_type = False
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
apportionment_item: list[CappingRatioApportionmentItemType] = field(
|
||||||
|
default_factory=list,
|
||||||
|
metadata={
|
||||||
|
"name": "ApportionmentItem",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class LegApportionment(BaseModel):
|
||||||
|
"""
|
||||||
|
Details of apportionment for a leg.
|
||||||
|
|
||||||
|
:ivar leg_id:
|
||||||
|
:ivar apportionment_items: Output from apportionment
|
||||||
|
"""
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
leg_id: str = field(
|
||||||
|
metadata={
|
||||||
|
"name": "LegId",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
apportionment_items: None | LegApportionmentApportionmentItems = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "ApportionmentItems",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class ApportionmentUsingCappingRatioPluginDetailsAuditExchangeDailyMediaConsumptionsDailyMediaConsumptionLegApportionments(
|
||||||
|
BaseModel
|
||||||
|
):
|
||||||
|
class Meta:
|
||||||
|
global_type = False
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
leg_apportionment: list[LegApportionment] = field(
|
||||||
|
default_factory=list,
|
||||||
|
metadata={
|
||||||
|
"name": "LegApportionment",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class ApportionmentUsingCappingRatioPluginDetailsAuditExchangeDailyMediaConsumptionsDailyMediaConsumption(
|
||||||
|
BaseModel
|
||||||
|
):
|
||||||
|
"""
|
||||||
|
:ivar daily_media_consumption_id:
|
||||||
|
:ivar leg_apportionments: Apportionment per leg
|
||||||
|
"""
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
global_type = False
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
daily_media_consumption_id: str = field(
|
||||||
|
metadata={
|
||||||
|
"name": "DailyMediaConsumptionId",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
leg_apportionments: ApportionmentUsingCappingRatioPluginDetailsAuditExchangeDailyMediaConsumptionsDailyMediaConsumptionLegApportionments = field(
|
||||||
|
metadata={
|
||||||
|
"name": "LegApportionments",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class ApportionmentUsingCappingRatioPluginDetailsAuditExchangeDailyMediaConsumptions(
|
||||||
|
BaseModel
|
||||||
|
):
|
||||||
|
class Meta:
|
||||||
|
global_type = False
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
daily_media_consumption: list[
|
||||||
|
ApportionmentUsingCappingRatioPluginDetailsAuditExchangeDailyMediaConsumptionsDailyMediaConsumption
|
||||||
|
] = field(
|
||||||
|
default_factory=list,
|
||||||
|
metadata={
|
||||||
|
"name": "DailyMediaConsumption",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class ApportionmentUsingCappingRatioPluginDetailsAuditExchange(BaseModel):
|
||||||
|
"""
|
||||||
|
Details of apportionment using capping ratio plugin for a contractId.
|
||||||
|
|
||||||
|
:ivar contract_id:
|
||||||
|
:ivar sequence: The ordering sequence number of this contract's
|
||||||
|
apportionment.
|
||||||
|
:ivar daily_media_consumptions:
|
||||||
|
"""
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
contract_id: str = field(
|
||||||
|
metadata={
|
||||||
|
"name": "ContractId",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
sequence: int = field(
|
||||||
|
metadata={
|
||||||
|
"name": "Sequence",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
daily_media_consumptions: ApportionmentUsingCappingRatioPluginDetailsAuditExchangeDailyMediaConsumptions = field(
|
||||||
|
metadata={
|
||||||
|
"name": "DailyMediaConsumptions",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class AuditMessageType(BaseModel):
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
headers: None | HeadersType = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "Headers",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
payload: ApportionmentUsingCappingRatioPluginDetailsAuditExchange = field(
|
||||||
|
metadata={
|
||||||
|
"name": "Payload",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class AuditMessagesType(BaseModel):
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
audit_message: list[AuditMessageType] = field(
|
||||||
|
default_factory=list,
|
||||||
|
metadata={
|
||||||
|
"name": "AuditMessage",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
apportionment_using_capping_ratio_plugin_details_xsd_version: str = field(
|
||||||
|
const=True,
|
||||||
|
default="1.1",
|
||||||
|
metadata={
|
||||||
|
"name": "ApportionmentUsingCappingRatioPluginDetailsXsdVersion",
|
||||||
|
"type": "Attribute",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class AuditMessages(AuditMessagesType):
|
||||||
|
class Meta:
|
||||||
|
namespace = "http://www.thales.dc/ApportionmentUsingCappingRatioPluginDetails"
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
108
es_elt/src/es_elt/xml/audit_data/clr/clearing_operation.py
Normal file
108
es_elt/src/es_elt/xml/audit_data/clr/clearing_operation.py
Normal file
@ -0,0 +1,108 @@
|
|||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from pydantic import BaseModel, ConfigDict
|
||||||
|
from xsdata_pydantic.fields import field
|
||||||
|
|
||||||
|
from es_elt.xml.common.clearing_item_type import FeeData
|
||||||
|
from es_elt.xml.common.headers import HeadersType
|
||||||
|
|
||||||
|
__NAMESPACE__ = "http://www.thales.dc/ClearingOperation"
|
||||||
|
|
||||||
|
|
||||||
|
class ClearingOperationAuditExchangeFees(BaseModel):
|
||||||
|
class Meta:
|
||||||
|
global_type = False
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
fee: list[FeeData] = field(
|
||||||
|
default_factory=list,
|
||||||
|
metadata={
|
||||||
|
"name": "Fee",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class ClearingOperationAuditExchange(BaseModel):
|
||||||
|
"""
|
||||||
|
clr:clearing.operation.get: At transaction reception.
|
||||||
|
|
||||||
|
:ivar transaction_id: The transaction id (in case of
|
||||||
|
BOMessage/DeviceMessage)
|
||||||
|
:ivar contract_id: The contract Id.
|
||||||
|
:ivar fees: Fees information
|
||||||
|
"""
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
transaction_id: str = field(
|
||||||
|
metadata={
|
||||||
|
"name": "TransactionId",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
contract_id: str = field(
|
||||||
|
metadata={
|
||||||
|
"name": "ContractId",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
fees: None | ClearingOperationAuditExchangeFees = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "Fees",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class AuditMessageType(BaseModel):
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
headers: None | HeadersType = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "Headers",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
payload: ClearingOperationAuditExchange = field(
|
||||||
|
metadata={
|
||||||
|
"name": "Payload",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class AuditMessagesType(BaseModel):
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
audit_message: list[AuditMessageType] = field(
|
||||||
|
default_factory=list,
|
||||||
|
metadata={
|
||||||
|
"name": "AuditMessage",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
clearing_operation_xsd_version: str = field(
|
||||||
|
const=True,
|
||||||
|
default="1.0",
|
||||||
|
metadata={
|
||||||
|
"name": "ClearingOperationXsdVersion",
|
||||||
|
"type": "Attribute",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class AuditMessages(AuditMessagesType):
|
||||||
|
class Meta:
|
||||||
|
namespace = "http://www.thales.dc/ClearingOperation"
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
371
es_elt/src/es_elt/xml/audit_data/clr/contract_apportionment.py
Normal file
371
es_elt/src/es_elt/xml/audit_data/clr/contract_apportionment.py
Normal file
@ -0,0 +1,371 @@
|
|||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from decimal import Decimal
|
||||||
|
|
||||||
|
from pydantic import BaseModel, ConfigDict
|
||||||
|
from xsdata.models.datatype import XmlDateTime
|
||||||
|
from xsdata_pydantic.fields import field
|
||||||
|
|
||||||
|
from es_elt.xml.common.clearing_item_type import (
|
||||||
|
ApportionmentItemsType,
|
||||||
|
ContractRuleDetails,
|
||||||
|
SettlementItemsType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.common.headers import HeadersType
|
||||||
|
from es_elt.xml.common.localized import (
|
||||||
|
LocalizedCappingRule,
|
||||||
|
LocalizedJourneyDefinition,
|
||||||
|
LocalizedNonTransitProductCode,
|
||||||
|
LocalizedProductCode,
|
||||||
|
LocalizedSupplementProductCode,
|
||||||
|
)
|
||||||
|
from es_elt.xml.common.media_identification import MediaIdentification
|
||||||
|
|
||||||
|
__NAMESPACE__ = "http://www.thales.dc/ContractApportionment"
|
||||||
|
|
||||||
|
|
||||||
|
class Leg(BaseModel):
|
||||||
|
"""
|
||||||
|
:ivar leg_id: Unique identifier for a leg. Between multiple
|
||||||
|
reconstructions, the legId will be kept constant if the leg did
|
||||||
|
not change
|
||||||
|
"""
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
leg_id: str = field(
|
||||||
|
metadata={
|
||||||
|
"name": "LegId",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class ContractApportionmentAuditExchangeContractRuleDetails(BaseModel):
|
||||||
|
class Meta:
|
||||||
|
global_type = False
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
contract_rule_detail: list[ContractRuleDetails] = field(
|
||||||
|
default_factory=list,
|
||||||
|
metadata={
|
||||||
|
"name": "ContractRuleDetail",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class DailyMediaConsumptionLegs(BaseModel):
|
||||||
|
class Meta:
|
||||||
|
global_type = False
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
leg: list[Leg] = field(
|
||||||
|
default_factory=list,
|
||||||
|
metadata={
|
||||||
|
"name": "Leg",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class DailyMediaConsumption(BaseModel):
|
||||||
|
"""
|
||||||
|
:ivar daily_media_consumption_id: Id of the daily media consumption
|
||||||
|
that was involved in this payment request
|
||||||
|
:ivar legs: Legs
|
||||||
|
"""
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
daily_media_consumption_id: str = field(
|
||||||
|
metadata={
|
||||||
|
"name": "DailyMediaConsumptionId",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
legs: None | DailyMediaConsumptionLegs = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "Legs",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class ContractApportionmentAuditExchangeDailyMediaConsumptions(BaseModel):
|
||||||
|
class Meta:
|
||||||
|
global_type = False
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
daily_media_consumption: list[DailyMediaConsumption] = field(
|
||||||
|
default_factory=list,
|
||||||
|
metadata={
|
||||||
|
"name": "DailyMediaConsumption",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class ContractApportionmentAuditExchange(BaseModel):
|
||||||
|
"""
|
||||||
|
clr_apportionment_get: At apportionment creation Apportionment of a
|
||||||
|
fraction of contract from a payer to a payee's account during a
|
||||||
|
settlement period.
|
||||||
|
|
||||||
|
:ivar apportionment_items:
|
||||||
|
:ivar contract_rule_details: Sorted rule details
|
||||||
|
:ivar settlement_items:
|
||||||
|
:ivar amount_to_apportion: The total revenue to be apportioned among
|
||||||
|
all the stakeholder
|
||||||
|
:ivar contract_id: The contract as an instance of a product,
|
||||||
|
possibly on a media.
|
||||||
|
:ivar contract_serial_number: The contract serial number: serial
|
||||||
|
number of the Contract Id.
|
||||||
|
:ivar creation_event_id: The unique identifier of the related event.
|
||||||
|
:ivar media_identification: The media holding the contract
|
||||||
|
:ivar non_transit_product_code: The type of product of the contract
|
||||||
|
instance if it is a non transit product. Dictionary prefix:
|
||||||
|
NonTransitProductCode
|
||||||
|
:ivar processing_date:
|
||||||
|
:ivar clearing_version: The version of the clearing parameters.
|
||||||
|
:ivar product_code: The type of product of the contract instance if
|
||||||
|
it is a transit product. Dictionary prefix: ProductCode
|
||||||
|
:ivar supplement_product_code: The type of product of the contract
|
||||||
|
instance if it is a supplement product. Dictionary prefix:
|
||||||
|
SupplementProductCode
|
||||||
|
:ivar capping_product_code: The type of capping of the contract
|
||||||
|
instance if it is a capping instance. Dictionary prefix:
|
||||||
|
CappingRule
|
||||||
|
:ivar journey_product_code: The type of journey definition of the
|
||||||
|
contract instance if it is a journey instance. Dictionary
|
||||||
|
prefix: JourneyDefinition
|
||||||
|
:ivar best_effort: In case of an apportionment of an amount lower
|
||||||
|
than the revenue: If true, will perform the apportionment the
|
||||||
|
best way possible. If false, will do nothing for the
|
||||||
|
apportionment.
|
||||||
|
:ivar sequence: The ordering sequence number of this contract's
|
||||||
|
apportionment.
|
||||||
|
:ivar settlement_period_id:
|
||||||
|
:ivar settlement_period_creation_date_time:
|
||||||
|
:ivar daily_media_consumptions: DailyMediaConsumptions
|
||||||
|
"""
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
apportionment_items: None | ApportionmentItemsType = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "ApportionmentItems",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
contract_rule_details: (
|
||||||
|
None | ContractApportionmentAuditExchangeContractRuleDetails
|
||||||
|
) = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "ContractRuleDetails",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
settlement_items: None | SettlementItemsType = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "SettlementItems",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
amount_to_apportion: Decimal = field(
|
||||||
|
metadata={
|
||||||
|
"name": "AmountToApportion",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
contract_id: str = field(
|
||||||
|
metadata={
|
||||||
|
"name": "ContractId",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
contract_serial_number: None | str = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "ContractSerialNumber",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
creation_event_id: str = field(
|
||||||
|
metadata={
|
||||||
|
"name": "CreationEventId",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
media_identification: None | MediaIdentification = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "MediaIdentification",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
non_transit_product_code: None | LocalizedNonTransitProductCode = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "NonTransitProductCode",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
processing_date: None | XmlDateTime = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "ProcessingDate",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
clearing_version: str = field(
|
||||||
|
metadata={
|
||||||
|
"name": "ClearingVersion",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
product_code: None | LocalizedProductCode = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "ProductCode",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
supplement_product_code: None | LocalizedSupplementProductCode = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "SupplementProductCode",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
capping_product_code: None | LocalizedCappingRule = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "CappingProductCode",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
journey_product_code: None | LocalizedJourneyDefinition = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "JourneyProductCode",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
best_effort: None | bool = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "BestEffort",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
sequence: int = field(
|
||||||
|
metadata={
|
||||||
|
"name": "Sequence",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
settlement_period_id: str = field(
|
||||||
|
metadata={
|
||||||
|
"name": "SettlementPeriodId",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
settlement_period_creation_date_time: XmlDateTime = field(
|
||||||
|
metadata={
|
||||||
|
"name": "SettlementPeriodCreationDateTime",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
daily_media_consumptions: (
|
||||||
|
None | ContractApportionmentAuditExchangeDailyMediaConsumptions
|
||||||
|
) = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "DailyMediaConsumptions",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class AuditMessageType(BaseModel):
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
headers: None | HeadersType = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "Headers",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
payload: ContractApportionmentAuditExchange = field(
|
||||||
|
metadata={
|
||||||
|
"name": "Payload",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class AuditMessagesType(BaseModel):
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
audit_message: list[AuditMessageType] = field(
|
||||||
|
default_factory=list,
|
||||||
|
metadata={
|
||||||
|
"name": "AuditMessage",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
contract_apportionment_xsd_version: str = field(
|
||||||
|
const=True,
|
||||||
|
default="1.3",
|
||||||
|
metadata={
|
||||||
|
"name": "ContractApportionmentXsdVersion",
|
||||||
|
"type": "Attribute",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class AuditMessages(AuditMessagesType):
|
||||||
|
class Meta:
|
||||||
|
namespace = "http://www.thales.dc/ContractApportionment"
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
315
es_elt/src/es_elt/xml/audit_data/clr/fee_contract.py
Normal file
315
es_elt/src/es_elt/xml/audit_data/clr/fee_contract.py
Normal file
@ -0,0 +1,315 @@
|
|||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from decimal import Decimal
|
||||||
|
|
||||||
|
from pydantic import BaseModel, ConfigDict
|
||||||
|
from xsdata.models.datatype import XmlDateTime
|
||||||
|
from xsdata_pydantic.fields import field
|
||||||
|
|
||||||
|
from es_elt.xml.common.headers import HeadersType
|
||||||
|
from es_elt.xml.common.localized import LocalizedBusinessEntity
|
||||||
|
|
||||||
|
__NAMESPACE__ = "http://www.thales.dc/FeeContract"
|
||||||
|
|
||||||
|
|
||||||
|
class FeeContractItemType(BaseModel):
|
||||||
|
"""
|
||||||
|
Results of fee calculation.
|
||||||
|
|
||||||
|
:ivar stakeholder_id: The stakeholder involved in the fee
|
||||||
|
:ivar account: The account to where the money is credited/debited.
|
||||||
|
:ivar allocated_amount: amount (positive or negative) allocated to
|
||||||
|
the Clearing Participant
|
||||||
|
"""
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
stakeholder_id: LocalizedBusinessEntity = field(
|
||||||
|
metadata={
|
||||||
|
"name": "StakeholderId",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
account: str = field(
|
||||||
|
metadata={
|
||||||
|
"name": "Account",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
allocated_amount: Decimal = field(
|
||||||
|
metadata={
|
||||||
|
"name": "AllocatedAmount",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class FeeSettlementItemType(BaseModel):
|
||||||
|
"""
|
||||||
|
Individual money movement resulting from the fee items.
|
||||||
|
|
||||||
|
:ivar payer_id: The stakeholder who will be debited money
|
||||||
|
:ivar payee_id: The stakeholder who will be credited money
|
||||||
|
:ivar settlement_amount: amount (POSITIVE) to transfer between PAYER
|
||||||
|
and PAYEE
|
||||||
|
"""
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
payer_id: LocalizedBusinessEntity = field(
|
||||||
|
metadata={
|
||||||
|
"name": "PayerId",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
payee_id: LocalizedBusinessEntity = field(
|
||||||
|
metadata={
|
||||||
|
"name": "PayeeId",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
settlement_amount: Decimal = field(
|
||||||
|
metadata={
|
||||||
|
"name": "SettlementAmount",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class FeeContractExchangeFeeItems(BaseModel):
|
||||||
|
class Meta:
|
||||||
|
global_type = False
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
fee_item: list[FeeContractItemType] = field(
|
||||||
|
default_factory=list,
|
||||||
|
metadata={
|
||||||
|
"name": "FeeItem",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class FeeContractExchangeSettlementItems(BaseModel):
|
||||||
|
class Meta:
|
||||||
|
global_type = False
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
settlement_item: list[FeeSettlementItemType] = field(
|
||||||
|
default_factory=list,
|
||||||
|
metadata={
|
||||||
|
"name": "SettlementItem",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class FeeContractExchange(BaseModel):
|
||||||
|
"""
|
||||||
|
clr:fee.contract.get: At fee distribution Distribution of a fee based
|
||||||
|
on a contract from a payer to a payee's account.
|
||||||
|
|
||||||
|
:ivar fee_items: Output from fee distribution
|
||||||
|
:ivar settlement_items: Individual money transfer. The current
|
||||||
|
settlements already take into account what has been done in
|
||||||
|
previous settlement periods. For instance, if in period n-1, we
|
||||||
|
needed to give A->B 10, and in current period n we realize
|
||||||
|
that we needed to give A->B 3, the current audit will only
|
||||||
|
contain a contractSettlement B->A 7 to compensate.
|
||||||
|
:ivar fee_contract_id: The contract as an instance of a fee.
|
||||||
|
:ivar fee_context_id:
|
||||||
|
:ivar fee_rule_id:
|
||||||
|
:ivar creation_event_id: The unique identifier of the related event.
|
||||||
|
:ivar charging_model: The charging model of the fee contract (per
|
||||||
|
event, per volume, per total value).
|
||||||
|
:ivar charging_period: The charging period of the fee contract
|
||||||
|
(Daily, Weekly, Monthly).
|
||||||
|
:ivar application_date:
|
||||||
|
:ivar processing_date:
|
||||||
|
:ivar clearing_version: The version of the clearing parameters.
|
||||||
|
:ivar settlement_period_id:
|
||||||
|
:ivar total_number:
|
||||||
|
:ivar total_amount:
|
||||||
|
:ivar sequence: The ordering sequence number of this contract.
|
||||||
|
"""
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
fee_items: None | FeeContractExchangeFeeItems = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "FeeItems",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
settlement_items: None | FeeContractExchangeSettlementItems = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "SettlementItems",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
fee_contract_id: str = field(
|
||||||
|
metadata={
|
||||||
|
"name": "FeeContractId",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
fee_context_id: str = field(
|
||||||
|
metadata={
|
||||||
|
"name": "FeeContextId",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
fee_rule_id: str = field(
|
||||||
|
metadata={
|
||||||
|
"name": "FeeRuleId",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
creation_event_id: str = field(
|
||||||
|
metadata={
|
||||||
|
"name": "CreationEventId",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
charging_model: str = field(
|
||||||
|
metadata={
|
||||||
|
"name": "ChargingModel",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
charging_period: str = field(
|
||||||
|
metadata={
|
||||||
|
"name": "ChargingPeriod",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
application_date: XmlDateTime = field(
|
||||||
|
metadata={
|
||||||
|
"name": "ApplicationDate",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
processing_date: None | XmlDateTime = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "ProcessingDate",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
clearing_version: str = field(
|
||||||
|
metadata={
|
||||||
|
"name": "ClearingVersion",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
settlement_period_id: str = field(
|
||||||
|
metadata={
|
||||||
|
"name": "SettlementPeriodId",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
total_number: None | int = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "TotalNumber",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
total_amount: Decimal = field(
|
||||||
|
metadata={
|
||||||
|
"name": "TotalAmount",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
sequence: int = field(
|
||||||
|
metadata={
|
||||||
|
"name": "Sequence",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class AuditMessageType(BaseModel):
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
headers: None | HeadersType = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "Headers",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
payload: FeeContractExchange = field(
|
||||||
|
metadata={
|
||||||
|
"name": "Payload",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class AuditMessagesType(BaseModel):
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
audit_message: list[AuditMessageType] = field(
|
||||||
|
default_factory=list,
|
||||||
|
metadata={
|
||||||
|
"name": "AuditMessage",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
fee_contract_xsd_version: str = field(
|
||||||
|
const=True,
|
||||||
|
default="1.0",
|
||||||
|
metadata={
|
||||||
|
"name": "FeeContractXsdVersion",
|
||||||
|
"type": "Attribute",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class AuditMessages(AuditMessagesType):
|
||||||
|
class Meta:
|
||||||
|
namespace = "http://www.thales.dc/FeeContract"
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
@ -0,0 +1,182 @@
|
|||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from pydantic import BaseModel, ConfigDict
|
||||||
|
from xsdata_pydantic.fields import field
|
||||||
|
|
||||||
|
from es_elt.xml.common.clearing_item_type import (
|
||||||
|
ApportionmentItemType,
|
||||||
|
ContractRuleDetails,
|
||||||
|
)
|
||||||
|
from es_elt.xml.common.headers import HeadersType
|
||||||
|
|
||||||
|
__NAMESPACE__ = "http://www.thales.dc/FixedOriginDestinationApportionmentDetails"
|
||||||
|
|
||||||
|
|
||||||
|
class LegApportionmentApportionmentItems(BaseModel):
|
||||||
|
class Meta:
|
||||||
|
global_type = False
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
apportionment_item: list[ApportionmentItemType] = field(
|
||||||
|
default_factory=list,
|
||||||
|
metadata={
|
||||||
|
"name": "ApportionmentItem",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class LegApportionmentLegRuleDetails(BaseModel):
|
||||||
|
class Meta:
|
||||||
|
global_type = False
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
leg_rule_detail: list[ContractRuleDetails] = field(
|
||||||
|
default_factory=list,
|
||||||
|
metadata={
|
||||||
|
"name": "LegRuleDetail",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class LegApportionment(BaseModel):
|
||||||
|
"""
|
||||||
|
Details of apportionment for a leg.
|
||||||
|
|
||||||
|
:ivar leg_id:
|
||||||
|
:ivar apportionment_items: Output from apportionment
|
||||||
|
:ivar leg_rule_details: Details of rule calculation, when several
|
||||||
|
parts are engaged for apportionment's calculation
|
||||||
|
"""
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
leg_id: str = field(
|
||||||
|
metadata={
|
||||||
|
"name": "LegId",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
apportionment_items: None | LegApportionmentApportionmentItems = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "ApportionmentItems",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
leg_rule_details: None | LegApportionmentLegRuleDetails = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "LegRuleDetails",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class FixedOriginDestinationApportionmentDetailsAuditExchangeLegApportionments(
|
||||||
|
BaseModel
|
||||||
|
):
|
||||||
|
class Meta:
|
||||||
|
global_type = False
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
leg_apportionment: list[LegApportionment] = field(
|
||||||
|
default_factory=list,
|
||||||
|
metadata={
|
||||||
|
"name": "LegApportionment",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class FixedOriginDestinationApportionmentDetailsAuditExchange(BaseModel):
|
||||||
|
"""
|
||||||
|
clr_apportionment_fixed_od_details: Created each time we receive a new
|
||||||
|
event Details of fixed origin destination apportionment for a
|
||||||
|
contractId.
|
||||||
|
|
||||||
|
:ivar contract_id:
|
||||||
|
:ivar leg_apportionments: Apportionment per leg
|
||||||
|
:ivar sequence: The ordering sequence number of this contract's
|
||||||
|
apportionment.
|
||||||
|
"""
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
contract_id: str = field(
|
||||||
|
metadata={
|
||||||
|
"name": "ContractId",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
leg_apportionments: FixedOriginDestinationApportionmentDetailsAuditExchangeLegApportionments = field(
|
||||||
|
metadata={
|
||||||
|
"name": "LegApportionments",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
sequence: int = field(
|
||||||
|
metadata={
|
||||||
|
"name": "Sequence",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class AuditMessageType(BaseModel):
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
headers: None | HeadersType = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "Headers",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
payload: FixedOriginDestinationApportionmentDetailsAuditExchange = field(
|
||||||
|
metadata={
|
||||||
|
"name": "Payload",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class AuditMessagesType(BaseModel):
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
audit_message: list[AuditMessageType] = field(
|
||||||
|
default_factory=list,
|
||||||
|
metadata={
|
||||||
|
"name": "AuditMessage",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
fixed_origin_destination_apportionment_details_xsd_version: str = field(
|
||||||
|
const=True,
|
||||||
|
default="1.0",
|
||||||
|
metadata={
|
||||||
|
"name": "FixedOriginDestinationApportionmentDetailsXsdVersion",
|
||||||
|
"type": "Attribute",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class AuditMessages(AuditMessagesType):
|
||||||
|
class Meta:
|
||||||
|
namespace = "http://www.thales.dc/FixedOriginDestinationApportionmentDetails"
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
@ -0,0 +1,151 @@
|
|||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from decimal import Decimal
|
||||||
|
from enum import Enum
|
||||||
|
|
||||||
|
from pydantic import BaseModel, ConfigDict
|
||||||
|
from xsdata_pydantic.fields import field
|
||||||
|
|
||||||
|
from es_elt.xml.common.headers import HeadersType
|
||||||
|
from es_elt.xml.common.localized import LocalizedProductCode
|
||||||
|
|
||||||
|
__NAMESPACE__ = "http://www.thales.dc/FixedOriginDestinationApportionmentErrors"
|
||||||
|
|
||||||
|
|
||||||
|
class ApportionmentErrorType(Enum):
|
||||||
|
MISSING_DATA_FOR_APPORTIONMENT = "MISSING_DATA_FOR_APPORTIONMENT"
|
||||||
|
TOTAL_AND_REVENUE_AMOUNT_DIFFERENT = "TOTAL_AND_REVENUE_AMOUNT_DIFFERENT"
|
||||||
|
TRANSFER_DISCOUNT_GREATER_THAN_ALLOCATED = (
|
||||||
|
"TRANSFER_DISCOUNT_GREATER_THAN_ALLOCATED"
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class FixedOriginDestinationApportionmentErrorsAuditExchange(BaseModel):
|
||||||
|
"""
|
||||||
|
clr_contract_settlement_get: Apportionment error raised during an
|
||||||
|
apportionment plugin execution.
|
||||||
|
|
||||||
|
:ivar error_type:
|
||||||
|
:ivar product_code: The type of product of the contract instance if
|
||||||
|
it is a transit product. Dictionary prefix: ProductCode
|
||||||
|
:ivar table_id: The matrix applied for this apportionment.
|
||||||
|
:ivar origin_point_id:
|
||||||
|
:ivar destination_point_id:
|
||||||
|
:ivar amount: The total amount (the price of the leg).
|
||||||
|
:ivar apportioned_revenue: The total revenue to be apportioned among
|
||||||
|
all the stakeholder (this apportionment is a fraction of it)
|
||||||
|
:ivar media_serial_number:
|
||||||
|
"""
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
error_type: ApportionmentErrorType = field(
|
||||||
|
metadata={
|
||||||
|
"name": "ErrorType",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
product_code: None | LocalizedProductCode = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "ProductCode",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
table_id: None | str = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "TableId",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
origin_point_id: None | str = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "OriginPointId",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
destination_point_id: None | str = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "DestinationPointId",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
amount: None | Decimal = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "Amount",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
apportioned_revenue: None | Decimal = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "ApportionedRevenue",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
media_serial_number: None | str = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "MediaSerialNumber",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class AuditMessageType(BaseModel):
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
headers: None | HeadersType = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "Headers",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
payload: FixedOriginDestinationApportionmentErrorsAuditExchange = field(
|
||||||
|
metadata={
|
||||||
|
"name": "Payload",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class AuditMessagesType(BaseModel):
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
audit_message: list[AuditMessageType] = field(
|
||||||
|
default_factory=list,
|
||||||
|
metadata={
|
||||||
|
"name": "AuditMessage",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
fixed_origin_destination_apportionment_errors_xsd_version: str = field(
|
||||||
|
const=True,
|
||||||
|
default="1.0",
|
||||||
|
metadata={
|
||||||
|
"name": "FixedOriginDestinationApportionmentErrorsXsdVersion",
|
||||||
|
"type": "Attribute",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class AuditMessages(AuditMessagesType):
|
||||||
|
class Meta:
|
||||||
|
namespace = "http://www.thales.dc/FixedOriginDestinationApportionmentErrors"
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
@ -0,0 +1,242 @@
|
|||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from decimal import Decimal
|
||||||
|
from enum import Enum
|
||||||
|
|
||||||
|
from pydantic import BaseModel, ConfigDict
|
||||||
|
from xsdata.models.datatype import XmlDateTime
|
||||||
|
from xsdata_pydantic.fields import field
|
||||||
|
|
||||||
|
from es_elt.xml.common.headers import HeadersType
|
||||||
|
from es_elt.xml.common.localized import (
|
||||||
|
LocalizedBusinessEntity,
|
||||||
|
LocalizedBusinessEntityRoleType,
|
||||||
|
)
|
||||||
|
|
||||||
|
__NAMESPACE__ = "http://www.thales.dc/ManualSettlementItemAudit"
|
||||||
|
|
||||||
|
|
||||||
|
class ManualSettlementItemStatus(Enum):
|
||||||
|
PENDING = "PENDING"
|
||||||
|
CANCELLED = "CANCELLED"
|
||||||
|
SETTLED = "SETTLED"
|
||||||
|
|
||||||
|
|
||||||
|
class ManualSettlementItemExchange(BaseModel):
|
||||||
|
"""
|
||||||
|
clr_manual_settlement_item_post: At manual settlement item creation
|
||||||
|
clr_manual_settlement_item_put: At manual settlement item update
|
||||||
|
clr_manual_settlement_item_delete: At manual settlement item delete.
|
||||||
|
|
||||||
|
:ivar manual_settlement_item_id: Manual settlement item Id
|
||||||
|
:ivar payer_id: The stakeholder who will be debited money
|
||||||
|
:ivar payer_role_type: Retailer, Card Owner, Product Owner,
|
||||||
|
Transporter...
|
||||||
|
:ivar payer_account: The account from which the money will be
|
||||||
|
debited.
|
||||||
|
:ivar payee_id: The stakeholder who will be credited money
|
||||||
|
:ivar payee_role_type: Retailer, Card Owner, Product Owner,
|
||||||
|
Transporter...
|
||||||
|
:ivar payee_account: The account to where the money will be
|
||||||
|
credited.
|
||||||
|
:ivar amount: The amount of the transfer.
|
||||||
|
:ivar last_modification_date: Date of last change of the settlement
|
||||||
|
item.
|
||||||
|
:ivar creation_date: Date of creation of the settlement item.
|
||||||
|
:ivar execution_date: Date of creation or update of the settlement
|
||||||
|
item.
|
||||||
|
:ivar application_date: Application date of the settlement item.
|
||||||
|
:ivar user_id: The unique identifier of the user who created ou
|
||||||
|
updated Settlement Item.
|
||||||
|
:ivar clearing_period: The settlement period id.
|
||||||
|
:ivar manual_settlement_item_status: The type of the rule
|
||||||
|
:ivar reason: The reason of created or modification manual
|
||||||
|
settlement item
|
||||||
|
:ivar sequence: The ordering sequence number of this settlement
|
||||||
|
period.
|
||||||
|
"""
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
manual_settlement_item_id: str = field(
|
||||||
|
metadata={
|
||||||
|
"name": "ManualSettlementItemId",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
payer_id: LocalizedBusinessEntity = field(
|
||||||
|
metadata={
|
||||||
|
"name": "PayerId",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
payer_role_type: LocalizedBusinessEntityRoleType = field(
|
||||||
|
metadata={
|
||||||
|
"name": "PayerRoleType",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
payer_account: str = field(
|
||||||
|
metadata={
|
||||||
|
"name": "PayerAccount",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
payee_id: LocalizedBusinessEntity = field(
|
||||||
|
metadata={
|
||||||
|
"name": "PayeeId",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
payee_role_type: LocalizedBusinessEntityRoleType = field(
|
||||||
|
metadata={
|
||||||
|
"name": "PayeeRoleType",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
payee_account: str = field(
|
||||||
|
metadata={
|
||||||
|
"name": "PayeeAccount",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
amount: None | Decimal = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "Amount",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
last_modification_date: None | XmlDateTime = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "LastModificationDate",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
creation_date: XmlDateTime = field(
|
||||||
|
metadata={
|
||||||
|
"name": "CreationDate",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
execution_date: None | XmlDateTime = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "ExecutionDate",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
application_date: XmlDateTime = field(
|
||||||
|
metadata={
|
||||||
|
"name": "ApplicationDate",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
user_id: str = field(
|
||||||
|
metadata={
|
||||||
|
"name": "UserId",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
clearing_period: None | str = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "ClearingPeriod",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
manual_settlement_item_status: ManualSettlementItemStatus = field(
|
||||||
|
metadata={
|
||||||
|
"name": "ManualSettlementItemStatus",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
reason: None | str = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "Reason",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
sequence: None | int = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "Sequence",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class AuditMessageType(BaseModel):
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
headers: None | HeadersType = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "Headers",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
payload: ManualSettlementItemExchange = field(
|
||||||
|
metadata={
|
||||||
|
"name": "Payload",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class AuditMessagesType(BaseModel):
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
audit_message: list[AuditMessageType] = field(
|
||||||
|
default_factory=list,
|
||||||
|
metadata={
|
||||||
|
"name": "AuditMessage",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
manual_settlement_item_xsd_version: str = field(
|
||||||
|
const=True,
|
||||||
|
default="1.0",
|
||||||
|
metadata={
|
||||||
|
"name": "ManualSettlementItemXsdVersion",
|
||||||
|
"type": "Attribute",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class AuditMessages(AuditMessagesType):
|
||||||
|
class Meta:
|
||||||
|
namespace = "http://www.thales.dc/ManualSettlementItemAudit"
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
@ -0,0 +1,253 @@
|
|||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from pydantic import BaseModel, ConfigDict
|
||||||
|
from xsdata_pydantic.fields import field
|
||||||
|
|
||||||
|
from es_elt.xml.common.clearing_item_type import FeeData
|
||||||
|
from es_elt.xml.common.headers import HeadersType
|
||||||
|
|
||||||
|
__NAMESPACE__ = "http://www.thales.dc/MediaConsumptionsApportionment"
|
||||||
|
|
||||||
|
|
||||||
|
class LegErrorCodes(BaseModel):
|
||||||
|
class Meta:
|
||||||
|
global_type = False
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
error_code: list[str] = field(
|
||||||
|
default_factory=list,
|
||||||
|
metadata={
|
||||||
|
"name": "ErrorCode",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class Leg(BaseModel):
|
||||||
|
"""
|
||||||
|
:ivar leg_id: Unique identifier for a leg. Between multiple
|
||||||
|
reconstructions, the legId will be kept constant if the leg did
|
||||||
|
not change
|
||||||
|
:ivar contract_id: This leg is taken into account in this contract.
|
||||||
|
If empty, it means this leg is not taken into account for
|
||||||
|
apportionment purpose
|
||||||
|
:ivar error_codes:
|
||||||
|
"""
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
leg_id: str = field(
|
||||||
|
metadata={
|
||||||
|
"name": "LegId",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
contract_id: None | str = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "ContractId",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
error_codes: None | LegErrorCodes = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "ErrorCodes",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class MediaConsumptionApportionmentFees(BaseModel):
|
||||||
|
class Meta:
|
||||||
|
global_type = False
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
fee: list[FeeData] = field(
|
||||||
|
default_factory=list,
|
||||||
|
metadata={
|
||||||
|
"name": "Fee",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class JourneyLegs(BaseModel):
|
||||||
|
class Meta:
|
||||||
|
global_type = False
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
leg: list[Leg] = field(
|
||||||
|
default_factory=list,
|
||||||
|
metadata={
|
||||||
|
"name": "Leg",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class Journey(BaseModel):
|
||||||
|
"""
|
||||||
|
:ivar journey_id: Unique identifier for a journey. Between multiple
|
||||||
|
reconstructions, the journeyId will be kept constant if the
|
||||||
|
journey did not change
|
||||||
|
:ivar legs: Legs
|
||||||
|
"""
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
journey_id: str = field(
|
||||||
|
metadata={
|
||||||
|
"name": "JourneyId",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
legs: None | JourneyLegs = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "Legs",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class MediaConsumptionApportionmentJourneys(BaseModel):
|
||||||
|
class Meta:
|
||||||
|
global_type = False
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
journey: list[Journey] = field(
|
||||||
|
default_factory=list,
|
||||||
|
metadata={
|
||||||
|
"name": "Journey",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class MediaConsumptionApportionment(BaseModel):
|
||||||
|
"""
|
||||||
|
:ivar daily_media_consumption_id:
|
||||||
|
:ivar journeys: Journeys
|
||||||
|
:ivar fees: Fees information
|
||||||
|
"""
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
daily_media_consumption_id: str = field(
|
||||||
|
metadata={
|
||||||
|
"name": "DailyMediaConsumptionId",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
journeys: None | MediaConsumptionApportionmentJourneys = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "Journeys",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
fees: None | MediaConsumptionApportionmentFees = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "Fees",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class MediaConsumptionsApportionmentAuditExchangeMediaConsumptionApportionments(
|
||||||
|
BaseModel
|
||||||
|
):
|
||||||
|
class Meta:
|
||||||
|
global_type = False
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
media_consumption_apportionment: list[MediaConsumptionApportionment] = field(
|
||||||
|
default_factory=list,
|
||||||
|
metadata={
|
||||||
|
"name": "MediaConsumptionApportionment",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class MediaConsumptionsApportionmentAuditExchange(BaseModel):
|
||||||
|
"""
|
||||||
|
clr_str_media_consumptions_apportionment: After reception of a new
|
||||||
|
journey reconstruction and rating.
|
||||||
|
|
||||||
|
:ivar media_consumption_apportionments: Media consumptions
|
||||||
|
"""
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
media_consumption_apportionments: (
|
||||||
|
None | MediaConsumptionsApportionmentAuditExchangeMediaConsumptionApportionments
|
||||||
|
) = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "MediaConsumptionApportionments",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class AuditMessageType(BaseModel):
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
headers: None | HeadersType = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "Headers",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
payload: MediaConsumptionsApportionmentAuditExchange = field(
|
||||||
|
metadata={
|
||||||
|
"name": "Payload",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class AuditMessagesType(BaseModel):
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
audit_message: list[AuditMessageType] = field(
|
||||||
|
default_factory=list,
|
||||||
|
metadata={
|
||||||
|
"name": "AuditMessage",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
media_consumptions_apportionment_xsd_version: str = field(
|
||||||
|
const=True,
|
||||||
|
default="1.1",
|
||||||
|
metadata={
|
||||||
|
"name": "MediaConsumptionsApportionmentXsdVersion",
|
||||||
|
"type": "Attribute",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class AuditMessages(AuditMessagesType):
|
||||||
|
class Meta:
|
||||||
|
namespace = "http://www.thales.dc/MediaConsumptionsApportionment"
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
360
es_elt/src/es_elt/xml/audit_data/clr/settlement_period.py
Normal file
360
es_elt/src/es_elt/xml/audit_data/clr/settlement_period.py
Normal file
@ -0,0 +1,360 @@
|
|||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from decimal import Decimal
|
||||||
|
|
||||||
|
from pydantic import BaseModel, ConfigDict
|
||||||
|
from xsdata.models.datatype import XmlDateTime
|
||||||
|
from xsdata_pydantic.fields import field
|
||||||
|
|
||||||
|
from es_elt.xml.common.headers import HeadersType
|
||||||
|
from es_elt.xml.common.localized import LocalizedBusinessEntity
|
||||||
|
|
||||||
|
__NAMESPACE__ = "http://www.thales.dc/SettlementPeriod"
|
||||||
|
|
||||||
|
|
||||||
|
class SettlementPeriodApportionmentExchange(BaseModel):
|
||||||
|
"""
|
||||||
|
Apportionment from a payer to a payee's account during a settlement
|
||||||
|
period.
|
||||||
|
|
||||||
|
:ivar amount: The amount of the transfer.
|
||||||
|
:ivar payee_account: The account to where the money will be
|
||||||
|
credited.
|
||||||
|
:ivar payee_id: The stakeholder who will be credited money
|
||||||
|
:ivar payer_account: The account from which the money will be
|
||||||
|
debited.
|
||||||
|
:ivar payer_id: The stakeholder who will be debited money
|
||||||
|
"""
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
amount: None | Decimal = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "Amount",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
payee_account: None | str = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "PayeeAccount",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
payee_id: None | LocalizedBusinessEntity = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "PayeeId",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
payer_account: None | str = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "PayerAccount",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
payer_id: None | LocalizedBusinessEntity = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "PayerId",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class StakeholderAccountBalanceExchange(BaseModel):
|
||||||
|
"""
|
||||||
|
Total value per stakeholder for a given apportionment (i.e. set of
|
||||||
|
daily media journeys reconstructions).
|
||||||
|
|
||||||
|
:ivar account:
|
||||||
|
:ivar amount:
|
||||||
|
:ivar stakeholder_id: Aka business entity id
|
||||||
|
"""
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
account: None | str = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "Account",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
amount: None | Decimal = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "Amount",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
stakeholder_id: None | LocalizedBusinessEntity = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "StakeholderId",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class Balances(BaseModel):
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
balance: list[StakeholderAccountBalanceExchange] = field(
|
||||||
|
default_factory=list,
|
||||||
|
metadata={
|
||||||
|
"name": "Balance",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class FeeSettlements(BaseModel):
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
fee_settlement: list[SettlementPeriodApportionmentExchange] = field(
|
||||||
|
default_factory=list,
|
||||||
|
metadata={
|
||||||
|
"name": "FeeSettlement",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class ManualSettlements(BaseModel):
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
manual_settlement: list[SettlementPeriodApportionmentExchange] = field(
|
||||||
|
default_factory=list,
|
||||||
|
metadata={
|
||||||
|
"name": "ManualSettlement",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class ProductApportionments(BaseModel):
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
product_apportionment: list[SettlementPeriodApportionmentExchange] = field(
|
||||||
|
default_factory=list,
|
||||||
|
metadata={
|
||||||
|
"name": "ProductApportionment",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class Settlements(BaseModel):
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
settlement: list[SettlementPeriodApportionmentExchange] = field(
|
||||||
|
default_factory=list,
|
||||||
|
metadata={
|
||||||
|
"name": "Settlement",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class SettlementPeriodExchange(BaseModel):
|
||||||
|
"""
|
||||||
|
clr_settlement_get: At settlement period creation or update
|
||||||
|
Apportionments for a settlement period.
|
||||||
|
|
||||||
|
:ivar clearing_date_time: Date of computation of the apportionments
|
||||||
|
of the settlement period.
|
||||||
|
:ivar closing_date_time: Closing date of the settlement period.
|
||||||
|
:ivar creation_date_time: Creation date of the settlement period.
|
||||||
|
:ivar creation_event_id: The unique identifier of the related event.
|
||||||
|
:ivar previous_clearing_period_id: The settlement period preceding
|
||||||
|
the current one.
|
||||||
|
:ivar reference_date_time: Reference date of the settlement period
|
||||||
|
(used for TFN). Used for displaying/grouping by week to overload
|
||||||
|
creationDate
|
||||||
|
:ivar sequence: The ordering sequence number of this settlement
|
||||||
|
period.
|
||||||
|
:ivar clearing_period_id: The settlement period.
|
||||||
|
:ivar signature: The signature of this settlement period.
|
||||||
|
:ivar settlements: Apportionment between stakeholders during the
|
||||||
|
settlement period.
|
||||||
|
:ivar product_apportionments: Apportionment between stakeholders
|
||||||
|
during the settlement period.
|
||||||
|
:ivar manual_settlements: Apportionment between stakeholders during
|
||||||
|
the settlement period.
|
||||||
|
:ivar fee_settlements: Fee distribution between stakeholders during
|
||||||
|
the settlement period.
|
||||||
|
:ivar balances: The balances of operations for each stakeholder
|
||||||
|
during the settlement period.
|
||||||
|
"""
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
clearing_date_time: None | XmlDateTime = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "ClearingDateTime",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
closing_date_time: None | XmlDateTime = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "ClosingDateTime",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
creation_date_time: None | XmlDateTime = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "CreationDateTime",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
creation_event_id: None | str = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "CreationEventId",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
previous_clearing_period_id: None | str = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "PreviousClearingPeriodId",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
reference_date_time: None | XmlDateTime = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "ReferenceDateTime",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
sequence: None | int = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "Sequence",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
clearing_period_id: None | str = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "ClearingPeriodId",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
signature: None | bytes = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "Signature",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"format": "base64",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
settlements: None | Settlements = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "Settlements",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
product_apportionments: None | ProductApportionments = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "ProductApportionments",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
manual_settlements: None | ManualSettlements = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "ManualSettlements",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
fee_settlements: None | FeeSettlements = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "FeeSettlements",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
balances: None | Balances = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "Balances",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class AuditMessageType(BaseModel):
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
headers: None | HeadersType = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "Headers",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
payload: SettlementPeriodExchange = field(
|
||||||
|
metadata={
|
||||||
|
"name": "Payload",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class AuditMessagesType(BaseModel):
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
audit_message: list[AuditMessageType] = field(
|
||||||
|
default_factory=list,
|
||||||
|
metadata={
|
||||||
|
"name": "AuditMessage",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
settlement_period_xsd_version: str = field(
|
||||||
|
const=True,
|
||||||
|
default="1.0",
|
||||||
|
metadata={
|
||||||
|
"name": "SettlementPeriodXsdVersion",
|
||||||
|
"type": "Attribute",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class AuditMessages(AuditMessagesType):
|
||||||
|
class Meta:
|
||||||
|
namespace = "http://www.thales.dc/SettlementPeriod"
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
@ -0,0 +1,325 @@
|
|||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from decimal import Decimal
|
||||||
|
|
||||||
|
from pydantic import BaseModel, ConfigDict
|
||||||
|
from xsdata.models.datatype import XmlDateTime
|
||||||
|
from xsdata_pydantic.fields import field
|
||||||
|
|
||||||
|
from es_elt.xml.common.clearing_item_type import (
|
||||||
|
ApportionmentItemsType,
|
||||||
|
ApportionmentItemType,
|
||||||
|
ElementarySettlementItemType,
|
||||||
|
SettlementItemsType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.common.headers import HeadersType
|
||||||
|
from es_elt.xml.common.media_identification import MediaIdentification
|
||||||
|
|
||||||
|
__NAMESPACE__ = "http://www.thales.dc/TransactionApportionment"
|
||||||
|
|
||||||
|
|
||||||
|
class TransactionRuleDetailPtomContractTypes(BaseModel):
|
||||||
|
class Meta:
|
||||||
|
global_type = False
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
ptom_contract_type: list[int] = field(
|
||||||
|
default_factory=list,
|
||||||
|
metadata={
|
||||||
|
"name": "PtomContractType",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class TransactionRuleDetailApportionmentItems(BaseModel):
|
||||||
|
class Meta:
|
||||||
|
global_type = False
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
apportionment_item: list[ApportionmentItemType] = field(
|
||||||
|
default_factory=list,
|
||||||
|
metadata={
|
||||||
|
"name": "ApportionmentItem",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class TransactionRuleDetailSettlementItems(BaseModel):
|
||||||
|
class Meta:
|
||||||
|
global_type = False
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
settlement_item: list[ElementarySettlementItemType] = field(
|
||||||
|
default_factory=list,
|
||||||
|
metadata={
|
||||||
|
"name": "SettlementItem",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class TransactionRuleDetail(BaseModel):
|
||||||
|
"""
|
||||||
|
Results of apportionment calculation.
|
||||||
|
|
||||||
|
:ivar rule_id: The name of the rule
|
||||||
|
:ivar apportionment_items: The apportionment result for this rule.
|
||||||
|
If the
|
||||||
|
:ivar settlement_items: Individual money transfer
|
||||||
|
:ivar error:
|
||||||
|
:ivar error_message:
|
||||||
|
:ivar ptom_contract_types:
|
||||||
|
"""
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
rule_id: str = field(
|
||||||
|
metadata={
|
||||||
|
"name": "RuleId",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
apportionment_items: None | TransactionRuleDetailApportionmentItems = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "ApportionmentItems",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
settlement_items: None | TransactionRuleDetailSettlementItems = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "SettlementItems",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
error: None | bool = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "Error",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
error_message: None | str = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "ErrorMessage",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
ptom_contract_types: None | TransactionRuleDetailPtomContractTypes = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "PtomContractTypes",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class TransactionApportionmentAuditExchangeTransactionRuleDetails(BaseModel):
|
||||||
|
class Meta:
|
||||||
|
global_type = False
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
transaction_rule_detail: list[TransactionRuleDetail] = field(
|
||||||
|
default_factory=list,
|
||||||
|
metadata={
|
||||||
|
"name": "TransactionRuleDetail",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class TransactionApportionmentAuditExchange(BaseModel):
|
||||||
|
"""
|
||||||
|
clr_transaction_apportionment_get: At apportionment creation
|
||||||
|
Apportionment of an independent transaction (stored value debit, stored
|
||||||
|
value credit, ...).
|
||||||
|
|
||||||
|
:ivar transaction_type:
|
||||||
|
:ivar apportionment_items:
|
||||||
|
:ivar transaction_rule_details: Sorted rule details
|
||||||
|
:ivar settlement_items:
|
||||||
|
:ivar amount_to_apportion: The total revenue to be apportioned among
|
||||||
|
all the stakeholder
|
||||||
|
:ivar transaction_context_id: The contract as an instance of a
|
||||||
|
product, possibly on a media.
|
||||||
|
:ivar media_identification: The media holding the contract
|
||||||
|
:ivar processing_date:
|
||||||
|
:ivar clearing_version: The version of the clearing parameters.
|
||||||
|
:ivar best_effort: In case of an apportionment of an amount lower
|
||||||
|
than the revenue: If true, will perform the apportionment the
|
||||||
|
best way possible. If false, will do nothing for the
|
||||||
|
apportionment.
|
||||||
|
:ivar sequence: The ordering sequence number of this contract's
|
||||||
|
apportionment.
|
||||||
|
:ivar settlement_period_id:
|
||||||
|
:ivar settlement_period_creation_date_time:
|
||||||
|
"""
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
transaction_type: None | str = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "TransactionType",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
apportionment_items: None | ApportionmentItemsType = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "ApportionmentItems",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
transaction_rule_details: (
|
||||||
|
None | TransactionApportionmentAuditExchangeTransactionRuleDetails
|
||||||
|
) = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "TransactionRuleDetails",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
settlement_items: None | SettlementItemsType = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "SettlementItems",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
amount_to_apportion: Decimal = field(
|
||||||
|
metadata={
|
||||||
|
"name": "AmountToApportion",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
transaction_context_id: str = field(
|
||||||
|
metadata={
|
||||||
|
"name": "TransactionContextId",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
media_identification: None | MediaIdentification = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "MediaIdentification",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
processing_date: None | XmlDateTime = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "ProcessingDate",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
clearing_version: str = field(
|
||||||
|
metadata={
|
||||||
|
"name": "ClearingVersion",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
best_effort: None | bool = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "BestEffort",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
sequence: int = field(
|
||||||
|
metadata={
|
||||||
|
"name": "Sequence",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
settlement_period_id: str = field(
|
||||||
|
metadata={
|
||||||
|
"name": "SettlementPeriodId",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
settlement_period_creation_date_time: XmlDateTime = field(
|
||||||
|
metadata={
|
||||||
|
"name": "SettlementPeriodCreationDateTime",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class AuditMessageType(BaseModel):
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
headers: None | HeadersType = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "Headers",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
payload: TransactionApportionmentAuditExchange = field(
|
||||||
|
metadata={
|
||||||
|
"name": "Payload",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class AuditMessagesType(BaseModel):
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
audit_message: list[AuditMessageType] = field(
|
||||||
|
default_factory=list,
|
||||||
|
metadata={
|
||||||
|
"name": "AuditMessage",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
transaction_apportionment_xsd_version: str = field(
|
||||||
|
const=True,
|
||||||
|
default="1.0",
|
||||||
|
metadata={
|
||||||
|
"name": "TransactionApportionmentXsdVersion",
|
||||||
|
"type": "Attribute",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class AuditMessages(AuditMessagesType):
|
||||||
|
class Meta:
|
||||||
|
namespace = "http://www.thales.dc/TransactionApportionment"
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
71
es_elt/src/es_elt/xml/audit_data/cmm/__init__.py
Normal file
71
es_elt/src/es_elt/xml/audit_data/cmm/__init__.py
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
from es_elt.xml.audit_data.cmm.customer import AuditMessages as AuditMessages
|
||||||
|
from es_elt.xml.audit_data.cmm.customer import AuditMessagesType as AuditMessagesType
|
||||||
|
from es_elt.xml.audit_data.cmm.customer import AuditMessageType as AuditMessageType
|
||||||
|
from es_elt.xml.audit_data.cmm.customer import (
|
||||||
|
CustomerAccountAuditExchange,
|
||||||
|
CustomerAccountAuditExchangeAttachedMedia,
|
||||||
|
CustomerAccountAuditExchangeCustomerProfiles,
|
||||||
|
CustomerAccountAuditExchangeCustomerProfilesCustomerProfile,
|
||||||
|
CustomerAccountAuditExchangeNotificationChannelConfigurations,
|
||||||
|
CustomerAccountAuditExchangeNotificationChannelConfigurationsNotificationChannelConfiguration,
|
||||||
|
CustomerAccountAuditExchangeNotificationChannelConfigurationsNotificationChannelConfigurationNotificationChannelTypeConfigurations,
|
||||||
|
CustomerAccountAuditExchangeNotificationChannelConfigurationsNotificationChannelConfigurationNotificationChannelTypeConfigurationsNotificationChannelTypeConfiguration,
|
||||||
|
CustomerMedia,
|
||||||
|
CustomerStatus,
|
||||||
|
CustomerType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.cmm.customer_profile import (
|
||||||
|
AuditMessages as ProfileAuditMessages,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.cmm.customer_profile import (
|
||||||
|
AuditMessagesType as ProfileAuditMessagesType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.cmm.customer_profile import (
|
||||||
|
AuditMessageType as ProfileAuditMessageType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.cmm.customer_profile import (
|
||||||
|
CustomerExplicitProfileAudit,
|
||||||
|
CustomerProfileAuditExchange,
|
||||||
|
CustomerProfileAuditExchangeCustomerExplicitProfiles,
|
||||||
|
CustomerProfileAuditExchangeCustomerImplicitProfileAudit,
|
||||||
|
ProfileStatus,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.cmm.payment_means import (
|
||||||
|
AuditMessages as PaymentMeansAuditMessages,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.cmm.payment_means import (
|
||||||
|
AuditMessagesType as PaymentMeansAuditMessagesType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.cmm.payment_means import (
|
||||||
|
AuditMessageType as PaymentMeansAuditMessageType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.cmm.payment_means import PaymentMeansAuditExchange
|
||||||
|
|
||||||
|
__all__ = [
|
||||||
|
"AuditMessageType",
|
||||||
|
"AuditMessages",
|
||||||
|
"AuditMessagesType",
|
||||||
|
"CustomerAccountAuditExchange",
|
||||||
|
"CustomerAccountAuditExchangeAttachedMedia",
|
||||||
|
"CustomerAccountAuditExchangeCustomerProfiles",
|
||||||
|
"CustomerAccountAuditExchangeCustomerProfilesCustomerProfile",
|
||||||
|
"CustomerAccountAuditExchangeNotificationChannelConfigurations",
|
||||||
|
"CustomerAccountAuditExchangeNotificationChannelConfigurationsNotificationChannelConfiguration",
|
||||||
|
"CustomerAccountAuditExchangeNotificationChannelConfigurationsNotificationChannelConfigurationNotificationChannelTypeConfigurations",
|
||||||
|
"CustomerAccountAuditExchangeNotificationChannelConfigurationsNotificationChannelConfigurationNotificationChannelTypeConfigurationsNotificationChannelTypeConfiguration",
|
||||||
|
"CustomerMedia",
|
||||||
|
"CustomerStatus",
|
||||||
|
"CustomerType",
|
||||||
|
"ProfileAuditMessageType",
|
||||||
|
"ProfileAuditMessages",
|
||||||
|
"ProfileAuditMessagesType",
|
||||||
|
"CustomerExplicitProfileAudit",
|
||||||
|
"CustomerProfileAuditExchange",
|
||||||
|
"CustomerProfileAuditExchangeCustomerExplicitProfiles",
|
||||||
|
"CustomerProfileAuditExchangeCustomerImplicitProfileAudit",
|
||||||
|
"ProfileStatus",
|
||||||
|
"PaymentMeansAuditMessageType",
|
||||||
|
"PaymentMeansAuditMessages",
|
||||||
|
"PaymentMeansAuditMessagesType",
|
||||||
|
"PaymentMeansAuditExchange",
|
||||||
|
]
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
447
es_elt/src/es_elt/xml/audit_data/cmm/customer.py
Normal file
447
es_elt/src/es_elt/xml/audit_data/cmm/customer.py
Normal file
@ -0,0 +1,447 @@
|
|||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from enum import Enum
|
||||||
|
|
||||||
|
from pydantic import BaseModel, ConfigDict
|
||||||
|
from xsdata.models.datatype import XmlDate, XmlDateTime
|
||||||
|
from xsdata_pydantic.fields import field
|
||||||
|
|
||||||
|
from es_elt.xml.common.headers import HeadersType
|
||||||
|
|
||||||
|
__NAMESPACE__ = "http://www.thales.dc/Customer"
|
||||||
|
|
||||||
|
|
||||||
|
class CustomerAccountAuditExchangeCustomerProfilesCustomerProfile(BaseModel):
|
||||||
|
"""
|
||||||
|
:ivar profile_id: To get profile name, please reference to system
|
||||||
|
parameters
|
||||||
|
:ivar start_date: Start date of the profile
|
||||||
|
:ivar expiry_date: Expiry date of the profile
|
||||||
|
:ivar update_date: Last update date of the profile
|
||||||
|
"""
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
global_type = False
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
profile_id: None | int = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "ProfileId",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
start_date: None | XmlDate = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "StartDate",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
expiry_date: None | XmlDate = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "ExpiryDate",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
update_date: None | XmlDate = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "UpdateDate",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class CustomerAccountAuditExchangeNotificationChannelConfigurationsNotificationChannelConfigurationNotificationChannelTypeConfigurationsNotificationChannelTypeConfiguration(
|
||||||
|
BaseModel
|
||||||
|
):
|
||||||
|
class Meta:
|
||||||
|
global_type = False
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
notification_channel_type: None | str = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "NotificationChannelType",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
activation_status: None | bool = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "ActivationStatus",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class CustomerMedia(BaseModel):
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
media_id: None | str = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "MediaId",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
media_serial_number: None | str = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "MediaSerialNumber",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
media_type_id: None | int = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "MediaTypeId",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class CustomerStatus(Enum):
|
||||||
|
"""
|
||||||
|
Customer Status enumeration.
|
||||||
|
"""
|
||||||
|
|
||||||
|
INITIALIZED = "INITIALIZED"
|
||||||
|
ENABLED = "ENABLED"
|
||||||
|
BLOCKED = "BLOCKED"
|
||||||
|
CLOSED = "CLOSED"
|
||||||
|
DISABLED = "DISABLED"
|
||||||
|
|
||||||
|
|
||||||
|
class CustomerType(Enum):
|
||||||
|
INDIVIDUAL = "INDIVIDUAL"
|
||||||
|
ORGANIZATION = "ORGANIZATION"
|
||||||
|
|
||||||
|
|
||||||
|
class CustomerAccountAuditExchangeAttachedMedia(BaseModel):
|
||||||
|
class Meta:
|
||||||
|
global_type = False
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
attached_media: list[CustomerMedia] = field(
|
||||||
|
default_factory=list,
|
||||||
|
metadata={
|
||||||
|
"name": "AttachedMedia",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class CustomerAccountAuditExchangeCustomerProfiles(BaseModel):
|
||||||
|
class Meta:
|
||||||
|
global_type = False
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
customer_profile: list[
|
||||||
|
CustomerAccountAuditExchangeCustomerProfilesCustomerProfile
|
||||||
|
] = field(
|
||||||
|
default_factory=list,
|
||||||
|
metadata={
|
||||||
|
"name": "CustomerProfile",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class CustomerAccountAuditExchangeNotificationChannelConfigurationsNotificationChannelConfigurationNotificationChannelTypeConfigurations(
|
||||||
|
BaseModel
|
||||||
|
):
|
||||||
|
class Meta:
|
||||||
|
global_type = False
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
notification_channel_type_configuration: list[
|
||||||
|
CustomerAccountAuditExchangeNotificationChannelConfigurationsNotificationChannelConfigurationNotificationChannelTypeConfigurationsNotificationChannelTypeConfiguration
|
||||||
|
] = field(
|
||||||
|
default_factory=list,
|
||||||
|
metadata={
|
||||||
|
"name": "NotificationChannelTypeConfiguration",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class CustomerAccountAuditExchangeNotificationChannelConfigurationsNotificationChannelConfiguration(
|
||||||
|
BaseModel
|
||||||
|
):
|
||||||
|
class Meta:
|
||||||
|
global_type = False
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
notification_type: None | str = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "NotificationType",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
notification_channel_type_configurations: CustomerAccountAuditExchangeNotificationChannelConfigurationsNotificationChannelConfigurationNotificationChannelTypeConfigurations = field(
|
||||||
|
metadata={
|
||||||
|
"name": "NotificationChannelTypeConfigurations",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class CustomerAccountAuditExchangeNotificationChannelConfigurations(BaseModel):
|
||||||
|
class Meta:
|
||||||
|
global_type = False
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
notification_channel_configuration: list[
|
||||||
|
CustomerAccountAuditExchangeNotificationChannelConfigurationsNotificationChannelConfiguration
|
||||||
|
] = field(
|
||||||
|
default_factory=list,
|
||||||
|
metadata={
|
||||||
|
"name": "NotificationChannelConfiguration",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class CustomerAccountAuditExchange(BaseModel):
|
||||||
|
"""
|
||||||
|
cmm_customers_post: At customer creation cmm_customer_put: At customer
|
||||||
|
update cmm_customer_delete: At customer delete
|
||||||
|
cmm_customer_status_post: At customer block it's account
|
||||||
|
cmm_customer_medias_post: At media attachment to a customer
|
||||||
|
cmm_customer_media_delete: At media detachment from a customer
|
||||||
|
cmm_customer_profile_post: At profile attached to customer.
|
||||||
|
|
||||||
|
:ivar birth_date: Birth date of the customer
|
||||||
|
:ivar city: City associated to post code
|
||||||
|
:ivar country: Country name
|
||||||
|
:ivar customer_id:
|
||||||
|
:ivar customer_number:
|
||||||
|
:ivar customer_type: Type of customer : individual or organization
|
||||||
|
Dictionary prefix: CustomerType
|
||||||
|
:ivar nationality: Nationality (country ISO code)
|
||||||
|
:ivar postal_code: Address post code
|
||||||
|
:ivar state: State (only USA)
|
||||||
|
:ivar title: Title of the customer. Mr, Mrs, Miss
|
||||||
|
:ivar version: Monotonic version of the data
|
||||||
|
:ivar attached_media: Media attached to customer
|
||||||
|
:ivar customer_status: Customer Account Status
|
||||||
|
:ivar date:
|
||||||
|
:ivar user_id:
|
||||||
|
:ivar realm:
|
||||||
|
:ivar notification_channel_configurations: Audit Notification
|
||||||
|
:ivar customer_profiles: Customer Profiles
|
||||||
|
"""
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
birth_date: None | XmlDate = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "BirthDate",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
city: None | str = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "City",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
country: None | str = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "Country",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
customer_id: None | str = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "CustomerId",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
customer_number: None | str = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "CustomerNumber",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
customer_type: None | CustomerType = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "CustomerType",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
nationality: None | str = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "Nationality",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
postal_code: None | str = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "PostalCode",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
state: None | str = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "State",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
title: None | str = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "Title",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
version: None | int = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "Version",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
attached_media: None | CustomerAccountAuditExchangeAttachedMedia = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "AttachedMedia",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
customer_status: None | CustomerStatus = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "CustomerStatus",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
date: None | XmlDateTime = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "Date",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
user_id: None | str = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "UserId",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
realm: None | str = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "Realm",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
notification_channel_configurations: (
|
||||||
|
None | CustomerAccountAuditExchangeNotificationChannelConfigurations
|
||||||
|
) = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "NotificationChannelConfigurations",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
customer_profiles: None | CustomerAccountAuditExchangeCustomerProfiles = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "CustomerProfiles",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class AuditMessageType(BaseModel):
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
headers: None | HeadersType = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "Headers",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
payload: CustomerAccountAuditExchange = field(
|
||||||
|
metadata={
|
||||||
|
"name": "Payload",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class AuditMessagesType(BaseModel):
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
audit_message: list[AuditMessageType] = field(
|
||||||
|
default_factory=list,
|
||||||
|
metadata={
|
||||||
|
"name": "AuditMessage",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
customer_xsd_version: str = field(
|
||||||
|
const=True,
|
||||||
|
default="1.0",
|
||||||
|
metadata={
|
||||||
|
"name": "CustomerXsdVersion",
|
||||||
|
"type": "Attribute",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class AuditMessages(AuditMessagesType):
|
||||||
|
class Meta:
|
||||||
|
namespace = "http://www.thales.dc/Customer"
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
238
es_elt/src/es_elt/xml/audit_data/cmm/customer_profile.py
Normal file
238
es_elt/src/es_elt/xml/audit_data/cmm/customer_profile.py
Normal file
@ -0,0 +1,238 @@
|
|||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from enum import Enum
|
||||||
|
|
||||||
|
from pydantic import BaseModel, ConfigDict
|
||||||
|
from xsdata.models.datatype import XmlDate
|
||||||
|
from xsdata_pydantic.fields import field
|
||||||
|
|
||||||
|
from es_elt.xml.common.headers import HeadersType
|
||||||
|
|
||||||
|
__NAMESPACE__ = "http://www.thales.dc/CustomerProfile"
|
||||||
|
|
||||||
|
|
||||||
|
class ProfileStatus(Enum):
|
||||||
|
"""
|
||||||
|
Customer profile status enumeration.
|
||||||
|
"""
|
||||||
|
|
||||||
|
REJECTED = "REJECTED"
|
||||||
|
PENDING_VALIDATION = "PENDING_VALIDATION"
|
||||||
|
VALIDATED = "VALIDATED"
|
||||||
|
EXPIRED = "EXPIRED"
|
||||||
|
|
||||||
|
|
||||||
|
class CustomerExplicitProfileAudit(BaseModel):
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
profile_id: int = field(
|
||||||
|
metadata={
|
||||||
|
"name": "ProfileId",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
profile_number: str = field(
|
||||||
|
metadata={
|
||||||
|
"name": "ProfileNumber",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
start_validity_date: None | XmlDate = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "StartValidityDate",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
end_validity_date: None | XmlDate = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "EndValidityDate",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
profile_status: None | ProfileStatus = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "ProfileStatus",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class CustomerProfileAuditExchangeCustomerImplicitProfileAudit(BaseModel):
|
||||||
|
class Meta:
|
||||||
|
global_type = False
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
profile_id: None | str = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "ProfileId",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
profile_number: str = field(
|
||||||
|
metadata={
|
||||||
|
"name": "ProfileNumber",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
customer_birth_date: XmlDate = field(
|
||||||
|
metadata={
|
||||||
|
"name": "CustomerBirthDate",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
profile_status: None | ProfileStatus = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "ProfileStatus",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class CustomerProfileAuditExchangeCustomerExplicitProfiles(BaseModel):
|
||||||
|
class Meta:
|
||||||
|
global_type = False
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
customer_explicit_profile: list[CustomerExplicitProfileAudit] = field(
|
||||||
|
default_factory=list,
|
||||||
|
metadata={
|
||||||
|
"name": "CustomerExplicitProfile",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class CustomerProfileAuditExchange(BaseModel):
|
||||||
|
"""
|
||||||
|
cmm_customers_profile_add: At customer profile creation
|
||||||
|
cmm_customers_profile_edit: At customer profile update
|
||||||
|
cmm_customers_profile_validation: At customer profile validation
|
||||||
|
cmm_customers_profile_remove: At customer profile delete
|
||||||
|
cmm_customers_profile_all_remove: At customer profile delete all.
|
||||||
|
|
||||||
|
:ivar customer_id:
|
||||||
|
:ivar request_date:
|
||||||
|
:ivar update_date:
|
||||||
|
:ivar comment:
|
||||||
|
:ivar customer_explicit_profiles: Customer Explicit Profile
|
||||||
|
:ivar customer_implicit_profile_audit: Customer Implicit Profile
|
||||||
|
"""
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
customer_id: str = field(
|
||||||
|
metadata={
|
||||||
|
"name": "CustomerId",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
request_date: None | XmlDate = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "RequestDate",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
update_date: None | XmlDate = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "UpdateDate",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
comment: None | str = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "Comment",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
customer_explicit_profiles: (
|
||||||
|
None | CustomerProfileAuditExchangeCustomerExplicitProfiles
|
||||||
|
) = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "CustomerExplicitProfiles",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
customer_implicit_profile_audit: (
|
||||||
|
None | CustomerProfileAuditExchangeCustomerImplicitProfileAudit
|
||||||
|
) = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "CustomerImplicitProfileAudit",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class AuditMessageType(BaseModel):
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
headers: None | HeadersType = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "Headers",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
payload: CustomerProfileAuditExchange = field(
|
||||||
|
metadata={
|
||||||
|
"name": "Payload",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class AuditMessagesType(BaseModel):
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
audit_message: list[AuditMessageType] = field(
|
||||||
|
default_factory=list,
|
||||||
|
metadata={
|
||||||
|
"name": "AuditMessage",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
customer_profile_xsd_version: str = field(
|
||||||
|
const=True,
|
||||||
|
default="1.0",
|
||||||
|
metadata={
|
||||||
|
"name": "CustomerProfileXsdVersion",
|
||||||
|
"type": "Attribute",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class AuditMessages(AuditMessagesType):
|
||||||
|
class Meta:
|
||||||
|
namespace = "http://www.thales.dc/CustomerProfile"
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
93
es_elt/src/es_elt/xml/audit_data/cmm/payment_means.py
Normal file
93
es_elt/src/es_elt/xml/audit_data/cmm/payment_means.py
Normal file
@ -0,0 +1,93 @@
|
|||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from pydantic import BaseModel, ConfigDict
|
||||||
|
from xsdata_pydantic.fields import field
|
||||||
|
|
||||||
|
from es_elt.xml.common.headers import HeadersType
|
||||||
|
|
||||||
|
__NAMESPACE__ = "http://www.thales.dc/PaymentMeans"
|
||||||
|
|
||||||
|
|
||||||
|
class PaymentMeansAuditExchange(BaseModel):
|
||||||
|
"""
|
||||||
|
cmm_customer_paymentAgreements_post: At payment agreement creation
|
||||||
|
cmm_customer_paymentAgreement_delete: At payment agreement deletion
|
||||||
|
Used to export payment means of a customer for analytics.
|
||||||
|
|
||||||
|
:ivar customer_id:
|
||||||
|
:ivar payment_mean_id:
|
||||||
|
:ivar version: Monotonic version of the data
|
||||||
|
"""
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
customer_id: None | str = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "CustomerId",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
payment_mean_id: None | str = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "PaymentMeanId",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
version: None | int = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "Version",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class AuditMessageType(BaseModel):
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
headers: None | HeadersType = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "Headers",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
payload: PaymentMeansAuditExchange = field(
|
||||||
|
metadata={
|
||||||
|
"name": "Payload",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class AuditMessagesType(BaseModel):
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
audit_message: list[AuditMessageType] = field(
|
||||||
|
default_factory=list,
|
||||||
|
metadata={
|
||||||
|
"name": "AuditMessage",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
payment_means_xsd_version: str = field(
|
||||||
|
const=True,
|
||||||
|
default="1.0",
|
||||||
|
metadata={
|
||||||
|
"name": "PaymentMeansXsdVersion",
|
||||||
|
"type": "Attribute",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class AuditMessages(AuditMessagesType):
|
||||||
|
class Meta:
|
||||||
|
namespace = "http://www.thales.dc/PaymentMeans"
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
75
es_elt/src/es_elt/xml/audit_data/daq/__init__.py
Normal file
75
es_elt/src/es_elt/xml/audit_data/daq/__init__.py
Normal file
@ -0,0 +1,75 @@
|
|||||||
|
from es_elt.xml.audit_data.daq.invalid_device_transaction import (
|
||||||
|
AuditMessages as DeviceTransactionAuditMessages,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.daq.invalid_device_transaction import (
|
||||||
|
AuditMessagesType as DeviceTransactionAuditMessagesType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.daq.invalid_device_transaction import (
|
||||||
|
AuditMessageType as DeviceTransactionAuditMessageType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.daq.invalid_device_transaction import (
|
||||||
|
InvalidDeviceTransaction,
|
||||||
|
InvalidDeviceTransactionErrorCodes,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.daq.invalid_message_batch import (
|
||||||
|
AuditMessages as MessageBatchAuditMessages,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.daq.invalid_message_batch import (
|
||||||
|
AuditMessagesType as MessageBatchAuditMessagesType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.daq.invalid_message_batch import (
|
||||||
|
AuditMessageType as MessageBatchAuditMessageType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.daq.invalid_message_batch import (
|
||||||
|
InvalidMessageBatchAuditExchange,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.daq.transaction_extended_data import (
|
||||||
|
AuditMessages as TransactionExtendedAuditMessages,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.daq.transaction_extended_data import (
|
||||||
|
AuditMessagesType as TransactionExtendedAuditMessagesType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.daq.transaction_extended_data import (
|
||||||
|
AuditMessageType as TransactionExtendedAuditMessageType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.daq.transaction_extended_data import (
|
||||||
|
EmvTagType,
|
||||||
|
TransactionExtendedDataAuditExchange,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.daq.validator_errors import (
|
||||||
|
AuditMessages as ValidatorErrorsAuditMessages,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.daq.validator_errors import (
|
||||||
|
AuditMessagesType as ValidatorErrorsAuditMessagesType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.daq.validator_errors import (
|
||||||
|
AuditMessageType as ValidatorErrorsAuditMessageType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.daq.validator_errors import (
|
||||||
|
ValidatorErrorExchange,
|
||||||
|
ValidatorErrorsExchange,
|
||||||
|
ValidatorErrorsExchangeValidatorErrorExchanges,
|
||||||
|
)
|
||||||
|
|
||||||
|
__all__ = [
|
||||||
|
"DeviceTransactionAuditMessageType",
|
||||||
|
"DeviceTransactionAuditMessages",
|
||||||
|
"DeviceTransactionAuditMessagesType",
|
||||||
|
"InvalidDeviceTransaction",
|
||||||
|
"InvalidDeviceTransactionErrorCodes",
|
||||||
|
"MessageBatchAuditMessageType",
|
||||||
|
"MessageBatchAuditMessages",
|
||||||
|
"MessageBatchAuditMessagesType",
|
||||||
|
"InvalidMessageBatchAuditExchange",
|
||||||
|
"TransactionExtendedAuditMessageType",
|
||||||
|
"TransactionExtendedAuditMessages",
|
||||||
|
"TransactionExtendedAuditMessagesType",
|
||||||
|
"EmvTagType",
|
||||||
|
"TransactionExtendedDataAuditExchange",
|
||||||
|
"ValidatorErrorsAuditMessageType",
|
||||||
|
"ValidatorErrorsAuditMessages",
|
||||||
|
"ValidatorErrorsAuditMessagesType",
|
||||||
|
"ValidatorErrorExchange",
|
||||||
|
"ValidatorErrorsExchange",
|
||||||
|
"ValidatorErrorsExchangeValidatorErrorExchanges",
|
||||||
|
]
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1,146 @@
|
|||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from pydantic import BaseModel, ConfigDict
|
||||||
|
from xsdata.models.datatype import XmlDateTime
|
||||||
|
from xsdata_pydantic.fields import field
|
||||||
|
|
||||||
|
from es_elt.xml.common.headers import HeadersType
|
||||||
|
|
||||||
|
__NAMESPACE__ = "http://www.thales.dc/InvalidDeviceTransaction"
|
||||||
|
|
||||||
|
|
||||||
|
class InvalidDeviceTransactionErrorCodes(BaseModel):
|
||||||
|
class Meta:
|
||||||
|
global_type = False
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
error_code: list[str] = field(
|
||||||
|
default_factory=list,
|
||||||
|
metadata={
|
||||||
|
"name": "ErrorCode",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class InvalidDeviceTransaction(BaseModel):
|
||||||
|
"""
|
||||||
|
daq_invalid_device_transaction: Represent an exception that happened
|
||||||
|
while a device post a message to DAQ, but its validation failed.
|
||||||
|
|
||||||
|
:ivar message:
|
||||||
|
:ivar transaction_id:
|
||||||
|
:ivar generation_date: Date and time of transaction's generation
|
||||||
|
:ivar device_tsn: Sequence number allocated to the transaction by
|
||||||
|
the device (unique by deviceId)
|
||||||
|
:ivar device_id: Device technical identifier
|
||||||
|
:ivar device_transaction_uid: Unique identifier allocated to the
|
||||||
|
transaction by the device (unique by deviceId).
|
||||||
|
:ivar error_codes:
|
||||||
|
"""
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
message: None | str = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "Message",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
transaction_id: str = field(
|
||||||
|
metadata={
|
||||||
|
"name": "TransactionId",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
generation_date: XmlDateTime = field(
|
||||||
|
metadata={
|
||||||
|
"name": "GenerationDate",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
device_tsn: None | int = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "DeviceTSN",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
device_id: str = field(
|
||||||
|
metadata={
|
||||||
|
"name": "DeviceId",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
device_transaction_uid: None | str = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "DeviceTransactionUid",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
error_codes: None | InvalidDeviceTransactionErrorCodes = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "ErrorCodes",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class AuditMessageType(BaseModel):
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
headers: None | HeadersType = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "Headers",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
payload: InvalidDeviceTransaction = field(
|
||||||
|
metadata={
|
||||||
|
"name": "Payload",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class AuditMessagesType(BaseModel):
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
audit_message: list[AuditMessageType] = field(
|
||||||
|
default_factory=list,
|
||||||
|
metadata={
|
||||||
|
"name": "AuditMessage",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
invalid_device_transaction_xsd_version: str = field(
|
||||||
|
const=True,
|
||||||
|
default="1.0",
|
||||||
|
metadata={
|
||||||
|
"name": "InvalidDeviceTransactionXsdVersion",
|
||||||
|
"type": "Attribute",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class AuditMessages(AuditMessagesType):
|
||||||
|
class Meta:
|
||||||
|
namespace = "http://www.thales.dc/InvalidDeviceTransaction"
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
@ -0,0 +1,80 @@
|
|||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from pydantic import BaseModel, ConfigDict
|
||||||
|
from xsdata_pydantic.fields import field
|
||||||
|
|
||||||
|
from es_elt.xml.common.headers import HeadersType
|
||||||
|
from es_elt.xml.common.transaction_exception_type import TransactionExceptionType
|
||||||
|
|
||||||
|
__NAMESPACE__ = "http://www.thales.dc/InvalidMessageBatch"
|
||||||
|
|
||||||
|
|
||||||
|
class InvalidMessageBatchAuditExchange(BaseModel):
|
||||||
|
"""
|
||||||
|
daq_invalid_message_batch: At reception of an invalid message batch.
|
||||||
|
"""
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
exception_type: TransactionExceptionType = field(
|
||||||
|
metadata={
|
||||||
|
"name": "ExceptionType",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
raw: str = field(
|
||||||
|
metadata={
|
||||||
|
"name": "Raw",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class AuditMessageType(BaseModel):
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
headers: None | HeadersType = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "Headers",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
payload: InvalidMessageBatchAuditExchange = field(
|
||||||
|
metadata={
|
||||||
|
"name": "Payload",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class AuditMessagesType(BaseModel):
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
audit_message: list[AuditMessageType] = field(
|
||||||
|
default_factory=list,
|
||||||
|
metadata={
|
||||||
|
"name": "AuditMessage",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
invalid_message_batch_xsd_version: str = field(
|
||||||
|
const=True,
|
||||||
|
default="1.0",
|
||||||
|
metadata={
|
||||||
|
"name": "InvalidMessageBatchXsdVersion",
|
||||||
|
"type": "Attribute",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class AuditMessages(AuditMessagesType):
|
||||||
|
class Meta:
|
||||||
|
namespace = "http://www.thales.dc/InvalidMessageBatch"
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
@ -0,0 +1,228 @@
|
|||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from enum import Enum
|
||||||
|
|
||||||
|
from pydantic import BaseModel, ConfigDict
|
||||||
|
from xsdata.models.datatype import XmlDate, XmlDateTime
|
||||||
|
from xsdata_pydantic.fields import field
|
||||||
|
|
||||||
|
from es_elt.xml.common.headers import HeadersType
|
||||||
|
|
||||||
|
__NAMESPACE__ = "http://www.thales.dc/TransactionExtendedData"
|
||||||
|
|
||||||
|
|
||||||
|
class EmvTagType(Enum):
|
||||||
|
PLASTIC_CARD = "PLASTIC_CARD"
|
||||||
|
MOBILE = "MOBILE"
|
||||||
|
WEARABLE = "WEARABLE"
|
||||||
|
UNREFERENCED = "UNREFERENCED"
|
||||||
|
OTHER = "OTHER"
|
||||||
|
|
||||||
|
|
||||||
|
class TransactionExtendedDataAuditExchange(BaseModel):
|
||||||
|
"""
|
||||||
|
:ivar media_serial_number:
|
||||||
|
:ivar issuer_country_code: Issuer Country Code in accordance with
|
||||||
|
ISO 3166 (num-3)
|
||||||
|
:ivar transaction_currency_code: Transaction Currency Code (from EMV
|
||||||
|
tag 5F2A) according to ISO 4217
|
||||||
|
:ivar payment_account_reference: TODO
|
||||||
|
:ivar issuer_name: Issuer's name
|
||||||
|
:ivar card_sub_type: Card's sub-type
|
||||||
|
:ivar payment_scheme_identification_mnemonic: Mnemonic according to
|
||||||
|
EMV tag 50
|
||||||
|
:ivar expiry_date: Validity end date of the travel event to be
|
||||||
|
processed
|
||||||
|
:ivar transaction_id: Transaction unique identifier. All duplicates
|
||||||
|
transactions got the same value. This field can be used either
|
||||||
|
by device message batches or bo message batches. It is set by
|
||||||
|
DAQ after transaction hash calculation.
|
||||||
|
:ivar bo_transaction_uid: ID set on transactions by Transcity system
|
||||||
|
used for hash calculation. It allows to identify duplicate bo
|
||||||
|
messages.
|
||||||
|
:ivar device_transaction_uid: Unique identifier allocated to the
|
||||||
|
transaction by the device (unique by deviceId)
|
||||||
|
:ivar generation_date: Date and time of transaction's generation
|
||||||
|
:ivar device_tsn: Sequence number allocated to the transaction by
|
||||||
|
the device (unique by deviceId)
|
||||||
|
:ivar device_id: Device technical identifier
|
||||||
|
:ivar ticketing_version:
|
||||||
|
:ivar form_factor: Type of media used
|
||||||
|
"""
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
media_serial_number: None | str = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "MediaSerialNumber",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
issuer_country_code: None | int = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "IssuerCountryCode",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
transaction_currency_code: None | str = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "TransactionCurrencyCode",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
payment_account_reference: None | str = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "PaymentAccountReference",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
issuer_name: None | str = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "IssuerName",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
card_sub_type: None | str = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "CardSubType",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
payment_scheme_identification_mnemonic: None | str = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "PaymentSchemeIdentificationMnemonic",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
expiry_date: None | XmlDate = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "ExpiryDate",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
transaction_id: str = field(
|
||||||
|
metadata={
|
||||||
|
"name": "TransactionId",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
bo_transaction_uid: None | str = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "BoTransactionUID",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
device_transaction_uid: None | str = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "DeviceTransactionUID",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
generation_date: XmlDateTime = field(
|
||||||
|
metadata={
|
||||||
|
"name": "GenerationDate",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
device_tsn: None | int = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "DeviceTSN",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
device_id: None | str = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "DeviceId",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
ticketing_version: None | str = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "TicketingVersion",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
form_factor: None | EmvTagType = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "FormFactor",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class AuditMessageType(BaseModel):
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
headers: None | HeadersType = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "Headers",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
payload: TransactionExtendedDataAuditExchange = field(
|
||||||
|
metadata={
|
||||||
|
"name": "Payload",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class AuditMessagesType(BaseModel):
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
audit_message: list[AuditMessageType] = field(
|
||||||
|
default_factory=list,
|
||||||
|
metadata={
|
||||||
|
"name": "AuditMessage",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
transaction_extended_data_xsd_version: str = field(
|
||||||
|
const=True,
|
||||||
|
default="1.0",
|
||||||
|
metadata={
|
||||||
|
"name": "TransactionExtendedDataXsdVersion",
|
||||||
|
"type": "Attribute",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class AuditMessages(AuditMessagesType):
|
||||||
|
class Meta:
|
||||||
|
namespace = "http://www.thales.dc/TransactionExtendedData"
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
108
es_elt/src/es_elt/xml/audit_data/daq/validator_errors.py
Normal file
108
es_elt/src/es_elt/xml/audit_data/daq/validator_errors.py
Normal file
@ -0,0 +1,108 @@
|
|||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from pydantic import BaseModel, ConfigDict
|
||||||
|
from xsdata_pydantic.fields import field
|
||||||
|
|
||||||
|
from es_elt.xml.common.headers import HeadersType
|
||||||
|
|
||||||
|
__NAMESPACE__ = "http://www.thales.dc/ValidatorErrors"
|
||||||
|
|
||||||
|
|
||||||
|
class ValidatorErrorExchange(BaseModel):
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
code: str = field(
|
||||||
|
metadata={
|
||||||
|
"name": "Code",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
description: str = field(
|
||||||
|
metadata={
|
||||||
|
"name": "Description",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class ValidatorErrorsExchangeValidatorErrorExchanges(BaseModel):
|
||||||
|
class Meta:
|
||||||
|
global_type = False
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
validator_error_exchange: list[ValidatorErrorExchange] = field(
|
||||||
|
default_factory=list,
|
||||||
|
metadata={
|
||||||
|
"name": "ValidatorErrorExchange",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class ValidatorErrorsExchange(BaseModel):
|
||||||
|
"""
|
||||||
|
daq_validations_errors_description: Represent an exception that
|
||||||
|
happened while a device post a message to DAQ, but its validation
|
||||||
|
failed.
|
||||||
|
"""
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
validator_error_exchanges: ValidatorErrorsExchangeValidatorErrorExchanges = field(
|
||||||
|
metadata={
|
||||||
|
"name": "ValidatorErrorExchanges",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class AuditMessageType(BaseModel):
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
headers: None | HeadersType = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "Headers",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
payload: ValidatorErrorsExchange = field(
|
||||||
|
metadata={
|
||||||
|
"name": "Payload",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class AuditMessagesType(BaseModel):
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
audit_message: list[AuditMessageType] = field(
|
||||||
|
default_factory=list,
|
||||||
|
metadata={
|
||||||
|
"name": "AuditMessage",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
validator_errors_xsd_version: str = field(
|
||||||
|
const=True,
|
||||||
|
default="1.0",
|
||||||
|
metadata={
|
||||||
|
"name": "ValidatorErrorsXsdVersion",
|
||||||
|
"type": "Attribute",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class AuditMessages(AuditMessagesType):
|
||||||
|
class Meta:
|
||||||
|
namespace = "http://www.thales.dc/ValidatorErrors"
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
49
es_elt/src/es_elt/xml/audit_data/dem/__init__.py
Normal file
49
es_elt/src/es_elt/xml/audit_data/dem/__init__.py
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
from es_elt.xml.audit_data.dem.device import AuditMessages as AuditMessages
|
||||||
|
from es_elt.xml.audit_data.dem.device import AuditMessagesType as AuditMessagesType
|
||||||
|
from es_elt.xml.audit_data.dem.device import AuditMessageType as AuditMessageType
|
||||||
|
from es_elt.xml.audit_data.dem.device import (
|
||||||
|
DeviceAuditExchange,
|
||||||
|
DeviceAuditExchangeDeviceSamData,
|
||||||
|
DeviceAuditExchangeTags,
|
||||||
|
DeviceSam,
|
||||||
|
DeviceSamStatus,
|
||||||
|
DeviceSamType,
|
||||||
|
DeviceStatus,
|
||||||
|
LocalizedDeviceSamStatus,
|
||||||
|
LocalizedDeviceSamType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.dem.device_conf_items_version_update import (
|
||||||
|
AuditMessages as ConfItemsVersionUpdateAuditMessages,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.dem.device_conf_items_version_update import (
|
||||||
|
AuditMessagesType as ConfItemsVersionUpdateAuditMessagesType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.dem.device_conf_items_version_update import (
|
||||||
|
AuditMessageType as ConfItemsVersionUpdateAuditMessageType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.dem.device_conf_items_version_update import (
|
||||||
|
DeviceConfItemsVersionUpdateAuditExchange,
|
||||||
|
DeviceConfItemVersion,
|
||||||
|
DeviceConfItemVersions,
|
||||||
|
)
|
||||||
|
|
||||||
|
__all__ = [
|
||||||
|
"AuditMessageType",
|
||||||
|
"AuditMessages",
|
||||||
|
"AuditMessagesType",
|
||||||
|
"DeviceAuditExchange",
|
||||||
|
"DeviceAuditExchangeDeviceSamData",
|
||||||
|
"DeviceAuditExchangeTags",
|
||||||
|
"DeviceSam",
|
||||||
|
"DeviceSamStatus",
|
||||||
|
"DeviceSamType",
|
||||||
|
"DeviceStatus",
|
||||||
|
"LocalizedDeviceSamStatus",
|
||||||
|
"LocalizedDeviceSamType",
|
||||||
|
"ConfItemsVersionUpdateAuditMessageType",
|
||||||
|
"ConfItemsVersionUpdateAuditMessages",
|
||||||
|
"ConfItemsVersionUpdateAuditMessagesType",
|
||||||
|
"DeviceConfItemVersion",
|
||||||
|
"DeviceConfItemVersions",
|
||||||
|
"DeviceConfItemsVersionUpdateAuditExchange",
|
||||||
|
]
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
294
es_elt/src/es_elt/xml/audit_data/dem/device.py
Normal file
294
es_elt/src/es_elt/xml/audit_data/dem/device.py
Normal file
@ -0,0 +1,294 @@
|
|||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from enum import Enum
|
||||||
|
|
||||||
|
from pydantic import BaseModel, ConfigDict
|
||||||
|
from xsdata.models.datatype import XmlDuration
|
||||||
|
from xsdata_pydantic.fields import field
|
||||||
|
|
||||||
|
from es_elt.xml.common.headers import HeadersType
|
||||||
|
|
||||||
|
__NAMESPACE__ = "http://www.thales.dc/Device"
|
||||||
|
|
||||||
|
|
||||||
|
class DeviceAuditExchangeTags(BaseModel):
|
||||||
|
class Meta:
|
||||||
|
global_type = False
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
tag: list[str] = field(
|
||||||
|
default_factory=list,
|
||||||
|
metadata={
|
||||||
|
"name": "Tag",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class DeviceSamStatus(Enum):
|
||||||
|
UNKNOWN = "UNKNOWN"
|
||||||
|
VALID = "VALID"
|
||||||
|
REVOKED = "REVOKED"
|
||||||
|
|
||||||
|
|
||||||
|
class DeviceSamType(Enum):
|
||||||
|
TICKETING = "TICKETING"
|
||||||
|
BANKING = "BANKING"
|
||||||
|
|
||||||
|
|
||||||
|
class DeviceStatus(Enum):
|
||||||
|
IN_OPERATION = "IN_OPERATION"
|
||||||
|
OUT_OF_OPERATION = "OUT_OF_OPERATION"
|
||||||
|
DENIED = "DENIED"
|
||||||
|
|
||||||
|
|
||||||
|
class LocalizedDeviceSamStatus(BaseModel):
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
value: DeviceSamStatus = field(
|
||||||
|
metadata={
|
||||||
|
"name": "Value",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
label: str = field(
|
||||||
|
metadata={
|
||||||
|
"name": "Label",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class LocalizedDeviceSamType(BaseModel):
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
value: DeviceSamType = field(
|
||||||
|
metadata={
|
||||||
|
"name": "Value",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
label: str = field(
|
||||||
|
metadata={
|
||||||
|
"name": "Label",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class DeviceSam(BaseModel):
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
device_sam_id: None | str = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "DeviceSamId",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
device_sam_status: None | LocalizedDeviceSamStatus = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "DeviceSamStatus",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
device_sam_type: None | LocalizedDeviceSamType = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "DeviceSamType",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class DeviceAuditExchangeDeviceSamData(BaseModel):
|
||||||
|
class Meta:
|
||||||
|
global_type = False
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
device_sam_data: list[DeviceSam] = field(
|
||||||
|
default_factory=list,
|
||||||
|
metadata={
|
||||||
|
"name": "DeviceSamData",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class DeviceAuditExchange(BaseModel):
|
||||||
|
"""
|
||||||
|
dem_devices_post: At device creation dem_device_post: At device update
|
||||||
|
dem_device_configuration_upload_post: At device configuration upload
|
||||||
|
Used to export payment means of a customer for analytics.
|
||||||
|
|
||||||
|
:ivar business_entity_id: Dictionary prefix: BusinessEntity
|
||||||
|
:ivar device_id: Device technical identifier
|
||||||
|
:ivar device_number: Device number
|
||||||
|
:ivar device_status: Dictionary prefix: DeviceStatus
|
||||||
|
:ivar device_type_id: Dictionary prefix: DeviceType
|
||||||
|
:ivar discrepancy_duration: Duration since discrepancyStatus has
|
||||||
|
changed from/to value = NO_DISCREPANCY
|
||||||
|
:ivar fare_point_id: Dictionary prefix: FarePointId
|
||||||
|
:ivar mobile: Is device mobile or fixed
|
||||||
|
:ivar offline: Is device offline
|
||||||
|
:ivar stock_entity_id: Id of the stock entity to which the device is
|
||||||
|
attached (can be empty)
|
||||||
|
:ivar device_sam_data: List of SAM associated to device
|
||||||
|
:ivar tags: List of tags associated to device
|
||||||
|
"""
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
business_entity_id: str = field(
|
||||||
|
metadata={
|
||||||
|
"name": "BusinessEntityId",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
device_id: str = field(
|
||||||
|
metadata={
|
||||||
|
"name": "DeviceId",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
device_number: str = field(
|
||||||
|
metadata={
|
||||||
|
"name": "DeviceNumber",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
device_status: DeviceStatus = field(
|
||||||
|
metadata={
|
||||||
|
"name": "DeviceStatus",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
device_type_id: int = field(
|
||||||
|
metadata={
|
||||||
|
"name": "DeviceTypeId",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
discrepancy_duration: None | XmlDuration = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "DiscrepancyDuration",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
fare_point_id: int = field(
|
||||||
|
metadata={
|
||||||
|
"name": "FarePointId",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
mobile: bool = field(
|
||||||
|
metadata={
|
||||||
|
"name": "Mobile",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
offline: bool = field(
|
||||||
|
metadata={
|
||||||
|
"name": "Offline",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
stock_entity_id: None | str = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "StockEntityId",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
device_sam_data: None | DeviceAuditExchangeDeviceSamData = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "DeviceSamData",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
tags: None | DeviceAuditExchangeTags = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "Tags",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class AuditMessageType(BaseModel):
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
headers: None | HeadersType = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "Headers",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
payload: DeviceAuditExchange = field(
|
||||||
|
metadata={
|
||||||
|
"name": "Payload",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class AuditMessagesType(BaseModel):
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
audit_message: list[AuditMessageType] = field(
|
||||||
|
default_factory=list,
|
||||||
|
metadata={
|
||||||
|
"name": "AuditMessage",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
device_xsd_version: str = field(
|
||||||
|
const=True,
|
||||||
|
default="1.0",
|
||||||
|
metadata={
|
||||||
|
"name": "DeviceXsdVersion",
|
||||||
|
"type": "Attribute",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class AuditMessages(AuditMessagesType):
|
||||||
|
class Meta:
|
||||||
|
namespace = "http://www.thales.dc/Device"
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
@ -0,0 +1,143 @@
|
|||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from pydantic import BaseModel, ConfigDict
|
||||||
|
from xsdata.models.datatype import XmlDateTime
|
||||||
|
from xsdata_pydantic.fields import field
|
||||||
|
|
||||||
|
from es_elt.xml.common.headers import HeadersType
|
||||||
|
|
||||||
|
__NAMESPACE__ = "http://www.thales.dc/DeviceConfItemsVersionUpdate"
|
||||||
|
|
||||||
|
|
||||||
|
class DeviceConfItemVersion(BaseModel):
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
conf_item_type: str = field(
|
||||||
|
metadata={
|
||||||
|
"name": "ConfItemType",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
conf_item_version: str = field(
|
||||||
|
metadata={
|
||||||
|
"name": "ConfItemVersion",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class DeviceConfItemVersions(BaseModel):
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
device_conf_item_version: list[DeviceConfItemVersion] = field(
|
||||||
|
default_factory=list,
|
||||||
|
metadata={
|
||||||
|
"name": "DeviceConfItemVersion",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"min_occurs": 1,
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class DeviceConfItemsVersionUpdateAuditExchange(BaseModel):
|
||||||
|
"""
|
||||||
|
dem_conf_items_version_update: At device configuration items update.
|
||||||
|
|
||||||
|
:ivar device_id:
|
||||||
|
:ivar device_name:
|
||||||
|
:ivar fare_point_id: Dictionary prefix: FarePointId
|
||||||
|
:ivar reception_date:
|
||||||
|
:ivar device_conf_item_versions:
|
||||||
|
"""
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
device_id: str = field(
|
||||||
|
metadata={
|
||||||
|
"name": "DeviceId",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
device_name: str = field(
|
||||||
|
metadata={
|
||||||
|
"name": "DeviceName",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
fare_point_id: int = field(
|
||||||
|
metadata={
|
||||||
|
"name": "FarePointId",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
reception_date: XmlDateTime = field(
|
||||||
|
metadata={
|
||||||
|
"name": "ReceptionDate",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
device_conf_item_versions: None | DeviceConfItemVersions = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "DeviceConfItemVersions",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class AuditMessageType(BaseModel):
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
headers: None | HeadersType = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "Headers",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
payload: DeviceConfItemsVersionUpdateAuditExchange = field(
|
||||||
|
metadata={
|
||||||
|
"name": "Payload",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class AuditMessagesType(BaseModel):
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
audit_message: list[AuditMessageType] = field(
|
||||||
|
default_factory=list,
|
||||||
|
metadata={
|
||||||
|
"name": "AuditMessage",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
device_conf_items_version_update_xsd_version: str = field(
|
||||||
|
const=True,
|
||||||
|
default="1.0",
|
||||||
|
metadata={
|
||||||
|
"name": "DeviceConfItemsVersionUpdateXsdVersion",
|
||||||
|
"type": "Attribute",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class AuditMessages(AuditMessagesType):
|
||||||
|
class Meta:
|
||||||
|
namespace = "http://www.thales.dc/DeviceConfItemsVersionUpdate"
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
45
es_elt/src/es_elt/xml/audit_data/dlm/__init__.py
Normal file
45
es_elt/src/es_elt/xml/audit_data/dlm/__init__.py
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
from es_elt.xml.audit_data.dlm.deny_action import AuditMessages as ActionAuditMessages
|
||||||
|
from es_elt.xml.audit_data.dlm.deny_action import (
|
||||||
|
AuditMessagesType as ActionAuditMessagesType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.dlm.deny_action import (
|
||||||
|
AuditMessageType as ActionAuditMessageType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.dlm.deny_action import (
|
||||||
|
ContractDenyActionExchange,
|
||||||
|
DenyActionAuditExchange,
|
||||||
|
DenyActionAuditExchangeContractsDenied,
|
||||||
|
DenyActionAuditExchangeMediaDenyActionsInformation,
|
||||||
|
LocalizedDenyActionStatus,
|
||||||
|
LocalizedDenyReasonCode,
|
||||||
|
MediaDenyActionExchange,
|
||||||
|
MediaDenyActionInformationExchange,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.dlm.issuer_deny import ActionStatus
|
||||||
|
from es_elt.xml.audit_data.dlm.issuer_deny import AuditMessages as IssuerAuditMessages
|
||||||
|
from es_elt.xml.audit_data.dlm.issuer_deny import (
|
||||||
|
AuditMessagesType as IssuerAuditMessagesType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.dlm.issuer_deny import (
|
||||||
|
AuditMessageType as IssuerAuditMessageType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.dlm.issuer_deny import IssuerDenyAuditExchange
|
||||||
|
|
||||||
|
__all__ = [
|
||||||
|
"ActionAuditMessageType",
|
||||||
|
"ActionAuditMessages",
|
||||||
|
"ActionAuditMessagesType",
|
||||||
|
"ContractDenyActionExchange",
|
||||||
|
"DenyActionAuditExchange",
|
||||||
|
"DenyActionAuditExchangeContractsDenied",
|
||||||
|
"DenyActionAuditExchangeMediaDenyActionsInformation",
|
||||||
|
"LocalizedDenyActionStatus",
|
||||||
|
"LocalizedDenyReasonCode",
|
||||||
|
"MediaDenyActionExchange",
|
||||||
|
"MediaDenyActionInformationExchange",
|
||||||
|
"ActionStatus",
|
||||||
|
"IssuerAuditMessageType",
|
||||||
|
"IssuerAuditMessages",
|
||||||
|
"IssuerAuditMessagesType",
|
||||||
|
"IssuerDenyAuditExchange",
|
||||||
|
]
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
327
es_elt/src/es_elt/xml/audit_data/dlm/deny_action.py
Normal file
327
es_elt/src/es_elt/xml/audit_data/dlm/deny_action.py
Normal file
@ -0,0 +1,327 @@
|
|||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from pydantic import BaseModel, ConfigDict
|
||||||
|
from xsdata.models.datatype import XmlDateTime
|
||||||
|
from xsdata_pydantic.fields import field
|
||||||
|
|
||||||
|
from es_elt.xml.common.deny_action_status import DenyActionStatus
|
||||||
|
from es_elt.xml.common.headers import HeadersType
|
||||||
|
|
||||||
|
__NAMESPACE__ = "http://www.thales.dc/DenyAction"
|
||||||
|
|
||||||
|
|
||||||
|
class LocalizedDenyReasonCode(BaseModel):
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
value: str = field(
|
||||||
|
metadata={
|
||||||
|
"name": "Value",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
label: str = field(
|
||||||
|
metadata={
|
||||||
|
"name": "Label",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class ContractDenyActionExchange(BaseModel):
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
action_date: None | XmlDateTime = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "ActionDate",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
contract_deny_list_sequence_number: None | int = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "ContractDenyListSequenceNumber",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
contract_serial_number: int = field(
|
||||||
|
metadata={
|
||||||
|
"name": "ContractSerialNumber",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
deny_reason: None | LocalizedDenyReasonCode = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "DenyReason",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
invalidation_date: None | XmlDateTime = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "InvalidationDate",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
reactivation_date: None | XmlDateTime = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "ReactivationDate",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
suspension_date: None | XmlDateTime = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "SuspensionDate",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class LocalizedDenyActionStatus(BaseModel):
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
value: None | DenyActionStatus = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "Value",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
label: None | str = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "Label",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class DenyActionAuditExchangeContractsDenied(BaseModel):
|
||||||
|
class Meta:
|
||||||
|
global_type = False
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
contracts_denied: list[ContractDenyActionExchange] = field(
|
||||||
|
default_factory=list,
|
||||||
|
metadata={
|
||||||
|
"name": "ContractsDenied",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class MediaDenyActionInformationExchange(BaseModel):
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
deny_reason: None | LocalizedDenyReasonCode = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "DenyReason",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
status: None | LocalizedDenyActionStatus = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "Status",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class MediaDenyActionExchange(BaseModel):
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
media_deny_action_information: None | MediaDenyActionInformationExchange = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "MediaDenyActionInformation",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
occurrence_date_time: None | XmlDateTime = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "OccurrenceDateTime",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
observation_date_time: None | XmlDateTime = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "ObservationDateTime",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class DenyActionAuditExchangeMediaDenyActionsInformation(BaseModel):
|
||||||
|
class Meta:
|
||||||
|
global_type = False
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
media_deny_actions_information: list[MediaDenyActionExchange] = field(
|
||||||
|
default_factory=list,
|
||||||
|
metadata={
|
||||||
|
"name": "MediaDenyActionsInformation",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class DenyActionAuditExchange(BaseModel):
|
||||||
|
"""
|
||||||
|
:ivar active: If true, this deny action is still active (for at
|
||||||
|
least a contract or the media
|
||||||
|
:ivar closure_date:
|
||||||
|
:ivar creation_date:
|
||||||
|
:ivar deny_action_id:
|
||||||
|
:ivar payment_id:
|
||||||
|
:ivar media_deny_actions_information: List of deny action for the
|
||||||
|
Media.
|
||||||
|
:ivar media_id:
|
||||||
|
:ivar media_serial_number:
|
||||||
|
:ivar contracts_denied:
|
||||||
|
"""
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
active: bool = field(
|
||||||
|
metadata={
|
||||||
|
"name": "Active",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
closure_date: None | XmlDateTime = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "ClosureDate",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
creation_date: XmlDateTime = field(
|
||||||
|
metadata={
|
||||||
|
"name": "CreationDate",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
deny_action_id: str = field(
|
||||||
|
metadata={
|
||||||
|
"name": "DenyActionId",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
payment_id: None | str = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "PaymentId",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
media_deny_actions_information: (
|
||||||
|
None | DenyActionAuditExchangeMediaDenyActionsInformation
|
||||||
|
) = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "MediaDenyActionsInformation",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
media_id: None | str = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "MediaId",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
media_serial_number: str = field(
|
||||||
|
metadata={
|
||||||
|
"name": "MediaSerialNumber",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
contracts_denied: None | DenyActionAuditExchangeContractsDenied = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "ContractsDenied",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class AuditMessageType(BaseModel):
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
headers: None | HeadersType = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "Headers",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
payload: DenyActionAuditExchange = field(
|
||||||
|
metadata={
|
||||||
|
"name": "Payload",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class AuditMessagesType(BaseModel):
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
audit_message: list[AuditMessageType] = field(
|
||||||
|
default_factory=list,
|
||||||
|
metadata={
|
||||||
|
"name": "AuditMessage",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
deny_action_xsd_version: str = field(
|
||||||
|
const=True,
|
||||||
|
default="1.0",
|
||||||
|
metadata={
|
||||||
|
"name": "DenyActionXsdVersion",
|
||||||
|
"type": "Attribute",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class AuditMessages(AuditMessagesType):
|
||||||
|
class Meta:
|
||||||
|
namespace = "http://www.thales.dc/DenyAction"
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
99
es_elt/src/es_elt/xml/audit_data/dlm/issuer_deny.py
Normal file
99
es_elt/src/es_elt/xml/audit_data/dlm/issuer_deny.py
Normal file
@ -0,0 +1,99 @@
|
|||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from enum import Enum
|
||||||
|
|
||||||
|
from pydantic import BaseModel, ConfigDict
|
||||||
|
from xsdata.models.datatype import XmlDateTime
|
||||||
|
from xsdata_pydantic.fields import field
|
||||||
|
|
||||||
|
from es_elt.xml.common.headers import HeadersType
|
||||||
|
|
||||||
|
__NAMESPACE__ = "http://www.thales.dc/IssuerDeny"
|
||||||
|
|
||||||
|
|
||||||
|
class ActionStatus(Enum):
|
||||||
|
ACTIVE = "ACTIVE"
|
||||||
|
CANCELED = "CANCELED"
|
||||||
|
|
||||||
|
|
||||||
|
class IssuerDenyAuditExchange(BaseModel):
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
modification_date: None | XmlDateTime = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "ModificationDate",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
agent_number: None | str = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "AgentNumber",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
card_issuer_number: str = field(
|
||||||
|
metadata={
|
||||||
|
"name": "CardIssuerNumber",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
status: ActionStatus = field(
|
||||||
|
metadata={
|
||||||
|
"name": "Status",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class AuditMessageType(BaseModel):
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
headers: None | HeadersType = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "Headers",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
payload: IssuerDenyAuditExchange = field(
|
||||||
|
metadata={
|
||||||
|
"name": "Payload",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
"required": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class AuditMessagesType(BaseModel):
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
|
audit_message: list[AuditMessageType] = field(
|
||||||
|
default_factory=list,
|
||||||
|
metadata={
|
||||||
|
"name": "AuditMessage",
|
||||||
|
"type": "Element",
|
||||||
|
"namespace": "",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
issuer_deny_xsd_version: str = field(
|
||||||
|
const=True,
|
||||||
|
default="1.0",
|
||||||
|
metadata={
|
||||||
|
"name": "IssuerDenyXsdVersion",
|
||||||
|
"type": "Attribute",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class AuditMessages(AuditMessagesType):
|
||||||
|
class Meta:
|
||||||
|
namespace = "http://www.thales.dc/IssuerDeny"
|
||||||
|
|
||||||
|
model_config = ConfigDict(defer_build=True)
|
||||||
324
es_elt/src/es_elt/xml/audit_data/mam/__init__.py
Normal file
324
es_elt/src/es_elt/xml/audit_data/mam/__init__.py
Normal file
@ -0,0 +1,324 @@
|
|||||||
|
from es_elt.xml.audit_data.mam.abt_purse import AbtPurseAuditExchange
|
||||||
|
from es_elt.xml.audit_data.mam.abt_purse import AuditMessages as AbtPurseAuditMessages
|
||||||
|
from es_elt.xml.audit_data.mam.abt_purse import (
|
||||||
|
AuditMessagesType as AbtPurseAuditMessagesType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.mam.abt_purse import (
|
||||||
|
AuditMessageType as AbtPurseAuditMessageType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.mam.abt_purse import OperationType, PurseFamily
|
||||||
|
from es_elt.xml.audit_data.mam.bulk_adjustment_execution_result import (
|
||||||
|
AuditMessages as BulkAdjustmentExecutionResultAuditMessages,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.mam.bulk_adjustment_execution_result import (
|
||||||
|
AuditMessagesType as BulkAdjustmentExecutionResultAuditMessagesType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.mam.bulk_adjustment_execution_result import (
|
||||||
|
AuditMessageType as BulkAdjustmentExecutionResultAuditMessageType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.mam.bulk_adjustment_execution_result import (
|
||||||
|
BulkAdjustmentExecutionResultAuditExchange,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.mam.bulk_adjustment_execution_start import (
|
||||||
|
AuditMessages as StartAuditMessages,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.mam.bulk_adjustment_execution_start import (
|
||||||
|
AuditMessagesType as StartAuditMessagesType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.mam.bulk_adjustment_execution_start import (
|
||||||
|
AuditMessageType as StartAuditMessageType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.mam.bulk_adjustment_execution_start import (
|
||||||
|
BulkAdjustmentExecutionStartAuditExchange,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.mam.contract_transfer import (
|
||||||
|
AuditMessages as ContractTransferAuditMessages,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.mam.contract_transfer import (
|
||||||
|
AuditMessagesType as ContractTransferAuditMessagesType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.mam.contract_transfer import (
|
||||||
|
AuditMessageType as ContractTransferAuditMessageType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.mam.contract_transfer import ContractTransferAuditExchange
|
||||||
|
from es_elt.xml.audit_data.mam.discarded_travel_event import (
|
||||||
|
AuditMessages as DiscardedTravelEventAuditMessages,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.mam.discarded_travel_event import (
|
||||||
|
AuditMessagesType as DiscardedTravelEventAuditMessagesType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.mam.discarded_travel_event import (
|
||||||
|
AuditMessageType as DiscardedTravelEventAuditMessageType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.mam.discarded_travel_event import (
|
||||||
|
DiscardedTravelEventAuditExchange,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.mam.media import AuditMessages as MediaAuditMessages
|
||||||
|
from es_elt.xml.audit_data.mam.media import AuditMessagesType as MediaAuditMessagesType
|
||||||
|
from es_elt.xml.audit_data.mam.media import AuditMessageType as MediaAuditMessageType
|
||||||
|
from es_elt.xml.audit_data.mam.media import (
|
||||||
|
MediaAuditExchange,
|
||||||
|
MediaStatus,
|
||||||
|
TransitContracts,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.mam.media_consumption_adjustment import (
|
||||||
|
AuditMessages as ConsumptionAdjustmentAuditMessages,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.mam.media_consumption_adjustment import (
|
||||||
|
AuditMessagesType as ConsumptionAdjustmentAuditMessagesType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.mam.media_consumption_adjustment import (
|
||||||
|
AuditMessageType as ConsumptionAdjustmentAuditMessageType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.mam.media_consumption_adjustment import (
|
||||||
|
MediaConsumptionAdjustmentAuditExchange,
|
||||||
|
MediaConsumptionAdjustmentAuditExchangeExcessFareAdjustment,
|
||||||
|
MediaConsumptionAdjustmentAuditExchangeMissingTravelEventAdjustment,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.mam.media_consumption_adjustment_cancellation import (
|
||||||
|
AuditMessages as CancellationAuditMessages,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.mam.media_consumption_adjustment_cancellation import (
|
||||||
|
AuditMessagesType as CancellationAuditMessagesType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.mam.media_consumption_adjustment_cancellation import (
|
||||||
|
AuditMessageType as CancellationAuditMessageType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.mam.media_consumption_adjustment_cancellation import (
|
||||||
|
MediaConsumptionAdjustmentCancellationAuditExchange,
|
||||||
|
MediaConsumptionAdjustmentCancellationAuditExchangeExcessFareAdjustment,
|
||||||
|
MediaConsumptionAdjustmentCancellationAuditExchangeMissingTravelEventAdjustment,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.mam.media_consumptions import (
|
||||||
|
AccessStatus,
|
||||||
|
AddedJourney,
|
||||||
|
AddedJourneys,
|
||||||
|
AddedLeg,
|
||||||
|
AddedLegs,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.mam.media_consumptions import (
|
||||||
|
AuditMessages as ConsumptionsAuditMessages,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.mam.media_consumptions import (
|
||||||
|
AuditMessagesType as ConsumptionsAuditMessagesType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.mam.media_consumptions import (
|
||||||
|
AuditMessageType as ConsumptionsAuditMessageType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.mam.media_consumptions import (
|
||||||
|
Journey,
|
||||||
|
JourneyLegs,
|
||||||
|
JourneyRatingDetail,
|
||||||
|
JourneyRatingDetailProductRatingDetails,
|
||||||
|
Leg,
|
||||||
|
MediaConsumptionExchange,
|
||||||
|
MediaConsumptionExchangeJourneys,
|
||||||
|
MediaConsumptionExchangeModifiedJourneys,
|
||||||
|
MediaConsumptionExchangeModifiedLegs,
|
||||||
|
MediaConsumptionListAuditExchange,
|
||||||
|
MediaConsumptionListAuditExchangeMediaConsumptions,
|
||||||
|
ProductFare,
|
||||||
|
ProductFareCrossedZones,
|
||||||
|
ProductFareLegIds,
|
||||||
|
ProductRatingDetail,
|
||||||
|
ProductRatingDetailProductFares,
|
||||||
|
RemovedJourney,
|
||||||
|
RemovedJourneys,
|
||||||
|
RemovedLeg,
|
||||||
|
RemovedLegs,
|
||||||
|
TravelEvent,
|
||||||
|
TravelEvents,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.mam.media_deny_access_notification import (
|
||||||
|
AuditMessages as DenyAccessNotificationAuditMessages,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.mam.media_deny_access_notification import (
|
||||||
|
AuditMessagesType as DenyAccessNotificationAuditMessagesType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.mam.media_deny_access_notification import (
|
||||||
|
AuditMessageType as DenyAccessNotificationAuditMessageType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.mam.media_deny_access_notification import (
|
||||||
|
MediaDenyAccessNotificationAuditExchange,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.mam.media_grace_expiry_notification import (
|
||||||
|
AuditMessages as GraceExpiryAuditMessages,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.mam.media_grace_expiry_notification import (
|
||||||
|
AuditMessagesType as GraceExpiryAuditMessagesType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.mam.media_grace_expiry_notification import (
|
||||||
|
AuditMessageType as GraceExpiryAuditMessageType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.mam.media_grace_expiry_notification import (
|
||||||
|
MediaGraceExpiryNotificationAuditExchange,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.mam.media_no_sale_expiry_notification import (
|
||||||
|
AuditMessages as NoSaleAuditMessages,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.mam.media_no_sale_expiry_notification import (
|
||||||
|
AuditMessagesType as NoSaleAuditMessagesType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.mam.media_no_sale_expiry_notification import (
|
||||||
|
AuditMessageType as NoSaleAuditMessageType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.mam.media_no_sale_expiry_notification import (
|
||||||
|
MediaNoSaleExpiryNotificationAuditExchange,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.mam.media_profile_expiry_notification import (
|
||||||
|
AuditMessages as ProfileAuditMessages,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.mam.media_profile_expiry_notification import (
|
||||||
|
AuditMessagesType as ProfileAuditMessagesType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.mam.media_profile_expiry_notification import (
|
||||||
|
AuditMessageType as ProfileAuditMessageType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.mam.media_profile_expiry_notification import (
|
||||||
|
ProfileExpiryDateNotificationAuditExchange,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.mam.media_reconstruction import (
|
||||||
|
AuditMessages as ReconstructionAuditMessages,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.mam.media_reconstruction import (
|
||||||
|
AuditMessagesType as ReconstructionAuditMessagesType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.mam.media_reconstruction import (
|
||||||
|
AuditMessageType as ReconstructionAuditMessageType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.mam.media_reconstruction import (
|
||||||
|
Media,
|
||||||
|
MediaReconstructionAuditExchange,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.mam.purse_usage import (
|
||||||
|
AuditMessages as PurseUsageAuditMessages,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.mam.purse_usage import (
|
||||||
|
AuditMessagesType as PurseUsageAuditMessagesType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.mam.purse_usage import (
|
||||||
|
AuditMessageType as PurseUsageAuditMessageType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.mam.purse_usage import (
|
||||||
|
PurseOrigin,
|
||||||
|
PurseUsageAuditExchange,
|
||||||
|
PurseUsageType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.mam.travel_event import (
|
||||||
|
AuditMessages as TravelEventAuditMessages,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.mam.travel_event import (
|
||||||
|
AuditMessagesType as TravelEventAuditMessagesType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.mam.travel_event import (
|
||||||
|
AuditMessageType as TravelEventAuditMessageType,
|
||||||
|
)
|
||||||
|
from es_elt.xml.audit_data.mam.travel_event import (
|
||||||
|
TravelEventAuditExchange,
|
||||||
|
TravelEventAuditType,
|
||||||
|
)
|
||||||
|
|
||||||
|
__all__ = [
|
||||||
|
"AbtPurseAuditExchange",
|
||||||
|
"AbtPurseAuditMessageType",
|
||||||
|
"AbtPurseAuditMessages",
|
||||||
|
"AbtPurseAuditMessagesType",
|
||||||
|
"OperationType",
|
||||||
|
"PurseFamily",
|
||||||
|
"BulkAdjustmentExecutionResultAuditMessageType",
|
||||||
|
"BulkAdjustmentExecutionResultAuditMessages",
|
||||||
|
"BulkAdjustmentExecutionResultAuditMessagesType",
|
||||||
|
"BulkAdjustmentExecutionResultAuditExchange",
|
||||||
|
"StartAuditMessageType",
|
||||||
|
"StartAuditMessages",
|
||||||
|
"StartAuditMessagesType",
|
||||||
|
"BulkAdjustmentExecutionStartAuditExchange",
|
||||||
|
"ContractTransferAuditMessageType",
|
||||||
|
"ContractTransferAuditMessages",
|
||||||
|
"ContractTransferAuditMessagesType",
|
||||||
|
"ContractTransferAuditExchange",
|
||||||
|
"DiscardedTravelEventAuditMessageType",
|
||||||
|
"DiscardedTravelEventAuditMessages",
|
||||||
|
"DiscardedTravelEventAuditMessagesType",
|
||||||
|
"DiscardedTravelEventAuditExchange",
|
||||||
|
"MediaAuditMessageType",
|
||||||
|
"MediaAuditMessages",
|
||||||
|
"MediaAuditMessagesType",
|
||||||
|
"MediaAuditExchange",
|
||||||
|
"MediaStatus",
|
||||||
|
"TransitContracts",
|
||||||
|
"ConsumptionAdjustmentAuditMessageType",
|
||||||
|
"ConsumptionAdjustmentAuditMessages",
|
||||||
|
"ConsumptionAdjustmentAuditMessagesType",
|
||||||
|
"MediaConsumptionAdjustmentAuditExchange",
|
||||||
|
"MediaConsumptionAdjustmentAuditExchangeExcessFareAdjustment",
|
||||||
|
"MediaConsumptionAdjustmentAuditExchangeMissingTravelEventAdjustment",
|
||||||
|
"CancellationAuditMessageType",
|
||||||
|
"CancellationAuditMessages",
|
||||||
|
"CancellationAuditMessagesType",
|
||||||
|
"MediaConsumptionAdjustmentCancellationAuditExchange",
|
||||||
|
"MediaConsumptionAdjustmentCancellationAuditExchangeExcessFareAdjustment",
|
||||||
|
"MediaConsumptionAdjustmentCancellationAuditExchangeMissingTravelEventAdjustment",
|
||||||
|
"AccessStatus",
|
||||||
|
"AddedJourney",
|
||||||
|
"AddedJourneys",
|
||||||
|
"AddedLeg",
|
||||||
|
"AddedLegs",
|
||||||
|
"ConsumptionsAuditMessageType",
|
||||||
|
"ConsumptionsAuditMessages",
|
||||||
|
"ConsumptionsAuditMessagesType",
|
||||||
|
"Journey",
|
||||||
|
"JourneyRatingDetail",
|
||||||
|
"JourneyRatingDetailProductRatingDetails",
|
||||||
|
"JourneyLegs",
|
||||||
|
"Leg",
|
||||||
|
"MediaConsumptionExchange",
|
||||||
|
"MediaConsumptionExchangeJourneys",
|
||||||
|
"MediaConsumptionExchangeModifiedJourneys",
|
||||||
|
"MediaConsumptionExchangeModifiedLegs",
|
||||||
|
"MediaConsumptionListAuditExchange",
|
||||||
|
"MediaConsumptionListAuditExchangeMediaConsumptions",
|
||||||
|
"ProductFare",
|
||||||
|
"ProductFareCrossedZones",
|
||||||
|
"ProductFareLegIds",
|
||||||
|
"ProductRatingDetail",
|
||||||
|
"ProductRatingDetailProductFares",
|
||||||
|
"RemovedJourney",
|
||||||
|
"RemovedJourneys",
|
||||||
|
"RemovedLeg",
|
||||||
|
"RemovedLegs",
|
||||||
|
"TravelEvent",
|
||||||
|
"TravelEvents",
|
||||||
|
"DenyAccessNotificationAuditMessageType",
|
||||||
|
"DenyAccessNotificationAuditMessages",
|
||||||
|
"DenyAccessNotificationAuditMessagesType",
|
||||||
|
"MediaDenyAccessNotificationAuditExchange",
|
||||||
|
"GraceExpiryAuditMessageType",
|
||||||
|
"GraceExpiryAuditMessages",
|
||||||
|
"GraceExpiryAuditMessagesType",
|
||||||
|
"MediaGraceExpiryNotificationAuditExchange",
|
||||||
|
"NoSaleAuditMessageType",
|
||||||
|
"NoSaleAuditMessages",
|
||||||
|
"NoSaleAuditMessagesType",
|
||||||
|
"MediaNoSaleExpiryNotificationAuditExchange",
|
||||||
|
"ProfileAuditMessageType",
|
||||||
|
"ProfileAuditMessages",
|
||||||
|
"ProfileAuditMessagesType",
|
||||||
|
"ProfileExpiryDateNotificationAuditExchange",
|
||||||
|
"ReconstructionAuditMessageType",
|
||||||
|
"ReconstructionAuditMessages",
|
||||||
|
"ReconstructionAuditMessagesType",
|
||||||
|
"Media",
|
||||||
|
"MediaReconstructionAuditExchange",
|
||||||
|
"PurseUsageAuditMessageType",
|
||||||
|
"PurseUsageAuditMessages",
|
||||||
|
"PurseUsageAuditMessagesType",
|
||||||
|
"PurseOrigin",
|
||||||
|
"PurseUsageAuditExchange",
|
||||||
|
"PurseUsageType",
|
||||||
|
"TravelEventAuditMessageType",
|
||||||
|
"TravelEventAuditMessages",
|
||||||
|
"TravelEventAuditMessagesType",
|
||||||
|
"TravelEventAuditExchange",
|
||||||
|
"TravelEventAuditType",
|
||||||
|
]
|
||||||
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user