gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-cashless2ecash] branch master updated: docs: improve documentatio


From: gnunet
Subject: [taler-cashless2ecash] branch master updated: docs: improve documentation
Date: Sun, 24 Mar 2024 21:54:22 +0100

This is an automated email from the git hooks/post-receive script.

joel-haeberli pushed a commit to branch master
in repository cashless2ecash.

The following commit(s) were added to refs/heads/master by this push:
     new 8d788b2  docs: improve documentation
8d788b2 is described below

commit 8d788b2b6a319deef49f267b8966bfe226bcbc20
Author: Joel-Haeberli <haebu@rubigen.ch>
AuthorDate: Sun Mar 24 21:53:55 2024 +0100

    docs: improve documentation
---
 c2ec/postgres.go                                   |   2 +-
 data/c2ec_schema.sql                               |   8 +-
 docs/content/abstract.tex                          |   8 +-
 docs/content/appendix/meeting_notes.tex            |  44 ++-
 docs/content/architecture/c2ec.tex                 | 113 +++++--
 docs/content/architecture/overview.tex             |  86 ++----
 docs/content/architecture/terminal.tex             |   0
 docs/content/architecture/wallee.tex               |  18 +-
 docs/content/architecture/wallet.tex               |   5 +
 docs/content/implementation/exchange.tex           |   2 +-
 docs/content/introduction/goal.tex                 |   6 +-
 docs/content/introduction/introduction.tex         |  43 +--
 docs/listings/specs/api-c2ec.txt                   | 342 +++++++++++++++++++++
 docs/listings/specs/nonce2ecash_api_spec.yml       | 115 -------
 docs/pictures/database/relationships.png           | Bin 0 -> 39397 bytes
 docs/pictures/database/table_terminal.png          | Bin 28726 -> 31455 bytes
 docs/pictures/database/table_terminal_provider.png | Bin 18150 -> 22439 bytes
 docs/pictures/database/table_withdrawal.png        | Bin 30494 -> 44391 bytes
 docs/pictures/diagrams/overview.png                | Bin 0 -> 41611 bytes
 .../diagrams/withdrawal-op-state-transition.png    | Bin 0 -> 17994 bytes
 docs/project.bib                                   |  42 +++
 docs/thesis.pdf                                    | Bin 1388029 -> 1463120 
bytes
 docs/thesis.tex                                    |  14 +-
 .../{nonce2ecash-erd => c2ec-erd}/anomalies.html   |   4 +-
 .../{nonce2ecash-erd => c2ec-erd}/anomalies.js     |   0
 .../admin-lte/bootstrap/css/bootstrap-theme.css    |   0
 .../bootstrap/css/bootstrap-theme.css.map          |   0
 .../bootstrap/css/bootstrap-theme.min.css          |   0
 .../bootstrap/css/bootstrap-theme.min.css.map      |   0
 .../bower/admin-lte/bootstrap/css/bootstrap.css    |   0
 .../admin-lte/bootstrap/css/bootstrap.css.map      |   0
 .../admin-lte/bootstrap/css/bootstrap.min.css      |   0
 .../admin-lte/bootstrap/css/bootstrap.min.css.map  |   0
 .../fonts/glyphicons-halflings-regular.eot         | Bin
 .../fonts/glyphicons-halflings-regular.svg         |   0
 .../fonts/glyphicons-halflings-regular.ttf         | Bin
 .../fonts/glyphicons-halflings-regular.woff        | Bin
 .../fonts/glyphicons-halflings-regular.woff2       | Bin
 .../bower/admin-lte/bootstrap/js/bootstrap.js      |   0
 .../bower/admin-lte/bootstrap/js/bootstrap.min.js  |   0
 .../bower/admin-lte/bootstrap/js/npm.js            |   0
 .../bower/admin-lte/dist/css/AdminLTE.css          |   0
 .../bower/admin-lte/dist/css/AdminLTE.min.css      |   0
 .../dist/css/alt/AdminLTE-bootstrap-social.css     |   0
 .../dist/css/alt/AdminLTE-bootstrap-social.min.css |   0
 .../dist/css/alt/AdminLTE-fullcalendar.css         |   0
 .../dist/css/alt/AdminLTE-fullcalendar.min.css     |   0
 .../admin-lte/dist/css/alt/AdminLTE-select2.css    |   0
 .../dist/css/alt/AdminLTE-select2.min.css          |   0
 .../dist/css/alt/AdminLTE-without-plugins.css      |   0
 .../dist/css/alt/AdminLTE-without-plugins.min.css  |   0
 .../admin-lte/dist/css/skins/skin-black-light.css  |   0
 .../dist/css/skins/skin-black-light.min.css        |   0
 .../bower/admin-lte/dist/css/skins/skin-black.css  |   0
 .../admin-lte/dist/css/skins/skin-black.min.css    |   0
 .../admin-lte/dist/css/skins/skin-blue-light.css   |   0
 .../dist/css/skins/skin-blue-light.min.css         |   0
 .../bower/admin-lte/dist/css/skins/skin-blue.css   |   0
 .../admin-lte/dist/css/skins/skin-blue.min.css     |   0
 .../admin-lte/dist/css/skins/skin-green-light.css  |   0
 .../dist/css/skins/skin-green-light.min.css        |   0
 .../bower/admin-lte/dist/css/skins/skin-green.css  |   0
 .../admin-lte/dist/css/skins/skin-green.min.css    |   0
 .../admin-lte/dist/css/skins/skin-purple-light.css |   0
 .../dist/css/skins/skin-purple-light.min.css       |   0
 .../bower/admin-lte/dist/css/skins/skin-purple.css |   0
 .../admin-lte/dist/css/skins/skin-purple.min.css   |   0
 .../admin-lte/dist/css/skins/skin-red-light.css    |   0
 .../dist/css/skins/skin-red-light.min.css          |   0
 .../bower/admin-lte/dist/css/skins/skin-red.css    |   0
 .../admin-lte/dist/css/skins/skin-red.min.css      |   0
 .../admin-lte/dist/css/skins/skin-yellow-light.css |   0
 .../dist/css/skins/skin-yellow-light.min.css       |   0
 .../bower/admin-lte/dist/css/skins/skin-yellow.css |   0
 .../admin-lte/dist/css/skins/skin-yellow.min.css   |   0
 .../bower/admin-lte/dist/js/app.js                 |   0
 .../bower/admin-lte/dist/js/app.min.js             |   0
 .../bower/admin-lte/dist/js/demo.js                |   0
 .../bower/admin-lte/dist/js/pages/dashboard.js     |   0
 .../bower/admin-lte/dist/js/pages/dashboard2.js    |   0
 .../bower/admin-lte/plugins/fastclick/fastclick.js |   0
 .../admin-lte/plugins/fastclick/fastclick.min.js   |   0
 .../admin-lte/plugins/jQuery/jquery-2.2.3.min.js   |   0
 .../bower/admin-lte/plugins/jQueryUI/jquery-ui.js  |   0
 .../admin-lte/plugins/jQueryUI/jquery-ui.min.js    |   0
 .../plugins/slimScroll/jquery.slimscroll.js        |   0
 .../plugins/slimScroll/jquery.slimscroll.min.js    |   0
 .../bower/anchor-js/anchor.min.js                  |   0
 .../bower/codemirror/codemirror.css                |   0
 .../bower/codemirror/codemirror.js                 |   0
 .../bower/codemirror/sql.js                        |   0
 .../datatables.net-bs/css/dataTables.bootstrap.css |   0
 .../css/dataTables.bootstrap.min.css               |   0
 .../datatables.net-bs/js/dataTables.bootstrap.js   |   0
 .../js/dataTables.bootstrap.min.js                 |   0
 .../css/buttons.bootstrap.css                      |   0
 .../css/buttons.bootstrap.min.css                  |   0
 .../js/buttons.bootstrap.js                        |   0
 .../js/buttons.bootstrap.min.js                    |   0
 .../bower/datatables.net-buttons/buttons.colVis.js |   0
 .../datatables.net-buttons/buttons.colVis.min.js   |   0
 .../bower/datatables.net-buttons/buttons.flash.js  |   0
 .../datatables.net-buttons/buttons.flash.min.js    |   0
 .../bower/datatables.net-buttons/buttons.html5.js  |   0
 .../datatables.net-buttons/buttons.html5.min.js    |   0
 .../bower/datatables.net-buttons/buttons.print.js  |   0
 .../datatables.net-buttons/buttons.print.min.js    |   0
 .../datatables.net-buttons/dataTables.buttons.js   |   0
 .../dataTables.buttons.min.js                      |   0
 .../bower/datatables.net/jquery.dataTables.min.js  |   0
 .../bower/font-awesome/css/font-awesome.css        |   0
 .../bower/font-awesome/css/font-awesome.css.map    |   0
 .../bower/font-awesome/css/font-awesome.min.css    |   0
 .../bower/font-awesome/fonts/FontAwesome.otf       | Bin
 .../font-awesome/fonts/fontawesome-webfont.eot     | Bin
 .../font-awesome/fonts/fontawesome-webfont.svg     |   0
 .../font-awesome/fonts/fontawesome-webfont.ttf     | Bin
 .../font-awesome/fonts/fontawesome-webfont.woff    | Bin
 .../font-awesome/fonts/fontawesome-webfont.woff2   | Bin
 .../bower/html5shiv/html5shiv.min.js               |   0
 .../bower/ionicons/css/ionicons.css                |   0
 .../bower/ionicons/css/ionicons.min.css            |   0
 .../bower/ionicons/fonts/ionicons.eot              | Bin
 .../bower/ionicons/fonts/ionicons.svg              |   0
 .../bower/ionicons/fonts/ionicons.ttf              | Bin
 .../bower/ionicons/fonts/ionicons.woff             | Bin
 .../bower/jquery/jquery.js                         |   0
 .../bower/js-xlsx/xlsx.full.min.js                 |   0
 .../bower/pdfmake/pdfmake.min.js                   |   0
 .../bower/pdfmake/vfs_fonts.js                     |   0
 .../bower/respond/respond.min.js                   |   0
 .../bower/salvattore/salvattore.css                |   0
 .../bower/salvattore/salvattore.min.js             |   0
 schemaspy/{nonce2ecash-erd => c2ec-erd}/column.js  |   0
 .../{nonce2ecash-erd => c2ec-erd}/columns.html     | 246 ++++++++++-----
 .../{nonce2ecash-erd => c2ec-erd}/constraint.js    |   0
 .../{nonce2ecash-erd => c2ec-erd}/constraints.html |  12 +-
 .../deletionOrder.txt                              |   0
 .../diagrams/orphans/orphans.dot                   |   0
 .../summary/relationships.real.compact.dot         |  13 +-
 .../diagrams/summary/relationships.real.large.dot  |  33 +-
 .../diagrams/tables/terminal.1degree.dot           |  15 +-
 .../diagrams/tables/terminal_provider.1degree.dot  |  31 ++
 .../diagrams/tables/terminal_provider.2degrees.dot |  13 +-
 .../diagrams/tables/withdrawal.1degree.dot         |  22 +-
 .../diagrams/tables/withdrawal.2degrees.dot        |  22 +-
 .../indieflower/indie-flower-v8-latin-regular.eot  | Bin
 .../indieflower/indie-flower-v8-latin-regular.svg  |   0
 .../indieflower/indie-flower-v8-latin-regular.ttf  | Bin
 .../indieflower/indie-flower-v8-latin-regular.woff | Bin
 .../indie-flower-v8-latin-regular.woff2            | Bin
 .../fonts/indieflower/indie-flower.css             |   0
 .../source-sans-pro-v10-latin-300.eot              | Bin
 .../source-sans-pro-v10-latin-300.svg              |   0
 .../source-sans-pro-v10-latin-300.ttf              | Bin
 .../source-sans-pro-v10-latin-300.woff             | Bin
 .../source-sans-pro-v10-latin-300.woff2            | Bin
 .../source-sans-pro-v10-latin-300italic.eot        | Bin
 .../source-sans-pro-v10-latin-300italic.svg        |   0
 .../source-sans-pro-v10-latin-300italic.ttf        | Bin
 .../source-sans-pro-v10-latin-300italic.woff       | Bin
 .../source-sans-pro-v10-latin-300italic.woff2      | Bin
 .../source-sans-pro-v10-latin-600.eot              | Bin
 .../source-sans-pro-v10-latin-600.svg              |   0
 .../source-sans-pro-v10-latin-600.ttf              | Bin
 .../source-sans-pro-v10-latin-600.woff             | Bin
 .../source-sans-pro-v10-latin-600.woff2            | Bin
 .../source-sans-pro-v10-latin-600italic.eot        | Bin
 .../source-sans-pro-v10-latin-600italic.svg        |   0
 .../source-sans-pro-v10-latin-600italic.ttf        | Bin
 .../source-sans-pro-v10-latin-600italic.woff       | Bin
 .../source-sans-pro-v10-latin-600italic.woff2      | Bin
 .../source-sans-pro-v10-latin-700.eot              | Bin
 .../source-sans-pro-v10-latin-700.svg              |   0
 .../source-sans-pro-v10-latin-700.ttf              | Bin
 .../source-sans-pro-v10-latin-700.woff             | Bin
 .../source-sans-pro-v10-latin-700.woff2            | Bin
 .../source-sans-pro-v10-latin-regular.eot          | Bin
 .../source-sans-pro-v10-latin-regular.svg          |   0
 .../source-sans-pro-v10-latin-regular.ttf          | Bin
 .../source-sans-pro-v10-latin-regular.woff         | Bin
 .../source-sans-pro-v10-latin-regular.woff2        | Bin
 .../fonts/source-sans-pro/source-sans-pro.css      |   0
 schemaspy/{nonce2ecash-erd => c2ec-erd}/index.html |  26 +-
 .../{nonce2ecash-erd => c2ec-erd}/info-html.txt    |   4 +-
 .../insertionOrder.txt                             |   0
 schemaspy/{nonce2ecash-erd => c2ec-erd}/main.js    |   0
 .../{nonce2ecash-erd => c2ec-erd}/orphans.html     |   4 +-
 schemaspy/c2ec-erd/postgres.c2ec.xml               |  57 ++++
 .../relationships.html                             |  14 +-
 .../{nonce2ecash-erd => c2ec-erd}/relationships.js |   0
 .../{nonce2ecash-erd => c2ec-erd}/routines.html    |   4 +-
 .../{nonce2ecash-erd => c2ec-erd}/routines.js      |   0
 .../routines/routine.js                            |   0
 .../{nonce2ecash-erd => c2ec-erd}/schemaSpy.css    |   0
 .../{nonce2ecash-erd => c2ec-erd}/schemaSpy.js     |   0
 .../{nonce2ecash-erd => c2ec-erd}/tables/table.js  |   0
 .../tables/terminal.html                           |  49 +--
 .../tables/terminal_provider.html                  |  78 +++--
 .../tables/withdrawal.html                         | 163 ++++++++--
 .../diagrams/tables/terminal_provider.1degree.dot  |  30 --
 schemaspy/nonce2ecash-erd/postgres.public.xml      |  47 ---
 specs/withdrawal-op-state-transition.plantuml      |  10 +
 203 files changed, 1206 insertions(+), 539 deletions(-)

diff --git a/c2ec/postgres.go b/c2ec/postgres.go
index 845a415..e05e964 100644
--- a/c2ec/postgres.go
+++ b/c2ec/postgres.go
@@ -11,7 +11,7 @@ const PS_INSERT_WITHDRAWAL = "INSERT INTO withdrawal " +
        "(wopid, reserve_pub_key, registration_ts, amount, terminal_id)" +
        " VALUES ($1, $2, $3, $4, $5)"
 
-const PS_GET_WITHDRAWAL_BY_ID = ""
+const PS_GET_WITHDRAWAL_BY_WOPID = "SELECT * FROM withdrawal WHERE wopid=$1"
 
 // Postgres implementation of the C2ECDatabase
 type C2ECPostgres struct {
diff --git a/data/c2ec_schema.sql b/data/c2ec_schema.sql
index 24a79b9..b327c0e 100644
--- a/data/c2ec_schema.sql
+++ b/data/c2ec_schema.sql
@@ -69,7 +69,7 @@ COMMENT ON COLUMN terminal.provider_id
 
 
 CREATE TABLE IF NOT EXISTS withdrawal (
-    withdrawal_id INT8 GENERATED VALUE BY DEFAULT AS IDENTITY PRIMARY KEY,
+    withdrawal_id INT8 GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
     wopid BYTEA CHECK (LENGTH(wopid)=32) NOT NULL,
     reserve_pub_key BYTEA CHECK (LENGTH(reserve_pub_key)=32) NOT NULL,
     registration_ts INT8 NOT NULL,
@@ -80,15 +80,15 @@ CREATE TABLE IF NOT EXISTS withdrawal (
     provider_transaction_id TEXT,
     last_retry_ts INT8,
     retry_counter INT4 NOT NULL DEFAULT 0,
-    completion_proof BLOB
+    completion_proof BYTEA
 );
 COMMENT ON TABLE withdrawal
   IS 'Table representing withdrawal processes initiated by terminals';
 COMMENT ON COLUMN withdrawal.withdrawal_id
   IS 'The withdrawal id is used a technical id used by the wire gateway to 
sequentially select new transactions';
 COMMENT ON COLUMN withdrawal.wopid
-  IS 'The wopid (withdrawal operation id) is a nonce generated by the terminal 
requesting a withdrawal. '+
-       'The wopid identifies a specific withdrawal spawning all involved 
systems.';
+  IS 'The wopid (withdrawal operation id) is a nonce generated by the terminal 
requesting a withdrawal.
+       The wopid identifies a specific withdrawal spawning all involved 
systems.';
 COMMENT ON COLUMN withdrawal.reserve_pub_key
   IS 'Reserve public key for the reserve which will hold the withdrawal amount 
after completion';
 COMMENT ON COLUMN withdrawal.registration_ts
diff --git a/docs/content/abstract.tex b/docs/content/abstract.tex
index cdcf095..1d39de6 100644
--- a/docs/content/abstract.tex
+++ b/docs/content/abstract.tex
@@ -1,7 +1 @@
-In order to buy Taler, the Taler Exchange needs guarantees to legally secure 
the payment. Buying Taler physically establishes
-direct trust, since cash can be used in order to buy Taler and the transaction 
is completed. If you want
-to buy Taler using cashless systems like credit cards, the Exchange has no 
proof that the payment has succeeded.
-In order to fill this cap, this thesis establishes a trust relationship 
between the terminal manufacturer Wallee
-and the Taler Exchange through a newly created component called 
\textit{nonce2ecash}. This enables a trust relationship
-between the Taler Exchange and the terminal operator which allows withdrawing 
Taler without using cash. The liability for 
-the money is on the side of the terminal operator and therefore establishes 
the guarantees for the Taler Exchange.
+In order to buy Taler, the \textit{Taler Exchange} needs guarantees to legally 
secure the payment. Buying Taler physically establishes direct trust, since 
cash can be used in order to buy Taler and the transaction is completed. If you 
want to buy Taler using cashless systems like credit cards, the Exchange has no 
proof that the payment has succeeded. In order to fill this cap, this thesis 
proposes a framework allowing cashless withdrawals using Taler. A reference 
implementation is create [...]
diff --git a/docs/content/appendix/meeting_notes.tex 
b/docs/content/appendix/meeting_notes.tex
index 45c6fe6..61bfdea 100644
--- a/docs/content/appendix/meeting_notes.tex
+++ b/docs/content/appendix/meeting_notes.tex
@@ -63,13 +63,13 @@
 
 \textbf{Decisions}
 \begin{itemize}
-    \item We can establish a generic approach for both our cases. Therefore 
the abstraction of \textit{Providers} will be implemented. The 
\textit{Providers} abstract and generalize some endpoint which can accept money 
in any form (Credit Card, Cash, and so on) and give the Exchange the guarantee, 
that the money will eventually be transferred to the Exchange.
+    \item We can establish a generic approach for both our cases. Therefore 
the abstraction of \textit{Providers} will be implemented. The 
\textit{Providers} abstract and generalize some endpoint which can accept 
digital cash in any form (Credit Card, Cash, and so on) and give the Exchange 
the guarantee, that the digital cash will eventually be transferred to the 
Exchange.
     \item The verification at the provider from the perspective of the 
exchange must be optional (withdrawing at an ATM will not get any better than 
the amount the ATM sends to the Excahnge in the payment notification). 
Therefore an additional request to the provider will not bring any benefit.
 \end{itemize}
 
 \textbf{Notes}
 \begin{itemize}
-    \item Flo wants to create a Reserve containing money from the ATM. He then 
wants to trigger a peer to peer transaction. And therefore this reserve deals 
as guarantee to the Exchange. This flow is possible if the provider is 
controlled, which in my case is not given (Wallee is a company and I cannot 
easily alter their source code to open a reserve)
+    \item Flo wants to create a Reserve containing digital cash from the ATM. 
He then wants to trigger a peer to peer transaction. And therefore this reserve 
deals as guarantee to the Exchange. This flow is possible if the provider is 
controlled, which in my case is not given (Wallee is a company and I cannot 
easily alter their source code to open a reserve)
 \end{itemize}
 
 \subsection*{22.02.2024}
@@ -149,6 +149,46 @@
     \item Add proper versioning to the SQL script.
 \end{itemize}
 
+\subsection*{20.03.2024}
+
+\textbf{Participants}
+
+\begin{itemize}
+    \item Fehrensen Benjamin
+    \item Grothoff Christian
+    \item H\"aberli Joel
+\end{itemize}
+
+\textbf{Topics}
+\begin{itemize}
+    \item Payto Specification.
+\end{itemize}
+
+\textbf{Action points}
+\begin{itemize}
+    \item Specify payto-uri scheme in GANA repo
+\end{itemize}
+
+\subsection*{20.03.2024 - 2}
+
+\textbf{Participants}
+
+\begin{itemize}
+    \item Grothoff Christian
+    \item H\"aberli Joel
+\end{itemize}
+
+\textbf{Topics}
+\begin{itemize}
+    \item Architecture
+    \item Payto
+\end{itemize}
+
+\textbf{Action points}
+\begin{itemize}
+    \item Look at Wire Gateway and Bank Integration API as specification of an 
API and not as individual components of Taler. C2EC must implement those 
specification in order to integrate into the Taler ecosystem.
+\end{itemize}
+
 % TEMPLATE % 
 \subsection*{TEMPLATE}
 
diff --git a/docs/content/architecture/c2ec.tex 
b/docs/content/architecture/c2ec.tex
index 07368a5..e3f5409 100644
--- a/docs/content/architecture/c2ec.tex
+++ b/docs/content/architecture/c2ec.tex
@@ -1,72 +1,116 @@
 \section{C2EC}
 
-The API of the C2EC (cashless2ecash) component mirrors the flow from the 
creation of a C2EC mapping to the creation of the reserve. For the integration 
into the Taler ecosystem additionally to the newly created API, the new 
component must implement the Taler Wirewatch Gateway API \cite{} and the Taler 
Bank Integration API.
+The C2EC (\textbf{c}ashless\textbf{2ec}ash) component is the central 
coordination component in the cashless withdrawal of digital cash using Taler. 
It initializes the parameters and mediates between the different stakeholders 
of a withdrawal, which finally allows the customer to withdraw digital cash 
from a reserve owned by the \textit{Exchange}. Therefore C2EC provides API 
which can be integrated and used by the \textit{Terminal}, \textit{Wallet} and 
the \textit{Exchange}.
 
-A specification of the API in yaml format can be found in 
\autoref*{appendix-api-spec}.
+The API of the C2EC (cashless2ecash) component handles the flow from the 
creation of a C2EC mapping to the creation of the reserve. For the integration 
into the Taler ecosystem, C2EC must implement the Taler Wirewatch Gateway API 
\cite{taler-wirewatch-gateway-api} and the Taler Bank Integration API 
\cite{taler-bank-integration-api}. 
+
+The exact specification can be found in the official Taler docs repository as 
part of the core specifications \cite{taler-c2ec-spec}
+
+\subsection{Withdrawal-Operation state transitions}
+
+Basically C2EC mediates between the stakeholders of a withdrawal in order to 
maintain the correct state of the withdrawal. Therefore it decides when a 
withdrawal's status can be transitioned. The diagram in 
\autoref{fig-withdrawal-operation-state-transition-diagram} shows the 
transitions of states in which a withdrawal operation can be and which events 
will trigger a transition. The term attestation in this context means, that the 
backend of the provider was asked and the transaction was [...]
+
+\begin{figure}[h]
+  \centering
+  
\includegraphics[width=0.7\textwidth]{pictures/diagrams/withdrawal-op-state-transition.png}
+  \caption{Withdrawal Operation state transition diagram}
+  \label{fig-withdrawal-operation-state-transition-diagram}
+\end{figure}
+
+\subsection{Authentication}
+
+Terminals and the Exchange which authenticate against the C2EC API must 
provide their respective access token. Therefore, they provide a 
\texttt{Authorization: Bearer \$ACCESS\_TOKEN} header, where 
\texttt{\$ACCESS\_TOKEN} is a secret authentication token configured by the 
exchange and must begin with the prefix specified in RFC 8959 \cite{rfc8959}: 
\textit{secret-token}.
 
 \subsection{The C2EC RESTful API}
 
-\subsubsection{Authentication}
+This section describes the various API implemented in the C2EC component. The 
description contains a short list of the consumers of the respective API. 
Consumer in this context does not necessarily mean that data is consumed but 
rather that the consumer uses the API to either gather data or send data to 
C2EC.
 
-Terminals which authenticate against the C2EC API must provide their 
respective access token. Therefore, they provide a \texttt{Authorization: 
Bearer \$ACCESS\_TOKEN} header, where \texttt{\$ACCESS\_TOKEN} is a secret 
authentication token configured by the exchange and must begin with the prefix 
specified in RFC 8959 \cite{rfc8959}: \textit{secret-token}.
+\subsubsection{Taler Bank Integration API}
 
-\subsubsection{Configuration of C2EC Bank Integration API}
+Withdrawals with a C2EC are based on withdrawal operations which register a 
withdrawal identifier (nonce) at the C2EC component. The provider must first 
create a unique identifier for the withdrawal operation (the \texttt{WOPID}) to 
interact with the withdrawal operation and eventually withdraw using the 
wallet. The withdrawal operation API is an implementation of the \textit{Bank 
Integration API} \cite{taler-bank-integration-api}.
 
+\textbf{GET - config}
 \begin{itemize}
   \item \textbf{Method:} GET
   \item \textbf{Endpoint:} /config
   \item \textbf{Description:} Return the protocol version and configuration 
information about the C2EC API.
   \item \textbf{Response:} HTTP status code 200 OK. The exchange responds with 
a \texttt{C2ECConfig} object.
+  \item \textbf{Consumers:} Components who want to use the API and therefore 
want to load the config of the instance.
 \end{itemize}
 
-\subsubsection{Taler Bank Integration API}
+\textbf{POST - withdrawal-operation}
 
-Withdrawals with a C2EC are based on withdrawal operations which register a 
withdrawal identifier (nonce) at the C2EC component. The provider must first 
create a unique identifier for the withdrawal operation (the 
\texttt{WITHDRAWAL\_ID}) to interact with the withdrawal operation and 
eventually withdraw using the wallet. The withdrawal operation API is an 
implementation of the Bank Integration API \cite{taler-bank-integration-api}.
+This API is not specified within the standard Bank Integration API and 
therefore an extension to the official specification. The Wallet must implement 
the initialization through this flow.
 
-\textbf{POST - withdrawal-operation}
 \begin{itemize}
   \item \textbf{Method:} POST
   \item \textbf{Endpoint:} /withdrawal-operation
-  \item \textbf{Description:} Initiate the withdrawal operation, identified by 
the \texttt{WITHDRAWAL\_ID}.
-  \item \textbf{Request:} The request body contains a 
\texttt{WithdrawRegistration} object.
-  \item \textbf{Response:} HTTP status code 204 No content, 400 Bad request, 
or 500 Internal Server error.
+  \item \textbf{Description:} Initiate the withdrawal operation, identified by 
the \texttt{WOPID}.
+  \item \textbf{Request:} The request body contains a 
\texttt{C2ECWithdrawRegistration} object.
+  \item \textbf{Response:} The response is HTTP status code 204 No Content on 
success and a 400 or 500 status code on failure (with respective 
\texttt{ErrorDetail})
+  \item \textbf{Consumers:} The \textit{Taler Wallet} registers and 
initializes the withdrawal operation through this API.
 \end{itemize}
 
-\textbf{GET - withdrawal-operation by withdrawal-id}
+\textbf{GET - withdrawal-operation by wopid}
 \begin{itemize}
   \item \textbf{Method:} GET
-  \item \textbf{Endpoint:} /withdrawal-operation/\$WITHDRAWAL\_ID
-  \item \textbf{Description:} Query information about a withdrawal operation, 
identified by the \texttt{WITHDRAWAL\_ID}.
-  \item \textbf{Response:} HTTP status code 200 OK or 404 Not found.
+  \item \textbf{Endpoint:} /withdrawal-operation/\$WOPID
+  \item \textbf{Description:} Query information about a withdrawal operation, 
identified by the \texttt{WOPID}.
+  \item \textbf{Response:} HTTP status code 200 OK and body containing a 
\texttt{C2ECWithdrawalStatus} object or 404 Not found.
+  \item \textbf{Consumers:} The API is used by the \textit{Terminal} and 
\textit{Taler Wallet} to retrieve information about the current state of the 
withdrawal operation. The API allows long-polling and can therefore be used by 
the consumer to be updated if the status of the withdrawal operation changes.
 \end{itemize}
 
-\textbf{POST - withdrawal-operation by withdrawal-id}
+\textbf{POST - withdrawal-operation by wopid}
 \begin{itemize}
   \item \textbf{Method:} POST
-  \item \textbf{Endpoint:} /withdrawal-operation/\$WITHDRAWAL\_ID
+  \item \textbf{Endpoint:} /withdrawal-operation/\$WOPID
   \item \textbf{Description:} Notifies C2EC about an executed payment for a 
specific withdrawal.
-  \item \textbf{Request:} The request body contains a 
\texttt{PaymentNotification} object.
+  \item \textbf{Request:} The request body contains a 
\texttt{C2ECPaymentNotification} object.
   \item \textbf{Response:} HTTP status code 204 No content, 400 Bad request, 
404 Not found, or 500 Internal Server error.
+  \item \textbf{Consumers:} The API is used by the \textit{Terminal} to notify 
the C2EC component that a payment was made and to give the C2EC component 
information about the payment itself (e.g. the provider specific transaction 
identifier).
 \end{itemize}
 
 \subsection{Taler Wirewatch Gateway API}
-The Taler Wirewatch Gateway \cite{taler-wirewatch-gateway-api} must be 
implemented in order to capture incoming transactions and allow the withdrawal 
of money. The specification of the Taler Wirewatch Gateway can be found in the 
official Taler documentation \cite{taler-wirewatch-gateway-api}.
+The Taler Wirewatch Gateway \cite{taler-wirewatch-gateway-api} must be 
implemented in order to capture incoming transactions and allow the withdrawal 
of digital cash. The specification of the Taler Wirewatch Gateway can be found 
in the official Taler documentation \cite{taler-wirewatch-gateway-api}.
 
-The wirewatch gateway helps the Exchange communicate with the C2EC component 
using a the API. It helps the Exchange to fetch guarantees, that a certain 
transaction went through and that the reserve can be created and withdrawn. 
This will help C2EC to capture the transaction of the Terminal Backend to the 
Exchange's account and therefore allow the withdrawal by the customer. 
Therefore the wirewatch gateway API is used in C2EC. When the wirewatch gateway 
can get the proof, that a transacti [...]
+The wirewatch gateway helps the Exchange communicate with the C2EC component 
using a the API. It helps the Exchange to fetch guarantees, that a certain 
transaction went through and that the reserve can be created and withdrawn. 
This will help C2EC to capture the transaction of the Terminal Backend to the 
Exchange's account and therefore allow the withdrawal by the customer. 
Therefore the wirewatch gateway API is implemented as part of C2EC. When the 
wirewatch gateway can get the proof, t [...]
 
 For C2EC not all endpoints of the Wire Gateway API are needed. Therefore the 
endoints which are not needed will be implemented but always return http status 
code 400 with explanatory error details as specified by the specification.
 
-\subsubsection{Configuration of C2EC Wire Gateway API}
+\textbf{GET - config}
+\begin{itemize}
+  \item \textbf{Method:} GET
+  \item \textbf{Endpoint:} /config
+  \item \textbf{Description:} Returns a \texttt{WireConfig} object with 
configuration information about the Wirewatch Gateway API of the C2EC component.
+  \item \textbf{Response:} HTTP status code 200 OK. The exchange responds with 
a \texttt{C2ECConfig} object.
+  \item \textbf{Consumers:} Components who want to use the API and therefore 
want to load the config of the instance.
+\end{itemize}
 
-\subsubsection{Taler Bank Integration API}
+\textbf{POST - transfer}
+\begin{itemize}
+  \item \textbf{Method:} GET
+  \item \textbf{Endpoint:} /transfer
+  \item \textbf{Description:} Allows the \textit{Exchange} to make a 
transaction. This API is used in case of a refund. The transfer will therefore 
pointed towards a \texttt{payto://wallee-transaction} address.
+  \item \textbf{Request:} The request contains a \texttt{TransferRequest} 
object.
+  \item \textbf{Response:} HTTP status code 200 OK. The exchange responds with 
a \texttt{C2ECConfig} object.
+  \item \textbf{Consumers:} The \textit{Exchange} who wants to transfer 
digital cash to a account which can be handled by the C2EC component.
+\end{itemize}
 
+\textbf{GET - history of incoming transactions}
+\begin{itemize}
+  \item \textbf{Method:} GET
+  \item \textbf{Endpoint:} /history/incoming
+  \item \textbf{Description:} Returns a list of transactions which were 
recently created in the C2EC component. In case of C2EC, this are withdrawal 
operations which are confirmed and a reserve can therefore be created by the 
exchange.
+  \item \textbf{Response:} HTTP status code 200 OK. The exchange responds with 
a \texttt{C2ECConfig} object.
+  \item \textbf{Consumers:} The \textit{Exchange} who will create the reserve 
which then can be withdrawn by the \textit{Taler Wallet}.
+\end{itemize}
 
 \subsection{The C2EC database}
 
-The database of the C2EC component must track two different aspects. The first 
is the mapping of a nonce to a reserve public key to enable withdrawals and the 
second aspect is the authentication of terminals allowing withdrawals owned by 
terminal providers like \textit{Wallee}.
+The database of the C2EC component must track two different aspects. The first 
is the mapping of a nonce (the \texttt{WOPID}) to a reserve public key to 
enable withdrawals and the second aspect is the authentication of terminals 
allowing withdrawals owned by terminal providers like \textit{Wallee}.
 
 \subsubsection{Terminal Provider}
-Table in \autoref{fig-erd-terminal-provider} describing providers of C2EC 
compliant terminals. The name of the provider is important, because it decides 
which flow shall be taken in order to attest the payment. For example will the 
name \textit{Wallee} signal the terminal provider to 
+Table in \autoref{fig-erd-terminal-provider} describing providers of C2EC 
compliant terminals. The name of the provider is important, because it decides 
which flow shall be taken in order to attest the payment. For example will the 
name \textit{Wallee} signal the terminal provider to trigger the attestation 
flow of \textit{Wallee} once the payment notification for the withdrawal 
reaches C2EC.
 
 \begin{figure}[h]
   \centering
@@ -94,3 +138,24 @@ Table in \autoref{fig-erd-withdrawal} represents the 
withdrawal processes initia
   \caption{Withdrawal Table}
   \label{fig-erd-withdrawal}
 \end{figure}
+
+\subsubsection{Relationships}
+The structure of the three tables forms a tree which is rooted at the terminal 
provider. Each provider can have many terminals and each terminal can have many 
withdrawals. The reverse does not apply. A withdrawal does always belong to 
exactly one terminal and a terminal is always linked to exactly one provider. 
These relations are installed by using foreign keys, which link the 
sub-entities (Terminal and Withdrawal) to their corresponding owners (Provider 
and Terminal). A provider owns i [...]
+
+\begin{figure}[h]
+  \centering
+  \includegraphics[width=0.7\textwidth]{pictures/database/relationships.png}
+  \caption{Relationships of the entities.}
+  \label{fig-erd-relationships}
+\end{figure}
+
+\section{Payto wallee-transaction extension}
+RFC 8905 \cite{rfc8905} specifies a URI scheme (complying with RFC 3986 
\cite{rfc3986}), which allows to address a creditor with theoretically any 
protocol that can be used to pay someone (such as IBAN, BIC etc.) in a 
standardized way. Therefore it introduces a registry which holds the specific 
official values of the standard. The registry is supervised by the GANA (GNUnet 
Assigned Numbers Authority) \cite{gnunet-gana}.
+
+In case a refund becomes necessary, which might occur if a credit card 
transaction does not succeed, a new \textit{target type} called 
\textit{wallee-transaction} is registered. It takes a transaction identifier as 
\textit{target identifier} which identifies the transaction for which a refund 
process shall be triggered. The idea is that the handler of the payto URI is 
able to deduct the transaction from the payto-uri and trigger the refund 
process.
+
+\subsection{Payto refund using Wallee}
+Wallee allows to trigger refunds using the Refund Service of the Wallee 
backend. The service allows to trigger a refund given a transaction identifier. 
Therefore the C2EC component can trigger the refund using the refund service if 
needed, and the payto-uri retrieved as debit account by the wirewatch gateway 
API, is leveraged to delegate the refund process to the Wallee Backend using 
the Refund Service and parsing the transaction identifier of the payto-uri.
+
+\subsection{Extensibility}
+The flow is extensible and other providers like Wallee might be added. They 
must therefore register their own refund payto-uri with the GANA and then the 
refund process can be implemented likewise.
\ No newline at end of file
diff --git a/docs/content/architecture/overview.tex 
b/docs/content/architecture/overview.tex
index fe9103d..4ed2aeb 100644
--- a/docs/content/architecture/overview.tex
+++ b/docs/content/architecture/overview.tex
@@ -1,6 +1,4 @@
-\section{Overview}
-
-\subsection{Components}
+\section{Components}
 
 \begin{figure}[h]
     \centering
@@ -9,90 +7,68 @@
     \label{fig-diagram-all-components}
 \end{figure}
 
-The component diagram shows the components involved by the withdrawal using 
the terminal. Besides the credit card owned by the user, two systems are 
involved and within each system two components are required to fulfill the 
task. The Taler ecosystem which represents the Taler Wallet and the Taler 
Exchange involved in the withdrawal process. In the Terminal system, the 
terminal and the backend system of the terminal manufacturer are leveraged in 
the process.
+The component diagram shows the components involved by the withdrawal using 
the terminal. Besides the credit card owned by the user, two systems are 
involved and within each system two components are required to fulfill the 
task. The Taler ecosystem which represents the Taler Wallet and the Taler 
Exchange (C2EC is a part of the Exchange) involved in the withdrawal process. 
In the Terminal system, the terminal and the backend system of the terminal 
manufacturer are leveraged in the proces [...]
+
+\section{Process}
+
 
 \begin{figure}[h]
     \centering
     \includegraphics[width=0.7\textwidth]{pictures/diagrams/nonce2ecash.png}
-    \caption{Diagram of high level flow}
+    \caption{Process of a withdrawal using a credit card}
     \label{fig-diagram-all-sequence}
 \end{figure}
 
-The diagram in \autoref{fig-diagram-all-sequence} shows the high level flow to 
withdraw Taler using the credit card terminal. It shows when the components of 
\autoref{fig-diagram-all-components} interact with each other. It shows the 
implementation of the flow. Terminal, Wallet and Exchange are linked leveraging 
a nonce initially generated by the terminal and presented to the Exchange by 
the withdrawing Wallet accompanied by a public key. 
-
-\subsection{Process}
+The diagram in \autoref{fig-diagram-all-sequence} shows the high level flow to 
withdraw digital cash using the credit card terminal and Taler. It shows when 
the components of \autoref{fig-diagram-all-components} interact with each 
other. It shows the implementation of the flow. Terminal, Wallet and Exchange 
are linked leveraging a \textit{wopid} initially generated by the terminal and 
presented to the Exchange by the withdrawing Wallet accompanied by a public 
key. 
 
 The process requires three parties interacting with each other. The Terminal, 
the Wallet and the Exchange must therefore interact with each other. In this 
section the highlevel process as showed in \autoref{fig-diagram-all-sequence} 
is explained.
 
-\subsubsection{The Terminal}
+\subsection{The Terminal}
 
 The Terminal initiates the withdrawal leveraging an application which works as 
follows:
 
 \begin{enumerate}
-    \item At startup of the application, the terminal loads the Exchange 
configuration
+    \item At startup of the application, the terminal loads the C2EC 
configuration
     \item When a user wishes to do a withdrawal, the owner of the terminal 
opens the application and initiates a new withdrawal.
     \begin{enumerate}
-        \item Application creates a nonce
-        \item The application starts long polling at the Exchange and awaits 
the selection of the reserve parameters mapped to the nonce. The parameters are 
sent by the Wallet to the Exchange. 
-        \item Nonce is packed into a QR code (with Exchange and amount entered 
by the terminal owner)
+        \item Application creates a \textit{wopid}
+        \item The application starts long polling at the C2EC and awaits the 
selection of the reserve parameters mapped to the \textit{wopid}. The 
parameters are sent by the Wallet to C2EC. 
+        \item \textit{Wopid} is packed into a QR code (with Exchange and 
amount entered by the terminal owner)
            \item Terminal calculates fees and shows summary and the Terms of 
Service (ToS) of Taler.
        \item The user accepts the offer, agrees with the ToS
         \item QR code is displayed
     \end{enumerate}
-    \item The user now scans the QR Code using his wallet.
-    \item The application receives the notification of the Exchange, inlcuding 
the reserve public key.
-    \item The Terminal executes the payment (using the Terminal Backend, the 
reserve public key is sent as payment purpose).
+    \item The user now scans the QR Code using his Wallet.
+    \item The application receives the notification of the C2EC, that the 
parameters for the withdrawal were selected.
+    \item The Terminal executes the payment (after user presented their credit 
card, using the Terminal Backend).
     \begin{enumerate}
            \item It presents the result to the user.
-           \item It tells the Exchange, that the payment was successful.
+           \item It tells the C2EC, that the payment was successful.
        \end{enumerate}
 \end{enumerate}
 
-\subsubsection{The Exchange}
+\subsection{The C2EC}
 
-The Exchange manages the withdrawal using a third party provider (e.g. Wallee) 
and seeks guarantees in order to provide a reserve containing Taler which can 
be withdrawn by the wallet.
+The C2EC component manages the withdrawal using a third party provider (e.g. 
Wallee) and seeks guarantees in order to create a reserve containing digital 
cash which can be withdrawn by the Wallet.
 
 \begin{enumerate}
-    \item The Exchange retrieves a long polling request for a nonce (from the 
Terminal).
-    \item The Exchange creates a mapping entry with the nonce and an empty 
reserve public key field
-    \item The Exchange retrieves a request including a nonce and a reserve 
public key. 
-    \item The Exchange validates the request and adds the key to the mapping. 
This establishes the nonce to reserve public key mapping.
-    \item The Exchange ends the long polling from the terminal (by sending 
back the reserve public key).
-    \item The Exchange receives payment notification of the terminal.
-    \item The Exchange verifies the notification by asking the terminal 
backend for confirmation.
-    \item The Exchange, upon successfully checking the notification, checks 
that the transaction went through and therefore a reserve is created by the 
wirewatch gateway (using the public key in the payment purpose field).
+    \item C2EC retrieves a long polling request for a \textit{wopid} (from the 
Terminal).
+    \item C2EC creates a mapping entry with the \textit{wopid} and an empty 
reserve public key field
+    \item C2EC retrieves a request including a \textit{wopid} and a reserve 
public key. 
+    \item C2EC validates the request and adds the key to the mapping. This 
establishes the \textit{wopid} to reserve public key mapping.
+    \item C2EC ends the long polling from the terminal (by sending back the 
reserve public key).
+    \item C2EC receives payment notification of the terminal.
+    \item C2EC verifies the notification by asking the terminal backend for 
confirmation.
+    \item C2EC, upon successfully checking the notification, checks that the 
transaction went through and therefore a reserve is created by the wirewatch 
gateway (using the public key in the payment purpose field).
 \end{enumerate}
 
-\subsubsection{The Wallet}
+\subsection{The Wallet}
 
-The Wallet must attest its presence to the terminal by registering a nonce and 
belonging reserve public key which will holds the digital currency that can 
eventually be withdrawn by the wallet.
+The Wallet must attest its presence to the terminal by registering a 
\textit{wopid} and belonging reserve public key which will holds the digital 
currency that can eventually be withdrawn by the Wallet.
 
 \begin{enumerate}
-    \item The Wallet scans the QR Code (nonce, Exchange information and 
amount) on the Terminal
+    \item The Wallet scans the QR Code (\textit{wopid}, Exchange information 
and amount) on the Terminal
     \item It creates a reserve key pair
-    \item The Wallet sends the reserve public key and the scanned nonce to the 
Exchange
-    \item The Wallet can withdraw money from the created reserve.
+    \item The Wallet sends the reserve public key and the scanned 
\textit{wopid} to the C2EC
+    \item The Wallet can withdraw digital cash from the created reserve.
 \end{enumerate}
-
-\subsection{Nonce}
-The nonce is leveraged by all components to establish the connection to an 
entry in the mapping table of nonce2ecash. The nonce is therefore crucial and 
every participant of the withdrawal must eventually gain knowledge about the 
value of the nonce in order to process the withdrawal. The nonce is created by 
the Terminal and advertised to the Exchange by requesting notification, when 
the reserve public key belonging to the nonce was received and the mapping 
could be created.
-The Wallet gains the nonce value when scanning the QR code at the Terminal and 
then sends the nonce (and the other parameters) to the Exchange.
-
-\subsubsection{Nonce creation}
-Besides the entropy needed to establish a correct nonce, the hash function 
leveraged must be specified. (TODO - e.g. FIPS 180-4 \cite{fips-180-4} (SHA-1 
and SHA-2 families) or FIPS-202 \cite{fips-202} (SHA-3 family, which is still 
beeing reviewed))
-
-\subsection{Reserve Public Key}
-The reserve public key is created by the Wallet and sent to the Exchange to 
establish the mapping between the nonce and the reserve public key. The reserve 
public key is used to eventually create a reserve at the exchange which 
contains the money. The Wallet can then withdraw the money from this reserve 
using the withdrawal process of the wallet \cite{wallet-withdrawal}.
-
-\subsection{Payto wallee-transaction extension}
-RFC 8905 \cite{rfc8905} specifies a URI scheme (complying with RFC 3986 
\cite{rfc3986}), which allows to address a creditor with theoretically any 
protocol that can be used to pay someone (such as IBAN, BIC etc.) in a 
standardized way. Therefore it introduces a registry which holds the specific 
official values of the standard. The registry is supervised by the GANA (GNUnet 
Assigned Numbers Authority) \cite{gnunet-gana}.
-
-In case a refund becomes necessary, which might occur if a credit card 
transaction does not succeed, a new \textit{target type} called 
\textit{wallee-transaction} is registered. It takes a transaction identifier as 
\textit{target identifier} which identifies the transaction for which a refund 
process shall be triggered. The idea is that the handler of the payto URI is 
able to deduct the transaction from the payto-uri and trigger the refund 
process.
-
-\subsubsection{Payto refund using Wallee}
-Wallee allows to trigger refunds using the Refund Service of the Wallee 
backend. The service allows to trigger a refund given a transaction identifier. 
Therefore the nonce2ecash component can trigger the refund using the refund 
service if needed, and the payto-uri retrieved as debit account by the 
wirewatch gateway API, is leveraged to delegate the refund process to the 
Wallee Backend using the Refund Service and parsing the transaction identifier 
of the payto-uri.
-
-\subsubsection{Extensibility}
-The flow is extensible and other providers like Wallee might be added. They 
must therefore register their own refund payto-uri with the GANA and then the 
refund process can be implemented likewise.
-
-\pagebreak
\ No newline at end of file
diff --git a/docs/content/architecture/terminal.tex 
b/docs/content/architecture/terminal.tex
deleted file mode 100644
index e69de29..0000000
diff --git a/docs/content/architecture/wallee.tex 
b/docs/content/architecture/wallee.tex
index 72fd763..9d682e2 100644
--- a/docs/content/architecture/wallee.tex
+++ b/docs/content/architecture/wallee.tex
@@ -4,8 +4,22 @@ Wallee offers level 1 PCI-DSS \cite{pci-dss} compliant payment 
processes to its
 \subsection{Wallee Terminal}
 Wallee Terminals are based on android and run a modified, certified android 
version as operating system. Thus they can be used for payments and establish 
strong authentication in a trusted way.
 
+\subsubsection{Withdrawal Operation Identifier}
+The \textbf{W}ithdrawal-\textbf{OP}eration-\textbf{ID}entifier 
(\textit{wopid}) is leveraged by all components to establish the connection to 
an entry in the withdrawal table (\autoref{fig-erd-withdrawal}) of C2EC. The 
\textit{wopid} is therefore crucial and every participant of the withdrawal 
must eventually gain knowledge about the value of the \textit{wopid} in order 
to process the withdrawal. The \textit{wopid} is created by the Terminal and 
advertised to the Exchange by requesting n [...]
+The Wallet gains the \textit{wopid} value when scanning the QR code at the 
Terminal and then sends the \textit{wopid} (and the other parameters) to the 
Exchange.
+
+\textbf{Creation of the WOPID}
+
+Besides the entropy needed to establish a correct \textit{wopid}, the hash 
function leveraged must be specified. (TODO - e.g. FIPS 180-4 \cite{fips-180-4} 
(SHA-1 and SHA-2 families) or FIPS-202 \cite{fips-202} (SHA-3 family, which is 
still beeing reviewed))
+
 \subsection{Wallee Backend and API}
-Terminals of Wallee are used to communicate with the customer at the shop of 
the merchant. The payment and processing of the transaction is run on the 
wallee backend. This means that 
+Terminals of Wallee are used to communicate with the customer at the shop of 
the merchant. The payment and processing of the transaction is run on the 
\textit{Wallee Backend}. The \textit{Wallee Backend} is used by C2EC to attest 
a payment, when a \texttt{C2ECPaymentNotification} message reaches C2EC. The 
\textit{Wallee Backend} is also used in order to do refunds, in case something 
goes wrong during the payment. Therefore the API of \textit{Wallee Backend} is 
used to collect this inform [...]
+
+\subsubsection{Transaction Service}
+The \textit{Transaction Service} is used by C2EC to attest a transaction was 
successfully processed and the reserve can be created by the \textit{Exchange}. 
Therefore the \texttt{GET /api/transaction/read} API of the \textit{Transaction 
Service} is used. If the returned transaction is in state \textit{fulfill}, the 
transaction can be stored as \textit{completion\_proof} for the withdrawal as 
specified in the withdrawal table \autoref{fig-erd-withdrawal} and the 
withdrawal status can be t [...]
+
+\subsubsection{Refund Service}
+The \textit{Refund Service} is used by C2EC in case of a refund. Therefore the 
C2EC gets notified by the \textit{Exchange} that the transaction shall be 
refunded. To trigger the refund process at the Wallee backend, the \texttt{POST 
/api/refund/refund} is used.
 
 \subsubsection{Wallee Transaction State}
-In order to decide if a transaction was successful, the states of a 
transaction within Wallee must be mapped to the world of Taler. This means that 
a reserve shall only be created, if the transaction is in a state which allows 
Taler not having any liabilities regarding the transaction and that Wallee 
could process the payment successfully. The documentation states that 
\textit{only} in the transaction state \textit{fulfill}, the delivery of the 
goods (in case of withdrawal this means, th [...]
+In order to decide if a transaction was successful, the states of a 
transaction within Wallee must be mapped to the world of Taler. This means that 
a reserve shall only be created, if the transaction is in a state which allows 
Taler not having any liabilities regarding the transaction and that Wallee 
could process the payment successfully. The documentation states that 
\textit{only} in the transaction state \textit{fulfill}, the delivery of the 
goods (in case of withdrawal this means, th [...]
diff --git a/docs/content/architecture/wallet.tex 
b/docs/content/architecture/wallet.tex
new file mode 100644
index 0000000..7882bf6
--- /dev/null
+++ b/docs/content/architecture/wallet.tex
@@ -0,0 +1,5 @@
+\section{Taler Wallet}
+
+The \textit{Taler Wallet} is responsible to create a reserve key pair which 
will allow him the withdrawal using the \textit{Exchange} using the reserve 
public key of the key pair.
+
+The reserve public key is created by the \textit{Taler Wallet} and sent to 
C2EC to establish the mapping between the \textit{wopid} and the reserve public 
key. The reserve public key is used to eventually create a reserve at the 
exchange which contains the digital cash. The \textit{Taler Wallet} can then 
withdraw the digital cash from this reserve using the withdrawal process of the 
wallet \cite{wallet-withdrawal}. The process for the case of C2EC is slightly 
different from the present p [...]
\ No newline at end of file
diff --git a/docs/content/implementation/exchange.tex 
b/docs/content/implementation/exchange.tex
index 66748f6..bb05b29 100644
--- a/docs/content/implementation/exchange.tex
+++ b/docs/content/implementation/exchange.tex
@@ -1 +1 @@
-\section{implementing nonce2ecash docs}
\ No newline at end of file
+\section{implementing C2EC docs}
\ No newline at end of file
diff --git a/docs/content/introduction/goal.tex 
b/docs/content/introduction/goal.tex
index 4740249..eaae982 100644
--- a/docs/content/introduction/goal.tex
+++ b/docs/content/introduction/goal.tex
@@ -1,10 +1,10 @@
 \section{Goal}
 
-The goal of this thesis is to implement a process which allows withdrawing 
Taler using a credit card at a terminal of the terminal provider 
\textit{Wallee}.
+The goal of this thesis is to propose a framework for cashless withdrawals and 
implement the process which allows withdrawing Taler using a credit card at a 
terminal of the terminal provider \textit{Wallee}.
 
-\subsection{nonce2ecash}
+\subsection{C2EC}
 
-Therefore a new component, named \textbf{nonce2ecash}, will be implemented as 
part of the Taler Exchange. Nonce2ecash will mediate between the Taler Exchange 
and the terminal provider. This includes checking that the transaction of the 
debitor reaches the account of the Exchange and therefore the digital currency 
can be withdrawn by the user, using its Wallet.
+Therefore a new component, named \textbf{C2EC}, will be implemented as part of 
the Taler Exchange. C2EC will mediate between the Taler Exchange and the 
terminal provider. This includes checking that the transaction of the debitor 
reaches the account of the Exchange and therefore the digital currency can be 
withdrawn by the user, using its Wallet.
 
 \subsection{Wallee}
 A new app for the payment terminal provider \textbf{Wallee} must be 
implemented which allows to start the withdrawal using providers facilities. 
The provider will guarantee through its backend, that the payment was 
successful. This puts the liability of the payment on the provider of the 
terminal.
diff --git a/docs/content/introduction/introduction.tex 
b/docs/content/introduction/introduction.tex
index bcab244..720f444 100644
--- a/docs/content/introduction/introduction.tex
+++ b/docs/content/introduction/introduction.tex
@@ -1,40 +1,29 @@
 \section{Motivation}
 
-Ever used Taler to pay for your goods? Probably not. This is because there 
exist only very specific ways to withdraw money with Taler.
+Which payment systems do you use in your daily live and why? Probably one you 
know it is universally accepted, reliable, secure and the payment goes through 
more or less instantly.
 
-So the problem currently is that it is not possible for a larger group of 
users to get money using Taler. This thesis proposes a way allowing users who 
own a credit card and a Taler Wallet, to withdraw money using Taler at a 
terminal supporting the withdrawal.
+The \textbf{universal acceptance} was identified as one of the most important 
in a report which was published on behalf of the ECB (European Central Bank) in 
march 2022 as result of a focus group concerning the acceptance of a digital 
euro \cite{panetta-speech-march-30} as new payment system. The universal 
acceptance was even identified as \textit{the} most important property amongst 
the general public and tech-savvy people in the report 
\cite{study-new-digital-payment-methods}.
 
-To make the withdrawal possible, various loose ends must be put together 
within the Taler ecosystem and the terminal provider. Also a new component 
called \textit{nonce2ecash} is implemented. The thesis focuses on the terminal 
provider called \textit{Wallee}. Therefore an application for the Wallee 
Terminal (PAX A50) for withdrawing money with Taler is implemented.
+In a world, where everything is connected and everything is accessible from 
everywhere (one might think), it is therefore very important to make it as easy 
as possible to on-board people on a product. This is also the case for Taler. 
For a wide acceptance of the payment system Taler, it is important that various 
ways exist to withdraw digital cash in Taler.
 
-With these components, a trustworthy relationship can be created, which makes 
it possible for the Exchange to issue digital money to a user. Therefore the 
Exchange is not putting his trust on the money received but rather on the 
promise of a trusted third party (the terminal provider) to put the received 
money in a location, controlled by the Exchange eventually (e.g. a bank account 
owned by the Exchange).
+This is where this thesis hooks in. Currenlty it is possible to withdraw 
digital cash using Taler at a Bank which runs a \textit{Taler Exchange} and 
integrates the respective API. At time of this writing only one Bank is in the 
process of running a \textit{Taler Exchange}. At the Berner Fachhochschule an 
\textit{Exchange} is operated and digital cash can be withdrawn at the 
secretariat using cash.
 
-This enables a broader group of people to leverage Taler for their payments. 
Which eventually leads to wider adoption of the payment system Taler.
-
-\section{Perspectives}
-During the initial analysis of the task, two main areas of work were 
discovered. One is the Taler Exchange and the other is the Application for the 
terminal. This led to different views on the system by two different players 
within it. To allow a more concise view on the system and to support the 
readers and implementer, two perspectives shall be kept in mind. They have 
different views on the process but need to interact with each other seamlessly.
-
-\subsection{Terminal Application}
-The perspective of the terminal application includes all processes within the 
application which interacts with the user, his Taler Wallet and its credit card 
allowing the withdrawal of digital money. The terminal application wants to 
conviently allow the withdrawal of digital money and charge fees to cover its 
costs and risks.
+To make the access to digital cash using Taler easier and allow faster 
spreading of the payment system Taler, a framework for cashless withdrawal of 
digital cash is proposed and implemented in order to open new doors for the 
integration and adoption of the Taler payment system within the society.
 
-\subsection{Taler Exchange (nonce2ecash)}
-The perspective of the Taler Exchange includes all processes within 
nonce2ecash component and the interaction with the terminal application, 
terminal backend and the wallet of the user. The Taler Exchange wants to allow 
withdrawal of digital money only to users who pay the equivalent value to the 
Exchange. The Exchange wants to stay out of any legal implications at all costs.
+To make the withdrawals using a credit card possible, various loose ends must 
be put together within the Taler ecosystem and the terminal provider.
 
-\section{Fees}
-Since buying Taler using a credit card leverages a third party payment system, 
new \textbf{fees} are introduced and must be taken care of. The fees to 
withdraw money using Taler are defined by the third party payment system and 
therefore do not lie in the control of the Taler system. The fees are retrieved 
by the terminal and added to the amount of money which is to be withdrawn by 
the user. Only after giving the confirmation to buy the specified amount of 
Taler with the specified amount [...]
+Therefore a new component C2EC shall help, establishing a trustworthy 
relationship, which makes it possible for the \textit{Exchange} to issue 
digital cash to a customer. Therefore the \textit{Exchange} is not putting his 
trust on cash received but rather on the promise of a trusted third party (a 
terminal provider) to put the received digital cash in a location, controlled 
by the \textit{Exchange} eventually (e.g. a bank account owned by the 
\textit{Exchange}).
 
-\section{nonce2ecash}
-Very simplified, the process of a withdrawal currently looks as follows:
-
-\begin{enumerate}
-    \item User pays Exchange
-    \item Exchange validates payment and iff successful, creates reserve
-    \item User can access reserve and withdraw money using his wallet
-\end{enumerate}
+This enables a broader group of people to leverage Taler for their payments. 
Which eventually leads to wider adoption of the payment system Taler.
 
-As long as the interaction of withdrawal is manual and the identification and 
verification of the payment is a human interaction, this process is ok because 
this makes stealing Taler as hard as manipulating the Taler Exchange (which 
would mean a complete compromisation of the system). 
+\section{Perspectives}
+During the initial analysis of the task, three areas of work were discovered. 
One is the \textit{Taler Exchange}, one the Application for the terminal and 
the (Taler) \textit{Wallet}. This led to different views on the system by two 
different players within it. To allow a more concise view on the system and to 
support the readers and implementer, two perspectives shall be kept in mind. 
They have different views on the process but need to interact with each other 
seamlessly.
 
-But now we have the problem that the Exchange is not able to proof that the 
money was sent to the wallet it was intended for. This leaves the Exchange with 
liability weaknesses and makes it unattractive to operate the cashless2ecash 
feature for Exchange operators and therefore introduces a weakness.
+\subsection{Taler Exchange (C2EC)}
+The perspective of the \textit{Taler Exchange} includes all processes within 
C2EC component and the interaction with the terminal application, terminal 
backend and the wallet of the user. The \textit{Taler Exchange} wants to allow 
withdrawal of digital digital cash only to users who pay the equivalent value 
to the \textit{Exchange}. The \textit{Exchange} wants to stay out of any legal 
implications at all costs.
 
-Imagine the following situation: A user gets kidnapped and is forced to buy a 
certain amount of Taler. But now instead of using the wallet of the kidnapped 
user, the kidnapper accesses Exchange with his own wallet and steals the money. 
This makes stealing money from someone as hard as making them pay using their 
credit card or reveal the credentials to do so (which is totally possible 
\cite{cc-fraud-types}). Also plain digital attacks are possible (and probably 
more likely) where the att [...]
+\subsection{Terminal Application}
+The perspective of the terminal application includes all processes within the 
application which interacts with the user, their \textit{Wallet} and credit 
card allowing the withdrawal of digital cash. The terminal application wants to 
conviently allow the withdrawal of digital cash and charge fees to cover its 
costs and risks.
 
-This situation can be prevented by leveraging the \textbf{nonce2ecash} 
approach proposed by Florian Jung. This approach forces the withdrawing party 
to lock their withdrawal to a specific user (public key) before the actual 
withdrawal. This approach makes stealing money as hard as gaining control over 
the wallet (which is the equivalent to stealing the wallet).
+\subsection{Taler Wallet}
+The \textit{Wallet} holds the digital cash owned by the customer. The 
\textit{Wallet} wants to eventually gather the digital cash from the 
\textit{Taler Exchange}. The owner of the \textit{Wallet} must therefore 
present their credit card at a \textit{Terminal} of the terminal provider and 
pay the \textit{Exchange} as well accept the fees of the provider.
diff --git a/docs/listings/specs/api-c2ec.txt b/docs/listings/specs/api-c2ec.txt
new file mode 100644
index 0000000..92deb90
--- /dev/null
+++ b/docs/listings/specs/api-c2ec.txt
@@ -0,0 +1,342 @@
+..
+  This file is part of GNU TALER.
+
+  Copyright (C) 2014-2024 Taler Systems SA
+
+  TALER is free software; you can redistribute it and/or modify it under the
+  terms of the GNU Affero General Public License as published by the Free 
Software
+  Foundation; either version 2.1, or (at your option) any later version.
+
+  TALER is distributed in the hope that it will be useful, but WITHOUT ANY
+  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+  A PARTICULAR PURPOSE.  See the GNU Affero General Public License for more 
details.
+
+  You should have received a copy of the GNU Affero General Public License 
along with
+  TALER; see the file COPYING.  If not, see <http://www.gnu.org/licenses/>
+
+  @author Joel Haeberli
+
+===========================
+The C2EC RESTful API
+===========================
+
+.. note::
+  
+  **This API is experimental and not yet implemented**
+
+This chapter describe the APIs that third party providers need to integrate to 
allow 
+withdrawals through indirect payment channels like credit cards or ATM.
+
+.. contents:: Table of Contents
+
+--------------
+Authentication
+--------------
+
+Terminals which authenticate against the C2EC API must provide their 
respective 
+access token. Therefore they provide a ``Authorization: Bearer $ACCESS_TOKEN`` 
header, 
+where `$ACCESS_TOKEN`` is a secret authentication token configured by the 
exchange and
+must begin with the RFC 8959 prefix.
+
+----------------------------
+Configuration of C2EC
+----------------------------
+
+.. http:get:: /config
+
+  Return the protocol version and configuration information about the C2EC API.
+
+  **Response:**
+
+  :http:statuscode:`200 OK`:
+    The exchange responds with a `C2ECConfig` object. This request should
+    virtually always be successful.
+
+  **Details:**
+
+  .. ts:def:: C2ECConfig
+
+    interface C2ECConfig {
+      // Name of the API.
+      name: "taler-c2ec";
+
+      // libtool-style representation of the C2EC protocol version, see
+      // 
https://www.gnu.org/software/libtool/manual/html_node/Versioning.html#Versioning
+      // The format is "current:revision:age".
+      version: string;
+    }
+
+-----------------------------
+Withdrawing using C2EC
+-----------------------------
+
+Withdrawals with a C2EC are based on withdrawal operations which register a 
withdrawal identifier
+(nonce) at the C2EC component. The provider must first create a unique 
identifier for the withdrawal 
+operation (the ``WOPID``) to interact with the withdrawal operation and 
eventually withdraw using the wallet.
+
+.. http:post:: /withdrawal-operation
+
+  Register a `WOPID` belonging to a reserve public key. 
+
+  **Request:**
+
+  .. ts:def:: C2ECWithdrawRegistration
+
+    interface C2ECWithdrawRegistration {
+      // Maps a nonce generated by the provider to a reserve public key 
generated by the wallet.
+      wopid: ShortHashCode;
+
+      // Reserve public key generated by the wallet.
+      // According to TALER_ReservePublicKeyP 
(https://docs.taler.net/core/api-common.html#cryptographic-primitives)
+      reserve_pub_key: EddsaPublicKey;
+
+      // Optional amount for the withdrawal.
+      amount?: Amount;
+
+      // Id of the terminal of the provider requesting a withdrawal by nonce.
+      // Assigned by the exchange.
+      terminal_id: SafeUint64;
+    }
+
+  **Response:**
+
+  :http:statuscode:`204 No content`:
+    The withdrawal was successfully registered.
+  :http:statuscode:`400 Bad request`:
+    The ``WithdrawRegistration`` request was malformed or contained invalid 
parameters.
+  :http:statuscode:`500 Internal Server error`:
+    The registration of the withdrawal failed due to server side issues.
+
+.. http:get:: /withdrawal-operation/$WOPID
+
+  Query information about a withdrawal operation, identified by the ``WOPID``.
+
+  **Request:**
+
+  :query long_poll_ms:
+    *Optional.*  If specified, the bank will wait up to ``long_poll_ms``
+    milliseconds for operationt state to be different from ``old_state`` 
before sending the HTTP
+    response.  A client must never rely on this behavior, as the bank may
+    return a response immediately.
+  :query old_state:
+    *Optional.* Default to "pending".
+
+  **Response:**
+
+  :http:statuscode:`200 Ok`:
+    The withdrawal was found and is returned in the response body as 
``C2ECWithdrawalStatus``.
+  :http:statuscode:`404 Not found`:
+    C2EC does not have a withdrawal registered with the specified ``WOPID``.
+
+  **Details**
+
+    .. ts:def:: C2ECWithdrawalStatus
+
+      interface C2ECWithdrawalStatus {
+        // Current status of the operation
+        // pending: the operation is pending parameters selection (exchange 
and reserve public key)
+        // selected: the operations has been selected and is pending 
confirmation
+        // aborted: the operation has been aborted
+        // confirmed: the transfer has been confirmed and registered by the 
bank
+        // Since protocol v1.
+        status: "pending" | "selected" | "aborted" | "confirmed";
+
+        // Amount that will be withdrawn with this operation
+        // (raw amount without fee considerations).
+        amount: Amount;
+
+        // A refund address as ``payto`` URI. This address shall be used
+        // in case a refund must be done. Only not-null if the status
+        // is "confirmed" or "aborted"
+        sender_wire?: string;
+
+        // Reserve public key selected by the exchange,
+        // only non-null if ``status`` is ``selected`` or ``confirmed``.
+        // Since protocol v1.
+        selected_reserve_pub?: string;
+      }
+
+
+.. http:post:: /withdrawal-operation/$WOPID
+
+    Notifies C2EC about an executed payment for a specific withdrawal.
+
+  **Request:**
+
+  .. ts:def:: C2ECPaymentNotification
+
+    interface C2ECPaymentNotification {
+
+      // Unique identifier of the provider transaction.
+      provider_transaction_id: string;
+
+      // Specifies the amount which was payed to the provider (without fees).
+      // This amount shall be put into the reserve linked to by the withdrawal 
id. 
+      amount: Amount;
+
+      // Fees associated with the payment.
+      fees: Amount;
+    }
+
+  **Response:**
+
+  :http:statuscode:`204 No content`:
+    C2EC received the ``C2ECPaymentNotification`` successfully and will 
further process
+    the withdrawal.
+  :http:statuscode:`400 Bad request`:
+    The ``C2ECPaymentNotification`` request was malformed or contained invalid 
parameters.
+  :http:statuscode:`404 Not found`:
+    C2EC does not have a withdrawal registered with the specified ``WOPID``.
+  :http:statuscode:`500 Internal Server error`:
+    The ``C2ECPaymentNotification`` could not be processed due to server side 
issues.
+
+
+--------------
+Taler Wire Gateway
+--------------
+
+C2EC implements the wire gateway API in order to check for incoming 
transactions and
+let the exchange get proofs of payments. This will allow the C2EC componente 
to add reserves
+and therefore allow the withdrawal of the digital cash. C2EC does not entirely 
implement all endpoints, 
+because the it is not needed for the case of C2EC. The endpoints not 
implemented are not described 
+further. They will be available but respond with 400 http error code.
+
+.. http:get:: /config
+
+  Return the protocol version and configuration information about the bank.
+  This specification corresponds to ``current`` protocol being version **0**.
+
+  **Response:**
+
+  :http:statuscode:`200 OK`:
+    The exchange responds with a `WireConfig` object. This request should
+    virtually always be successful.
+
+  **Details:**
+
+  .. ts:def:: WireConfig
+
+    interface WireConfig {
+      // Name of the API.
+      name: "taler-wire-gateway";
+
+      // libtool-style representation of the Bank protocol version, see
+      // 
https://www.gnu.org/software/libtool/manual/html_node/Versioning.html#Versioning
+      // The format is "current:revision:age".
+      version: string;
+
+      // Currency used by this gateway.
+      currency: string;
+
+      // URN of the implementation (needed to interpret 'revision' in version).
+      // @since v0, may become mandatory in the future.
+      implementation?: string;
+    }
+
+.. http:post:: /transfer
+
+  This API allows the exchange to make a transaction, typically to a merchant. 
 The bank account
+  of the exchange is not included in the request, but instead derived from the 
user name in the
+  authentication header and/or the request base URL.
+
+  To make the API idempotent, the client must include a nonce.  Requests with 
the same nonce
+  are rejected unless the request is the same.
+
+  **Request:**
+
+  .. ts:def:: TransferRequest
+
+    interface TransferRequest {
+      // Nonce to make the request idempotent.  Requests with the same
+      // ``request_uid`` that differ in any of the other fields
+      // are rejected.
+      request_uid: HashCode;
+
+      // Amount to transfer.
+      amount: Amount;
+
+      // Base URL of the exchange.  Shall be included by the bank gateway
+      // in the appropriate section of the wire transfer details.
+      exchange_base_url: string;
+
+      // Wire transfer identifier chosen by the exchange,
+      // used by the merchant to identify the Taler order(s)
+      // associated with this wire transfer.
+      wtid: ShortHashCode;
+
+      // The recipient's account identifier as a payto URI.
+      credit_account: string;
+    }
+
+  **Response:**
+
+  :http:statuscode:`200 OK`:
+    The request has been correctly handled, so the funds have been transferred 
to
+    the recipient's account.  The body is a `TransferResponse`.
+  :http:statuscode:`400 Bad request`:
+    Request malformed. The bank replies with an `ErrorDetail` object.
+  :http:statuscode:`401 Unauthorized`:
+    Authentication failed, likely the credentials are wrong.
+  :http:statuscode:`404 Not found`:
+    The endpoint is wrong or the user name is unknown. The bank replies with 
an `ErrorDetail` object.
+  :http:statuscode:`409 Conflict`:
+    A transaction with the same ``request_uid`` but different transaction 
details
+    has been submitted before.
+
+  **Details:**
+
+  .. ts:def:: TransferResponse
+
+    interface TransferResponse {
+      // Timestamp that indicates when the wire transfer will be executed.
+      // In cases where the wire transfer gateway is unable to know when
+      // the wire transfer will be executed, the time at which the request
+      // has been received and stored will be returned.
+      // The purpose of this field is for debugging (humans trying to find
+      // the transaction) as well as for taxation (determining which
+      // time period a transaction belongs to).
+      timestamp: Timestamp;
+
+      // Opaque ID of the transaction that the bank has made.
+      row_id: SafeUint64;
+    } 
+
+.. http:get:: /history/incoming
+
+  **Request:**
+
+  :query start: *Optional.*
+    Row identifier to explicitly set the *starting point* of the query.
+  :query delta:
+    The *delta* value that determines the range of the query.
+  :query long_poll_ms: *Optional.*  If this parameter is specified and the
+    result of the query would be empty, the bank will wait up to 
``long_poll_ms``
+    milliseconds for new transactions that match the query to arrive and only
+    then send the HTTP response.  A client must never rely on this behavior, as
+    the bank may return a response immediately or after waiting only a fraction
+    of ``long_poll_ms``.
+
+  **Response:**
+
+  .. ts:def:: IncomingReserveTransaction
+
+    interface IncomingReserveTransaction {
+      type: "RESERVE";
+
+      // Opaque identifier of the returned record.
+      row_id: SafeUint64;
+
+      // Date of the transaction.
+      date: Timestamp;
+
+      // Amount transferred.
+      amount: Amount;
+
+      // Payto URI to identify the sender of funds.
+      debit_account: string;
+
+      // The reserve public key extracted from the transaction details.
+      reserve_pub: EddsaPublicKey;
+
+    }
+
diff --git a/docs/listings/specs/nonce2ecash_api_spec.yml 
b/docs/listings/specs/nonce2ecash_api_spec.yml
deleted file mode 100644
index 7731437..0000000
--- a/docs/listings/specs/nonce2ecash_api_spec.yml
+++ /dev/null
@@ -1,115 +0,0 @@
-openapi: 3.0.3
-info:
-  title: nonce2ecash API
-  description: API managing a mapping table which links a nonce to a public 
key. This allows withdrawing from the exchange by the nonce. Additionally it 
provides facilities allowing for the Exchange operators to register new 
providers or delete obsolete ones.
-  version: 0.0.1
-paths:
-  /n2c/nonces/withdrawal-registration:
-    post:
-      summary: Register Nonce to Reserve Public Key
-      requestBody:
-        required: true
-        content:
-          application/json:
-            schema:
-              $ref: '#/components/schemas/N2CWithdrawalRequest'
-      responses:
-        '200':
-          description: Message received successfully
-      tags:
-        - nonces
-  /n2c/nonces/withdrawal-processing:
-    post:
-      summary: Provider notifies the exchange about the payment (if it was 
successful or not)
-      requestBody:
-        required: true
-        content:
-          application/json:
-            schema:
-              $ref: '#/components/schemas/N2CPaymentNotification'
-      responses:
-        '200':
-          description: Message received successfully
-      tags:
-        - nonces
-  /n2c/nonces/withdrawal-status:
-    get:
-      summary: Check Status
-      parameters:
-        - name: nonce
-          in: query
-          description: The nonce for which to check the status
-          required: true
-          schema:
-            type: string
-        - name: listenForStatus
-          in: query
-          description: The status to listen for the given nonce
-          required: false
-          schema:
-            $ref: '#/components/schemas/N2CStatus'
-      responses:
-        '200':
-          description: Status retrieved successfully
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/N2CMapping'
-        '404':
-          description: Mapping not found
-        ''
-      tags:
-        - nonces
-tags:
-  - name: nonces
-    description: managing and retrieving information about the mapping table 
for the nonce to reserve public key mapping.
-components:
-  schemas:
-    N2CWithdrawalRequest:
-      description: Maps a nonce generated by the provider to a reserve public 
key generated by the wallet.
-      type: object
-      properties:
-        nonce:
-          type: string
-        reservePubKey:
-          type: string
-          format: byte
-        amount:
-          type: string
-        providerType:
-          $ref: '#/components/schemas/N2CProviderType'
-    N2CPaymentNotification:
-      description: Notifies the exchange about an executed payment. This will 
trigger a provider specific attestation of the payment according to the 
ProviderPaymentAttestationType.
-      type: object
-      properties:
-        nonce:
-          type: string
-        providerTransactionId:
-          type: string
-        success:
-          type: boolean
-        fees:
-          type: number
-    N2CStatus:
-      description: Describes the states a nonce to reserve public key mapping 
can be in.
-      type: string
-      enum:
-        - ESTABLISHED
-        - PAYED
-        - RESERVE_CREATED
-    N2CMapping:
-      description: Maps a nonce generated by the provider to a reserve public 
key generated by the wallet.
-      type: object
-      properties:
-        nonce:
-          type: string
-        reservePubKey:
-          type: string
-          format: byte
-        status:
-          $ref: '#/components/schemas/N2CStatus'
-    N2CProviderType:
-      description: Signals the exchange which provider is talking to him. Like 
this more Providers can be easily supported by adding their verfification flow 
to the code of nonce2ecash. This allows to extend the system with various 
providers.
-      type: string
-      enum:
-        - WALLEE
diff --git a/docs/pictures/database/relationships.png 
b/docs/pictures/database/relationships.png
new file mode 100644
index 0000000..c106b39
Binary files /dev/null and b/docs/pictures/database/relationships.png differ
diff --git a/docs/pictures/database/table_terminal.png 
b/docs/pictures/database/table_terminal.png
index e855f78..5b73568 100644
Binary files a/docs/pictures/database/table_terminal.png and 
b/docs/pictures/database/table_terminal.png differ
diff --git a/docs/pictures/database/table_terminal_provider.png 
b/docs/pictures/database/table_terminal_provider.png
index ac46b81..7ee2c66 100644
Binary files a/docs/pictures/database/table_terminal_provider.png and 
b/docs/pictures/database/table_terminal_provider.png differ
diff --git a/docs/pictures/database/table_withdrawal.png 
b/docs/pictures/database/table_withdrawal.png
index 15f33a9..3d448cc 100644
Binary files a/docs/pictures/database/table_withdrawal.png and 
b/docs/pictures/database/table_withdrawal.png differ
diff --git a/docs/pictures/diagrams/overview.png 
b/docs/pictures/diagrams/overview.png
new file mode 100644
index 0000000..0c164f3
Binary files /dev/null and b/docs/pictures/diagrams/overview.png differ
diff --git a/docs/pictures/diagrams/withdrawal-op-state-transition.png 
b/docs/pictures/diagrams/withdrawal-op-state-transition.png
new file mode 100644
index 0000000..68baa95
Binary files /dev/null and 
b/docs/pictures/diagrams/withdrawal-op-state-transition.png differ
diff --git a/docs/project.bib b/docs/project.bib
index 3221814..1da4b60 100644
--- a/docs/project.bib
+++ b/docs/project.bib
@@ -5,6 +5,27 @@
     howpublished = {\url{https://docs.taler.net/taler-user-guide.html}}
 }
 
+@misc{panetta-speech-march-30,
+    author              = {Fabio Panetta},
+    role                = {Member of the Executive Board of the ECB},
+    year                = {2022},
+    month               = {March},
+    day                 = {30},
+    speech-location     = {Brussel, Committee on Economic and Monetary Affairs 
of the European Parliament},
+    title               = {A digital euro that serves the needs of the public: 
striking the right balance},
+    url                 = 
{https://www.ecb.europa.eu/press/key/date/2022/html/ecb.sp220330_1~f9fa9a6137.en.html},
+    howpublished        = 
{\url{https://www.ecb.europa.eu/press/key/date/2022/html/ecb.sp220330_1~f9fa9a6137.en.html}}
+}
+
+@misc{study-new-digital-payment-methods,
+    author       = {Kantar Public (Verian since November 2023), on behalf of 
ECB},
+    title        = {Study on New Digital Payment Methods},
+    year         = {2022},
+    month        = {March},
+    url          = 
{https://www.ecb.europa.eu/euro/digital_euro/investigation/profuse/shared/files/dedocs/ecb.dedocs220330_report.en.pdf},
+    howpublished = 
{\url{https://www.ecb.europa.eu/euro/digital_euro/investigation/profuse/shared/files/dedocs/ecb.dedocs220330_report.en.pdf}},
+}
+
 @misc{srf-espresso-cc-fraud,
     author       = {Peter Fritsche},
     year         = {2022},
@@ -43,6 +64,20 @@
     howpublished = {\url{https://app-wallee.com/de-de/doc/payment}}
 }
 
+@misc{wallee-transaction-service-docs,
+    author       = {Wallee},
+    title        = {Transaction Service},
+    url          = 
{https://app-wallee.com/de-de/doc/api/web-service#transaction-service},
+    howpublished = 
{\url{https://app-wallee.com/de-de/doc/api/web-service#transaction-service}}
+}
+
+@misc{wallee-refund-service-docs,
+    author       = {Wallee},
+    title        = {Refund Service},
+    url          = 
{https://app-wallee.com/de-de/doc/api/web-service#refund-service},
+    howpublished = 
{\url{https://app-wallee.com/de-de/doc/api/web-service#refund-service}}
+}
+
 @misc{rfc8959,
     series =    {Request for Comments},
     number =    8959,
@@ -126,6 +161,13 @@
     howpublished = {\url{https://docs.taler.net/core/api-bank-wire.html}}
 }
 
+@misc{taler-c2ec-spec,
+    author = {Joel Häberli},
+    title = {The C2EC RESTful API},
+    url = {https://git.taler.net/docs.git/tree/core/api-c2ec.rst},
+    howpublished = 
{\url{https://git.taler.net/docs.git/tree/core/api-c2ec.rst}}
+}
+
 @misc{wallet-withdrawal,
     author       = {Taler},
     title        = {Withdrawal},
diff --git a/docs/thesis.pdf b/docs/thesis.pdf
index 248e2f8..35eac69 100644
Binary files a/docs/thesis.pdf and b/docs/thesis.pdf differ
diff --git a/docs/thesis.tex b/docs/thesis.tex
index 0079545..3c43876 100644
--- a/docs/thesis.tex
+++ b/docs/thesis.tex
@@ -119,6 +119,15 @@
        frame=single,
        backgroundcolor=\color{gray!5}
 }
+
+%% rst style definition TODO (looks like shit)
+\lstdefinestyle{rst}{
+    basicstyle=\ttfamily,
+    breaklines=true,
+    showstringspaces=false,
+       backgroundcolor=\color{gray!5}
+}
+
 %---------------------------------------------------------------------------
 
 %% %% Customize Footer and Headers in Document
@@ -177,11 +186,12 @@
 \input{content/introduction/introduction}
 \input{content/introduction/goal}
 
-\chapter{System Overview}
+\chapter{Overview}
 \input{content/architecture/overview}
 
 \chapter{Architecture}
 \input{content/architecture/c2ec}
+\input{content/architecture/wallet}
 \input{content/architecture/wallee}
 
 \chapter{Implementation}
@@ -221,7 +231,7 @@
 \chapter{Appendix A}
 \section{API}
 \label{appendix-api-spec}
-\lstinputlisting[style=yaml,caption={nonce2ecash API 
specification}]{listings/specs/nonce2ecash_api_spec.yml}
+\lstinputlisting[style=rst,caption={C2EC API 
specification}]{listings/specs/api-c2ec.txt}
 
 \chapter{Appendix B}
 \section{Meeting notes}
diff --git a/schemaspy/nonce2ecash-erd/anomalies.html 
b/schemaspy/c2ec-erd/anomalies.html
similarity index 99%
rename from schemaspy/nonce2ecash-erd/anomalies.html
rename to schemaspy/c2ec-erd/anomalies.html
index 03cbe02..2a13ebd 100644
--- a/schemaspy/nonce2ecash-erd/anomalies.html
+++ b/schemaspy/c2ec-erd/anomalies.html
@@ -3,7 +3,7 @@
     <head>
         <meta charset="utf-8">
         <meta http-equiv="X-UA-Compatible" content="IE=edge">
-        <title>postgres.public</title>
+        <title>postgres.c2ec</title>
         <!-- Tell the browser to be responsive to screen width -->
         <meta content="width=device-width, initial-scale=1, maximum-scale=1, 
user-scalable=no" name="viewport">
         <link rel="icon" type="image/png" sizes="16x16" href="favicon.png">
@@ -46,7 +46,7 @@
                 <nav class="navbar navbar-static-top">
                     <div class="container">
                         <div class="navbar-header">
-                            <a href="index.html" 
class="navbar-brand"><b>postgres</b></a><span class="navbar-brand" 
style="padding-left: 0">.public</span>
+                            <a href="index.html" 
class="navbar-brand"><b>postgres</b></a><span class="navbar-brand" 
style="padding-left: 0">.c2ec</span>
                             <button type="button" class="navbar-toggle 
collapsed" data-toggle="collapse" data-target="#navbar-collapse"><i class="fa 
fa-bars"></i></button>
                         </div>
 
diff --git a/schemaspy/nonce2ecash-erd/anomalies.js 
b/schemaspy/c2ec-erd/anomalies.js
similarity index 100%
rename from schemaspy/nonce2ecash-erd/anomalies.js
rename to schemaspy/c2ec-erd/anomalies.js
diff --git 
a/schemaspy/nonce2ecash-erd/bower/admin-lte/bootstrap/css/bootstrap-theme.css 
b/schemaspy/c2ec-erd/bower/admin-lte/bootstrap/css/bootstrap-theme.css
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/bower/admin-lte/bootstrap/css/bootstrap-theme.css
rename to schemaspy/c2ec-erd/bower/admin-lte/bootstrap/css/bootstrap-theme.css
diff --git 
a/schemaspy/nonce2ecash-erd/bower/admin-lte/bootstrap/css/bootstrap-theme.css.map
 b/schemaspy/c2ec-erd/bower/admin-lte/bootstrap/css/bootstrap-theme.css.map
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/bower/admin-lte/bootstrap/css/bootstrap-theme.css.map
rename to 
schemaspy/c2ec-erd/bower/admin-lte/bootstrap/css/bootstrap-theme.css.map
diff --git 
a/schemaspy/nonce2ecash-erd/bower/admin-lte/bootstrap/css/bootstrap-theme.min.css
 b/schemaspy/c2ec-erd/bower/admin-lte/bootstrap/css/bootstrap-theme.min.css
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/bower/admin-lte/bootstrap/css/bootstrap-theme.min.css
rename to 
schemaspy/c2ec-erd/bower/admin-lte/bootstrap/css/bootstrap-theme.min.css
diff --git 
a/schemaspy/nonce2ecash-erd/bower/admin-lte/bootstrap/css/bootstrap-theme.min.css.map
 b/schemaspy/c2ec-erd/bower/admin-lte/bootstrap/css/bootstrap-theme.min.css.map
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/bower/admin-lte/bootstrap/css/bootstrap-theme.min.css.map
rename to 
schemaspy/c2ec-erd/bower/admin-lte/bootstrap/css/bootstrap-theme.min.css.map
diff --git 
a/schemaspy/nonce2ecash-erd/bower/admin-lte/bootstrap/css/bootstrap.css 
b/schemaspy/c2ec-erd/bower/admin-lte/bootstrap/css/bootstrap.css
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/bower/admin-lte/bootstrap/css/bootstrap.css
rename to schemaspy/c2ec-erd/bower/admin-lte/bootstrap/css/bootstrap.css
diff --git 
a/schemaspy/nonce2ecash-erd/bower/admin-lte/bootstrap/css/bootstrap.css.map 
b/schemaspy/c2ec-erd/bower/admin-lte/bootstrap/css/bootstrap.css.map
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/bower/admin-lte/bootstrap/css/bootstrap.css.map
rename to schemaspy/c2ec-erd/bower/admin-lte/bootstrap/css/bootstrap.css.map
diff --git 
a/schemaspy/nonce2ecash-erd/bower/admin-lte/bootstrap/css/bootstrap.min.css 
b/schemaspy/c2ec-erd/bower/admin-lte/bootstrap/css/bootstrap.min.css
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/bower/admin-lte/bootstrap/css/bootstrap.min.css
rename to schemaspy/c2ec-erd/bower/admin-lte/bootstrap/css/bootstrap.min.css
diff --git 
a/schemaspy/nonce2ecash-erd/bower/admin-lte/bootstrap/css/bootstrap.min.css.map 
b/schemaspy/c2ec-erd/bower/admin-lte/bootstrap/css/bootstrap.min.css.map
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/bower/admin-lte/bootstrap/css/bootstrap.min.css.map
rename to schemaspy/c2ec-erd/bower/admin-lte/bootstrap/css/bootstrap.min.css.map
diff --git 
a/schemaspy/nonce2ecash-erd/bower/admin-lte/bootstrap/fonts/glyphicons-halflings-regular.eot
 
b/schemaspy/c2ec-erd/bower/admin-lte/bootstrap/fonts/glyphicons-halflings-regular.eot
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/bower/admin-lte/bootstrap/fonts/glyphicons-halflings-regular.eot
rename to 
schemaspy/c2ec-erd/bower/admin-lte/bootstrap/fonts/glyphicons-halflings-regular.eot
diff --git 
a/schemaspy/nonce2ecash-erd/bower/admin-lte/bootstrap/fonts/glyphicons-halflings-regular.svg
 
b/schemaspy/c2ec-erd/bower/admin-lte/bootstrap/fonts/glyphicons-halflings-regular.svg
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/bower/admin-lte/bootstrap/fonts/glyphicons-halflings-regular.svg
rename to 
schemaspy/c2ec-erd/bower/admin-lte/bootstrap/fonts/glyphicons-halflings-regular.svg
diff --git 
a/schemaspy/nonce2ecash-erd/bower/admin-lte/bootstrap/fonts/glyphicons-halflings-regular.ttf
 
b/schemaspy/c2ec-erd/bower/admin-lte/bootstrap/fonts/glyphicons-halflings-regular.ttf
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/bower/admin-lte/bootstrap/fonts/glyphicons-halflings-regular.ttf
rename to 
schemaspy/c2ec-erd/bower/admin-lte/bootstrap/fonts/glyphicons-halflings-regular.ttf
diff --git 
a/schemaspy/nonce2ecash-erd/bower/admin-lte/bootstrap/fonts/glyphicons-halflings-regular.woff
 
b/schemaspy/c2ec-erd/bower/admin-lte/bootstrap/fonts/glyphicons-halflings-regular.woff
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/bower/admin-lte/bootstrap/fonts/glyphicons-halflings-regular.woff
rename to 
schemaspy/c2ec-erd/bower/admin-lte/bootstrap/fonts/glyphicons-halflings-regular.woff
diff --git 
a/schemaspy/nonce2ecash-erd/bower/admin-lte/bootstrap/fonts/glyphicons-halflings-regular.woff2
 
b/schemaspy/c2ec-erd/bower/admin-lte/bootstrap/fonts/glyphicons-halflings-regular.woff2
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/bower/admin-lte/bootstrap/fonts/glyphicons-halflings-regular.woff2
rename to 
schemaspy/c2ec-erd/bower/admin-lte/bootstrap/fonts/glyphicons-halflings-regular.woff2
diff --git 
a/schemaspy/nonce2ecash-erd/bower/admin-lte/bootstrap/js/bootstrap.js 
b/schemaspy/c2ec-erd/bower/admin-lte/bootstrap/js/bootstrap.js
similarity index 100%
rename from schemaspy/nonce2ecash-erd/bower/admin-lte/bootstrap/js/bootstrap.js
rename to schemaspy/c2ec-erd/bower/admin-lte/bootstrap/js/bootstrap.js
diff --git 
a/schemaspy/nonce2ecash-erd/bower/admin-lte/bootstrap/js/bootstrap.min.js 
b/schemaspy/c2ec-erd/bower/admin-lte/bootstrap/js/bootstrap.min.js
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/bower/admin-lte/bootstrap/js/bootstrap.min.js
rename to schemaspy/c2ec-erd/bower/admin-lte/bootstrap/js/bootstrap.min.js
diff --git a/schemaspy/nonce2ecash-erd/bower/admin-lte/bootstrap/js/npm.js 
b/schemaspy/c2ec-erd/bower/admin-lte/bootstrap/js/npm.js
similarity index 100%
rename from schemaspy/nonce2ecash-erd/bower/admin-lte/bootstrap/js/npm.js
rename to schemaspy/c2ec-erd/bower/admin-lte/bootstrap/js/npm.js
diff --git a/schemaspy/nonce2ecash-erd/bower/admin-lte/dist/css/AdminLTE.css 
b/schemaspy/c2ec-erd/bower/admin-lte/dist/css/AdminLTE.css
similarity index 100%
rename from schemaspy/nonce2ecash-erd/bower/admin-lte/dist/css/AdminLTE.css
rename to schemaspy/c2ec-erd/bower/admin-lte/dist/css/AdminLTE.css
diff --git 
a/schemaspy/nonce2ecash-erd/bower/admin-lte/dist/css/AdminLTE.min.css 
b/schemaspy/c2ec-erd/bower/admin-lte/dist/css/AdminLTE.min.css
similarity index 100%
rename from schemaspy/nonce2ecash-erd/bower/admin-lte/dist/css/AdminLTE.min.css
rename to schemaspy/c2ec-erd/bower/admin-lte/dist/css/AdminLTE.min.css
diff --git 
a/schemaspy/nonce2ecash-erd/bower/admin-lte/dist/css/alt/AdminLTE-bootstrap-social.css
 b/schemaspy/c2ec-erd/bower/admin-lte/dist/css/alt/AdminLTE-bootstrap-social.css
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/bower/admin-lte/dist/css/alt/AdminLTE-bootstrap-social.css
rename to 
schemaspy/c2ec-erd/bower/admin-lte/dist/css/alt/AdminLTE-bootstrap-social.css
diff --git 
a/schemaspy/nonce2ecash-erd/bower/admin-lte/dist/css/alt/AdminLTE-bootstrap-social.min.css
 
b/schemaspy/c2ec-erd/bower/admin-lte/dist/css/alt/AdminLTE-bootstrap-social.min.css
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/bower/admin-lte/dist/css/alt/AdminLTE-bootstrap-social.min.css
rename to 
schemaspy/c2ec-erd/bower/admin-lte/dist/css/alt/AdminLTE-bootstrap-social.min.css
diff --git 
a/schemaspy/nonce2ecash-erd/bower/admin-lte/dist/css/alt/AdminLTE-fullcalendar.css
 b/schemaspy/c2ec-erd/bower/admin-lte/dist/css/alt/AdminLTE-fullcalendar.css
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/bower/admin-lte/dist/css/alt/AdminLTE-fullcalendar.css
rename to 
schemaspy/c2ec-erd/bower/admin-lte/dist/css/alt/AdminLTE-fullcalendar.css
diff --git 
a/schemaspy/nonce2ecash-erd/bower/admin-lte/dist/css/alt/AdminLTE-fullcalendar.min.css
 b/schemaspy/c2ec-erd/bower/admin-lte/dist/css/alt/AdminLTE-fullcalendar.min.css
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/bower/admin-lte/dist/css/alt/AdminLTE-fullcalendar.min.css
rename to 
schemaspy/c2ec-erd/bower/admin-lte/dist/css/alt/AdminLTE-fullcalendar.min.css
diff --git 
a/schemaspy/nonce2ecash-erd/bower/admin-lte/dist/css/alt/AdminLTE-select2.css 
b/schemaspy/c2ec-erd/bower/admin-lte/dist/css/alt/AdminLTE-select2.css
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/bower/admin-lte/dist/css/alt/AdminLTE-select2.css
rename to schemaspy/c2ec-erd/bower/admin-lte/dist/css/alt/AdminLTE-select2.css
diff --git 
a/schemaspy/nonce2ecash-erd/bower/admin-lte/dist/css/alt/AdminLTE-select2.min.css
 b/schemaspy/c2ec-erd/bower/admin-lte/dist/css/alt/AdminLTE-select2.min.css
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/bower/admin-lte/dist/css/alt/AdminLTE-select2.min.css
rename to 
schemaspy/c2ec-erd/bower/admin-lte/dist/css/alt/AdminLTE-select2.min.css
diff --git 
a/schemaspy/nonce2ecash-erd/bower/admin-lte/dist/css/alt/AdminLTE-without-plugins.css
 b/schemaspy/c2ec-erd/bower/admin-lte/dist/css/alt/AdminLTE-without-plugins.css
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/bower/admin-lte/dist/css/alt/AdminLTE-without-plugins.css
rename to 
schemaspy/c2ec-erd/bower/admin-lte/dist/css/alt/AdminLTE-without-plugins.css
diff --git 
a/schemaspy/nonce2ecash-erd/bower/admin-lte/dist/css/alt/AdminLTE-without-plugins.min.css
 
b/schemaspy/c2ec-erd/bower/admin-lte/dist/css/alt/AdminLTE-without-plugins.min.css
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/bower/admin-lte/dist/css/alt/AdminLTE-without-plugins.min.css
rename to 
schemaspy/c2ec-erd/bower/admin-lte/dist/css/alt/AdminLTE-without-plugins.min.css
diff --git 
a/schemaspy/nonce2ecash-erd/bower/admin-lte/dist/css/skins/skin-black-light.css 
b/schemaspy/c2ec-erd/bower/admin-lte/dist/css/skins/skin-black-light.css
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/bower/admin-lte/dist/css/skins/skin-black-light.css
rename to schemaspy/c2ec-erd/bower/admin-lte/dist/css/skins/skin-black-light.css
diff --git 
a/schemaspy/nonce2ecash-erd/bower/admin-lte/dist/css/skins/skin-black-light.min.css
 b/schemaspy/c2ec-erd/bower/admin-lte/dist/css/skins/skin-black-light.min.css
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/bower/admin-lte/dist/css/skins/skin-black-light.min.css
rename to 
schemaspy/c2ec-erd/bower/admin-lte/dist/css/skins/skin-black-light.min.css
diff --git 
a/schemaspy/nonce2ecash-erd/bower/admin-lte/dist/css/skins/skin-black.css 
b/schemaspy/c2ec-erd/bower/admin-lte/dist/css/skins/skin-black.css
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/bower/admin-lte/dist/css/skins/skin-black.css
rename to schemaspy/c2ec-erd/bower/admin-lte/dist/css/skins/skin-black.css
diff --git 
a/schemaspy/nonce2ecash-erd/bower/admin-lte/dist/css/skins/skin-black.min.css 
b/schemaspy/c2ec-erd/bower/admin-lte/dist/css/skins/skin-black.min.css
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/bower/admin-lte/dist/css/skins/skin-black.min.css
rename to schemaspy/c2ec-erd/bower/admin-lte/dist/css/skins/skin-black.min.css
diff --git 
a/schemaspy/nonce2ecash-erd/bower/admin-lte/dist/css/skins/skin-blue-light.css 
b/schemaspy/c2ec-erd/bower/admin-lte/dist/css/skins/skin-blue-light.css
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/bower/admin-lte/dist/css/skins/skin-blue-light.css
rename to schemaspy/c2ec-erd/bower/admin-lte/dist/css/skins/skin-blue-light.css
diff --git 
a/schemaspy/nonce2ecash-erd/bower/admin-lte/dist/css/skins/skin-blue-light.min.css
 b/schemaspy/c2ec-erd/bower/admin-lte/dist/css/skins/skin-blue-light.min.css
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/bower/admin-lte/dist/css/skins/skin-blue-light.min.css
rename to 
schemaspy/c2ec-erd/bower/admin-lte/dist/css/skins/skin-blue-light.min.css
diff --git 
a/schemaspy/nonce2ecash-erd/bower/admin-lte/dist/css/skins/skin-blue.css 
b/schemaspy/c2ec-erd/bower/admin-lte/dist/css/skins/skin-blue.css
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/bower/admin-lte/dist/css/skins/skin-blue.css
rename to schemaspy/c2ec-erd/bower/admin-lte/dist/css/skins/skin-blue.css
diff --git 
a/schemaspy/nonce2ecash-erd/bower/admin-lte/dist/css/skins/skin-blue.min.css 
b/schemaspy/c2ec-erd/bower/admin-lte/dist/css/skins/skin-blue.min.css
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/bower/admin-lte/dist/css/skins/skin-blue.min.css
rename to schemaspy/c2ec-erd/bower/admin-lte/dist/css/skins/skin-blue.min.css
diff --git 
a/schemaspy/nonce2ecash-erd/bower/admin-lte/dist/css/skins/skin-green-light.css 
b/schemaspy/c2ec-erd/bower/admin-lte/dist/css/skins/skin-green-light.css
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/bower/admin-lte/dist/css/skins/skin-green-light.css
rename to schemaspy/c2ec-erd/bower/admin-lte/dist/css/skins/skin-green-light.css
diff --git 
a/schemaspy/nonce2ecash-erd/bower/admin-lte/dist/css/skins/skin-green-light.min.css
 b/schemaspy/c2ec-erd/bower/admin-lte/dist/css/skins/skin-green-light.min.css
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/bower/admin-lte/dist/css/skins/skin-green-light.min.css
rename to 
schemaspy/c2ec-erd/bower/admin-lte/dist/css/skins/skin-green-light.min.css
diff --git 
a/schemaspy/nonce2ecash-erd/bower/admin-lte/dist/css/skins/skin-green.css 
b/schemaspy/c2ec-erd/bower/admin-lte/dist/css/skins/skin-green.css
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/bower/admin-lte/dist/css/skins/skin-green.css
rename to schemaspy/c2ec-erd/bower/admin-lte/dist/css/skins/skin-green.css
diff --git 
a/schemaspy/nonce2ecash-erd/bower/admin-lte/dist/css/skins/skin-green.min.css 
b/schemaspy/c2ec-erd/bower/admin-lte/dist/css/skins/skin-green.min.css
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/bower/admin-lte/dist/css/skins/skin-green.min.css
rename to schemaspy/c2ec-erd/bower/admin-lte/dist/css/skins/skin-green.min.css
diff --git 
a/schemaspy/nonce2ecash-erd/bower/admin-lte/dist/css/skins/skin-purple-light.css
 b/schemaspy/c2ec-erd/bower/admin-lte/dist/css/skins/skin-purple-light.css
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/bower/admin-lte/dist/css/skins/skin-purple-light.css
rename to 
schemaspy/c2ec-erd/bower/admin-lte/dist/css/skins/skin-purple-light.css
diff --git 
a/schemaspy/nonce2ecash-erd/bower/admin-lte/dist/css/skins/skin-purple-light.min.css
 b/schemaspy/c2ec-erd/bower/admin-lte/dist/css/skins/skin-purple-light.min.css
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/bower/admin-lte/dist/css/skins/skin-purple-light.min.css
rename to 
schemaspy/c2ec-erd/bower/admin-lte/dist/css/skins/skin-purple-light.min.css
diff --git 
a/schemaspy/nonce2ecash-erd/bower/admin-lte/dist/css/skins/skin-purple.css 
b/schemaspy/c2ec-erd/bower/admin-lte/dist/css/skins/skin-purple.css
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/bower/admin-lte/dist/css/skins/skin-purple.css
rename to schemaspy/c2ec-erd/bower/admin-lte/dist/css/skins/skin-purple.css
diff --git 
a/schemaspy/nonce2ecash-erd/bower/admin-lte/dist/css/skins/skin-purple.min.css 
b/schemaspy/c2ec-erd/bower/admin-lte/dist/css/skins/skin-purple.min.css
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/bower/admin-lte/dist/css/skins/skin-purple.min.css
rename to schemaspy/c2ec-erd/bower/admin-lte/dist/css/skins/skin-purple.min.css
diff --git 
a/schemaspy/nonce2ecash-erd/bower/admin-lte/dist/css/skins/skin-red-light.css 
b/schemaspy/c2ec-erd/bower/admin-lte/dist/css/skins/skin-red-light.css
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/bower/admin-lte/dist/css/skins/skin-red-light.css
rename to schemaspy/c2ec-erd/bower/admin-lte/dist/css/skins/skin-red-light.css
diff --git 
a/schemaspy/nonce2ecash-erd/bower/admin-lte/dist/css/skins/skin-red-light.min.css
 b/schemaspy/c2ec-erd/bower/admin-lte/dist/css/skins/skin-red-light.min.css
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/bower/admin-lte/dist/css/skins/skin-red-light.min.css
rename to 
schemaspy/c2ec-erd/bower/admin-lte/dist/css/skins/skin-red-light.min.css
diff --git 
a/schemaspy/nonce2ecash-erd/bower/admin-lte/dist/css/skins/skin-red.css 
b/schemaspy/c2ec-erd/bower/admin-lte/dist/css/skins/skin-red.css
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/bower/admin-lte/dist/css/skins/skin-red.css
rename to schemaspy/c2ec-erd/bower/admin-lte/dist/css/skins/skin-red.css
diff --git 
a/schemaspy/nonce2ecash-erd/bower/admin-lte/dist/css/skins/skin-red.min.css 
b/schemaspy/c2ec-erd/bower/admin-lte/dist/css/skins/skin-red.min.css
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/bower/admin-lte/dist/css/skins/skin-red.min.css
rename to schemaspy/c2ec-erd/bower/admin-lte/dist/css/skins/skin-red.min.css
diff --git 
a/schemaspy/nonce2ecash-erd/bower/admin-lte/dist/css/skins/skin-yellow-light.css
 b/schemaspy/c2ec-erd/bower/admin-lte/dist/css/skins/skin-yellow-light.css
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/bower/admin-lte/dist/css/skins/skin-yellow-light.css
rename to 
schemaspy/c2ec-erd/bower/admin-lte/dist/css/skins/skin-yellow-light.css
diff --git 
a/schemaspy/nonce2ecash-erd/bower/admin-lte/dist/css/skins/skin-yellow-light.min.css
 b/schemaspy/c2ec-erd/bower/admin-lte/dist/css/skins/skin-yellow-light.min.css
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/bower/admin-lte/dist/css/skins/skin-yellow-light.min.css
rename to 
schemaspy/c2ec-erd/bower/admin-lte/dist/css/skins/skin-yellow-light.min.css
diff --git 
a/schemaspy/nonce2ecash-erd/bower/admin-lte/dist/css/skins/skin-yellow.css 
b/schemaspy/c2ec-erd/bower/admin-lte/dist/css/skins/skin-yellow.css
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/bower/admin-lte/dist/css/skins/skin-yellow.css
rename to schemaspy/c2ec-erd/bower/admin-lte/dist/css/skins/skin-yellow.css
diff --git 
a/schemaspy/nonce2ecash-erd/bower/admin-lte/dist/css/skins/skin-yellow.min.css 
b/schemaspy/c2ec-erd/bower/admin-lte/dist/css/skins/skin-yellow.min.css
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/bower/admin-lte/dist/css/skins/skin-yellow.min.css
rename to schemaspy/c2ec-erd/bower/admin-lte/dist/css/skins/skin-yellow.min.css
diff --git a/schemaspy/nonce2ecash-erd/bower/admin-lte/dist/js/app.js 
b/schemaspy/c2ec-erd/bower/admin-lte/dist/js/app.js
similarity index 100%
rename from schemaspy/nonce2ecash-erd/bower/admin-lte/dist/js/app.js
rename to schemaspy/c2ec-erd/bower/admin-lte/dist/js/app.js
diff --git a/schemaspy/nonce2ecash-erd/bower/admin-lte/dist/js/app.min.js 
b/schemaspy/c2ec-erd/bower/admin-lte/dist/js/app.min.js
similarity index 100%
rename from schemaspy/nonce2ecash-erd/bower/admin-lte/dist/js/app.min.js
rename to schemaspy/c2ec-erd/bower/admin-lte/dist/js/app.min.js
diff --git a/schemaspy/nonce2ecash-erd/bower/admin-lte/dist/js/demo.js 
b/schemaspy/c2ec-erd/bower/admin-lte/dist/js/demo.js
similarity index 100%
rename from schemaspy/nonce2ecash-erd/bower/admin-lte/dist/js/demo.js
rename to schemaspy/c2ec-erd/bower/admin-lte/dist/js/demo.js
diff --git 
a/schemaspy/nonce2ecash-erd/bower/admin-lte/dist/js/pages/dashboard.js 
b/schemaspy/c2ec-erd/bower/admin-lte/dist/js/pages/dashboard.js
similarity index 100%
rename from schemaspy/nonce2ecash-erd/bower/admin-lte/dist/js/pages/dashboard.js
rename to schemaspy/c2ec-erd/bower/admin-lte/dist/js/pages/dashboard.js
diff --git 
a/schemaspy/nonce2ecash-erd/bower/admin-lte/dist/js/pages/dashboard2.js 
b/schemaspy/c2ec-erd/bower/admin-lte/dist/js/pages/dashboard2.js
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/bower/admin-lte/dist/js/pages/dashboard2.js
rename to schemaspy/c2ec-erd/bower/admin-lte/dist/js/pages/dashboard2.js
diff --git 
a/schemaspy/nonce2ecash-erd/bower/admin-lte/plugins/fastclick/fastclick.js 
b/schemaspy/c2ec-erd/bower/admin-lte/plugins/fastclick/fastclick.js
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/bower/admin-lte/plugins/fastclick/fastclick.js
rename to schemaspy/c2ec-erd/bower/admin-lte/plugins/fastclick/fastclick.js
diff --git 
a/schemaspy/nonce2ecash-erd/bower/admin-lte/plugins/fastclick/fastclick.min.js 
b/schemaspy/c2ec-erd/bower/admin-lte/plugins/fastclick/fastclick.min.js
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/bower/admin-lte/plugins/fastclick/fastclick.min.js
rename to schemaspy/c2ec-erd/bower/admin-lte/plugins/fastclick/fastclick.min.js
diff --git 
a/schemaspy/nonce2ecash-erd/bower/admin-lte/plugins/jQuery/jquery-2.2.3.min.js 
b/schemaspy/c2ec-erd/bower/admin-lte/plugins/jQuery/jquery-2.2.3.min.js
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/bower/admin-lte/plugins/jQuery/jquery-2.2.3.min.js
rename to schemaspy/c2ec-erd/bower/admin-lte/plugins/jQuery/jquery-2.2.3.min.js
diff --git 
a/schemaspy/nonce2ecash-erd/bower/admin-lte/plugins/jQueryUI/jquery-ui.js 
b/schemaspy/c2ec-erd/bower/admin-lte/plugins/jQueryUI/jquery-ui.js
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/bower/admin-lte/plugins/jQueryUI/jquery-ui.js
rename to schemaspy/c2ec-erd/bower/admin-lte/plugins/jQueryUI/jquery-ui.js
diff --git 
a/schemaspy/nonce2ecash-erd/bower/admin-lte/plugins/jQueryUI/jquery-ui.min.js 
b/schemaspy/c2ec-erd/bower/admin-lte/plugins/jQueryUI/jquery-ui.min.js
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/bower/admin-lte/plugins/jQueryUI/jquery-ui.min.js
rename to schemaspy/c2ec-erd/bower/admin-lte/plugins/jQueryUI/jquery-ui.min.js
diff --git 
a/schemaspy/nonce2ecash-erd/bower/admin-lte/plugins/slimScroll/jquery.slimscroll.js
 b/schemaspy/c2ec-erd/bower/admin-lte/plugins/slimScroll/jquery.slimscroll.js
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/bower/admin-lte/plugins/slimScroll/jquery.slimscroll.js
rename to 
schemaspy/c2ec-erd/bower/admin-lte/plugins/slimScroll/jquery.slimscroll.js
diff --git 
a/schemaspy/nonce2ecash-erd/bower/admin-lte/plugins/slimScroll/jquery.slimscroll.min.js
 
b/schemaspy/c2ec-erd/bower/admin-lte/plugins/slimScroll/jquery.slimscroll.min.js
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/bower/admin-lte/plugins/slimScroll/jquery.slimscroll.min.js
rename to 
schemaspy/c2ec-erd/bower/admin-lte/plugins/slimScroll/jquery.slimscroll.min.js
diff --git a/schemaspy/nonce2ecash-erd/bower/anchor-js/anchor.min.js 
b/schemaspy/c2ec-erd/bower/anchor-js/anchor.min.js
similarity index 100%
rename from schemaspy/nonce2ecash-erd/bower/anchor-js/anchor.min.js
rename to schemaspy/c2ec-erd/bower/anchor-js/anchor.min.js
diff --git a/schemaspy/nonce2ecash-erd/bower/codemirror/codemirror.css 
b/schemaspy/c2ec-erd/bower/codemirror/codemirror.css
similarity index 100%
rename from schemaspy/nonce2ecash-erd/bower/codemirror/codemirror.css
rename to schemaspy/c2ec-erd/bower/codemirror/codemirror.css
diff --git a/schemaspy/nonce2ecash-erd/bower/codemirror/codemirror.js 
b/schemaspy/c2ec-erd/bower/codemirror/codemirror.js
similarity index 100%
rename from schemaspy/nonce2ecash-erd/bower/codemirror/codemirror.js
rename to schemaspy/c2ec-erd/bower/codemirror/codemirror.js
diff --git a/schemaspy/nonce2ecash-erd/bower/codemirror/sql.js 
b/schemaspy/c2ec-erd/bower/codemirror/sql.js
similarity index 100%
rename from schemaspy/nonce2ecash-erd/bower/codemirror/sql.js
rename to schemaspy/c2ec-erd/bower/codemirror/sql.js
diff --git 
a/schemaspy/nonce2ecash-erd/bower/datatables.net-bs/css/dataTables.bootstrap.css
 b/schemaspy/c2ec-erd/bower/datatables.net-bs/css/dataTables.bootstrap.css
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/bower/datatables.net-bs/css/dataTables.bootstrap.css
rename to 
schemaspy/c2ec-erd/bower/datatables.net-bs/css/dataTables.bootstrap.css
diff --git 
a/schemaspy/nonce2ecash-erd/bower/datatables.net-bs/css/dataTables.bootstrap.min.css
 b/schemaspy/c2ec-erd/bower/datatables.net-bs/css/dataTables.bootstrap.min.css
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/bower/datatables.net-bs/css/dataTables.bootstrap.min.css
rename to 
schemaspy/c2ec-erd/bower/datatables.net-bs/css/dataTables.bootstrap.min.css
diff --git 
a/schemaspy/nonce2ecash-erd/bower/datatables.net-bs/js/dataTables.bootstrap.js 
b/schemaspy/c2ec-erd/bower/datatables.net-bs/js/dataTables.bootstrap.js
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/bower/datatables.net-bs/js/dataTables.bootstrap.js
rename to schemaspy/c2ec-erd/bower/datatables.net-bs/js/dataTables.bootstrap.js
diff --git 
a/schemaspy/nonce2ecash-erd/bower/datatables.net-bs/js/dataTables.bootstrap.min.js
 b/schemaspy/c2ec-erd/bower/datatables.net-bs/js/dataTables.bootstrap.min.js
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/bower/datatables.net-bs/js/dataTables.bootstrap.min.js
rename to 
schemaspy/c2ec-erd/bower/datatables.net-bs/js/dataTables.bootstrap.min.js
diff --git 
a/schemaspy/nonce2ecash-erd/bower/datatables.net-buttons-bs/css/buttons.bootstrap.css
 b/schemaspy/c2ec-erd/bower/datatables.net-buttons-bs/css/buttons.bootstrap.css
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/bower/datatables.net-buttons-bs/css/buttons.bootstrap.css
rename to 
schemaspy/c2ec-erd/bower/datatables.net-buttons-bs/css/buttons.bootstrap.css
diff --git 
a/schemaspy/nonce2ecash-erd/bower/datatables.net-buttons-bs/css/buttons.bootstrap.min.css
 
b/schemaspy/c2ec-erd/bower/datatables.net-buttons-bs/css/buttons.bootstrap.min.css
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/bower/datatables.net-buttons-bs/css/buttons.bootstrap.min.css
rename to 
schemaspy/c2ec-erd/bower/datatables.net-buttons-bs/css/buttons.bootstrap.min.css
diff --git 
a/schemaspy/nonce2ecash-erd/bower/datatables.net-buttons-bs/js/buttons.bootstrap.js
 b/schemaspy/c2ec-erd/bower/datatables.net-buttons-bs/js/buttons.bootstrap.js
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/bower/datatables.net-buttons-bs/js/buttons.bootstrap.js
rename to 
schemaspy/c2ec-erd/bower/datatables.net-buttons-bs/js/buttons.bootstrap.js
diff --git 
a/schemaspy/nonce2ecash-erd/bower/datatables.net-buttons-bs/js/buttons.bootstrap.min.js
 
b/schemaspy/c2ec-erd/bower/datatables.net-buttons-bs/js/buttons.bootstrap.min.js
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/bower/datatables.net-buttons-bs/js/buttons.bootstrap.min.js
rename to 
schemaspy/c2ec-erd/bower/datatables.net-buttons-bs/js/buttons.bootstrap.min.js
diff --git 
a/schemaspy/nonce2ecash-erd/bower/datatables.net-buttons/buttons.colVis.js 
b/schemaspy/c2ec-erd/bower/datatables.net-buttons/buttons.colVis.js
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/bower/datatables.net-buttons/buttons.colVis.js
rename to schemaspy/c2ec-erd/bower/datatables.net-buttons/buttons.colVis.js
diff --git 
a/schemaspy/nonce2ecash-erd/bower/datatables.net-buttons/buttons.colVis.min.js 
b/schemaspy/c2ec-erd/bower/datatables.net-buttons/buttons.colVis.min.js
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/bower/datatables.net-buttons/buttons.colVis.min.js
rename to schemaspy/c2ec-erd/bower/datatables.net-buttons/buttons.colVis.min.js
diff --git 
a/schemaspy/nonce2ecash-erd/bower/datatables.net-buttons/buttons.flash.js 
b/schemaspy/c2ec-erd/bower/datatables.net-buttons/buttons.flash.js
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/bower/datatables.net-buttons/buttons.flash.js
rename to schemaspy/c2ec-erd/bower/datatables.net-buttons/buttons.flash.js
diff --git 
a/schemaspy/nonce2ecash-erd/bower/datatables.net-buttons/buttons.flash.min.js 
b/schemaspy/c2ec-erd/bower/datatables.net-buttons/buttons.flash.min.js
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/bower/datatables.net-buttons/buttons.flash.min.js
rename to schemaspy/c2ec-erd/bower/datatables.net-buttons/buttons.flash.min.js
diff --git 
a/schemaspy/nonce2ecash-erd/bower/datatables.net-buttons/buttons.html5.js 
b/schemaspy/c2ec-erd/bower/datatables.net-buttons/buttons.html5.js
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/bower/datatables.net-buttons/buttons.html5.js
rename to schemaspy/c2ec-erd/bower/datatables.net-buttons/buttons.html5.js
diff --git 
a/schemaspy/nonce2ecash-erd/bower/datatables.net-buttons/buttons.html5.min.js 
b/schemaspy/c2ec-erd/bower/datatables.net-buttons/buttons.html5.min.js
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/bower/datatables.net-buttons/buttons.html5.min.js
rename to schemaspy/c2ec-erd/bower/datatables.net-buttons/buttons.html5.min.js
diff --git 
a/schemaspy/nonce2ecash-erd/bower/datatables.net-buttons/buttons.print.js 
b/schemaspy/c2ec-erd/bower/datatables.net-buttons/buttons.print.js
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/bower/datatables.net-buttons/buttons.print.js
rename to schemaspy/c2ec-erd/bower/datatables.net-buttons/buttons.print.js
diff --git 
a/schemaspy/nonce2ecash-erd/bower/datatables.net-buttons/buttons.print.min.js 
b/schemaspy/c2ec-erd/bower/datatables.net-buttons/buttons.print.min.js
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/bower/datatables.net-buttons/buttons.print.min.js
rename to schemaspy/c2ec-erd/bower/datatables.net-buttons/buttons.print.min.js
diff --git 
a/schemaspy/nonce2ecash-erd/bower/datatables.net-buttons/dataTables.buttons.js 
b/schemaspy/c2ec-erd/bower/datatables.net-buttons/dataTables.buttons.js
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/bower/datatables.net-buttons/dataTables.buttons.js
rename to schemaspy/c2ec-erd/bower/datatables.net-buttons/dataTables.buttons.js
diff --git 
a/schemaspy/nonce2ecash-erd/bower/datatables.net-buttons/dataTables.buttons.min.js
 b/schemaspy/c2ec-erd/bower/datatables.net-buttons/dataTables.buttons.min.js
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/bower/datatables.net-buttons/dataTables.buttons.min.js
rename to 
schemaspy/c2ec-erd/bower/datatables.net-buttons/dataTables.buttons.min.js
diff --git 
a/schemaspy/nonce2ecash-erd/bower/datatables.net/jquery.dataTables.min.js 
b/schemaspy/c2ec-erd/bower/datatables.net/jquery.dataTables.min.js
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/bower/datatables.net/jquery.dataTables.min.js
rename to schemaspy/c2ec-erd/bower/datatables.net/jquery.dataTables.min.js
diff --git a/schemaspy/nonce2ecash-erd/bower/font-awesome/css/font-awesome.css 
b/schemaspy/c2ec-erd/bower/font-awesome/css/font-awesome.css
similarity index 100%
rename from schemaspy/nonce2ecash-erd/bower/font-awesome/css/font-awesome.css
rename to schemaspy/c2ec-erd/bower/font-awesome/css/font-awesome.css
diff --git 
a/schemaspy/nonce2ecash-erd/bower/font-awesome/css/font-awesome.css.map 
b/schemaspy/c2ec-erd/bower/font-awesome/css/font-awesome.css.map
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/bower/font-awesome/css/font-awesome.css.map
rename to schemaspy/c2ec-erd/bower/font-awesome/css/font-awesome.css.map
diff --git 
a/schemaspy/nonce2ecash-erd/bower/font-awesome/css/font-awesome.min.css 
b/schemaspy/c2ec-erd/bower/font-awesome/css/font-awesome.min.css
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/bower/font-awesome/css/font-awesome.min.css
rename to schemaspy/c2ec-erd/bower/font-awesome/css/font-awesome.min.css
diff --git a/schemaspy/nonce2ecash-erd/bower/font-awesome/fonts/FontAwesome.otf 
b/schemaspy/c2ec-erd/bower/font-awesome/fonts/FontAwesome.otf
similarity index 100%
rename from schemaspy/nonce2ecash-erd/bower/font-awesome/fonts/FontAwesome.otf
rename to schemaspy/c2ec-erd/bower/font-awesome/fonts/FontAwesome.otf
diff --git 
a/schemaspy/nonce2ecash-erd/bower/font-awesome/fonts/fontawesome-webfont.eot 
b/schemaspy/c2ec-erd/bower/font-awesome/fonts/fontawesome-webfont.eot
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/bower/font-awesome/fonts/fontawesome-webfont.eot
rename to schemaspy/c2ec-erd/bower/font-awesome/fonts/fontawesome-webfont.eot
diff --git 
a/schemaspy/nonce2ecash-erd/bower/font-awesome/fonts/fontawesome-webfont.svg 
b/schemaspy/c2ec-erd/bower/font-awesome/fonts/fontawesome-webfont.svg
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/bower/font-awesome/fonts/fontawesome-webfont.svg
rename to schemaspy/c2ec-erd/bower/font-awesome/fonts/fontawesome-webfont.svg
diff --git 
a/schemaspy/nonce2ecash-erd/bower/font-awesome/fonts/fontawesome-webfont.ttf 
b/schemaspy/c2ec-erd/bower/font-awesome/fonts/fontawesome-webfont.ttf
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/bower/font-awesome/fonts/fontawesome-webfont.ttf
rename to schemaspy/c2ec-erd/bower/font-awesome/fonts/fontawesome-webfont.ttf
diff --git 
a/schemaspy/nonce2ecash-erd/bower/font-awesome/fonts/fontawesome-webfont.woff 
b/schemaspy/c2ec-erd/bower/font-awesome/fonts/fontawesome-webfont.woff
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/bower/font-awesome/fonts/fontawesome-webfont.woff
rename to schemaspy/c2ec-erd/bower/font-awesome/fonts/fontawesome-webfont.woff
diff --git 
a/schemaspy/nonce2ecash-erd/bower/font-awesome/fonts/fontawesome-webfont.woff2 
b/schemaspy/c2ec-erd/bower/font-awesome/fonts/fontawesome-webfont.woff2
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/bower/font-awesome/fonts/fontawesome-webfont.woff2
rename to schemaspy/c2ec-erd/bower/font-awesome/fonts/fontawesome-webfont.woff2
diff --git a/schemaspy/nonce2ecash-erd/bower/html5shiv/html5shiv.min.js 
b/schemaspy/c2ec-erd/bower/html5shiv/html5shiv.min.js
similarity index 100%
rename from schemaspy/nonce2ecash-erd/bower/html5shiv/html5shiv.min.js
rename to schemaspy/c2ec-erd/bower/html5shiv/html5shiv.min.js
diff --git a/schemaspy/nonce2ecash-erd/bower/ionicons/css/ionicons.css 
b/schemaspy/c2ec-erd/bower/ionicons/css/ionicons.css
similarity index 100%
rename from schemaspy/nonce2ecash-erd/bower/ionicons/css/ionicons.css
rename to schemaspy/c2ec-erd/bower/ionicons/css/ionicons.css
diff --git a/schemaspy/nonce2ecash-erd/bower/ionicons/css/ionicons.min.css 
b/schemaspy/c2ec-erd/bower/ionicons/css/ionicons.min.css
similarity index 100%
rename from schemaspy/nonce2ecash-erd/bower/ionicons/css/ionicons.min.css
rename to schemaspy/c2ec-erd/bower/ionicons/css/ionicons.min.css
diff --git a/schemaspy/nonce2ecash-erd/bower/ionicons/fonts/ionicons.eot 
b/schemaspy/c2ec-erd/bower/ionicons/fonts/ionicons.eot
similarity index 100%
rename from schemaspy/nonce2ecash-erd/bower/ionicons/fonts/ionicons.eot
rename to schemaspy/c2ec-erd/bower/ionicons/fonts/ionicons.eot
diff --git a/schemaspy/nonce2ecash-erd/bower/ionicons/fonts/ionicons.svg 
b/schemaspy/c2ec-erd/bower/ionicons/fonts/ionicons.svg
similarity index 100%
rename from schemaspy/nonce2ecash-erd/bower/ionicons/fonts/ionicons.svg
rename to schemaspy/c2ec-erd/bower/ionicons/fonts/ionicons.svg
diff --git a/schemaspy/nonce2ecash-erd/bower/ionicons/fonts/ionicons.ttf 
b/schemaspy/c2ec-erd/bower/ionicons/fonts/ionicons.ttf
similarity index 100%
rename from schemaspy/nonce2ecash-erd/bower/ionicons/fonts/ionicons.ttf
rename to schemaspy/c2ec-erd/bower/ionicons/fonts/ionicons.ttf
diff --git a/schemaspy/nonce2ecash-erd/bower/ionicons/fonts/ionicons.woff 
b/schemaspy/c2ec-erd/bower/ionicons/fonts/ionicons.woff
similarity index 100%
rename from schemaspy/nonce2ecash-erd/bower/ionicons/fonts/ionicons.woff
rename to schemaspy/c2ec-erd/bower/ionicons/fonts/ionicons.woff
diff --git a/schemaspy/nonce2ecash-erd/bower/jquery/jquery.js 
b/schemaspy/c2ec-erd/bower/jquery/jquery.js
similarity index 100%
rename from schemaspy/nonce2ecash-erd/bower/jquery/jquery.js
rename to schemaspy/c2ec-erd/bower/jquery/jquery.js
diff --git a/schemaspy/nonce2ecash-erd/bower/js-xlsx/xlsx.full.min.js 
b/schemaspy/c2ec-erd/bower/js-xlsx/xlsx.full.min.js
similarity index 100%
rename from schemaspy/nonce2ecash-erd/bower/js-xlsx/xlsx.full.min.js
rename to schemaspy/c2ec-erd/bower/js-xlsx/xlsx.full.min.js
diff --git a/schemaspy/nonce2ecash-erd/bower/pdfmake/pdfmake.min.js 
b/schemaspy/c2ec-erd/bower/pdfmake/pdfmake.min.js
similarity index 100%
rename from schemaspy/nonce2ecash-erd/bower/pdfmake/pdfmake.min.js
rename to schemaspy/c2ec-erd/bower/pdfmake/pdfmake.min.js
diff --git a/schemaspy/nonce2ecash-erd/bower/pdfmake/vfs_fonts.js 
b/schemaspy/c2ec-erd/bower/pdfmake/vfs_fonts.js
similarity index 100%
rename from schemaspy/nonce2ecash-erd/bower/pdfmake/vfs_fonts.js
rename to schemaspy/c2ec-erd/bower/pdfmake/vfs_fonts.js
diff --git a/schemaspy/nonce2ecash-erd/bower/respond/respond.min.js 
b/schemaspy/c2ec-erd/bower/respond/respond.min.js
similarity index 100%
rename from schemaspy/nonce2ecash-erd/bower/respond/respond.min.js
rename to schemaspy/c2ec-erd/bower/respond/respond.min.js
diff --git a/schemaspy/nonce2ecash-erd/bower/salvattore/salvattore.css 
b/schemaspy/c2ec-erd/bower/salvattore/salvattore.css
similarity index 100%
rename from schemaspy/nonce2ecash-erd/bower/salvattore/salvattore.css
rename to schemaspy/c2ec-erd/bower/salvattore/salvattore.css
diff --git a/schemaspy/nonce2ecash-erd/bower/salvattore/salvattore.min.js 
b/schemaspy/c2ec-erd/bower/salvattore/salvattore.min.js
similarity index 100%
rename from schemaspy/nonce2ecash-erd/bower/salvattore/salvattore.min.js
rename to schemaspy/c2ec-erd/bower/salvattore/salvattore.min.js
diff --git a/schemaspy/nonce2ecash-erd/column.js b/schemaspy/c2ec-erd/column.js
similarity index 100%
rename from schemaspy/nonce2ecash-erd/column.js
rename to schemaspy/c2ec-erd/column.js
diff --git a/schemaspy/nonce2ecash-erd/columns.html 
b/schemaspy/c2ec-erd/columns.html
similarity index 73%
rename from schemaspy/nonce2ecash-erd/columns.html
rename to schemaspy/c2ec-erd/columns.html
index 557e6d3..7f23e1e 100644
--- a/schemaspy/nonce2ecash-erd/columns.html
+++ b/schemaspy/c2ec-erd/columns.html
@@ -3,7 +3,7 @@
     <head>
         <meta charset="utf-8">
         <meta http-equiv="X-UA-Compatible" content="IE=edge">
-        <title>postgres.public</title>
+        <title>postgres.c2ec</title>
         <!-- Tell the browser to be responsive to screen width -->
         <meta content="width=device-width, initial-scale=1, maximum-scale=1, 
user-scalable=no" name="viewport">
         <link rel="icon" type="image/png" sizes="16x16" href="favicon.png">
@@ -46,7 +46,7 @@
                 <nav class="navbar navbar-static-top">
                     <div class="container">
                         <div class="navbar-header">
-                            <a href="index.html" 
class="navbar-brand"><b>postgres</b></a><span class="navbar-brand" 
style="padding-left: 0">.public</span>
+                            <a href="index.html" 
class="navbar-brand"><b>postgres</b></a><span class="navbar-brand" 
style="padding-left: 0">.c2ec</span>
                             <button type="button" class="navbar-toggle 
collapsed" data-toggle="collapse" data-target="#navbar-collapse"><i class="fa 
fa-bars"></i></button>
                         </div>
 
@@ -110,47 +110,89 @@
                 </section>
                 <script>
                     var tableData = [
+    {
+        "tableName": "terminal",
+        "tableFileName": "terminal",
+        "tableType": "Table",
+        "keyClass": "foreignKey",
+        "keyTitle": "Foreign Key",
+        "name": "<i class='icon ion-key iconkey' style='padding-left: 
5px;'><\/i>provider_id",
+        "type": "int8",
+        "length": 19,
+        "nullable": "",
+        "autoUpdated": "",
+        "defaultValue": "null",
+        "comments": "<p>Indicates the terminal provider to which the terminal 
belongs<\/p>"
+    },
     {
         "tableName": "terminal_provider",
         "tableFileName": "terminal_provider",
         "tableType": "Table",
         "keyClass": "",
         "keyTitle": "",
-        "name": "name",
-        "type": "varchar",
-        "length": 50,
+        "name": "backend_base_url",
+        "type": "text",
+        "length": 2147483647,
+        "nullable": "",
+        "autoUpdated": "",
+        "defaultValue": "null",
+        "comments": "<p>URL of the provider backend for transaction 
proofing<\/p>"
+    },
+    {
+        "tableName": "withdrawal",
+        "tableFileName": "withdrawal",
+        "tableType": "Table",
+        "keyClass": "",
+        "keyTitle": "",
+        "name": "provider_transaction_id",
+        "type": "text",
+        "length": 2147483647,
         "nullable": "√",
         "autoUpdated": "",
         "defaultValue": "null",
-        "comments": ""
+        "comments": "<p>Transaction identifier supplied by the provider for 
backend request<\/p>"
     },
     {
-        "tableName": "terminal",
-        "tableFileName": "terminal",
+        "tableName": "withdrawal",
+        "tableFileName": "withdrawal",
         "tableType": "Table",
-        "keyClass": "primaryKey",
-        "keyTitle": "Primary Key",
-        "name": "<i class='icon ion-key iconkey' style='padding-left: 
5px;'><\/i>id",
-        "type": "int8",
-        "length": 19,
+        "keyClass": "",
+        "keyTitle": "",
+        "name": "reserve_pub_key",
+        "type": "bytea",
+        "length": 2147483647,
         "nullable": "",
-        "autoUpdated": "√",
+        "autoUpdated": "",
         "defaultValue": "null",
-        "comments": ""
+        "comments": "<p>Reserve public key for the reserve which will hold the 
withdrawal amount after completion<\/p>"
     },
     {
-        "tableName": "terminal_provider",
-        "tableFileName": "terminal_provider",
+        "tableName": "withdrawal",
+        "tableFileName": "withdrawal",
         "tableType": "Table",
-        "keyClass": "primaryKey",
-        "keyTitle": "Primary Key",
-        "name": "<i class='icon ion-key iconkey' style='padding-left: 
5px;'><\/i>id",
+        "keyClass": "",
+        "keyTitle": "",
+        "name": "withdrawal_status",
+        "type": "\"c2ec\".\"withdrawal_operation_status\"",
+        "length": 2147483647,
+        "nullable": "",
+        "autoUpdated": "",
+        "defaultValue": "'pending'::c2ec.withdrawal_operation_status",
+        "comments": "<p>Status of the withdrawal process<\/p>"
+    },
+    {
+        "tableName": "withdrawal",
+        "tableFileName": "withdrawal",
+        "tableType": "Table",
+        "keyClass": "",
+        "keyTitle": "",
+        "name": "registration_ts",
         "type": "int8",
         "length": 19,
         "nullable": "",
-        "autoUpdated": "√",
+        "autoUpdated": "",
         "defaultValue": "null",
-        "comments": ""
+        "comments": "<p>Timestamp of when the withdrawal request was 
registered<\/p>"
     },
     {
         "tableName": "withdrawal",
@@ -164,49 +206,35 @@
         "nullable": "",
         "autoUpdated": "",
         "defaultValue": "null",
-        "comments": ""
-    },
-    {
-        "tableName": "terminal",
-        "tableFileName": "terminal",
-        "tableType": "Table",
-        "keyClass": "",
-        "keyTitle": "",
-        "name": "remarks",
-        "type": "varchar",
-        "length": 255,
-        "nullable": "√",
-        "autoUpdated": "",
-        "defaultValue": "null",
-        "comments": ""
+        "comments": "<p>ID of the terminal that initiated the withdrawal<\/p>"
     },
     {
-        "tableName": "terminal_provider",
-        "tableFileName": "terminal_provider",
+        "tableName": "withdrawal",
+        "tableFileName": "withdrawal",
         "tableType": "Table",
         "keyClass": "",
         "keyTitle": "",
-        "name": "remarks",
-        "type": "varchar",
-        "length": 255,
+        "name": "last_retry_ts",
+        "type": "int8",
+        "length": 19,
         "nullable": "√",
         "autoUpdated": "",
         "defaultValue": "null",
-        "comments": ""
+        "comments": "<p>Timestamp of the last retry attempt<\/p>"
     },
     {
         "tableName": "terminal",
         "tableFileName": "terminal",
         "tableType": "Table",
-        "keyClass": "foreignKey",
-        "keyTitle": "Foreign Key",
-        "name": "<i class='icon ion-key iconkey' style='padding-left: 
5px;'><\/i>provider_id",
+        "keyClass": "primaryKey",
+        "keyTitle": "Primary Key",
+        "name": "<i class='icon ion-key iconkey' style='padding-left: 
5px;'><\/i>terminal_id",
         "type": "int8",
         "length": 19,
         "nullable": "",
-        "autoUpdated": "",
+        "autoUpdated": "√",
         "defaultValue": "null",
-        "comments": ""
+        "comments": "<p>Uniquely identifies a terminal<\/p>"
     },
     {
         "tableName": "withdrawal",
@@ -214,27 +242,41 @@
         "tableType": "Table",
         "keyClass": "",
         "keyTitle": "",
-        "name": "withdrawal_status",
-        "type": "withdrawal_operation_status",
+        "name": "fees",
+        "type": "\"c2ec\".\"taler_amount_currency\"",
+        "length": 2147483647,
+        "nullable": "√",
+        "autoUpdated": "",
+        "defaultValue": "null",
+        "comments": "<p>Fees associated with the withdrawal, including 
exchange and provider fees<\/p>"
+    },
+    {
+        "tableName": "terminal_provider",
+        "tableFileName": "terminal_provider",
+        "tableType": "Table",
+        "keyClass": "indexedColumn",
+        "keyTitle": "Indexed",
+        "name": "<i class='fa fa-sitemap fa-rotate-120' style='padding-right: 
5px;'><\/i>name",
+        "type": "text",
         "length": 2147483647,
         "nullable": "",
         "autoUpdated": "",
         "defaultValue": "null",
-        "comments": ""
+        "comments": "<p>Name of the provider, used for selection in 
transaction proofing<\/p>"
     },
     {
-        "tableName": "terminal",
-        "tableFileName": "terminal",
+        "tableName": "withdrawal",
+        "tableFileName": "withdrawal",
         "tableType": "Table",
         "keyClass": "",
         "keyTitle": "",
-        "name": "access_token",
+        "name": "wopid",
         "type": "bytea",
         "length": 2147483647,
-        "nullable": "√",
+        "nullable": "",
         "autoUpdated": "",
         "defaultValue": "null",
-        "comments": ""
+        "comments": "<p>The wopid (withdrawal operation id) is a nonce 
generated by the terminal requesting a withdrawal. The wopid identifies a 
specific withdrawal spawning all involved systems.<\/p>"
     },
     {
         "tableName": "withdrawal",
@@ -242,13 +284,27 @@
         "tableType": "Table",
         "keyClass": "",
         "keyTitle": "",
-        "name": "registration_ts",
-        "type": "int8",
-        "length": 19,
-        "nullable": "√",
+        "name": "retry_counter",
+        "type": "int4",
+        "length": 10,
+        "nullable": "",
+        "autoUpdated": "",
+        "defaultValue": "0",
+        "comments": "<p>Number of retry attempts<\/p>"
+    },
+    {
+        "tableName": "terminal",
+        "tableFileName": "terminal",
+        "tableType": "Table",
+        "keyClass": "",
+        "keyTitle": "",
+        "name": "access_token",
+        "type": "bytea",
+        "length": 2147483647,
+        "nullable": "",
         "autoUpdated": "",
         "defaultValue": "null",
-        "comments": ""
+        "comments": "<p>The access token of the terminal used for 
authentication against the c2ec API<\/p>"
     },
     {
         "tableName": "terminal",
@@ -259,24 +315,52 @@
         "name": "active",
         "type": "bool",
         "length": 1,
-        "nullable": "√",
+        "nullable": "",
         "autoUpdated": "",
         "defaultValue": "true",
-        "comments": ""
+        "comments": "<p>Indicates if the terminal is active or 
deactivated<\/p>"
     },
     {
-        "tableName": "withdrawal",
-        "tableFileName": "withdrawal",
+        "tableName": "terminal_provider",
+        "tableFileName": "terminal_provider",
         "tableType": "Table",
         "keyClass": "primaryKey",
         "keyTitle": "Primary Key",
-        "name": "<i class='icon ion-key iconkey' style='padding-left: 
5px;'><\/i>withdrawal_id",
-        "type": "bytea",
+        "name": "<i class='icon ion-key iconkey' style='padding-left: 
5px;'><\/i>provider_terminal_id",
+        "type": "int8",
+        "length": 19,
+        "nullable": "",
+        "autoUpdated": "√",
+        "defaultValue": "null",
+        "comments": "<p>Uniquely identifies a provider<\/p>"
+    },
+    {
+        "tableName": "terminal_provider",
+        "tableFileName": "terminal_provider",
+        "tableType": "Table",
+        "keyClass": "",
+        "keyTitle": "",
+        "name": "backend_credentials",
+        "type": "text",
         "length": 2147483647,
         "nullable": "",
         "autoUpdated": "",
         "defaultValue": "null",
-        "comments": ""
+        "comments": "<p>Credentials used to access the backend of the 
provider<\/p>"
+    },
+    {
+        "tableName": "terminal",
+        "tableFileName": "terminal",
+        "tableType": "Table",
+        "keyClass": "",
+        "keyTitle": "",
+        "name": "description",
+        "type": "text",
+        "length": 2147483647,
+        "nullable": "√",
+        "autoUpdated": "",
+        "defaultValue": "null",
+        "comments": "<p>Description to help identify the terminal. This may 
include the location and an identifier of the terminal.<\/p>"
     },
     {
         "tableName": "withdrawal",
@@ -284,13 +368,27 @@
         "tableType": "Table",
         "keyClass": "",
         "keyTitle": "",
-        "name": "reserve_pub_key",
+        "name": "completion_proof",
         "type": "bytea",
         "length": 2147483647,
         "nullable": "√",
         "autoUpdated": "",
         "defaultValue": "null",
-        "comments": ""
+        "comments": "<p>Proof of transaction upon final completion delivered 
by the providers system<\/p>"
+    },
+    {
+        "tableName": "withdrawal",
+        "tableFileName": "withdrawal",
+        "tableType": "Table",
+        "keyClass": "primaryKey",
+        "keyTitle": "Primary Key",
+        "name": "<i class='icon ion-key iconkey' style='padding-left: 
5px;'><\/i>withdrawal_id",
+        "type": "int8",
+        "length": 19,
+        "nullable": "",
+        "autoUpdated": "√",
+        "defaultValue": "null",
+        "comments": "<p>The withdrawal id is used a technical id used by the 
wire gateway to sequentially select new transactions<\/p>"
     },
     {
         "tableName": "withdrawal",
@@ -299,12 +397,12 @@
         "keyClass": "",
         "keyTitle": "",
         "name": "amount",
-        "type": "varchar",
-        "length": 50,
-        "nullable": "√",
+        "type": "\"c2ec\".\"taler_amount_currency\"",
+        "length": 2147483647,
+        "nullable": "",
         "autoUpdated": "",
         "defaultValue": "null",
-        "comments": ""
+        "comments": "<p>Effective amount to be put into the reserve after 
completion<\/p>"
     }
 ];
                     var config = {
diff --git a/schemaspy/nonce2ecash-erd/constraint.js 
b/schemaspy/c2ec-erd/constraint.js
similarity index 100%
rename from schemaspy/nonce2ecash-erd/constraint.js
rename to schemaspy/c2ec-erd/constraint.js
diff --git a/schemaspy/nonce2ecash-erd/constraints.html 
b/schemaspy/c2ec-erd/constraints.html
similarity index 97%
rename from schemaspy/nonce2ecash-erd/constraints.html
rename to schemaspy/c2ec-erd/constraints.html
index 641fa8b..59e68b9 100644
--- a/schemaspy/nonce2ecash-erd/constraints.html
+++ b/schemaspy/c2ec-erd/constraints.html
@@ -3,7 +3,7 @@
     <head>
         <meta charset="utf-8">
         <meta http-equiv="X-UA-Compatible" content="IE=edge">
-        <title>postgres.public</title>
+        <title>postgres.c2ec</title>
         <!-- Tell the browser to be responsive to screen width -->
         <meta content="width=device-width, initial-scale=1, maximum-scale=1, 
user-scalable=no" name="viewport">
         <link rel="icon" type="image/png" sizes="16x16" href="favicon.png">
@@ -46,7 +46,7 @@
                 <nav class="navbar navbar-static-top">
                     <div class="container">
                         <div class="navbar-header">
-                            <a href="index.html" 
class="navbar-brand"><b>postgres</b></a><span class="navbar-brand" 
style="padding-left: 0">.public</span>
+                            <a href="index.html" 
class="navbar-brand"><b>postgres</b></a><span class="navbar-brand" 
style="padding-left: 0">.c2ec</span>
                             <button type="button" class="navbar-toggle 
collapsed" data-toggle="collapse" data-target="#navbar-collapse"><i class="fa 
fa-bars"></i></button>
                         </div>
 
@@ -115,7 +115,7 @@
                                         <td>
                                             <table border='0' cellspacing='0' 
cellpadding='0'>
                                                 <tr>
-                                                    <td><a 
href='tables/terminal_provider.html'>terminal_provider</a><span>.id</span></td>
+                                                    <td><a 
href='tables/terminal_provider.html'>terminal_provider</a><span>.provider_terminal_id</span></td>
                                                 </tr>
                                             </table>
                                         </td>
@@ -133,7 +133,7 @@
                                         <td>
                                             <table border='0' cellspacing='0' 
cellpadding='0'>
                                                 <tr>
-                                                    <td><a 
href='tables/terminal.html'>terminal</a><span>.id</span></td>
+                                                    <td><a 
href='tables/terminal.html'>terminal</a><span>.terminal_id</span></td>
                                                 </tr>
                                             </table>
                                         </td>
@@ -180,8 +180,8 @@
                                     </tr>
                                     <tr>
                                         <td><a 
href='tables/withdrawal.html'>withdrawal</a></td>
-                                        <td>withdrawal_withdrawal_id_check</td>
-                                        <td>((length(withdrawal_id) &#61; 
32))</td>
+                                        <td>withdrawal_wopid_check</td>
+                                        <td>((length(wopid) &#61; 32))</td>
                                     </tr>
                                 </tbody>
                             </table>
diff --git a/schemaspy/nonce2ecash-erd/deletionOrder.txt 
b/schemaspy/c2ec-erd/deletionOrder.txt
similarity index 100%
rename from schemaspy/nonce2ecash-erd/deletionOrder.txt
rename to schemaspy/c2ec-erd/deletionOrder.txt
diff --git a/schemaspy/nonce2ecash-erd/diagrams/orphans/orphans.dot 
b/schemaspy/c2ec-erd/diagrams/orphans/orphans.dot
similarity index 100%
rename from schemaspy/nonce2ecash-erd/diagrams/orphans/orphans.dot
rename to schemaspy/c2ec-erd/diagrams/orphans/orphans.dot
diff --git 
a/schemaspy/nonce2ecash-erd/diagrams/summary/relationships.real.compact.dot 
b/schemaspy/c2ec-erd/diagrams/summary/relationships.real.compact.dot
similarity index 70%
rename from 
schemaspy/nonce2ecash-erd/diagrams/summary/relationships.real.compact.dot
rename to schemaspy/c2ec-erd/diagrams/summary/relationships.real.compact.dot
index 816df9c..41c2f12 100644
--- a/schemaspy/nonce2ecash-erd/diagrams/summary/relationships.real.compact.dot
+++ b/schemaspy/c2ec-erd/diagrams/summary/relationships.real.compact.dot
@@ -4,7 +4,7 @@ digraph "compactRelationshipsDiagram" {
    label=<
     <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
       <TR><TD COLSPAN="3"  BGCOLOR="#f5f5f5"><TABLE BORDER="0" 
CELLSPACING="0"><TR><TD ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="57" 
HEIGHT="16"><B>terminal</B></TD><TD 
ALIGN="RIGHT">[table]</TD></TR></TABLE></TD></TR>
-      <TR><TD PORT="id" COLSPAN="3" ALIGN="LEFT"><TABLE BORDER="0" 
CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="15" HEIGHT="16"><IMG SRC="../../images/primaryKeys.png"/></TD><TD 
ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="89" 
HEIGHT="16">id</TD></TR></TABLE></TD></TR>
+      <TR><TD PORT="terminal_id" COLSPAN="3" ALIGN="LEFT"><TABLE BORDER="0" 
CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="15" HEIGHT="16"><IMG SRC="../../images/primaryKeys.png"/></TD><TD 
ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="89" 
HEIGHT="16">terminal_id</TD></TR></TABLE></TD></TR>
       <TR><TD PORT="provider_id" COLSPAN="3" ALIGN="LEFT"><TABLE BORDER="0" 
CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="15" HEIGHT="16"><IMG SRC="../../images/foreignKeys.png"/></TD><TD 
ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="89" 
HEIGHT="16">provider_id</TD></TR></TABLE></TD></TR>
       <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
       <TR><TD ALIGN="LEFT" BGCOLOR="#ffffff">&lt; 1</TD><TD ALIGN="RIGHT" 
BGCOLOR="#ffffff">  </TD><TD ALIGN="RIGHT" BGCOLOR="#ffffff">1 &gt;</TD></TR>
@@ -17,7 +17,8 @@ digraph "compactRelationshipsDiagram" {
    label=<
     <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
       <TR><TD COLSPAN="3"  BGCOLOR="#f5f5f5"><TABLE BORDER="0" 
CELLSPACING="0"><TR><TD ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="120" 
HEIGHT="16"><B>terminal_provider</B></TD><TD 
ALIGN="RIGHT">[table]</TD></TR></TABLE></TD></TR>
-      <TR><TD PORT="id" COLSPAN="3" ALIGN="LEFT"><TABLE BORDER="0" 
CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="15" HEIGHT="16"><IMG SRC="../../images/primaryKeys.png"/></TD><TD 
ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="120" 
HEIGHT="16">id</TD></TR></TABLE></TD></TR>
+      <TR><TD PORT="provider_terminal_id" COLSPAN="3" ALIGN="LEFT"><TABLE 
BORDER="0" CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" 
FIXEDSIZE="TRUE" WIDTH="15" HEIGHT="16"><IMG 
SRC="../../images/primaryKeys.png"/></TD><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="139" HEIGHT="16">provider_terminal_id</TD></TR></TABLE></TD></TR>
+      <TR><TD PORT="name" COLSPAN="3" BGCOLOR="#ffffff" ALIGN="LEFT"><TABLE 
BORDER="0" CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" 
FIXEDSIZE="TRUE" WIDTH="15" HEIGHT="16"></TD><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="139" HEIGHT="16">name</TD></TR></TABLE></TD></TR>
       <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
       <TR><TD ALIGN="LEFT" BGCOLOR="#ffffff">  </TD><TD ALIGN="RIGHT" 
BGCOLOR="#ffffff">  </TD><TD ALIGN="RIGHT" BGCOLOR="#ffffff">1 &gt;</TD></TR>
     </TABLE>>
@@ -29,8 +30,8 @@ digraph "compactRelationshipsDiagram" {
    label=<
     <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
       <TR><TD COLSPAN="3"  BGCOLOR="#f5f5f5"><TABLE BORDER="0" 
CELLSPACING="0"><TR><TD ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="75" 
HEIGHT="16"><B>withdrawal</B></TD><TD 
ALIGN="RIGHT">[table]</TD></TR></TABLE></TD></TR>
-      <TR><TD PORT="withdrawal_id" COLSPAN="3" ALIGN="LEFT"><TABLE BORDER="0" 
CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="15" HEIGHT="16"><IMG SRC="../../images/primaryKeys.png"/></TD><TD 
ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="123" 
HEIGHT="16">withdrawal_id</TD></TR></TABLE></TD></TR>
-      <TR><TD PORT="terminal_id" COLSPAN="3" ALIGN="LEFT"><TABLE BORDER="0" 
CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="15" HEIGHT="16"><IMG SRC="../../images/foreignKeys.png"/></TD><TD 
ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="123" 
HEIGHT="16">terminal_id</TD></TR></TABLE></TD></TR>
+      <TR><TD PORT="withdrawal_id" COLSPAN="3" ALIGN="LEFT"><TABLE BORDER="0" 
CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="15" HEIGHT="16"><IMG SRC="../../images/primaryKeys.png"/></TD><TD 
ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="159" 
HEIGHT="16">withdrawal_id</TD></TR></TABLE></TD></TR>
+      <TR><TD PORT="terminal_id" COLSPAN="3" ALIGN="LEFT"><TABLE BORDER="0" 
CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="15" HEIGHT="16"><IMG SRC="../../images/foreignKeys.png"/></TD><TD 
ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="159" 
HEIGHT="16">terminal_id</TD></TR></TABLE></TD></TR>
       <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
       <TR><TD ALIGN="LEFT" BGCOLOR="#ffffff">&lt; 1</TD><TD ALIGN="RIGHT" 
BGCOLOR="#ffffff">  </TD><TD ALIGN="RIGHT" BGCOLOR="#ffffff">  </TD></TR>
     </TABLE>>
@@ -38,6 +39,6 @@ digraph "compactRelationshipsDiagram" {
     target="_top"
     tooltip="withdrawal"
   ];
-  "terminal":"provider_id":w -> "terminal_provider":"id":e [arrowhead=none 
dir=back arrowtail=crowodot];
-  "withdrawal":"terminal_id":w -> "terminal":"id":e [arrowhead=none dir=back 
arrowtail=crowodot];
+  "terminal":"provider_id":w -> "terminal_provider":"provider_terminal_id":e 
[arrowhead=none dir=back arrowtail=crowodot];
+  "withdrawal":"terminal_id":w -> "terminal":"terminal_id":e [arrowhead=none 
dir=back arrowtail=crowodot];
 }
diff --git 
a/schemaspy/nonce2ecash-erd/diagrams/summary/relationships.real.large.dot 
b/schemaspy/c2ec-erd/diagrams/summary/relationships.real.large.dot
similarity index 52%
rename from 
schemaspy/nonce2ecash-erd/diagrams/summary/relationships.real.large.dot
rename to schemaspy/c2ec-erd/diagrams/summary/relationships.real.large.dot
index 02b4a79..2029c99 100644
--- a/schemaspy/nonce2ecash-erd/diagrams/summary/relationships.real.large.dot
+++ b/schemaspy/c2ec-erd/diagrams/summary/relationships.real.large.dot
@@ -4,10 +4,10 @@ digraph "largeRelationshipsDiagram" {
    label=<
     <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
       <TR><TD COLSPAN="3"  BGCOLOR="#f5f5f5"><TABLE BORDER="0" 
CELLSPACING="0"><TR><TD ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="57" 
HEIGHT="16"><B>terminal</B></TD><TD 
ALIGN="RIGHT">[table]</TD></TR></TABLE></TD></TR>
-      <TR><TD PORT="id" COLSPAN="3" ALIGN="LEFT"><TABLE BORDER="0" 
CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="15" HEIGHT="16"><IMG SRC="../../images/primaryKeys.png"/></TD><TD 
ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="89" 
HEIGHT="16">id</TD></TR></TABLE></TD></TR>
+      <TR><TD PORT="terminal_id" COLSPAN="3" ALIGN="LEFT"><TABLE BORDER="0" 
CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="15" HEIGHT="16"><IMG SRC="../../images/primaryKeys.png"/></TD><TD 
ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="89" 
HEIGHT="16">terminal_id</TD></TR></TABLE></TD></TR>
       <TR><TD PORT="access_token" COLSPAN="3" ALIGN="LEFT"><TABLE BORDER="0" 
CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="15" HEIGHT="16"></TD><TD ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="89" 
HEIGHT="16">access_token</TD></TR></TABLE></TD></TR>
       <TR><TD PORT="active" COLSPAN="3" ALIGN="LEFT"><TABLE BORDER="0" 
CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="15" HEIGHT="16"></TD><TD ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="89" 
HEIGHT="16">active</TD></TR></TABLE></TD></TR>
-      <TR><TD PORT="remarks" COLSPAN="3" ALIGN="LEFT"><TABLE BORDER="0" 
CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="15" HEIGHT="16"></TD><TD ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="89" 
HEIGHT="16">remarks</TD></TR></TABLE></TD></TR>
+      <TR><TD PORT="description" COLSPAN="3" ALIGN="LEFT"><TABLE BORDER="0" 
CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="15" HEIGHT="16"></TD><TD ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="89" 
HEIGHT="16">description</TD></TR></TABLE></TD></TR>
       <TR><TD PORT="provider_id" COLSPAN="3" ALIGN="LEFT"><TABLE BORDER="0" 
CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="15" HEIGHT="16"><IMG SRC="../../images/foreignKeys.png"/></TD><TD 
ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="89" 
HEIGHT="16">provider_id</TD></TR></TABLE></TD></TR>
       <TR><TD ALIGN="LEFT" BGCOLOR="#ffffff">&lt; 1</TD><TD ALIGN="RIGHT" 
BGCOLOR="#ffffff">  </TD><TD ALIGN="RIGHT" BGCOLOR="#ffffff">1 &gt;</TD></TR>
     </TABLE>>
@@ -19,9 +19,10 @@ digraph "largeRelationshipsDiagram" {
    label=<
     <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
       <TR><TD COLSPAN="3"  BGCOLOR="#f5f5f5"><TABLE BORDER="0" 
CELLSPACING="0"><TR><TD ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="120" 
HEIGHT="16"><B>terminal_provider</B></TD><TD 
ALIGN="RIGHT">[table]</TD></TR></TABLE></TD></TR>
-      <TR><TD PORT="id" COLSPAN="3" ALIGN="LEFT"><TABLE BORDER="0" 
CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="15" HEIGHT="16"><IMG SRC="../../images/primaryKeys.png"/></TD><TD 
ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="120" 
HEIGHT="16">id</TD></TR></TABLE></TD></TR>
-      <TR><TD PORT="name" COLSPAN="3" ALIGN="LEFT"><TABLE BORDER="0" 
CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="15" HEIGHT="16"></TD><TD ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="120" 
HEIGHT="16">name</TD></TR></TABLE></TD></TR>
-      <TR><TD PORT="remarks" COLSPAN="3" ALIGN="LEFT"><TABLE BORDER="0" 
CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="15" HEIGHT="16"></TD><TD ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="120" 
HEIGHT="16">remarks</TD></TR></TABLE></TD></TR>
+      <TR><TD PORT="provider_terminal_id" COLSPAN="3" ALIGN="LEFT"><TABLE 
BORDER="0" CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" 
FIXEDSIZE="TRUE" WIDTH="15" HEIGHT="16"><IMG 
SRC="../../images/primaryKeys.png"/></TD><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="139" HEIGHT="16">provider_terminal_id</TD></TR></TABLE></TD></TR>
+      <TR><TD PORT="name" COLSPAN="3" BGCOLOR="#ffffff" ALIGN="LEFT"><TABLE 
BORDER="0" CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" 
FIXEDSIZE="TRUE" WIDTH="15" HEIGHT="16"></TD><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="139" HEIGHT="16">name</TD></TR></TABLE></TD></TR>
+      <TR><TD PORT="backend_base_url" COLSPAN="3" ALIGN="LEFT"><TABLE 
BORDER="0" CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" 
FIXEDSIZE="TRUE" WIDTH="15" HEIGHT="16"></TD><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="139" HEIGHT="16">backend_base_url</TD></TR></TABLE></TD></TR>
+      <TR><TD PORT="backend_credentials" COLSPAN="3" ALIGN="LEFT"><TABLE 
BORDER="0" CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" 
FIXEDSIZE="TRUE" WIDTH="15" HEIGHT="16"></TD><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="139" HEIGHT="16">backend_credentials</TD></TR></TABLE></TD></TR>
       <TR><TD ALIGN="LEFT" BGCOLOR="#ffffff">  </TD><TD ALIGN="RIGHT" 
BGCOLOR="#ffffff">  </TD><TD ALIGN="RIGHT" BGCOLOR="#ffffff">1 &gt;</TD></TR>
     </TABLE>>
     URL="tables/terminal_provider.html"
@@ -32,18 +33,24 @@ digraph "largeRelationshipsDiagram" {
    label=<
     <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
       <TR><TD COLSPAN="3"  BGCOLOR="#f5f5f5"><TABLE BORDER="0" 
CELLSPACING="0"><TR><TD ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="75" 
HEIGHT="16"><B>withdrawal</B></TD><TD 
ALIGN="RIGHT">[table]</TD></TR></TABLE></TD></TR>
-      <TR><TD PORT="withdrawal_id" COLSPAN="3" ALIGN="LEFT"><TABLE BORDER="0" 
CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="15" HEIGHT="16"><IMG SRC="../../images/primaryKeys.png"/></TD><TD 
ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="123" 
HEIGHT="16">withdrawal_id</TD></TR></TABLE></TD></TR>
-      <TR><TD PORT="reserve_pub_key" COLSPAN="3" ALIGN="LEFT"><TABLE 
BORDER="0" CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" 
FIXEDSIZE="TRUE" WIDTH="15" HEIGHT="16"></TD><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="123" HEIGHT="16">reserve_pub_key</TD></TR></TABLE></TD></TR>
-      <TR><TD PORT="registration_ts" COLSPAN="3" ALIGN="LEFT"><TABLE 
BORDER="0" CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" 
FIXEDSIZE="TRUE" WIDTH="15" HEIGHT="16"></TD><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="123" HEIGHT="16">registration_ts</TD></TR></TABLE></TD></TR>
-      <TR><TD PORT="amount" COLSPAN="3" ALIGN="LEFT"><TABLE BORDER="0" 
CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="15" HEIGHT="16"></TD><TD ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="123" 
HEIGHT="16">amount</TD></TR></TABLE></TD></TR>
-      <TR><TD PORT="withdrawal_status" COLSPAN="3" ALIGN="LEFT"><TABLE 
BORDER="0" CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" 
FIXEDSIZE="TRUE" WIDTH="15" HEIGHT="16"></TD><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="123" HEIGHT="16">withdrawal_status</TD></TR></TABLE></TD></TR>
-      <TR><TD PORT="terminal_id" COLSPAN="3" ALIGN="LEFT"><TABLE BORDER="0" 
CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="15" HEIGHT="16"><IMG SRC="../../images/foreignKeys.png"/></TD><TD 
ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="123" 
HEIGHT="16">terminal_id</TD></TR></TABLE></TD></TR>
+      <TR><TD PORT="withdrawal_id" COLSPAN="3" ALIGN="LEFT"><TABLE BORDER="0" 
CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="15" HEIGHT="16"><IMG SRC="../../images/primaryKeys.png"/></TD><TD 
ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="159" 
HEIGHT="16">withdrawal_id</TD></TR></TABLE></TD></TR>
+      <TR><TD PORT="wopid" COLSPAN="3" ALIGN="LEFT"><TABLE BORDER="0" 
CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="15" HEIGHT="16"></TD><TD ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="159" 
HEIGHT="16">wopid</TD></TR></TABLE></TD></TR>
+      <TR><TD PORT="reserve_pub_key" COLSPAN="3" ALIGN="LEFT"><TABLE 
BORDER="0" CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" 
FIXEDSIZE="TRUE" WIDTH="15" HEIGHT="16"></TD><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="159" HEIGHT="16">reserve_pub_key</TD></TR></TABLE></TD></TR>
+      <TR><TD PORT="registration_ts" COLSPAN="3" ALIGN="LEFT"><TABLE 
BORDER="0" CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" 
FIXEDSIZE="TRUE" WIDTH="15" HEIGHT="16"></TD><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="159" HEIGHT="16">registration_ts</TD></TR></TABLE></TD></TR>
+      <TR><TD PORT="amount" COLSPAN="3" ALIGN="LEFT"><TABLE BORDER="0" 
CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="15" HEIGHT="16"></TD><TD ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="159" 
HEIGHT="16">amount</TD></TR></TABLE></TD></TR>
+      <TR><TD PORT="fees" COLSPAN="3" ALIGN="LEFT"><TABLE BORDER="0" 
CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="15" HEIGHT="16"></TD><TD ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="159" 
HEIGHT="16">fees</TD></TR></TABLE></TD></TR>
+      <TR><TD PORT="withdrawal_status" COLSPAN="3" ALIGN="LEFT"><TABLE 
BORDER="0" CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" 
FIXEDSIZE="TRUE" WIDTH="15" HEIGHT="16"></TD><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="159" HEIGHT="16">withdrawal_status</TD></TR></TABLE></TD></TR>
+      <TR><TD PORT="terminal_id" COLSPAN="3" ALIGN="LEFT"><TABLE BORDER="0" 
CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="15" HEIGHT="16"><IMG SRC="../../images/foreignKeys.png"/></TD><TD 
ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="159" 
HEIGHT="16">terminal_id</TD></TR></TABLE></TD></TR>
+      <TR><TD PORT="provider_transaction_id" COLSPAN="3" ALIGN="LEFT"><TABLE 
BORDER="0" CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" 
FIXEDSIZE="TRUE" WIDTH="15" HEIGHT="16"></TD><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="159" HEIGHT="16">provider_transaction_id</TD></TR></TABLE></TD></TR>
+      <TR><TD PORT="last_retry_ts" COLSPAN="3" ALIGN="LEFT"><TABLE BORDER="0" 
CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="15" HEIGHT="16"></TD><TD ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="159" 
HEIGHT="16">last_retry_ts</TD></TR></TABLE></TD></TR>
+      <TR><TD PORT="retry_counter" COLSPAN="3" ALIGN="LEFT"><TABLE BORDER="0" 
CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="15" HEIGHT="16"></TD><TD ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="159" 
HEIGHT="16">retry_counter</TD></TR></TABLE></TD></TR>
+      <TR><TD PORT="completion_proof" COLSPAN="3" ALIGN="LEFT"><TABLE 
BORDER="0" CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" 
FIXEDSIZE="TRUE" WIDTH="15" HEIGHT="16"></TD><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="159" HEIGHT="16">completion_proof</TD></TR></TABLE></TD></TR>
       <TR><TD ALIGN="LEFT" BGCOLOR="#ffffff">&lt; 1</TD><TD ALIGN="RIGHT" 
BGCOLOR="#ffffff">  </TD><TD ALIGN="RIGHT" BGCOLOR="#ffffff">  </TD></TR>
     </TABLE>>
     URL="tables/withdrawal.html"
     target="_top"
     tooltip="withdrawal"
   ];
-  "terminal":"provider_id":w -> "terminal_provider":"id":e [arrowhead=none 
dir=back arrowtail=crowodot];
-  "withdrawal":"terminal_id":w -> "terminal":"id":e [arrowhead=none dir=back 
arrowtail=crowodot];
+  "terminal":"provider_id":w -> "terminal_provider":"provider_terminal_id":e 
[arrowhead=none dir=back arrowtail=crowodot];
+  "withdrawal":"terminal_id":w -> "terminal":"terminal_id":e [arrowhead=none 
dir=back arrowtail=crowodot];
 }
diff --git a/schemaspy/nonce2ecash-erd/diagrams/tables/terminal.1degree.dot 
b/schemaspy/c2ec-erd/diagrams/tables/terminal.1degree.dot
similarity index 68%
rename from schemaspy/nonce2ecash-erd/diagrams/tables/terminal.1degree.dot
rename to schemaspy/c2ec-erd/diagrams/tables/terminal.1degree.dot
index 18b61ab..b25e363 100644
--- a/schemaspy/nonce2ecash-erd/diagrams/tables/terminal.1degree.dot
+++ b/schemaspy/c2ec-erd/diagrams/tables/terminal.1degree.dot
@@ -1,15 +1,15 @@
 digraph "oneDegreeRelationshipsDiagram" {
   graph [    rankdir="RL"    bgcolor="#ffffff"    label="\nGenerated by 
SchemaSpy"    labeljust="l"    nodesep="0.18"    ranksep="0.46"    
fontname="Helvetica"    fontsize="11"    ration="compress"  ];  node [    
fontname="Helvetica"    fontsize="11"    shape="plaintext"  ];  edge [    
arrowsize="0.8"  ];
-  "terminal":"provider_id":w -> "terminal_provider":"id":e [arrowhead=none 
dir=back arrowtail=crowodot];
-  "withdrawal":"terminal_id":w -> "terminal":"id.type":e [arrowhead=none 
dir=back arrowtail=crowodot];
+  "terminal":"provider_id":w -> "terminal_provider":"provider_terminal_id":e 
[arrowhead=none dir=back arrowtail=crowodot];
+  "withdrawal":"terminal_id":w -> "terminal":"terminal_id.type":e 
[arrowhead=none dir=back arrowtail=crowodot];
   "terminal" [
    label=<
     <TABLE BORDER="2" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
       <TR><TD COLSPAN="4"  BGCOLOR="#f5f5f5"><TABLE BORDER="0" 
CELLSPACING="0"><TR><TD ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="57" 
HEIGHT="16"><B>terminal</B></TD><TD 
ALIGN="RIGHT">[table]</TD></TR></TABLE></TD></TR>
-      <TR><TD PORT="id" COLSPAN="2" ALIGN="LEFT"><TABLE BORDER="0" 
CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="15" HEIGHT="16"><IMG SRC="../../images/primaryKeys.png"/></TD><TD 
ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="89" 
HEIGHT="16">id</TD></TR></TABLE></TD><TD PORT="id.type" 
ALIGN="LEFT">int8[19]</TD></TR>
+      <TR><TD PORT="terminal_id" COLSPAN="2" ALIGN="LEFT"><TABLE BORDER="0" 
CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="15" HEIGHT="16"><IMG SRC="../../images/primaryKeys.png"/></TD><TD 
ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="89" 
HEIGHT="16">terminal_id</TD></TR></TABLE></TD><TD PORT="terminal_id.type" 
ALIGN="LEFT">int8[19]</TD></TR>
       <TR><TD PORT="access_token" COLSPAN="2" ALIGN="LEFT"><TABLE BORDER="0" 
CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="15" HEIGHT="16"></TD><TD ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="89" 
HEIGHT="16">access_token</TD></TR></TABLE></TD><TD PORT="access_token.type" 
ALIGN="LEFT">bytea[2147483647]</TD></TR>
       <TR><TD PORT="active" COLSPAN="2" ALIGN="LEFT"><TABLE BORDER="0" 
CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="15" HEIGHT="16"></TD><TD ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="89" 
HEIGHT="16">active</TD></TR></TABLE></TD><TD PORT="active.type" 
ALIGN="LEFT">bool[1]</TD></TR>
-      <TR><TD PORT="remarks" COLSPAN="2" ALIGN="LEFT"><TABLE BORDER="0" 
CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="15" HEIGHT="16"></TD><TD ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="89" 
HEIGHT="16">remarks</TD></TR></TABLE></TD><TD PORT="remarks.type" 
ALIGN="LEFT">varchar[255]</TD></TR>
+      <TR><TD PORT="description" COLSPAN="2" ALIGN="LEFT"><TABLE BORDER="0" 
CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="15" HEIGHT="16"></TD><TD ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="89" 
HEIGHT="16">description</TD></TR></TABLE></TD><TD PORT="description.type" 
ALIGN="LEFT">text[2147483647]</TD></TR>
       <TR><TD PORT="provider_id" COLSPAN="2" ALIGN="LEFT"><TABLE BORDER="0" 
CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="15" HEIGHT="16"><IMG SRC="../../images/foreignKeys.png"/></TD><TD 
ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="89" 
HEIGHT="16">provider_id</TD></TR></TABLE></TD><TD PORT="provider_id.type" 
ALIGN="LEFT">int8[19]</TD></TR>
       <TR><TD ALIGN="LEFT" BGCOLOR="#ffffff">&lt; 1</TD><TD ALIGN="RIGHT" 
BGCOLOR="#ffffff">  </TD><TD ALIGN="RIGHT" BGCOLOR="#ffffff">1 &gt;</TD></TR>
     </TABLE>>
@@ -21,7 +21,8 @@ digraph "oneDegreeRelationshipsDiagram" {
    label=<
     <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
       <TR><TD COLSPAN="3"  BGCOLOR="#f5f5f5"><TABLE BORDER="0" 
CELLSPACING="0"><TR><TD ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="120" 
HEIGHT="16"><B>terminal_provider</B></TD><TD 
ALIGN="RIGHT">[table]</TD></TR></TABLE></TD></TR>
-      <TR><TD PORT="id" COLSPAN="3" ALIGN="LEFT"><TABLE BORDER="0" 
CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="15" HEIGHT="16"><IMG SRC="../../images/primaryKeys.png"/></TD><TD 
ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="120" 
HEIGHT="16">id</TD></TR></TABLE></TD></TR>
+      <TR><TD PORT="provider_terminal_id" COLSPAN="3" ALIGN="LEFT"><TABLE 
BORDER="0" CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" 
FIXEDSIZE="TRUE" WIDTH="15" HEIGHT="16"><IMG 
SRC="../../images/primaryKeys.png"/></TD><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="139" HEIGHT="16">provider_terminal_id</TD></TR></TABLE></TD></TR>
+      <TR><TD PORT="name" COLSPAN="3" BGCOLOR="#ffffff" ALIGN="LEFT"><TABLE 
BORDER="0" CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" 
FIXEDSIZE="TRUE" WIDTH="15" HEIGHT="16"></TD><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="139" HEIGHT="16">name</TD></TR></TABLE></TD></TR>
       <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
       <TR><TD ALIGN="LEFT" BGCOLOR="#ffffff">  </TD><TD ALIGN="RIGHT" 
BGCOLOR="#ffffff">  </TD><TD ALIGN="RIGHT" BGCOLOR="#ffffff">1 &gt;</TD></TR>
     </TABLE>>
@@ -33,8 +34,8 @@ digraph "oneDegreeRelationshipsDiagram" {
    label=<
     <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
       <TR><TD COLSPAN="3"  BGCOLOR="#f5f5f5"><TABLE BORDER="0" 
CELLSPACING="0"><TR><TD ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="75" 
HEIGHT="16"><B>withdrawal</B></TD><TD 
ALIGN="RIGHT">[table]</TD></TR></TABLE></TD></TR>
-      <TR><TD PORT="withdrawal_id" COLSPAN="3" ALIGN="LEFT"><TABLE BORDER="0" 
CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="15" HEIGHT="16"><IMG SRC="../../images/primaryKeys.png"/></TD><TD 
ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="123" 
HEIGHT="16">withdrawal_id</TD></TR></TABLE></TD></TR>
-      <TR><TD PORT="terminal_id" COLSPAN="3" ALIGN="LEFT"><TABLE BORDER="0" 
CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="15" HEIGHT="16"><IMG SRC="../../images/foreignKeys.png"/></TD><TD 
ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="123" 
HEIGHT="16">terminal_id</TD></TR></TABLE></TD></TR>
+      <TR><TD PORT="withdrawal_id" COLSPAN="3" ALIGN="LEFT"><TABLE BORDER="0" 
CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="15" HEIGHT="16"><IMG SRC="../../images/primaryKeys.png"/></TD><TD 
ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="159" 
HEIGHT="16">withdrawal_id</TD></TR></TABLE></TD></TR>
+      <TR><TD PORT="terminal_id" COLSPAN="3" ALIGN="LEFT"><TABLE BORDER="0" 
CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="15" HEIGHT="16"><IMG SRC="../../images/foreignKeys.png"/></TD><TD 
ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="159" 
HEIGHT="16">terminal_id</TD></TR></TABLE></TD></TR>
       <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
       <TR><TD ALIGN="LEFT" BGCOLOR="#ffffff">&lt; 1</TD><TD ALIGN="RIGHT" 
BGCOLOR="#ffffff">  </TD><TD ALIGN="RIGHT" BGCOLOR="#ffffff">  </TD></TR>
     </TABLE>>
diff --git a/schemaspy/c2ec-erd/diagrams/tables/terminal_provider.1degree.dot 
b/schemaspy/c2ec-erd/diagrams/tables/terminal_provider.1degree.dot
new file mode 100644
index 0000000..9bd2940
--- /dev/null
+++ b/schemaspy/c2ec-erd/diagrams/tables/terminal_provider.1degree.dot
@@ -0,0 +1,31 @@
+digraph "oneDegreeRelationshipsDiagram" {
+  graph [    rankdir="RL"    bgcolor="#ffffff"    label="\nGenerated by 
SchemaSpy"    labeljust="l"    nodesep="0.18"    ranksep="0.46"    
fontname="Helvetica"    fontsize="11"    ration="compress"  ];  node [    
fontname="Helvetica"    fontsize="11"    shape="plaintext"  ];  edge [    
arrowsize="0.8"  ];
+  "terminal":"provider_id":w -> 
"terminal_provider":"provider_terminal_id.type":e [arrowhead=none dir=back 
arrowtail=crowodot];
+  "terminal" [
+   label=<
+    <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+      <TR><TD COLSPAN="3"  BGCOLOR="#f5f5f5"><TABLE BORDER="0" 
CELLSPACING="0"><TR><TD ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="57" 
HEIGHT="16"><B>terminal</B></TD><TD 
ALIGN="RIGHT">[table]</TD></TR></TABLE></TD></TR>
+      <TR><TD PORT="terminal_id" COLSPAN="3" ALIGN="LEFT"><TABLE BORDER="0" 
CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="15" HEIGHT="16"><IMG SRC="../../images/primaryKeys.png"/></TD><TD 
ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="89" 
HEIGHT="16">terminal_id</TD></TR></TABLE></TD></TR>
+      <TR><TD PORT="provider_id" COLSPAN="3" ALIGN="LEFT"><TABLE BORDER="0" 
CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="15" HEIGHT="16"><IMG SRC="../../images/foreignKeys.png"/></TD><TD 
ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="89" 
HEIGHT="16">provider_id</TD></TR></TABLE></TD></TR>
+      <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+      <TR><TD ALIGN="LEFT" BGCOLOR="#ffffff">&lt; 1</TD><TD ALIGN="RIGHT" 
BGCOLOR="#ffffff">  </TD><TD ALIGN="RIGHT" BGCOLOR="#ffffff">1 &gt;</TD></TR>
+    </TABLE>>
+    URL="terminal.html"
+    target="_top"
+    tooltip="terminal"
+  ];
+  "terminal_provider" [
+   label=<
+    <TABLE BORDER="2" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+      <TR><TD COLSPAN="4"  BGCOLOR="#f5f5f5"><TABLE BORDER="0" 
CELLSPACING="0"><TR><TD ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="120" 
HEIGHT="16"><B>terminal_provider</B></TD><TD 
ALIGN="RIGHT">[table]</TD></TR></TABLE></TD></TR>
+      <TR><TD PORT="provider_terminal_id" COLSPAN="2" ALIGN="LEFT"><TABLE 
BORDER="0" CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" 
FIXEDSIZE="TRUE" WIDTH="15" HEIGHT="16"><IMG 
SRC="../../images/primaryKeys.png"/></TD><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="139" HEIGHT="16">provider_terminal_id</TD></TR></TABLE></TD><TD 
PORT="provider_terminal_id.type" ALIGN="LEFT">int8[19]</TD></TR>
+      <TR><TD PORT="name" COLSPAN="2" BGCOLOR="#ffffff" ALIGN="LEFT"><TABLE 
BORDER="0" CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" 
FIXEDSIZE="TRUE" WIDTH="15" HEIGHT="16"></TD><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="139" HEIGHT="16">name</TD></TR></TABLE></TD><TD PORT="name.type" 
ALIGN="LEFT">text[2147483647]</TD></TR>
+      <TR><TD PORT="backend_base_url" COLSPAN="2" ALIGN="LEFT"><TABLE 
BORDER="0" CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" 
FIXEDSIZE="TRUE" WIDTH="15" HEIGHT="16"></TD><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="139" HEIGHT="16">backend_base_url</TD></TR></TABLE></TD><TD 
PORT="backend_base_url.type" ALIGN="LEFT">text[2147483647]</TD></TR>
+      <TR><TD PORT="backend_credentials" COLSPAN="2" ALIGN="LEFT"><TABLE 
BORDER="0" CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" 
FIXEDSIZE="TRUE" WIDTH="15" HEIGHT="16"></TD><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="139" HEIGHT="16">backend_credentials</TD></TR></TABLE></TD><TD 
PORT="backend_credentials.type" ALIGN="LEFT">text[2147483647]</TD></TR>
+      <TR><TD ALIGN="LEFT" BGCOLOR="#ffffff">&lt; 0</TD><TD ALIGN="RIGHT" 
BGCOLOR="#ffffff">  </TD><TD ALIGN="RIGHT" BGCOLOR="#ffffff">1 &gt;</TD></TR>
+    </TABLE>>
+    URL="terminal_provider.html"
+    target="_top"
+    tooltip="terminal_provider"
+  ];
+}
diff --git 
a/schemaspy/nonce2ecash-erd/diagrams/tables/terminal_provider.2degrees.dot 
b/schemaspy/c2ec-erd/diagrams/tables/terminal_provider.2degrees.dot
similarity index 55%
rename from 
schemaspy/nonce2ecash-erd/diagrams/tables/terminal_provider.2degrees.dot
rename to schemaspy/c2ec-erd/diagrams/tables/terminal_provider.2degrees.dot
index f2fc5a1..c3ca87c 100644
--- a/schemaspy/nonce2ecash-erd/diagrams/tables/terminal_provider.2degrees.dot
+++ b/schemaspy/c2ec-erd/diagrams/tables/terminal_provider.2degrees.dot
@@ -1,12 +1,12 @@
 digraph "twoDegreesRelationshipsDiagram" {
   graph [    rankdir="RL"    bgcolor="#ffffff"    label="\nGenerated by 
SchemaSpy"    labeljust="l"    nodesep="0.18"    ranksep="0.46"    
fontname="Helvetica"    fontsize="11"    ration="compress"  ];  node [    
fontname="Helvetica"    fontsize="11"    shape="plaintext"  ];  edge [    
arrowsize="0.8"  ];
-  "terminal":"provider_id":w -> "terminal_provider":"id.type":e 
[arrowhead=none dir=back arrowtail=crowodot];
-  "withdrawal":"elipses":w -> "terminal":"id":e [arrowhead=none dir=back 
arrowtail=crowodot];
+  "terminal":"provider_id":w -> 
"terminal_provider":"provider_terminal_id.type":e [arrowhead=none dir=back 
arrowtail=crowodot];
+  "withdrawal":"elipses":w -> "terminal":"terminal_id":e [arrowhead=none 
dir=back arrowtail=crowodot];
   "terminal" [
    label=<
     <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
       <TR><TD COLSPAN="3"  BGCOLOR="#f5f5f5"><TABLE BORDER="0" 
CELLSPACING="0"><TR><TD ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="57" 
HEIGHT="16"><B>terminal</B></TD><TD 
ALIGN="RIGHT">[table]</TD></TR></TABLE></TD></TR>
-      <TR><TD PORT="id" COLSPAN="3" ALIGN="LEFT"><TABLE BORDER="0" 
CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="15" HEIGHT="16"><IMG SRC="../../images/primaryKeys.png"/></TD><TD 
ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="89" 
HEIGHT="16">id</TD></TR></TABLE></TD></TR>
+      <TR><TD PORT="terminal_id" COLSPAN="3" ALIGN="LEFT"><TABLE BORDER="0" 
CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="15" HEIGHT="16"><IMG SRC="../../images/primaryKeys.png"/></TD><TD 
ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="89" 
HEIGHT="16">terminal_id</TD></TR></TABLE></TD></TR>
       <TR><TD PORT="provider_id" COLSPAN="3" ALIGN="LEFT"><TABLE BORDER="0" 
CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="15" HEIGHT="16"><IMG SRC="../../images/foreignKeys.png"/></TD><TD 
ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="89" 
HEIGHT="16">provider_id</TD></TR></TABLE></TD></TR>
       <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
       <TR><TD ALIGN="LEFT" BGCOLOR="#ffffff">&lt; 1</TD><TD ALIGN="RIGHT" 
BGCOLOR="#ffffff">  </TD><TD ALIGN="RIGHT" BGCOLOR="#ffffff">1 &gt;</TD></TR>
@@ -19,9 +19,10 @@ digraph "twoDegreesRelationshipsDiagram" {
    label=<
     <TABLE BORDER="2" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
       <TR><TD COLSPAN="4"  BGCOLOR="#f5f5f5"><TABLE BORDER="0" 
CELLSPACING="0"><TR><TD ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="120" 
HEIGHT="16"><B>terminal_provider</B></TD><TD 
ALIGN="RIGHT">[table]</TD></TR></TABLE></TD></TR>
-      <TR><TD PORT="id" COLSPAN="2" ALIGN="LEFT"><TABLE BORDER="0" 
CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="15" HEIGHT="16"><IMG SRC="../../images/primaryKeys.png"/></TD><TD 
ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="120" 
HEIGHT="16">id</TD></TR></TABLE></TD><TD PORT="id.type" 
ALIGN="LEFT">int8[19]</TD></TR>
-      <TR><TD PORT="name" COLSPAN="2" ALIGN="LEFT"><TABLE BORDER="0" 
CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="15" HEIGHT="16"></TD><TD ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="120" 
HEIGHT="16">name</TD></TR></TABLE></TD><TD PORT="name.type" 
ALIGN="LEFT">varchar[50]</TD></TR>
-      <TR><TD PORT="remarks" COLSPAN="2" ALIGN="LEFT"><TABLE BORDER="0" 
CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="15" HEIGHT="16"></TD><TD ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="120" 
HEIGHT="16">remarks</TD></TR></TABLE></TD><TD PORT="remarks.type" 
ALIGN="LEFT">varchar[255]</TD></TR>
+      <TR><TD PORT="provider_terminal_id" COLSPAN="2" ALIGN="LEFT"><TABLE 
BORDER="0" CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" 
FIXEDSIZE="TRUE" WIDTH="15" HEIGHT="16"><IMG 
SRC="../../images/primaryKeys.png"/></TD><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="139" HEIGHT="16">provider_terminal_id</TD></TR></TABLE></TD><TD 
PORT="provider_terminal_id.type" ALIGN="LEFT">int8[19]</TD></TR>
+      <TR><TD PORT="name" COLSPAN="2" BGCOLOR="#ffffff" ALIGN="LEFT"><TABLE 
BORDER="0" CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" 
FIXEDSIZE="TRUE" WIDTH="15" HEIGHT="16"></TD><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="139" HEIGHT="16">name</TD></TR></TABLE></TD><TD PORT="name.type" 
ALIGN="LEFT">text[2147483647]</TD></TR>
+      <TR><TD PORT="backend_base_url" COLSPAN="2" ALIGN="LEFT"><TABLE 
BORDER="0" CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" 
FIXEDSIZE="TRUE" WIDTH="15" HEIGHT="16"></TD><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="139" HEIGHT="16">backend_base_url</TD></TR></TABLE></TD><TD 
PORT="backend_base_url.type" ALIGN="LEFT">text[2147483647]</TD></TR>
+      <TR><TD PORT="backend_credentials" COLSPAN="2" ALIGN="LEFT"><TABLE 
BORDER="0" CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" 
FIXEDSIZE="TRUE" WIDTH="15" HEIGHT="16"></TD><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="139" HEIGHT="16">backend_credentials</TD></TR></TABLE></TD><TD 
PORT="backend_credentials.type" ALIGN="LEFT">text[2147483647]</TD></TR>
       <TR><TD ALIGN="LEFT" BGCOLOR="#ffffff">&lt; 0</TD><TD ALIGN="RIGHT" 
BGCOLOR="#ffffff">  </TD><TD ALIGN="RIGHT" BGCOLOR="#ffffff">1 &gt;</TD></TR>
     </TABLE>>
     URL="terminal_provider.html"
diff --git a/schemaspy/nonce2ecash-erd/diagrams/tables/withdrawal.1degree.dot 
b/schemaspy/c2ec-erd/diagrams/tables/withdrawal.1degree.dot
similarity index 51%
rename from schemaspy/nonce2ecash-erd/diagrams/tables/withdrawal.1degree.dot
rename to schemaspy/c2ec-erd/diagrams/tables/withdrawal.1degree.dot
index c22809d..8d16940 100644
--- a/schemaspy/nonce2ecash-erd/diagrams/tables/withdrawal.1degree.dot
+++ b/schemaspy/c2ec-erd/diagrams/tables/withdrawal.1degree.dot
@@ -1,11 +1,11 @@
 digraph "oneDegreeRelationshipsDiagram" {
   graph [    rankdir="RL"    bgcolor="#ffffff"    label="\nGenerated by 
SchemaSpy"    labeljust="l"    nodesep="0.18"    ranksep="0.46"    
fontname="Helvetica"    fontsize="11"    ration="compress"  ];  node [    
fontname="Helvetica"    fontsize="11"    shape="plaintext"  ];  edge [    
arrowsize="0.8"  ];
-  "withdrawal":"terminal_id":w -> "terminal":"id":e [arrowhead=none dir=back 
arrowtail=crowodot];
+  "withdrawal":"terminal_id":w -> "terminal":"terminal_id":e [arrowhead=none 
dir=back arrowtail=crowodot];
   "terminal" [
    label=<
     <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
       <TR><TD COLSPAN="3"  BGCOLOR="#f5f5f5"><TABLE BORDER="0" 
CELLSPACING="0"><TR><TD ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="57" 
HEIGHT="16"><B>terminal</B></TD><TD 
ALIGN="RIGHT">[table]</TD></TR></TABLE></TD></TR>
-      <TR><TD PORT="id" COLSPAN="3" ALIGN="LEFT"><TABLE BORDER="0" 
CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="15" HEIGHT="16"><IMG SRC="../../images/primaryKeys.png"/></TD><TD 
ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="89" 
HEIGHT="16">id</TD></TR></TABLE></TD></TR>
+      <TR><TD PORT="terminal_id" COLSPAN="3" ALIGN="LEFT"><TABLE BORDER="0" 
CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="15" HEIGHT="16"><IMG SRC="../../images/primaryKeys.png"/></TD><TD 
ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="89" 
HEIGHT="16">terminal_id</TD></TR></TABLE></TD></TR>
       <TR><TD PORT="provider_id" COLSPAN="3" ALIGN="LEFT"><TABLE BORDER="0" 
CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="15" HEIGHT="16"><IMG SRC="../../images/foreignKeys.png"/></TD><TD 
ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="89" 
HEIGHT="16">provider_id</TD></TR></TABLE></TD></TR>
       <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
       <TR><TD ALIGN="LEFT" BGCOLOR="#ffffff">&lt; 1</TD><TD ALIGN="RIGHT" 
BGCOLOR="#ffffff">  </TD><TD ALIGN="RIGHT" BGCOLOR="#ffffff">1 &gt;</TD></TR>
@@ -18,12 +18,18 @@ digraph "oneDegreeRelationshipsDiagram" {
    label=<
     <TABLE BORDER="2" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
       <TR><TD COLSPAN="4"  BGCOLOR="#f5f5f5"><TABLE BORDER="0" 
CELLSPACING="0"><TR><TD ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="75" 
HEIGHT="16"><B>withdrawal</B></TD><TD 
ALIGN="RIGHT">[table]</TD></TR></TABLE></TD></TR>
-      <TR><TD PORT="withdrawal_id" COLSPAN="2" ALIGN="LEFT"><TABLE BORDER="0" 
CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="15" HEIGHT="16"><IMG SRC="../../images/primaryKeys.png"/></TD><TD 
ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="123" 
HEIGHT="16">withdrawal_id</TD></TR></TABLE></TD><TD PORT="withdrawal_id.type" 
ALIGN="LEFT">bytea[2147483647]</TD></TR>
-      <TR><TD PORT="reserve_pub_key" COLSPAN="2" ALIGN="LEFT"><TABLE 
BORDER="0" CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" 
FIXEDSIZE="TRUE" WIDTH="15" HEIGHT="16"></TD><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="123" HEIGHT="16">reserve_pub_key</TD></TR></TABLE></TD><TD 
PORT="reserve_pub_key.type" ALIGN="LEFT">bytea[2147483647]</TD></TR>
-      <TR><TD PORT="registration_ts" COLSPAN="2" ALIGN="LEFT"><TABLE 
BORDER="0" CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" 
FIXEDSIZE="TRUE" WIDTH="15" HEIGHT="16"></TD><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="123" HEIGHT="16">registration_ts</TD></TR></TABLE></TD><TD 
PORT="registration_ts.type" ALIGN="LEFT">int8[19]</TD></TR>
-      <TR><TD PORT="amount" COLSPAN="2" ALIGN="LEFT"><TABLE BORDER="0" 
CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="15" HEIGHT="16"></TD><TD ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="123" 
HEIGHT="16">amount</TD></TR></TABLE></TD><TD PORT="amount.type" 
ALIGN="LEFT">varchar[50]</TD></TR>
-      <TR><TD PORT="withdrawal_status" COLSPAN="2" ALIGN="LEFT"><TABLE 
BORDER="0" CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" 
FIXEDSIZE="TRUE" WIDTH="15" HEIGHT="16"></TD><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="123" HEIGHT="16">withdrawal_status</TD></TR></TABLE></TD><TD 
PORT="withdrawal_status.type" 
ALIGN="LEFT">withdrawal_operation_status[2147483647]</TD></TR>
-      <TR><TD PORT="terminal_id" COLSPAN="2" ALIGN="LEFT"><TABLE BORDER="0" 
CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="15" HEIGHT="16"><IMG SRC="../../images/foreignKeys.png"/></TD><TD 
ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="123" 
HEIGHT="16">terminal_id</TD></TR></TABLE></TD><TD PORT="terminal_id.type" 
ALIGN="LEFT">int8[19]</TD></TR>
+      <TR><TD PORT="withdrawal_id" COLSPAN="2" ALIGN="LEFT"><TABLE BORDER="0" 
CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="15" HEIGHT="16"><IMG SRC="../../images/primaryKeys.png"/></TD><TD 
ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="159" 
HEIGHT="16">withdrawal_id</TD></TR></TABLE></TD><TD PORT="withdrawal_id.type" 
ALIGN="LEFT">int8[19]</TD></TR>
+      <TR><TD PORT="wopid" COLSPAN="2" ALIGN="LEFT"><TABLE BORDER="0" 
CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="15" HEIGHT="16"></TD><TD ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="159" 
HEIGHT="16">wopid</TD></TR></TABLE></TD><TD PORT="wopid.type" 
ALIGN="LEFT">bytea[2147483647]</TD></TR>
+      <TR><TD PORT="reserve_pub_key" COLSPAN="2" ALIGN="LEFT"><TABLE 
BORDER="0" CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" 
FIXEDSIZE="TRUE" WIDTH="15" HEIGHT="16"></TD><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="159" HEIGHT="16">reserve_pub_key</TD></TR></TABLE></TD><TD 
PORT="reserve_pub_key.type" ALIGN="LEFT">bytea[2147483647]</TD></TR>
+      <TR><TD PORT="registration_ts" COLSPAN="2" ALIGN="LEFT"><TABLE 
BORDER="0" CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" 
FIXEDSIZE="TRUE" WIDTH="15" HEIGHT="16"></TD><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="159" HEIGHT="16">registration_ts</TD></TR></TABLE></TD><TD 
PORT="registration_ts.type" ALIGN="LEFT">int8[19]</TD></TR>
+      <TR><TD PORT="amount" COLSPAN="2" ALIGN="LEFT"><TABLE BORDER="0" 
CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="15" HEIGHT="16"></TD><TD ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="159" 
HEIGHT="16">amount</TD></TR></TABLE></TD><TD PORT="amount.type" 
ALIGN="LEFT">&quot;c2ec&quot;.&quot;taler_amount_currency&quot;[2147483647]</TD></TR>
+      <TR><TD PORT="fees" COLSPAN="2" ALIGN="LEFT"><TABLE BORDER="0" 
CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="15" HEIGHT="16"></TD><TD ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="159" 
HEIGHT="16">fees</TD></TR></TABLE></TD><TD PORT="fees.type" 
ALIGN="LEFT">&quot;c2ec&quot;.&quot;taler_amount_currency&quot;[2147483647]</TD></TR>
+      <TR><TD PORT="withdrawal_status" COLSPAN="2" ALIGN="LEFT"><TABLE 
BORDER="0" CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" 
FIXEDSIZE="TRUE" WIDTH="15" HEIGHT="16"></TD><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="159" HEIGHT="16">withdrawal_status</TD></TR></TABLE></TD><TD 
PORT="withdrawal_status.type" 
ALIGN="LEFT">&quot;c2ec&quot;.&quot;withdrawal_operation_status&quot;[2147483647]</TD></TR>
+      <TR><TD PORT="terminal_id" COLSPAN="2" ALIGN="LEFT"><TABLE BORDER="0" 
CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="15" HEIGHT="16"><IMG SRC="../../images/foreignKeys.png"/></TD><TD 
ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="159" 
HEIGHT="16">terminal_id</TD></TR></TABLE></TD><TD PORT="terminal_id.type" 
ALIGN="LEFT">int8[19]</TD></TR>
+      <TR><TD PORT="provider_transaction_id" COLSPAN="2" ALIGN="LEFT"><TABLE 
BORDER="0" CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" 
FIXEDSIZE="TRUE" WIDTH="15" HEIGHT="16"></TD><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="159" HEIGHT="16">provider_transaction_id</TD></TR></TABLE></TD><TD 
PORT="provider_transaction_id.type" ALIGN="LEFT">text[2147483647]</TD></TR>
+      <TR><TD PORT="last_retry_ts" COLSPAN="2" ALIGN="LEFT"><TABLE BORDER="0" 
CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="15" HEIGHT="16"></TD><TD ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="159" 
HEIGHT="16">last_retry_ts</TD></TR></TABLE></TD><TD PORT="last_retry_ts.type" 
ALIGN="LEFT">int8[19]</TD></TR>
+      <TR><TD PORT="retry_counter" COLSPAN="2" ALIGN="LEFT"><TABLE BORDER="0" 
CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="15" HEIGHT="16"></TD><TD ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="159" 
HEIGHT="16">retry_counter</TD></TR></TABLE></TD><TD PORT="retry_counter.type" 
ALIGN="LEFT">int4[10]</TD></TR>
+      <TR><TD PORT="completion_proof" COLSPAN="2" ALIGN="LEFT"><TABLE 
BORDER="0" CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" 
FIXEDSIZE="TRUE" WIDTH="15" HEIGHT="16"></TD><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="159" HEIGHT="16">completion_proof</TD></TR></TABLE></TD><TD 
PORT="completion_proof.type" ALIGN="LEFT">bytea[2147483647]</TD></TR>
       <TR><TD ALIGN="LEFT" BGCOLOR="#ffffff">&lt; 1</TD><TD ALIGN="RIGHT" 
BGCOLOR="#ffffff">  </TD><TD ALIGN="RIGHT" BGCOLOR="#ffffff">0 &gt;</TD></TR>
     </TABLE>>
     URL="withdrawal.html"
diff --git a/schemaspy/nonce2ecash-erd/diagrams/tables/withdrawal.2degrees.dot 
b/schemaspy/c2ec-erd/diagrams/tables/withdrawal.2degrees.dot
similarity index 56%
rename from schemaspy/nonce2ecash-erd/diagrams/tables/withdrawal.2degrees.dot
rename to schemaspy/c2ec-erd/diagrams/tables/withdrawal.2degrees.dot
index 08905c8..db58116 100644
--- a/schemaspy/nonce2ecash-erd/diagrams/tables/withdrawal.2degrees.dot
+++ b/schemaspy/c2ec-erd/diagrams/tables/withdrawal.2degrees.dot
@@ -1,12 +1,12 @@
 digraph "twoDegreesRelationshipsDiagram" {
   graph [    rankdir="RL"    bgcolor="#ffffff"    label="\nGenerated by 
SchemaSpy"    labeljust="l"    nodesep="0.18"    ranksep="0.46"    
fontname="Helvetica"    fontsize="11"    ration="compress"  ];  node [    
fontname="Helvetica"    fontsize="11"    shape="plaintext"  ];  edge [    
arrowsize="0.8"  ];
   "terminal":"provider_id":w -> "terminal_provider":"elipses":e 
[arrowhead=none dir=back arrowtail=crowodot];
-  "withdrawal":"terminal_id":w -> "terminal":"id":e [arrowhead=none dir=back 
arrowtail=crowodot];
+  "withdrawal":"terminal_id":w -> "terminal":"terminal_id":e [arrowhead=none 
dir=back arrowtail=crowodot];
   "terminal" [
    label=<
     <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
       <TR><TD COLSPAN="3"  BGCOLOR="#f5f5f5"><TABLE BORDER="0" 
CELLSPACING="0"><TR><TD ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="57" 
HEIGHT="16"><B>terminal</B></TD><TD 
ALIGN="RIGHT">[table]</TD></TR></TABLE></TD></TR>
-      <TR><TD PORT="id" COLSPAN="3" ALIGN="LEFT"><TABLE BORDER="0" 
CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="15" HEIGHT="16"><IMG SRC="../../images/primaryKeys.png"/></TD><TD 
ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="89" 
HEIGHT="16">id</TD></TR></TABLE></TD></TR>
+      <TR><TD PORT="terminal_id" COLSPAN="3" ALIGN="LEFT"><TABLE BORDER="0" 
CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="15" HEIGHT="16"><IMG SRC="../../images/primaryKeys.png"/></TD><TD 
ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="89" 
HEIGHT="16">terminal_id</TD></TR></TABLE></TD></TR>
       <TR><TD PORT="provider_id" COLSPAN="3" ALIGN="LEFT"><TABLE BORDER="0" 
CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="15" HEIGHT="16"><IMG SRC="../../images/foreignKeys.png"/></TD><TD 
ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="89" 
HEIGHT="16">provider_id</TD></TR></TABLE></TD></TR>
       <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
       <TR><TD ALIGN="LEFT" BGCOLOR="#ffffff">&lt; 1</TD><TD ALIGN="RIGHT" 
BGCOLOR="#ffffff">  </TD><TD ALIGN="RIGHT" BGCOLOR="#ffffff">1 &gt;</TD></TR>
@@ -30,12 +30,18 @@ digraph "twoDegreesRelationshipsDiagram" {
    label=<
     <TABLE BORDER="2" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
       <TR><TD COLSPAN="4"  BGCOLOR="#f5f5f5"><TABLE BORDER="0" 
CELLSPACING="0"><TR><TD ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="75" 
HEIGHT="16"><B>withdrawal</B></TD><TD 
ALIGN="RIGHT">[table]</TD></TR></TABLE></TD></TR>
-      <TR><TD PORT="withdrawal_id" COLSPAN="2" ALIGN="LEFT"><TABLE BORDER="0" 
CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="15" HEIGHT="16"><IMG SRC="../../images/primaryKeys.png"/></TD><TD 
ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="123" 
HEIGHT="16">withdrawal_id</TD></TR></TABLE></TD><TD PORT="withdrawal_id.type" 
ALIGN="LEFT">bytea[2147483647]</TD></TR>
-      <TR><TD PORT="reserve_pub_key" COLSPAN="2" ALIGN="LEFT"><TABLE 
BORDER="0" CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" 
FIXEDSIZE="TRUE" WIDTH="15" HEIGHT="16"></TD><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="123" HEIGHT="16">reserve_pub_key</TD></TR></TABLE></TD><TD 
PORT="reserve_pub_key.type" ALIGN="LEFT">bytea[2147483647]</TD></TR>
-      <TR><TD PORT="registration_ts" COLSPAN="2" ALIGN="LEFT"><TABLE 
BORDER="0" CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" 
FIXEDSIZE="TRUE" WIDTH="15" HEIGHT="16"></TD><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="123" HEIGHT="16">registration_ts</TD></TR></TABLE></TD><TD 
PORT="registration_ts.type" ALIGN="LEFT">int8[19]</TD></TR>
-      <TR><TD PORT="amount" COLSPAN="2" ALIGN="LEFT"><TABLE BORDER="0" 
CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="15" HEIGHT="16"></TD><TD ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="123" 
HEIGHT="16">amount</TD></TR></TABLE></TD><TD PORT="amount.type" 
ALIGN="LEFT">varchar[50]</TD></TR>
-      <TR><TD PORT="withdrawal_status" COLSPAN="2" ALIGN="LEFT"><TABLE 
BORDER="0" CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" 
FIXEDSIZE="TRUE" WIDTH="15" HEIGHT="16"></TD><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="123" HEIGHT="16">withdrawal_status</TD></TR></TABLE></TD><TD 
PORT="withdrawal_status.type" 
ALIGN="LEFT">withdrawal_operation_status[2147483647]</TD></TR>
-      <TR><TD PORT="terminal_id" COLSPAN="2" ALIGN="LEFT"><TABLE BORDER="0" 
CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="15" HEIGHT="16"><IMG SRC="../../images/foreignKeys.png"/></TD><TD 
ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="123" 
HEIGHT="16">terminal_id</TD></TR></TABLE></TD><TD PORT="terminal_id.type" 
ALIGN="LEFT">int8[19]</TD></TR>
+      <TR><TD PORT="withdrawal_id" COLSPAN="2" ALIGN="LEFT"><TABLE BORDER="0" 
CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="15" HEIGHT="16"><IMG SRC="../../images/primaryKeys.png"/></TD><TD 
ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="159" 
HEIGHT="16">withdrawal_id</TD></TR></TABLE></TD><TD PORT="withdrawal_id.type" 
ALIGN="LEFT">int8[19]</TD></TR>
+      <TR><TD PORT="wopid" COLSPAN="2" ALIGN="LEFT"><TABLE BORDER="0" 
CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="15" HEIGHT="16"></TD><TD ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="159" 
HEIGHT="16">wopid</TD></TR></TABLE></TD><TD PORT="wopid.type" 
ALIGN="LEFT">bytea[2147483647]</TD></TR>
+      <TR><TD PORT="reserve_pub_key" COLSPAN="2" ALIGN="LEFT"><TABLE 
BORDER="0" CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" 
FIXEDSIZE="TRUE" WIDTH="15" HEIGHT="16"></TD><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="159" HEIGHT="16">reserve_pub_key</TD></TR></TABLE></TD><TD 
PORT="reserve_pub_key.type" ALIGN="LEFT">bytea[2147483647]</TD></TR>
+      <TR><TD PORT="registration_ts" COLSPAN="2" ALIGN="LEFT"><TABLE 
BORDER="0" CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" 
FIXEDSIZE="TRUE" WIDTH="15" HEIGHT="16"></TD><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="159" HEIGHT="16">registration_ts</TD></TR></TABLE></TD><TD 
PORT="registration_ts.type" ALIGN="LEFT">int8[19]</TD></TR>
+      <TR><TD PORT="amount" COLSPAN="2" ALIGN="LEFT"><TABLE BORDER="0" 
CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="15" HEIGHT="16"></TD><TD ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="159" 
HEIGHT="16">amount</TD></TR></TABLE></TD><TD PORT="amount.type" 
ALIGN="LEFT">&quot;c2ec&quot;.&quot;taler_amount_currency&quot;[2147483647]</TD></TR>
+      <TR><TD PORT="fees" COLSPAN="2" ALIGN="LEFT"><TABLE BORDER="0" 
CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="15" HEIGHT="16"></TD><TD ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="159" 
HEIGHT="16">fees</TD></TR></TABLE></TD><TD PORT="fees.type" 
ALIGN="LEFT">&quot;c2ec&quot;.&quot;taler_amount_currency&quot;[2147483647]</TD></TR>
+      <TR><TD PORT="withdrawal_status" COLSPAN="2" ALIGN="LEFT"><TABLE 
BORDER="0" CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" 
FIXEDSIZE="TRUE" WIDTH="15" HEIGHT="16"></TD><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="159" HEIGHT="16">withdrawal_status</TD></TR></TABLE></TD><TD 
PORT="withdrawal_status.type" 
ALIGN="LEFT">&quot;c2ec&quot;.&quot;withdrawal_operation_status&quot;[2147483647]</TD></TR>
+      <TR><TD PORT="terminal_id" COLSPAN="2" ALIGN="LEFT"><TABLE BORDER="0" 
CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="15" HEIGHT="16"><IMG SRC="../../images/foreignKeys.png"/></TD><TD 
ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="159" 
HEIGHT="16">terminal_id</TD></TR></TABLE></TD><TD PORT="terminal_id.type" 
ALIGN="LEFT">int8[19]</TD></TR>
+      <TR><TD PORT="provider_transaction_id" COLSPAN="2" ALIGN="LEFT"><TABLE 
BORDER="0" CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" 
FIXEDSIZE="TRUE" WIDTH="15" HEIGHT="16"></TD><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="159" HEIGHT="16">provider_transaction_id</TD></TR></TABLE></TD><TD 
PORT="provider_transaction_id.type" ALIGN="LEFT">text[2147483647]</TD></TR>
+      <TR><TD PORT="last_retry_ts" COLSPAN="2" ALIGN="LEFT"><TABLE BORDER="0" 
CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="15" HEIGHT="16"></TD><TD ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="159" 
HEIGHT="16">last_retry_ts</TD></TR></TABLE></TD><TD PORT="last_retry_ts.type" 
ALIGN="LEFT">int8[19]</TD></TR>
+      <TR><TD PORT="retry_counter" COLSPAN="2" ALIGN="LEFT"><TABLE BORDER="0" 
CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="15" HEIGHT="16"></TD><TD ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="159" 
HEIGHT="16">retry_counter</TD></TR></TABLE></TD><TD PORT="retry_counter.type" 
ALIGN="LEFT">int4[10]</TD></TR>
+      <TR><TD PORT="completion_proof" COLSPAN="2" ALIGN="LEFT"><TABLE 
BORDER="0" CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" 
FIXEDSIZE="TRUE" WIDTH="15" HEIGHT="16"></TD><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="159" HEIGHT="16">completion_proof</TD></TR></TABLE></TD><TD 
PORT="completion_proof.type" ALIGN="LEFT">bytea[2147483647]</TD></TR>
       <TR><TD ALIGN="LEFT" BGCOLOR="#ffffff">&lt; 1</TD><TD ALIGN="RIGHT" 
BGCOLOR="#ffffff">  </TD><TD ALIGN="RIGHT" BGCOLOR="#ffffff">0 &gt;</TD></TR>
     </TABLE>>
     URL="withdrawal.html"
diff --git 
a/schemaspy/nonce2ecash-erd/fonts/indieflower/indie-flower-v8-latin-regular.eot 
b/schemaspy/c2ec-erd/fonts/indieflower/indie-flower-v8-latin-regular.eot
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/fonts/indieflower/indie-flower-v8-latin-regular.eot
rename to schemaspy/c2ec-erd/fonts/indieflower/indie-flower-v8-latin-regular.eot
diff --git 
a/schemaspy/nonce2ecash-erd/fonts/indieflower/indie-flower-v8-latin-regular.svg 
b/schemaspy/c2ec-erd/fonts/indieflower/indie-flower-v8-latin-regular.svg
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/fonts/indieflower/indie-flower-v8-latin-regular.svg
rename to schemaspy/c2ec-erd/fonts/indieflower/indie-flower-v8-latin-regular.svg
diff --git 
a/schemaspy/nonce2ecash-erd/fonts/indieflower/indie-flower-v8-latin-regular.ttf 
b/schemaspy/c2ec-erd/fonts/indieflower/indie-flower-v8-latin-regular.ttf
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/fonts/indieflower/indie-flower-v8-latin-regular.ttf
rename to schemaspy/c2ec-erd/fonts/indieflower/indie-flower-v8-latin-regular.ttf
diff --git 
a/schemaspy/nonce2ecash-erd/fonts/indieflower/indie-flower-v8-latin-regular.woff
 b/schemaspy/c2ec-erd/fonts/indieflower/indie-flower-v8-latin-regular.woff
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/fonts/indieflower/indie-flower-v8-latin-regular.woff
rename to 
schemaspy/c2ec-erd/fonts/indieflower/indie-flower-v8-latin-regular.woff
diff --git 
a/schemaspy/nonce2ecash-erd/fonts/indieflower/indie-flower-v8-latin-regular.woff2
 b/schemaspy/c2ec-erd/fonts/indieflower/indie-flower-v8-latin-regular.woff2
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/fonts/indieflower/indie-flower-v8-latin-regular.woff2
rename to 
schemaspy/c2ec-erd/fonts/indieflower/indie-flower-v8-latin-regular.woff2
diff --git a/schemaspy/nonce2ecash-erd/fonts/indieflower/indie-flower.css 
b/schemaspy/c2ec-erd/fonts/indieflower/indie-flower.css
similarity index 100%
rename from schemaspy/nonce2ecash-erd/fonts/indieflower/indie-flower.css
rename to schemaspy/c2ec-erd/fonts/indieflower/indie-flower.css
diff --git 
a/schemaspy/nonce2ecash-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-300.eot
 b/schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-300.eot
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-300.eot
rename to 
schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-300.eot
diff --git 
a/schemaspy/nonce2ecash-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-300.svg
 b/schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-300.svg
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-300.svg
rename to 
schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-300.svg
diff --git 
a/schemaspy/nonce2ecash-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-300.ttf
 b/schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-300.ttf
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-300.ttf
rename to 
schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-300.ttf
diff --git 
a/schemaspy/nonce2ecash-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-300.woff
 b/schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-300.woff
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-300.woff
rename to 
schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-300.woff
diff --git 
a/schemaspy/nonce2ecash-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-300.woff2
 b/schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-300.woff2
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-300.woff2
rename to 
schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-300.woff2
diff --git 
a/schemaspy/nonce2ecash-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-300italic.eot
 
b/schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-300italic.eot
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-300italic.eot
rename to 
schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-300italic.eot
diff --git 
a/schemaspy/nonce2ecash-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-300italic.svg
 
b/schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-300italic.svg
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-300italic.svg
rename to 
schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-300italic.svg
diff --git 
a/schemaspy/nonce2ecash-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-300italic.ttf
 
b/schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-300italic.ttf
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-300italic.ttf
rename to 
schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-300italic.ttf
diff --git 
a/schemaspy/nonce2ecash-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-300italic.woff
 
b/schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-300italic.woff
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-300italic.woff
rename to 
schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-300italic.woff
diff --git 
a/schemaspy/nonce2ecash-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-300italic.woff2
 
b/schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-300italic.woff2
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-300italic.woff2
rename to 
schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-300italic.woff2
diff --git 
a/schemaspy/nonce2ecash-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-600.eot
 b/schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-600.eot
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-600.eot
rename to 
schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-600.eot
diff --git 
a/schemaspy/nonce2ecash-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-600.svg
 b/schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-600.svg
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-600.svg
rename to 
schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-600.svg
diff --git 
a/schemaspy/nonce2ecash-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-600.ttf
 b/schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-600.ttf
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-600.ttf
rename to 
schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-600.ttf
diff --git 
a/schemaspy/nonce2ecash-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-600.woff
 b/schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-600.woff
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-600.woff
rename to 
schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-600.woff
diff --git 
a/schemaspy/nonce2ecash-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-600.woff2
 b/schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-600.woff2
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-600.woff2
rename to 
schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-600.woff2
diff --git 
a/schemaspy/nonce2ecash-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-600italic.eot
 
b/schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-600italic.eot
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-600italic.eot
rename to 
schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-600italic.eot
diff --git 
a/schemaspy/nonce2ecash-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-600italic.svg
 
b/schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-600italic.svg
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-600italic.svg
rename to 
schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-600italic.svg
diff --git 
a/schemaspy/nonce2ecash-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-600italic.ttf
 
b/schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-600italic.ttf
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-600italic.ttf
rename to 
schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-600italic.ttf
diff --git 
a/schemaspy/nonce2ecash-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-600italic.woff
 
b/schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-600italic.woff
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-600italic.woff
rename to 
schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-600italic.woff
diff --git 
a/schemaspy/nonce2ecash-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-600italic.woff2
 
b/schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-600italic.woff2
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-600italic.woff2
rename to 
schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-600italic.woff2
diff --git 
a/schemaspy/nonce2ecash-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-700.eot
 b/schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-700.eot
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-700.eot
rename to 
schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-700.eot
diff --git 
a/schemaspy/nonce2ecash-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-700.svg
 b/schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-700.svg
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-700.svg
rename to 
schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-700.svg
diff --git 
a/schemaspy/nonce2ecash-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-700.ttf
 b/schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-700.ttf
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-700.ttf
rename to 
schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-700.ttf
diff --git 
a/schemaspy/nonce2ecash-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-700.woff
 b/schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-700.woff
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-700.woff
rename to 
schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-700.woff
diff --git 
a/schemaspy/nonce2ecash-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-700.woff2
 b/schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-700.woff2
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-700.woff2
rename to 
schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-700.woff2
diff --git 
a/schemaspy/nonce2ecash-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-regular.eot
 
b/schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-regular.eot
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-regular.eot
rename to 
schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-regular.eot
diff --git 
a/schemaspy/nonce2ecash-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-regular.svg
 
b/schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-regular.svg
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-regular.svg
rename to 
schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-regular.svg
diff --git 
a/schemaspy/nonce2ecash-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-regular.ttf
 
b/schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-regular.ttf
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-regular.ttf
rename to 
schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-regular.ttf
diff --git 
a/schemaspy/nonce2ecash-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-regular.woff
 
b/schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-regular.woff
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-regular.woff
rename to 
schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-regular.woff
diff --git 
a/schemaspy/nonce2ecash-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-regular.woff2
 
b/schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-regular.woff2
similarity index 100%
rename from 
schemaspy/nonce2ecash-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-regular.woff2
rename to 
schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro-v10-latin-regular.woff2
diff --git 
a/schemaspy/nonce2ecash-erd/fonts/source-sans-pro/source-sans-pro.css 
b/schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro.css
similarity index 100%
rename from schemaspy/nonce2ecash-erd/fonts/source-sans-pro/source-sans-pro.css
rename to schemaspy/c2ec-erd/fonts/source-sans-pro/source-sans-pro.css
diff --git a/schemaspy/nonce2ecash-erd/index.html 
b/schemaspy/c2ec-erd/index.html
similarity index 95%
rename from schemaspy/nonce2ecash-erd/index.html
rename to schemaspy/c2ec-erd/index.html
index 25c0f98..c263153 100644
--- a/schemaspy/nonce2ecash-erd/index.html
+++ b/schemaspy/c2ec-erd/index.html
@@ -3,7 +3,7 @@
     <head>
         <meta charset="utf-8">
         <meta http-equiv="X-UA-Compatible" content="IE=edge">
-        <title>postgres.public</title>
+        <title>postgres.c2ec</title>
         <!-- Tell the browser to be responsive to screen width -->
         <meta content="width=device-width, initial-scale=1, maximum-scale=1, 
user-scalable=no" name="viewport">
         <link rel="icon" type="image/png" sizes="16x16" href="favicon.png">
@@ -46,7 +46,7 @@
                 <nav class="navbar navbar-static-top">
                     <div class="container">
                         <div class="navbar-header">
-                            <a href="index.html" 
class="navbar-brand"><b>postgres</b></a><span class="navbar-brand" 
style="padding-left: 0">.public</span>
+                            <a href="index.html" 
class="navbar-brand"><b>postgres</b></a><span class="navbar-brand" 
style="padding-left: 0">.c2ec</span>
                             <button type="button" class="navbar-toggle 
collapsed" data-toggle="collapse" data-target="#navbar-collapse"><i class="fa 
fa-bars"></i></button>
                         </div>
 
@@ -77,12 +77,12 @@
                     <div class="row">
                         <div class="col-md-12">
                             <div class="callout callout-info">
-                                <h4>SchemaSpy Analysis of postgres.public</h4>
-                                <p>Generated on Wed Mar 06 14:13 CET 2024</p>
+                                <h4>SchemaSpy Analysis of postgres.c2ec</h4>
+                                <p>Generated on Sun Mar 24 12:44 CET 2024</p>
                             </div>
                         </div>
                     </div>
-                    <a href="postgres.public.xml" title="XML 
Representation">XML Representation</a><br />
+                    <a href="postgres.c2ec.xml" title="XML Representation">XML 
Representation</a><br />
                     <a href="insertionOrder.txt" title="Useful for loading 
data into a database">Insertion Order</a>
                     <a href="deletionOrder.txt" title="Useful for purging data 
from a database">Deletion Order</a>
                 </section>
@@ -118,7 +118,7 @@
                                 <span class="info-box-icon bg-green"><span 
class="glyphicon glyphicon-list-alt" aria-hidden="true"></span></span>
                                 <div class="info-box-content">
                                     <span class="info-box-text">COLUMNS</span>
-                                    <span class="info-box-number">14</span>
+                                    <span class="info-box-number">21</span>
                                 </div>
                                 <!-- /.info-box-content -->
                             </div>
@@ -182,11 +182,11 @@
                     </div>
                     <div class="box box-primary">
                         <div class="box-header with-border">
-                            <h3 class="box-title">Schema public</h3>
+                            <h3 class="box-title">Schema c2ec</h3>
                             <span class="label label-primary pull-right"><i 
class="fa fa-cog fa-2x"></i></span>
                         </div><!-- /.box-header -->
                         <div class="box-body">
-                            <p> <p>standard public schema</p> </p>
+                            <p> <p>Schema containing all tables and types 
related to c2ec (cashless2ecash)</p> </p>
                         </div><!-- /.box-body -->
                     </div>
                     <div class="box box-primary">
@@ -221,25 +221,25 @@
                                         <td class="detail" align="right">5</td>
                                         <td class="detail" 
align="right">-1</td>
                                         <td class="detail" 
align="right">Table</td>
-                                        <td class="comment detail" 
style="display: table-cell;"></td>
+                                        <td class="comment detail" 
style="display: table-cell;"><p>Table containing information about terminals of 
providers</p></td>
                                     </tr>
                                     <tr class="tbl even" valign="top">
                                         <td class="detail"><a 
href="tables/terminal_provider.html">terminal_provider</a></td>
                                         <td class="detail" align="right">1</td>
                                         <td class="detail" align="right">0</td>
-                                        <td class="detail" align="right">3</td>
+                                        <td class="detail" align="right">4</td>
                                         <td class="detail" 
align="right">-1</td>
                                         <td class="detail" 
align="right">Table</td>
-                                        <td class="comment detail" 
style="display: table-cell;"></td>
+                                        <td class="comment detail" 
style="display: table-cell;"><p>Table describing providers of c2ec 
terminal</p></td>
                                     </tr>
                                     <tr class="tbl even" valign="top">
                                         <td class="detail"><a 
href="tables/withdrawal.html">withdrawal</a></td>
                                         <td class="detail" align="right">0</td>
                                         <td class="detail" align="right">1</td>
-                                        <td class="detail" align="right">6</td>
+                                        <td class="detail" 
align="right">12</td>
                                         <td class="detail" 
align="right">-1</td>
                                         <td class="detail" 
align="right">Table</td>
-                                        <td class="comment detail" 
style="display: table-cell;"></td>
+                                        <td class="comment detail" 
style="display: table-cell;"><p>Table representing withdrawal processes 
initiated by terminals</p></td>
                                     </tr>
                             </table>
                         </div>
diff --git a/schemaspy/nonce2ecash-erd/info-html.txt 
b/schemaspy/c2ec-erd/info-html.txt
similarity index 63%
rename from schemaspy/nonce2ecash-erd/info-html.txt
rename to schemaspy/c2ec-erd/info-html.txt
index 535c4a7..6b93fd2 100644
--- a/schemaspy/nonce2ecash-erd/info-html.txt
+++ b/schemaspy/c2ec-erd/info-html.txt
@@ -1,5 +1,5 @@
-date=2024-03-06 14:13:45+0100
-os=Linux 6.5.0-21-generic
+date=2024-03-24 12:44:39+0100
+os=Linux 6.5.0-26-generic
 schemaspy-version=6.2.4
 schemaspy-build=6.2.4.41 2023-07-21 11:15:12
 renderer=Graphviz dot 2.43.0 
diff --git a/schemaspy/nonce2ecash-erd/insertionOrder.txt 
b/schemaspy/c2ec-erd/insertionOrder.txt
similarity index 100%
rename from schemaspy/nonce2ecash-erd/insertionOrder.txt
rename to schemaspy/c2ec-erd/insertionOrder.txt
diff --git a/schemaspy/nonce2ecash-erd/main.js b/schemaspy/c2ec-erd/main.js
similarity index 100%
rename from schemaspy/nonce2ecash-erd/main.js
rename to schemaspy/c2ec-erd/main.js
diff --git a/schemaspy/nonce2ecash-erd/orphans.html 
b/schemaspy/c2ec-erd/orphans.html
similarity index 99%
rename from schemaspy/nonce2ecash-erd/orphans.html
rename to schemaspy/c2ec-erd/orphans.html
index 0b7f288..d027125 100644
--- a/schemaspy/nonce2ecash-erd/orphans.html
+++ b/schemaspy/c2ec-erd/orphans.html
@@ -3,7 +3,7 @@
     <head>
         <meta charset="utf-8">
         <meta http-equiv="X-UA-Compatible" content="IE=edge">
-        <title>postgres.public</title>
+        <title>postgres.c2ec</title>
         <!-- Tell the browser to be responsive to screen width -->
         <meta content="width=device-width, initial-scale=1, maximum-scale=1, 
user-scalable=no" name="viewport">
         <link rel="icon" type="image/png" sizes="16x16" href="favicon.png">
@@ -46,7 +46,7 @@
                 <nav class="navbar navbar-static-top">
                     <div class="container">
                         <div class="navbar-header">
-                            <a href="index.html" 
class="navbar-brand"><b>postgres</b></a><span class="navbar-brand" 
style="padding-left: 0">.public</span>
+                            <a href="index.html" 
class="navbar-brand"><b>postgres</b></a><span class="navbar-brand" 
style="padding-left: 0">.c2ec</span>
                             <button type="button" class="navbar-toggle 
collapsed" data-toggle="collapse" data-target="#navbar-collapse"><i class="fa 
fa-bars"></i></button>
                         </div>
 
diff --git a/schemaspy/c2ec-erd/postgres.c2ec.xml 
b/schemaspy/c2ec-erd/postgres.c2ec.xml
new file mode 100644
index 0000000..9dc240e
--- /dev/null
+++ b/schemaspy/c2ec-erd/postgres.c2ec.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?><database name="postgres" schema="c2ec" 
type="PostgreSQL - 15.2 (Debian 15.2-1.pgdg110+1)">
+   <tables>
+      <table name="terminal" remarks="Table containing information about 
terminals of providers" schema="c2ec" type="TABLE">
+         <column autoUpdated="true" defaultValue="null" digits="0" id="0" 
name="terminal_id" nullable="false" remarks="Uniquely identifies a terminal" 
size="19" type="int8" typeCode="-5">
+            <child column="terminal_id" 
foreignKey="withdrawal_terminal_id_fkey" implied="false" 
onDeleteCascade="false" schema="c2ec" table="withdrawal"/>
+         </column>
+         <column autoUpdated="false" defaultValue="null" digits="0" id="1" 
name="access_token" nullable="false" remarks="The access token of the terminal 
used for authentication against the c2ec API" size="2147483647" type="bytea" 
typeCode="-2"/>
+         <column autoUpdated="false" defaultValue="true" digits="0" id="2" 
name="active" nullable="false" remarks="Indicates if the terminal is active or 
deactivated" size="1" type="bool" typeCode="-7"/>
+         <column autoUpdated="false" defaultValue="null" digits="0" id="3" 
name="description" nullable="true" remarks="Description to help identify the 
terminal. This may include the location and an identifier of the terminal." 
size="2147483647" type="text" typeCode="12"/>
+         <column autoUpdated="false" defaultValue="null" digits="0" id="4" 
name="provider_id" nullable="false" remarks="Indicates the terminal provider to 
which the terminal belongs" size="19" type="int8" typeCode="-5">
+            <parent column="provider_terminal_id" 
foreignKey="terminal_provider_id_fkey" implied="false" onDeleteCascade="false" 
schema="c2ec" table="terminal_provider"/>
+         </column>
+         <primaryKey column="terminal_id" sequenceNumberInPK="1"/>
+         <index name="terminal_pkey" unique="true">
+            <column ascending="true" name="terminal_id"/>
+         </index>
+         <checkConstraint constraint="((length(access_token) = 32))" 
name="terminal_access_token_check"/>
+      </table>
+      <table name="terminal_provider" remarks="Table describing providers of 
c2ec terminal" schema="c2ec" type="TABLE">
+         <column autoUpdated="true" defaultValue="null" digits="0" id="0" 
name="provider_terminal_id" nullable="false" remarks="Uniquely identifies a 
provider" size="19" type="int8" typeCode="-5">
+            <child column="provider_id" foreignKey="terminal_provider_id_fkey" 
implied="false" onDeleteCascade="false" schema="c2ec" table="terminal"/>
+         </column>
+         <column autoUpdated="false" defaultValue="null" digits="0" id="1" 
name="name" nullable="false" remarks="Name of the provider, used for selection 
in transaction proofing" size="2147483647" type="text" typeCode="12"/>
+         <column autoUpdated="false" defaultValue="null" digits="0" id="2" 
name="backend_base_url" nullable="false" remarks="URL of the provider backend 
for transaction proofing" size="2147483647" type="text" typeCode="12"/>
+         <column autoUpdated="false" defaultValue="null" digits="0" id="3" 
name="backend_credentials" nullable="false" remarks="Credentials used to access 
the backend of the provider" size="2147483647" type="text" typeCode="12"/>
+         <primaryKey column="provider_terminal_id" sequenceNumberInPK="1"/>
+         <index name="terminal_provider_pkey" unique="true">
+            <column ascending="true" name="provider_terminal_id"/>
+         </index>
+         <index name="terminal_provider_name_key" unique="true">
+            <column ascending="true" name="name"/>
+         </index>
+      </table>
+      <table name="withdrawal" remarks="Table representing withdrawal 
processes initiated by terminals" schema="c2ec" type="TABLE">
+         <column autoUpdated="true" defaultValue="null" digits="0" id="0" 
name="withdrawal_id" nullable="false" remarks="The withdrawal id is used a 
technical id used by the wire gateway to sequentially select new transactions" 
size="19" type="int8" typeCode="-5"/>
+         <column autoUpdated="false" defaultValue="null" digits="0" id="1" 
name="wopid" nullable="false" remarks="The wopid (withdrawal operation id) is a 
nonce generated by the terminal requesting a withdrawal.&#10;&#9;The wopid 
identifies a specific withdrawal spawning all involved systems." 
size="2147483647" type="bytea" typeCode="-2"/>
+         <column autoUpdated="false" defaultValue="null" digits="0" id="2" 
name="reserve_pub_key" nullable="false" remarks="Reserve public key for the 
reserve which will hold the withdrawal amount after completion" 
size="2147483647" type="bytea" typeCode="-2"/>
+         <column autoUpdated="false" defaultValue="null" digits="0" id="3" 
name="registration_ts" nullable="false" remarks="Timestamp of when the 
withdrawal request was registered" size="19" type="int8" typeCode="-5"/>
+         <column autoUpdated="false" defaultValue="null" digits="0" id="4" 
name="amount" nullable="false" remarks="Effective amount to be put into the 
reserve after completion" size="2147483647" 
type="&quot;c2ec&quot;.&quot;taler_amount_currency&quot;" typeCode="2002"/>
+         <column autoUpdated="false" defaultValue="null" digits="0" id="5" 
name="fees" nullable="true" remarks="Fees associated with the withdrawal, 
including exchange and provider fees" size="2147483647" 
type="&quot;c2ec&quot;.&quot;taler_amount_currency&quot;" typeCode="2002"/>
+         <column autoUpdated="false" 
defaultValue="'pending'::c2ec.withdrawal_operation_status" digits="0" id="6" 
name="withdrawal_status" nullable="false" remarks="Status of the withdrawal 
process" size="2147483647" 
type="&quot;c2ec&quot;.&quot;withdrawal_operation_status&quot;" typeCode="12"/>
+         <column autoUpdated="false" defaultValue="null" digits="0" id="7" 
name="terminal_id" nullable="false" remarks="ID of the terminal that initiated 
the withdrawal" size="19" type="int8" typeCode="-5">
+            <parent column="terminal_id" 
foreignKey="withdrawal_terminal_id_fkey" implied="false" 
onDeleteCascade="false" schema="c2ec" table="terminal"/>
+         </column>
+         <column autoUpdated="false" defaultValue="null" digits="0" id="8" 
name="provider_transaction_id" nullable="true" remarks="Transaction identifier 
supplied by the provider for backend request" size="2147483647" type="text" 
typeCode="12"/>
+         <column autoUpdated="false" defaultValue="null" digits="0" id="9" 
name="last_retry_ts" nullable="true" remarks="Timestamp of the last retry 
attempt" size="19" type="int8" typeCode="-5"/>
+         <column autoUpdated="false" defaultValue="0" digits="0" id="10" 
name="retry_counter" nullable="false" remarks="Number of retry attempts" 
size="10" type="int4" typeCode="4"/>
+         <column autoUpdated="false" defaultValue="null" digits="0" id="11" 
name="completion_proof" nullable="true" remarks="Proof of transaction upon 
final completion delivered by the providers system" size="2147483647" 
type="bytea" typeCode="-2"/>
+         <primaryKey column="withdrawal_id" sequenceNumberInPK="1"/>
+         <index name="withdrawal_pkey" unique="true">
+            <column ascending="true" name="withdrawal_id"/>
+         </index>
+         <checkConstraint constraint="((length(reserve_pub_key) = 32))" 
name="withdrawal_reserve_pub_key_check"/>
+         <checkConstraint constraint="((length(wopid) = 32))" 
name="withdrawal_wopid_check"/>
+      </table>
+   </tables>
+</database>
diff --git a/schemaspy/nonce2ecash-erd/relationships.html 
b/schemaspy/c2ec-erd/relationships.html
similarity index 96%
rename from schemaspy/nonce2ecash-erd/relationships.html
rename to schemaspy/c2ec-erd/relationships.html
index 052c40e..94bd54d 100644
--- a/schemaspy/nonce2ecash-erd/relationships.html
+++ b/schemaspy/c2ec-erd/relationships.html
@@ -3,7 +3,7 @@
     <head>
         <meta charset="utf-8">
         <meta http-equiv="X-UA-Compatible" content="IE=edge">
-        <title>postgres.public</title>
+        <title>postgres.c2ec</title>
         <!-- Tell the browser to be responsive to screen width -->
         <meta content="width=device-width, initial-scale=1, maximum-scale=1, 
user-scalable=no" name="viewport">
         <link rel="icon" type="image/png" sizes="16x16" href="favicon.png">
@@ -46,7 +46,7 @@
                 <nav class="navbar navbar-static-top">
                     <div class="container">
                         <div class="navbar-header">
-                            <a href="index.html" 
class="navbar-brand"><b>postgres</b></a><span class="navbar-brand" 
style="padding-left: 0">.public</span>
+                            <a href="index.html" 
class="navbar-brand"><b>postgres</b></a><span class="navbar-brand" 
style="padding-left: 0">.c2ec</span>
                             <button type="button" class="navbar-toggle 
collapsed" data-toggle="collapse" data-target="#navbar-collapse"><i class="fa 
fa-bars"></i></button>
                         </div>
 
@@ -94,16 +94,16 @@
                                     <div class="chart tab-pane active" 
id="compactDegreeImg-chart" style="position: relative; overflow-x:auto;">
                                         <map id="compactRelationshipsDiagram" 
name="compactRelationshipsDiagram">
 <area shape="rect" id="node1" href="tables/terminal.html" target="_top" 
title="terminal" alt="" coords="293,35,461,181">
-<area shape="rect" id="node2" href="tables/terminal_provider.html" 
target="_top" title="terminal_provider" alt="" coords="5,64,249,181">
-<area shape="rect" id="node3" href="tables/withdrawal.html" target="_top" 
title="withdrawal" alt="" coords="505,5,719,152">
+<area shape="rect" id="node2" href="tables/terminal_provider.html" 
target="_top" title="terminal_provider" alt="" coords="5,64,249,211">
+<area shape="rect" id="node3" href="tables/withdrawal.html" target="_top" 
title="withdrawal" alt="" coords="505,5,767,152">
 </map>
                                         <a name='diagram'><img 
id="compactDegreeImg" src="diagrams/summary/relationships.real.compact.png" 
usemap="#compactRelationshipsDiagram" class="diagram" border="0" 
align="left"></a>
                                     </div>
                                     <div class="chart tab-pane " 
id="largeDegreeImg-chart" style="position: relative; overflow-x:auto;">
                                         <map id="largeRelationshipsDiagram" 
name="largeRelationshipsDiagram">
-<area shape="rect" id="node1" href="tables/terminal.html" target="_top" 
title="terminal" alt="" coords="293,152,461,363">
-<area shape="rect" id="node2" href="tables/terminal_provider.html" 
target="_top" title="terminal_provider" alt="" coords="5,269,249,421">
-<area shape="rect" id="node3" href="tables/withdrawal.html" target="_top" 
title="withdrawal" alt="" coords="505,5,719,245">
+<area shape="rect" id="node1" href="tables/terminal.html" target="_top" 
title="terminal" alt="" coords="293,211,461,421">
+<area shape="rect" id="node2" href="tables/terminal_provider.html" 
target="_top" title="terminal_provider" alt="" coords="5,328,249,509">
+<area shape="rect" id="node3" href="tables/withdrawal.html" target="_top" 
title="withdrawal" alt="" coords="505,5,767,421">
 </map>
                                         <a name='diagram'><img 
id="largeDegreeImg" src="diagrams/summary/relationships.real.large.png" 
usemap="#largeRelationshipsDiagram" class="diagram" border="0" align="left"></a>
                                     </div>
diff --git a/schemaspy/nonce2ecash-erd/relationships.js 
b/schemaspy/c2ec-erd/relationships.js
similarity index 100%
rename from schemaspy/nonce2ecash-erd/relationships.js
rename to schemaspy/c2ec-erd/relationships.js
diff --git a/schemaspy/nonce2ecash-erd/routines.html 
b/schemaspy/c2ec-erd/routines.html
similarity index 99%
rename from schemaspy/nonce2ecash-erd/routines.html
rename to schemaspy/c2ec-erd/routines.html
index 9971b1f..fde41fd 100644
--- a/schemaspy/nonce2ecash-erd/routines.html
+++ b/schemaspy/c2ec-erd/routines.html
@@ -3,7 +3,7 @@
     <head>
         <meta charset="utf-8">
         <meta http-equiv="X-UA-Compatible" content="IE=edge">
-        <title>postgres.public</title>
+        <title>postgres.c2ec</title>
         <!-- Tell the browser to be responsive to screen width -->
         <meta content="width=device-width, initial-scale=1, maximum-scale=1, 
user-scalable=no" name="viewport">
         <link rel="icon" type="image/png" sizes="16x16" href="favicon.png">
@@ -46,7 +46,7 @@
                 <nav class="navbar navbar-static-top">
                     <div class="container">
                         <div class="navbar-header">
-                            <a href="index.html" 
class="navbar-brand"><b>postgres</b></a><span class="navbar-brand" 
style="padding-left: 0">.public</span>
+                            <a href="index.html" 
class="navbar-brand"><b>postgres</b></a><span class="navbar-brand" 
style="padding-left: 0">.c2ec</span>
                             <button type="button" class="navbar-toggle 
collapsed" data-toggle="collapse" data-target="#navbar-collapse"><i class="fa 
fa-bars"></i></button>
                         </div>
 
diff --git a/schemaspy/nonce2ecash-erd/routines.js 
b/schemaspy/c2ec-erd/routines.js
similarity index 100%
rename from schemaspy/nonce2ecash-erd/routines.js
rename to schemaspy/c2ec-erd/routines.js
diff --git a/schemaspy/nonce2ecash-erd/routines/routine.js 
b/schemaspy/c2ec-erd/routines/routine.js
similarity index 100%
rename from schemaspy/nonce2ecash-erd/routines/routine.js
rename to schemaspy/c2ec-erd/routines/routine.js
diff --git a/schemaspy/nonce2ecash-erd/schemaSpy.css 
b/schemaspy/c2ec-erd/schemaSpy.css
similarity index 100%
rename from schemaspy/nonce2ecash-erd/schemaSpy.css
rename to schemaspy/c2ec-erd/schemaSpy.css
diff --git a/schemaspy/nonce2ecash-erd/schemaSpy.js 
b/schemaspy/c2ec-erd/schemaSpy.js
similarity index 100%
rename from schemaspy/nonce2ecash-erd/schemaSpy.js
rename to schemaspy/c2ec-erd/schemaSpy.js
diff --git a/schemaspy/nonce2ecash-erd/tables/table.js 
b/schemaspy/c2ec-erd/tables/table.js
similarity index 100%
rename from schemaspy/nonce2ecash-erd/tables/table.js
rename to schemaspy/c2ec-erd/tables/table.js
diff --git a/schemaspy/nonce2ecash-erd/tables/terminal.html 
b/schemaspy/c2ec-erd/tables/terminal.html
similarity index 89%
rename from schemaspy/nonce2ecash-erd/tables/terminal.html
rename to schemaspy/c2ec-erd/tables/terminal.html
index 763dc37..2f91934 100644
--- a/schemaspy/nonce2ecash-erd/tables/terminal.html
+++ b/schemaspy/c2ec-erd/tables/terminal.html
@@ -3,7 +3,7 @@
     <head>
         <meta charset="utf-8">
         <meta http-equiv="X-UA-Compatible" content="IE=edge">
-        <title>terminal - postgres.public</title>
+        <title>terminal - postgres.c2ec</title>
         <!-- Tell the browser to be responsive to screen width -->
         <meta content="width=device-width, initial-scale=1, maximum-scale=1, 
user-scalable=no" name="viewport">
         <link rel="icon" type="image/png" sizes="16x16" href="../favicon.png">
@@ -46,7 +46,7 @@
                 <nav class="navbar navbar-static-top">
                     <div class="container">
                         <div class="navbar-header">
-                            <a href="../index.html" 
class="navbar-brand"><b>postgres</b></a><span class="navbar-brand" 
style="padding-left: 0">.public</span>
+                            <a href="../index.html" 
class="navbar-brand"><b>postgres</b></a><span class="navbar-brand" 
style="padding-left: 0">.c2ec</span>
                             <button type="button" class="navbar-toggle 
collapsed" data-toggle="collapse" data-target="#navbar-collapse"><i class="fa 
fa-bars"></i></button>
                         </div>
 
@@ -74,6 +74,19 @@
                 <!-- Content Header (Page header) -->
                 <section class="content-header">
                     <h1>terminal</h1><p><span id="recordNumber">-1</span> 
rows</p><br />
+                    <div class="box box-primary">
+                        <div class="box-header with-border">
+                            <i class="fa fa-file-text-o"></i>
+                            <h3 id="Description" 
class="box-title">Description</h3>
+                            <div class="box-tools pull-right">
+                                <button type="button" class="btn btn-box-tool" 
data-widget="collapse"><i class="fa fa-minus"></i></button>
+                                <button type="button" class="btn btn-box-tool" 
data-widget="remove"><i class="fa fa-times"></i></button>
+                            </div>
+                        </div><!-- /.box-header -->
+                        <div class="box-body clearfix">
+                            <p>Table containing information about terminals of 
providers</p>
+                        </div><!-- /.box-body -->
+                    </div>
                 </section>
                 <!-- Main content -->
                 <section class="content">
@@ -109,7 +122,7 @@
                                 </thead>
                                 <tbody>
                                 <tr>
-                                    <td class='primaryKey' title='Primary 
Key'><i class='icon ion-key iconkey' style='padding-left: 5px;'></i><span 
id="id">id</span></td>
+                                    <td class='primaryKey' title='Primary 
Key'><i class='icon ion-key iconkey' style='padding-left: 5px;'></i><span 
id="terminal_id">terminal_id</span></td>
                                     <td>int8</td>
                                     <td>19</td>
                                     <td title=''></td>
@@ -118,7 +131,7 @@
                                     <td>
                                         <table border='0' cellspacing='0' 
cellpadding='0'>
                                             <tr>
-                                                <td 
title="withdrawal.terminal_id references terminal.id via 
withdrawal_terminal_id_fkey"><a href='withdrawal.html'>withdrawal</a><span 
class='relatedKey'>.terminal_id</span></td>
+                                                <td 
title="withdrawal.terminal_id references terminal.terminal_id via 
withdrawal_terminal_id_fkey"><a href='withdrawal.html'>withdrawal</a><span 
class='relatedKey'>.terminal_id</span></td>
                                                 <td class="constraint 
detail">withdrawal_terminal_id_fkey</td>
                                                 <td class="constraint 
detail"><span title='Restrict delete:&#10;Parent cannot be deleted if children 
exist'>R</span></td>
                                             </tr>
@@ -128,13 +141,13 @@
                                         <table border='0' cellspacing='0' 
cellpadding='0'>
                                         </table>
                                     </td>
-                                    <td></td>
+                                    <td><p>Uniquely identifies a 
terminal</p></td>
                                 </tr>
                                 <tr>
                                     <td><span 
id="access_token">access_token</span></td>
                                     <td>bytea</td>
                                     <td>2147483647</td>
-                                    <td title='nullable'>√</td>
+                                    <td title=''></td>
                                     <td title=''></td>
                                     <td>null</td>
                                     <td>
@@ -145,13 +158,13 @@
                                         <table border='0' cellspacing='0' 
cellpadding='0'>
                                         </table>
                                     </td>
-                                    <td></td>
+                                    <td><p>The access token of the terminal 
used for authentication against the c2ec API</p></td>
                                 </tr>
                                 <tr>
                                     <td><span id="active">active</span></td>
                                     <td>bool</td>
                                     <td>1</td>
-                                    <td title='nullable'>√</td>
+                                    <td title=''></td>
                                     <td title=''></td>
                                     <td>true</td>
                                     <td>
@@ -162,12 +175,12 @@
                                         <table border='0' cellspacing='0' 
cellpadding='0'>
                                         </table>
                                     </td>
-                                    <td></td>
+                                    <td><p>Indicates if the terminal is active 
or deactivated</p></td>
                                 </tr>
                                 <tr>
-                                    <td><span id="remarks">remarks</span></td>
-                                    <td>varchar</td>
-                                    <td>255</td>
+                                    <td><span 
id="description">description</span></td>
+                                    <td>text</td>
+                                    <td>2147483647</td>
                                     <td title='nullable'>√</td>
                                     <td title=''></td>
                                     <td>null</td>
@@ -179,7 +192,7 @@
                                         <table border='0' cellspacing='0' 
cellpadding='0'>
                                         </table>
                                     </td>
-                                    <td></td>
+                                    <td><p>Description to help identify the 
terminal. This may include the location and an identifier of the 
terminal.</p></td>
                                 </tr>
                                 <tr>
                                     <td class='foreignKey' title='Foreign 
Key'><i class='icon ion-key iconkey' style='padding-left: 5px;'></i><span 
id="provider_id">provider_id</span></td>
@@ -195,13 +208,13 @@
                                     <td>
                                         <table border='0' cellspacing='0' 
cellpadding='0'>
                                             <tr>
-                                                <td 
title="terminal.provider_id references terminal_provider.id via 
terminal_provider_id_fkey"><a 
href='terminal_provider.html'>terminal_provider</a><span 
class='relatedKey'>.id</span></td>
+                                                <td 
title="terminal.provider_id references terminal_provider.provider_terminal_id 
via terminal_provider_id_fkey"><a 
href='terminal_provider.html'>terminal_provider</a><span 
class='relatedKey'>.provider_terminal_id</span></td>
                                                 <td class="constraint 
detail">terminal_provider_id_fkey</td>
                                                 <td class="constraint 
detail"><span title='Restrict delete:&#10;Parent cannot be deleted if children 
exist'>R</span></td>
                                             </tr>
                                         </table>
                                     </td>
-                                    <td></td>
+                                    <td><p>Indicates the terminal provider to 
which the terminal belongs</p></td>
                                 </tr>
                                 </tbody>
                             </table>
@@ -237,7 +250,7 @@
                                     <td class='primaryKey' title='Primary 
Key'><i class='icon ion-key iconkey'></i> terminal_pkey</td>
                                     <td>Primary key</td>
                                     <td><span title='Ascending'>Asc</span></td>
-                                    <td>id</td>
+                                    <td>terminal_id</td>
                                 </tr>
                                 </tbody>
                             </table>
@@ -294,8 +307,8 @@
                                     <div class="chart tab-pane active" 
id="oneDegreeImg-chart" style="position: relative; overflow-x:auto;">
                                         <map 
id="oneDegreeRelationshipsDiagram" name="oneDegreeRelationshipsDiagram">
 <area shape="rect" id="node1" href="terminal.html" target="_top" 
title="terminal" alt="" coords="293,32,620,248">
-<area shape="rect" id="node2" href="terminal_provider.html" target="_top" 
title="terminal_provider" alt="" coords="5,152,249,269">
-<area shape="rect" id="node3" href="withdrawal.html" target="_top" 
title="withdrawal" alt="" coords="664,5,877,152">
+<area shape="rect" id="node2" href="terminal_provider.html" target="_top" 
title="terminal_provider" alt="" coords="5,152,249,299">
+<area shape="rect" id="node3" href="withdrawal.html" target="_top" 
title="withdrawal" alt="" coords="664,5,925,152">
 </map>
                                         <a name='diagram'><img 
id="oneDegreeImg" src="../diagrams/tables/terminal.1degree.png" 
usemap="#oneDegreeRelationshipsDiagram" class="diagram" border="0" 
align="left"></a>
                                     </div>
diff --git a/schemaspy/nonce2ecash-erd/tables/terminal_provider.html 
b/schemaspy/c2ec-erd/tables/terminal_provider.html
similarity index 81%
rename from schemaspy/nonce2ecash-erd/tables/terminal_provider.html
rename to schemaspy/c2ec-erd/tables/terminal_provider.html
index 56c3495..b5450f1 100644
--- a/schemaspy/nonce2ecash-erd/tables/terminal_provider.html
+++ b/schemaspy/c2ec-erd/tables/terminal_provider.html
@@ -3,7 +3,7 @@
     <head>
         <meta charset="utf-8">
         <meta http-equiv="X-UA-Compatible" content="IE=edge">
-        <title>terminal_provider - postgres.public</title>
+        <title>terminal_provider - postgres.c2ec</title>
         <!-- Tell the browser to be responsive to screen width -->
         <meta content="width=device-width, initial-scale=1, maximum-scale=1, 
user-scalable=no" name="viewport">
         <link rel="icon" type="image/png" sizes="16x16" href="../favicon.png">
@@ -46,7 +46,7 @@
                 <nav class="navbar navbar-static-top">
                     <div class="container">
                         <div class="navbar-header">
-                            <a href="../index.html" 
class="navbar-brand"><b>postgres</b></a><span class="navbar-brand" 
style="padding-left: 0">.public</span>
+                            <a href="../index.html" 
class="navbar-brand"><b>postgres</b></a><span class="navbar-brand" 
style="padding-left: 0">.c2ec</span>
                             <button type="button" class="navbar-toggle 
collapsed" data-toggle="collapse" data-target="#navbar-collapse"><i class="fa 
fa-bars"></i></button>
                         </div>
 
@@ -74,6 +74,19 @@
                 <!-- Content Header (Page header) -->
                 <section class="content-header">
                     <h1>terminal_provider</h1><p><span 
id="recordNumber">-1</span> rows</p><br />
+                    <div class="box box-primary">
+                        <div class="box-header with-border">
+                            <i class="fa fa-file-text-o"></i>
+                            <h3 id="Description" 
class="box-title">Description</h3>
+                            <div class="box-tools pull-right">
+                                <button type="button" class="btn btn-box-tool" 
data-widget="collapse"><i class="fa fa-minus"></i></button>
+                                <button type="button" class="btn btn-box-tool" 
data-widget="remove"><i class="fa fa-times"></i></button>
+                            </div>
+                        </div><!-- /.box-header -->
+                        <div class="box-body clearfix">
+                            <p>Table describing providers of c2ec terminal</p>
+                        </div><!-- /.box-body -->
+                    </div>
                 </section>
                 <!-- Main content -->
                 <section class="content">
@@ -109,7 +122,7 @@
                                 </thead>
                                 <tbody>
                                 <tr>
-                                    <td class='primaryKey' title='Primary 
Key'><i class='icon ion-key iconkey' style='padding-left: 5px;'></i><span 
id="id">id</span></td>
+                                    <td class='primaryKey' title='Primary 
Key'><i class='icon ion-key iconkey' style='padding-left: 5px;'></i><span 
id="provider_terminal_id">provider_terminal_id</span></td>
                                     <td>int8</td>
                                     <td>19</td>
                                     <td title=''></td>
@@ -118,7 +131,7 @@
                                     <td>
                                         <table border='0' cellspacing='0' 
cellpadding='0'>
                                             <tr>
-                                                <td 
title="terminal.provider_id references terminal_provider.id via 
terminal_provider_id_fkey"><a href='terminal.html'>terminal</a><span 
class='relatedKey'>.provider_id</span></td>
+                                                <td 
title="terminal.provider_id references terminal_provider.provider_terminal_id 
via terminal_provider_id_fkey"><a href='terminal.html'>terminal</a><span 
class='relatedKey'>.provider_id</span></td>
                                                 <td class="constraint 
detail">terminal_provider_id_fkey</td>
                                                 <td class="constraint 
detail"><span title='Restrict delete:&#10;Parent cannot be deleted if children 
exist'>R</span></td>
                                             </tr>
@@ -128,13 +141,30 @@
                                         <table border='0' cellspacing='0' 
cellpadding='0'>
                                         </table>
                                     </td>
-                                    <td></td>
+                                    <td><p>Uniquely identifies a 
provider</p></td>
+                                </tr>
+                                <tr>
+                                    <td class='indexedColumn' 
title='Indexed'><i class='fa fa-sitemap fa-rotate-120' style='padding-right: 
5px;'></i><span id="name">name</span></td>
+                                    <td>text</td>
+                                    <td>2147483647</td>
+                                    <td title=''></td>
+                                    <td title=''></td>
+                                    <td>null</td>
+                                    <td>
+                                        <table border='0' cellspacing='0' 
cellpadding='0'>
+                                        </table>
+                                    </td>
+                                    <td>
+                                        <table border='0' cellspacing='0' 
cellpadding='0'>
+                                        </table>
+                                    </td>
+                                    <td><p>Name of the provider, used for 
selection in transaction proofing</p></td>
                                 </tr>
                                 <tr>
-                                    <td><span id="name">name</span></td>
-                                    <td>varchar</td>
-                                    <td>50</td>
-                                    <td title='nullable'>√</td>
+                                    <td><span 
id="backend_base_url">backend_base_url</span></td>
+                                    <td>text</td>
+                                    <td>2147483647</td>
+                                    <td title=''></td>
                                     <td title=''></td>
                                     <td>null</td>
                                     <td>
@@ -145,13 +175,13 @@
                                         <table border='0' cellspacing='0' 
cellpadding='0'>
                                         </table>
                                     </td>
-                                    <td></td>
+                                    <td><p>URL of the provider backend for 
transaction proofing</p></td>
                                 </tr>
                                 <tr>
-                                    <td><span id="remarks">remarks</span></td>
-                                    <td>varchar</td>
-                                    <td>255</td>
-                                    <td title='nullable'>√</td>
+                                    <td><span 
id="backend_credentials">backend_credentials</span></td>
+                                    <td>text</td>
+                                    <td>2147483647</td>
+                                    <td title=''></td>
                                     <td title=''></td>
                                     <td>null</td>
                                     <td>
@@ -162,7 +192,7 @@
                                         <table border='0' cellspacing='0' 
cellpadding='0'>
                                         </table>
                                     </td>
-                                    <td></td>
+                                    <td><p>Credentials used to access the 
backend of the provider</p></td>
                                 </tr>
                                 </tbody>
                             </table>
@@ -198,7 +228,13 @@
                                     <td class='primaryKey' title='Primary 
Key'><i class='icon ion-key iconkey'></i> terminal_provider_pkey</td>
                                     <td>Primary key</td>
                                     <td><span title='Ascending'>Asc</span></td>
-                                    <td>id</td>
+                                    <td>provider_terminal_id</td>
+                                </tr>
+                                <tr>
+                                    <td class='uniqueKey' title='Unique 
Key'><i class='icon ion-key iconkey'></i> terminal_provider_name_key</td>
+                                    <td>Must be unique</td>
+                                    <td><span title='Ascending'>Asc</span></td>
+                                    <td>name</td>
                                 </tr>
                                 </tbody>
                             </table>
@@ -223,16 +259,16 @@
                                 <div class="tab-content no-padding">
                                     <div class="chart tab-pane active" 
id="oneDegreeImg-chart" style="position: relative; overflow-x:auto;">
                                         <map 
id="oneDegreeRelationshipsDiagram" name="oneDegreeRelationshipsDiagram">
-<area shape="rect" id="node1" href="terminal.html" target="_top" 
title="terminal" alt="" coords="368,5,536,152">
-<area shape="rect" id="node2" href="terminal_provider.html" target="_top" 
title="terminal_provider" alt="" coords="5,32,324,189">
+<area shape="rect" id="node1" href="terminal.html" target="_top" 
title="terminal" alt="" coords="431,5,599,152">
+<area shape="rect" id="node2" href="terminal_provider.html" target="_top" 
title="terminal_provider" alt="" coords="5,32,387,219">
 </map>
                                         <a name='diagram'><img 
id="oneDegreeImg" src="../diagrams/tables/terminal_provider.1degree.png" 
usemap="#oneDegreeRelationshipsDiagram" class="diagram" border="0" 
align="left"></a>
                                     </div>
                                     <div class="chart tab-pane " 
id="twodegreesDegreeImg-chart" style="position: relative; overflow-x:auto;">
                                         <map 
id="twoDegreesRelationshipsDiagram" name="twoDegreesRelationshipsDiagram">
-<area shape="rect" id="node1" href="terminal.html" target="_top" 
title="terminal" alt="" coords="368,5,536,152">
-<area shape="rect" id="node2" href="terminal_provider.html" target="_top" 
title="terminal_provider" alt="" coords="5,32,324,189">
-<area shape="rect" id="node3" href="withdrawal.html" target="_top" 
title="withdrawal" alt="" coords="580,8,764,96">
+<area shape="rect" id="node1" href="terminal.html" target="_top" 
title="terminal" alt="" coords="431,5,599,152">
+<area shape="rect" id="node2" href="terminal_provider.html" target="_top" 
title="terminal_provider" alt="" coords="5,32,387,219">
+<area shape="rect" id="node3" href="withdrawal.html" target="_top" 
title="withdrawal" alt="" coords="643,8,827,96">
 </map>
                                         <a name='diagram'><img 
id="twodegreesDegreeImg" 
src="../diagrams/tables/terminal_provider.2degrees.png" 
usemap="#twoDegreesRelationshipsDiagram" class="diagram" border="0" 
align="left"></a>
                                     </div>
diff --git a/schemaspy/nonce2ecash-erd/tables/withdrawal.html 
b/schemaspy/c2ec-erd/tables/withdrawal.html
similarity index 72%
rename from schemaspy/nonce2ecash-erd/tables/withdrawal.html
rename to schemaspy/c2ec-erd/tables/withdrawal.html
index d69c370..8a244d9 100644
--- a/schemaspy/nonce2ecash-erd/tables/withdrawal.html
+++ b/schemaspy/c2ec-erd/tables/withdrawal.html
@@ -3,7 +3,7 @@
     <head>
         <meta charset="utf-8">
         <meta http-equiv="X-UA-Compatible" content="IE=edge">
-        <title>withdrawal - postgres.public</title>
+        <title>withdrawal - postgres.c2ec</title>
         <!-- Tell the browser to be responsive to screen width -->
         <meta content="width=device-width, initial-scale=1, maximum-scale=1, 
user-scalable=no" name="viewport">
         <link rel="icon" type="image/png" sizes="16x16" href="../favicon.png">
@@ -46,7 +46,7 @@
                 <nav class="navbar navbar-static-top">
                     <div class="container">
                         <div class="navbar-header">
-                            <a href="../index.html" 
class="navbar-brand"><b>postgres</b></a><span class="navbar-brand" 
style="padding-left: 0">.public</span>
+                            <a href="../index.html" 
class="navbar-brand"><b>postgres</b></a><span class="navbar-brand" 
style="padding-left: 0">.c2ec</span>
                             <button type="button" class="navbar-toggle 
collapsed" data-toggle="collapse" data-target="#navbar-collapse"><i class="fa 
fa-bars"></i></button>
                         </div>
 
@@ -74,6 +74,19 @@
                 <!-- Content Header (Page header) -->
                 <section class="content-header">
                     <h1>withdrawal</h1><p><span id="recordNumber">-1</span> 
rows</p><br />
+                    <div class="box box-primary">
+                        <div class="box-header with-border">
+                            <i class="fa fa-file-text-o"></i>
+                            <h3 id="Description" 
class="box-title">Description</h3>
+                            <div class="box-tools pull-right">
+                                <button type="button" class="btn btn-box-tool" 
data-widget="collapse"><i class="fa fa-minus"></i></button>
+                                <button type="button" class="btn btn-box-tool" 
data-widget="remove"><i class="fa fa-times"></i></button>
+                            </div>
+                        </div><!-- /.box-header -->
+                        <div class="box-body clearfix">
+                            <p>Table representing withdrawal processes 
initiated by terminals</p>
+                        </div><!-- /.box-body -->
+                    </div>
                 </section>
                 <!-- Main content -->
                 <section class="content">
@@ -110,6 +123,23 @@
                                 <tbody>
                                 <tr>
                                     <td class='primaryKey' title='Primary 
Key'><i class='icon ion-key iconkey' style='padding-left: 5px;'></i><span 
id="withdrawal_id">withdrawal_id</span></td>
+                                    <td>int8</td>
+                                    <td>19</td>
+                                    <td title=''></td>
+                                    <td title='Automatically updated by the 
database'>√</td>
+                                    <td>null</td>
+                                    <td>
+                                        <table border='0' cellspacing='0' 
cellpadding='0'>
+                                        </table>
+                                    </td>
+                                    <td>
+                                        <table border='0' cellspacing='0' 
cellpadding='0'>
+                                        </table>
+                                    </td>
+                                    <td><p>The withdrawal id is used a 
technical id used by the wire gateway to sequentially select new 
transactions</p></td>
+                                </tr>
+                                <tr>
+                                    <td><span id="wopid">wopid</span></td>
                                     <td>bytea</td>
                                     <td>2147483647</td>
                                     <td title=''></td>
@@ -123,13 +153,13 @@
                                         <table border='0' cellspacing='0' 
cellpadding='0'>
                                         </table>
                                     </td>
-                                    <td></td>
+                                    <td><p>The wopid (withdrawal operation id) 
is a nonce generated by the terminal requesting a withdrawal. The wopid 
identifies a specific withdrawal spawning all involved systems.</p></td>
                                 </tr>
                                 <tr>
                                     <td><span 
id="reserve_pub_key">reserve_pub_key</span></td>
                                     <td>bytea</td>
                                     <td>2147483647</td>
-                                    <td title='nullable'>√</td>
+                                    <td title=''></td>
                                     <td title=''></td>
                                     <td>null</td>
                                     <td>
@@ -140,13 +170,13 @@
                                         <table border='0' cellspacing='0' 
cellpadding='0'>
                                         </table>
                                     </td>
-                                    <td></td>
+                                    <td><p>Reserve public key for the reserve 
which will hold the withdrawal amount after completion</p></td>
                                 </tr>
                                 <tr>
                                     <td><span 
id="registration_ts">registration_ts</span></td>
                                     <td>int8</td>
                                     <td>19</td>
-                                    <td title='nullable'>√</td>
+                                    <td title=''></td>
                                     <td title=''></td>
                                     <td>null</td>
                                     <td>
@@ -157,12 +187,29 @@
                                         <table border='0' cellspacing='0' 
cellpadding='0'>
                                         </table>
                                     </td>
-                                    <td></td>
+                                    <td><p>Timestamp of when the withdrawal 
request was registered</p></td>
                                 </tr>
                                 <tr>
                                     <td><span id="amount">amount</span></td>
-                                    <td>varchar</td>
-                                    <td>50</td>
+                                    
<td>&quot;c2ec&quot;.&quot;taler_amount_currency&quot;</td>
+                                    <td>2147483647</td>
+                                    <td title=''></td>
+                                    <td title=''></td>
+                                    <td>null</td>
+                                    <td>
+                                        <table border='0' cellspacing='0' 
cellpadding='0'>
+                                        </table>
+                                    </td>
+                                    <td>
+                                        <table border='0' cellspacing='0' 
cellpadding='0'>
+                                        </table>
+                                    </td>
+                                    <td><p>Effective amount to be put into the 
reserve after completion</p></td>
+                                </tr>
+                                <tr>
+                                    <td><span id="fees">fees</span></td>
+                                    
<td>&quot;c2ec&quot;.&quot;taler_amount_currency&quot;</td>
+                                    <td>2147483647</td>
                                     <td title='nullable'>√</td>
                                     <td title=''></td>
                                     <td>null</td>
@@ -174,15 +221,15 @@
                                         <table border='0' cellspacing='0' 
cellpadding='0'>
                                         </table>
                                     </td>
-                                    <td></td>
+                                    <td><p>Fees associated with the 
withdrawal, including exchange and provider fees</p></td>
                                 </tr>
                                 <tr>
                                     <td><span 
id="withdrawal_status">withdrawal_status</span></td>
-                                    <td>withdrawal_operation_status</td>
+                                    
<td>&quot;c2ec&quot;.&quot;withdrawal_operation_status&quot;</td>
                                     <td>2147483647</td>
                                     <td title=''></td>
                                     <td title=''></td>
-                                    <td>null</td>
+                                    
<td>&#39;pending&#39;::c2ec.withdrawal_operation_status</td>
                                     <td>
                                         <table border='0' cellspacing='0' 
cellpadding='0'>
                                         </table>
@@ -191,7 +238,7 @@
                                         <table border='0' cellspacing='0' 
cellpadding='0'>
                                         </table>
                                     </td>
-                                    <td></td>
+                                    <td><p>Status of the withdrawal 
process</p></td>
                                 </tr>
                                 <tr>
                                     <td class='foreignKey' title='Foreign 
Key'><i class='icon ion-key iconkey' style='padding-left: 5px;'></i><span 
id="terminal_id">terminal_id</span></td>
@@ -207,13 +254,81 @@
                                     <td>
                                         <table border='0' cellspacing='0' 
cellpadding='0'>
                                             <tr>
-                                                <td 
title="withdrawal.terminal_id references terminal.id via 
withdrawal_terminal_id_fkey"><a href='terminal.html'>terminal</a><span 
class='relatedKey'>.id</span></td>
+                                                <td 
title="withdrawal.terminal_id references terminal.terminal_id via 
withdrawal_terminal_id_fkey"><a href='terminal.html'>terminal</a><span 
class='relatedKey'>.terminal_id</span></td>
                                                 <td class="constraint 
detail">withdrawal_terminal_id_fkey</td>
                                                 <td class="constraint 
detail"><span title='Restrict delete:&#10;Parent cannot be deleted if children 
exist'>R</span></td>
                                             </tr>
                                         </table>
                                     </td>
-                                    <td></td>
+                                    <td><p>ID of the terminal that initiated 
the withdrawal</p></td>
+                                </tr>
+                                <tr>
+                                    <td><span 
id="provider_transaction_id">provider_transaction_id</span></td>
+                                    <td>text</td>
+                                    <td>2147483647</td>
+                                    <td title='nullable'>√</td>
+                                    <td title=''></td>
+                                    <td>null</td>
+                                    <td>
+                                        <table border='0' cellspacing='0' 
cellpadding='0'>
+                                        </table>
+                                    </td>
+                                    <td>
+                                        <table border='0' cellspacing='0' 
cellpadding='0'>
+                                        </table>
+                                    </td>
+                                    <td><p>Transaction identifier supplied by 
the provider for backend request</p></td>
+                                </tr>
+                                <tr>
+                                    <td><span 
id="last_retry_ts">last_retry_ts</span></td>
+                                    <td>int8</td>
+                                    <td>19</td>
+                                    <td title='nullable'>√</td>
+                                    <td title=''></td>
+                                    <td>null</td>
+                                    <td>
+                                        <table border='0' cellspacing='0' 
cellpadding='0'>
+                                        </table>
+                                    </td>
+                                    <td>
+                                        <table border='0' cellspacing='0' 
cellpadding='0'>
+                                        </table>
+                                    </td>
+                                    <td><p>Timestamp of the last retry 
attempt</p></td>
+                                </tr>
+                                <tr>
+                                    <td><span 
id="retry_counter">retry_counter</span></td>
+                                    <td>int4</td>
+                                    <td>10</td>
+                                    <td title=''></td>
+                                    <td title=''></td>
+                                    <td>0</td>
+                                    <td>
+                                        <table border='0' cellspacing='0' 
cellpadding='0'>
+                                        </table>
+                                    </td>
+                                    <td>
+                                        <table border='0' cellspacing='0' 
cellpadding='0'>
+                                        </table>
+                                    </td>
+                                    <td><p>Number of retry attempts</p></td>
+                                </tr>
+                                <tr>
+                                    <td><span 
id="completion_proof">completion_proof</span></td>
+                                    <td>bytea</td>
+                                    <td>2147483647</td>
+                                    <td title='nullable'>√</td>
+                                    <td title=''></td>
+                                    <td>null</td>
+                                    <td>
+                                        <table border='0' cellspacing='0' 
cellpadding='0'>
+                                        </table>
+                                    </td>
+                                    <td>
+                                        <table border='0' cellspacing='0' 
cellpadding='0'>
+                                        </table>
+                                    </td>
+                                    <td><p>Proof of transaction upon final 
completion delivered by the providers system</p></td>
                                 </tr>
                                 </tbody>
                             </table>
@@ -279,14 +394,14 @@
                                 </tr>
                                 </thead>
                                 <tbody>
-                                <tr>
-                                    <td>withdrawal_withdrawal_id_check</td>
-                                    <td>((length(withdrawal_id) &#61; 32))</td>
-                                </tr>
                                 <tr>
                                     <td>withdrawal_reserve_pub_key_check</td>
                                     <td>((length(reserve_pub_key) &#61; 
32))</td>
                                 </tr>
+                                <tr>
+                                    <td>withdrawal_wopid_check</td>
+                                    <td>((length(wopid) &#61; 32))</td>
+                                </tr>
                                 </tbody>
                             </table>
                         </div>
@@ -310,16 +425,16 @@
                                 <div class="tab-content no-padding">
                                     <div class="chart tab-pane active" 
id="oneDegreeImg-chart" style="position: relative; overflow-x:auto;">
                                         <map 
id="oneDegreeRelationshipsDiagram" name="oneDegreeRelationshipsDiagram">
-<area shape="rect" id="node1" href="withdrawal.html" target="_top" 
title="withdrawal" alt="" coords="217,5,757,251">
-<area shape="rect" id="node2" href="terminal.html" target="_top" 
title="terminal" alt="" coords="5,155,173,301">
+<area shape="rect" id="node1" href="withdrawal.html" target="_top" 
title="withdrawal" alt="" coords="217,5,872,427">
+<area shape="rect" id="node2" href="terminal.html" target="_top" 
title="terminal" alt="" coords="5,213,173,360">
 </map>
                                         <a name='diagram'><img 
id="oneDegreeImg" src="../diagrams/tables/withdrawal.1degree.png" 
usemap="#oneDegreeRelationshipsDiagram" class="diagram" border="0" 
align="left"></a>
                                     </div>
                                     <div class="chart tab-pane " 
id="twodegreesDegreeImg-chart" style="position: relative; overflow-x:auto;">
                                         <map 
id="twoDegreesRelationshipsDiagram" name="twoDegreesRelationshipsDiagram">
-<area shape="rect" id="node1" href="terminal.html" target="_top" 
title="terminal" alt="" coords="293,155,461,301">
-<area shape="rect" id="node2" href="terminal_provider.html" target="_top" 
title="terminal_provider" alt="" coords="5,187,249,275">
-<area shape="rect" id="node3" href="withdrawal.html" target="_top" 
title="withdrawal" alt="" coords="505,5,1045,251">
+<area shape="rect" id="node1" href="terminal.html" target="_top" 
title="terminal" alt="" coords="293,213,461,360">
+<area shape="rect" id="node2" href="terminal_provider.html" target="_top" 
title="terminal_provider" alt="" coords="5,245,249,333">
+<area shape="rect" id="node3" href="withdrawal.html" target="_top" 
title="withdrawal" alt="" coords="505,5,1160,427">
 </map>
                                         <a name='diagram'><img 
id="twodegreesDegreeImg" src="../diagrams/tables/withdrawal.2degrees.png" 
usemap="#twoDegreesRelationshipsDiagram" class="diagram" border="0" 
align="left"></a>
                                     </div>
diff --git 
a/schemaspy/nonce2ecash-erd/diagrams/tables/terminal_provider.1degree.dot 
b/schemaspy/nonce2ecash-erd/diagrams/tables/terminal_provider.1degree.dot
deleted file mode 100644
index 0e2811d..0000000
--- a/schemaspy/nonce2ecash-erd/diagrams/tables/terminal_provider.1degree.dot
+++ /dev/null
@@ -1,30 +0,0 @@
-digraph "oneDegreeRelationshipsDiagram" {
-  graph [    rankdir="RL"    bgcolor="#ffffff"    label="\nGenerated by 
SchemaSpy"    labeljust="l"    nodesep="0.18"    ranksep="0.46"    
fontname="Helvetica"    fontsize="11"    ration="compress"  ];  node [    
fontname="Helvetica"    fontsize="11"    shape="plaintext"  ];  edge [    
arrowsize="0.8"  ];
-  "terminal":"provider_id":w -> "terminal_provider":"id.type":e 
[arrowhead=none dir=back arrowtail=crowodot];
-  "terminal" [
-   label=<
-    <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
-      <TR><TD COLSPAN="3"  BGCOLOR="#f5f5f5"><TABLE BORDER="0" 
CELLSPACING="0"><TR><TD ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="57" 
HEIGHT="16"><B>terminal</B></TD><TD 
ALIGN="RIGHT">[table]</TD></TR></TABLE></TD></TR>
-      <TR><TD PORT="id" COLSPAN="3" ALIGN="LEFT"><TABLE BORDER="0" 
CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="15" HEIGHT="16"><IMG SRC="../../images/primaryKeys.png"/></TD><TD 
ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="89" 
HEIGHT="16">id</TD></TR></TABLE></TD></TR>
-      <TR><TD PORT="provider_id" COLSPAN="3" ALIGN="LEFT"><TABLE BORDER="0" 
CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="15" HEIGHT="16"><IMG SRC="../../images/foreignKeys.png"/></TD><TD 
ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="89" 
HEIGHT="16">provider_id</TD></TR></TABLE></TD></TR>
-      <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
-      <TR><TD ALIGN="LEFT" BGCOLOR="#ffffff">&lt; 1</TD><TD ALIGN="RIGHT" 
BGCOLOR="#ffffff">  </TD><TD ALIGN="RIGHT" BGCOLOR="#ffffff">1 &gt;</TD></TR>
-    </TABLE>>
-    URL="terminal.html"
-    target="_top"
-    tooltip="terminal"
-  ];
-  "terminal_provider" [
-   label=<
-    <TABLE BORDER="2" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
-      <TR><TD COLSPAN="4"  BGCOLOR="#f5f5f5"><TABLE BORDER="0" 
CELLSPACING="0"><TR><TD ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="120" 
HEIGHT="16"><B>terminal_provider</B></TD><TD 
ALIGN="RIGHT">[table]</TD></TR></TABLE></TD></TR>
-      <TR><TD PORT="id" COLSPAN="2" ALIGN="LEFT"><TABLE BORDER="0" 
CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="15" HEIGHT="16"><IMG SRC="../../images/primaryKeys.png"/></TD><TD 
ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="120" 
HEIGHT="16">id</TD></TR></TABLE></TD><TD PORT="id.type" 
ALIGN="LEFT">int8[19]</TD></TR>
-      <TR><TD PORT="name" COLSPAN="2" ALIGN="LEFT"><TABLE BORDER="0" 
CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="15" HEIGHT="16"></TD><TD ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="120" 
HEIGHT="16">name</TD></TR></TABLE></TD><TD PORT="name.type" 
ALIGN="LEFT">varchar[50]</TD></TR>
-      <TR><TD PORT="remarks" COLSPAN="2" ALIGN="LEFT"><TABLE BORDER="0" 
CELLSPACING="0" ALIGN="LEFT"><TR ALIGN="LEFT"><TD ALIGN="LEFT" FIXEDSIZE="TRUE" 
WIDTH="15" HEIGHT="16"></TD><TD ALIGN="LEFT" FIXEDSIZE="TRUE" WIDTH="120" 
HEIGHT="16">remarks</TD></TR></TABLE></TD><TD PORT="remarks.type" 
ALIGN="LEFT">varchar[255]</TD></TR>
-      <TR><TD ALIGN="LEFT" BGCOLOR="#ffffff">&lt; 0</TD><TD ALIGN="RIGHT" 
BGCOLOR="#ffffff">  </TD><TD ALIGN="RIGHT" BGCOLOR="#ffffff">1 &gt;</TD></TR>
-    </TABLE>>
-    URL="terminal_provider.html"
-    target="_top"
-    tooltip="terminal_provider"
-  ];
-}
diff --git a/schemaspy/nonce2ecash-erd/postgres.public.xml 
b/schemaspy/nonce2ecash-erd/postgres.public.xml
deleted file mode 100644
index b62a97a..0000000
--- a/schemaspy/nonce2ecash-erd/postgres.public.xml
+++ /dev/null
@@ -1,47 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><database name="postgres" 
schema="public" type="PostgreSQL - 15.2 (Debian 15.2-1.pgdg110+1)">
-   <tables>
-      <table name="terminal" remarks="" schema="public" type="TABLE">
-         <column autoUpdated="true" defaultValue="null" digits="0" id="0" 
name="id" nullable="false" remarks="" size="19" type="int8" typeCode="-5">
-            <child column="terminal_id" 
foreignKey="withdrawal_terminal_id_fkey" implied="false" 
onDeleteCascade="false" schema="public" table="withdrawal"/>
-         </column>
-         <column autoUpdated="false" defaultValue="null" digits="0" id="1" 
name="access_token" nullable="true" remarks="" size="2147483647" type="bytea" 
typeCode="-2"/>
-         <column autoUpdated="false" defaultValue="true" digits="0" id="2" 
name="active" nullable="true" remarks="" size="1" type="bool" typeCode="-7"/>
-         <column autoUpdated="false" defaultValue="null" digits="0" id="3" 
name="remarks" nullable="true" remarks="" size="255" type="varchar" 
typeCode="12"/>
-         <column autoUpdated="false" defaultValue="null" digits="0" id="4" 
name="provider_id" nullable="false" remarks="" size="19" type="int8" 
typeCode="-5">
-            <parent column="id" foreignKey="terminal_provider_id_fkey" 
implied="false" onDeleteCascade="false" schema="public" 
table="terminal_provider"/>
-         </column>
-         <primaryKey column="id" sequenceNumberInPK="1"/>
-         <index name="terminal_pkey" unique="true">
-            <column ascending="true" name="id"/>
-         </index>
-         <checkConstraint constraint="((length(access_token) = 32))" 
name="terminal_access_token_check"/>
-      </table>
-      <table name="terminal_provider" remarks="" schema="public" type="TABLE">
-         <column autoUpdated="true" defaultValue="null" digits="0" id="0" 
name="id" nullable="false" remarks="" size="19" type="int8" typeCode="-5">
-            <child column="provider_id" foreignKey="terminal_provider_id_fkey" 
implied="false" onDeleteCascade="false" schema="public" table="terminal"/>
-         </column>
-         <column autoUpdated="false" defaultValue="null" digits="0" id="1" 
name="name" nullable="true" remarks="" size="50" type="varchar" typeCode="12"/>
-         <column autoUpdated="false" defaultValue="null" digits="0" id="2" 
name="remarks" nullable="true" remarks="" size="255" type="varchar" 
typeCode="12"/>
-         <primaryKey column="id" sequenceNumberInPK="1"/>
-         <index name="terminal_provider_pkey" unique="true">
-            <column ascending="true" name="id"/>
-         </index>
-      </table>
-      <table name="withdrawal" remarks="" schema="public" type="TABLE">
-         <column autoUpdated="false" defaultValue="null" digits="0" id="0" 
name="withdrawal_id" nullable="false" remarks="" size="2147483647" type="bytea" 
typeCode="-2"/>
-         <column autoUpdated="false" defaultValue="null" digits="0" id="1" 
name="reserve_pub_key" nullable="true" remarks="" size="2147483647" 
type="bytea" typeCode="-2"/>
-         <column autoUpdated="false" defaultValue="null" digits="0" id="2" 
name="registration_ts" nullable="true" remarks="" size="19" type="int8" 
typeCode="-5"/>
-         <column autoUpdated="false" defaultValue="null" digits="0" id="3" 
name="amount" nullable="true" remarks="" size="50" type="varchar" 
typeCode="12"/>
-         <column autoUpdated="false" defaultValue="null" digits="0" id="4" 
name="withdrawal_status" nullable="false" remarks="" size="2147483647" 
type="withdrawal_operation_status" typeCode="12"/>
-         <column autoUpdated="false" defaultValue="null" digits="0" id="5" 
name="terminal_id" nullable="false" remarks="" size="19" type="int8" 
typeCode="-5">
-            <parent column="id" foreignKey="withdrawal_terminal_id_fkey" 
implied="false" onDeleteCascade="false" schema="public" table="terminal"/>
-         </column>
-         <primaryKey column="withdrawal_id" sequenceNumberInPK="1"/>
-         <index name="withdrawal_pkey" unique="true">
-            <column ascending="true" name="withdrawal_id"/>
-         </index>
-         <checkConstraint constraint="((length(reserve_pub_key) = 32))" 
name="withdrawal_reserve_pub_key_check"/>
-         <checkConstraint constraint="((length(withdrawal_id) = 32))" 
name="withdrawal_withdrawal_id_check"/>
-      </table>
-   </tables>
-</database>
diff --git a/specs/withdrawal-op-state-transition.plantuml 
b/specs/withdrawal-op-state-transition.plantuml
new file mode 100644
index 0000000..5d1375c
--- /dev/null
+++ b/specs/withdrawal-op-state-transition.plantuml
@@ -0,0 +1,10 @@
+@startuml
+
+[*] --> Pending
+Pending --> Selected : C2ECWithdrawalRegistration
+Selected --> Confirmed : Attestation successful
+Selected --> Aborted : Attestation not successful
+Confirmed --> [*]
+Aborted --> [*]
+
+@enduml

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]