Home Shop Contact Us Links Help Warranty Shipping  
 
 
 
 
  Log In | Lost Password | View Shopping Cart | Check Out
 





HARTCO E-Commerce Automated Retail/Wholesale Shopping Cart Web Site Program


Hartco Engineering Web Site - Functional Specification

Table of Contents:

1. Overview
2. Audience
    a. Individual Customers
    b. Resellers
    c. Vendors
    d. The Client
3. Operational Specifications
    a. Order Initiation
    b. Shipping
    c. Reconciliation
4. Data Specifications
    a. Products
    b. Sub Categories
    c. Categories
    d. Users
    e. Vendors
    f. Purchase Orders
    g. Purchase Order Detail
    h. Shipments
1. Overview

The primary purpose of this website software is to automate the ordering of goods sold by the client (one who purchases this website software) to individual customers and resellers. The level of automation extends to vendors who manufacture or distribute the goods sold by the client. In addition, the web site will also facilitate the tracking of shipments made by vendors to customers of the client, and assist in invoicing, billing, and will interface with the clients QuickBooks Premier accounting software.

The scope of this web site encompasses the basic graphic design and page layout as well as application programming and e-commerce as on this www.hartco-eng.com web site.

This product is ordered in two parts. The first is a non refundable deposit required to set up your site on our server. Here you will put in initial products, vendors, and customers and have a chance to work with and test the site to your satisfaction. Once you are satisfied with the site you will be required to purchase the remaining balance.

There are additional seperate fees involved for allowing credit card processing through your site.

Here are the server specs and the additional software listed here that you will need. You will need an SSL certificate. Your server provider can be the best resource for help with this.

Scripting
----------------------
PHP Version 4.3.4
- libcurl/7.10.5
- OpenSSL/0.9.7b
- zlib/1.1.4
- MySQL 3.23
(The four items listed here are options in PHP that need to be enabled)
Database
----------------------
MySQL Server 3.23
Operating System
----------------------
Windows 2000 Server
*OR*
Linux

Web Server Software
----------------------
Microsoft Internet Information Server (IIS) Version 5.0
*OR*
Apache Web Server 1.3


2. Audience

The website will have four major target audiences; individual customers, resellers, vendors, and the client.

a. Individual Customers
An Individual Customer is any retail customer who can order from the website at list price. The Individual Customer interface will be that portion of the website that is publicly available with out restriction. An Individual Customer can:

• Browse the website for any of the client’s products.
• Purchase any product sold by the client using a credit card only (Compatible Merchant Account Required).
• Set up an account profile for future visits to the web site (see Data Specifications).

b. Resellers
A Reseller is a person or organization who is reselling the client’s products to a different client-base. It is important to note that Resellers and Individual Customers are nearly identical with the two major exceptions: 1.) Some resellers are invoiced and 2.) Account profiles are set up by the client, not by the reseller. The Reseller interface is identical to the Individual Customer interface with two exceptions: 1.) A reseller must log in using a username and password set up by the Client and 2.) The prices offered the Reseller will be at a discounted rate (percentage based, per Reseller) off the list price. A reseller can:

• Browse the website for any of the client’s products.
• Purchase any product sold by the client using a credit card, or be billed at NET 30 terms as determined by the client.

c. Vendors
A vendor is a person or organization who manufactures or distributes goods sold by the client. The Vendor interface is password-protected and available only if the Client has authorized them to do so. Vendor account profiles are set up and maintained by the Client. A Vendor can:

• Enter all information appropriate to the shipping of goods to the Client’s Individual Customers (see Data Specifications).

d. The Client
The client’s primary use of the web site is to track orders made by individual customers and resellers, and to interface with their own in-house accounting software, QuickBooks. The Client can:

• View all outstanding orders made by Individual Customers and Resellers.
• View fulfilled/reconciled orders made by Individual Customers and Resellers.
• Add/Edit account profiles for Individual Customers, Resellers, and Vendors.
• Export a data file to be imported into QuickBooks.
• Add/Edit/Remove products and categories.
• Perform any maintenance as necessary.

3. Operational Specifications This section outlines the flow of data and the significant events which occur throughout the ordering process.

a. Order Initiation
An order is initiated by an Individual Customer (a user) or Reseller. While browsing the web site, a user can add any quantity of a product offered by the Client to a shopping cart. The shopping cart stores pertinent information about the product to be purchased. When done browsing, the user has the option to check out (purchase). At this time the user has the option of setting up a new account profile (Individual Customers only), or retrieving a previously set up account profile (see Data Specifications). Resellers will have to log in before adding products to the shopping cart to receive any discount offered by the Client. Once an order has been placed and confirmed, the following will take place:

• A printer-friendly email will be sent to each Vendor that is responsible for an item ordered. A Vendor will see only those items that they manufacture, and will not see the purchase price.
• An email notification will be sent to the user noting the items ordered and the order amount less shipping charges. The user will be notified that shipping charges will be added to the final invoice.

At this point the order is considered outstanding. No charges will be made until all items are shipped. Users will have the ability to log in at any time to track the progress of their order, as well as view any previous orders they may have placed.

b. Shipping
As Vendors ship items, they will log in to an administration area where they can enter all appropriate information pertaining to the shipment of products ordered. It will be required that a Vendor ship all items they are responsible for in any given order at one time. No provisions will be made in the administration area to split up the shipping of any order.

Once the last item in an order has been shipped, the following will take place:

• The final order amount will be charged to users paying by credit card.
• A receipt will be sent to users paying by credit card, and an invoice will be sent to those who have pay NET 30. Each of these will be sent by email and be designed to be printer-friendly.
• An email notification will be sent to the Client noting that the order has been shipped by all vendors and that the user has been billed or invoiced. If a charge has taken place, any information about the transaction will be sent to the Client via this email.

At this point the order is considered fulfilled.

c. Reconciliation
Once an order has been fulfilled, the Client has the capability to download a file containing all information necessary to import into QuickBooks. Once the file has been created and downloaded, the order is considered reconciled.

At this point the order process is complete. Information about the order gathered throughout the order process will be retained in the online system until such a time that the Client deems it necessary to remove it.

4. Data Specification
This section outlines data that is stored by the online ordering system. It is not intended to be an exhaustive list of all data fields, only a list of data pertinent to the Client’s business.

Data in the system can be broken down into entities (tables), which represent people or objects. Each entity has properties (data fields), or attributes, as outlined here. If an entity, or an attribute of an entity, does not appear on this list, it can be assumed that the online ordering system will not will not account for it. Some attributes are required and are typed in bold face.

Entity Definitions

a. Products – A product is an item offered for sale by the client. Any two or more products may be similar in manufacture, but if any of the attributes are different (color, size, …) it is to be considered a unique product unto itself. A product may have one or more of the following attributes:

• ProductKey – or part number, this is to be determined and entered by the client. This alphanumeric code must be unique within the system.
• VendorKey - This is an alphanumeric code, which is assigned to the vendor by the client. Each Vendor ID must be unique within the system.
• ProductName – This is a short product name used for display on the web site and tracking systems.
• ProductDescription – This is a detailed description used for display on the web site.
• ProductPrice – This is the list price for the product.
• ProductImagePath – This is a path to the image file on the database, it is used internally by the online ordering system.
• ProductStatus – This attribute identifies whether or not the item is to be displayed on the web site. It allows for temporary removal of a product from the web site without the need to delete it from the system.

b. Sub Categories – A sub category is a sub-division of categories. SubCategories contain products. A product can be in only one sub category, and a sub category can be in only one category. It is permissible to have two sub categories of the same name under two different categories. They are, however, still two distinct and different sub categories. SubCategories have the following attributes:

• SubCategoryName – This is a description of the SubCategory to be created and entered by the Client for display on the web site. Primarily used for navigation through the site.

c. Categories – A Category is the highest level of division for products. Categories contain SubCategories. Categories have the following attributes:

• CategoryName – This is a description of the Category to created and entered by the client for display on the web site. Primarily used for navigation through the site.

d. Users – A User is either an Individual Customer or a Reseller. They are treated as one entity because a Reseller is essentially a specialized Individual Customer. Even though they are treated as one entity, each is treated differently by the system. A user has the some or all of the following attributes:

• UserKey – This is a numeric code generated by the system to uniquely identify a User.
• UserReferenceID – This optional alphanumeric code for reference to an external system.
• UserName – This is the full name of the User, intended to be a person’s name, not an organization.
• UserEmail – This is the email address of the User. All correspondence to the User is sent to this address.
• UserPhone – This is the contact phone number for the user (optional).
• UserLogin – This is the login name the User will use to access their account profile.
• UserPass – This is the password the User will use to access their account profile.
• UsersReseller – This is a flag, which will identify the user as a Reseller.
• UserResellerDiscount – This is the percentage discount a reseller receives off the list price, not applicable to Individual Customers.
• UserInvoicing – This is the method by which payments are made to the Client. Valid entries are Credit Cards, or NET 30.
• UserCardNumber – This is the credit card number to be billed, not applicable to NET30 Users.
• UserCardExpiration - This is the expiration date of the credit card to be billed, not applicable to NET30 Users.
• UserBilltoAddress
• UserBillToCity
• UserBillToState
• UserBillToPostalCode
• UserBillToCountry
• UserShiptoAddress
• UserShipToCity
• UserShipToState
• UserShipToPostalCode
• UserShipToCountry
• UserStatus – This attribute identifies whether or not the User can log in to the system. It allows for temporary removal of a User from the web site without the need to delete them from the system.

e. Vendors – A Vendor is a person or organization that manufactures goods sold by the Client. Vendors have the following attributes:

• VendorKey – This is an alphanumeric code generated and entered by the Client which uniquely identifies a Vendor.
• VendorName – This is the name of the person or organization.
• VendorEmail – This is the email of the Vendor. All correspondence with the Vendor will be sent to this address.
• VendorLogin - This is the login name the Vendor will use to access the Vendor Administration area.
• VendorPass - This is the password the Vendor will use to access the Vendor Administration area.
• VendorStatus – This attribute identifies whether or not the Vendor can log in to the system. It allows for temporary removal of a Vendor from the web site without the need to delete them from the system.

f. Purchase Orders – A Purchase Order stores all information pertaining to an order except for the products ordered (see Purchase Order Detail below). Much of the information here is duplicated from the Users table to reduce data dependency. Purchase Orders have some or all of the following attributes:

• PurchaseOrderKey – or Purchase Order Number. This is an alphanumeric code generated by the system using a method determined by the Client. This code must be unique within the system.
• UserKey – This is the numeric code of the User that placed the order.
• UserReferenceID – See Users above.
• UserName – See Users above.
• UserEmail – See Users above.
• UserPhone – See Users above.
• UserBilltoAddress – See Users above.
• UserBillToCity – See Users above.
• UserBillToState – See Users above.
• UserBillToPostalCode – See Users above.
• UserBillToCountry – See Users above.
• UserShiptoAddress – See Users above.
• UserShipToCity – See Users above.
• UserShipToState – See Users above.
• UserShipToPostalCode – See Users above.
• UserShipToCountry – See Users above.
• PurchaseOrderInvoicing – – See Users above.
• UserCardNumber – See Users above.
• UserCardExpiration – See Users above.
• PurchaseOrderDate – This is the date the order is placed.
• PurchaseOrderInvoiceNumber – This is the Invoice number generated by the system after the order is fulfilled.
• PurchaseOrderInvoiceDate – This is the date the invoice is created.
• PurchaseOrderStatus – This identifies the status of the order. Valid entries are Pending, In Transit, Fulfilled, and Reconciled
o Pending – The order has not yet been placed; the user is still shopping or has left the web site without checking out.
o In Transit – The order has been placed and is awaiting shipment.
o Fulfilled – All items have been shipped and the user has been billed or invoiced.
o Reconciled – Order information has been exported to QuickBooks.

g. Purchase Order Detail – The Purchase Order Detail stores all information about the products associated with a Purchase Order. This equates to a line item on a Purchase Order. Much of the information here is duplicated from the Products and Vendors tables to reduce data dependency. Purchase Order Details have some or all of the following attributes:

• PurchaseOrderKey – This is the alphanumeric code, which associates this item with a Purchase Order.
• ShipmentKey – This is an internal system code which ties this item to its shipping details (see Shipments below).
• VendorKey – This is the VendorKey for the Vendor responsible for this product.
• ProductKey – This is the ProductKey for the product ordered.
• ProductName – see Products above.
• ProductDescription – see Products above.
• ProductPrice– see Products above. Note that this price will reflect any discounts offered to Resellers.
• ProductQuantity – This is the quantity of this product ordered.
• VendorName – see Vendors above.
• VendorEmail – see Vendors above.

h. Shipments – A Shipment contains all information about a shipment from a Vendor to a User. It is the vehicle through which Vendors will update the status of a shipment, and through which Users can check on the status. It will be required that a Vendor ship all items they are responsible for in any given order at one time. No provisions will be made in the administration area to split up the shipping of any order. A Shipment has the following attributes:

• ShipmentKey – This is a system generated numeric code to uniquely identify a Shipment.
• ShipmentCarrier – This is the carrier through which the Shipment was sent.
• ShipmentCharges – This is the total shipping cost for all items in a Shipment.
• ShipmentDate – This is the date the Shipment was made.
• ShipmentTrackingNumber – This is the tracking number supplied by the carrier.
• ShipmentHandlingCharge – This is any handling charge associated with the Shipment.
• ShipmentInvoiceNumber – This is the Invoice Number from the Vendor to the Client.



Available Options:
HEI 00101 Initial set up deposit $500.00 Qty:
HEI 00102 Required Balance when satisfied $395.00 Qty: