Chapter 3. KonaKart Features

Table of Contents

General Functionality
JSR 168 portlet
Content Management System Integration
Setup/Installation
Design/Layout
Multi-Store
Customer Functionality
Customer Groups - Wholesale/Retail
Call Center Functionality
One page checkout
Checkout without registration
Products
Digital Downloads
Bookable Products
Product Bundles
Gift Certificates
Reward Points
Indexed Search
Suggested Search
Product Tags and Tag Groups (Faceted Search)
Merchandising
Promotions
Marketing - Customer Tags and Expressions
Advanced Search Engine Optimization (SEO)
Reporting
Payment Functionality
Recurring Billing
Shipping Functionality
Tax Functionality
Returns
PDF Invoices
Java Message Queue Integration
Customer Events

General Functionality

  • KonaKart supports most popular databases through JDBC. (e.g. MySQL, PostgreSQL, Oracle, DB2, MS SQL Server are all supported in the download package).

  • Written in Java. Needs a servlet engine such as Apache Tomcat to run.

  • Modular approach with APIs at various levels. The APIs are available as Java APIs, SOAP, JSON and RMI. The JSON APIs are used by the jQuery plugin that allows the KonaKart application engine to be called using AJAX JavaScript calls. The variety of protocols supported, promote connectivity even from outside of the company firewall and allow client side applications (i.e. .Net, MS Excel etc.) to use the KonaKart engine. They also allow you to easily integrate eCommerce functionality into your current application, which may be for example, a content management system.

  • Completely multilingual.

  • Many objects contain custom fields to facilitate personalizations

JSR 168 portlet

  • We realize that many of you require eCommerce functionality integrated within your portal server or Content Management System. For this reason we have integrated KonaKart with some popular products that support the JSR 168 portlet specification. We currently have support for Liferay but KonaKart as a portlet should also work in other systems that support the JSR 168 portlet standard.

Content Management System Integration

  • KonaKart has been successfully integrated with many CMS systems using the APIs. An OpenCms module is available for KonaKart in order to demonstrate how to integrate KonaKart functionality within this popular Open Source content management system using the SOAP APIs.

Setup/Installation

  • Simple click and run installation through an installer.

Design/Layout

  • The store front application uses a JSP / Struts design. The source code of the JSPs and Struts Action classes is provided in the download so that they may be customized.

  • It is relatively easy to write a UI in the technology of your choice by directly calling the KonaKart APIs. One example of this is our Catalog Inspector Demo which consists of a Adobe Flash object created using Open Laszlo technology. Another example is the jQuery demo which shows how the KonaKart Application Engine API may be easily accessed using AJAX JavaScript calls made available by the KonaKart jQuery plugin.

Multi-Store

  • KonaKart provides advanced multi-store functionality to enable you to run your stores from a single KonaKart deployment and a single database.

  • There is a shared customers mode that allows you to share customers between all stores. This is very useful for shopping mall applications since a customer only has to register once in order to shop in many different stores.

  • There is a shared products mode that allows you to share products between stores. This means that the products may only exist once in the database for maintenance purposes, but may be included in many stores. The product price may be different for each store in which the product is included. This is a useful mode for companies setting up stores in different countries, selling the same products.

  • When KonaKart is configured to be in multi-store mode with a shared database (Engine Mode 2), product searches can span more than one store. They can span all of the stores, or a list of stores can be supplied in the search request.

    The ProductSearch object has a searchAllStores boolean which should be set to search all stores. If the search is only for a limited number of stores, then an array of storeId Strings can be set (storesToSearch) to identify which stores should be searched.

  • The administration application allows a super user to create a store and then create a store administrator role so that when the store administrator logs into the administration application, he can only administer the store that has been assigned to him.

  • For special cases where store data has to be kept within separate DB schemas, KonaKart can be configured to achieve this, although some of the functionality such as the sharing of customers described above, is not available in this mode.

  • When in shared customer mode, other data, such as countries, zones and tax information is also shared. This can save a great deal of time in administering a KonaKart multi-store installation as these objects only need to be set up once for all stores.

Customer Functionality

  • Customers can view their order history and order statuses.

  • Customers can maintain their accounts. They have an address book for multiple shipping and billing addresses.

  • Permanent shopping carts for guests and registered customers. The permanent cart for guests is managed through cookies.

  • Registered and temporary customers can create wish lists.

  • Registered customers can create a gift registry which can be made public or private. Public gift registries can be searched for by shoppers and items within the registry can be bought and shipped directly to the address of the registry owner. The store front application contains an implementation of a wedding registry.

  • Fast and friendly quick search, advanced search and suggested search features. Search for products by category, by manufacturer or both.

  • Product reviews for an interactive shopping experience.

  • Number of products in each category can be shown or hidden.

  • Global and per-category bestseller lists.

  • Dynamic product attributes relationship.

  • HTML based product descriptions.

  • Display of specials

  • Control if out of stock products can still be shown and are available for purchase.

  • Customers can subscribe to products to receive related emails/newsletters.

  • All emails are template driven and so fully customizable using the Apache Velocity template language.

Customer Groups - Wholesale/Retail

  • Control what prices are displayed to customers. i.e. You may show different prices to wholesale customers or company employees etc.

  • Enable promotions. Promotions may be enabled only for certain types of customers. i.e. You may want a 3 for 2 promotion to only apply to your retail customers.

  • Send communications. You may send out bulk emails only to customers that belong to a particular customer group.

Call Center Functionality

  • From the administration application, an administrator can open up a browser displaying the KonaKart eCommerce application and log in on behalf of a customer without requiring the customer's credentials. Once logged in as that customer, he can process orders for the customer and perform all tasks that are normally enabled for the customer when logging in independently.

One page checkout

  • One Page Checkout screen using AJAX technology

  • Existing customers go directly to the checkout screen where they can add coupons, change shipping methods, payment methods etc. and immediately see the updated total order amount without a screen refresh.

  • New customers can add address details as part of the checkout process. They don't have to go through a registration process.

Checkout without registration

  • KonaKart may be configured to allow customers to checkout without registering and creating an account.

Products

  • Each product may be configured with multiple options. Every configuration may have:

    • A unique price

    • A unique SKU

    • A unique quantity

    • A unique available date

  • Each product may be associated with a number of images.

  • Each product may be associated with up to 4 prices. The actual price displayed can be controlled by the customer group. The Enterprise Extensions package allows you to associate a product with an unlimited number of catalogs, each containing prices and stock information.

  • A special sale price with a start and end date may be defined for a product.

  • Tier prices or percentage discounts may be defined for volume discounting.

  • Each product may contain structured data as well as a description. The structured data can be used for comparing product features.

  • Each product may contain an unlimited number of custom attributes. Each attribute may include metadata for validation and widget selection during data entry using the Admin App.

  • Each product may contain an unlimited number of miscellaneous items which can have a type as well as a value. i.e. Useful for associating a product with multiple videos and documents.

  • KonaKart includes an import/export tool to efficiently load products into the database from a file, and to create a file from the products in the database.

Digital Downloads

  • A product may be defined as a digital download.

  • When a digital download has been paid for, a download link appears in the customer's private account page.

  • The download link can be set to expire after a number of days or after a number of downloads.

Bookable Products

  • A product such as a course or ticket may be defined as a bookable product.

  • Each bookable product has a start and end date and may have a schedule defining time slots for certain days of the week. Whenever a bookable product is purchased, a booking is created which is associated with the bookable product so that at any point in time, the number of bookings may be monitored.

Product Bundles

  • Bundle products can be defined in the Admin App. The quantity of the bundle product is calculated automatically and tools are provided to calculate the cost (optionally using discounts) and the weight. In the application, the bundled products are available in the product detail screen, the quantity available is calculated and the quantity in stock of the bundled products is decremented automatically when an order is processed.

Gift Certificates

  • Gift Certificate products may be connected to any type of promotion and activated through a coupon code contained within the certificate.

Reward Points

  • Reward Points enable you to increase customer loyalty and increase sales by rewarding customers for purchases as well as other actions such as registering, writing a review, referrals etc. The points may be redeemed during checkout.

Indexed Search

  • KonaKart has been engineered to manage product catalogs containing hundreds of thousands of products. In order to search for these products in an efficient manner, KonaKart may be configured to use the Apache SOLR enterprise search server based on the Lucene Java search library.

  • This powerful technology not only provides for a lightning fast search experience (including faceted searches), but also incorporates intelligence to correct common problems such as misspellings and plurals which often frustrate shoppers making them go elsewhere. For example, the words Television, Televisions, TV, TVs can all be configured to find televisions.

Suggested Search

  • As you type into the search box, a list of suggested search items appear matching the typed letters. The suggestions are weighted by popularity so the most common suggestions are shown first.

  • For each product, many suggestion terms are indexed such as the product name, model, category, manufacturer, manufacturer within a category and category for a manufacturer. This greatly increases the usability of the search and directs the user not only to products matching the search string, but also to categories of products or products for a manufacturer or products for a manufacturer within a category etc.

Product Tags and Tag Groups (Faceted Search)

  • Tags are attributes that can be associated to a product and can be used to refine product searches.

  • The purpose of a tag group is to organize tags and a tag group may be associated to a category so that it can be automatically displayed in a context sensitive fashion when a customer is viewing products belonging to a specific category.

Merchandising

  • Display what other customers have ordered with the current product shown.

  • For every product you may define a list of products for:

    • Up-selling

    • Cross-selling

    • Accessories

    • Dependent products (e.g. Service Plans or Extended Warranties)

Promotions

  • Very powerful promotions sub-system

  • All promotions can be associated with one or more coupons. Each coupon can be configured for unlimited use or to be used only for a programmable number of times.

  • The following rules can be set for all promotions:

    • Include only some customers (e.g. those that haven't placed an order in the last 60 days) or exclude some customers (e.g. those that have placed an order in the last 60 days). Configure how many times an included customer can use the promotion.

    • Include or exclude customers based on the customer group.

    • Include or exclude customers based on expressions.

    • Include or exclude products based on their category.

    • Include or exclude products based on their manufacturer.

    • Include or exclude any products at a product option granularity. (e.g. Promotion only applies to shoe size 7 or applies to all sizes except size 7)

  • Promotions may be cumulative (e.g. A promotion of 10% discount for all hardware products and a promotion of 20% discount for all software products) or promotions may be exclusive, in which case the promotion giving the largest discount is chosen.

  • All promotions may be configured to have a start and end date.

  • The promotions themselves are KonaKart Order Total Modules which can easily be developed and slotted into the KonaKart architecture. The source code of the available promotion modules is included in the download package.

  • The currently available modules are :

    • Order Total Discount

      • The promotion gives a discount on the total amount of the order.

      • You may set a minimum order value, the minum number of products, the minimum quantity of a single product, the discount as an amount or a percentage and whether to apply the discount before or after tax.

    • Product Discount

      • The promotion gives a discount on a product

      • You may set a minimum order value, the minimum quantity of a single product, the discount as an amount or a percentage and whether to apply the discount before or after tax.

    • Buy X get Y free

      • If the customer buys X + Y products, he only pays for X.

    • Shipping Discount

      • The promotion gives a discount on selected shipping methods.

    • Free Product

      • The promotion entitles the customer to receive a free product if the conditions of the promotion are met.

Marketing - Customer Tags and Expressions

  • The Enterprise version of KonaKart contains sophisticated marketing functionality that allows you to capture customer data as the customer uses your KonaKart eCommerce store; and to use that data within complex expressions in order to show dynamic content, activate promotions and send eMail communications.

  • Later in this document there is a chapter dedicated to this functionality.

Advanced Search Engine Optimization (SEO)

  • You have full control over which SEO features to activate. KonaKart allows you to define multi-lingual templates in order to write product information (name, model, manufacturer, category) into:

    • The URL

    • The window title

    • The meta description

    • The meta keywords

  • Google Base is a free Google service that allows you to publish your product information for inclusion in Google search results. The KonaKart Admin App allows you to easily publish your products to Google Base with the click of a button.

Reporting

  • KonaKart is integrated with BIRT which is is an open source Eclipse-based reporting system. The default installation package includes a number of useful reports. Others may be easily added through the Admin App or just by copying them to a directory where they are automatically read by KonaKart. Instructions can be found in the Reporting FAQ.

Payment Functionality

  • KonaKart implements an API and modular approach for introducing payment gateways. We include the source code of all currently available gateways.

  • Disable certain payment services based on a zone basis.

Recurring Billing

  • Support for Recurring Billing. Payment Schedule and Subscription objects have been introduced to support recurring billing natively using a KonaKart batch or through a payment gateway that manages the billing process at regular intervals.

  • Later in this document there is a chapter dedicated to this functionality.

Shipping Functionality

  • Weight, price, and destination based shipping modules

  • Free shipping based on amount and destination

  • Free shipping on a product by product basis

  • Disable certain shipping services based on a zone basis

  • KonaKart implements an API and modular approach for introducing custom shipping services. Popular services such as FedEx, UPS and USPS are provided out of the box.

Tax Functionality

  • Flexible tax implementation on a state and country basis.

  • Set different tax rates for different products.

  • Charge tax on shipping on a per shipping service basis.

  • Connect with online tax calculation services such as TaxCloud.

Returns

  • Returns may be managed from the Admin App. KonaKart can support multiple returns per order, each of which may contain different product quantities and have a unique RMA code.

PDF Invoices

  • PDF invoices can be created and sent to customers as email attachments and downloaded from the store-front application. The created PDF invoices can be stored on disk for archiving purposes or created dynamically whenever they are required.

Java Message Queue Integration

  • To support the guaranteed delivery of messages to external systems the Apache ActiveMQ java message queue has been integrated (Enterprise Extensions only).

    A typical example of where this might be useful is where you wish to transfer orders to another system via a message queue once your orders have reached a certain status (eg. once payment has been received).

Customer Events

  • Customer Events may be defined to save important event information that may be used for reporting purposes. For example, events may be inserted whenever a product is viewed or removed from the cart or when a customer starts and completes the checkout process.

    Events may be written to another database rather than the production database in order to not impact production performance. All events are written to a local queue which is emptied by a separate thread so that the insertion of events never becomes a performance bottleneck.