View source | View content page | Page history | Printable version   

Projects:PDA Restaurant Module/Functional Specification




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.



Design Considerations


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).


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.



Functional Requirements

User roles & profiles

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.

User Interface Mockups

User interface

Technical Requirements

Non-Functional Requirements

Open Discussion Items

Closed Discussion Items

Retrieved from ""

This page has been accessed 20,301 times. This page was last modified on 8 June 2012, at 05:29. Content is available under Creative Commons Attribution-ShareAlike 2.5 Spain License.