Back Ground:
Butlers Tray (hereafter BT) was building an online takeout restaurant ordering system. Restaurants can register to become members and post their menu with prices and availability time slots. Registered customers can order and pay online with facilities to track orders and create favorite lists. Customers pay by credit card online to BT and BT transfers money to restaurants daily after deducting its commission. BT makes money through commissions from restaurants, subscription fees paid by restaurants and from banner advertising. In summary, there are 3 key parts:
- Administration Portal which the owners and employees of BT will use to track activity, set rules and publish content
- Restaurant Portal is an account area used by restaurant owners to set their menu with prices and time availability slots as well as zip coverage. Restaurants can track their orders and update fulfillment status. The log of the account balances and withdrawals can be viewed here.
- Public Customer Portal is the main website where both site visitors can firstly browse some informational pages to understand the service and go on to view specials from restaurants in their area or search restaurants by zip code and radius. Food can be ordered within the coverage radius from one or more restaurant. Customer can pay online and track the order.
BT sought an experienced IT services provider to help out in speeding up the construction of this application. The customer portal and admin area are in progress and the restaurant portal is yet to be created. A time and material billing arrangement was suitable as scope of work was fluid and evolving. Option Matrix recommended a module by module approach and screens for all features in a module must be frozen prior to commencement of coding so that there is no time or effort wasted in forward and backward discussion. Option Matrix uses dual verification in our QA procedures so that post shipment defects do not leak into client deliverables.
In this document we have provided the feature list and technology architecture overview for this restaurant portal.
Technology Architecture
The proposed application will be programmed in web architecture using PHP 5 and MY SQL 5 as RDBMS (LAMP architecture). Application architecture will be centralized for easy manageability. Application will be optimized for Internet Explorer 6+ but HTML 4 compliance will be preserved to ensure cross browser compatibility with other common browsers like Firefox, Safari and Netscape Navigator.
Cross browser compatibility is largely ensured through use of XHTML 1.0 and HTML 4 compliance. All application testing will be done in Firefox which has a more restrictive implementation of HTML / JavaScript and this ensures that it runs well in IE browsers too. Any cross browser issues will be debugged if they arise during module testing. Optimistic locking will be used in database operations to improve concurrent user performance. Extensive use of stored procedures will ease network traffic and database performance. The project developed in the LAMP environment. The acronym LAMP refers to a solution stack of software programs, commonly open source programs, used together to run dynamic Web sites or servers. The original expansion is as follows: Linux, referring to the operating system; Apache, the Web server; MySQL, the database management system (or database server); PHP, the programming language. Linux utilizes the latest stable kernel version. The underlying ext3 file system is a well-proven technology for both rapid recovery and protecting the integrity of the data on the server. Apache is developed and maintained by an open community of developers under the auspices of the Apache Software Foundation.
MySQL database, another robust open source tool that has revolutionized the way web pages, graphics, tables, and data sets of all sorts are served up on the web. Web-based databases in general, and MySQL in particular, have made it possible to build and present fully dynamic websites, capable of presenting content in real time. They have also helped to further the goal of separating content from formatting, speeding the load time of sites while making them far more manageable than in the past. PHP has, in just a few short years, become one of the predominant scripting languages on the web. With a relatively easy syntax and open source licensing, webmasters and developers around the world have migrated to PHP from the more difficult and syntactically challenging scripting languages like Perl.
PEAR coding standards were used throughout the application.
Feature List
We have listed the overall application features in terms of the capabilities that this application will provide to site visitors, restaurants, customers and admin users. These are just the partial list of features that we expect this application to have and we realize that the actual feature list may vary based on the vision / philosophy of the project.
Site Visitor Capabilities
Site visitors are people who open the home page of the website. They have access to information which is available without an explicit login. Content can be personalized based on the state where the user resides and we can determine the state by reading off the incoming IP of the visitor. Visitors must get registered before they can place an order.
- Browse informational pages on the site.
- Search for a restaurant using keyword and criteria filter
- View the special offers from restaurants within a preset radius of their zip code
- Checkout the featured restaurants
- Browse the profile pages of restaurants
- Browse the menu card of restaurants
- Browse the star rating and review comments for each restaurant
- Site Visitors can fill a registration form with CAPTCHA security to become a registered customer. Email verification will be included in the registration process.
- Site Visitors can fill a registration form with CAPTCHA security to become a registered restaurant. Site Admin must approve before the restaurant can pay the subscription fees and activate their profile. Email verification will be included in the registration process. There will be a free membership with access to all basic functions and a premium membership with privileged access to value added features like demographic / seasonal / location trend reports and ability to feature banner advertising / special offers or highlighted listings on the home page
- Site Visitors can subscribe / unsubscribe to newsletters.
Capabilities for Restaurants
Registered restaurant owners get a login account on this site and can manage their profile, menu card, browse payment log, customer orders and track visitor statistics.
- Approved Restaurants will get a login account which leads to an account page with facility to change password, update basic information given at the time of registration and logout. There will be a feature to recover the lost password.
- Restaurant Owners can manage their public profile page using a list and form interface where they can update details such as (A) primary and secondary keywords by which the restaurant can be searched, (B) summary page for the restaurant (C) Photo Gallery for the Restaurant (D) History and Unique Positioning of the Restaurant
- Restaurant Owners can update the menu card for the restaurant. This involves managing areas like (A) Cuisines (B) Sections / Categories within each cuisine (C) Food Items within each section with details like name, description, thumbnail image, price and availability timings
- Premium Users can publish banner advertisements on site home page targeted at users in their region. Active and previous advertisements can be monitored / managed using a grid and form interface.
- Premium Users can publish specials on site home page targeted at users in their region. Active and previous listings can be monitored / managed using a grid and form interface.
- Premium Users can publish a weekly showcase listing on site home page targeted at users in their region. Active and previous listings can be monitored / managed using a grid and form interface.
- Premium Users can browse PDF research reports. Full list of reports can be accessed at any time as per the policy set by site administrator.
- Restaurant Owners can browse customer orders and update order status.
- Restaurant Owners can view the payment log including accruals, receipts, commissions and subscription fees.
- Restaurant Owners can use a private message board to interact with BT staff and can post new messages, view received messages and browse the previous message history.
- Restaurant Owners can view the feedback comments and ratings. They may lodge a request to remove any objectionable reviews.
- Restaurant Owners can browse the list of success stories about emerging restaurants.
- Restaurant Owners can view a summary dashboard and a set of activity reports / statistics.
- Restaurant Owners get some personalization features like choosing their avatar or theme or currency or language.
- Restaurant Owners can create their staff accounts with limited delegated access rights.
- Restaurant Owners can selectively choose among options to subscribe / unsubscribe to newsletters.
Customer Capabilities
Customers are the site visitors who have registered and have a valid login accounts on the web portal. Of course, the customer registration is free and customers can form groups with a nomination for co-coordinator who can act of behalf of the group. The customers or groups can add items to the tray and either place individual orders or repetitive orders. Orders can be tracked and payments are made to BT with credit card integration.
- Customers can login, logout and change password. They can update their registration profile at any time. A feature is provided to recover lost password based on a secret code given during registration.
- Customers can add categories, locations, restaurants and specific food items to their favorites list. This list can be quickly used to assemble an individual order which can be either for a single restaurant or across restaurants.
- Customers can add specific items to an individual order and update the shopping cart / tray at any time. The checkout form has an automatic registration feature without the customer making any extra effort. Existing customers can enter their email and password to auto-populate the general fields in the checkout form. Successful checkout with credit card verification and payment creates an order confirmation page with order tracking number.
- Customers get the option to store their credit card information on file in the checkout process and can use this option to pay for future orders without having to reenter credit card details. SSL security and encryption of credit card details while storing in database table is essential. PCI compliance and shielding against SQL injection vulnerability is required.
- Customers can search for other customer and can invite others / accept invites to create a friend network. A bulletin board feature is provided to facilitate exchange of messages among the customers in a group. Each group can appoint a representative. The representative can define the ratio in which each member of the group will share the bills and such ratios are applied to orders placed by the group.
- Groups or individuals can also place contract orders on a specific restaurant where a pre-specified list of food items is delivered as per a daily schedule which repeats each week. Special payment terms can be negotiated and mutual agreed between the group and the restaurant. Payments are charged in advance either daily or weekly. Security deposits may be involved in this process and the site is expected to provide escrow services.
- Customers can view their orders and track status. Individual and group orders can be tracked separately.
- Customers can view their payment log including shared group payments
- Customers can view and manage their contracts
- Customers can view a tabular report of their weekly or monthly pattern of consumption across food categories and restaurants
- Customers can use the drop orders facility to place orders on restaurants in other cities and states and the food is delivered at a local address which is different from the customers own address
- Customers get some personalization features like choosing their avatar or theme or currency or language.
- Customers can selectively choose among options to subscribe / unsubscribe to newsletters.
Admin User Capabilities
Admin users include the site administrator who is the super user with all rights and delegated section administrators with limited rights in admin panel. The admin panel of this site is meant to track and manage all site activities including control on users, content, orders and statistics.
- Admin user can login, logout and change password
- Manage admin users with assignment of access rights in admin panel using an array of categorized checkboxes. Role based security may be used as well.
- Manage Restaurant Users with ability add, edit, delete, activate and deactivate users. Shadow login facility is provided to access any account if needed without the need for an explicit authentication. Filter search panel is provided.
- Manage Customer Users with ability add, edit, delete, activate and deactivate users. Shadow login facility is provided to access any account if needed without the need for an explicit authentication. Filter search panel is provided.
- Manage groups with ability add, edit, delete, activate and deactivate groups. Filter search panel is provided. Singular as well as contract orders placed by groups can be tracked.
- Manage orders with ability add, edit, delete, activate and deactivate orders. Order status can be updated. Orders are classified as (A) Singular orders placed by individual customers (B) Singular orders placed on behalf of groups (C) Contract Orders placed by individual customers (D) Contract orders placed by groups. Filter search panel is provided. Admin can send an email notification / message to any customer or restaurant (s) related to a particular order. Orders can be sorted further as single restaurant and multi-restaurant orders.
- Manage section names and content pages using a CMT editor interface. Define keywords for title tags, meta tags and alt tags for automatic inclusion in content pages to aid search engine indexing.
- Automatic generation and submission of URL List and SITEMAP XML to Google and Yahoo search engines
- Browse the payment log with query filter. API integration to merchant gateway for receiving credit card payments from customers is done. API integration for ACH transfer of cumulative daily or weekly payments to bank accounts of restaurants is done. Hence restaurant bank account status verification must be provided.
- Browse internal site statistics to know the restaurants, categories and food items that are most popular in specific regions or demographics. There will be an automatically generated dashboard to create a summary picture as well as a list of site activity reports. Such reports can be converted to PDF and sent as attachments to email notifications.
- Browse Google Analytics to track sources of site visitors.
- Manage default settings that impact all over the site
- Manage subscription fees and commissions for restaurants.
- Manage lookup options for choices that appear in drop boxes in forms all over the application.
- Manage master data lists such as the standard list of menu categories, cuisines and foot items.
- Setup VAT and any other taxes applicable on food and beverages. These rates may vary across states and regions.
- Declare the prizes or announcements about the best restaurant or any news which appears on home page of the site. Similarly the tip of day feature can be managed here.
- Browse and filter search for orders including singular orders, individual orders, group orders and contracts
- Message center to view new messages from restaurants and reply with email notifications.
- Summary reports with query filter to view status of orders, restaurant activity, group activity, order composition, payment summary, commission summary and other key metrics

Real Estate MLS Listings Portal
Online Virtual World For Mixed Martial Arts
Online Travel Guide & Vacations Portal
Online Restaurant / Catering Portal
Portfolio Showcase & E-Commerce Portal
Informational Portal for Hair Care Articles
Custom ERP for an Australian Book Publisher





This project provides a workflow for managing the appraisal process for real estate properties. The overall purpose is to define user accounts for clients and appraisers and allow clients to submit requests for appraisal while the appraisers can complete these requests as per allocation of client orders by administrator. more...


© 2009 Option Matrix InfoTech Pvt. Ltd.




