1// Copyright 2021 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
15// Code generated by protoc-gen-go. DO NOT EDIT.
16// versions:
17// 	protoc-gen-go v1.26.0
18// 	protoc        v3.12.2
19// source: google/cloud/retail/v2beta/common.proto
20
21package retail
22
23import (
24	reflect "reflect"
25	sync "sync"
26
27	_ "google.golang.org/genproto/googleapis/api/annotations"
28	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
29	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
30	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
31)
32
33const (
34	// Verify that this generated code is sufficiently up-to-date.
35	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
36	// Verify that runtime/protoimpl is sufficiently up-to-date.
37	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
38)
39
40// An intended audience of the [Product][google.cloud.retail.v2beta.Product] for
41// whom it's sold.
42type Audience struct {
43	state         protoimpl.MessageState
44	sizeCache     protoimpl.SizeCache
45	unknownFields protoimpl.UnknownFields
46
47	// The genders of the audience. Strongly encouraged to use the standard
48	// values: "male", "female", "unisex".
49	//
50	// At most 5 values are allowed. Each value must be a UTF-8 encoded string
51	// with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error
52	// is returned.
53	//
54	// Google Merchant Center property
55	// [gender](https://support.google.com/merchants/answer/6324479). Schema.org
56	// property
57	// [Product.audience.suggestedGender](https://schema.org/suggestedGender).
58	Genders []string `protobuf:"bytes,1,rep,name=genders,proto3" json:"genders,omitempty"`
59	// The age groups of the audience. Strongly encouraged to use the standard
60	// values: "newborn" (up to 3 months old), "infant" (3–12 months old),
61	// "toddler" (1–5 years old), "kids" (5–13 years old), "adult" (typically
62	// teens or older).
63	//
64	// At most 5 values are allowed. Each value must be a UTF-8 encoded string
65	// with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error
66	// is returned.
67	//
68	// Google Merchant Center property
69	// [age_group](https://support.google.com/merchants/answer/6324463).
70	// Schema.org property
71	// [Product.audience.suggestedMinAge](https://schema.org/suggestedMinAge) and
72	// [Product.audience.suggestedMaxAge](https://schema.org/suggestedMaxAge).
73	AgeGroups []string `protobuf:"bytes,2,rep,name=age_groups,json=ageGroups,proto3" json:"age_groups,omitempty"`
74}
75
76func (x *Audience) Reset() {
77	*x = Audience{}
78	if protoimpl.UnsafeEnabled {
79		mi := &file_google_cloud_retail_v2beta_common_proto_msgTypes[0]
80		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
81		ms.StoreMessageInfo(mi)
82	}
83}
84
85func (x *Audience) String() string {
86	return protoimpl.X.MessageStringOf(x)
87}
88
89func (*Audience) ProtoMessage() {}
90
91func (x *Audience) ProtoReflect() protoreflect.Message {
92	mi := &file_google_cloud_retail_v2beta_common_proto_msgTypes[0]
93	if protoimpl.UnsafeEnabled && x != nil {
94		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
95		if ms.LoadMessageInfo() == nil {
96			ms.StoreMessageInfo(mi)
97		}
98		return ms
99	}
100	return mi.MessageOf(x)
101}
102
103// Deprecated: Use Audience.ProtoReflect.Descriptor instead.
104func (*Audience) Descriptor() ([]byte, []int) {
105	return file_google_cloud_retail_v2beta_common_proto_rawDescGZIP(), []int{0}
106}
107
108func (x *Audience) GetGenders() []string {
109	if x != nil {
110		return x.Genders
111	}
112	return nil
113}
114
115func (x *Audience) GetAgeGroups() []string {
116	if x != nil {
117		return x.AgeGroups
118	}
119	return nil
120}
121
122// The color information of a [Product][google.cloud.retail.v2beta.Product].
123type ColorInfo struct {
124	state         protoimpl.MessageState
125	sizeCache     protoimpl.SizeCache
126	unknownFields protoimpl.UnknownFields
127
128	// The standard color families. Strongly recommended to use the following
129	// standard color groups: "Red", "Pink", "Orange", "Yellow", "Purple",
130	// "Green", "Cyan", "Blue", "Brown", "White", "Gray", "Black" and
131	// "Mixed". Normally it is expected to have only 1 color family. May consider
132	// using single "Mixed" instead of multiple values.
133	//
134	// A maximum of 5 values are allowed. Each value must be a UTF-8 encoded
135	// string with a length limit of 128 characters. Otherwise, an
136	// INVALID_ARGUMENT error is returned.
137	//
138	// Google Merchant Center property
139	// [color](https://support.google.com/merchants/answer/6324487). Schema.org
140	// property [Product.color](https://schema.org/color).
141	ColorFamilies []string `protobuf:"bytes,1,rep,name=color_families,json=colorFamilies,proto3" json:"color_families,omitempty"`
142	// The color display names, which may be different from standard color family
143	// names, such as the color aliases used in the website frontend. Normally
144	// it is expected to have only 1 color. May consider using single "Mixed"
145	// instead of multiple values.
146	//
147	// A maximum of 5 colors are allowed. Each value must be a UTF-8 encoded
148	// string with a length limit of 128 characters. Otherwise, an
149	// INVALID_ARGUMENT error is returned.
150	//
151	// Google Merchant Center property
152	// [color](https://support.google.com/merchants/answer/6324487). Schema.org
153	// property [Product.color](https://schema.org/color).
154	Colors []string `protobuf:"bytes,2,rep,name=colors,proto3" json:"colors,omitempty"`
155}
156
157func (x *ColorInfo) Reset() {
158	*x = ColorInfo{}
159	if protoimpl.UnsafeEnabled {
160		mi := &file_google_cloud_retail_v2beta_common_proto_msgTypes[1]
161		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
162		ms.StoreMessageInfo(mi)
163	}
164}
165
166func (x *ColorInfo) String() string {
167	return protoimpl.X.MessageStringOf(x)
168}
169
170func (*ColorInfo) ProtoMessage() {}
171
172func (x *ColorInfo) ProtoReflect() protoreflect.Message {
173	mi := &file_google_cloud_retail_v2beta_common_proto_msgTypes[1]
174	if protoimpl.UnsafeEnabled && x != nil {
175		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
176		if ms.LoadMessageInfo() == nil {
177			ms.StoreMessageInfo(mi)
178		}
179		return ms
180	}
181	return mi.MessageOf(x)
182}
183
184// Deprecated: Use ColorInfo.ProtoReflect.Descriptor instead.
185func (*ColorInfo) Descriptor() ([]byte, []int) {
186	return file_google_cloud_retail_v2beta_common_proto_rawDescGZIP(), []int{1}
187}
188
189func (x *ColorInfo) GetColorFamilies() []string {
190	if x != nil {
191		return x.ColorFamilies
192	}
193	return nil
194}
195
196func (x *ColorInfo) GetColors() []string {
197	if x != nil {
198		return x.Colors
199	}
200	return nil
201}
202
203// A custom attribute that is not explicitly modeled in
204// [Product][google.cloud.retail.v2beta.Product].
205type CustomAttribute struct {
206	state         protoimpl.MessageState
207	sizeCache     protoimpl.SizeCache
208	unknownFields protoimpl.UnknownFields
209
210	// The textual values of this custom attribute. For example, `["yellow",
211	// "green"]` when the key is "color".
212	//
213	// At most 400 values are allowed. Empty values are not allowed. Each value
214	// must be a UTF-8 encoded string with a length limit of 256 characters.
215	// Otherwise, an INVALID_ARGUMENT error is returned.
216	//
217	// Exactly one of [text][google.cloud.retail.v2beta.CustomAttribute.text] or
218	// [numbers][google.cloud.retail.v2beta.CustomAttribute.numbers] should be
219	// set. Otherwise, an INVALID_ARGUMENT error is returned.
220	Text []string `protobuf:"bytes,1,rep,name=text,proto3" json:"text,omitempty"`
221	// The numerical values of this custom attribute. For example, `[2.3, 15.4]`
222	// when the key is "lengths_cm".
223	//
224	// At most 400 values are allowed.Otherwise, an INVALID_ARGUMENT error is
225	// returned.
226	//
227	// Exactly one of [text][google.cloud.retail.v2beta.CustomAttribute.text] or
228	// [numbers][google.cloud.retail.v2beta.CustomAttribute.numbers] should be
229	// set. Otherwise, an INVALID_ARGUMENT error is returned.
230	Numbers []float64 `protobuf:"fixed64,2,rep,packed,name=numbers,proto3" json:"numbers,omitempty"`
231	// If true, custom attribute values are searchable by text queries in
232	// [SearchService.Search][google.cloud.retail.v2beta.SearchService.Search].
233	//
234	// This field is ignored in a
235	// [UserEvent][google.cloud.retail.v2beta.UserEvent].
236	//
237	// Only set if type [text][google.cloud.retail.v2beta.CustomAttribute.text] is
238	// set. Otherwise, a INVALID_ARGUMENT error is returned.
239	Searchable *bool `protobuf:"varint,3,opt,name=searchable,proto3,oneof" json:"searchable,omitempty"`
240	// If true, custom attribute values are indexed, so that it can be filtered,
241	// faceted or boosted in
242	// [SearchService.Search][google.cloud.retail.v2beta.SearchService.Search].
243	//
244	// This field is ignored in a
245	// [UserEvent][google.cloud.retail.v2beta.UserEvent].
246	//
247	// See
248	// [SearchRequest.filter][google.cloud.retail.v2beta.SearchRequest.filter],
249	// [SearchRequest.facet_specs][google.cloud.retail.v2beta.SearchRequest.facet_specs]
250	// and
251	// [SearchRequest.boost_spec][google.cloud.retail.v2beta.SearchRequest.boost_spec]
252	// for more details.
253	Indexable *bool `protobuf:"varint,4,opt,name=indexable,proto3,oneof" json:"indexable,omitempty"`
254}
255
256func (x *CustomAttribute) Reset() {
257	*x = CustomAttribute{}
258	if protoimpl.UnsafeEnabled {
259		mi := &file_google_cloud_retail_v2beta_common_proto_msgTypes[2]
260		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
261		ms.StoreMessageInfo(mi)
262	}
263}
264
265func (x *CustomAttribute) String() string {
266	return protoimpl.X.MessageStringOf(x)
267}
268
269func (*CustomAttribute) ProtoMessage() {}
270
271func (x *CustomAttribute) ProtoReflect() protoreflect.Message {
272	mi := &file_google_cloud_retail_v2beta_common_proto_msgTypes[2]
273	if protoimpl.UnsafeEnabled && x != nil {
274		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
275		if ms.LoadMessageInfo() == nil {
276			ms.StoreMessageInfo(mi)
277		}
278		return ms
279	}
280	return mi.MessageOf(x)
281}
282
283// Deprecated: Use CustomAttribute.ProtoReflect.Descriptor instead.
284func (*CustomAttribute) Descriptor() ([]byte, []int) {
285	return file_google_cloud_retail_v2beta_common_proto_rawDescGZIP(), []int{2}
286}
287
288func (x *CustomAttribute) GetText() []string {
289	if x != nil {
290		return x.Text
291	}
292	return nil
293}
294
295func (x *CustomAttribute) GetNumbers() []float64 {
296	if x != nil {
297		return x.Numbers
298	}
299	return nil
300}
301
302func (x *CustomAttribute) GetSearchable() bool {
303	if x != nil && x.Searchable != nil {
304		return *x.Searchable
305	}
306	return false
307}
308
309func (x *CustomAttribute) GetIndexable() bool {
310	if x != nil && x.Indexable != nil {
311		return *x.Indexable
312	}
313	return false
314}
315
316// Fulfillment information, such as the store IDs for in-store pickup or region
317// IDs for different shipping methods.
318type FulfillmentInfo struct {
319	state         protoimpl.MessageState
320	sizeCache     protoimpl.SizeCache
321	unknownFields protoimpl.UnknownFields
322
323	// The fulfillment type, including commonly used types (such as pickup in
324	// store and same day delivery), and custom types. Customers have to map
325	// custom types to their display names before rendering UI.
326	//
327	// Supported values:
328	//
329	// * "pickup-in-store"
330	// * "ship-to-store"
331	// * "same-day-delivery"
332	// * "next-day-delivery"
333	// * "custom-type-1"
334	// * "custom-type-2"
335	// * "custom-type-3"
336	// * "custom-type-4"
337	// * "custom-type-5"
338	//
339	// If this field is set to an invalid value other than these, an
340	// INVALID_ARGUMENT error is returned.
341	Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
342	// The IDs for this [type][google.cloud.retail.v2beta.FulfillmentInfo.type],
343	// such as the store IDs for
344	// [FulfillmentInfo.type.pickup-in-store][google.cloud.retail.v2beta.FulfillmentInfo.type]
345	// or the region IDs for
346	// [FulfillmentInfo.type.same-day-delivery][google.cloud.retail.v2beta.FulfillmentInfo.type].
347	//
348	// A maximum of 2000 values are allowed. Each value must be a string with a
349	// length limit of 10 characters, matching the pattern [a-zA-Z0-9_-]+, such as
350	// "store1" or "REGION-2". Otherwise, an INVALID_ARGUMENT error is returned.
351	PlaceIds []string `protobuf:"bytes,2,rep,name=place_ids,json=placeIds,proto3" json:"place_ids,omitempty"`
352}
353
354func (x *FulfillmentInfo) Reset() {
355	*x = FulfillmentInfo{}
356	if protoimpl.UnsafeEnabled {
357		mi := &file_google_cloud_retail_v2beta_common_proto_msgTypes[3]
358		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
359		ms.StoreMessageInfo(mi)
360	}
361}
362
363func (x *FulfillmentInfo) String() string {
364	return protoimpl.X.MessageStringOf(x)
365}
366
367func (*FulfillmentInfo) ProtoMessage() {}
368
369func (x *FulfillmentInfo) ProtoReflect() protoreflect.Message {
370	mi := &file_google_cloud_retail_v2beta_common_proto_msgTypes[3]
371	if protoimpl.UnsafeEnabled && x != nil {
372		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
373		if ms.LoadMessageInfo() == nil {
374			ms.StoreMessageInfo(mi)
375		}
376		return ms
377	}
378	return mi.MessageOf(x)
379}
380
381// Deprecated: Use FulfillmentInfo.ProtoReflect.Descriptor instead.
382func (*FulfillmentInfo) Descriptor() ([]byte, []int) {
383	return file_google_cloud_retail_v2beta_common_proto_rawDescGZIP(), []int{3}
384}
385
386func (x *FulfillmentInfo) GetType() string {
387	if x != nil {
388		return x.Type
389	}
390	return ""
391}
392
393func (x *FulfillmentInfo) GetPlaceIds() []string {
394	if x != nil {
395		return x.PlaceIds
396	}
397	return nil
398}
399
400// [Product][google.cloud.retail.v2beta.Product] thumbnail/detail image.
401type Image struct {
402	state         protoimpl.MessageState
403	sizeCache     protoimpl.SizeCache
404	unknownFields protoimpl.UnknownFields
405
406	// Required. URI of the image.
407	//
408	// This field must be a valid UTF-8 encoded URI with a length limit of 5,000
409	// characters. Otherwise, an INVALID_ARGUMENT error is returned.
410	//
411	// Google Merchant Center property
412	// [image_link](https://support.google.com/merchants/answer/6324350).
413	// Schema.org property [Product.image](https://schema.org/image).
414	Uri string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"`
415	// Height of the image in number of pixels.
416	//
417	// This field must be nonnegative. Otherwise, an INVALID_ARGUMENT error is
418	// returned.
419	Height int32 `protobuf:"varint,2,opt,name=height,proto3" json:"height,omitempty"`
420	// Width of the image in number of pixels.
421	//
422	// This field must be nonnegative. Otherwise, an INVALID_ARGUMENT error is
423	// returned.
424	Width int32 `protobuf:"varint,3,opt,name=width,proto3" json:"width,omitempty"`
425}
426
427func (x *Image) Reset() {
428	*x = Image{}
429	if protoimpl.UnsafeEnabled {
430		mi := &file_google_cloud_retail_v2beta_common_proto_msgTypes[4]
431		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
432		ms.StoreMessageInfo(mi)
433	}
434}
435
436func (x *Image) String() string {
437	return protoimpl.X.MessageStringOf(x)
438}
439
440func (*Image) ProtoMessage() {}
441
442func (x *Image) ProtoReflect() protoreflect.Message {
443	mi := &file_google_cloud_retail_v2beta_common_proto_msgTypes[4]
444	if protoimpl.UnsafeEnabled && x != nil {
445		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
446		if ms.LoadMessageInfo() == nil {
447			ms.StoreMessageInfo(mi)
448		}
449		return ms
450	}
451	return mi.MessageOf(x)
452}
453
454// Deprecated: Use Image.ProtoReflect.Descriptor instead.
455func (*Image) Descriptor() ([]byte, []int) {
456	return file_google_cloud_retail_v2beta_common_proto_rawDescGZIP(), []int{4}
457}
458
459func (x *Image) GetUri() string {
460	if x != nil {
461		return x.Uri
462	}
463	return ""
464}
465
466func (x *Image) GetHeight() int32 {
467	if x != nil {
468		return x.Height
469	}
470	return 0
471}
472
473func (x *Image) GetWidth() int32 {
474	if x != nil {
475		return x.Width
476	}
477	return 0
478}
479
480// A floating point interval.
481type Interval struct {
482	state         protoimpl.MessageState
483	sizeCache     protoimpl.SizeCache
484	unknownFields protoimpl.UnknownFields
485
486	// The lower bound of the interval. If neither of the min fields are set, then
487	// the lower bound is negative infinity.
488	//
489	// This field must be not larger than
490	// [max][google.cloud.retail.v2beta.Interval.max]. Otherwise, an
491	// INVALID_ARGUMENT error is returned.
492	//
493	// Types that are assignable to Min:
494	//	*Interval_Minimum
495	//	*Interval_ExclusiveMinimum
496	Min isInterval_Min `protobuf_oneof:"min"`
497	// The upper bound of the interval. If neither of the max fields are set, then
498	// the upper bound is positive infinity.
499	//
500	// This field must be not smaller than
501	// [min][google.cloud.retail.v2beta.Interval.min]. Otherwise, an
502	// INVALID_ARGUMENT error is returned.
503	//
504	// Types that are assignable to Max:
505	//	*Interval_Maximum
506	//	*Interval_ExclusiveMaximum
507	Max isInterval_Max `protobuf_oneof:"max"`
508}
509
510func (x *Interval) Reset() {
511	*x = Interval{}
512	if protoimpl.UnsafeEnabled {
513		mi := &file_google_cloud_retail_v2beta_common_proto_msgTypes[5]
514		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
515		ms.StoreMessageInfo(mi)
516	}
517}
518
519func (x *Interval) String() string {
520	return protoimpl.X.MessageStringOf(x)
521}
522
523func (*Interval) ProtoMessage() {}
524
525func (x *Interval) ProtoReflect() protoreflect.Message {
526	mi := &file_google_cloud_retail_v2beta_common_proto_msgTypes[5]
527	if protoimpl.UnsafeEnabled && x != nil {
528		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
529		if ms.LoadMessageInfo() == nil {
530			ms.StoreMessageInfo(mi)
531		}
532		return ms
533	}
534	return mi.MessageOf(x)
535}
536
537// Deprecated: Use Interval.ProtoReflect.Descriptor instead.
538func (*Interval) Descriptor() ([]byte, []int) {
539	return file_google_cloud_retail_v2beta_common_proto_rawDescGZIP(), []int{5}
540}
541
542func (m *Interval) GetMin() isInterval_Min {
543	if m != nil {
544		return m.Min
545	}
546	return nil
547}
548
549func (x *Interval) GetMinimum() float64 {
550	if x, ok := x.GetMin().(*Interval_Minimum); ok {
551		return x.Minimum
552	}
553	return 0
554}
555
556func (x *Interval) GetExclusiveMinimum() float64 {
557	if x, ok := x.GetMin().(*Interval_ExclusiveMinimum); ok {
558		return x.ExclusiveMinimum
559	}
560	return 0
561}
562
563func (m *Interval) GetMax() isInterval_Max {
564	if m != nil {
565		return m.Max
566	}
567	return nil
568}
569
570func (x *Interval) GetMaximum() float64 {
571	if x, ok := x.GetMax().(*Interval_Maximum); ok {
572		return x.Maximum
573	}
574	return 0
575}
576
577func (x *Interval) GetExclusiveMaximum() float64 {
578	if x, ok := x.GetMax().(*Interval_ExclusiveMaximum); ok {
579		return x.ExclusiveMaximum
580	}
581	return 0
582}
583
584type isInterval_Min interface {
585	isInterval_Min()
586}
587
588type Interval_Minimum struct {
589	// Inclusive lower bound.
590	Minimum float64 `protobuf:"fixed64,1,opt,name=minimum,proto3,oneof"`
591}
592
593type Interval_ExclusiveMinimum struct {
594	// Exclusive lower bound.
595	ExclusiveMinimum float64 `protobuf:"fixed64,2,opt,name=exclusive_minimum,json=exclusiveMinimum,proto3,oneof"`
596}
597
598func (*Interval_Minimum) isInterval_Min() {}
599
600func (*Interval_ExclusiveMinimum) isInterval_Min() {}
601
602type isInterval_Max interface {
603	isInterval_Max()
604}
605
606type Interval_Maximum struct {
607	// Inclusive upper bound.
608	Maximum float64 `protobuf:"fixed64,3,opt,name=maximum,proto3,oneof"`
609}
610
611type Interval_ExclusiveMaximum struct {
612	// Exclusive upper bound.
613	ExclusiveMaximum float64 `protobuf:"fixed64,4,opt,name=exclusive_maximum,json=exclusiveMaximum,proto3,oneof"`
614}
615
616func (*Interval_Maximum) isInterval_Max() {}
617
618func (*Interval_ExclusiveMaximum) isInterval_Max() {}
619
620// The price information of a [Product][google.cloud.retail.v2beta.Product].
621type PriceInfo struct {
622	state         protoimpl.MessageState
623	sizeCache     protoimpl.SizeCache
624	unknownFields protoimpl.UnknownFields
625
626	// The 3-letter currency code defined in [ISO
627	// 4217](https://www.iso.org/iso-4217-currency-codes.html).
628	//
629	// If this field is an unrecognizable currency code, an INVALID_ARGUMENT
630	// error is returned.
631	//
632	// The [Product.Type.VARIANT][google.cloud.retail.v2beta.Product.Type.VARIANT]
633	// [Product][google.cloud.retail.v2beta.Product]s with the same
634	// [Product.primary_product_id][google.cloud.retail.v2beta.Product.primary_product_id]
635	// must share the same
636	// [currency_code][google.cloud.retail.v2beta.PriceInfo.currency_code].
637	// Otherwise, a FAILED_PRECONDITION error is returned.
638	CurrencyCode string `protobuf:"bytes,1,opt,name=currency_code,json=currencyCode,proto3" json:"currency_code,omitempty"`
639	// Price of the product.
640	//
641	// Google Merchant Center property
642	// [price](https://support.google.com/merchants/answer/6324371). Schema.org
643	// property [Offer.priceSpecification](https://schema.org/priceSpecification).
644	Price float32 `protobuf:"fixed32,2,opt,name=price,proto3" json:"price,omitempty"`
645	// Price of the product without any discount. If zero, by default set to be
646	// the [price][google.cloud.retail.v2beta.PriceInfo.price].
647	OriginalPrice float32 `protobuf:"fixed32,3,opt,name=original_price,json=originalPrice,proto3" json:"original_price,omitempty"`
648	// The costs associated with the sale of a particular product. Used for gross
649	// profit reporting.
650	//
651	// * Profit = [price][google.cloud.retail.v2beta.PriceInfo.price] -
652	// [cost][google.cloud.retail.v2beta.PriceInfo.cost]
653	//
654	// Google Merchant Center property
655	// [cost_of_goods_sold](https://support.google.com/merchants/answer/9017895).
656	Cost float32 `protobuf:"fixed32,4,opt,name=cost,proto3" json:"cost,omitempty"`
657	// The timestamp when the [price][google.cloud.retail.v2beta.PriceInfo.price]
658	// starts to be effective. This can be set as a future timestamp, and the
659	// [price][google.cloud.retail.v2beta.PriceInfo.price] is only used for search
660	// after
661	// [price_effective_time][google.cloud.retail.v2beta.PriceInfo.price_effective_time].
662	// If so, the
663	// [original_price][google.cloud.retail.v2beta.PriceInfo.original_price] must
664	// be set and
665	// [original_price][google.cloud.retail.v2beta.PriceInfo.original_price] is
666	// used before
667	// [price_effective_time][google.cloud.retail.v2beta.PriceInfo.price_effective_time].
668	//
669	// Do not set if [price][google.cloud.retail.v2beta.PriceInfo.price] is always
670	// effective because it will cause additional latency during search.
671	PriceEffectiveTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=price_effective_time,json=priceEffectiveTime,proto3" json:"price_effective_time,omitempty"`
672	// The timestamp when the [price][google.cloud.retail.v2beta.PriceInfo.price]
673	// stops to be effective. The
674	// [price][google.cloud.retail.v2beta.PriceInfo.price] is used for search
675	// before
676	// [price_expire_time][google.cloud.retail.v2beta.PriceInfo.price_expire_time].
677	// If this field is set, the
678	// [original_price][google.cloud.retail.v2beta.PriceInfo.original_price] must
679	// be set and
680	// [original_price][google.cloud.retail.v2beta.PriceInfo.original_price] is
681	// used after
682	// [price_expire_time][google.cloud.retail.v2beta.PriceInfo.price_expire_time].
683	//
684	// Do not set if [price][google.cloud.retail.v2beta.PriceInfo.price] is always
685	// effective because it will cause additional latency during search.
686	PriceExpireTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=price_expire_time,json=priceExpireTime,proto3" json:"price_expire_time,omitempty"`
687	// Output only. The price range of all the child
688	// [Product.Type.VARIANT][google.cloud.retail.v2beta.Product.Type.VARIANT]
689	// [Product][google.cloud.retail.v2beta.Product]s grouped together on the
690	// [Product.Type.PRIMARY][google.cloud.retail.v2beta.Product.Type.PRIMARY]
691	// [Product][google.cloud.retail.v2beta.Product]. Only populated for
692	// [Product.Type.PRIMARY][google.cloud.retail.v2beta.Product.Type.PRIMARY]
693	// [Product][google.cloud.retail.v2beta.Product]s.
694	//
695	// Note: This field is OUTPUT_ONLY for
696	// [ProductService.GetProduct][google.cloud.retail.v2beta.ProductService.GetProduct].
697	// Do not set this field in API requests.
698	PriceRange *PriceInfo_PriceRange `protobuf:"bytes,7,opt,name=price_range,json=priceRange,proto3" json:"price_range,omitempty"`
699}
700
701func (x *PriceInfo) Reset() {
702	*x = PriceInfo{}
703	if protoimpl.UnsafeEnabled {
704		mi := &file_google_cloud_retail_v2beta_common_proto_msgTypes[6]
705		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
706		ms.StoreMessageInfo(mi)
707	}
708}
709
710func (x *PriceInfo) String() string {
711	return protoimpl.X.MessageStringOf(x)
712}
713
714func (*PriceInfo) ProtoMessage() {}
715
716func (x *PriceInfo) ProtoReflect() protoreflect.Message {
717	mi := &file_google_cloud_retail_v2beta_common_proto_msgTypes[6]
718	if protoimpl.UnsafeEnabled && x != nil {
719		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
720		if ms.LoadMessageInfo() == nil {
721			ms.StoreMessageInfo(mi)
722		}
723		return ms
724	}
725	return mi.MessageOf(x)
726}
727
728// Deprecated: Use PriceInfo.ProtoReflect.Descriptor instead.
729func (*PriceInfo) Descriptor() ([]byte, []int) {
730	return file_google_cloud_retail_v2beta_common_proto_rawDescGZIP(), []int{6}
731}
732
733func (x *PriceInfo) GetCurrencyCode() string {
734	if x != nil {
735		return x.CurrencyCode
736	}
737	return ""
738}
739
740func (x *PriceInfo) GetPrice() float32 {
741	if x != nil {
742		return x.Price
743	}
744	return 0
745}
746
747func (x *PriceInfo) GetOriginalPrice() float32 {
748	if x != nil {
749		return x.OriginalPrice
750	}
751	return 0
752}
753
754func (x *PriceInfo) GetCost() float32 {
755	if x != nil {
756		return x.Cost
757	}
758	return 0
759}
760
761func (x *PriceInfo) GetPriceEffectiveTime() *timestamppb.Timestamp {
762	if x != nil {
763		return x.PriceEffectiveTime
764	}
765	return nil
766}
767
768func (x *PriceInfo) GetPriceExpireTime() *timestamppb.Timestamp {
769	if x != nil {
770		return x.PriceExpireTime
771	}
772	return nil
773}
774
775func (x *PriceInfo) GetPriceRange() *PriceInfo_PriceRange {
776	if x != nil {
777		return x.PriceRange
778	}
779	return nil
780}
781
782// The rating of a [Product][google.cloud.retail.v2beta.Product].
783type Rating struct {
784	state         protoimpl.MessageState
785	sizeCache     protoimpl.SizeCache
786	unknownFields protoimpl.UnknownFields
787
788	// The total number of ratings. This value is independent of the value of
789	// [rating_histogram][google.cloud.retail.v2beta.Rating.rating_histogram].
790	//
791	// This value must be nonnegative. Otherwise, an INVALID_ARGUMENT error is
792	// returned.
793	RatingCount int32 `protobuf:"varint,1,opt,name=rating_count,json=ratingCount,proto3" json:"rating_count,omitempty"`
794	// The average rating of the [Product][google.cloud.retail.v2beta.Product].
795	//
796	// The rating is scaled at 1-5. Otherwise, an INVALID_ARGUMENT error is
797	// returned.
798	AverageRating float32 `protobuf:"fixed32,2,opt,name=average_rating,json=averageRating,proto3" json:"average_rating,omitempty"`
799	// List of rating counts per rating value (index = rating - 1). The list is
800	// empty if there is no rating. If the list is non-empty, its size is
801	// always 5. Otherwise, an INVALID_ARGUMENT error is returned.
802	//
803	// For example, [41, 14, 13, 47, 303]. It means that the
804	// [Product][google.cloud.retail.v2beta.Product] got 41 ratings with 1 star,
805	// 14 ratings with 2 star, and so on.
806	RatingHistogram []int32 `protobuf:"varint,3,rep,packed,name=rating_histogram,json=ratingHistogram,proto3" json:"rating_histogram,omitempty"`
807}
808
809func (x *Rating) Reset() {
810	*x = Rating{}
811	if protoimpl.UnsafeEnabled {
812		mi := &file_google_cloud_retail_v2beta_common_proto_msgTypes[7]
813		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
814		ms.StoreMessageInfo(mi)
815	}
816}
817
818func (x *Rating) String() string {
819	return protoimpl.X.MessageStringOf(x)
820}
821
822func (*Rating) ProtoMessage() {}
823
824func (x *Rating) ProtoReflect() protoreflect.Message {
825	mi := &file_google_cloud_retail_v2beta_common_proto_msgTypes[7]
826	if protoimpl.UnsafeEnabled && x != nil {
827		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
828		if ms.LoadMessageInfo() == nil {
829			ms.StoreMessageInfo(mi)
830		}
831		return ms
832	}
833	return mi.MessageOf(x)
834}
835
836// Deprecated: Use Rating.ProtoReflect.Descriptor instead.
837func (*Rating) Descriptor() ([]byte, []int) {
838	return file_google_cloud_retail_v2beta_common_proto_rawDescGZIP(), []int{7}
839}
840
841func (x *Rating) GetRatingCount() int32 {
842	if x != nil {
843		return x.RatingCount
844	}
845	return 0
846}
847
848func (x *Rating) GetAverageRating() float32 {
849	if x != nil {
850		return x.AverageRating
851	}
852	return 0
853}
854
855func (x *Rating) GetRatingHistogram() []int32 {
856	if x != nil {
857		return x.RatingHistogram
858	}
859	return nil
860}
861
862// Information of an end user.
863type UserInfo struct {
864	state         protoimpl.MessageState
865	sizeCache     protoimpl.SizeCache
866	unknownFields protoimpl.UnknownFields
867
868	// Highly recommended for logged-in users. Unique identifier for logged-in
869	// user, such as a user name.
870	//
871	// The field must be a UTF-8 encoded string with a length limit of 128
872	// characters. Otherwise, an INVALID_ARGUMENT error is returned.
873	UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
874	// The end user's IP address. Required for getting
875	// [SearchResponse.sponsored_results][google.cloud.retail.v2beta.SearchResponse.sponsored_results].
876	// This field is used to extract location information for personalization.
877	//
878	// This field must be either an IPv4 address (e.g. "104.133.9.80") or an IPv6
879	// address (e.g. "2001:0db8:85a3:0000:0000:8a2e:0370:7334"). Otherwise, an
880	// INVALID_ARGUMENT error is returned.
881	//
882	// This should not be set when using the JavaScript tag in
883	// [UserEventService.CollectUserEvent][google.cloud.retail.v2beta.UserEventService.CollectUserEvent]
884	// or if
885	// [direct_user_request][google.cloud.retail.v2beta.UserInfo.direct_user_request]
886	// is set.
887	IpAddress string `protobuf:"bytes,2,opt,name=ip_address,json=ipAddress,proto3" json:"ip_address,omitempty"`
888	// User agent as included in the HTTP header. Required for getting
889	// [SearchResponse.sponsored_results][google.cloud.retail.v2beta.SearchResponse.sponsored_results].
890	//
891	// The field must be a UTF-8 encoded string with a length limit of 1,000
892	// characters. Otherwise, an INVALID_ARGUMENT error is returned.
893	//
894	// This should not be set when using the client side event reporting with
895	// GTM or JavaScript tag in
896	// [UserEventService.CollectUserEvent][google.cloud.retail.v2beta.UserEventService.CollectUserEvent]
897	// or if
898	// [direct_user_request][google.cloud.retail.v2beta.UserInfo.direct_user_request]
899	// is set.
900	UserAgent string `protobuf:"bytes,3,opt,name=user_agent,json=userAgent,proto3" json:"user_agent,omitempty"`
901	// True if the request is made directly from the end user, in which case the
902	// [ip_address][google.cloud.retail.v2beta.UserInfo.ip_address] and
903	// [user_agent][google.cloud.retail.v2beta.UserInfo.user_agent] can be
904	// populated from the HTTP request. This flag should be set only if the API
905	// request is made directly from the end user such as a mobile app (and not if
906	// a gateway or a server is processing and pushing the user events).
907	//
908	// This should not be set when using the JavaScript tag in
909	// [UserEventService.CollectUserEvent][google.cloud.retail.v2beta.UserEventService.CollectUserEvent].
910	DirectUserRequest bool `protobuf:"varint,4,opt,name=direct_user_request,json=directUserRequest,proto3" json:"direct_user_request,omitempty"`
911}
912
913func (x *UserInfo) Reset() {
914	*x = UserInfo{}
915	if protoimpl.UnsafeEnabled {
916		mi := &file_google_cloud_retail_v2beta_common_proto_msgTypes[8]
917		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
918		ms.StoreMessageInfo(mi)
919	}
920}
921
922func (x *UserInfo) String() string {
923	return protoimpl.X.MessageStringOf(x)
924}
925
926func (*UserInfo) ProtoMessage() {}
927
928func (x *UserInfo) ProtoReflect() protoreflect.Message {
929	mi := &file_google_cloud_retail_v2beta_common_proto_msgTypes[8]
930	if protoimpl.UnsafeEnabled && x != nil {
931		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
932		if ms.LoadMessageInfo() == nil {
933			ms.StoreMessageInfo(mi)
934		}
935		return ms
936	}
937	return mi.MessageOf(x)
938}
939
940// Deprecated: Use UserInfo.ProtoReflect.Descriptor instead.
941func (*UserInfo) Descriptor() ([]byte, []int) {
942	return file_google_cloud_retail_v2beta_common_proto_rawDescGZIP(), []int{8}
943}
944
945func (x *UserInfo) GetUserId() string {
946	if x != nil {
947		return x.UserId
948	}
949	return ""
950}
951
952func (x *UserInfo) GetIpAddress() string {
953	if x != nil {
954		return x.IpAddress
955	}
956	return ""
957}
958
959func (x *UserInfo) GetUserAgent() string {
960	if x != nil {
961		return x.UserAgent
962	}
963	return ""
964}
965
966func (x *UserInfo) GetDirectUserRequest() bool {
967	if x != nil {
968		return x.DirectUserRequest
969	}
970	return false
971}
972
973// Promotion information.
974type Promotion struct {
975	state         protoimpl.MessageState
976	sizeCache     protoimpl.SizeCache
977	unknownFields protoimpl.UnknownFields
978
979	// ID of the promotion. For example, "free gift".
980	//
981	// The value value must be a UTF-8 encoded string with a length limit of 128
982	// characters, and match the pattern: [a-zA-Z][a-zA-Z0-9_]*. For example,
983	// id0LikeThis or ID_1_LIKE_THIS. Otherwise, an INVALID_ARGUMENT error is
984	// returned.
985	//
986	// Google Merchant Center property
987	// [promotion](https://support.google.com/merchants/answer/7050148).
988	PromotionId string `protobuf:"bytes,1,opt,name=promotion_id,json=promotionId,proto3" json:"promotion_id,omitempty"`
989}
990
991func (x *Promotion) Reset() {
992	*x = Promotion{}
993	if protoimpl.UnsafeEnabled {
994		mi := &file_google_cloud_retail_v2beta_common_proto_msgTypes[9]
995		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
996		ms.StoreMessageInfo(mi)
997	}
998}
999
1000func (x *Promotion) String() string {
1001	return protoimpl.X.MessageStringOf(x)
1002}
1003
1004func (*Promotion) ProtoMessage() {}
1005
1006func (x *Promotion) ProtoReflect() protoreflect.Message {
1007	mi := &file_google_cloud_retail_v2beta_common_proto_msgTypes[9]
1008	if protoimpl.UnsafeEnabled && x != nil {
1009		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1010		if ms.LoadMessageInfo() == nil {
1011			ms.StoreMessageInfo(mi)
1012		}
1013		return ms
1014	}
1015	return mi.MessageOf(x)
1016}
1017
1018// Deprecated: Use Promotion.ProtoReflect.Descriptor instead.
1019func (*Promotion) Descriptor() ([]byte, []int) {
1020	return file_google_cloud_retail_v2beta_common_proto_rawDescGZIP(), []int{9}
1021}
1022
1023func (x *Promotion) GetPromotionId() string {
1024	if x != nil {
1025		return x.PromotionId
1026	}
1027	return ""
1028}
1029
1030// The price range of all
1031// [variant][google.cloud.retail.v2beta.Product.Type.VARIANT]
1032// [Product][google.cloud.retail.v2beta.Product] having the same
1033// [Product.primary_product_id][google.cloud.retail.v2beta.Product.primary_product_id].
1034type PriceInfo_PriceRange struct {
1035	state         protoimpl.MessageState
1036	sizeCache     protoimpl.SizeCache
1037	unknownFields protoimpl.UnknownFields
1038
1039	// The inclusive
1040	// [Product.pricing_info.price][google.cloud.retail.v2beta.PriceInfo.price]
1041	// interval of all
1042	// [variant][google.cloud.retail.v2beta.Product.Type.VARIANT]
1043	// [Product][google.cloud.retail.v2beta.Product] having the same
1044	// [Product.primary_product_id][google.cloud.retail.v2beta.Product.primary_product_id].
1045	Price *Interval `protobuf:"bytes,1,opt,name=price,proto3" json:"price,omitempty"`
1046	// The inclusive
1047	// [Product.pricing_info.original_price][google.cloud.retail.v2beta.PriceInfo.original_price]
1048	// internal of all
1049	// [variant][google.cloud.retail.v2beta.Product.Type.VARIANT]
1050	// [Product][google.cloud.retail.v2beta.Product] having the same
1051	// [Product.primary_product_id][google.cloud.retail.v2beta.Product.primary_product_id].
1052	OriginalPrice *Interval `protobuf:"bytes,2,opt,name=original_price,json=originalPrice,proto3" json:"original_price,omitempty"`
1053}
1054
1055func (x *PriceInfo_PriceRange) Reset() {
1056	*x = PriceInfo_PriceRange{}
1057	if protoimpl.UnsafeEnabled {
1058		mi := &file_google_cloud_retail_v2beta_common_proto_msgTypes[10]
1059		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1060		ms.StoreMessageInfo(mi)
1061	}
1062}
1063
1064func (x *PriceInfo_PriceRange) String() string {
1065	return protoimpl.X.MessageStringOf(x)
1066}
1067
1068func (*PriceInfo_PriceRange) ProtoMessage() {}
1069
1070func (x *PriceInfo_PriceRange) ProtoReflect() protoreflect.Message {
1071	mi := &file_google_cloud_retail_v2beta_common_proto_msgTypes[10]
1072	if protoimpl.UnsafeEnabled && x != nil {
1073		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1074		if ms.LoadMessageInfo() == nil {
1075			ms.StoreMessageInfo(mi)
1076		}
1077		return ms
1078	}
1079	return mi.MessageOf(x)
1080}
1081
1082// Deprecated: Use PriceInfo_PriceRange.ProtoReflect.Descriptor instead.
1083func (*PriceInfo_PriceRange) Descriptor() ([]byte, []int) {
1084	return file_google_cloud_retail_v2beta_common_proto_rawDescGZIP(), []int{6, 0}
1085}
1086
1087func (x *PriceInfo_PriceRange) GetPrice() *Interval {
1088	if x != nil {
1089		return x.Price
1090	}
1091	return nil
1092}
1093
1094func (x *PriceInfo_PriceRange) GetOriginalPrice() *Interval {
1095	if x != nil {
1096		return x.OriginalPrice
1097	}
1098	return nil
1099}
1100
1101var File_google_cloud_retail_v2beta_common_proto protoreflect.FileDescriptor
1102
1103var file_google_cloud_retail_v2beta_common_proto_rawDesc = []byte{
1104	0x0a, 0x27, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72,
1105	0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x63, 0x6f, 0x6d,
1106	0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
1107	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76,
1108	0x32, 0x62, 0x65, 0x74, 0x61, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70,
1109	0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72,
1110	0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f,
1111	0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70,
1112	0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f,
1113	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e,
1114	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x43, 0x0a, 0x08, 0x41, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63,
1115	0x65, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03,
1116	0x28, 0x09, 0x52, 0x07, 0x67, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x61,
1117	0x67, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52,
1118	0x09, 0x61, 0x67, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x22, 0x4a, 0x0a, 0x09, 0x43, 0x6f,
1119	0x6c, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6f, 0x6c, 0x6f, 0x72,
1120	0x5f, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52,
1121	0x0d, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x69, 0x65, 0x73, 0x12, 0x16,
1122	0x0a, 0x06, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06,
1123	0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x73, 0x22, 0xa4, 0x01, 0x0a, 0x0f, 0x43, 0x75, 0x73, 0x74, 0x6f,
1124	0x6d, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65,
1125	0x78, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x12, 0x18,
1126	0x0a, 0x07, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x01, 0x52,
1127	0x07, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x23, 0x0a, 0x0a, 0x73, 0x65, 0x61, 0x72,
1128	0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0a,
1129	0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a,
1130	0x09, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08,
1131	0x48, 0x01, 0x52, 0x09, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x61, 0x62, 0x6c, 0x65, 0x88, 0x01, 0x01,
1132	0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x42,
1133	0x0c, 0x0a, 0x0a, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x61, 0x62, 0x6c, 0x65, 0x22, 0x42, 0x0a,
1134	0x0f, 0x46, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f,
1135	0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
1136	0x74, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64,
1137	0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x49, 0x64,
1138	0x73, 0x22, 0x4c, 0x0a, 0x05, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x15, 0x0a, 0x03, 0x75, 0x72,
1139	0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x03, 0x75, 0x72,
1140	0x69, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28,
1141	0x05, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x77, 0x69, 0x64,
1142	0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x22,
1143	0xae, 0x01, 0x0a, 0x08, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x1a, 0x0a, 0x07,
1144	0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52,
1145	0x07, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x12, 0x2d, 0x0a, 0x11, 0x65, 0x78, 0x63, 0x6c,
1146	0x75, 0x73, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x18, 0x02, 0x20,
1147	0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x10, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65,
1148	0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x12, 0x1a, 0x0a, 0x07, 0x6d, 0x61, 0x78, 0x69, 0x6d,
1149	0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x48, 0x01, 0x52, 0x07, 0x6d, 0x61, 0x78, 0x69,
1150	0x6d, 0x75, 0x6d, 0x12, 0x2d, 0x0a, 0x11, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65,
1151	0x5f, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x48, 0x01,
1152	0x52, 0x10, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x4d, 0x61, 0x78, 0x69, 0x6d,
1153	0x75, 0x6d, 0x42, 0x05, 0x0a, 0x03, 0x6d, 0x69, 0x6e, 0x42, 0x05, 0x0a, 0x03, 0x6d, 0x61, 0x78,
1154	0x22, 0x87, 0x04, 0x0a, 0x09, 0x50, 0x72, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x23,
1155	0x0a, 0x0d, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18,
1156	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x43,
1157	0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01,
1158	0x28, 0x02, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x72, 0x69,
1159	0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28,
1160	0x02, 0x52, 0x0d, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x50, 0x72, 0x69, 0x63, 0x65,
1161	0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x04,
1162	0x63, 0x6f, 0x73, 0x74, 0x12, 0x4c, 0x0a, 0x14, 0x70, 0x72, 0x69, 0x63, 0x65, 0x5f, 0x65, 0x66,
1163	0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01,
1164	0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
1165	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x12,
1166	0x70, 0x72, 0x69, 0x63, 0x65, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x54, 0x69,
1167	0x6d, 0x65, 0x12, 0x46, 0x0a, 0x11, 0x70, 0x72, 0x69, 0x63, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x69,
1168	0x72, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
1169	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
1170	0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0f, 0x70, 0x72, 0x69, 0x63, 0x65,
1171	0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x56, 0x0a, 0x0b, 0x70, 0x72,
1172	0x69, 0x63, 0x65, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32,
1173	0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72,
1174	0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x50, 0x72, 0x69,
1175	0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x52, 0x61, 0x6e, 0x67,
1176	0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x70, 0x72, 0x69, 0x63, 0x65, 0x52, 0x61, 0x6e,
1177	0x67, 0x65, 0x1a, 0x95, 0x01, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x63, 0x65, 0x52, 0x61, 0x6e, 0x67,
1178	0x65, 0x12, 0x3a, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
1179	0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
1180	0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x49, 0x6e,
1181	0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x4b, 0x0a,
1182	0x0e, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18,
1183	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
1184	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, 0x65,
1185	0x74, 0x61, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x52, 0x0d, 0x6f, 0x72, 0x69,
1186	0x67, 0x69, 0x6e, 0x61, 0x6c, 0x50, 0x72, 0x69, 0x63, 0x65, 0x22, 0x7d, 0x0a, 0x06, 0x52, 0x61,
1187	0x74, 0x69, 0x6e, 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x63,
1188	0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x72, 0x61, 0x74, 0x69,
1189	0x6e, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x76, 0x65, 0x72, 0x61,
1190	0x67, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52,
1191	0x0d, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x29,
1192	0x0a, 0x10, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72,
1193	0x61, 0x6d, 0x18, 0x03, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0f, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67,
1194	0x48, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x22, 0x91, 0x01, 0x0a, 0x08, 0x55, 0x73,
1195	0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69,
1196	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12,
1197	0x1d, 0x0a, 0x0a, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20,
1198	0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1d,
1199	0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01,
1200	0x28, 0x09, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x2e, 0x0a,
1201	0x13, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x71,
1202	0x75, 0x65, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x64, 0x69, 0x72, 0x65,
1203	0x63, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x2e, 0x0a,
1204	0x09, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x72,
1205	0x6f, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
1206	0x52, 0x0b, 0x70, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x42, 0xd4, 0x01,
1207	0x0a, 0x1e, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
1208	0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61,
1209	0x42, 0x0b, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a,
1210	0x40, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f,
1211	0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67,
1212	0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, 0x65, 0x74,
1213	0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x3b, 0x72, 0x65, 0x74, 0x61, 0x69,
1214	0x6c, 0xa2, 0x02, 0x06, 0x52, 0x45, 0x54, 0x41, 0x49, 0x4c, 0xaa, 0x02, 0x1a, 0x47, 0x6f, 0x6f,
1215	0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c,
1216	0x2e, 0x56, 0x32, 0x42, 0x65, 0x74, 0x61, 0xca, 0x02, 0x1a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
1217	0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x5c, 0x56, 0x32,
1218	0x62, 0x65, 0x74, 0x61, 0xea, 0x02, 0x1d, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43,
1219	0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x3a, 0x3a, 0x56, 0x32,
1220	0x62, 0x65, 0x74, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
1221}
1222
1223var (
1224	file_google_cloud_retail_v2beta_common_proto_rawDescOnce sync.Once
1225	file_google_cloud_retail_v2beta_common_proto_rawDescData = file_google_cloud_retail_v2beta_common_proto_rawDesc
1226)
1227
1228func file_google_cloud_retail_v2beta_common_proto_rawDescGZIP() []byte {
1229	file_google_cloud_retail_v2beta_common_proto_rawDescOnce.Do(func() {
1230		file_google_cloud_retail_v2beta_common_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_retail_v2beta_common_proto_rawDescData)
1231	})
1232	return file_google_cloud_retail_v2beta_common_proto_rawDescData
1233}
1234
1235var file_google_cloud_retail_v2beta_common_proto_msgTypes = make([]protoimpl.MessageInfo, 11)
1236var file_google_cloud_retail_v2beta_common_proto_goTypes = []interface{}{
1237	(*Audience)(nil),              // 0: google.cloud.retail.v2beta.Audience
1238	(*ColorInfo)(nil),             // 1: google.cloud.retail.v2beta.ColorInfo
1239	(*CustomAttribute)(nil),       // 2: google.cloud.retail.v2beta.CustomAttribute
1240	(*FulfillmentInfo)(nil),       // 3: google.cloud.retail.v2beta.FulfillmentInfo
1241	(*Image)(nil),                 // 4: google.cloud.retail.v2beta.Image
1242	(*Interval)(nil),              // 5: google.cloud.retail.v2beta.Interval
1243	(*PriceInfo)(nil),             // 6: google.cloud.retail.v2beta.PriceInfo
1244	(*Rating)(nil),                // 7: google.cloud.retail.v2beta.Rating
1245	(*UserInfo)(nil),              // 8: google.cloud.retail.v2beta.UserInfo
1246	(*Promotion)(nil),             // 9: google.cloud.retail.v2beta.Promotion
1247	(*PriceInfo_PriceRange)(nil),  // 10: google.cloud.retail.v2beta.PriceInfo.PriceRange
1248	(*timestamppb.Timestamp)(nil), // 11: google.protobuf.Timestamp
1249}
1250var file_google_cloud_retail_v2beta_common_proto_depIdxs = []int32{
1251	11, // 0: google.cloud.retail.v2beta.PriceInfo.price_effective_time:type_name -> google.protobuf.Timestamp
1252	11, // 1: google.cloud.retail.v2beta.PriceInfo.price_expire_time:type_name -> google.protobuf.Timestamp
1253	10, // 2: google.cloud.retail.v2beta.PriceInfo.price_range:type_name -> google.cloud.retail.v2beta.PriceInfo.PriceRange
1254	5,  // 3: google.cloud.retail.v2beta.PriceInfo.PriceRange.price:type_name -> google.cloud.retail.v2beta.Interval
1255	5,  // 4: google.cloud.retail.v2beta.PriceInfo.PriceRange.original_price:type_name -> google.cloud.retail.v2beta.Interval
1256	5,  // [5:5] is the sub-list for method output_type
1257	5,  // [5:5] is the sub-list for method input_type
1258	5,  // [5:5] is the sub-list for extension type_name
1259	5,  // [5:5] is the sub-list for extension extendee
1260	0,  // [0:5] is the sub-list for field type_name
1261}
1262
1263func init() { file_google_cloud_retail_v2beta_common_proto_init() }
1264func file_google_cloud_retail_v2beta_common_proto_init() {
1265	if File_google_cloud_retail_v2beta_common_proto != nil {
1266		return
1267	}
1268	if !protoimpl.UnsafeEnabled {
1269		file_google_cloud_retail_v2beta_common_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
1270			switch v := v.(*Audience); i {
1271			case 0:
1272				return &v.state
1273			case 1:
1274				return &v.sizeCache
1275			case 2:
1276				return &v.unknownFields
1277			default:
1278				return nil
1279			}
1280		}
1281		file_google_cloud_retail_v2beta_common_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
1282			switch v := v.(*ColorInfo); i {
1283			case 0:
1284				return &v.state
1285			case 1:
1286				return &v.sizeCache
1287			case 2:
1288				return &v.unknownFields
1289			default:
1290				return nil
1291			}
1292		}
1293		file_google_cloud_retail_v2beta_common_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
1294			switch v := v.(*CustomAttribute); i {
1295			case 0:
1296				return &v.state
1297			case 1:
1298				return &v.sizeCache
1299			case 2:
1300				return &v.unknownFields
1301			default:
1302				return nil
1303			}
1304		}
1305		file_google_cloud_retail_v2beta_common_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
1306			switch v := v.(*FulfillmentInfo); i {
1307			case 0:
1308				return &v.state
1309			case 1:
1310				return &v.sizeCache
1311			case 2:
1312				return &v.unknownFields
1313			default:
1314				return nil
1315			}
1316		}
1317		file_google_cloud_retail_v2beta_common_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
1318			switch v := v.(*Image); i {
1319			case 0:
1320				return &v.state
1321			case 1:
1322				return &v.sizeCache
1323			case 2:
1324				return &v.unknownFields
1325			default:
1326				return nil
1327			}
1328		}
1329		file_google_cloud_retail_v2beta_common_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
1330			switch v := v.(*Interval); i {
1331			case 0:
1332				return &v.state
1333			case 1:
1334				return &v.sizeCache
1335			case 2:
1336				return &v.unknownFields
1337			default:
1338				return nil
1339			}
1340		}
1341		file_google_cloud_retail_v2beta_common_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
1342			switch v := v.(*PriceInfo); i {
1343			case 0:
1344				return &v.state
1345			case 1:
1346				return &v.sizeCache
1347			case 2:
1348				return &v.unknownFields
1349			default:
1350				return nil
1351			}
1352		}
1353		file_google_cloud_retail_v2beta_common_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
1354			switch v := v.(*Rating); i {
1355			case 0:
1356				return &v.state
1357			case 1:
1358				return &v.sizeCache
1359			case 2:
1360				return &v.unknownFields
1361			default:
1362				return nil
1363			}
1364		}
1365		file_google_cloud_retail_v2beta_common_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
1366			switch v := v.(*UserInfo); i {
1367			case 0:
1368				return &v.state
1369			case 1:
1370				return &v.sizeCache
1371			case 2:
1372				return &v.unknownFields
1373			default:
1374				return nil
1375			}
1376		}
1377		file_google_cloud_retail_v2beta_common_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
1378			switch v := v.(*Promotion); i {
1379			case 0:
1380				return &v.state
1381			case 1:
1382				return &v.sizeCache
1383			case 2:
1384				return &v.unknownFields
1385			default:
1386				return nil
1387			}
1388		}
1389		file_google_cloud_retail_v2beta_common_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
1390			switch v := v.(*PriceInfo_PriceRange); i {
1391			case 0:
1392				return &v.state
1393			case 1:
1394				return &v.sizeCache
1395			case 2:
1396				return &v.unknownFields
1397			default:
1398				return nil
1399			}
1400		}
1401	}
1402	file_google_cloud_retail_v2beta_common_proto_msgTypes[2].OneofWrappers = []interface{}{}
1403	file_google_cloud_retail_v2beta_common_proto_msgTypes[5].OneofWrappers = []interface{}{
1404		(*Interval_Minimum)(nil),
1405		(*Interval_ExclusiveMinimum)(nil),
1406		(*Interval_Maximum)(nil),
1407		(*Interval_ExclusiveMaximum)(nil),
1408	}
1409	type x struct{}
1410	out := protoimpl.TypeBuilder{
1411		File: protoimpl.DescBuilder{
1412			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
1413			RawDescriptor: file_google_cloud_retail_v2beta_common_proto_rawDesc,
1414			NumEnums:      0,
1415			NumMessages:   11,
1416			NumExtensions: 0,
1417			NumServices:   0,
1418		},
1419		GoTypes:           file_google_cloud_retail_v2beta_common_proto_goTypes,
1420		DependencyIndexes: file_google_cloud_retail_v2beta_common_proto_depIdxs,
1421		MessageInfos:      file_google_cloud_retail_v2beta_common_proto_msgTypes,
1422	}.Build()
1423	File_google_cloud_retail_v2beta_common_proto = out.File
1424	file_google_cloud_retail_v2beta_common_proto_rawDesc = nil
1425	file_google_cloud_retail_v2beta_common_proto_goTypes = nil
1426	file_google_cloud_retail_v2beta_common_proto_depIdxs = nil
1427}
1428