Orders API overview

The orders API allows you to create orders, update existing orders, and retrieve information about orders.

Components of an order

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.

Diagrams of basic order structures

The following diagram shows the basic structure of a typical delivery order.

Diagram of the basic structure of the order object for a delivery order.

The following diagram shows the basic structure of a typical curbside pickup order, which is a takeout order with curbside pickup enabled.

Diagram of the basic structure of the order object for a curbside pickup order.

The following diagram shows the basic structure of a typical dine-in order that has multiple checks.

Diagram of the basic structure of the order object for a dine-in order that has multiple checks.

Orders API tasks

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).