GET v1/QuickCombos/{siteId}/{menuId}

For each combo in the response, there exist two main sections, Levels and Components. Levels refer to the size of a combo (starting at 0 and increasing). A Component represents the possible items that can be included with the combo. It contains a list of ItemGroups which group similar items together. Within the ItemGroups, each item contains a list of UpsellInfo objects. These objects tell the caller whether the item belongs to (i.e can be ordered as a component of) the combo.

NOTE: Until prices are added to items in the response, the caller must also interpret the data with an assumption. An item that has "PartOfCombo: true" on a Level that is less than the largest Level of the combo cannot be included in a combo Level above its own Level(s). In other words, an item can't be downsized from its combo's Level, only upsized. In reality, if a smaller item is chosen at a larger Level, we move the combo to the lower level and upsize the other items in the combo. e.g. A 'small' item cannot be a component of a 'large' combo, instead a 'large' item is a component of a 'small' combo.

Concrete Example: Refer to the json response below. This is an example of how the response may look. In the example, we describe a Bacon Cheeseburger Combo with 3 levels, Regular, Medium, and Large. This combo is composed of 3 components: a Burger (ComponentId: 1), a Drink (ComponentId: 2), and a Side (ComponentId: 3).

Component 3 (the sides) has four different item groups. Itemgroups are used to group collections of similar items together. Suppose ItemGroupId: 1 are fries, ItemId: 2420 is the small fry, 2421 is the medium, and 2422 is the large. By looking at each UpsellInfo object, you can see that each sales item is only considered to be part of its corresponding level. However, the large can be ordered with a small combo despite PartOfCombo being false. This is where the note above comes in. Since the large fry is part of the highest level (2), it can be ordered with a small combo (though likely with an upcharge, with small combo it is 0.75, with medium 0.5).

Component 2 represents the drink. In this example in group 1 there is coke
  • sales item id 2408 is small coke
  • sales item id 2409 is medium coke
  • sales item id 2410 is large coke
We already know we can get the large coke with the small combo, but what if we want the large combo, but just a small coke. For this we must understand that since small is a Level less than the intended Level, we must first demote the combo to the small base price (Level 0 - $9.00) and then add the large coke from group 1 (component 2) to that.

To summarize, given a list of items, your base price (level) is the lowest level that the items satisfy.

URI template

v1/QuickCombos/{siteId}/{menuId}?promiseTime={promiseTime}&promoIds={promoIds}&orderMode={orderMode}

Request Information

URI Parameters

NameDescriptionTypeAdditional information
siteId

Online Ordering Site Id (integer)

int

Required

menuId

Menu id.

integer

Required

promiseTime

Promise time on POS. Don't specify any time zone. Example: Time in restaurant is 10:35AM AEST. The same time is applied as promise time. Value of promiseTime parameter should be “2016-06-16T10:35:00”. Default value is current time on POS.

date

None.

promoIds

Optional comma separated list of POS promo ids to filter quick combos. i.e. &promoIds=123,435,45

Collection of integer

None.

orderMode

Order mode to be used for menu pricing. For this to work, the company has to have Delivery Menu Enabled set to true. Additionally, if the site does not have a CFC Delivery Price Change ID set, no delivery prices will have been imported.

OrderModeType

None.

Body Parameters

None.

Response Information

Resource Description

QuickCombos
NameDescriptionTypeAdditional information
ComboList

List of combos

Collection of QuickCombo

None.

Response Formats

application/json, text/json

Sample:
{
  "ComboList": [
    {
      "MenuItemId": 1,
      "PromoId": 123,
      "Name": "Bacon Cheeseburger Combo",
      "Description": "Bacon Cheeseburger",
      "DisplayName": "Bacon Cheeseburger Combo",
      "BaseImageName": "bacon_combo.png",
      "Levels": [
        {
          "ComboLevelId": 0,
          "Name": "Bacon Cheeseburger Combo",
          "Price": 9.0
        },
        {
          "ComboLevelId": 1,
          "Name": "Medium Bacon Cheeseburger Combo",
          "Price": 0.2
        },
        {
          "ComboLevelId": 2,
          "Name": "Large Bacon Cheeseburger Combo",
          "Price": 0.4
        }
      ],
      "Components": [
        {
          "ComponentId": 1,
          "Primary": true,
          "Name": "Burger",
          "BaseImageName": "burgers.png",
          "ItemGroups": [
            {
              "ItemGroupId": 1,
              "Name": "Burger",
              "BaseImageName": "burger1.png",
              "Items": [
                {
                  "SalesItemId": 2406,
                  "UpsellInfo": [
                    {
                      "ComboLevelId": 0,
                      "PartOfCombo": true
                    },
                    {
                      "ComboLevelId": 1
                    },
                    {
                      "ComboLevelId": 2
                    }
                  ]
                },
                {
                  "SalesItemId": 2407,
                  "UpsellInfo": [
                    {
                      "ComboLevelId": 0
                    },
                    {
                      "ComboLevelId": 1,
                      "PartOfCombo": true
                    },
                    {
                      "ComboLevelId": 2
                    }
                  ]
                },
                {
                  "SalesItemId": 2407,
                  "UpsellInfo": [
                    {
                      "ComboLevelId": 0
                    },
                    {
                      "ComboLevelId": 1
                    },
                    {
                      "ComboLevelId": 2,
                      "PartOfCombo": true
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "ComponentId": 2,
          "Name": "Drink",
          "BaseImageName": "drinks.png",
          "ItemGroups": [
            {
              "ItemGroupId": 1,
              "Name": "Coke",
              "BaseImageName": "coke.png",
              "Items": [
                {
                  "SalesItemId": 2408,
                  "UpsellInfo": [
                    {
                      "ComboLevelId": 0,
                      "PartOfCombo": true
                    },
                    {
                      "ComboLevelId": 1
                    },
                    {
                      "ComboLevelId": 2
                    }
                  ]
                },
                {
                  "SalesItemId": 2409,
                  "UpsellInfo": [
                    {
                      "ComboLevelId": 0,
                      "Price": 0.25
                    },
                    {
                      "ComboLevelId": 1,
                      "PartOfCombo": true
                    },
                    {
                      "ComboLevelId": 2
                    }
                  ]
                },
                {
                  "SalesItemId": 2410,
                  "UpsellInfo": [
                    {
                      "ComboLevelId": 0,
                      "Price": 0.5
                    },
                    {
                      "ComboLevelId": 1,
                      "Price": 0.25
                    },
                    {
                      "ComboLevelId": 2,
                      "PartOfCombo": true
                    }
                  ]
                }
              ]
            },
            {
              "ItemGroupId": 2,
              "Name": "Coke Zero",
              "BaseImageName": "coke_zero.png",
              "Items": [
                {
                  "SalesItemId": 2411,
                  "UpsellInfo": [
                    {
                      "ComboLevelId": 0,
                      "PartOfCombo": true
                    },
                    {
                      "ComboLevelId": 1
                    },
                    {
                      "ComboLevelId": 2
                    }
                  ]
                },
                {
                  "SalesItemId": 2412,
                  "UpsellInfo": [
                    {
                      "ComboLevelId": 0,
                      "Price": 0.25
                    },
                    {
                      "ComboLevelId": 1,
                      "PartOfCombo": true
                    },
                    {
                      "ComboLevelId": 2
                    }
                  ]
                },
                {
                  "SalesItemId": 2413,
                  "UpsellInfo": [
                    {
                      "ComboLevelId": 0,
                      "Price": 0.5
                    },
                    {
                      "ComboLevelId": 1,
                      "Price": 0.25
                    },
                    {
                      "ComboLevelId": 2,
                      "PartOfCombo": true
                    }
                  ]
                }
              ]
            },
            {
              "ItemGroupId": 4,
              "Name": "Sprite",
              "BaseImageName": "sprite.png",
              "Items": [
                {
                  "SalesItemId": 2414,
                  "UpsellInfo": [
                    {
                      "ComboLevelId": 0,
                      "PartOfCombo": true
                    },
                    {
                      "ComboLevelId": 1
                    },
                    {
                      "ComboLevelId": 2
                    }
                  ]
                },
                {
                  "SalesItemId": 2415,
                  "UpsellInfo": [
                    {
                      "ComboLevelId": 0,
                      "Price": 0.25
                    },
                    {
                      "ComboLevelId": 1,
                      "PartOfCombo": true
                    },
                    {
                      "ComboLevelId": 2
                    }
                  ]
                },
                {
                  "SalesItemId": 2416,
                  "UpsellInfo": [
                    {
                      "ComboLevelId": 0,
                      "Price": 0.5
                    },
                    {
                      "ComboLevelId": 1,
                      "Price": 0.25
                    },
                    {
                      "ComboLevelId": 2,
                      "PartOfCombo": true
                    }
                  ]
                }
              ]
            },
            {
              "ItemGroupId": 3,
              "Name": "Cherry Coke",
              "BaseImageName": "cherry_coke.png",
              "Items": [
                {
                  "SalesItemId": 2417,
                  "UpsellInfo": [
                    {
                      "ComboLevelId": 0,
                      "PartOfCombo": true
                    },
                    {
                      "ComboLevelId": 1
                    },
                    {
                      "ComboLevelId": 2
                    }
                  ]
                },
                {
                  "SalesItemId": 2418,
                  "UpsellInfo": [
                    {
                      "ComboLevelId": 0,
                      "Price": 0.25
                    },
                    {
                      "ComboLevelId": 1,
                      "PartOfCombo": true
                    },
                    {
                      "ComboLevelId": 2
                    }
                  ]
                },
                {
                  "SalesItemId": 2419,
                  "UpsellInfo": [
                    {
                      "ComboLevelId": 0,
                      "Price": 0.5
                    },
                    {
                      "ComboLevelId": 1,
                      "Price": 0.25
                    },
                    {
                      "ComboLevelId": 2,
                      "PartOfCombo": true
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "ComponentId": 3,
          "Name": "Sides",
          "BaseImageName": "sides.png",
          "ItemGroups": [
            {
              "ItemGroupId": 1,
              "Name": "Reg Fries",
              "BaseImageName": "fries.png",
              "Items": [
                {
                  "SalesItemId": 2420,
                  "UpsellInfo": [
                    {
                      "ComboLevelId": 0,
                      "PartOfCombo": true
                    },
                    {
                      "ComboLevelId": 1
                    },
                    {
                      "ComboLevelId": 2
                    }
                  ]
                },
                {
                  "SalesItemId": 2421,
                  "UpsellInfo": [
                    {
                      "ComboLevelId": 0,
                      "Price": 0.25
                    },
                    {
                      "ComboLevelId": 1,
                      "PartOfCombo": true
                    },
                    {
                      "ComboLevelId": 2
                    }
                  ]
                },
                {
                  "SalesItemId": 2422,
                  "UpsellInfo": [
                    {
                      "ComboLevelId": 0,
                      "Price": 0.75
                    },
                    {
                      "ComboLevelId": 1,
                      "Price": 0.5
                    },
                    {
                      "ComboLevelId": 2,
                      "PartOfCombo": true
                    }
                  ]
                }
              ]
            },
            {
              "ItemGroupId": 4,
              "Name": "Chili Fries",
              "BaseImageName": "chili_fries.png",
              "Items": [
                {
                  "SalesItemId": 2423,
                  "UpsellInfo": [
                    {
                      "ComboLevelId": 0,
                      "PartOfCombo": true
                    },
                    {
                      "ComboLevelId": 1
                    },
                    {
                      "ComboLevelId": 2
                    }
                  ]
                },
                {
                  "SalesItemId": 2424,
                  "UpsellInfo": [
                    {
                      "ComboLevelId": 0,
                      "Price": 1.25
                    },
                    {
                      "ComboLevelId": 1,
                      "PartOfCombo": true,
                      "Price": 1.0
                    },
                    {
                      "ComboLevelId": 2
                    }
                  ]
                },
                {
                  "SalesItemId": 2425,
                  "UpsellInfo": [
                    {
                      "ComboLevelId": 0,
                      "Price": 1.75
                    },
                    {
                      "ComboLevelId": 1,
                      "Price": 1.5
                    },
                    {
                      "ComboLevelId": 2,
                      "PartOfCombo": true,
                      "Price": 1.0
                    }
                  ]
                }
              ]
            },
            {
              "ItemGroupId": 2,
              "Name": "Baked Potato",
              "BaseImageName": "baked_potato.png",
              "Items": [
                {
                  "SalesItemId": 2426,
                  "UpsellInfo": [
                    {
                      "ComboLevelId": 0,
                      "PartOfCombo": true
                    },
                    {
                      "ComboLevelId": 1
                    },
                    {
                      "ComboLevelId": 2
                    }
                  ]
                }
              ]
            },
            {
              "ItemGroupId": 3,
              "Name": "Salad",
              "BaseImageName": "salad.png",
              "Items": [
                {
                  "SalesItemId": 2427,
                  "UpsellInfo": [
                    {
                      "ComboLevelId": 0,
                      "PartOfCombo": true
                    },
                    {
                      "ComboLevelId": 1
                    },
                    {
                      "ComboLevelId": 2
                    }
                  ]
                }
              ]
            }
          ]
        }
      ]
    }
  ]
}