gnunet-svn
[Top][All Lists]
Advanced

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

[taler-docs] branch master updated: Add section for taler-merchant-pos-t


From: gnunet
Subject: [taler-docs] branch master updated: Add section for taler-merchant-pos-terminal
Date: Fri, 21 Feb 2020 15:05:36 +0100

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

torsten-grote pushed a commit to branch master
in repository docs.

The following commit(s) were added to refs/heads/master by this push:
     new d10b95e  Add section for taler-merchant-pos-terminal
d10b95e is described below

commit d10b95e58acba886dd44944ae8433c715dcd13e9
Author: Torsten Grote <address@hidden>
AuthorDate: Fri Feb 21 11:02:13 2020 -0300

    Add section for taler-merchant-pos-terminal
---
 index.rst                       |   3 +-
 taler-merchant-pos-terminal.rst | 138 ++++++++++++++++++++++++++++++++++++++++
 2 files changed, 140 insertions(+), 1 deletion(-)

diff --git a/index.rst b/index.rst
index 5c47d0c..ee3c8b8 100644
--- a/index.rst
+++ b/index.rst
@@ -33,7 +33,7 @@ while providing anonymity for Customers.
 
 Cryptography is used to ensure that none of the participants can
 defraud the others without being detected immediately; however, in
-practice a fradulent Exchange might go bankrupt instead of paying the
+practice a fraudulent Exchange might go bankrupt instead of paying the
 Merchants and thus the Exchange will need to be audited regularly like
 any other banking institution.
 
@@ -56,6 +56,7 @@ Documentation Overview
   taler-wallet
   taler-nfc-guide.rst
   taler-merchant-api-tutorial
+  taler-merchant-pos-terminal
   taler-bank-manual
   taler-backoffice-manual
   taler-auditor-manual
diff --git a/taler-merchant-pos-terminal.rst b/taler-merchant-pos-terminal.rst
new file mode 100644
index 0000000..5107d9d
--- /dev/null
+++ b/taler-merchant-pos-terminal.rst
@@ -0,0 +1,138 @@
+..
+  This file is part of GNU TALER.
+  Copyright (C) 2014-2018 Taler Systems SA
+
+  TALER is free software; you can redistribute it and/or modify it under the
+  terms of the GNU 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 Lesser General Public License for more 
details.
+
+  You should have received a copy of the GNU Lesser General Public License 
along with
+  TALER; see the file COPYING.  If not, see <http://www.gnu.org/licenses/>
+
+  @author Torsten Grote
+
+GNU Taler Merchant POS Manual
+#############################
+
+The GNU Taler merchant POS (point of sale) terminal allows sellers to
+
+* process customers' orders by adding or removing products
+* calculate the amount owed by the customer
+* let the customer make a Taler payment via QR code or NFC
+
+Android App
+===========
+
+.. note::
+    The Android app is currently optimized for tablet devices, not phones.
+
+At first start, the Android app asks you for a configuration URL
+and a user name as well as a password for HTTP basic authentication.
+
+At every start of the app,
+it uses the saved configuration data
+to fetch the current configuration (defined below)
+and populates the currency, the products and their categories.
+
+The Tabled UI is separated into three columns:
+
+* Right: Product categories that the user can select to show different products
+* Middle: Products available in the selected category and their prices
+* Left: The current order, the ordered products, their quantity and prices
+  as well as the total amount.
+
+At the bottom of the main UI there is a row of buttons:
+
+* Restart: Clears the current order and turns into an Undo button which 
restores the order.
+* -1/+1: Available when ordered items are selected
+  and allows you to increment/decrement their quantity.
+* Reconfigure: Allows you to change the app configuration settings (URL and 
username/password)
+  and to forget the password (for locking the app).
+* History: Shows the payment history.
+* Complete: Finalize an order and prompt the customer to pay.
+
+Building from source
+--------------------
+
+Import in and build with Android Studio or run on the command line:
+
+.. code-block:: sh
+
+  $ git clone https://git.taler.net/merchant-terminal-android.git
+  $ cd merchant-terminal-android
+  $ ./gradlew assembleRelease
+
+APIs and Data Formats
+=====================
+
+The GNU Taler merchant POS configuration is a single JSON file with the 
following structure.
+
+
+  .. ts:def:: MerchantConfiguration
+
+    interface MerchantConfiguration {
+      // Configuration for how to connect to the backend instance.
+      config: BackendConfiguration;
+
+      // The available product categories
+      categories: MerchantCategory[];
+
+      // Products offered by the merchant (similar to `Product`).
+      products: MerchantProduct[];
+
+      // Map from labels to locations
+      locations: { [label: string]: [location: Location], ... };
+    }
+
+The elements of the JSON file are defined as follows:
+
+  .. ts:def:: BackendConfiguration
+
+    interface BackendConfiguration {
+      // The URL to the Taler Merchant Backend
+      base_url: string;
+
+      // The name of backend instance to be used (see `Backend Options 
<Backend-options>`)
+      instance: string;
+
+      // The API key used for authentication
+      api_key: string;
+    }
+
+  .. ts:def:: MerchantCategory
+
+    interface MerchantCategory {
+      // A unique numeric ID of the category
+      id: number;
+
+      // The name of the category. This will be shown to users and used in the 
order summary.
+      name: string;
+    }
+
+
+  .. ts:def:: MerchantProduct
+
+    interface MerchantProduct {
+      // A merchant-internal unique identifier for the product
+      product_id: string;
+
+      // Human-readable product description
+      // that will be shown to the user and used in contract terms
+      description: string;
+
+      // The price of the product
+      price: Amount;
+
+      // A list of category IDs this product belongs to.
+      // Typically, a product only belongs to one category, but more than one 
is supported.
+      categories: number[];
+
+      // Where to deliver this product. This may be an URL for online delivery
+      // (i.e. 'http://example.com/download' or 'mailto:address@hidden'),
+      // or a location label defined inside the configuration's 'locations'.
+      delivery_location: string;
+    }

-- 
To stop receiving notification emails like this one, please contact
address@hidden.



reply via email to

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