This file defines the schema for the FOOD vertical in the Engage SDK. { "client": "com.google.android.engage.food.service.AppEngageFoodClient", "clusterTypes": [ "TYPE_RECOMMENDATION", "TYPE_FEATURED", "TYPE_FOOD_SHOPPING_CART", "TYPE_FOOD_SHOPPING_LIST", "TYPE_FOOD_REORDER" ], "entities": { "ProductEntity": { "package": "com.google.android.engage.food.datamodel.ProductEntity", "fields": { "entityId": { "type": "String", "requirement": "Optional", "setter": "setEntityId(String)", "getter": "getEntityId()" }, "actionLinkUri": { "type": "Uri", "requirement": "Required", "setter": "setActionLinkUri(Uri)", "getter": "getActionLinkUri()" }, "posterImages": { "type": "List", "requirement": "Required", "adder": "addPosterImage(Image)", "getter": "getPosterImages()", "adderAll": "addPosterImages(List)" }, "rating": { "type": "Rating", "requirement": "Optional", "setter": "setRating(Rating)", "getter": "getRating()", "requiredFor": [ "Required if strikethrough price is provided", "Mutually required with other rating fields" ] }, "title": { "type": "String", "requirement": "Optional", "setter": "setTitle(String)", "getter": "getTitle()" }, "displayTimeWindows": { "type": "List", "requirement": "Optional", "adder": "addDisplayTimeWindow(DisplayTimeWindow)", "getter": "getDisplayTimeWindows()" }, "allDisplayTimeWindows": { "type": "List>", "requirement": "Optional", "adder": "addAllDisplayTimeWindow(DisplayTimeWindow)", "adderAll": "addAllDisplayTimeWindow(List)" }, "callout": { "type": "String", "requirement": "Optional", "setter": "setCallout(String)", "getter": "getCallout()" }, "calloutFinePrint": { "type": "String", "requirement": "Optional", "setter": "setCalloutFinePrint(String)", "getter": "getCalloutFinePrint()" }, "price": { "type": "Price", "requirement": "Optional", "setter": "setPrice(Price)", "getter": "getPrice()", "requiredFor": [ "Required if strikethrough price is provided" ] } } }, "StoreEntity": { "package": "com.google.android.engage.food.datamodel.StoreEntity", "fields": { "entityId": { "type": "String", "requirement": "Optional", "setter": "setEntityId(String)", "getter": "getEntityId()" }, "actionLinkUri": { "type": "Uri", "requirement": "Required", "setter": "setActionLinkUri(Uri)", "getter": "getActionLinkUri()" }, "posterImages": { "type": "List", "requirement": "Required", "adder": "addPosterImage(Image)", "getter": "getPosterImages()", "adderAll": "addPosterImages(List)" }, "rating": { "type": "Rating", "requirement": "Optional", "setter": "setRating(Rating)", "getter": "getRating()", "requiredFor": [ "Mutually required with other rating fields" ] }, "title": { "type": "String", "requirement": "Optional", "setter": "setTitle(String)", "getter": "getTitle()" }, "location": { "type": "String", "requirement": "Optional", "setter": "setLocation(String)", "getter": "getLocation()" }, "category": { "type": "String", "requirement": "Optional", "setter": "setCategory(String)", "getter": "getCategory()" }, "callout": { "type": "String", "requirement": "Optional", "setter": "setCallout(String)", "getter": "getCallout()" }, "calloutFinePrint": { "type": "String", "requirement": "Optional", "setter": "setCalloutFinePrint(String)", "getter": "getCalloutFinePrint()" }, "description": { "type": "String", "requirement": "Optional", "setter": "setDescription(String)", "getter": "getDescription()" }, "displayTimeWindows": { "type": "List", "requirement": "Optional", "adder": "addDisplayTimeWindow(DisplayTimeWindow)", "getter": "getDisplayTimeWindows()" }, "allDisplayTimeWindows": { "type": "List>", "requirement": "Optional", "adder": "addAllDisplayTimeWindow(DisplayTimeWindow)", "adderAll": "addAllDisplayTimeWindow(List)" } } }, "RestaurantReservationEntity": { "package": "com.google.android.engage.food.datamodel.RestaurantReservationEntity", "fields": { "entityId": { "type": "String", "requirement": "Optional", "setter": "setEntityId(String)", "getter": "getEntityId()" }, "posterImages": { "type": "List", "requirement": "Required", "adder": "addPosterImage(Image)", "getter": "getPosterImages()", "adderAll": "addPosterImages(List)" }, "actionUri": { "type": "Uri", "requirement": "Required", "setter": "setActionUri(Uri)", "getter": "getActionUri()" }, "title": { "type": "String", "requirement": "Required", "setter": "setTitle(String)", "getter": "getTitle()" }, "description": { "type": "String", "requirement": "Optional", "setter": "setDescription(String)", "getter": "getDescription()" }, "subtitles": { "type": "List", "requirement": "Optional", "adder": "addSubtitle(String)", "adderAll": "addSubtitles(List)" }, "location": { "type": "Address", "requirement": "Required", "setter": "setLocation(Address)", "getter": "getLocation()" }, "reservationStartTime": { "type": "Long", "requirement": "Required", "setter": "setReservationStartTime(Long)", "getter": "getReservationStartTime()" }, "localizedReservationStartTime": { "type": "LocalizedTimestamp", "requirement": "Required", "setter": "setLocalizedReservationStartTime(LocalizedTimestamp)", "getter": "getLocalizedReservationStartTime()" }, "tableSize": { "type": "Integer", "requirement": "Optional", "setter": "setTableSize(Integer)", "getter": "getTableSize()" }, "reservationId": { "type": "String", "requirement": "Optional", "setter": "setReservationId(String)", "getter": "getReservationId()" }, "displayTimeWindows": { "type": "List", "requirement": "Optional", "adder": "addDisplayTimeWindow(DisplayTimeWindow)", "getter": "getDisplayTimeWindows()" }, "allDisplayTimeWindows": { "type": "List>", "requirement": "Optional", "adder": "addAllDisplayTimeWindow(DisplayTimeWindow)", "adderAll": "addAllDisplayTimeWindow(List)" } } }, "RecipeEntity": { "package": "com.google.android.engage.food.datamodel.RecipeEntity", "fields": { "entityId": { "type": "String", "requirement": "Optional", "setter": "setEntityId(String)", "getter": "getEntityId()" }, "actionLinkUri": { "type": "Uri", "requirement": "Required", "setter": "setActionLinkUri(Uri)", "getter": "getActionLinkUri()" }, "posterImages": { "type": "List", "requirement": "Required", "adder": "addPosterImage(Image)", "getter": "getPosterImages()", "adderAll": "addPosterImages(List)" }, "rating": { "type": "Rating", "requirement": "Optional", "setter": "setRating(Rating)", "getter": "getRating()", "requiredFor": [ "Mutually required with other rating fields" ] }, "title": { "type": "String", "requirement": "Optional", "setter": "setTitle(String)", "getter": "getTitle()" }, "author": { "type": "String", "requirement": "Optional", "setter": "setAuthor(String)", "getter": "getAuthor()" }, "category": { "type": "String", "requirement": "Optional", "setter": "setCategory(String)", "getter": "getCategory()" }, "callout": { "type": "String", "requirement": "Optional", "setter": "setCallout(String)", "getter": "getCallout()" }, "cookTime": { "type": "String", "requirement": "Optional", "setter": "setCookTime(String)", "getter": "getCookTime()" }, "description": { "type": "String", "requirement": "Optional", "setter": "setDescription(String)", "getter": "getDescription()" } } } }, "methods": { "isServiceAvailable": null, "publishRecommendationClusters": "PublishRecommendationClustersRequest", "publishFeaturedCluster": "PublishFeaturedClusterRequest", "publishFoodShoppingCarts": "PublishFoodShoppingCartsRequest", "publishReorderCluster": "PublishReorderClusterRequest", "publishFoodShoppingLists": "PublishFoodShoppingListsRequest", "publishUserAccountManagementRequest": "PublishUserAccountManagementRequest", "updatePublishStatus": "PublishStatusRequest", "deleteFoodShoppingCartCluster": "DeleteClustersRequest", "deleteFoodShoppingListCluster": "DeleteClustersRequest", "deleteReorderCluster": "DeleteClustersRequest", "deleteRecommendationsClusters": "DeleteClustersRequest", "deleteFeaturedCluster": "DeleteClustersRequest", "deleteUserManagementCluster": "DeleteClustersRequest" }, "clusters": { "FoodReorderCluster": { "package": "com.google.android.engage.food.datamodel.FoodReorderCluster", "fields": { "title": { "type": "String", "requirement": "Optional", "setter": "setTitle(String)", "getter": "getTitle()" }, "actionText": { "type": "String", "requirement": "Optional", "setter": "setActionText(String)", "getter": "getActionText()" }, "posterImages": { "type": "List", "requirement": "Optional", "adder": "addPosterImage(Image)", "getter": "getPosterImages()", "adderAll": "addPosterImages(List)" }, "itemLabels": { "type": "List>", "requirement": "Optional", "adder": "addItemLabel(String)", "getter": "getItemLabels()", "adderAll": "addItemLabels(List)" }, "numberOfItems": { "type": "Integer", "requirement": "Optional", "setter": "setNumberOfItems(int)", "getter": "getNumberOfItems()" }, "actionLinkUri": { "type": "Uri", "requirement": "Required", "setter": "setActionLinkUri(Uri)", "getter": "getActionLinkUri()" }, "displayTimeWindows": { "type": "List", "requirement": "Optional", "adder": "addDisplayTimeWindow(DisplayTimeWindow)", "getter": "getDisplayTimeWindows()" }, "allDisplayTimeWindows": { "type": "List>", "requirement": "Optional", "adder": "addAllDisplayTimeWindow(DisplayTimeWindow)", "adderAll": "addAllDisplayTimeWindow(List)" } } }, "FoodShoppingList": { "package": "com.google.android.engage.food.datamodel.FoodShoppingList", "fields": { "title": { "type": "String", "requirement": "Optional", "setter": "setTitle(String)", "getter": "getTitle()" }, "actionText": { "type": "String", "requirement": "Optional", "setter": "setActionText(String)", "getter": "getActionText()" }, "posterImages": { "type": "List", "requirement": "Optional", "adder": "addPosterImage(Image)", "getter": "getPosterImages()", "adderAll": "addPosterImages(List)" }, "itemLabels": { "type": "List>", "requirement": "Optional", "adder": "addItemLabel(String)", "getter": "getItemLabels()", "adderAll": "addItemLabels(List)" }, "numberOfItems": { "type": "Integer", "requirement": "Optional", "setter": "setNumberOfItems(int)", "getter": "getNumberOfItems()" }, "actionLinkUri": { "type": "Uri", "requirement": "Required", "setter": "setActionLinkUri(Uri)", "getter": "getActionLinkUri()" }, "lastUserInteractionTimestampMillis": { "type": "Long", "requirement": "Optional", "setter": "setLastUserInteractionTimestampMillis(long)", "getter": "getLastUserInteractionTimestampMillis()" } } }, "FoodShoppingCart": { "package": "com.google.android.engage.food.datamodel.FoodShoppingCart", "fields": { "title": { "type": "String", "requirement": "Optional", "setter": "setTitle(String)", "getter": "getTitle()" }, "actionText": { "type": "String", "requirement": "Optional", "setter": "setActionText(String)", "getter": "getActionText()" }, "posterImages": { "type": "List", "requirement": "Optional", "adder": "addPosterImage(Image)", "getter": "getPosterImages()", "adderAll": "addPosterImages(List)" }, "itemLabels": { "type": "List>", "requirement": "Optional", "adder": "addItemLabel(String)", "getter": "getItemLabels()", "adderAll": "addItemLabels(List)" }, "numberOfItems": { "type": "Integer", "requirement": "Optional", "setter": "setNumberOfItems(int)", "getter": "getNumberOfItems()" }, "actionLinkUri": { "type": "Uri", "requirement": "Required", "setter": "setActionLinkUri(Uri)", "getter": "getActionLinkUri()" }, "displayTimeWindows": { "type": "List", "requirement": "Optional", "adder": "addDisplayTimeWindow(DisplayTimeWindow)", "getter": "getDisplayTimeWindows()" }, "allDisplayTimeWindows": { "type": "List>", "requirement": "Optional", "adder": "addAllDisplayTimeWindow(DisplayTimeWindow)", "adderAll": "addAllDisplayTimeWindow(List)" }, "lastUserInteractionTimestampMillis": { "type": "Long", "requirement": "Optional", "setter": "setLastUserInteractionTimestampMillis(long)", "getter": "getLastUserInteractionTimestampMillis()" } } } }, "intents": { "ACTION_PUBLISH_FOOD_SHOPPING_CART": "com.google.android.engage.action.food.PUBLISH_FOOD_SHOPPING_CART", "ACTION_PUBLISH_FOOD_SHOPPING_LIST": "com.google.android.engage.action.food.PUBLISH_FOOD_SHOPPING_LIST", "ACTION_PUBLISH_REORDER_CLUSTER": "com.google.android.engage.action.food.PUBLISH_REORDER_CLUSTER" } }