DeliMonkey

Table of Contents



PHASE1


PHASE1 Tasks.

PHASE1

DeliMonkey


Objective


Create an on-line food ordering system.

This will be a portal of independent store fronts and shopping carts. Each shopping cart checks out to the same payment gateway account. I STRESS.. THIS IS NOT A DROP-SHIPPING website. So if you think you already have a site similar to this YOU ARE WRONG! And you will not be considered for this project. Unless you were the team that built the 3 sample sites below, then you haven't built a site similar to this project.


Sample sites that already exist:

http://www.grubhub.com (very nice and simple user interface)

http://www.delivery.com

http://www.menusnearu.com (excellent proximity search for phase2 of my project but it is not friendly for guest users or browsing existing menus)


ABOUT ME

There will be many features added to this project over time. This is a very long term project. Believe me... Even if you think you have programmed a site similar to this or the ones listed above, I have way more features to add than anything you have ever seen or can imagine. I have 15 years of programming knowledge and I have been in the food industry for the past 7 years. So I know how to integrate all my ideas, but I am not proficient at coding anymore. However, I am very familiar with PHP, MYSQL, CSS, HTML, SMARTY, and JQUERY as well as a few PHP frameworks, DRUPAL, JOOMLA, KOHANA.


WHAT I WANT FROM YOU

1. I want to know what features can provide to me as a phase1 milestone for a budget between $2500 - $3500.

2. I have this project started in KOHANA and would like to keep it in KOHANA.

3. What technologies you plan to incorporate.

4. Date that you can start project.

5. How long it will take to complete phase1

7. Nothing will ever be encrypted. I want all source code.

8. I might request sample code from one of your projects.

9. CODE and PRESENTATION will be kept SEPERATE!!!!!! NO LAZINESS!!! This project uses KOSTACHE template engine. I don't want to see PHP mixed in with HTML!!!!!

ABOUT YOU

Any team that has worked on a food website will be a plus.

But even if you have not worked on a food website, if you ask the right questions I will know if you grasp the concept.

I DO NOT need to see 100's of samples of websites that you were ever involved in.

I know that all of you guys have worked on 100's of drop-shipping malls. This is not a drop-shipping business model!

I might however ask to see some samples of your source code. Because anybody can make a website look good, and still have a ball of string underneath the hood.


TERMS AND CONDITIONS

This will be a pay as we go project.

You provide results every day or 2 and I will pay every day or 2.

I have seen too much crappy programming out there, to feel safe with giving anybody money upfront..

I have seen frameworks that are touted as being the best and then find out how poorly designed they really are.

Magento is considered the best thing since sliced bread because its an MVC framework and uses tons of OOP. Magento is not so great. It is bloated and it is geared toward drop shipping only, and it is very very slow.

XCART was supposed to be very good too. But it has tons of pay for addons that nickel and dime you to death, the tables are over normalized, and they use the smarty templating engine like it is a programming language.


Phase 1 will focus on desiging the proper table structures(i have most of these already), user interface, and basic e-commerce functionality.

Phase 2 will focus on upgrading the mall interface to add mall level store searching, product searching, and proximity searching at the mall level.

Phase 3 and beyond will focus on adding some value added unique features.


Just to get started I would like the very basics of an e-commerce system but with TRUE mall capability. This is not a drop-shipping business model.
Basic shopping cart features. And if anything additional makes sense to be in PHASE 1 without a lot of effort.


In PHASE1 This site will be marketed from within each store as single store sites. PHASE2 will be geared toward the mall features. I need my startup costs to be kept to a minimum. It would be benificial but not mandatory if JQUERY were used for the javascripting because I have experience with it.

Objective

DeliMonkey


Mall Level Features


The site owner will be the mall administrator.

The mall administrator will have total control of all mall functions and all store functions.

The mall owner should be able to log in once and be able to configure any mall feature, or any mall function under his id.

PAYMENTS

PHASE1

Credit Card and COD will be the only 2 methods to start. (phase 1).

All Credit Card(CC) payments will go to a single gateway processor owned by the mall admin. (merchantone.com) (I have sample code to write the interface)

PHASE2

Paypal and other forms of payment to be added such as invoices, blanket #s.

MALL SERVICE FEES

PHASE1

A mall transaction fee will need to be configurable by each store, flat rate or by percentage, and by payment type.

The mall Credit Card Transaction fee will be independent and in addition to the standard gateway transaction fees.

The gateway processor will have 2 fees. 1. percentage fee. 2. flate fee. These will be combined and added to the mall transaction fees for each store.

COD payments may or may not be free to the vendors. So it will need to be configurable.

The gateway processor will have standard gateway fees per transaction. I will need this to be configurable at the mall level.

Examples:

I may want to charge STORE1 5% of all CC transactions, and $1 for each COD transaction.

I may want to charge STORE2 $1 per transaction reguardless of payment type.

Some stores may not have an interactive menu. They might just use scanned images for viewing.

Those types of vendors will be charged a flat rate monthly or yearly mall fee.

PHASE2

I will need to keep statistics of the payment types for all transactions, then I can use this to adjust a flat rate service fee. (PHASE2)

I will want an additional and optional FLAT SERVICE FEE charged monthly or yearly to the vendor. (PHASE 2)

USERS

Users must register before they can purchase anything.

User will have the option to store their credit card information for future purchases.

Users can accumulate reward points for purchases. It would be nice to track how many point per store as well as total points.

The points per total purchase minus taxes should be configurable as a default at the mall level but allowed to changed at store level.

TAXES

Taxes should not be included in total bill when calculating point rewards.

Taxes should not be included in Credit Card Transaction Fees above the gateway base fees.

In other words. I do not want to make money from taxes on anything I charge the vendor above the standard gateway fees.

PHASE2 or PHASE3

The mall admin will have multiple ways to allow stores to be listed in the mall.

The mall will need to have a section for stores to bid for ad space. Whereby the highest bidders show up.

The mall will need to have a section for stores be rotated randomly. This keeps it fair for the smaller guys.

The mall will need some space to display the newest stores for 1 week or by a configurable time period.

Consumers will need a way to search for stores in the mall.

Consumers will need a way to sort stores.

The mall will display the stores logo, store name, store location, and store attributes.

Mall Level Features

DeliMonkey


Store Level Features


User Interface

Each store should have its own shopping cart.

When a user leaves a store they should be prompted to clear the cart for that store or remember it for future visits.

When a user enters a store they should be reminded that they have items in that stores cart if it applies.

Users can only check out from 1 store at a time.

Each store should always display a convenient link back to the mall level.

Delivery Minimum Order Value. not including taxes.

Credit Card Minimum Order Value. not including taxes.

Shipping modules should stay but 2 additional methods will be needed. Pick-up, and Delivery will be needed. A delivery fee can be configured by at store level. The default delivery fee will come from the mall configuration. But is configurable at store level.

When a consumer places an order they will need the option to specifiy ASAP or a date and time in the future for the delivery or pick-up to happen.

Store Attributes:

Delivers or Not.

Delivery free or fee.

Delivery days and hours.

Store open Hours.

Store open Days

ADMIN

Order Screen so vendor can see new orders when they arrive.

Some vendors cant afford to have a computer to see new orders, so they will need to receive fax notifications of the order.

ORDERS

Orders should have a status field that identifies the state of the order. NEW -> RECEIVED -> DELIVERED or READY --> COMPLETED

Fax type orders probably will only have a status of NEW -> COMPLETED.

When an order is faxed, the store owner will need to call the customer for confirmation.

Because COD orders are risky, their should be a way to ban a user by phone number. So if for some reason someone is fraudulant their phone number can be marked or black listed. This will help if they try to re-register in the system they wont be able to use the same phone number.

Store Level Features

DeliMonkey


Table Structures


The table structures have been created and have some functionality already built for stores, products, product options, and users.

Table Structures

DeliMonkey


Gateway API and Sample Code


I ahevn't decided on a payment processor yet....

Gateway API and Sample Code

DeliMonkey


Guidelines


Preferred Development Technologies

These are my preferred technologies to use. However other may be recommended as well.

KOHANA

KOSTACHE template engine.

HTML

CSS

MYSQL

JQUERY


Captchas

I hate captchas, but they are an important anit-spamming feature.

So if captchas are to be incorporated they must be simple and friendly.

The math kind are friendly.

User Friendliness

This is the age of computers. If the computer can do it... Dont make the user do it manually. Seems like a simple concept but it is constantly overlooked.

Example: Every single website that you register at ,makes you enter your CITY and ZIPCODE. This site will use a ZIPCODE lookup table provided by me to lookup and automatically fill in the user CITY. Simple feature but more than 99% of websites overlook this feature.

The login screen should accept a userid and/or the email address as the login id.

Guidelines

DeliMonkey


Global Product Options


Suggested Tables Structures for GLOBAL PRODUCT OPTIONS

After seeing zencart product options it might be desirable to add a option_label field in the idx table so you can

use an existing option group but change its display name according to product.

So you might create an option named SIZE and use it for all size attributes. But it would be possible to have it display differently for different products. like Platter Size or Drink Size or Coffee Size.

--

-- Table structure for table `MALL_options`

--

CREATE TABLE IF NOT EXISTS `MALL_options` (

`option_id` int(16) NOT NULL AUTO_INCREMENT,

`option_name` varchar(40) NOT NULL DEFAULT '',

`option_desc` varchar(120) NOT NULL DEFAULT '',

`option_type` varchar(20) NOT NULL DEFAULT '',

`option_hv` varchar(20) NOT NULL DEFAULT '',

PRIMARY KEY (`option_id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=26 ;

--

-- Table structure for table `MALL_options_attributes`

--

CREATE TABLE IF NOT EXISTS `MALL_options_attributes` (

`attribute_id` int(16) NOT NULL AUTO_INCREMENT,

`attribute_name` varchar(30) NOT NULL DEFAULT '',

`attribute_desc` varchar(120) NOT NULL DEFAULT '',

`option_id` int(16) NOT NULL DEFAULT '0',

`image_id` int(16) NOT NULL DEFAULT '0',

PRIMARY KEY (`attribute_id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=102 ;

--

-- Table structure for table `MALL_options_products_assignment`

--

CREATE TABLE IF NOT EXISTS `MALL_options_products_idx` (

`assign_id` int(16) NOT NULL AUTO_INCREMENT,

`product_id` int(11) NOT NULL DEFAULT '0',

`option_id` int(16) NOT NULL DEFAULT '0',

`option_order` int(4) NOT NULL DEFAULT '1',

`attribute_id` int(16) NOT NULL DEFAULT '0',

`attribute_price` decimal(30,2) NOT NULL DEFAULT '0.00',

`attribute_weight` decimal(30,2) NOT NULL DEFAULT '0.00',

`option_symbol` char(1) NOT NULL DEFAULT '',

`attribute_checked` tinyint(1) NOT NULL DEFAULT '0',

`attribute_order` int(4) NOT NULL DEFAULT '1',

`use_none` tinyint(4) NOT NULL DEFAULT '0',

PRIMARY KEY (`assign_id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=80 ;

Global Product Options

DeliMonkey


Source Files


The following links will download Kohana, and the aplication(compressed), and the table structures(uncompressed with some sample data).

http://www.delimonkey.com/delimonkey/downloads/delimonkey_2_20_11.tar.gz

http://www.delimonkey.com/delimonkey/downloads/mall.sql

Source Files

DeliMonkey