summaryrefslogtreecommitdiff
path: root/design-documents/017-backoffice-inventory-managment.rst
diff options
context:
space:
mode:
authorSebastian <sebasjm@gmail.com>2021-03-19 19:21:00 -0300
committerSebastian <sebasjm@gmail.com>2021-03-19 19:23:11 -0300
commit7e4e5549541fd0a5bacd574b98812f19142cc9b5 (patch)
tree87800d4f16e8214b9281cd96fd49fcd5ace519ec /design-documents/017-backoffice-inventory-managment.rst
parentfa112d30fc6096bed2ed465546c3b1120a4101be (diff)
downloaddocs-7e4e5549541fd0a5bacd574b98812f19142cc9b5.tar.gz
docs-7e4e5549541fd0a5bacd574b98812f19142cc9b5.tar.bz2
docs-7e4e5549541fd0a5bacd574b98812f19142cc9b5.zip
inventory management design document
Diffstat (limited to 'design-documents/017-backoffice-inventory-managment.rst')
-rw-r--r--design-documents/017-backoffice-inventory-managment.rst96
1 files changed, 92 insertions, 4 deletions
diff --git a/design-documents/017-backoffice-inventory-managment.rst b/design-documents/017-backoffice-inventory-managment.rst
index f896c449..e8c1a333 100644
--- a/design-documents/017-backoffice-inventory-managment.rst
+++ b/design-documents/017-backoffice-inventory-managment.rst
@@ -4,18 +4,19 @@ Design Doc 017: Backoffice Inventory Management
Summary
=======
-This document describe the complete list features for inventory management and how
-will be shown.
+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 accesible way
+understandable and accessible way
User should use the backoffice to manage inventory by:
@@ -23,19 +24,106 @@ User should use the backoffice to manage inventory by:
* updating the products information
* inspecting inventory list
* deleting products from the inventory list
-* accesing detailed information of a product
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
+
+
+
+