From 3941771b2a72b1bfa372c3cae95d9d61f4fbe621 Mon Sep 17 00:00:00 2001 From: Sebastian Date: Fri, 19 Mar 2021 19:22:32 -0300 Subject: fix some word spell --- .../016-backoffice-order-management.rst | 243 +++++++++++++++++++++ .../016-backoffice-order-managment.rst | 243 --------------------- .../017-backoffice-inventory-management.rst | 129 +++++++++++ .../017-backoffice-inventory-managment.rst | 129 ----------- design-documents/index.rst | 4 +- 5 files changed, 374 insertions(+), 374 deletions(-) create mode 100644 design-documents/016-backoffice-order-management.rst delete mode 100644 design-documents/016-backoffice-order-managment.rst create mode 100644 design-documents/017-backoffice-inventory-management.rst delete mode 100644 design-documents/017-backoffice-inventory-managment.rst (limited to 'design-documents') diff --git a/design-documents/016-backoffice-order-management.rst b/design-documents/016-backoffice-order-management.rst new file mode 100644 index 00000000..1fba8f33 --- /dev/null +++ b/design-documents/016-backoffice-order-management.rst @@ -0,0 +1,243 @@ +Design Doc 016: Backoffice Order Management +########################################### + +Summary +======= + +This document describe the complete list features for orders management and how +will be shown. + +Motivation +========== + +User will use the backoffice to manage their orders and verify the status of the +current and past orders. + +Requirements +============ + +Access all information provided from the Merchant Backend API in a +understandable and accessible way + +User should use the backoffice to manage orders by: + +* searching for orders +* showing details about the order and the activity history +* refund order that are refundable +* create orders + +Proposed Solution +================= + +Listing orders +-------------- + +.. image:: ../backoffice-order-list.svg + :width: 800 + +Will show the SearchBar component that allow multiple filter. +Filter will allow paid, refunded, wired status and date. + + * paid: yes/no + * refunded: yes/no + * wired: yes/no + * date: 'dd/MM/yyyy' + +4 tabs will be show for a easy access to common filter, click on any of this and +search will reset all filter except date + +* paid (default) +* refunded +* not wired +* all (empty filter box) + +Columns for the order listings will be: + +* date in 'dd/MM/yyyy HH:mm:ss' format +* amount: value and currency +* summary + +Actions per row: + +* refund: pop up with amount and reason (select box and text) +* copy payment id +* view details + +An export button will allow the user to download the result page in CSV format. + +An infinity scroll is propose instead of a pagination, reasons: + +* users usually does not jump from one page to another using random access +* if the user want to search, is going to limit the result using filters +* no need to go back after loading more result +* it could be triggered by scrolling, with buttons (or both) + +Create orders +------------- + +Form with 4 fields: + +* amount +* summary +* time until refund ( dropdown: 1week, 2weeks, custom ) +* description +* payment method + +Creation order success +********************** + +Example message: + + Creation successful + + We've create an order for for USD:10.00. + + Send url to the customer: ``taler_pay_uri`` + +action buttons that allow the following: + +* create another payment: go to the create payment page again +* view details: show details of the payment (see page) + +Order details +------------- + +Status text should be set with a background color for easier recognition when +indicated: + +* paid: green +* claimed: light-green +* unpaid: grey +* refunded: red + +Header +****** + +This is a resume of most important information + +* big status with color +* date +* total + + - deposit_total (if not refunded) + - refund_amount (if status is refunded) + - deposit_total - refund amount (if refunded partially) + +* order_status_url +* taler_pay_uri (if unpaid) +* actions: refund (if not refunded), add note, copy order_status_url + +Timeline of events +****************** + +Event of status changed over time describe vertically. +Sorted from newest to oldest. +On line per status updated, with datetime and a short description. + +Info taken from: + +* refund_details +* wire_reports +* wire_details +* contractTerm.extra for custom notes ({date: timestamp, description: string}) + +Payment details +*************** + +* summary +* amount (deposit_total) +* fee +* refund_amount (if status is refunded) +* net (amount - fee - refund) +* current status + + +Contract Terms +************** + +collapsed as default. show disabled if unpaid + +* summary +* amount +* fulfillment_url, if present +* max fee +* max fire fee +* wire_fee_amortization +* list of (exchange | auditor) name and url +* products table: list of products, one row per product + + * description + * quantity + * total price + * total tax + * sum at the bottom + +* horizontal timeline of important dates in the contract + + * start at contract creation time + * show current date + * pay_deadline + * wire_transfer_deadline + * refund_deadline + * delivery_date (immediately if null) + * auto_refund + + + +Last response from exchange +*************************** + +collapsed as default, showing a green check if everything is ok or a yellow +warning otherwise + +When open show 2 boxes with text translated from ``exchange_ec`` and ``exchange_hc`` + +refund popup +-------------- + +If there is any refund: + +* show total refund from ``refund_amount`` +* a + sign to show more information +* if expanded show a timeline vertically showing amount a reason + ``refund_details`` + +Show a small notice telling that the refund is going to take ``refund_delay`` time. + +Warn if there is a pending refund when ``refund_pending`` is true + +Ask for: + +* amount +* reason: concatenation of the next values + + * drop down options: duplicated, fraudulent, requested by customer, other + * after selecting, free text for additional information + +Alternatives +============ + + +order list was originally thought with pagination footer + +.. image:: ../backoffice-order-list.v2-pagination.svg + :width: 800 + +ascending boolean flag cloud be eliminated using the load before and load after +and a design without random access to pages was proposed + + +Discussion / Q&A +================ + +* Shall we show merchant information from the ContractTerm in the order detail? + +* Order creation was first thought as out of scope but should be useful for + testing purpose or when frontend is not yet integrated with taler merchant + backend. Shall we skip it? + +* Do we have the date and time of when the order goes from these states? + + * claimed => paid (maybe last wire_details.execution_time with confirmed = true ) + * unpaid => claimed (maybe contractTerm.timestamp) + diff --git a/design-documents/016-backoffice-order-managment.rst b/design-documents/016-backoffice-order-managment.rst deleted file mode 100644 index 1fba8f33..00000000 --- a/design-documents/016-backoffice-order-managment.rst +++ /dev/null @@ -1,243 +0,0 @@ -Design Doc 016: Backoffice Order Management -########################################### - -Summary -======= - -This document describe the complete list features for orders management and how -will be shown. - -Motivation -========== - -User will use the backoffice to manage their orders and verify the status of the -current and past orders. - -Requirements -============ - -Access all information provided from the Merchant Backend API in a -understandable and accessible way - -User should use the backoffice to manage orders by: - -* searching for orders -* showing details about the order and the activity history -* refund order that are refundable -* create orders - -Proposed Solution -================= - -Listing orders --------------- - -.. image:: ../backoffice-order-list.svg - :width: 800 - -Will show the SearchBar component that allow multiple filter. -Filter will allow paid, refunded, wired status and date. - - * paid: yes/no - * refunded: yes/no - * wired: yes/no - * date: 'dd/MM/yyyy' - -4 tabs will be show for a easy access to common filter, click on any of this and -search will reset all filter except date - -* paid (default) -* refunded -* not wired -* all (empty filter box) - -Columns for the order listings will be: - -* date in 'dd/MM/yyyy HH:mm:ss' format -* amount: value and currency -* summary - -Actions per row: - -* refund: pop up with amount and reason (select box and text) -* copy payment id -* view details - -An export button will allow the user to download the result page in CSV format. - -An infinity scroll is propose instead of a pagination, reasons: - -* users usually does not jump from one page to another using random access -* if the user want to search, is going to limit the result using filters -* no need to go back after loading more result -* it could be triggered by scrolling, with buttons (or both) - -Create orders -------------- - -Form with 4 fields: - -* amount -* summary -* time until refund ( dropdown: 1week, 2weeks, custom ) -* description -* payment method - -Creation order success -********************** - -Example message: - - Creation successful - - We've create an order for for USD:10.00. - - Send url to the customer: ``taler_pay_uri`` - -action buttons that allow the following: - -* create another payment: go to the create payment page again -* view details: show details of the payment (see page) - -Order details -------------- - -Status text should be set with a background color for easier recognition when -indicated: - -* paid: green -* claimed: light-green -* unpaid: grey -* refunded: red - -Header -****** - -This is a resume of most important information - -* big status with color -* date -* total - - - deposit_total (if not refunded) - - refund_amount (if status is refunded) - - deposit_total - refund amount (if refunded partially) - -* order_status_url -* taler_pay_uri (if unpaid) -* actions: refund (if not refunded), add note, copy order_status_url - -Timeline of events -****************** - -Event of status changed over time describe vertically. -Sorted from newest to oldest. -On line per status updated, with datetime and a short description. - -Info taken from: - -* refund_details -* wire_reports -* wire_details -* contractTerm.extra for custom notes ({date: timestamp, description: string}) - -Payment details -*************** - -* summary -* amount (deposit_total) -* fee -* refund_amount (if status is refunded) -* net (amount - fee - refund) -* current status - - -Contract Terms -************** - -collapsed as default. show disabled if unpaid - -* summary -* amount -* fulfillment_url, if present -* max fee -* max fire fee -* wire_fee_amortization -* list of (exchange | auditor) name and url -* products table: list of products, one row per product - - * description - * quantity - * total price - * total tax - * sum at the bottom - -* horizontal timeline of important dates in the contract - - * start at contract creation time - * show current date - * pay_deadline - * wire_transfer_deadline - * refund_deadline - * delivery_date (immediately if null) - * auto_refund - - - -Last response from exchange -*************************** - -collapsed as default, showing a green check if everything is ok or a yellow -warning otherwise - -When open show 2 boxes with text translated from ``exchange_ec`` and ``exchange_hc`` - -refund popup --------------- - -If there is any refund: - -* show total refund from ``refund_amount`` -* a + sign to show more information -* if expanded show a timeline vertically showing amount a reason - ``refund_details`` - -Show a small notice telling that the refund is going to take ``refund_delay`` time. - -Warn if there is a pending refund when ``refund_pending`` is true - -Ask for: - -* amount -* reason: concatenation of the next values - - * drop down options: duplicated, fraudulent, requested by customer, other - * after selecting, free text for additional information - -Alternatives -============ - - -order list was originally thought with pagination footer - -.. image:: ../backoffice-order-list.v2-pagination.svg - :width: 800 - -ascending boolean flag cloud be eliminated using the load before and load after -and a design without random access to pages was proposed - - -Discussion / Q&A -================ - -* Shall we show merchant information from the ContractTerm in the order detail? - -* Order creation was first thought as out of scope but should be useful for - testing purpose or when frontend is not yet integrated with taler merchant - backend. Shall we skip it? - -* Do we have the date and time of when the order goes from these states? - - * claimed => paid (maybe last wire_details.execution_time with confirmed = true ) - * unpaid => claimed (maybe contractTerm.timestamp) - diff --git a/design-documents/017-backoffice-inventory-management.rst b/design-documents/017-backoffice-inventory-management.rst new file mode 100644 index 00000000..e8c1a333 --- /dev/null +++ b/design-documents/017-backoffice-inventory-management.rst @@ -0,0 +1,129 @@ +Design Doc 017: Backoffice Inventory Management +############################################### + +Summary +======= + +This document describe the complete list features for inventory management and +how will be shown. + +Motivation +========== + +User will use the backoffice to manage their inventory, prices and update stock. + +Requirements +============ + +Access all information provided from the Merchant Backend API in a +understandable and accessible way + +User should use the backoffice to manage inventory by: + +* creating new products +* updating the products information +* inspecting inventory list +* deleting products from the inventory list + +Proposed Solution +================= + +Inspecting inventory +-------------------- + +.. image:: ../backoffice-product-list.svg + :width: 800 + +Listing the product will shown this columns: + +* image +* description +* sell price +* total taxes +* profit (price - taxes) +* stock left (with next_restock in days if present) +* stock sold + +Actions will be + +* modify +* delete: with a confirm popup, it may fail if have some locked + +Create and Update Product form +------------------------------ + +Creating without stock +********************** + +.. image:: ../backoffice-product-create.with-stock.svg + :width: 800 + +Creating with defined stock +*************************** + +.. image:: ../backoffice-product-create.without-stock.svg + :width: 800 + +Updating +*************************** + +.. image:: ../backoffice-product-update.svg + :width: 800 + +Update product will use the same form except for the ``product_id`` + +* product_id: BACKOFFICE_URL + id +* description: split in two fields, concatenated with a line separator + + * name: required, one line + * extra: optional, free text area + +* description localized: list with + + * lang: dropdown list with supported lang + custom + * description: text area + +* unit: string +* price: amount +* image: image box that allows upload when clicked +* taxes: list with + + * name: string + * value: amount + +* Stock: button that opens more fields for stock control + + * initial stock: number + * address: first collapsed, then field for Location + * next_restock: date + * cancel: button to set the stock to infinity, closing the section + + +Alternatives +============ + +* price and stock columns in the list can be merged into a more complex column + with the same information + +* rows in the table can be expandable when clicked to get access to some common + actions like increase stock or change price + +.. image:: ../backoffice-product-list.actions.svg + :width: 800 + +* detail page was intentionally left out since all information can be access + from the update page + +Q&A +=== + +* can we add the quantity locked in the product description? so we can add it + to the inventory list to reflect the current activity. + +* can we allow add extra data like order has in contractTerm?, this could be + useful for frontend apps. example of usage: country/state to where the product + is sold since taxes may vary + + + + diff --git a/design-documents/017-backoffice-inventory-managment.rst b/design-documents/017-backoffice-inventory-managment.rst deleted file mode 100644 index e8c1a333..00000000 --- a/design-documents/017-backoffice-inventory-managment.rst +++ /dev/null @@ -1,129 +0,0 @@ -Design Doc 017: Backoffice Inventory Management -############################################### - -Summary -======= - -This document describe the complete list features for inventory management and -how will be shown. - -Motivation -========== - -User will use the backoffice to manage their inventory, prices and update stock. - -Requirements -============ - -Access all information provided from the Merchant Backend API in a -understandable and accessible way - -User should use the backoffice to manage inventory by: - -* creating new products -* updating the products information -* inspecting inventory list -* deleting products from the inventory list - -Proposed Solution -================= - -Inspecting inventory --------------------- - -.. image:: ../backoffice-product-list.svg - :width: 800 - -Listing the product will shown this columns: - -* image -* description -* sell price -* total taxes -* profit (price - taxes) -* stock left (with next_restock in days if present) -* stock sold - -Actions will be - -* modify -* delete: with a confirm popup, it may fail if have some locked - -Create and Update Product form ------------------------------- - -Creating without stock -********************** - -.. image:: ../backoffice-product-create.with-stock.svg - :width: 800 - -Creating with defined stock -*************************** - -.. image:: ../backoffice-product-create.without-stock.svg - :width: 800 - -Updating -*************************** - -.. image:: ../backoffice-product-update.svg - :width: 800 - -Update product will use the same form except for the ``product_id`` - -* product_id: BACKOFFICE_URL + id -* description: split in two fields, concatenated with a line separator - - * name: required, one line - * extra: optional, free text area - -* description localized: list with - - * lang: dropdown list with supported lang + custom - * description: text area - -* unit: string -* price: amount -* image: image box that allows upload when clicked -* taxes: list with - - * name: string - * value: amount - -* Stock: button that opens more fields for stock control - - * initial stock: number - * address: first collapsed, then field for Location - * next_restock: date - * cancel: button to set the stock to infinity, closing the section - - -Alternatives -============ - -* price and stock columns in the list can be merged into a more complex column - with the same information - -* rows in the table can be expandable when clicked to get access to some common - actions like increase stock or change price - -.. image:: ../backoffice-product-list.actions.svg - :width: 800 - -* detail page was intentionally left out since all information can be access - from the update page - -Q&A -=== - -* can we add the quantity locked in the product description? so we can add it - to the inventory list to reflect the current activity. - -* can we allow add extra data like order has in contractTerm?, this could be - useful for frontend apps. example of usage: country/state to where the product - is sold since taxes may vary - - - - diff --git a/design-documents/index.rst b/design-documents/index.rst index f014d30b..c07f2a4a 100644 --- a/design-documents/index.rst +++ b/design-documents/index.rst @@ -25,5 +25,5 @@ and protocol. 013-peer-to-peer-payments 014-merchant-backoffice-ui 015-merchant-backoffice-routing - 016-backoffice-order-managment - 017-backoffice-inventory-managment + 016-backoffice-order-management + 017-backoffice-inventory-management -- cgit v1.2.3