This file defines the schema for the SHOPPING vertical in the Engage SDK. { "client": "com.google.android.engage.shopping.service.AppEngageShoppingClient", "clusterTypes": [ "TYPE_RECOMMENDATION", "TYPE_FEATURED", "TYPE_SHOPPING_CART", "TYPE_SHOPPING_LIST", "TYPE_SHOPPING_REORDER", "TYPE_SHOPPING_ORDER_TRACKING" ], "entities": { "ShoppingEntity": { "package": "com.google.android.engage.shopping.datamodel.ShoppingEntity", "fields": { "entityId": { "type": "String", "requirement": "Optional", "setter": "setEntityId(String)", "getter": "getEntityId()" }, "posterImages": { "type": "List", "requirement": "Required", "adder": "addPosterImage(Image)", "getter": "getPosterImages()", "adderAll": "addPosterImages(List)" }, "displayTimeWindows": { "type": "List", "requirement": "Optional", "adder": "addDisplayTimeWindow(DisplayTimeWindow)", "getter": "getDisplayTimeWindows()" }, "allDisplayTimeWindows": { "type": "List>", "requirement": "Optional", "adder": "addAllDisplayTimeWindow(DisplayTimeWindow)", "adderAll": "addAllDisplayTimeWindow(List)" }, "actionLinkUri": { "type": "Uri", "requirement": "Required", "setter": "setActionLinkUri(Uri)", "getter": "getActionLinkUri()" }, "title": { "type": "String", "requirement": "Optional", "setter": "setTitle(String)", "getter": "getTitle()" }, "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" ] }, "rating": { "type": "Rating", "requirement": "Optional", "setter": "setRating(Rating)", "getter": "getRating()", "requiredFor": [ "Required if strikethrough price is provided", "Mutually required with other rating fields" ] } } } }, "methods": { "isServiceAvailable": null, "publishRecommendationClusters": "PublishRecommendationClustersRequest", "publishFeaturedCluster": "PublishFeaturedClusterRequest", "publishShoppingCart": "PublishShoppingCartClusterRequest", "publishShoppingLists": "PublishShoppingListsRequest", "publishShoppingReorderCluster": "PublishShoppingReorderClusterRequest", "publishShoppingOrderTrackingCluster": "PublishShoppingOrderTrackingClusterRequest", "publishUserAccountManagementRequest": "PublishUserAccountManagementRequest", "updatePublishStatus": "PublishStatusRequest", "deleteShoppingCartCluster": "DeleteClustersRequest", "deleteShoppingListCluster": "DeleteClustersRequest", "deleteReorderCluster": "DeleteClustersRequest", "deleteShoppingOrderTrackingCluster": "DeleteClustersRequest", "deleteRecommendationsClusters": "DeleteClustersRequest", "deleteFeaturedCluster": "DeleteClustersRequest", "deleteUserManagementCluster": "DeleteClustersRequest" }, "clusters": { "ShoppingList": { "package": "com.google.android.engage.shopping.datamodel.ShoppingList", "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()" } } }, "ShoppingReorderCluster": { "package": "com.google.android.engage.shopping.datamodel.ShoppingReorderCluster", "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)" } } }, "ShoppingCart": { "package": "com.google.android.engage.shopping.datamodel.ShoppingCart", "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()" } } }, "ShoppingOrderTrackingCluster": { "package": "com.google.android.engage.shopping.datamodel.ShoppingOrderTrackingCluster", "fields": { "title": { "type": "String", "requirement": "Required", "setter": "setTitle(String)", "getter": "getTitle()" }, "posterImages": { "type": "List", "requirement": "Optional", "adder": "addPosterImage(Image)", "getter": "getPosterImages()", "adderAll": "addPosterImages(List)" }, "status": { "type": "String", "requirement": "Required", "setter": "setStatus(String)", "getter": "getStatus()" }, "orderTime": { "type": "Long", "requirement": "Required", "setter": "setOrderTime(long)", "getter": "getOrderTime()" }, "actionLinkUri": { "type": "Uri", "requirement": "Required", "setter": "setActionLinkUri(Uri)", "getter": "getActionLinkUri()" }, "orderReadyTimeWindow": { "type": "OrderReadyTimeWindow", "requirement": "Optional", "setter": "setOrderReadyTimeWindow(OrderReadyTimeWindow)", "getter": "getOrderReadyTimeWindow()" }, "numberOfItems": { "type": "Integer", "requirement": "Optional", "setter": "setNumberOfItems(Integer)", "getter": "getNumberOfItems()" }, "orderDescription": { "type": "String", "requirement": "Optional", "setter": "setOrderDescription(String)", "getter": "getOrderDescription()" }, "subtitles": { "type": "List", "requirement": "Optional", "adder": "addSubtitle(String)", "adderAll": "addSubtitles(List)" }, "orderValue": { "type": "Price", "requirement": "Optional", "setter": "setOrderValue(Price)", "getter": "getOrderValue()" }, "shoppingOrderType": { "type": "@ShoppingOrderType int", "requirement": "Required", "setter": "setShoppingOrderType(@ShoppingOrderType int)", "getter": "getShoppingOrderType()" }, "trackingId": { "type": "String", "requirement": "Optional", "setter": "setTrackingId(String)", "getter": "getTrackingId()" } } } }, "intents": { "ACTION_PUBLISH_SHOPPING_CART": "com.google.android.engage.action.shopping.PUBLISH_SHOPPING_CART", "ACTION_PUBLISH_SHOPPING_LIST": "com.google.android.engage.action.shopping.PUBLISH_SHOPPING_LIST", "ACTION_PUBLISH_REORDER_CLUSTER": "com.google.android.engage.action.shopping.PUBLISH_REORDER_CLUSTER", "ACTION_PUBLISH_ORDER_TRACKING_CLUSTER": "com.google.android.engage.action.shopping.PUBLISH_ORDER_TRACKING_CLUSTER" } }