Tech Articles‎ > ‎Point of Sale‎ > ‎

Creating filtered product or customer lookup grids

**This article has been moved to our new wiki site - please see the most recent version there**

With Cloud Retailer you can create a POS button that a cashier can click to bring up a product/ customer search OR you can create a filtered list.  This can be valuable in all sorts of scenarios like:

-A locksmith shop wants one button that brings up a list with all of their labor type products.
-A beer shop wants a button to bring up all of their 24 pack 16oz cans
-A wholesale Liquor store wants to search for wholesale or store customers at the POS and only see those customers.

The list could go on forever, very handy.

Once the filtered list appears the cashier can select one or they can search.  When they search it will only search the filtered group.  Here's how you do it:

1)  Go into your Task Pad and create a button with one of the command types "LookupProductsCommand" or "Common: Lookup Products" or "Customers: Lookup Customer Dialog"

2)  Inside the command parameters insert something similar to this:

{Filters: [ {PropertyName: 'Size', Operator: 'eq', Value: '24 pk cn 16oz'}, {PropertyName: 'Department', Operator: 'eq', Value: 'Beer'}]} 
{Filters: [ {PropertyName: 'Tags', Operator: 'ct', Value: 'Wholesale'}]}

3)  Set all other button options up as you choose.

The filter above would show all items that have a size that equals (exactly) '24 pk cn 16oz' AND are from the department with the name of  'Beer'.
It will show all customers with the Tag "Wholesale"

Other filter types and their datatypes are:

int ProductId 
string PrimaryProductCode
string ProductCodes (these are the alternate product codes, can list multiple delimited by a space)
string Description
decimal RegularPrice
string Size
string Department
string Category
string Classification
string Tags

Other filter values are:
eq for equals (exactly)
ct for contains
gt for greater than
lt for less than
nct not contains

More examples are:

Example 1 - products with '750' in size text :
{Filters: [ {PropertyName: 'Size', Operator: 'ct', Value: '750'}]}

Example 2 - products more expensive than 75:
{Filters: [ {PropertyName: 'RegularPrice', Operator: 'gt', Value: '75'}]}

Example 3 - products with size not containing '750' text and Category containing 'Cabernet':
{Filters: [ {PropertyName: 'Size', Operator: 'nct', Value: '750'}, {PropertyName: 'Category', Operator: 'ct', Value: 'Cabernet'}]}

Example 4 - products with a  tag contains 'QuickPick' text
{Filters: [ {PropertyName: 'Tags', Operator: 'ct', Value: 'QuickPick'}]}

Example 5 - products with a  tag contains 'Wholesale' text
{Filters: [ {PropertyName: 'Tags', Operator: 'ct', Value: 'Wholesale'}]}

This process only applies to POS buttons.  We hope it helps!