This guide will be removed on April 29, 2022. Please use our new, easier-to-use Toast technical documentation site. All updated content is on the new site.

Dining Options for Orders

A dining option describes a customizable workflow for an order that is defined by the restaurant. A dining option can modify which order and check fields are required. You need to know the GUID of the dining option when you submit an order. You can retrieve a dining option's GUID using the configuration API.

DiningOption objects include a behavior field which can be DINE_IN, TAKE_OUT, or DELIVERY.

  • If the dining option for an order is TAKE_OUT or DELIVERY, the order must include customer information.

  • If the dining option for an order is DELIVERY, the order must include deliveryInfo information.

  • You can create an Order through the POS that includes multiple checks with different customers who have different addresses. In this case, GET requests will return only the first Customer and DeliveryInfo.

DiningOption objects also include a curbside value which can be true for a dining option that has TAKE_OUT behavior. The curbside value is always false for dining options that have DINE_IN or DELIVERY behavior.

  • If a dining option's curbside value is true, you can create an order with the curbsidePickupInfo object in the request body. You must include transportDescription information in the object. You can also create the order without including the curbsidePickupInfo object. For more information, see Creating curbside pickup orders.

  • If a dining option's curbside value is false, do not include the curbsidePickupInfo object. If you include it, curbside pickup information will not be displayed as part of the order received by the restaurant.

Using the configuration API, you can send a GET request to the /diningOptions endpoint to get a list of the dining options configured for a restaurant. The following example shows the results of such a request.

Response Data Containing Detailed Information About Dining Options

{
  "guid": "18855a26-40d4-4a8f-b484-c6af211dd597",
  "entityType": "DiningOption",
  "externalId": null,
  "name": "Take Out",
  "curbside": true,
  "behavior": "TAKE_OUT"
},
{
  "guid": "23fc2559-fc37-46ce-a963-cc5fdb88af0c",
  "entityType": "DiningOption",
  "externalId": null,
  "name": "Dine In",
  "curbside": false,
  "behavior": "DINE_IN"
},
{
  "guid": "b1b10604-a8f9-4a21-ae86-7db974ee9dbf",
  "entityType": "DiningOption",
  "externalId": null,
  "name": "Delivery",
  "curbside": false,
  "behavior": "DELIVERY"
}