Inventory Viewer

Inventory Viewer is a tool which lets you:

  • Look up entities based on provider ID (the ID you provide in feeds)
  • See entity-specific details including:
    • Entity name
    • Restaurant address
    • Raw entity JSON
    • Service area
    • Hours
    • Serving status on consumer surfaces
    • Links to the consumer ordering flow
    • and more
  • Navigate between related entities (i.e. navigate from a Menu to its parent Service and Restaurant or vice versa)
  • See which version of an entity Google has

To access Inventory Viewer open Actions Center and navigate to Inventory > Food Ordering Entities or click this link .

All users with Reader access or above to your Actions Center account automatically have access to Inventory Viewer.

Inventory Viewer supports Production and Sandbox environments only. Quick Testing is not supported.

How to use Inventory Viewer

Start by navigating to Inventory > Food Ordering Entities or click this link

Inventory Viewer has two views: List view and detail view

List view

This is the view users see when first navigating to the tool. It contains a table with one tab for each entity type. Each tab contains a paged table of all entities of that type. Columns vary by entity type but always include:

Column Name Description
Entity ID Partner-provided entity ID (from batch feeds and RTUs)
Last Modified This is the timestamp of the last modifying ingestion of this entity in feeds or RTUs (in your timezone).

Other, entity-specific columns include:

Column Name Description
Name The name of the entity in feeds.
Status The serving status of the entity. Only available for Restaurants and Services
Deleted Status The deleted status of the entity. Values are "Deleted" or "Not deleted". Available for all entity types except Service and Restaurant
Type Delivery or Takeout for Services, optionType for MenuItemOptions

Clicking on a row brings you to the detail view for that entity.

List View Filters

Each list view table supports a set of filters specific to that entity type. All entities support filtering by Entity ID (the ID you provide to Google in feeds and RTUs).

Some entity types support more advanced filters. Below is a table which lists a few such filters.

Key Operators Supported entity types Description
Name =,contains Restaurant, Menu, MenuSetion, MenuItem the entity name provided in feeds
SKU = MenuItemOffer
Address =,contains Restaurant The address provided in feeds
Serving Status multi-select Restaurant, Service The serving status on the Consumer UI
Deleted Status multi-select All entities except Restaurant and Service The deleted status of the entity (deleted or not deleted)

Detail view

Detail view is the view that users see when clicking on an entity in the list view. Detail view contains additional information about that entity such as:

  • Disable reason (for Restaurant and Service entity types)
  • List views of related entities
  • The Indexing Time of the entity (time of last sync to serving DB)
  • The raw JSON from feeds or RTUs
  • Combined views of related entities (e.g. OperationHours, ServiceAreas, price)
  • Links to production and testing ordering flows (Restaurants and Services only)

Statuses and how to fix errors

The following table describes the serving statuses of entities as reported in Inventory Viewer. Only Restaurants and Services have a serving status.

Status Description
Enabled The entity is eligible to serve on Google surfaces.
Disabled The entity is not serving on Google. Click the row to open detail view and see the reason why it is not serving.
Pending The entity was added in the most recent feed, but is not serving yet.
Deleted The entity was deleted in a feed or RTU. Deleted entities are kept for 30 days.

The version you see in the Inventory Viewer may not be the version that is serving due to entity processing times. See FAQ for details.

If an entity is disabled open the detail view to see the Disable Reason.

Disable Reason Description How to fix
Menu missing or has an error The menu entity is missing or has an error during ingestion. Ensure that a menu entity is defined for the restaurant in the data feeds. Ensure that the @id references are correct. Check for errors in the menu by using Inventory Viewer
Restaurant missing or has an error The restaurant entity is missing from feeds or had an error during ingestion. Ensure that the restaurant entity is defined in the data feeds. Ensure that @id references to the restaurant entity are correct.
Unable to match to a valid restaurant in Google's database This occurs when a restaurant entity in your data feed is not able to match to a valid restaurant in Google's database. Check if the restaurant exists in Google Search and Maps. If the restaurant does not exist, follow the instructions for How to add or claim your Business Profile on Google. Ensure that the name and address in your data feed file exactly matches the name and address in the Business Profile.
Service missing or has an error The service entity is missing or has an error during ingestion. Ensure that the service entity is defined for the restaurant in the data feeds. Ensure that the @id references are correct. Use Inventory Viewer to check for service entity-related errors and fix them.
Temporarily disabled from feeds The restaurant is in data feeds, but its service has been disabled. Send an incremental update or batch ingestion to set the service entity isDisabled property to false.
Restaurant opted out of OwG The merchant isn't enabled on Ordering End-to-End because they previously chose to turn off the Order Online button with the instructions at Set up, turn on, or turn off the "Order online" button. Reach out to your restaurant and ask them to turn on the Order Online button with these Set up, turn on, or turn off the "Order online" button.
Restaurant opted out of Provider The merchant disabled Order Online using the instructions at Set up, turn on, or turn off the "Order online" button for you on Ordering End-to-End because they reported that they did not have a business relationship with you. Reach out to your merchant and ask them to turn on the Order Online button for the provider using the contact form.
Marked as closed on Google - Permanently Closed The location shows as permanently closed on the Google knowledge panel. Merchants can follow the instructions for How to set business hours or mark a closure to mark the location as reopened on their Business Profile.
Marked as closed on Google - Temporarily Closed The location shows as permanently or temporarily closed on the Google knowledge panel. Merchants can follow the instructions for How to set business hours or mark a closure to mark the location as reopened on their Business Profile.
Duplicate restaurants This means that multiple restaurant entities from your data feeds are matched with the same restaurant in Google's database. Remove duplicate restaurant entities from your data feeds. If the same restaurant has multiple locations either in one complex (mall, airport, or shopping center) or in close proximity to each other, ensure that each has a separate location on Google Business Profile (instructions) and matches to a single entity in the data feeds.
Duplicate services This means that multiple services of the same type (delivery or takeaway) from your data feeds are linked to the same restaurant in Google's database. Example: Two delivery service entities are configured for the same restaurant in your data feeds. Update your data feeds to make sure that each restaurant has no duplicate delivery service or takeaway service.

Deleted Entities

For Restaurant and Service entities which have been deleted, their Status column will show the "Deleted Status". For all other entity types, the list view will contain a "Deleted status" column whose value will either be "Deleted" or "Not deleted". Deleted entities are stored for 30 days after the deletion events. Inventory Viewer will not have full information on deleted entities and fields such as Name will show as "Unknown".

FAQs

Does Inventory Viewer report replace the Restaurant Status Report?

No. The Restaurant Status Report will continue to exist and provide an aggregated view of serving statuses.

What is the latency of data appearing in Inventory Viewer?

Data latency in Inventory Viewer follows ingestion and processing time. For data provided in batch feeds, latency is up to 2 hrs from the point of successful ingestion. For RTUs it is <5 minutes. Successful ingestion means either:

  • The feed which contained the entity has status "Success" in the Ingestion History screen.
  • The RTU which contained the entity has no request-level or entity-level validation errors as reported in RTU Reporting

Does Inventory Viewer support Quicktesting?

No. Inventory Viewer supports Production and Sandbox environments only.

I fixed the issue preventing a Restaurant from serving but it still shows as "Disabled" in Inventory Viewer?

Data can take up to 2 hours from the point of successful ingestion via batch feeds or 5 minutes for RTUs to reflect in the consumer ordering flow. See FAQ for details about latency. Inventory Viewer has up-to-date serving status so once an entity changes serving status in the consumer UI it will be reflected near instantly in Inventory Viewer.

Last Modified and Indexing Time

Inventory Viewer always shows the latest ingested version of an entity. However, after ingestion is complete, but before the consumer UI has been updated with the latest version, the version of the entity serving won't match the version that was just ingested and is being shown in Inventory Viewer. This is due to processing time in the serving pipeline. Indexing Time is the time at which data received via feeds and RTUs was synced to the serving database to serve on consumer surfaces. Any entity whose Last Modified time is before the Indexing Time will be served on consumer surfaces.

For example let's say you add a Service in feeds which finishes ingesting at 00:30:00 and is indexed at 01:30:00 and thus begins serving at that time. Then at 04:00:00 you upload another feed with a new version of that Service with isDisabled=true and that feed finishes ingesting at 04:30:00. After the second ingestion is complete, Inventory Viewer will show Jan 1 04:30:00 GMT as the Last Modified timestamp, however until an indexing operation takes place the consumer ordering flow would still be serving the version that completed ingestion at 00:30:00. Let's say another indexing operation takes place at 04:45:00. At this point the Service's disabled status will be updated in the consumer UI and that entity will stop serving, however, during the entire period from 01:30:00 (first indexing operation) to 04:45:00 (second indexing operation), the entity's status will be "Enabled" since a previous version of the entity was serving in the consumer UI.