What I've been doing for the last month
These are the first screenshots of the feature-complete DRS EPOS Omicron (version 0.0.1) alpha build. This version includes all till user functionality and a backend partially complete (hardware configuration partially completed, rest of configuration XML incomplete, transaction and refund database not yet developped). The till itself does not yet support audit trails - this feature is due to be added next week. This is dated 6th August 2007, 5 weeks after development officially started on the project. We are now using Perforce, rather than Visual Source Safe, for source control.
Hardware is currently supported through all POS for .Net drivers (tested with simulators and Epson OPOS for .Net drivers). In addition Wincor-Nixdorf BA63 customer displays, TA61 keyboards with MSR and keylock and NCR7167 receipt printers are supported through serial port drivers as well as an Access barcodes serial MSR reader and any serial barcode scanners and any keyboard-input barcode scanners.
The following are bugs and missing functionality known to exist:-
- Page down buttons need to be consistently on hot key 8 - where as some are on 7
- Reprint receipt is temporarily broken (was working)
- Discounts/Payments options repeat on page 2 of main menu - should only be on page 1
- When entering payment mode taxation information is not displayed (was working) and alternating colour is not set correctly for first payment type
- Some key press delegates do not have configuration file mappings meaning no direct keyboard maps can be written (i.e. for supervisors menu or up/down)
- Auditting not developed
- Database needs removal of receipt and line_number (possibly) fields
- Admin interface edit/add of Users adds Engineer (possibly) and Supervisor check boxes
- Help screens incomplete
- Discounts don't function correctly when voids are used or if mroe items are scanned after discount is applied
- OPOS printer driver asynchronous communication problems where on 500MHz beetle the system occasionally pauses for about 5-10 seconds during the end of a print
- NCR7167 print driver has no health checking and logo is not centralised or resized dynamically
- Keyboard automation functionality (not to be used in Omicron - currently limited to WN TA61 MSR and keylock testing) causes UI crashes as mutex is not released somewhere
- Standard windows printer driver needs to be developed
This is the login screen by default - with the store name displayed in the top (where Delta Retail Solutions is shown in this example). The status bar time is updated in real time and the hot keys on the right show available features. These hot keys can be clicked with a mouse, using a touch screen, using a monitor with physical hot keys (Tesco, M&S, Sainsburys) located next to monitor or using keyboard keys (F1-F8 mapped by default - can map any key).
These logon screens show the same as the first screenshot - but with a user configurable background - in these styles using the R13 logo and a good old favourite.
This is the logon process. The user starts it by pressing hot key one or by pressing the logon/logoff button on their keyboard (can be mapped to any key - as can any keyboard mappings allowing any keyboard to be used whether its programable or not). The user then types in their 4 digit logon and press OK or the OK button on their keyboard (mappable to Enter by default, but can be any key) and then enters their pin, presses enter again to confirm. If the login is right the till is displayed, otherwise the above error will be shown for any failure. This logon box is easily reusable and configurable with title, message and errors from any part of the API.
This is an example of what happens if you try to access a supervisor feature from the main menu when not logged in, or from within the till itself if you access are not already logged in as a supervisor. This above shows the input box and an example of what happens if a non-supervisor tries to logon.
When logged in to a till at the start of a transaction this is the screen users will see. The entire transaction takes place on this one screen (this will change in phase 2). The hotkeys on the right are the same as on the main menu - accessible through keys or by pressing the button on touch screen or with a mouse. The first screen shows the most commonly used and page 2 can be accessed by pressing the Page Down button. The status bar at the top now, in addition to the time, displays who is logged in.
The input box at the bottom allows all forms of user input. The user can press Quantity then enter the quantity and press OK (on the keyboard) or enter the quantity on the keyboard then press the quantity button - the same goes with weigh or payments so the user can enter inputs whichever way around makes sense to them, or by using the menus. The text that sysa "Product Code" will also change to represent department sales (i.e. "Grocery"), quantities (i.e. "2x" or "Grocery 2x"), weights (i.e. "1.256KG") and input modes (i.e. "Cash", "Quantity", "Weight"). The Grocery example is a sale to a department which has then been voided immediately after.
"Scroll Mode" allows an operator to scroll up and down through the item list - when a customer wants to know some information that is up the screen or if an action (such as a void or discount) is required on a single item that isn't the last line. The up/down buttons move the highlighted row (the orange row) up by 1, the page up/page down scroll an entire page of items (or to the top/bottom if only 1 page). If items are grouped together (i.e. a 2-line product description or a void following a previous line, or a sub-total section) then they are all highlighted together and treated as one unit.
These show void line (a supervisor feature which, if not logged in as a supervisor, prompt for supervisor username/password) in operation using scroll mode and the result of a void line. A void last (non-supervisor void) is visible in the item list (first till screenshot).
These screens show the Department Sale, Discounts and Payments menus respectively which can be access through hot keys, the keyboard or direct keyboard shortcuts to sub-mens (i.e. straight to cash from paying an item). The discounts functionality currently works, but does not factor in voids correctly. A void can be an amount (i.e. £0.50) or a percent (i.e. 10%).
The product enquiry screen is currently somewhat bleak and can just be used as a price lookup, however future versions will include full product details including product locations/etc.
These 2 screenshots show the 2 supervisor menus that are available using hotkeys. Any action selected will prompt for engineer/supervisor access if the user does not have the required flags. If the user has the right access no prompt will be displayed.
The Z/X read features have 2 output types. Normally the output is sent to the printer, but if one is not attached a rather ugly popup box is displayed for each section of the read. A Z-read requires additional confirmation since it resets totals.
Training mode is a fully configurable mode that does everything a normal till does (apart from Z-reads) but without writing anything to the database. This means there are no records stored of transactions undertaken in training mode. By default the mode changes the background, the status bar and the receipt - printing *TM* at the start of each line and ** TRAINING MODE ** in the header and by deforming the barcode to read "TXN TRAINING MODE". In addition the customer display prints *TM* at the start of each line and TRAINING MODE instead of NEXT CUSTOMER PLEASE; also the cash drawer is set to not open. The configuration file allows users to change as many of these features as they want - to make their training more realistic (full normal till operations but no DB entry) to the default setup which is more visibly in training mode. This mode requires supervisor access to activate and a prompt is issued to enter/leave training mode. Training mode can be directly assigned to a keyboard shortcut or accessed through the hotkey menu.
Refund mode is another supervisor feature. After confirming entering refund mode the till remains in refund mode until the end of the transaction.
The above screenshots are some samples of a few more bits of error detection and information displayed to users - and confirmation that is issued before a till is shut down.
When the user wants to logout they are asked to confirm their action. It can again be done through keys or buttons on screen. A user cannot logout if they are in the middle of a transaction or refund.