Back to Olo.com

Brink: Menu Mapping Instructions


Audience:

Menu Administrators, POS Specialists, Technical Teams

 

Description:

Mapping a menu to a Brink database can be an easy task, especially given the tools available within Olo Menu Admin to assist throughout the mapping process. As you build out items within the Olo Company Menu, you would map the items and their modifiers to various entity types, which are all described below, under the “Mapping Instructions” section.

 

Helpful Links

 

 

 

Helpful Mapping Tool: The POS Menu Viewer

Upon entering the Olo Company Menu via Dashboard > Menu > Manage Company Menu, you will see the POS Menu Viewer tool in the top right-hand section of the screen. This tool can be used to browse the POS database for a specified store. The POS data will show you the structure within the database of any POS item you choose**.

**If the item also exists within a modifier group in the POS, the POS Menu Viewer will not be able to pull the POS data for that item as an a la carte item. Also, if you are unable to locate an item via the POS Menu Viewer, make sure that the item exists within the database of the store you are pulling the POS menu data from.

 

To use the POS Menu Viewer,

  1. Enter a specific store location (as you type, a drop-down list will present store locations; select the store location you wish to use)
  2. Type in the name of a menu item (as it is named in the POS database), or the POS ID for a menu item. As you type, be sure to select the product from the drop-down list.
  3. In the event there are modifiers linked/associated with the item (or parent item), you can expand the tree by clicking on the “+” icon next to the POS item name.

PDE_Explorer_example.png

  

 

Mapping Instructions

 

Step 1: Mapping Products

Products within the Olo menu can be mapped to either one of the two entity types; “item” or “none”. They may have customer-facing names/verbiage that is different than what is defined in the POS according to the brand's intentions.

  1. “Item” Mapping: Most products would be mapped as “item”, and those can be standalone products or have modifiers associated with them (i.e. nested under them).

    How to map:


    a. Click Edit under the item, next to the verbiage that says “No mapping set” (which is the default until mapping has been completed).

    No_mapping_-_product.png

    b. The entity “type” should already be set to “item”. If not, make sure to click on the “Type” field and select “item” from the drop-down list.

    c. To enter the POS ID for the product, click on the “copy” option on the POS Menu Viewer and click on the “paste” option next to the Entity id field**. The POS item ID gets copied into the Entity id field. The POS ID can also be typed in, or copy/pasted from a document (you can use keyboard shortcuts to copy/paste off of a document), especially if you are unable to locate the ID via the POS Menu Viewer. It may be best to double-check that the ID does exist within the store's database if you are not able to locate it.

    **When using the copy/paste functionality off of the POS menu viewer, you cannot use the keyboard shortcuts for copy/pasting (eg: CTRL + C & CTRL + V). You have to click on copy/paste. Copy/pasting off of the POS Menu Viewer reduces errors that could be caused by the wrong ID being entered/typed into the Entity id field.

    Item_ID_copy_paste.png

    d. Once completed, click Save next to the Entity id field.

    e. 
    Continue on to Step 2: Mapping Modifiers if there are modifiers associated with the product. If not, the item is all set!

  2. “None” Mapping: If the product at this level has no POS ID associated with it, then it could be mapped to “None”, whereby no ID needs to be entered into the “Entity id” field. This can be thought of as a shortcut to point to the next group of choices in the ordering flow on Olo.

    For example, on the Olo Menu, there is a "Mac & Cheese" item, and the price of the"Mac & Cheese" depends on whether a customer picks a "Regular" or "Small" portion. In this case, since the base cost is dependent on the portion size;

    • The item within the Olo menu would be mapped to “None”
    • The size options would be set up as modifiers under the item (within the Olo company menu, but they can exist as items in the POS), and be mapped as “item” since they are in fact the base products with associated POS item IDs.


Modifier_item_mapping.png

 

!Tip!

When an item is mapped to none within the Olo menu, the item will not get sent down to the POS, since it does not have an associated POS ID. Only products that are mapped to specific POS IDs can pull prices that are configured in POS and will, as a result, get communicated to the POS.


How to map:

a. Click Edit under the item on the Olo menu, next to the verbiage that says “No mapping set” (which is the default until mapping has been completed).

Item_NONE_mapping.png

b. Click on the “Type” field and select “none” from the drop-down list.

Item_None_mapping_2.png

c. Since we are mapping to “none”, you do not need to enter anything into the “Entity id” field. Leave the entity ID field blank.

d. Once completed, click Save next to the Entity id field.

e. Click on modifiers under the item, and click Edit on the modifier group containing the base product options.

Enter_modifier_mapping.png

f. Map the choices following the Item” Mapping instructions above.

 

 

Step 2: Mapping Modifiers

Modifier groups identify sets of modifiers. For example, there may be a modifier group called "Modifiers - Burgers" within the Brink database that contain "Mayo", "Relish", "Onions" etc., as options. This group can then be assigned to a menu item (let's say, to a burger) to allow members of this modifier group to be ordered on an item. In Olo, each modifier is mapped to a modifier group and then the item within that group.  The modifier group and the modifier must match item they are ordered with.  There are some items that may be a member of multiple modifier groups in Brink.  However the menu item being ordered probably only has one of those modifier groups linked.  In this instance the modifier group Id and the modifier item ID have to match what is linked to the item in Brink.

The same as with products, modifiers can be mapped to either one of two entity types; “modifier” or “none”.

  1. “Modifier” Mapping: Most modifiers would be mapped as “modifiers”, to the appropriate Brink modifier group ID and the modifier ID. The modifier group ID indicates the grouping that the modifier choice belongs to, within the POS database.

    How to map:

    a. Click Edit under the modifier choice, next to the verbiage that says “No mapping set” (which is the default until mapping has been completed).

    Modifier_Mapping_Edit.png

    b. Set the entity type to “modifier”

    c. To enter the POS ID for the modifier choice, click on the “copy” option on the POS Menu Viewer and click on the “paste” option next to the Entity id field**. The entire modifier ID (which includes the modifier group ID and the modifier choice ID) gets copied into the Entity id field. The ID can also be typed in, or copy/pasted from a document (you can use keyboard shortcuts to copy/paste off of a document).

    When mapping a modifier, there should be no spaces between the modifier group ID and the modifier ID, they should ONLY be separated by a comma.

    **When using the copy/paste functionality off of the POS menu viewer, you cannot use the keyboard shortcuts for copy/pasting (eg: CTRL + C & CTRL + V). You have to click on copy/paste. Copy/pasting off of the POS Menu Viewer reduces errors that could be caused by the wrong ID being entered/typed into the Entity id field.

    modifier_mapping.png

    d. Once completed, click Save next to the Entity id field.

  2. “None” Mapping: If the modifier at this level has no POS ID associated with it, then it could be mapped to “None”, whereby no POS ID needs to be entered into the “Entity id” field. 

    For example, on the Olo Menu, Brioche Bun has been added as the default bun choice that comes with a burger. If a customer went with this default option, that choice would not need to be sent down to the store. So in this instance, the Brioche Bun would be mapped to “None”.

    When a modifier is mapped to none, it will not get sent down to the POS. Only modifiers that are mapped as “items” or “modifiers” will get sent.

    How to map:

    a. Click Edit under the item on the Olo menu, next to the verbiage that says “No mapping set” (which is the default until mapping has been completed).


modifier_none_mapping_edit.png

b. Click on the “Type” field and select “none” from the drop-down list.

modifier_none_mapping.png

c. Since we are mapping to “none”, you do not need to enter anything into the “Entity id” field. Leave the entity ID field blank.

d. Once completed, click Save next to the Entity id field. The mapping section should look like the image below.

mod_none_mapping_saved.png


 

Modifier Group Requirements and Modifier Codes

Modifier Group Requirements

Order failures related to modifier groups often has to do with the modifier count on a modifier group. Within Brink, modifier groups can be set to require a minimum and maximum number of selections. For example, if a modifier group is set to have a minimum of 1 and it is linked to an item, that means at least 1 modifier choice from the modifier group has to be added to that item when it is ordered. If there is also a maximum of 1, then only a single modifier choice from that group should be selected.  

Each item in Brink can be linked to modifier groups, and there can also be included modifiers linked to an item. These included modifiers are added to the modifier count even if we do not send that modifier in the order. So, for example, if an item is linked to a modifier group called "bread choice" that has both a minimum and maximum count of 1 for the choice of bread, and the bread choices are linked to the item as included modifiers, then the modifier count for that group is already filled before we start to send the order. In these cases, we need to use modifier codes in order to allow us to maintain the modifier count when we send an order. 

Modifier Codes

Modifier codes in Brink allow us to send a modifier as a "no", "add", "sub", or "extra" type modifier. Each of those modifier codes influence the way a modifier counts towards the modifier group requirements. "Add" and "extra" modifier codes add to the count, "no" modifier code removes from the count, and the "sub" modifier code replaces an included count with a new item we send. Modifier codes in Brink can be created with a prefix that prints, or they can be created with no prefix and that will just print the item name without identifying the modifier code. 

How Do We Use Modifier Codes?

Some modifier codes are used exactly as expected in Olo, but some of the modifier codes are used to accommodate the included modifiers in Brink, to ensure that we are staying within the modifier count.  In the example above where an item has an included modifier from the "bread choice" modifier group, we could not send through a bread choice in Olo because then the modifier would add to the count, along with the included modifier, which would make the count to be 2. In this case, you will see an error that says "1 too many items for modifier group XXXXX", but when you look at the order details, we are only sending 1 modifier from the particular modifier group. There are two options to work around this setup, both using modifier codes. 

Option 1: Using the "No" Modifier Code

The first option is to map the included item to the modifier id of the included item with a "no" modifier code. Thereafter, we can send through a different selection that is mapped without a modifier code. On the Brink order there will be a line for the "no" item and then a separate line for the added item that followed. This option makes Olo orders look different than an in store order, where they likely substitute a new item for the included modifier, but it does not cause any confusion for submitting orders via the API.

Option 2: Using the "Substitute" Modifier Code

The second option is to create a modifier code that is used for Olo that is a "substitute" type, but has no prefix. In this case, we would present the customer with the selection, and then we would send the selection down as a substitute, so it replaces the included modifier in the modifier count. This is closer to what brands see on an in store order, because this just shows one line with the selected modifier.

Final Note About the "Substitute" Modifier Code

When considering all of the configuration options above, it is important to keep in mind one parameter of the Brink ordering API. We cannot send two modifiers with a "substitute" modifier code to the Brink POS back to back. That configuration will cause an "invalid flow" modifier error upon submission. This will not cause a failure in basket tests, but will cause failures when an order is submitted. Because of this parameter, we do not recommend that the "substitute" modifier code is used for included modifiers, unless the modifier group has a maximum number that we could hit without causing errors. We also do not recommend using the "substitute" modifier code on items that have multiple sets of included modifiers. The only way to be certain that we will not see the "invalid modifier flow" error is to limit the number of modifiers that use a "substitute" modifier code to one per item.

 

Important Notes

  1. If you would like to add in a mod code to the mapping, it should be added after the modifier ID.

    mod_code.png


  2. For any given product, there needs to be an entity mapped to “item”. If a product and its nested choices are only mapped to “none” and as “modifier”, that will lead to order failures since there is no defined “item”.

  3. If an entity is mapped as an “item”, you cannot map another entity under that as an “item” as well. The nested choices would either need to be mapped as “none” or be mapped to “modifier”.

  4. As modifiers are being built out and mapped within the Olo menu, pay close attention to any modifier restrictions/requirements that must be met, in order for the POS to accept a valid order for an item.

  5. Everything single product and modifier should be mapped to some entity type, in order for orders to be placed successfully.

 

Best practices to follow once menu mapping has been completed:

Didn't find what you need?

Submit a request to our Help Team and someone will
get back to you shortly.

Submit a request

Copyright © 2019 Olo. All rights are reserved.