Projects:PDA Restaurant Module/Functional Specification
Contents |
Overview
Purpose
The purpose of this project is to implement a PDA module for restaurants to allow waiters to take note of customer's orders and to add tips to the total of the receipt.
Scope
- PDAs or tablets with a web browser, wi-fi connectivity, a touch screen and a relatively high screen size. Like iPod touch and Nokia N810.
- To allow waiters to select empty tables, review the orders and add products to orders.
- Tips
References
Design Considerations
Assumptions
This module will be a separated module of Openbravo POS. It will be an independent java web application connected to the Openbravo POS database the same way as regular Openbravo POS terminals.
As a web application it will require to run on top of a servlet container.
It has to be compatible with the Safari web browser, (the web browser included in the iPod touch and iPhone) and with Mozilla (included in the Nokia N810).
Dependencies
This module will depend on the Openbravo POS terminal .jar file as library to have access to the data access classes, utility classes and receipt modeling classes.
To make a clear separation the current Openbravo POS .jar file will be divided in two groups of smaller .jar files one group for common classes for the Openbravo POS terminal application and the PDA restaurant module, and other for the terminal specific classes. With this division, the PDA restaurant module will contain only the Openbravo POS classes needed in common with the Openbravo POS terminal.
Constraints
Glossary
Functional Requirements
User roles & profiles
- Waiter
- Typically these users do not have a high level of professional education and might not be computer literate. These users usually take orders, assist customers and take the money.
Business process definition
Every PDA is like any other Openbravo POS terminal, but with a limited functionality. The web server that provides database access to the PDAs must take into account all the PDAs logged in.
Every user with a PDA has to have a valid user name, password and permissions to be able to login into the PDA web application. Once logged in the user will be able to select only tables that are occupied, review customer orders and add products to orders. Other tasks like open a table, move a customer from one table to another, close a sale, etc will remain tasks for the Openbravo POS desktop application.
User stories
A waiter that assist a customer that wants to order more beverages. He takes his PDA and log in into the application. Select the table of the customer and adds to the ordered beverages the customer wants and saves the order.
Functional requirements based on business processes
Requirement | Importance | Status | Estimated time | Comments |
---|---|---|---|---|
A window login page | Must have | Not started | 2d | A window application to select user and password. If the password matches and the user has permissions to use the Web applications the login is successful and the tables page is displayed. |
The tables selector | Must have | Not started | 2d | A page where all floors and tables are displayed and where the user can select only occupied tables. |
The order page | Must have | Not started | 4d | A page that displays the order of the table selected with the options to add or remove units to lines, remove lines or add new lines. |
The products selector | Must have | Not started | 4d | A page where the categories available and products available are displayed and allow the user to add new products to the order. |
The payment dialog | Nice to have | Not started | 6d | To allow not only to edit orders but also to pay the order and close it |
The attributes dialog | Nice to have | Not started | 4d | A selector for attributes of the line like a burger raw, medium or well done. |
Easy to deploy | Nice to have | Not started | 4d | It will be nice to create not only a web application that it is easy to deploy on tomcat or any other servlet container. But also to create a simple desktop application with an embeddable servlet container that allows a user without computer skills to startup the web application easily. There are several options available like: Winstone or Jetty. |