Chapter 3. KonaKart Features

Table of Contents

General Functionality
JSR 286 Liferay Portlet
ERP Integration
Content Management System Integration
Basic Content Management
Setup/Installation
Design/Layout
Multi-Store
Multi-Vendor
Customer Functionality
Customer Groups - Wholesale/Retail
B2B Features
Call Center Functionality
Social Login
One page checkout
Checkout without registration
Products
Digital Downloads
Bookable Products
Product Stock Reservation
Product Bundles
Gift Certificates
Product Recommendations
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
Order management
Returns
Refunds
PDF Invoices
Java Message Queue Integration
Customer Events
Exchange Rate Updates
Filters
KonaKart and KonaKartAdmin Tiles
Facebook Messenger Bot.
Export for Google Merchant Center / Google Retail

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, JAXWS 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 286 Liferay Portlet

  • In order to easily integrate the KonaKart Storefront and Admin applications into the popular Liferay portal environment, we supply ANT tasks that automatically generate portlets from the applications which can then be easily imported into Liferay. The storefront application maybe customized within an Eclipse based project to match you requirements before you generate the portlet.

ERP Integration

  • The Enterprise version of KonaKart provides features for integration with an ERP system by exchanging XML messages on a message queue (Apache MQ is bundled with KonaKart to support this feature). All of the key integration points are supported between KonaKart and the ERP system and vice versa.

Content Management System Integration

  • KonaKart has been successfully integrated with many CMS systems using the APIs. KonaKart tiles ( see KonaKart_Tiles.pdf in the doc directory) facilitates the integration effort by providing functional widgets that already have a template based UI design and that autonomously capture events and communicate with the KonaKart server. The JavaScript tiles communicate using the JSON API and AJAX.

Basic Content Management

  • KonaKart has some basic Content Management features that may be sufficient for some store owners who don't want to integrate with a sophisticated Content Management System for more advanced features.

  • With KonaKart you can define "Content" objects which can be anything you like including blocks of text, images and clickable banners. You can set up these content items in the Administration Application and access them via the KonaKart APIs to show in your storefront. Their use is demonstrated in the sample store that you get when you install KonaKart.

  • A powerful feature of KonaKart Content is that you are able to link content to KonaKart expressions. using this technique you can select content appropriate for each customer visiting your site.

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

  • Shared customers mode 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.

  • Shared products mode 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.

  • Shared products and shared categories mode allows you to share products and categories between stores. This mode can be very useful for using stores to provide one or more pre-production environments. KonaKart includes functionality that allows you to synchronize products between stores when working in this mode. Once the products in the pre-production store have been approved, they can be copied to the production store on the click of a button or through the use of a scheduled batch program.

  • 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 or shared product 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.

Multi-Vendor

  • KonaKart allows vendors to manage their own products and orders through the Admin App. The storefront application displays products from all vendors and allows the customer to checkout with any selection of products in a single order.

  • Vendor company information can be managed by KonaKart and customers can write reviews for vendors. The vendor details, average vendor rating and the vendor reviews can be viewed from the storefront application.

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.

B2B Features

  • Customer Hierarchies can be defined so that a corporate buyer can view and approve orders made by colleagues.

  • Catalog / Contract Pricing

  • Customer tags can be used to store customer privilege information in order to modify the behaviour of the storefront application for the B2B buyers based on their roles.

  • A customer type of B2B Customer Administrator can manage all B2B users for his company, directly from the storefront application. He can create, update, disable, delete users and define their roles such as whether they have an order limit or their orders require approval etc. He also has the ability to login to the storefront as one of the users he manages.

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.

Social Login

  • Social Login allows customers to sign into KonaKart using credentials from a social networking service such as Facebook, Google Sign-In and PayPal. It is designed to simplify the registration and login process since customers are not asked for a KonaKart specific username and password.

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

    Configurable options are also supported where a customer may enter the quantity or price of an option as well as text to customize a product.

  • 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. Both the Business and Enterprise Editions allow 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.

  • Variant prices may be defined to set a unique price for each product variant as well as a base price to be used if the variant price is not defined.

  • 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 Stock Reservation

  • Product stock may be reserved to avoid selling products that may become out of stock during the checkout process. This is a useful feature when selling products that must not be oversold.

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.

Product Recommendations

  • KonaKart uses an Artificial Intelligence engine to provide product recommendation suggestions. There are two types. One is suggestions for products based on products that were previously bought and the other is recommended products for each individual customer.

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 .

    • 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

  • XML sitemap generation. Sitemaps are an easy way for to inform search engines about pages that are available for crawling.

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 Chapter of this User Guide.

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.

  • Shippers and Shipments can be defined and saved in the database. Multiple shipments may be defined for a single order. The shipments (including tracking number) can be included in a notification eMail and are visible from the order details page of the storefront application.

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 and Avalara.

Order management

  • The lifecycle of an order may be managed through the Admin Application or through the APIs driven by an external system.

  • An administrator may modify and resubmit a customer order. KonaKart archives the previous order so that an audit trail is kept.

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.

Refunds

  • Real time credit card refunds through the payment gateway can be managed from the Admin App. The full details of the refund transactions are saved in the database.

PDF Invoices

  • PDF invoices can be created and sent to customers as email attachments and downloaded from the storefront 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.

Exchange Rate Updates

  • A batch job and associated module are available for Business and Enterprise Edition users to provide live exchange rate updates. The module implements updates to the KonaKart currencies table using data provided by the CurrencyLayer service (http://www.currencylayer.com). Contact us for more information about this feature.

Filters

  • Filters are a Business and Enterprise-Only feature that can be used to filter records on a per user basis. Initially the filtering is only supported in the base product for Orders.

    The idea is that you can create filtering rules that define for each user which orders they can see. This feature can be used to implement order processing workflow in the KonaKart Admin Console or in your own workflow tool.

KonaKart and KonaKartAdmin Tiles

  • Tiles can be regarded as building blocks for creating an eCommerce application that can be easily integrated into a front end system such as a CMS or portal. The documentation for tiles maybe downloaded from the KonaKart web site and is also available as PDF documents in the doc directory after installation (KonaKart_Tiles.pdf and KonaKartAdmin_Tiles.pdf).

Facebook Messenger Bot.

  • A Messenger Bot to help customers find products managed by a KonaKart store, using the Facebook Messenger interface and Wit.ai artificial intelligence. Full source code is provided allowing you to add your own bespoke functionality. The documentation maybe downloaded from the KonaKart web site and is also available as a PDF document in the doc directory after installation (KonaKart_Messenger_Bot.pdf).

Export for Google Merchant Center / Google Retail

  • A batch job is provided that can be executed to produce an XML file for importing into Google Merchant Center / Google Retail.

    It is expected that customers may wish to modify the default batch job that is provided to work with the specific characteristics of the products in their particular store. The source code for this job is provided for this purpose. The source can be found at the following location under your installation home:

    custom\batch\src\com\konakartadmin\bl\AdminProductExportBatchMgr.java