Built motion from commit 6a09e18b.|2.6.11
[motion2.git] / legacy-libs / google-proto-files / google / cloud / talent / v4beta1 / event.proto
1 // Copyright 2019 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
16 syntax = "proto3";
17
18 package google.cloud.talent.v4beta1;
19
20 import "google/api/annotations.proto";
21 import "google/protobuf/timestamp.proto";
22
23 option go_package = "google.golang.org/genproto/googleapis/cloud/talent/v4beta1;talent";
24 option java_multiple_files = true;
25 option java_outer_classname = "EventProto";
26 option java_package = "com.google.cloud.talent.v4beta1";
27 option objc_class_prefix = "CTS";
28
29 // An event issued when an end user interacts with the application that
30 // implements Cloud Talent Solution. Providing this information improves the
31 // quality of search and recommendation for the API clients, enabling the
32 // service to perform optimally. The number of events sent must be consistent
33 // with other calls, such as job searches, issued to the service by the client.
34 message ClientEvent {
35   // Required.
36   //
37   // A unique ID generated in the API responses. It can be found in
38   // [ResponseMetadata.request_id][google.cloud.talent.v4beta1.ResponseMetadata.request_id].
39   string request_id = 1;
40
41   // Required.
42   //
43   // A unique identifier, generated by the client application.
44   string event_id = 2;
45
46   // Required.
47   //
48   // The timestamp of the event.
49   google.protobuf.Timestamp create_time = 4;
50
51   // Required.
52   //
53   // The detail information of a specific event type.
54   oneof event {
55     // An event issued when a job seeker interacts with the application that
56     // implements Cloud Talent Solution.
57     JobEvent job_event = 5;
58
59     // An event issued when a profile searcher interacts with the application
60     // that implements Cloud Talent Solution.
61     ProfileEvent profile_event = 6;
62   }
63
64   // Optional.
65   //
66   // Extra information about this event. Used for storing information with no
67   // matching field in [event][google.cloud.talent.v4beta1.event] payload, for
68   // example, user application specific context or details.
69   //
70   // At most 20 keys are supported. The maximum total size of all keys and
71   // values is 2 KB.
72   map<string, string> extra_info = 7;
73 }
74
75 // An event issued when a job seeker interacts with the application that
76 // implements Cloud Talent Solution.
77 message JobEvent {
78   // An enumeration of an event attributed to the behavior of the end user,
79   // such as a job seeker.
80   enum JobEventType {
81     // The event is unspecified by other provided values.
82     JOB_EVENT_TYPE_UNSPECIFIED = 0;
83
84     // The job seeker or other entity interacting with the service has
85     // had a job rendered in their view, such as in a list of search results in
86     // a compressed or clipped format. This event is typically associated with
87     // the viewing of a jobs list on a single page by a job seeker.
88     IMPRESSION = 1;
89
90     // The job seeker, or other entity interacting with the service, has
91     // viewed the details of a job, including the full description. This
92     // event doesn't apply to the viewing a snippet of a job appearing as a
93     // part of the job search results. Viewing a snippet is associated with an
94     // [impression][google.cloud.talent.v4beta1.JobEvent.JobEventType.IMPRESSION]).
95     VIEW = 2;
96
97     // The job seeker or other entity interacting with the service
98     // performed an action to view a job and was redirected to a different
99     // website for job.
100     VIEW_REDIRECT = 3;
101
102     // The job seeker or other entity interacting with the service
103     // began the process or demonstrated the intention of applying for a job.
104     APPLICATION_START = 4;
105
106     // The job seeker or other entity interacting with the service
107     // submitted an application for a job.
108     APPLICATION_FINISH = 5;
109
110     // The job seeker or other entity interacting with the service
111     // submitted an application for a job with a single click without
112     // entering information. If a job seeker performs this action, send only
113     // this event to the service. Do not also send
114     // [JobEventType.APPLICATION_START][google.cloud.talent.v4beta1.JobEvent.JobEventType.APPLICATION_START]
115     // or
116     // [JobEventType.APPLICATION_FINISH][google.cloud.talent.v4beta1.JobEvent.JobEventType.APPLICATION_FINISH]
117     // events.
118     APPLICATION_QUICK_SUBMISSION = 6;
119
120     // The job seeker or other entity interacting with the service
121     // performed an action to apply to a job and was redirected to a different
122     // website to complete the application.
123     APPLICATION_REDIRECT = 7;
124
125     // The job seeker or other entity interacting with the service began the
126     // process or demonstrated the intention of applying for a job from the
127     // search results page without viewing the details of the job posting.
128     // If sending this event, JobEventType.VIEW event shouldn't be sent.
129     APPLICATION_START_FROM_SEARCH = 8;
130
131     // The job seeker, or other entity interacting with the service, performs an
132     // action with a single click from the search results page to apply to a job
133     // (without viewing the details of the job posting), and is redirected
134     // to a different website to complete the application. If a candidate
135     // performs this action, send only this event to the service. Do not also
136     // send
137     // [JobEventType.APPLICATION_START][google.cloud.talent.v4beta1.JobEvent.JobEventType.APPLICATION_START],
138     // [JobEventType.APPLICATION_FINISH][google.cloud.talent.v4beta1.JobEvent.JobEventType.APPLICATION_FINISH]
139     // or
140     // [JobEventType.VIEW][google.cloud.talent.v4beta1.JobEvent.JobEventType.VIEW]
141     // events.
142     APPLICATION_REDIRECT_FROM_SEARCH = 9;
143
144     // This event should be used when a company submits an application
145     // on behalf of a job seeker. This event is intended for use by staffing
146     // agencies attempting to place candidates.
147     APPLICATION_COMPANY_SUBMIT = 10;
148
149     // The job seeker or other entity interacting with the service demonstrated
150     // an interest in a job by bookmarking or saving it.
151     BOOKMARK = 11;
152
153     // The job seeker or other entity interacting with the service was
154     // sent a notification, such as an email alert or device notification,
155     // containing one or more jobs listings generated by the service.
156     NOTIFICATION = 12;
157
158     // The job seeker or other entity interacting with the service was
159     // employed by the hiring entity (employer). Send this event
160     // only if the job seeker was hired through an application that was
161     // initiated by a search conducted through the Cloud Talent Solution
162     // service.
163     HIRED = 13;
164
165     // A recruiter or staffing agency submitted an application on behalf of the
166     // candidate after interacting with the service to identify a suitable job
167     // posting.
168     SENT_CV = 14;
169
170     // The entity interacting with the service (for example, the job seeker),
171     // was granted an initial interview by the hiring entity (employer). This
172     // event should only be sent if the job seeker was granted an interview as
173     // part of an application that was initiated by a search conducted through /
174     // recommendation provided by the Cloud Talent Solution service.
175     INTERVIEW_GRANTED = 15;
176
177     // The job seeker or other entity interacting with the service showed
178     // no interest in the job.
179     NOT_INTERESTED = 16;
180   }
181
182   // Required.
183   //
184   // The type of the event (see
185   // [JobEventType][google.cloud.talent.v4beta1.JobEvent.JobEventType]).
186   JobEventType type = 1;
187
188   // Required.
189   //
190   // The [job name(s)][google.cloud.talent.v4beta1.Job.name] associated with
191   // this event. For example, if this is an
192   // [impression][google.cloud.talent.v4beta1.JobEvent.JobEventType.IMPRESSION]
193   // event, this field contains the identifiers of all jobs shown to the job
194   // seeker. If this was a
195   // [view][google.cloud.talent.v4beta1.JobEvent.JobEventType.VIEW] event, this
196   // field contains the identifier of the viewed job.
197   repeated string jobs = 2;
198 }
199
200 // An event issued when a profile searcher interacts with the application
201 // that implements Cloud Talent Solution.
202 message ProfileEvent {
203   // The enum represents types of client events for a candidate profile.
204   enum ProfileEventType {
205     // Default value.
206     PROFILE_EVENT_TYPE_UNSPECIFIED = 0;
207
208     // The profile is displayed.
209     IMPRESSION = 1;
210
211     // The profile is viewed.
212     VIEW = 2;
213
214     // The profile is bookmarked.
215     BOOKMARK = 3;
216
217     // Comment added to the profile.
218     COMMENT_ADDED = 4;
219
220     // Email sent regarding the profile.
221     EMAIL_SENT = 5;
222
223     // The resume of the profile is viewed.
224     RESUME_VIEWED = 6;
225
226     // The profile is added to a job.
227     ADD_TO_JOB = 7;
228
229     // The recruiter explicitly highlights that a given profile is interesting
230     // enough for later review or is a good result for the search.
231     POSITIVE_REACTION_TO_PROFILE = 8;
232
233     // The recruiter explicitly highlights that a given profile is not
234     // interesting enough for later review or is not a good result for the
235     // search.
236     NEGATIVE_REACTION_TO_PROFILE = 9;
237
238     // The candidate is interesting enough to set up an initial screen with the
239     // recruiter. This step may be skipped based on the interview process.
240     SCREEN = 10;
241   }
242
243   // Required.
244   //
245   // Type of event.
246   ProfileEventType type = 1;
247
248   // Required.
249   //
250   // The [profile name(s)][google.cloud.talent.v4beta1.Profile.name] associated
251   // with this client event.
252   repeated string profiles = 2;
253
254   // Optional.
255   //
256   // The job ID associated with this client event if there is one. Leave it
257   // empty if the event isn't associated with a job.
258   //
259   // The job ID should be consistent with the
260   // [JobApplication.job.requisition_id][] in the profile.
261   string job_id = 3;
262 }