Tutorial: Specialty Button Programming

Specialty Button Programming for pizza restaurants

Our specialty button programming is a feature that allows pizza restaurants to do 2 things:

1) Integrate specialty selection in the ingredients page. When waitstaff presses a specialty button, the ingredients in that pizza become active in the ingredient options pane.
2) Allow half-and-half specialty entry.


This tutorial assumes that ingredient option groups have been created for each size pizza.

  1. Create the specialty menu buttons
  2. Create the specialty option groups
  3. Assign specialty options groups to specialty menu buttons
  4. Macro programming for specialty menu buttons


menu button - This refers to the menu button the waitstaff press to add an item(s) to the order pane in the order taking interface.
ingredient options or options interface - This is the option buttons that appear after a item is added to the order pane. The option groups programming defines what options appear here.
option group - This is a group of related option(s) the waitstaff will see when they add an item with options to the order pane.
specialty option group - This is a special options group where menu button(s) are attached as options in an option group. The options in this group type act like the single-select group type.

Things to consider before beginning:

- You should create a category page for each size pizza.
- Create separate menu buttons for each specialty pizza.
- Create separate menu buttons for each size specialty pizza. Important to attach different prices to each size specialty pizza
- Have (or create) an ingredient option group for each size pizza. This group should be a Ingredient 2 group. Ingredient 2 means the word "Add" is not used.
- Have (or create) a sauce option group. This group should be a single-select group.

Create the specialty menu buttons:

- Goto Settings -> Programming -> Menu Programming
- Click the category for the size pizza being worked with.
- Click "Add an Item" to create a menu button for each specialty pizza.

*VERY IMPORTANT* - The specialty options groups require specialty menu buttons to link to. DO NOT CREATE your specialty options groups before hand. These will be added later.

Enter Item Name, Price, Button Color, etc...

*IMPORTANT* - Set your option groups first, then set default options for each specialty pizza. This information is used by the options interface to determine default toppings for the chosen specialty pizza.

Create a specialty pizza for each size and place them on the appropriate page in your menu.

Create the specialty option groups:

- Goto Settings -> Programming -> Options Programming
- Click "New Group" at the top. Name the group something meaningful like "Pizza Medium Specialty" or "Pizza Large Specialty"

Change the Group Type to Specialty and click the Uses Half & Half Interface checkbox.

Click "Add Item". This will open up the menu page where an item must be chosen.

Choose a menu button to link to and click "Done!" in the top right. The menu button is now linked to the item in specialty options group.

Click the "Add Price" option and change the add price to the difference between the base price of a cheese pizza and the price of the specialty.

Repeat adding items until all specialty pizzas for that size are added.

Repeat options group creation for each size pizza. *IMPORTANT* DO NOT USE THE COPY GROUP OPTION FOR THIS!

Assign specialty options groups to specialty menu buttons:

Now we head back to menu programming to add the newly created specialty option groups.

- Goto Settings -> Programming -> Menu Programming
- Return to the specialty menu buttons created earlier.

Click a menu button item to open it's editor.

Click the Option Groups button and add the newly created specialty options group.

Repeat for all specialty buttons in the menu programming.

Macro programming for specialty menu buttons:

This is totally optional but recommended. The purpose of the specialty menu button macro is to add the generic cheese pizza instead, then add the specialty to it automatically.

addItem("[generic cheese pizza button id]","1"); // Adds generic cheese pizza with a quantity of 1.
addRemarks("[specialty name]","[specialty add price]"); // Adds the specialty with the specialty add price.
cancel(); // Cancel the default button press because we don't want to add it twice.
showOptions(); // Show the options interface for this pizza.

NOTE: Be sure the [specialty name] parameter matchs the name in the specialty options group. If no match is found, the options interface doesn't know what default options to set.

To better automate macro copy/paste, as long as your specialty names in the menu editor match the specialty names in the options editor you can change line 2 to this:

addRemarks("%item%","[specialty add price]"); // Adds the specialty using the menu button's name with the specialty add price.

Repeat this macro for each menu button that is a specialty pizza.