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.

Creating takeout orders

A request for a takeout order must include the following:

  • The order's diningOption value must be set to a GUID that references a takeout dining option.

  • The order must have a customer value that contains information about the customer who will pick up the order.

The following example shows a JSON Order object that contains one check with a single menu item and a dining option set to take out. Note that there is no payment information supplied with this order, but it can be included using the format shown in the dine-in order request.

Example POST request message body to create a takeout order

{
  "entityType": "Order",
  "diningOption": {
    "guid": "18855a26-40d4-4a8f-b484-c6af211dd597",1
    "entityType": "DiningOption"
  },
  "checks": [
    {
      "entityType": "Check",
      "selections": [2
        {
          "entityType": "MenuItemSelection",
          "itemGroup": {
            "guid": "75cd1156-c33a-4842-9cbd-717aebbf069e",
            "entityType": "MenuGroup"
          },
          "item": {
            "entityType": "MenuItem",
            "guid": "2478cec3-bca2-4956-a3aa-eda571d5518a"
          },
          "quantity": 1,
          "modifiers": []
        }
      ],
      "customer": {3
          "entityType": "Customer",
          "firstName": "Jack",
          "lastName": "Jones",
          "phone": "333-555-5555",
          "email": "jack@example.com"4
      }
    }
  ]
}

1

The GUID of the dining option for the order. For this example, the dining option is take out.

2

The selections value contains menu item information for the order. Its format is similar to the dine-in example.

3

The customer value contains information about the customer who will pick up the order. This customer information is mandatory for takeout orders. The firstName, lastName, phone, and email fields are required and the data must be correctly formatted (for example, the phone number must have exactly 10 digits).

4

The email value in a Customer object is the key value that indicates guest uniqueness. email must be unique per individual guest.


The following example shows the response data returned by the /orders endpoint of the orders API.

Example orders endpoint response data for a takeout order

{
  "guid": "df8cd211-c5c9-4fe4-b56b-fa0db87eb80b",1
  "entityType": "Order",
  "externalId": null,
  "revenueCenter": null,
  "server": null,
  "deliveryInfo": null,
  "serviceArea": null,
  "numberOfGuests": 1,
  "diningOption": {
    "guid": "18855a26-40d4-4a8f-b484-c6af211dd597",
    "entityType": "DiningOption",
    "externalId": null
  },
  "source": "API",
  "voidDate": null,
  "openedDate": "2017-10-04T13:54:00.969+0000",
  "duration": null,
  "businessDate": 20171004,
  "voidBusinessDate": null,
  "checks": [
    {
      "guid": "602d2cec-eb97-4be0-948f-4a38f614c1f1",
      "entityType": "Check",
      "externalId": null,
      "displayNumber": "51",
      "amount": 9.99,
      "tabName": null,
      "taxExempt": false,
      "payments": [],2
      "appliedDiscounts": [],
      "voidDate": null,
      "openedDate": "2017-10-04T13:54:00.970+0000",
      "totalAmount": 10.69,3
      "selections": [
        {
          "guid": "13ae0536-bff4-4d24-a13a-722508a2556a",
          "entityType": "MenuItemSelection",
          "externalId": null,
          "itemGroup": {
            "guid": "75cd1156-c33a-4842-9cbd-717aebbf069e",
            "entityType": "MenuGroup",
            "externalId": null
          },
          "deferred": false,
          "item": {
            "guid": "2478cec3-bca2-4956-a3aa-eda571d5518a",
            "entityType": "MenuItem",
            "externalId": null
          },
          "quantity": 1,
          "preDiscountPrice": 9.99,
          "voidReason": null,
          "optionGroup": null,
          "displayName": "Egg Sandwich",
          "appliedDiscounts": [],
          "tax": 0.7,
          "modifiers": [],
          "voidDate": null,
          "fulfillmentStatus": "NEW",
          "salesCategory": null,
          "selectionType": "NONE",
          "voidBusinessDate": null,
          "createdDate": "2017-10-04T13:54:00.997+0000",
          "preModifier": null,
          "price": 9.99,
          "modifiedDate": "2017-10-04T13:54:00.997+0000",
          "voided": false,
          "appliedTaxes": [
            {
              "entityType": "AppliedTaxRate",
              "taxRate": {
                "guid": "92c6c470-74bb-4f84-b31f-2c144b70a285",
                "entityType": "TaxRate"
              },
              "name": "Local Tax",
              "rate": 0.0075,
              "taxAmount": 0.075,
              "type": "PERCENT"
            },
            {
              "entityType": "AppliedTaxRate",
              "taxRate": {
                "guid": "d5b88c05-1348-42ef-b1d3-577a83d70a80",
                "entityType": "TaxRate"
              },
              "name": "State Tax",
              "rate": 0.0625,
              "taxAmount": 0.625,
              "type": "PERCENT"
            }
          ]
        }
      ],
      "voidBusinessDate": null,
      "deleted": false,
      "paidDate": null,4
      "closedDate": null,
      "deletedDate": null,
      "modifiedDate": "2017-10-04T13:54:01.022+0000",
      "appliedLoyaltyInfo": null,
      "voided": false,
      "taxAmount": 0.7,
      "appliedServiceCharges": [],
      "paymentStatus": "OPEN",
      "customer": {5
        "guid": "3d4b9481-4e96-42dd-8dea-d59184819cbb",
        "entityType": "Customer",
        "firstName": "Jack",
        "lastName": "Jones",
        "phone": "3335555555",
        "email": "jack@example.com"
      }
    }
  ],
  "deleted": false,
  "paidDate": null,
  "closedDate": null,
  "deletedDate": null,
  "restaurantService": null,
  "modifiedDate": "2017-10-04T13:54:01.024+0000",
  "promisedDate": null,
  "voided": false,
  "estimatedFulfillmentDate": "2017-10-04T14:24:00.969+0000",
  "table": null
}

1

The unique identifier that the Toast platform assigns to the order.

2

The payment information is empty because the order request was made without a payments value. This means that the customer has not made any payments for this check.

3

The total amount (including tax) of this check.

4

The date and time are null because the customer has not made a payment for the check.

5

Information about the customer who will pick up the order.