aboutsummaryrefslogtreecommitdiff
path: root/google/ads/googleads/v0/common/criteria.proto
blob: 808843cd404fbff34846ad9ef34a33789f2b6175 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
// Copyright 2018 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
// implied. See the License for the specific language governing
// permissions and limitations under the License.


// Proto file describing criteria types.
syntax = "proto3";

package google.ads.googleads.v0.common;

import "google/ads/googleads/v0/enums/keyword_match_type.proto";
import "google/ads/googleads/v0/enums/listing_custom_attribute_index.proto";
import "google/ads/googleads/v0/enums/listing_group_type.proto";
import "google/protobuf/wrappers.proto";

option java_package = "com.google.ads.googleads.v0.common";
option java_outer_classname = "CriteriaProto";
option java_multiple_files = true;

// Objective-C prefix. Google Ads API.
option objc_class_prefix = "GAA";
option csharp_namespace = "Google.Ads.GoogleAds.V0.Common";
option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Common";
option php_metadata_namespace = "Google\\Ads\\GoogleAds\\V0\\Common";

// A keyword criterion.
message KeywordInfo {

  // The text of the keyword (at most 80 characters and 10 words).
  google.protobuf.StringValue text = 1;

  // The match type of the keyword.
  enums.KeywordMatchTypeEnum.KeywordMatchType match_type = 2;
}

// A location criterion.
message LocationInfo {
}

// A platform criterion.
message PlatformInfo {
}

// A listing group criterion.
message ListingGroupInfo {

  // Type of the listing group.
  enums.ListingGroupTypeEnum.ListingGroupType type = 1;

  // Dimension value with which this listing group is refining its parent.
  // Undefined for the root group.
  ListingDimensionInfo case_value = 2;

  // ID of the parent listing group subdivision. Undefined for the root group.
  google.protobuf.Int64Value parent_criterion_id = 3;
}

// Listing dimensions for listing group criterion.
message ListingDimensionInfo {

  // Dimension of one of the types below is always present.
  oneof dimension {

    // Brand of the listing.
    ListingBrandInfo listing_brand = 1;

    // Advertiser-specific hotel ID.
    HotelIdInfo hotel_id = 2;

    // Class of the hotel as a number of stars 1 to 5.
    HotelClassInfo hotel_class = 3;

    // Country or Region the hotel is located in.
    HotelCountryRegionInfo hotel_country_region = 4;

    // State the hotel is located in.
    HotelStateInfo hotel_state = 5;

    // City the hotel is located in.
    HotelCityInfo hotel_city = 6;

    // Listing custom attribute.
    ListingCustomAttributeInfo listing_custom_attribute = 7;
  }
}

// Brand of the listing.
message ListingBrandInfo {

  // String value of the listing brand.
  google.protobuf.StringValue value = 1;
}

// Advertiser-specific hotel ID.
message HotelIdInfo {

  // String value of the hotel ID.
  google.protobuf.StringValue value = 1;
}

// Class of the hotel as a number of stars 1 to 5.
message HotelClassInfo {

  // Long value of the hotel class.
  google.protobuf.Int64Value value = 1;
}

// Country or Region the hotel is located in.
message HotelCountryRegionInfo {

  // The Geo Target Constant resource name.
  google.protobuf.StringValue country_region_criterion = 1;
}

// State the hotel is located in.
message HotelStateInfo {

  // The Geo Target Constant resource name.
  google.protobuf.StringValue state_criterion = 1;
}

// City the hotel is located in.
message HotelCityInfo {

  // The Geo Target Constant resource name.
  google.protobuf.StringValue city_criterion = 1;
}

// Listing custom attribute.
message ListingCustomAttributeInfo {

  // String value of the listing custom attribute.
  google.protobuf.StringValue value = 1;

  // Indicates the index of the custom attribute.
  enums.ListingCustomAttributeIndexEnum.ListingCustomAttributeIndex index = 2;
}

// Criterion for hotel date selection (default dates vs. user selected).
message HotelDateSelectionTypeInfo {
}

// Criterion for number of days prior to the stay the booking is being made.
message HotelAdvanceBookingWindowInfo {

  // Low end of the number of days prior to the stay.
  google.protobuf.Int64Value min_days = 1;

  // High end of the number of days prior to the stay.
  google.protobuf.Int64Value max_days = 2;
}

// Criterion for length of hotel stay in nights.
message HotelLengthOfStayInfo {

  // Low end of the number of nights in the stay.
  google.protobuf.Int64Value min_nights = 1;

  // High end of the number of nights in the stay.
  google.protobuf.Int64Value max_nights = 2;
}

// Criterion for day of the week the booking is for.
message HotelCheckInDayInfo {
}