1 /* 2 * Copyright 2020 Google LLC 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * https://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 // Generated by the protocol buffer compiler. DO NOT EDIT! 17 // source: google/cloud/retail/v2/common.proto 18 19 package com.google.cloud.retail.v2; 20 21 public interface PriceInfoOrBuilder 22 extends 23 // @@protoc_insertion_point(interface_extends:google.cloud.retail.v2.PriceInfo) 24 com.google.protobuf.MessageOrBuilder { 25 26 /** 27 * 28 * 29 * <pre> 30 * The 3-letter currency code defined in [ISO 31 * 4217](https://www.iso.org/iso-4217-currency-codes.html). 32 * If this field is an unrecognizable currency code, an INVALID_ARGUMENT 33 * error is returned. 34 * The [Product.Type.VARIANT][google.cloud.retail.v2.Product.Type.VARIANT] 35 * [Product][google.cloud.retail.v2.Product]s with the same 36 * [Product.primary_product_id][google.cloud.retail.v2.Product.primary_product_id] 37 * must share the same 38 * [currency_code][google.cloud.retail.v2.PriceInfo.currency_code]. Otherwise, 39 * a FAILED_PRECONDITION error is returned. 40 * </pre> 41 * 42 * <code>string currency_code = 1;</code> 43 * 44 * @return The currencyCode. 45 */ getCurrencyCode()46 java.lang.String getCurrencyCode(); 47 /** 48 * 49 * 50 * <pre> 51 * The 3-letter currency code defined in [ISO 52 * 4217](https://www.iso.org/iso-4217-currency-codes.html). 53 * If this field is an unrecognizable currency code, an INVALID_ARGUMENT 54 * error is returned. 55 * The [Product.Type.VARIANT][google.cloud.retail.v2.Product.Type.VARIANT] 56 * [Product][google.cloud.retail.v2.Product]s with the same 57 * [Product.primary_product_id][google.cloud.retail.v2.Product.primary_product_id] 58 * must share the same 59 * [currency_code][google.cloud.retail.v2.PriceInfo.currency_code]. Otherwise, 60 * a FAILED_PRECONDITION error is returned. 61 * </pre> 62 * 63 * <code>string currency_code = 1;</code> 64 * 65 * @return The bytes for currencyCode. 66 */ getCurrencyCodeBytes()67 com.google.protobuf.ByteString getCurrencyCodeBytes(); 68 69 /** 70 * 71 * 72 * <pre> 73 * Price of the product. 74 * Google Merchant Center property 75 * [price](https://support.google.com/merchants/answer/6324371). Schema.org 76 * property [Offer.price](https://schema.org/price). 77 * </pre> 78 * 79 * <code>float price = 2;</code> 80 * 81 * @return The price. 82 */ getPrice()83 float getPrice(); 84 85 /** 86 * 87 * 88 * <pre> 89 * Price of the product without any discount. If zero, by default set to be 90 * the [price][google.cloud.retail.v2.PriceInfo.price]. If set, 91 * [original_price][google.cloud.retail.v2.PriceInfo.original_price] should be 92 * greater than or equal to [price][google.cloud.retail.v2.PriceInfo.price], 93 * otherwise an INVALID_ARGUMENT error is thrown. 94 * </pre> 95 * 96 * <code>float original_price = 3;</code> 97 * 98 * @return The originalPrice. 99 */ getOriginalPrice()100 float getOriginalPrice(); 101 102 /** 103 * 104 * 105 * <pre> 106 * The costs associated with the sale of a particular product. Used for gross 107 * profit reporting. 108 * * Profit = [price][google.cloud.retail.v2.PriceInfo.price] - 109 * [cost][google.cloud.retail.v2.PriceInfo.cost] 110 * Google Merchant Center property 111 * [cost_of_goods_sold](https://support.google.com/merchants/answer/9017895). 112 * </pre> 113 * 114 * <code>float cost = 4;</code> 115 * 116 * @return The cost. 117 */ getCost()118 float getCost(); 119 120 /** 121 * 122 * 123 * <pre> 124 * The timestamp when the [price][google.cloud.retail.v2.PriceInfo.price] 125 * starts to be effective. This can be set as a future timestamp, and the 126 * [price][google.cloud.retail.v2.PriceInfo.price] is only used for search 127 * after 128 * [price_effective_time][google.cloud.retail.v2.PriceInfo.price_effective_time]. 129 * If so, the 130 * [original_price][google.cloud.retail.v2.PriceInfo.original_price] must be 131 * set and [original_price][google.cloud.retail.v2.PriceInfo.original_price] 132 * is used before 133 * [price_effective_time][google.cloud.retail.v2.PriceInfo.price_effective_time]. 134 * Do not set if [price][google.cloud.retail.v2.PriceInfo.price] is always 135 * effective because it will cause additional latency during search. 136 * </pre> 137 * 138 * <code>.google.protobuf.Timestamp price_effective_time = 5;</code> 139 * 140 * @return Whether the priceEffectiveTime field is set. 141 */ hasPriceEffectiveTime()142 boolean hasPriceEffectiveTime(); 143 /** 144 * 145 * 146 * <pre> 147 * The timestamp when the [price][google.cloud.retail.v2.PriceInfo.price] 148 * starts to be effective. This can be set as a future timestamp, and the 149 * [price][google.cloud.retail.v2.PriceInfo.price] is only used for search 150 * after 151 * [price_effective_time][google.cloud.retail.v2.PriceInfo.price_effective_time]. 152 * If so, the 153 * [original_price][google.cloud.retail.v2.PriceInfo.original_price] must be 154 * set and [original_price][google.cloud.retail.v2.PriceInfo.original_price] 155 * is used before 156 * [price_effective_time][google.cloud.retail.v2.PriceInfo.price_effective_time]. 157 * Do not set if [price][google.cloud.retail.v2.PriceInfo.price] is always 158 * effective because it will cause additional latency during search. 159 * </pre> 160 * 161 * <code>.google.protobuf.Timestamp price_effective_time = 5;</code> 162 * 163 * @return The priceEffectiveTime. 164 */ getPriceEffectiveTime()165 com.google.protobuf.Timestamp getPriceEffectiveTime(); 166 /** 167 * 168 * 169 * <pre> 170 * The timestamp when the [price][google.cloud.retail.v2.PriceInfo.price] 171 * starts to be effective. This can be set as a future timestamp, and the 172 * [price][google.cloud.retail.v2.PriceInfo.price] is only used for search 173 * after 174 * [price_effective_time][google.cloud.retail.v2.PriceInfo.price_effective_time]. 175 * If so, the 176 * [original_price][google.cloud.retail.v2.PriceInfo.original_price] must be 177 * set and [original_price][google.cloud.retail.v2.PriceInfo.original_price] 178 * is used before 179 * [price_effective_time][google.cloud.retail.v2.PriceInfo.price_effective_time]. 180 * Do not set if [price][google.cloud.retail.v2.PriceInfo.price] is always 181 * effective because it will cause additional latency during search. 182 * </pre> 183 * 184 * <code>.google.protobuf.Timestamp price_effective_time = 5;</code> 185 */ getPriceEffectiveTimeOrBuilder()186 com.google.protobuf.TimestampOrBuilder getPriceEffectiveTimeOrBuilder(); 187 188 /** 189 * 190 * 191 * <pre> 192 * The timestamp when the [price][google.cloud.retail.v2.PriceInfo.price] 193 * stops to be effective. The [price][google.cloud.retail.v2.PriceInfo.price] 194 * is used for search before 195 * [price_expire_time][google.cloud.retail.v2.PriceInfo.price_expire_time]. If 196 * this field is set, the 197 * [original_price][google.cloud.retail.v2.PriceInfo.original_price] must be 198 * set and [original_price][google.cloud.retail.v2.PriceInfo.original_price] 199 * is used after 200 * [price_expire_time][google.cloud.retail.v2.PriceInfo.price_expire_time]. 201 * Do not set if [price][google.cloud.retail.v2.PriceInfo.price] is always 202 * effective because it will cause additional latency during search. 203 * </pre> 204 * 205 * <code>.google.protobuf.Timestamp price_expire_time = 6;</code> 206 * 207 * @return Whether the priceExpireTime field is set. 208 */ hasPriceExpireTime()209 boolean hasPriceExpireTime(); 210 /** 211 * 212 * 213 * <pre> 214 * The timestamp when the [price][google.cloud.retail.v2.PriceInfo.price] 215 * stops to be effective. The [price][google.cloud.retail.v2.PriceInfo.price] 216 * is used for search before 217 * [price_expire_time][google.cloud.retail.v2.PriceInfo.price_expire_time]. If 218 * this field is set, the 219 * [original_price][google.cloud.retail.v2.PriceInfo.original_price] must be 220 * set and [original_price][google.cloud.retail.v2.PriceInfo.original_price] 221 * is used after 222 * [price_expire_time][google.cloud.retail.v2.PriceInfo.price_expire_time]. 223 * Do not set if [price][google.cloud.retail.v2.PriceInfo.price] is always 224 * effective because it will cause additional latency during search. 225 * </pre> 226 * 227 * <code>.google.protobuf.Timestamp price_expire_time = 6;</code> 228 * 229 * @return The priceExpireTime. 230 */ getPriceExpireTime()231 com.google.protobuf.Timestamp getPriceExpireTime(); 232 /** 233 * 234 * 235 * <pre> 236 * The timestamp when the [price][google.cloud.retail.v2.PriceInfo.price] 237 * stops to be effective. The [price][google.cloud.retail.v2.PriceInfo.price] 238 * is used for search before 239 * [price_expire_time][google.cloud.retail.v2.PriceInfo.price_expire_time]. If 240 * this field is set, the 241 * [original_price][google.cloud.retail.v2.PriceInfo.original_price] must be 242 * set and [original_price][google.cloud.retail.v2.PriceInfo.original_price] 243 * is used after 244 * [price_expire_time][google.cloud.retail.v2.PriceInfo.price_expire_time]. 245 * Do not set if [price][google.cloud.retail.v2.PriceInfo.price] is always 246 * effective because it will cause additional latency during search. 247 * </pre> 248 * 249 * <code>.google.protobuf.Timestamp price_expire_time = 6;</code> 250 */ getPriceExpireTimeOrBuilder()251 com.google.protobuf.TimestampOrBuilder getPriceExpireTimeOrBuilder(); 252 253 /** 254 * 255 * 256 * <pre> 257 * Output only. The price range of all the child 258 * [Product.Type.VARIANT][google.cloud.retail.v2.Product.Type.VARIANT] 259 * [Product][google.cloud.retail.v2.Product]s grouped together on the 260 * [Product.Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY] 261 * [Product][google.cloud.retail.v2.Product]. Only populated for 262 * [Product.Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY] 263 * [Product][google.cloud.retail.v2.Product]s. 264 * Note: This field is OUTPUT_ONLY for 265 * [ProductService.GetProduct][google.cloud.retail.v2.ProductService.GetProduct]. 266 * Do not set this field in API requests. 267 * </pre> 268 * 269 * <code> 270 * .google.cloud.retail.v2.PriceInfo.PriceRange price_range = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; 271 * </code> 272 * 273 * @return Whether the priceRange field is set. 274 */ hasPriceRange()275 boolean hasPriceRange(); 276 /** 277 * 278 * 279 * <pre> 280 * Output only. The price range of all the child 281 * [Product.Type.VARIANT][google.cloud.retail.v2.Product.Type.VARIANT] 282 * [Product][google.cloud.retail.v2.Product]s grouped together on the 283 * [Product.Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY] 284 * [Product][google.cloud.retail.v2.Product]. Only populated for 285 * [Product.Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY] 286 * [Product][google.cloud.retail.v2.Product]s. 287 * Note: This field is OUTPUT_ONLY for 288 * [ProductService.GetProduct][google.cloud.retail.v2.ProductService.GetProduct]. 289 * Do not set this field in API requests. 290 * </pre> 291 * 292 * <code> 293 * .google.cloud.retail.v2.PriceInfo.PriceRange price_range = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; 294 * </code> 295 * 296 * @return The priceRange. 297 */ getPriceRange()298 com.google.cloud.retail.v2.PriceInfo.PriceRange getPriceRange(); 299 /** 300 * 301 * 302 * <pre> 303 * Output only. The price range of all the child 304 * [Product.Type.VARIANT][google.cloud.retail.v2.Product.Type.VARIANT] 305 * [Product][google.cloud.retail.v2.Product]s grouped together on the 306 * [Product.Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY] 307 * [Product][google.cloud.retail.v2.Product]. Only populated for 308 * [Product.Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY] 309 * [Product][google.cloud.retail.v2.Product]s. 310 * Note: This field is OUTPUT_ONLY for 311 * [ProductService.GetProduct][google.cloud.retail.v2.ProductService.GetProduct]. 312 * Do not set this field in API requests. 313 * </pre> 314 * 315 * <code> 316 * .google.cloud.retail.v2.PriceInfo.PriceRange price_range = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; 317 * </code> 318 */ getPriceRangeOrBuilder()319 com.google.cloud.retail.v2.PriceInfo.PriceRangeOrBuilder getPriceRangeOrBuilder(); 320 } 321