Configuring Bookable Products

The Enterprise version of KonaKart supports bookable products. A bookable product is a product that has a start and end time and may also have a schedule associated with it (i.e. a course which may be given for two hours a day on Wednesdays and Thursdays).

To configure KonaKart for selling bookable products, the following steps must be taken :

If your application doesn't support bookable products, you may remove the "Bookable Product" entry from the product type drop lists in the Admin App, by setting the Hidden Product Types configuration variable from the Configuration >> Admin App Configuration section of the Admin App. As can be read in the Online Help, the id for Bookable Products is 6 .

Whenever a bookable product is purchased, the code that processes the order may be found in the OrderIntegrationMgr and the AdminOrderIntegrationMgr in the manageBookings() method. For performance reasons the code that calls this method (within the managers) is commented out and must be uncommented. The manageBookings() method parses the order and creates one or more booking objects which are saved in the database. These booking objects are related to the bookable product, the customer and to the order so that the bookings for any product, customer or order may be fetched using the KonaKart APIs.

The Admin App allows you to view and edit bookings. The Products Panel, Customers Panel and Orders Panel all have a "Bookings" button that opens up a Bookings panel that displays the bookings for the selected object. The button is not displayed if the role of the admin user doesn't allow him to view the Bookings panel.

The Application API contains a method ( getBookableProductConflict() ) that determines whether for a customer, a new booking may conflict with bookings that the customer has already made.