Today starts a list of tutorials that shares progress on NexoPOS 4.x development. As some features haven't been covered already a summary should come up very soon. In today's progress, orders management has been improved from the POS and here are the details.
The idea to managing orders from the POS is mainly to process many orders at the time. For a scenario of a grocery store, this means being able to hold orders and process new other without loosing previous records. Meanwhile, 3 type of orders can be handled from the popup :
Paid orders can't be managed from the orders popup as these orders aren't likely to receive further products or payments.
While proceeding to order, there is a button at the bottom of the cart. That button actually triggers the popup that should save the order as "hold".
If some required information, such as the customer and the order type isn't defined, new popups requesting this information might open.
While saving the order, a title might be provided for a quick reference, but it's not mandatory.
The process to retrieve an order is as easier as it is to hold orders. While on the POS, there are various buttons on the top from which you can find the "Orders" button.
This popup opens a popup that shows orders according to their payment status. As mentioned earlier, there is 3 payment status supported: Hold, Unpaid & Partially Paid.
Each result has "Open" and "Products" buttons. The "Open" buttons load the order on the cart and "Products" shows a list of products added to the order.
Before opening an order, if there is an ongoing order on the cart, a confirmation popup will request the user approval before erasing the order ongoing.
When an order is saved, it creates a new record to the database. While that order is retrieved, the attribute "id" is used to let the POS knows the provided resource has a reference on the database. Therefore, while processing the order, it treats the order as an already saved order (thus doesn't create new database records).