1// Copyright 2023 Google LLC 2// 3// Licensed under the Apache License, Version 2.0 (the "License"); 4// you may not use this file except in compliance with the License. 5// You may obtain a copy of the License at 6// 7// http://www.apache.org/licenses/LICENSE-2.0 8// 9// Unless required by applicable law or agreed to in writing, software 10// distributed under the License is distributed on an "AS IS" BASIS, 11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12// See the License for the specific language governing permissions and 13// limitations under the License. 14 15syntax = "proto3"; 16 17package google.shopping.type; 18 19option csharp_namespace = "Google.Shopping.Type"; 20option go_package = "cloud.google.com/go/shopping/type/typepb;typepb"; 21option java_multiple_files = true; 22option java_outer_classname = "TypesProto"; 23option java_package = "com.google.shopping.type"; 24 25// The price represented as a number and currency. 26message Price { 27 // The price represented as a number in micros (1 million micros is an 28 // equivalent to one's currency standard unit, for example, 1 USD = 1000000 29 // micros). 30 // This field can also be set as infinity by setting to -1. 31 // This field only support -1 and positive value. 32 optional int64 amount_micros = 1; 33 34 // The currency of the price using three-letter acronyms according to [ISO 35 // 4217](http://en.wikipedia.org/wiki/ISO_4217). 36 optional string currency_code = 2; 37} 38 39// A message that represents custom attributes. Exactly one of `value` or 40// `group_values` must not be empty. 41message CustomAttribute { 42 // The name of the attribute. 43 optional string name = 1; 44 45 // The value of the attribute. If `value` is not empty, `group_values` must be 46 // empty. 47 optional string value = 2; 48 49 // Subattributes within this attribute group. If 50 // `group_values` is not empty, `value` must be empty. 51 repeated CustomAttribute group_values = 3; 52} 53 54// Destinations available for a product. 55// 56// Destinations are used in Merchant Center to allow you to control where the 57// products from your data feed should be displayed. 58// 59message Destination { 60 // Destination values. 61 enum DestinationEnum { 62 // Not specified. 63 DESTINATION_ENUM_UNSPECIFIED = 0; 64 65 // [Shopping ads](https://support.google.com/google-ads/answer/2454022). 66 SHOPPING_ADS = 1; 67 68 // [Display ads](https://support.google.com/merchants/answer/6069387). 69 DISPLAY_ADS = 2; 70 71 // [Local inventory 72 // ads](https://support.google.com/merchants/answer/3057972). 73 LOCAL_INVENTORY_ADS = 3; 74 75 // [Free listings](https://support.google.com/merchants/answer/9199328). 76 FREE_LISTINGS = 4; 77 78 // [Free local product 79 // listings](https://support.google.com/merchants/answer/9825611). 80 FREE_LOCAL_LISTINGS = 5; 81 82 // [YouTube Shopping](https://support.google.com/merchants/answer/12362804). 83 YOUTUBE_SHOPPING = 6; 84 } 85} 86 87// Reporting contexts that your account and product issues apply to. 88// 89// Reporting contexts are groups of surfaces and formats for product results on 90// Google. They can represent the entire destination (for example, [Shopping 91// ads](https://support.google.com/merchants/answer/6149970)) or a subset of 92// formats within a destination (for example, [Demand Gen 93// ads](https://support.google.com/merchants/answer/13389785)). 94// 95message ReportingContext { 96 // Reporting context values. 97 enum ReportingContextEnum { 98 // Not specified. 99 REPORTING_CONTEXT_ENUM_UNSPECIFIED = 0; 100 101 // [Shopping ads](https://support.google.com/merchants/answer/6149970). 102 SHOPPING_ADS = 1; 103 104 // Deprecated: Use `DEMAND_GEN_ADS` instead. 105 // [Discovery and Demand Gen 106 // ads](https://support.google.com/merchants/answer/13389785). 107 DISCOVERY_ADS = 2 [deprecated = true]; 108 109 // [Demand Gen ads](https://support.google.com/merchants/answer/13389785). 110 DEMAND_GEN_ADS = 13; 111 112 // [Demand Gen ads on Discover 113 // surface](https://support.google.com/merchants/answer/13389785). 114 DEMAND_GEN_ADS_DISCOVER_SURFACE = 14; 115 116 // [Video ads](https://support.google.com/google-ads/answer/6340491). 117 VIDEO_ADS = 3; 118 119 // [Display ads](https://support.google.com/merchants/answer/6069387). 120 DISPLAY_ADS = 4; 121 122 // [Local inventory 123 // ads](https://support.google.com/merchants/answer/3271956). 124 LOCAL_INVENTORY_ADS = 5; 125 126 // [Vehicle inventory 127 // ads](https://support.google.com/merchants/answer/11544533). 128 VEHICLE_INVENTORY_ADS = 6; 129 130 // [Free product 131 // listings](https://support.google.com/merchants/answer/9199328). 132 FREE_LISTINGS = 7; 133 134 // [Free local product 135 // listings](https://support.google.com/merchants/answer/9825611). 136 FREE_LOCAL_LISTINGS = 8; 137 138 // [Free local vehicle 139 // listings](https://support.google.com/merchants/answer/11544533). 140 FREE_LOCAL_VEHICLE_LISTINGS = 9; 141 142 // [YouTube 143 // Shopping](https://support.google.com/merchants/answer/13478370). 144 YOUTUBE_SHOPPING = 10; 145 146 // [Cloud retail](https://cloud.google.com/solutions/retail). 147 CLOUD_RETAIL = 11; 148 149 // [Local cloud retail](https://cloud.google.com/solutions/retail). 150 LOCAL_CLOUD_RETAIL = 12; 151 } 152} 153 154// [Channel](https://support.google.com/merchants/answer/7361332) of a product. 155// 156// Channel is used to distinguish between online and local products. 157message Channel { 158 // Channel values. 159 enum ChannelEnum { 160 // Not specified. 161 CHANNEL_ENUM_UNSPECIFIED = 0; 162 163 // Online product. 164 ONLINE = 1; 165 166 // Local product. 167 LOCAL = 2; 168 } 169} 170