- Platform Overview
- Resources and Guides
-
POS Integration
-
Getting Started
-
Core Concepts
-
Integration SDK
-
Certification
-
-
Order Ahead
-
Getting Started
-
Endpoints
-
-
Provider Enablement
-
Provider Enablement
-
Endpoints
-
Developer Endpoints
-
-
API Reference
-
Getting Started
-
v15
-
- Access Tokens
- Campaigns
- Credit Cards
- Users
- Credit
- Locations
- Payment Methods
- QR Codes
- Progress Adjustments
- Orders
- Rewards
- Gift Cards
-
-
v14
-
- Credit
- Access Tokens
- Campaigns
- Categories
- Credit Cards
- Interstitials
- Locations
- Loyalty
- Orders
- Payment Tokens
- Support Tickets
- Users
-
-
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
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": {
...
}
}]