Smart Menu Editor x GeniusPOS Integration
Written by KuusoftAI
KuusoftAI is AI and can make mistakes. This document is pending review by a Real Human. Please use caution when reading this article.
Introduction
GeniusPOS (Xenial) is now a supported POS provider for the NexSigns Smart Menu Editor. The GeniusPOS integration lets GeniusPOS users pull menu data directly from the Xenial Menu Engine, so digital menu boards stay in sync with the menu that is already maintained in Genius Data Management. This article will cover how to connect GeniusPOS to NexSigns and how to use that data in the Smart Menu Editor.
Prerequisites
Enable GeniusPOS API Access
Contact your Genius / Xenial account representative to enable Menu Engine API access for Kuusoft.
Once access has been granted, you will need the following two values for each location you want to connect:
Company ID — identifies your brand / tenant in Xenial. This is the same for every location under the same brand account.
Site ID — identifies the individual store. This is different for every location.
Contact your account rep to retrieve your Company ID and Site ID.
You do not need to supply any keys or secrets. Unlike the OLO integration, the GeniusPOS API credentials are held by Kuusoft at the company level and are shared across all GeniusPOS customers. The only values you provide are the Company ID and Site ID above.
Setup Data Stream
Create a new Data Stream with the information you have received above. For more information on how to set up a Data Stream, see the article Data Streams Setup.
{
"DataSource": "GeniusPOS",
"Version": "1.0",
"CompanyID": "<Replace Genius Company ID>",
"SiteID": "<Replace Genius Site ID>",
"UseWebHook": false
}
You will need to replace the following.
<Replace Genius Company ID> → Replace with the Company ID obtained from your account rep.
<Replace Genius Site ID> → Replace with the Site ID of the specific store this screen belongs to.
UseWebHook is reserved for a future release and should be left as false. It does not need to be changed or removed.
Franchise / Multi-location Setup
If all your franchisees run under the same brand account within Xenial, then the Company ID will be the same for every location. The only value that changes per store is the Site ID.
Because GeniusPOS menu items are matched by Product ID, and Xenial keeps Product IDs identical across every site of a company, a single menu board design can be shared across all your locations — each screen simply resolves the prices and availability of its own site. See Smart Menu Editor Linking (SME Linking) for how to centralize one design across many licenses.
How GeniusPOS menu updates work
GeniusPOS builds menus differently from other supported data sources, and it is worth knowing what to expect.
When NexSigns needs menu data, it asks the Xenial Menu Engine to build a fresh copy of your menu. Xenial prepares that menu in the background and NexSigns collects it once it is ready. As a result:
The first refresh is not instant. After creating a new GeniusPOS Data Stream, allow a couple of minutes for the first menu to arrive. If the Data Stream still shows no data, press the refresh button on the Data Stream card again.
Menus are checked automatically every hour. You do not need to refresh manually for day-to-day operation.
Screens only republish when the menu actually changed. If an hourly check finds the menu identical to the copy already held, nothing is re-sent to your screens.
Using GeniusPOS data in Smart Menu Editor
You must first get familiar with how to control the basics of using Smart Menu Editor. For more information, refer to this article: Using the Digital Menu Board Editor (SME - Smart Menu Editor).
Once you are familiar with Smart Menu Editor, you can replace any fields in the Smart Menu Editor with dynamic data linking. For more information, refer to this article: Dynamic Data Linking (Data Stream Linking).
GeniusPOS Data Stream Configuration Detail
The connection utility for GeniusPOS consists of several fields. Here is a summary of what each field represents.
Field Name | Explanation |
|---|---|
GeniusPOS Basic Filter | Shown for reference only. GeniusPOS locates your menu items by Product ID directly, so this path is recorded with the link but is not used to find your data. You do not need to change it. |
Item Filter | Select the item you would like to use to retrieve the data. Items are listed by name, and are matched by their Product ID. |
Data Field | This is a list of data fields that are available for the item: Name, Caption, Description, Short Description, Product ID, Price, Calories, Inventory Status, and Image URL. |
Size Option | The Size Option field appears automatically when the selected item is sold in more than one size. A drop-down will appear for you to choose which size the linked value should use. This applies to the Name field as well as Price, since each size can carry its own display name. |
Notes on specific Data Fields
Data Field | Notes |
|---|---|
Price | For items sold in a single size, the item price is used. For items sold in multiple sizes, the price comes from the size you pick in Size Option. If you do not choose a size, the size marked as the default in Genius is used; if no size is marked as the default, the first size listed on the item is used. |
Inventory Status | Returns 1 when the item is available, and 0 when staff have marked the item out of stock (86'ed) on the POS. No extra configuration is required — unlike ToastPOS, there is no |
Calories | Returns the calorie count for the item. Where an item covers a range of calories, the value is shown as a range, for example |
Image URL | Returns the address of the product image held in Xenial. Use this with an image field rather than a text field. |
If a linked field cannot be resolved, an error code is displayed on screen instead of the value. See Error Code Lookup - Smart Menu Editor for what each code means.