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.
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
orDELIVERY
, the order must includecustomer
information. -
If the dining option for an order is
DELIVERY
, the order must includedeliveryInfo
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 firstCustomer
andDeliveryInfo
.
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 istrue
, you can create an order with thecurbsidePickupInfo
object in the request body. You must includetransportDescription
information in the object. You can also create the order without including thecurbsidePickupInfo
object. For more information, see Creating curbside pickup orders. -
If a dining option's
curbside
value isfalse
, do not include thecurbsidePickupInfo
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" }