Welcome
Login  Sign up

October 2017 | Build 3.2.1 *** UPDATED ***

*** 10/25/2017 Hotfix Update ***
Shortly after the release of the 3.1.9 build, we determined that there were a few issues that warranted a client hotifx. Normally we try to keep client releases on a regular schedule, but in this case we felt that users would benefit from getting these issues addressed sooner rather than later.

With the changes we made to improve WebSocket stability, we also added WebSocket error logging to the OS notifications. We did not fully appreciate how annoying this notification could be, so we have disabled notifications for temporary WebSocket connection issues. We are still logging these events, but we are saving these off to the logcat where we can pull them as needed.

Additionally, we discovered a client issue with Add Items that slipped through our regression testing. When adding items by manually typing in the UPC or PLU, the quantity would be set to 2 even if you only selected 1.

Finally, since we already had to push a release, we went ahead and fixed the printed order summary report so that it would pull the logo from the report image source vs. pulling from the splash screen image source.

Improvements

Internal Messaging

Customer Communications have always been a core feature in ShopperKit, and just as it’s critical to have direct and timely communications with your customers, it is also important to have direct and timely communications within your operations. For most retail grocers, email, the typical channel for corporate communications, is not effective. For many, your store associates will not have consistent access to a computer to check their email, if they are even ever provisioned and email address in the first place. Getting important communications to employees and/or receiving feedback and direct confirmation quickly and efficiently has always required a little more creativity, management and time.

Because having a high functioning, self-directed, reactive and informed team is a critical ingredient to the success of you eGrocery program, we are pleased to announce the introduction of ShopperKit’s Internal Messaging.

Our Internal Messaging feature utilizes the SMS chat paradigm that your employees are already familiar with and leverages the same Customer Communication interface that they have come to know. Unlike Customer Communications, which is always accessed within the context of a customer and an order, the Internal Messaging feature is accessed directly through a new Messaging menu.

image

While informing and alerting users to new messages is important to ensure that communications are received and read in a timely manner, it’s also important that we respect people’s primary workflow and minimize interruptions as much as possible. Because of this, we take a slightly more passive approach to alerting users of new messages and instead of displaying a popup notification like you would receive on your phone, ShopperKit will play the familiar new message sound and display a red New Message icon near the menu, that displays the number of unread messages.


When you are ready, you will be able to read your unread messages by access the message thread list from the Messaging menu option, or directly by tapping the New Message icon. Just like with most phones, threads that contain unread messages will be displayed in bold and they will be listed in order or most recent message to latest message received time. To read or respond to a message, simply tap the message in the list to open the entire communication thread in the chat client.  

imageThe Internal Messaging feature has been designed to support both one-to-one or many-to-many type communications. When starting a new communication thread, you will begin by tapping the new message icon in the header and selecting one or more named recipients for direct communications, or you may select one or more stores or all stores and users via the broadcast option, for broadcast communications. Regardless of which mode is selected, the users and stores a message is sent to will be limited by the stores a given user has access to. This means that while a Client Admin user may send a communication to all users in all stores, a shopper with access to a single store will only be able to initiate communications with other users in that same store.

image

You may also configure the amount of time that you would like message threads to be visible in the messaging thread list by setting the MessageRetentionPeriodInDays application attribute. Message threads will drop off the list once received time of the last message in the thread exceeds the defined attribute value.

Admin Portal Updates

For this month’s release, we’ve given the Admin Portal a some much-needed TLC by implementing several usability improvements that we’re very excited to share with you.

One of the first changes that you’ll notice is the change to the Store Selector from the main menu. While it’s always been possible to use the keyboard to type the Store Number value, this is far more obvious with the new Store Selection control. We’re confident that this new control will make it much easier for customers with many stores to quickly drill down to a specific desired store.

Another new change is the scrolling behavior in the list views. Now lists will only scroll within the fixed confines of the header and menu, and the expanded detail and edit views for a selection will always open within the visible screen area.

Speaking of edit views, it is now possible for you to edit Shelf details, simply by clicking on the shelf. Not only can you can edit shelves, but you can also now reassign shelves to different Merchandise Sections by dragging the shelf entry onto the desired Section entry.

One not so obvious change is the new filter and sort functionality that’s been added to all the list views. You may now quickly filter any list view by simply clicking on any of the column header labels and typing in the characters to filter by. The filter is applied automatically as you type and you may filter results using multiple column headers. Clicking the column header label also exposes the column sort toggle. Using this control will allow you to resort the list in ascending or descending order. Sorts may only be applied one column at a time, and any drag and drop sequence edits will be disabled while a sort or filter has been applied.

In addition to these usability changes, we have also made it impossible for an admin portal user to change their own credentials. This will prevent users from accidentally downgrading their level of access. Also, you will now find that users who have the Store Manager role, will only be allowed to create lower access level users (Shopper and Delivery Driver) user roles for their given store.


Display UPC Override

As an aid to your in-store shoppers, ShopperKit displays a UPC value to the user along with other item information. The value that is displayed is dependent on the order these values are received from the host system and as not all host systems can differentiate what is and is not an appropriate value to display for a given store. To facilitate the need to be able to explicitly define default display UPCs by store, we are introducing the Display UPC Override interface. This new interface will allow you to send to ShopperKit explicit instructions on the exact UPC to use as the Display UPC for a given item in a given store. If no Display UPC Override value is provided, ShopperKit will continue using the first UPC as the display value. This override does not impact what ShopperKit will accept as a valid UPC input either as it will continue to validate input UPC values against the entire list of UPCs that have been sent as valid for a specific order item.

This interface expects to receive Display UPC Override data in a simple JSON format using the schema below. If you would like to begin utilizing the Display UPC Override logic, please contact support@shopperkit.com.

Schema

{
	"title": "DefaultUPCStoreOverride",
	"$schema": "http://json-schema.org/draft-04/schema#",
	"description": "Optional interface to explicitly set the default display UPC by Store.",
	"type": "object",
	"properties": {
		"StoreOverrides": {
			"type": "array",
			"Stores": {
				"type": "object",
				"properties": {
					"StoreId": {
						"Description": "Store Identifier for the UPC Overrides,",
						"type": "string"
					},
					"UPCOverrides": {
						"type": "array",
						"Overrides": {
							"type": "object",
							"properties": {
								"SKU": {
									"description": "The SKU value for which the default override is for.",
									"type": "string"
								},
								"UPC": {
									"description": "The UPC value that should be displayed as default for the SKU in GTIN 14 format."
								}
							}
						}
					}
				}
			}
		}
	}
}

Example

{
	"StoreOverrides": [{
		"StoreId": "1579",
		"UPCOverrides": [{
			"SKU": "44445",
			"UPC": "00000000004011"
		},{
			"SKU": "55565",
			"UPC": "00000000003232"
		},{
			"SKU": "88887",
			"UPC": "00000000004089"
		}]
	},{
		"StoreId": "103",
		"UPCOverrides":	[{
			"SKU": "44445",
			"UPC": "00000000008484"
		},{
			"SKU": "88887",
			"UPC": "00000000004088"
		}]	
	}]
}

 

Issues

  • Fixed WebSocket stability issues that would prevent some users from receiving customer SMS responses, Carryout and Take It notifications.
  • Fixed issue that would prevent complete and settled orders that were associated to an empty and orphaned container from being carried out.
  • Modified weight input control so that it will no longer round weight to 2 decimal places when calculating weight from a type 2 price embedded barcode.
  • Changed the Admin Portal login page so that it no longer requires email address to be all lowercase.
  • Modified Admin Portal so that it will force users whose sessions have timed out back to the login page instead of incorrectly rendering pages.
  • Fixed issue in the Product Lookup service that is used by the Add Item function so that it maps location data correctly.
  • Added loading feedback to the order list view when toggling between All Orders and Todays Orders to prevent order list from freezing when loading large order lists.
  • Hide the SMS Setup Required message that briefly appears when loading the chat client to prevent user confusion.
  • Addresses Android OS compatibility issue that prevented the camera from working in the chat client. Depending on the version of your tablets OS, you may now need to accept camera access the first time you use this feature.