Overview

Order Ahead / Getting Started

Overview

LevelUp’s network of order ahead locations enables users to view menus from nearby locations, configure their orders, get available ready times and place their orders from their phone. Order ahead provides a great consumer experience by enabling easy menu-browsing and, of course, the ability to skip the line upon arrival.

To place an order ahead order, the flow is generally as follows:

  • Show the user a list of locations with delivery or pickup as available fulfillment_types.
  • Show the user the menu for a given location
    • Menu item images are available for select menus.
  • Allow the user to configure their cart locally on the device. This can be done automatically via past orders or suggested orders.
  • Validate the order to get final amount and ready time. Validation is a two part polling process.
    • First you submit the order validation request, and LevelUp returns an endpoint to poll
    • Then you poll that endpoint until the status of the order returns with the necessary details or reports an error.
    • This process takes on average 6-8 seconds, though it can take up to 15 seconds. This process takes time because we are reaching out to the underlying order ahead provider who in turn is reaching down into the physical location to determine available ready times, sales tax and other necessary details.
  • Once you have received the response from the validation process, you should show the user the final price and ready time, and allow them to submit the order if all looks satisfactory.
  • Submitting the order is again a two part polling process.
    • First you submit the order submission request, and LevelUp returns an endpoint to poll
    • Then you poll that endpoint until the status of the order returns with the necessary details or reports an error.
    • This process takes on average 8-12 seconds. For this endpoint, we have a hard-cutoff at 90 seconds at which point we assume something has gone wrong and will refund the order. This process takes time because we are reaching out to the underlying order ahead provider who in turn is processing the transaction and pushing the order details down into the physical location to begin production of the requested items.
  • Once you have received the response from the submission process, you should show that to users in a confirmation dialog.

For more details on each of the endpoints described above, check out the detail endpoint references in this section.