Show Proposed Order

Order Ahead / Endpoints

Show a Proposed Order Ahead Order

This endpoint shows the current status of a proposed order ahead order. After starting an order, the client should poll this endpoint (at most once per second) until it no longer responds with HTTP 202 Accepted.

Clients should not need to construct this URL themselves. It is returned from the Start an Order Ahead Order endpoint as order_url.

When the user is ready to check out, POST to order_completion_url. Only then will the user be charged and their order forwarded to the third-party order ahead provider. (See Complete an Order Ahead Order for more detail.)

Request Endpoint

GET /v15/order_ahead/orders/:uuid

Authorization

A user token with the create_orders and read_user_basic_info permissions is required for this request.

cURL Example

curl https://api.thelevelup.com/v15/order_ahead/orders/4edca410faeb01354f6556dacf8bbcd5 \
  -H Accept:application/json \
  -H Content-Type:application/json \
  -H 'Authorization:token user="123897-99SCvr3kSe3TqqQid3DyPXfo2Kq98MyhF6CaNPqoDeMhJ18Uopq19uddcznu6R"'

Response

When the order is still being processed:

HTTP 202 Accepted (Empty response body)

When the order is ready for the client: HTTP 200 OK

{
  "order": {
    "allows_special_instructions": true,
    "available_at": [
      "2016-03-25T15:20:00Z",
      "2016-03-25T15:40:00Z",
      "2016-03-25T16:00:00Z",
      "2016-03-25T16:20:00Z",
      "2016-03-25T16:40:00Z",
      "2016-03-25T17:00:00Z",
      "2016-03-25T17:20:00Z",
      "2016-03-25T17:40:00Z",
      "2016-03-25T18:00:00Z"
    ],
    "delivery_fee_amount": 100,
    "delivery_instructions": null,
    "displayed_upsell_ids": [52, 53, 54],
    "discount_amount": 100,
    "instructions": "Pick up your food at the counter.",
    "items": [
      {
        "item": {
          "id": 103,
          "name": "Carne Asada Burrito",
          "option_ids": [525, 527],
          "price_amount": 1000,
          "quantity": 1,
          "selected_options": [
            {
              "option": {
                "id": 525,
                "free_quantity": 0,
                "name": "Flour Tortilla",
                "price_amount": 0,
                "quantity": 1
              }
            },
            {
              "option": {
                "id": 527,
                "free_quantity": 0,
                "name": "Green Salsa",
                "price_amount": 75,
                "quantity": 2
              }
            }
          ],
          "selected_options_description": "Flour Tortilla, Green Salsa (Quantity: 2)",
          "special_instructions": "Double wrap please.",
          "upsell_id": 52
        }
      }
    ],
    "latitude": 42.3557498,
    "location_id": 1855,
    "location_subtitle": "Boston, MA 02110",
    "location_title": "1 Federal St",
    "longitude": -71.0565637,
    "merchant_name": "LevelUp Cafe",
    "order_completion_url":
      "https://api.thelevelup.com/v15/users/orders/1a2b3.../complete",
    "provider_service_fee_amount": 20,
    "service_fee_amount": 45,
    "soonest_available_at": "2016-03-25T15:08:00Z",
    "special_instructions_character_limit": 100,
    "spend_amount": 1195,
    "state": "externally_valid",
    "subtotal": 1150,
    "tax_amount": 45,
    "tip_amount": 0,
    "total_amount": 1240,
    "upsell": {
      "id": 10,
      "prompt": "How about a refreshing Coke!",
      "show_prices": false,
      "items": [
        {
          "item": {
            "description": "A can of refreshing Coca-Cola.",
            "id": 2343533,
            "image_url": "https://api.thelevelup.com/v15/order_ahead/menus/319/items/1477/image",
            "name": "Coke",
            "price_amount": 205
          }
        },
        {
          "item": {
            "description": "A can of sugar-free Coca-Cola.",
            "id": 2365432,
            "image_url": "https://api.thelevelup.com/v15/order_ahead/menus/319/items/1478/image",
            "name": "Diet Coke",
            "price_amount": 199
          }
        }
      ]
    },
    "uuid": "1a2b3c4d5e6f7g8h9i9h8g7f6e5d4c3b2a1"
  }
}

Response Parameters

Name Type Description
available_at Array of Strings ISO8601-formatted timestamps representing times when the order can be requested to be ready.
delivery_fee_amount Integer The delivery fee charged to the user in cents. Never null.
delivery_instructions String, null For delivery orders, the delivery instructions from the user.
displayed_upsell_ids Array of Integers An array of upsell IDs that have previously been displayed to the user in the process of assembling this order.
discount_amount Integer Total in cents of discounts available through LevelUp. This includes gift card credit. Never null.
instructions String, null Instructions specific to the pickup or delivery process.
items Array of objects The items ordered by the user.
item[id] Integer The item’s menu ID.
item[name] String The item’s name.
item[option_ids] Array of Integers An array of option IDs included with the item.
item[price_amount] Integer The items price.
item[quantity] Integer The quantity ordered by the user.
item[selected_options] Array of objects An array of options for the item.
item[selected_options_
description]
String A human-readable description of the options selected by the user, if any. May be an empty string, but will never be null.
item[special_instructions] String, null Any special instructions for the item.
item[upsell_id] Integer The ID of the upsell that prompted the user to add this item to their cart.
latitude Decimal The latitude of the merchant location.
location_id Integer The ID of the location at which the order was fulfilled.
location_subtitle String The merchant location’s subtitle, as displayed in the LevelUp app’s Places screen. Usually the location’s city, state and ZIP.
location_title String The merchant location’s title, as displayed in the LevelUp app’s Places screen. Usually the location’s street address.
longitude Decimal The longitude of the merchant location.
merchant_name String The merchant’s name.
option[id] 64 bit Integer The option’s ID. Note that this can exceed 32 bit integer values.
option[free_quantity] Integer The quantity of free selections that have been chosen.
option[name] String The option’s name.
option[price_amount] Integer The option’s price in cents, independent of the base price of any associated item. May be zero.
option[quantity] Integer The option’s quantity.
order_completion_url String POST to this URL to complete an order. Never null.
provider_service_fee_amount Integer The service fee charged to the user by the third-party order ahead provider in cents. Never null.
service_fee_amount Integer The combined amount of all service fees charged to the user in cents. Never null.
soonest_available_at String ISO8601-formatted timestamp representing the soonest time at which the order can be prepared or delivered. (In other words, this is what “ASAP” means.) Never null.
spend_amount Integer Total amount minus tax and tip. Never null.
allows_special_instructions boolean Defines whether special instructions are allowed to be submitted with the order
special_instructions_
character_limit
integer Defines the number of characters of special instructions allowed
state String The order’s state. Never null.
subtotal Integer Subtotal of order in cents. Never null.
tax_amount Integer Tax in cents. Never null.
tip_amount Integer Tip in cents. Never null.
total_amount Integer Total cost in cents to user after tax, tip, and discounts. This is equivalent to the “balance” field on in-store orders. Never null.
upsell[id] Integer Internal LevelUp ID for the upsell.
upsell[prompt] String Prompt to be displayed to the user along with the selection of items.
upsell[show_prices] boolean Whether the client should display the price of each upsold item.
upsell[items][description] String The description of the menu item.
upsell[items][id] Integer Internal LevelUp order ahead menu item ID of an item that is to be upsold.
upsell[items][image_url] String A base URL to the menu item’s image, if it has one. See the Show Menu Item Image for details.
upsell[items][name] String The display name of the menu item.
upsell[items][price_amount] String The price of the item in cents. Even if upsell[show_prices] is false, we may return a price for each individual item, so be sure to respect the value of upsell[show_prices].
uuid String Unique identifier for order. This will also match the UUID for the order created in-store.

When the order is ready for the client, but has validation errors:

HTTP 422 Unprocessable Entity

[{
  "error": {
    ...
  }
}]