Views
Navigation
Toolbox
Search
Open ERP and Open Object Community Wiki

Modules:POS

From Wiki

Jump to: navigation, search

Contents

[edit] Point of Sale

[edit] Introduction

This page describe the requirements of the point of sale module that will be developped by Syleam and Tiny. We plan to develop two point of sale systems:

  • A web based one
  • A QT based one

[edit] Goals

[edit] Types of PoS

We must support the following PoS systems:

  • Restaurants:
  - Need a screen to select the table, and a map of tables
  - PoS order filled in several times
  - Fast identification of the different users (optionnal)
  - Options on products, example:
       - If you select a steak, the system must propose:
            - which sauce and cooking
       - these options can be extra-related product or note on the line
  - Prompt Server for number of people at table and drink for all, water default.
  - No bar code but quick access to the products
  - No need to print tickets
  • SuperMarket
  - Mostly through barcode, EAN
  - Manages the payment
     - Cash / Others
     - Credit Cards
  - Print tickets or send email
  - May Request Invoice
  • Simple Shop
  - Optional Customer Identification
  - May need to keep track of several orders in the same screen
  - May need a stock visibility
  - May Request Invoice
  • Self-Service PoS (The customer uses the PoS directly himself)
  - Barcode input
  - No escape on screens
  - A button to call an operator

[edit] Materials

The web based PoS will be designed to use materials that simulates keyboards and mouse:

  • Keyboard barcode scanner
  • Touchscreens that simulates mouse

The QT based PoS is designed to use the following materials:

  • to described

[edit] Action Plan

1. Tiny will work with Syleam to build a shared POS system:

  • they focus on creating a QT application
  • we focus on creating a Web application

Both system will use the same backend, if possible

2. As ergonomy is probably the most important thing for a PoS system, we will start by designing the screens, and start the development once we have perfect screens.

3. Once screen are designed and perfect, we start the development. These parts have to be developed:

  • a pos_frontend module : to configure the PoS system
  • eventually a pos_frontend_web if needed specific things different than the

PoS of Syleam

  • a web frontend application


[edit] User Interface Web

We design the screens for 1024x768 but it must be extensible. The screen must not have any scrollbar.

We will start by designing the following screens:


[edit] Login Screen

Each user have a login and a password. If you press '+' in the login field, it goes to the password field. This way, we can process barcodes like: login+password to automatically login. The pos_frontend module will be able to print badges with such barcodes.

Just two fields in the middle of the screen, and a button to login.

[edit] Order Screen

http://tiny.be/download/pos/order.png

The current/selected line is bigger than the others. By default, the latest product encoded is the selected one.

On the left, you have Options and Search Product. Both parts are optional according to the configuration. If none of these parts are diplayed, the order screen takes the whole width.

  • Options: A list of options related to the selected product. See above for

explanation of Options.

  • Search Product:
- Click on the title to open the search window
- Click on a category to open the search window open in the selected category

If you click on a Qty or Price on an order line, it opens the window to enter numbers. See schema on the right of order.png. The window is transient and appears above the order screen. Like when you click on a calendar event in etiny.

Like the Options panel on the right, you can also have a box for quickly select tables. With just buttons on the available tables/tickets. that's for businesses like a bar/fritkot that do not manages tables but have to be able to process several orders at the same time.

If the checkbox button 'Return' is pressed, products are added in negative (-1). In case of the quantity if negative, the line appears in red.

[edit] Search a Product

http://tiny.be/download/pos/search.png

The search window allows you to search by category and/or by code and/or by name of the product.

Categories are in Tree in OpenERP.

You can filter by code, category or name of the product. Name and categories are filters by default, if you click on 'Open Keyboard', it allows to filters by name (replace the Category Part by a Keyboard with touches).

Each time you press on a category, you see the sub-categories above and the most used products in this category bellow.

Products bellow can be sorted by name, most used or code. These are radio buttons.

When you click on a product, it goes back to the order.

In each category and product box, you can have a name and a small picture.

[edit] Welcome Screen

The welcome screen is used in a self-service environment. It just says touches the screen to start fill in up your order.

According to the configuration, the welcome screen may serve to assk for the user to passes his credit card.ยท

[edit] Menu

Update the first draft of the menu according to this:

Change options to:

  • Order Entry
  • Table Reservations
  • Total Transactions
  • Logout

According to the configuration, some options are may be optionnal.

Please change the grey box on the top right, I don't like it.

http://tiny.be/download/pos/pos1.jpg

[edit] Table Selection Screen

The table screen must be fully configurable from the frontend module. I propose this:

  • Different Vectorial Pictures available to represent tables, bar, ...

Then the user create a list of tables:

  • Selected Picture
  • Position in the Bar: x,y
  • Size: width, height

According to this, the table screen is rendered with buttons that are clickable on the right position and size.

[edit] OpenObject Modules

The pos_frontend module will be used to configure the user interface of the PoS. The orders will be managed using the current pos module of OpenERP (that could be improved, for example to add the concept of ticket/table).

All operations will be proceced by the 'pos' module of OpenERP:

  • printing ticket,
  • validating orders,
  • printing badges for user authentification,
  • reports on sales,
  • managing payments, ...

So our pos user interface must just create pos.order documents.

Personal tools
© 2001-TODAY Tiny sprl. All rights reserved.
OpenERP and OpenObject are trademarks of the Tiny company.
They both are released under GPL V2.0.