What is "pick"?

When placing an order, a customer chooses an item and then selects the different available options. The options available for an item are defined by the menu, while the way the options are selected is defined by the pick object.

There are three ways in which a customer can pick options:

Pick Exactly

Customers can choose an exact number of modifier options for an item as defined in the exactly attribute. For example: a customer orders a coffee and is prompted to "pick" a size. They should be able to choose exactly 1 of the options (small, medium, or large), and should only be able to choose it once.

"pick": {
  "exactly": 1;
  "pick_same_option": true;
}

Pick Range

Customers can choose a number of modifier options between a range of two integers. For example, a customer orders toast which has a modifier of extras (cheese and tomato), a Pick set to range from 0 to 3, and a pick_same_option of true. This allows the customer to order toast with cheese and tomato, or 2x cheese and 1 tomato, or 1 cheese and 2x tomato.

"pick": {
  "range": {
    "from": 0;
    "to": 3;
  }
  "pick_same_option": true;
}

Pick Unlimited

Customers can choose as many modifier options as they'd like, with no limit. The only restriction might be picking the same option more than once if pick_same_option is set to false.

"pick": {
  "pick_same_option": false;
}