Ordering End-to-End lets partners take food orders from an end user and process that order for fulfillment with restaurants in their network.
Ubiquitous and optimized for conversion
Google makes ordering food available across mobile and desktop platforms through Google Search and Maps.
Flexible ordering experience
Additional features such as order ahead, menu search, suggested related items, popular items, and reorder provide a flexible and enriched user experience.
The following series of steps is what a typical user goes through to order food with Ordering End-to-End.
The user searches for a restaurant
When a user searches for a particular restaurant in Search or Maps, they can be given the option to order food through Ordering End-to-End. If at least one provider supports the restaurant, the restaurant placesheet displays an Order Online button.
The user picks a provider
After the user clicks Order Online, they're redirected to a page where they select the following provider options:
- Pickup or delivery
- ASAP or advanced orders
- A list of providers
The user selects their food choices
The user can browse through multiple menu sections and options to select their food choices, and add items to their cart along the way. They can customize their order with add-ons or special instructions, repeat previous orders, and add suggested or popular items. Then, they make their food choices and add them to their cart.
The user places their order
After the app validates the user's cart, the order submission page displays the order details for the user to review:
- Their name, phone number, and delivery address
- Special pickup or delivery instructions
- Tip amount
- Payment method in Google Pay
- Promotion code
After the user confirms their order information, the user clicks Place order to pay online and submit their order. After the submission, they receive an order confirmation dialog.
The user checks their order status
After the user places their order, they receive email confirmation from the partner, which contains the order details, tracking information, and contact information. The provider contact is used for post-order support, such as a cancellation.
For more information, refer to Launch readiness checklist.
For more information on the requirements to be an Ordering End-to-End partner, refer to our Policies.
For your food business to connect with Google's Ordering End-to-End support, you must integrate with Google systems and APIs. There are three processes you need to implement to connect with Ordering End-to-End:
Provide restaurant, menu, and service data feeds to Google.
The first step of the integration process is to create and host data feeds about your restaurant, menu, and service. These feeds provide details about restaurant name, location, service hours, menu items and sections, delivery areas, and more. Google ingests your data feeds and uses them to present your menu and services to users. You can update these feeds regularly and even incorporate incremental changes in real time.
Handle order fulfillment.
After a user is ready to order, Google lets them review and modify their cart details before their order is processed and submitted. As part of the Ordering End-to-End integration process, you create a webhook URL that validates and receives the orders from Google. You process online payments through a Google Pay participating processor.
Support order updates.
To provide post-order experiences on Google's surfaces, you send updates to a Google API. Google then shows the information to your customer. These include the order status, estimated fulfillment time, customer service information, and other changes that might impact their order. Users who order food can view the state of their purchases in Google.
To implement these processes, the Ordering End-to-End integration has two main components: Inventory feeds and fulfillment actions.
These feeds use a relational inventory schema to supply Google with up-to-date information about a restaurant, the services it provides, and the items in its menu.
These are Checkout and Submit Order actions that you need to consume from our webhook. Checkout validates the cart and returns any applicable payment methods and fees. Submit Order is where the user's order is sent to you for fulfillment by the restaurant. To send updates back to Google after the order has been submitted, such as cancellation or total amount changes, you need to call the Async Order Update API.
Inventory feeds are how a user discovers and orders from a desired restaurant. The relational inventory schema defines the structure of your Ordering End-to-End inventory. An Ordering End-to-End inventory feed consists of the following main entities:
Google uses a daily batch feed of your inventory feeds to make Ordering End-to-End available to users. To keep your inventory up to date, you must update your batch feeds at least once a day for Google to fetch. It takes about two hours for your inventory to be updated by a batch.
Incremental Updates API
You can send time-sensitive updates of your inventory to Google. The Incremental Updates API lets you update and delete entities in your inventory in almost real time. Incremental updates are processed in no more than five minutes. This is primarily intended for updates that you can't foresee, such as emergency restaurant closures or removal of an out-of-stock item. If your change doesn't need to be reflected immediately, use the batch feeds instead.
A webhook is used to validate and receive orders from Google. Ordering End-to-End has two fulfillment actions that your webhook URL needs to consume:
- The Checkout action is used to validate the cart and delivery address of the user. It also returns the available payment options, corresponding taxes, delivery fees, and other charges for the user to confirm before the order is submitted.
- The Submit Order action is used when you receive the final details of the order from Google for restaurants to fulfill.
Async Order Update API
After the order is submitted, you can call the Async Order Update API to send back order updates to Google. This lets users check their order status in Google. You can update the order status, fulfillment time, customer service information, and item and price changes.
The integration process is divided into four parts: setup, development, testing, and deployment. Our existing partners mostly take two to six months to integrate with Ordering End-to-End, which depends on the resources available to them and the complexity of their integration. We suggest that a customer support expert assist you for the pilot program.
Review the policies and prerequisites before you start your integration with Ordering End-to-End. You need to create an Ordering End-to-End project in Actions Console by following the project creation steps. You must submit your project for review and approval to Google before all of the features required for full integration are enabled in your project.
After setup, create feeds manually and test the appearance of your inventory in Ordering End-to-End. Write the code when you're ready to conduct a full-scale development. First generate your inventory feeds and then implement the Checkout and Submit Order actions. You implement the Incremental Inventory Update and Async Order Update APIs after your inventory feeds and fulfillment actions are complete.
Use Quick Testing to unit test or perform integration testing with your inventory feeds and fulfillment endpoint.
Run the Automated Integration Test Tool to test your Checkout and Submit Order actions with different test conditions and edge cases.
Finally, perform User acceptance testing that includes real orders from your own testers and verifies fulfillment to restaurants. There must be a total of 5 successfully placed orders. Your fulfillment endpoint URL must be in production to do this.
- After we review the test orders and approve the test traffic, you're ready to launch. We look for less than a 5% error rate for all integration touch points: inventory, checkout, order submission, and async order updates. For more details, see Launch readiness checklist.
- All integration milestones must be completed.
- For more information on launch success criteria, refer to Launch readiness checklist.