Batch ingestion of data feeds allows you to make restaurants, services, and menus available in Ordering End-to-End.
Google fetches your data feeds stored on the hosting platform and process them. After a successful ingestion, Ordering End-to-End provides information about status of ingestion, new files uploaded, total number of files, errors and warnings among other things.
This article goes into details for most of the batch feed errors in Actions Center, what they mean and how to fix them. The hyperlinks take you to the relational inventory schema page which provides more context such as accepted data type and examples on specific fields and entities.
Where are batch feed errors seen in Actions Center?
Data feeds let you make your restaurant, services, and menu available in Ordering End-to-End. To know more about hosting data feeds, visit the Batch ingestion article.
Once the feed files are uploaded, they are fetched and processed by Google. If there are any issues, they are displayed as errors. Here are steps to see Batch Feed errors in the Actions Center.
On the main navigation panel on the Actions Center, go to Feeds > History section.
Pick the environment (Production or Sandbox) and then click on the Ingestion history tab
Enter a lookback window to see ingestion history for past X days
To get more details on errors for a particular feed ingestion, click on the arrow (→)
You can then see more details on errors and warnings
Here's a list of batch feed errors:
Error | What it means | How to fix |
Missing Data - MenuItem
Menu must have at least one MenuItem
|
A Menu has been defined without any MenuItem
|
Find the ID for erroneous Menu entity in the feed and add Menu items. |
Incorrect Data - maxPrice
Incorrect data for field maxPrice
|
The value of the maxPrice field is incorrect
|
Ensure that the value of the maxPrice field is greater than 0 for the entity ID mentioned in the error description
|
Incorrect Data - eligibleQuantityMax
Incorrect data for field eligibleQuantityMax
|
The value of the eligibleQuantityMax field is incorrect
|
Ensure that the value of the eligibleQuantityMax field is greater than 0 for the entity ID mentioned.
|
Incorrect Data - leadTimeMax
Incorrect data for field leadTimeMax
|
The field leadTimeMax expects an integer value. Example, 12.
It throws an error for any other data type, even double (15.0)
|
For the Entity ID mentioned in the error message, check the value of the leadTimeMax property and ensure that it is an integer.
|
Incorrect Data - validFrom
Incorrect data for field validFrom
|
Value for the validFrom field expects an ISO timestamp format with type String.
|
For the entity ID in the error message for validFrom field, ensure that the value is a timestamp string.
Example: " 2022-01-02T00:00:00-07:00 "
|
Missing Data - ServiceHours
OperationHour contains no nested ServiceHours |
OperationHours entity has been defined but there isn't a valid ServiceHours entity corresponding to it. | For the entity ID mentioned in the error message, check if there is a properly defined ServiceHours entity corresponding to it.
Example: if the error message is "Entity id: store-1:DELIVERY OperationHour contains no nested ServiceHours" and assuming that Entity ID of OperationHours entity is 'store-1:DELIVERY:operation_hours' - check if there's a serviceHours entity tied to 'store-1:DELIVERY' ServiceID and 'store-1:DELIVERY:operation_hours' OperationHoursID
|
Incorrect Data - advanceBookingRequirementMin
Incorrect data for field advanceBookingRequirementMin
|
The field advanceBookingRequirementMin expects an integer value. Example, 12.
It throws an error for any other data type, even double (15.0) |
For the Entity ID mentioned in the error message, check the value of the advanceBookingRequirementMin property and ensure that it is an integer.
|
Incorrect Data - availabilityStarts
Incorrect data for field availabilityStarts
|
Value for the availabilityStarts field expects an ISO timestamp format with type String.
|
For the entity ID in the error message for availabilityStarts field, ensure that the value is a timestamp string.
Example: " 2022-01-02T00:00:00-07:00 "
|
Incorrect Data - closes
Incorrect data for field closes
|
Value for the closes field expects an ISO timestamp format with type String.
|
For the entity ID in the error message for the closes field, ensure that the value is a timestamp string.
Example: " 2022-01-02T00:00:00-07:00 "
|
Incorrect Data - dateModified
Incorrect data for field dateModified
|
Value for the dateModified field expects an ISO timestamp format with type String.
|
For the entity ID in the error message for dateModified field, ensure that the value is a timestamp string.
Example: " 2022-01-02T00:00:00-07:00 "
|
Incorrect Data - discount
Incorrect data for field discount
|
discount field expects a numeric value
|
For the entity ID in the error message for the discount field, ensure that the value is numerical.
Example: 10
|
Incorrect Data - discountPercentage
Incorrect data for field discountPercentage
|
discountPercentage field expects a numeric value
|
For the entity ID in the error message for discountPercentage field, ensure that the value is numerical.
Example: 15
|
Incorrect Data - geoRadius
Incorrect data for field geoRadius
|
The field geoRadius expects a positive integer value.
|
For the Entity ID mentioned in the error message, check the value of the geoRadius property and ensure that it is an integer.
Example: 10000 |
Incorrect Data - image
Incorrect data for field image
|
image field expects a valid URL and throws an error if it detects anything else.
|
Check if the value of the image field is a valid URL string
|
Incorrect Data - latitude
Incorrect data for field latitude
|
The latitude field expects the type of value to be double
|
For the entity ID of type Restaurant mentioned in the error description, ensure that the value of the latitude field is double.
Example: 35.4565 |
Incorrect Data - leadTimeMin
Incorrect data for field leadTimeMin
|
The field leadTimeMin expects an integer value. Example, 12.
It throws an error for any other data type, even double (15.0) |
For the Entity ID mentioned in the error message, check the value of the leadTimeMin property and ensure that it is an integer.
|
Incorrect Data - longitude
Incorrect data for field longitude
|
The longitude field expects the type of value to be double
|
For the entity ID of type Restaurant mentioned in the error description, ensure that the value of the longitude field is double.
Example: 35.4565 |
Incorrect Data - menuId
Incorrect data for field menuId
|
The value for the menuId field needs to be a non-empty String
|
For the entity ID mentioned in the error description, ensure that the value is of type String and not empty |
Incorrect Data - name
Incorrect data for field name
|
The value for the field name should be a non empty string
|
Check if the value for the entity ID mentioned in the error message is a non empty string |
Incorrect Data - nutrition.calories
Incorrect data for field nutrition.calories
|
The value for the calories field needs to be a string in the format "NN Cal"
|
Ensure that for the entity ID in the error message, the value is a positive number in the correct format.
Example: "123.32 Cal" |
Incorrect Data - opens
Incorrect data for field opens
|
Value for the opens field expects an ISO timestamp format with type String.
|
For the entity ID in the error message for opens field, ensure that the value is a timestamp string.
Example: " 2022-01-02T00:00:00-07:00 "
|
Incorrect Data - price
Incorrect data for field price
|
price field expects a numeric value
|
For the entity ID in the error message for price field, ensure that the value is numerical.
Example: 15.4 |
Incorrect Data - sku
Incorrect data for field sku
|
The value for the field sku should be a non empty string
|
Check if the value for the entity ID mentioned in the error message is a non empty string |
Incorrect Data - validFrom
Incorrect data for field validFrom
|
Value for the validFrom field expects an ISO timestamp format with type String.
Also, value for validFrom should be less than or equal to validThrough
|
For the entity ID mentioned in the error description, ensure that the value for the validFrom field is a timestamp string.
" 2022-01-02T00:00:00-07:00 "
Also, make sure that the value for validFrom is less than or equal to validThrough
|
Incorrect Data - validThrough
Incorrect data for field validThrough
|
Value for the validThrough field expects an ISO timestamp format with type String.
Also, value for validThrough should be more than or equal to validFrom
|
For the entity ID mentioned in the error description, ensure that the value for the validThrough field is a timestamp string.
" 2022-01-02T00:00:00-07:00 "
Also, make sure that the value for validThrough is more than or equal to validFrom
|
Incorrect Data - value
Incorrect data for field value
|
value field is only required when Optiontype is defined. It expects a String or an Enum value . Note that Enum values are specific to the PIZZA_SIDE option type.
|
For the entityID mentioned in the error description, check if the value field has a non-empty string.
|
Menu is too large
Menu size exceeds the max limit |
This error is thrown when the size of a menu file is more than what the system can accept. Each file, which can contain multiple entities, must not exceed 200 MB. The top-level entities Restaurant, Service, and Menu, along with their child entities, must not exceed 4 MB all together. | Ensure that the size of the menu file is within the limit of what is specified in the documentation. |
Missing Data - addressCountry
Missing required field addressCountry in the input.
|
addressCountry is a required field and is missing from the Restaurant entity
|
For the entity id mentioned in the error description, check if the addressCountry field is a non empty string
|
Missing Data - addressLocality
Missing required field addressLocality in the input.
|
addressLocality is a required field and is missing from the Restaurant entity
|
For the entity id mentioned in the error description, check if the addressLocality field is a non empty string
|
Missing Data - addressRegion
Missing required field addressRegion in the input.
|
addressRegion is a required field and is missing from the Restaurant entity
|
For the entity id mentioned in the error description, check if the addressRegion field is a non empty string
|
Missing Data - Fee
Delivery/Takeout service does not have any delivery fees |
Entity of type Fee does not have any price associated with it for the delivery/takeout service
|
For the entity ID mentioned in the error description, ensure that the Fee entity is set properly for delivery/takeout ServiceType according to the directions here. |
Missing Data - FeeValue
One of price , pricePerMeter , percentageOfCart fields are required in the input.
|
For the value of Fee, exactly one of price, pricePerMeter or percentageOfCart needs to be set.
|
For the entity ID mentioned in the error description, ensure that exactly one of price, pricePerMeter or percentageOfCart is set.
|
Missing Data - geoMidpointLatitude
Missing required field geoMidpointLatitude in the input.
|
When defining ServiceArea, geoMidpointLatitude is required along with geoMidpointLongitude when geoRadius is used.
|
For the entity ID mentioned in the error description, ensure that the value of the geoMidpointLatitude field is defined and is of the type double.
Example: 35.4565 |
Missing Data - geoMidpointLongitude
geoMidpointLongitude in the input.
|
When defining ServiceArea, geoMidpointLongitude is required along with geoMidpointLatitude when geoRadius is used.
|
For the entity ID mentioned in the error description, ensure that the value of the geoMidpointLatitude field is defined and is of the type double.
Example: 122.4565 |
Missing Data - MenuItemOption
MenuItemOffer is required for MenuItemOption |
For every MenuItemOption, there needs to be a corresponding MenuItemOffer entity | Ensure that for all menu item ids in the error description, all MenuItemOption entities have a MenuItemOffer entity properly defined. |
Missing Data - OperationHours
Service is missing operation hours |
A Delivery/Takeout service entity is missing a corresponding OperationHours entity. OperationHours describes the ordering window in which users can access the flow and place ASAP or future orders. | For the entity ID mentioned in the error description, ensure that an OperationHours entity is properly defined. |
Missing Data - postalCode
Missing required field postalCode in the input.
|
postalCode is a required field and is missing from the Restaurant entity
|
For the entity id mentioned in the error description, check if the postalCode field is a non empty string
|
Missing Data - priceCurrency
Missing required field priceCurrency in the input.
|
The priceCurrency field is either empty or contains an inaccurate value. It expects a 3-letter ISO 4217 currency code.
|
For the entity ID described in the error description, ensure that the priceCurrency field is a non empty String with 3-letter ISO 4217 currency code.
Example: USD, EUR |
Missing Data - ServiceArea
Delivery service does not have delivery service areas |
ServiceArea entity is required to be implemented if the associated Service entity has serviceType set to "DELIVERY"
|
Ensure that for the Service entity ID mentioned in the error message, there is a properly defined ServiceArea entity |
Missing Data - streetAddress
Missing required field streetAddress in the input.
|
streetAddress is a required field and is missing from the Restaurant entity
|
Find the Restaurant entity by the ID mentioned in the error description, check if the streetAddress field is a non empty string
|
Stale Entity | During data feed ingestion, Ordering End-to-End compares the modified date timestamp of each incoming entity with the timestamps of previously ingested entities. Unless the entity in the data feeds is newer, the incoming entity is marked as stale. | For all entity IDs mentioned in the error description, Google must ensure that the timestamp in the data feed is newer than the timestamp set in prior entity updates sent to Google. You can refer to entity versioning for further clarification. |