Smallcommerce - multi-channel ecommerce project on top of Django-Oscar with dashboard checkout for using on Point of Sale and eshop.

Sales Channels

It allows to set destination channel for the product, so that it could be sold through one or multiple sales channels ("in store", "eshop").
Also, we indicate sales channel for the placed orders, which allows to compare how much items customers purchased per channel.

Customer Account Management

For the POS needs, we developed customer account creation in the dashboard, which was lacking in the standard Django-Oscar functionality.

Direct Inventory Management

The functionality gave ability to put on hold necessary product items without actual changing stock record values.
Product stock level was then calculated as number of available items in stock minus items "on hold".
Staff users also could remove item from holding and put it back to the stock.

POS Checkout

We implemented "sale" functionality, which is actually in-store purchase, submitted by the staff user through the dashboard. Thus, we replicated and re-integrated basket and checkout functionality to the dashboard. This functionality allowed to add any product to the sale from the dashboard products list page. If product had variants — it allowed to select necessary child product in order to add to the active sale.

When sales manager needed to switch between active orders and put together another one, system allowed to create a new active sale and put other ones on hold.
Also admin user could switch to another sale through the dropdown in the dashboard navigation.

On the dashboard sale preview page sales manager was able to quickly add products to the sale by start typing product title or UPC into the search autocomplete field.

Customer selection was put to the sale preview page as well — staff member could search it by first name, last name or an email.