Shop Module

The shop module allows items to be sold through the website.


The customer can view the list of products using the "List All Shop" left hand menu button for from the sites main menu. Here they can scroll through the products and add items to a shopping cart.
Once they have added all of the items, they can use the "Place order" button on the shopping cart view to go through the ordering process. If they are logged in most of the order fields are filled in from their account details. They will receive an email once they have completed the order.


The system is pretty basic and simple to use. A user, who has the "adminShop" role, can manage the shop adding or disabling products and managing customer orders. The system adds incomming orders, that have been paid for, to a database list of orders and emails the administration people that an order has arrived with links within to view the order so that it can be dispatched.

When an order arrives the tasks are:
  1. Click on the email's "Order View" link to view the order or go to the main shop page and view all orders using the Orders function in the left hand menu and click on the "Name" field of one of the orders.
  2. You can download the order details as a PDF file using the "Order Form PDF" green button.
  3. Once posted you can click on the "Mark Order Dispatched" green button.
You can view all outstanding orders using the left hand menu's "Orders" function. Note that only those orders in the "ordered" state should be despatched as those in the state "awatingPayment" have yet to be paid for.


The following parameters can be configured:
Group List List of product groups
Category List List of product categories
Postage Cost The postage cost in GBP
Tax Rate The VAT rate as a percentage
Administration email addresses Comma separated list of admin email addresses

As well as these there are the following configuration items in the Websys config.php file:
shopCardType The card account type to use for credit/debit payments
Allow the use of BACS payments
Allow the use of BACS payments by admin people only


Products can be managed using the left hand menus "Products" or "Product Add" functions. Products can be enabled for sale and be only available to members if wanted. A description can be added as well as up to 4 pictures. Each product has a price and the number of items in stock.
The priority field moves the product higher up the list of products shown.


When a shopper make an order, it will be added to the Orders list and the admin people will ge an email. The "Orders" function allows the current and past orders to be viewed, edited and deleted.
The Select box allows a selection of current or previous orders to be viewed below. Normally it only shows the orders marked as "pending". The Pending field is a tri-state so it can show orders with pendfing set, pending not set or either.
Each order has a state which can be one of:
An order in the shopping cart
The order is awaiting payment, either the credit card payment failed or it is a bacs or cheque payemnt awaiting confirmation by the treasuererwho uses the payments system to mark off items paid.
The order has been paid for and is awaiting shipment
The order has been dispatched.

There is also a "pending" flag that can mark orders as needing some work. This is set auomatically on new orders and cleared when orders have been marked as dispatched using the "Mark Order dispatched" button.
You can get a PDF order form using the "Order Form PDF" button and mark the order as despatched using the "Order Dispatched" button.


Each product has a stock number field that can be initially set and chaned when required. Whenever items are sold the number of items in stock are auomatically reduced as needed.

BACS Payments

When an order is made using a BACS or other such delayed payment type, then the order is set to the state "awaitingPayment". No email to the shops admin is sent at this time buy an email to the payments admin is sent.
Once the BACS transfer has gone through the treasurer should use the "Mark as Paid" button on the payment in the payments system. When this is done the payment is parked as paid and the shop's order is moved from the state "awaitingPayment" to "ordered" and an email is sent to the shop administrators so they can process the order.