The orders API allows you to create orders, update existing orders, and retrieve information about orders.
Here is a high-level overview of the information contained in an
order. For the full list of values in the Order
object, see the
Orders
section of the API reference. For a summary of the Order
object, including descriptions of the status, date-time, and amount fields
associated with an order, see Order object summary.
Each Order
object in the orders API provides information
about the order and its processing.
The order dining option determines whether the order is dine-in, takeout, curbside pickup (a variation of the takeout dining behavior), or delivery. Some dining options allow or require additional order information.
-
Takeout and delivery orders require guest information.
-
Delivery orders require a delivery address.
-
Curbside pickup orders can include vehicle information.
-
For dine-in orders, you can specify a table and identify a restaurant employee.
For more information about order values for dining options, see Order details based on the order dining option.
Each order contains one or more checks. The order checks contain the majority of the order information. Orders often contain only one check. When guests split an order so that they can pay separately, then the order contains multiple checks.
An order check contains:
- Menu item selections
-
The selected items from the menu.
Each
Selection
object refers to a single menu item.Each menu item can have modifiers that provide additional details and modifications. See Applying modifiers and pre-modifiers.
- Price information
-
Information about the amount that the guest was charged.
Price information includes:
-
The price information for the menu item selections.
The
receiptLinePrice
value is the original price of a menu item selection before any adjustments.The
amount
value is the actual amount that the guest is charged. It includes any discounts and service charges. -
Applied discounts. A discount can be applied to the entire check or to an individual menu item selection. See Working with order discounts.
-
Applied service charges.
-
Applied taxes.
For more information about order price information, see Order prices.
-
- Guest information
-
Information about the guest.
For example, takeout and delivery orders always provide a guest name and a corresponding email address and telephone number.
Note that the orders API sometimes uses the term "customer" to refer to a guest. For example, guest information is provided in the
customer
object. - Payment information
-
Payments that are applied to the check.
The following diagram shows the basic structure of a typical delivery order.
The following diagram shows the basic structure of a typical curbside pickup order, which is a takeout order with curbside pickup enabled.
The following diagram shows the basic structure of a typical dine-in order that has multiple checks.
You can use the orders API to perform the following tasks:
- Create an order
-
For an overview of the order creation process, see Creating orders.
The order creation process includes retrieving price information for the order checks. See Getting check prices before you submit an order.
You can provide the revenue center for an order. See Providing revenue center information for an order.
For information about dining options and the required information for types of dining options, see Order details based on the order dining option.
- Update an order
-
You can use the orders API to update an existing order. Examples of order updates include:
- Retrieve information about orders
-
You can use an order GUID to retrieve the details for that order. See Getting detailed information about one order.
You can retrieve details about orders that were either modified during a specific date range, or that were created on a specific business date. See Getting detailed information about multiple orders.
You can only retrieve order details for orders that were created after December 1, 2015 (2015-12-01).