Return to documentation index

billboard_buttons

The billboard_buttons API retrieves information on tags and the desired iPad user interface.

Parameters

  • api_key (string) Required - The API key for the account
  • last_updated_at (datetime) Optional - If this parameter is supplied, only button information whose last edited date is after the supplied date and time will be returned. The parameter should be formatted as "YYYY-MM-DD HH:MM:SS" and will be interpreted as a UTC date and time value. NOTE: Full tag information will always be returned.

    Response

The billboard_buttons API returns JSON representations of the current account's tags and billboard buttons.

tags attributes

The tags section returns a JSON array of tags used by this account. Each member of the array includes these attributes:

  • name - The display name of the tag.
  • value - The value of the tag (used if filtering by tag)

billboard_buttons attributes

The billboard_buttons section returns a JSON array of billboard buttons. Each member of the array includes these attributes:

  • button_list_type (int) - The type of list that this button links to. See below for possible values.
  • caption (string) - Caption for the button.
  • ordinal (int) - Ordinal of the button on the user interface.
  • button_list_id (int) - Unique identifier for the list that this button links to. If the button_list_type is 0, this will be the unique identifier for a beverage_sku_list. If the button_list_type is 1, this will be the unique identifier of a menu list.
  • button_type - Type of button. See below for possible values.
  • display_only_when_live (boolean) - only applies to menus (button_list_type of 1). If true, this button will only display if the current time (as determined by iPad system clock) falls either within the [weekday_start_time,weekday_end_time] ranger or the [weekend_start_time,weekend_end_time] range of the menu linked to by the button_list_id attribute.
  • icon (int) - Icon to display on the button. See below for possible values.
  • icon_url (string) - URL to base icon image.
  • filters (array) - An array of filter objects (see below). There will always be at least one member in this array.
  • small_buttons (array) - Array of information on small buttons contained within this button (if any).
  • shows_on_billboard (boolean) - If true, creates a billboard button.
  • shows_on_filter (boolean) - If true, creates a dropdown filter.
  • updated_at (datetime) - The date that this button (or its embedded small buttons) was last edited.
  • dropdown_title (string) - Alternate caption to use when building a dropdown filter from this button.

NOTE: The image specified by the icon enumeration should be used unless icon_url and is present and points to a valid file.

NOTE: The filters attribute should be ignored unless the button_type is 0 (single button).

small button attributes

Each small button within a billboard button is a JSON object with these attributes:

  • button_list_id (int) - Unique identifier for the list that this button links to. If the button_list_type is 0, this will be the unique identifier for a beverage_sku_list. If the button_list_type is 1, this will be the unique identifier of a menu list.
  • button_list_type (int) - The type of list that this button links to. See below for possible values.
  • button_type (int) - Type of button. See below for possible values.
  • caption (string) - Caption for the button.
  • display_only_when_live (boolean) - same as on large buttons
  • filters (array) - An array of filter objects (see below). There will always be at least one member in this array.
  • icon (int) - Icon to display on the button. See below for possible values.
  • icon_url (string) - URL to base icon image.
  • ordinal (int) - Ordinal of the button on the user interface.

NOTE: The image specified by the icon enumeration should be used unless icon_url and is present and points to a valid file.

rotating menu attributes

If a button has a button_list_type of 3, then the following statements will hold true:

  • the button_list_id attribute will be ignored. The menu to be linked to will be determined by the iPad client instead.
  • the button_type must be either 0 or 2, with the appropriate restrictions on where such a button can be placed.
  • the caption and dropdown_title is ignored, and the menu's title is used instead

See the "Sample Response With Menu Placement" section below for a configuration example.

filter attributes

Each filter within a billboard button or small button is a JSON object with these attributes:

  • filter_type - Enumeration identifying the desired filter when this button is selected. See below for possible values.
  • tags - An array of tag values to filter by, if the filter type is 5 (filter by tag). Otherwise null.
  • sections - An array of section (MenuSection or BeverageSkuListGroup) ids to filter by, if the filter type is 6 (filter by section). Otherwise null.
  • units - An array of unit values to filter by, if the filter type is 7 (filter by unit). Otherwise null. See unit codes for a list of valid unit codes.

NOTE: If there are multiple filters for a particular button, then the desired SKUs are those obtained by taking the intersection of all of the supplied filters.

Button List Types

  • 0 - The button links to a beverage list.
  • 1 - The button links to a menu.
  • 2 - The button links to the legacy meal pairings view
  • 3 - The button links to a menu placement

Button Types

  • 0 - Compound button (Billboard button with sub-buttons)
  • 1 - Simple button (Billboard button without sub-buttons)
  • 2 - Small button (sub-button) that filters for a particular set of items

Icons

NOTE: Icons below 20 are deprecated.

  • 0 - Billboard button wine icon (bottle + wine glass)
  • 1 - Billboard button beer icon (bottle + beer glass)
  • 2 - Billboard button spirits icon (cocktail glass + old fashioned glass)
  • 3 - Billboard button menu icon
  • 4 - Billboard button sake icon
  • 5 - Wine glass
  • 6 - Wine bottle
  • 7 - Beer glass
  • 8 - Beer bottle
  • 9 - Olive-on-a-stick
  • 10 - Cocktail glass
  • 20 - Award cup
  • 21 - Cocktail glass
  • 22 - Beer glass
  • 23 - Black star
  • 24 - Bomb
  • 25 - California state map
  • 26 - Beer can and bottle
  • 27 - Dollar sign in circle
  • 28 - Balloon glass
  • 29 - Foofy drink with umbrella
  • 30 - Diamond
  • 31 - Heart with dollar sign
  • 32 - Water glass
  • 33 - Fish and knife
  • 34 - Fork and knife
  • 35 - Globe
  • 36 - Black heart
  • 37 - Kettle
  • 38 - Chef's knife
  • 39 - Steak knife
  • 40 - Leaf
  • 41 - Map marker
  • 42 - Pizza slice
  • 43 - Award ribbon
  • 44 - Wine bottle and glass
  • 45 - Snowflake
  • 46 - Sunburst
  • 47 - Tree
  • 48 - Award trophy
  • 49 - Wheat
  • 50 - White star
  • 51 - Wine bottle
  • 52 - Wine glass
  • 53 - Sake Bottle
  • 54 - Sake Bottle and Cup
  • 55 - Bio-Organic Logo

Filters

  • 0 - Returns all items
  • 1 - Returns only "by the glass" SKUs [Deprecated]
  • 2 - Returns only "by the bottle" SKUs [Deprecated]
  • 3 - Returns only "on tap" SKUs [Deprecated]
  • 4 - Returns only featured SKUs [Deprecated]
  • 5 - Returns only SKUs with tags matching the values in the tags array
  • 6 - Returns only SKUs in a particular set of sections
  • 7 - Returns only SKUs for a particular set of units

Notes

The user returned by this API call is the internal user that is authenticated against by the iPads, not any of the external users on the account.

The company/restaurant/id attribute is used by the restaurant_assets API to indicate the account to which each downloadable file belongs.

For sample filter usage, see the filter examples page.

Sample Request

https://dashboard.onpremisewine.com/billboard_buttons.json?api_key=ABCDEF123456

Sample Response

{
  "tags": [
    {
      "name": "Recommended",
      "value": -1
    },
    {
      "name": "Organic",
      "value": 2
    },
    {
      "name": "Biodynamic",
      "value": 3
    }
  ],
  "billboard_buttons": [
    {
      "button_list_type": 0,
      "caption": "wine",
      "ordinal": 1,
      "button_list_id": 123,
      "button_type": 0,
      "icon": 0,
      "icon_url": null,
      "filters": [
        {
          "filter_type": 0
          "tags": null,
          "sections": null,
          "units": null
        }
      ],
      "small_buttons": [
        {
          "button_type": 2,
          "caption": "by the glass",
          "ordinal": 1,
          "filters": [
            {
              "filter_type": 7
              "tags": null,
              "sections": null,
              "units": [
                -1
              ]
            }
          ],
          "icon": 5,
          "icon_url": null,
          "button_list_id": 123,
          "button_list_type": 0
        },
        {
          "button_type": 2,
          "caption": "by the bottle",
          "ordinal": 2,
          "filters": [
            {
              "filter_type": 7
              "tags": null,
              "sections": null,
              "units": [
                -2
              ]
            }
          ],
          "icon": 6,
          "icon_url": null,
          "button_list_id": 123,
          "button_list_type": 0
        }
      ]
    },
    {
      "button_list_type": 0,
      "caption": "beer",
      "ordinal": 2,
      "button_list_id": 124,
      "button_type": 0,
      "icon": 1,
      "icon_url": null,
      "filters": [
        {
          "filter_type": 0
          "tags": null,
          "sections": null,
          "units": null
        }
      ],
      "small_buttons": [
        {
          "button_type": 2,
          "caption": "on tap",
          "ordinal": 1,
          "filters": [
            {
              "filter_type": 7
              "tags": null,
              "sections": null,
              "units": [
                -3
              ]
            }
          ],
          "icon": 7,
          "icon_url": null,
          "button_list_id": 124,
          "button_list_type": 0
        },
        {
          "button_type": 2,
          "caption": "by the bottle",
          "ordinal": 2,
          "filters": [
            {
              "filter_type": 7
              "tags": null,
              "sections": null,
              "units": [
                -2
              ]
            }
          ],
          "icon": 8,
          "icon_url": null,
          "button_list_id": 124,
          "button_list_type": 0
        }
      ]
    },
    {
      "button_list_type": 0,
      "caption": "spirits",
      "ordinal": 3,
      "button_list_id": 199,
      "button_type": 0,
      "icon": 2,
      "icon_url": null,
      "filters": [
        {
          "filter_type": 0
          "tags": null,
          "sections": null,
          "units": null
        }
      ],
      "small_buttons": [
        {
          "button_type": 2,
          "caption": "featured",
          "ordinal": 1,
          "filters": [
            {
              "filter_type": 5
              "tags": [
                -1
              ],
              "sections": null,
              "units": null
            }
          ],
          "icon": 9,
          "icon_url": null,
          "button_list_id": 199,
          "button_list_type": 0
        },
        {
          "button_type": 2,
          "caption": "organic/biodynamic",
          "ordinal": 2,
          "filters": [
            {
              "filter_type": 5
              "tags": [
                2,
                3
              ],
              "sections": null,
              "units": [
                -1
              ]
            }
          ],
          "icon": 10,
          "icon_url": null,
          "button_list_id": 199,
          "button_list_type": 0
        }
      ]
    }
  ]
}

Sample Response With Menu Placement

The response below shows a billboard button configuration with 2 buttons. The first button is a wine compound button that links to SKUs by the glass and by the bottle. The second button is a menu placement button that opitionally links to the Lunch or Dinner menu, depending on which one is active. eg: if the lunch menu is active from 12-3pm and the dinner menu is active from 6-11pm, and it is currently 2pm, then the button will link to the lunch menu.

{
  "tags": [
    { "name":"Lunch Specials", "value":1 },
    { "name":"Diner Specials", "value":2 }
  ],
  "billboard_buttons": [
    {
      "button_list_type": 0,
      "caption": "wine",
      "ordinal": 1,
      "button_list_id": 123,
      "button_type": 0,
      "icon": 0,
      "icon_url": null,
      "filters": [
        {
          "filter_type": 0
          "tags": null,
          "sections": null,
          "units": null
        }
      ],
      "small_buttons": [
        {
          "button_type": 2,
          "caption": "by the glass",
          "ordinal": 1,
          "filters": [
            {
              "filter_type": 7
              "tags": null,
              "sections": null,
              "units": [
                -1
              ]
            }
          ],
          "icon": 5,
          "icon_url": null,
          "button_list_id": 123,
          "button_list_type": 0
        },
        {
          "button_type": 2,
          "caption": "by the bottle",
          "ordinal": 2,
          "filters": [
            {
              "filter_type": 7
              "tags": null,
              "sections": null,
              "units": [
                -2
              ]
            }
          ],
          "icon": 6,
          "icon_url": null,
          "button_list_id": 123,
          "button_list_type": 0
        }
      ]
    },
    {
      "button_list_type": 3,
      "caption": null,
      "ordinal": 1,
      "button_list_id": null,
      "button_type": 0,
      "display_only_when_live": true,
      "icon": 34,
      "icon_url": null,
      "filters": [
        {
          "filter_type": 0
          "tags": null,
          "sections": null,
          "units": null
        }
      ],
      "small_buttons": []
    }
  ]
}