xref: /aosp_15_r20/external/googleapis/google/cloud/talent/v4/job.proto (revision d5c09012810ac0c9f33fe448fb6da8260d444cc9)
1*d5c09012SAndroid Build Coastguard Worker// Copyright 2023 Google LLC
2*d5c09012SAndroid Build Coastguard Worker//
3*d5c09012SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License");
4*d5c09012SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License.
5*d5c09012SAndroid Build Coastguard Worker// You may obtain a copy of the License at
6*d5c09012SAndroid Build Coastguard Worker//
7*d5c09012SAndroid Build Coastguard Worker//     http://www.apache.org/licenses/LICENSE-2.0
8*d5c09012SAndroid Build Coastguard Worker//
9*d5c09012SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software
10*d5c09012SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS,
11*d5c09012SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*d5c09012SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and
13*d5c09012SAndroid Build Coastguard Worker// limitations under the License.
14*d5c09012SAndroid Build Coastguard Worker
15*d5c09012SAndroid Build Coastguard Workersyntax = "proto3";
16*d5c09012SAndroid Build Coastguard Worker
17*d5c09012SAndroid Build Coastguard Workerpackage google.cloud.talent.v4;
18*d5c09012SAndroid Build Coastguard Worker
19*d5c09012SAndroid Build Coastguard Workerimport "google/api/field_behavior.proto";
20*d5c09012SAndroid Build Coastguard Workerimport "google/api/resource.proto";
21*d5c09012SAndroid Build Coastguard Workerimport "google/cloud/talent/v4/common.proto";
22*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/timestamp.proto";
23*d5c09012SAndroid Build Coastguard Worker
24*d5c09012SAndroid Build Coastguard Workeroption go_package = "cloud.google.com/go/talent/apiv4/talentpb;talentpb";
25*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true;
26*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "JobProto";
27*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.cloud.talent.v4";
28*d5c09012SAndroid Build Coastguard Workeroption objc_class_prefix = "CTS";
29*d5c09012SAndroid Build Coastguard Worker
30*d5c09012SAndroid Build Coastguard Worker// A Job resource represents a job posting (also referred to as a "job listing"
31*d5c09012SAndroid Build Coastguard Worker// or "job requisition"). A job belongs to a
32*d5c09012SAndroid Build Coastguard Worker// [Company][google.cloud.talent.v4.Company], which is the hiring entity
33*d5c09012SAndroid Build Coastguard Worker// responsible for the job.
34*d5c09012SAndroid Build Coastguard Workermessage Job {
35*d5c09012SAndroid Build Coastguard Worker  option (google.api.resource) = {
36*d5c09012SAndroid Build Coastguard Worker    type: "jobs.googleapis.com/Job"
37*d5c09012SAndroid Build Coastguard Worker    pattern: "projects/{project}/tenants/{tenant}/jobs/{job}"
38*d5c09012SAndroid Build Coastguard Worker  };
39*d5c09012SAndroid Build Coastguard Worker
40*d5c09012SAndroid Build Coastguard Worker  // Application related details of a job posting.
41*d5c09012SAndroid Build Coastguard Worker  message ApplicationInfo {
42*d5c09012SAndroid Build Coastguard Worker    // Use this field to specify email address(es) to which resumes or
43*d5c09012SAndroid Build Coastguard Worker    // applications can be sent.
44*d5c09012SAndroid Build Coastguard Worker    //
45*d5c09012SAndroid Build Coastguard Worker    // The maximum number of allowed characters for each entry is 255.
46*d5c09012SAndroid Build Coastguard Worker    repeated string emails = 1;
47*d5c09012SAndroid Build Coastguard Worker
48*d5c09012SAndroid Build Coastguard Worker    // Use this field to provide instructions, such as "Mail your application
49*d5c09012SAndroid Build Coastguard Worker    // to ...", that a candidate can follow to apply for the job.
50*d5c09012SAndroid Build Coastguard Worker    //
51*d5c09012SAndroid Build Coastguard Worker    // This field accepts and sanitizes HTML input, and also accepts
52*d5c09012SAndroid Build Coastguard Worker    // bold, italic, ordered list, and unordered list markup tags.
53*d5c09012SAndroid Build Coastguard Worker    //
54*d5c09012SAndroid Build Coastguard Worker    // The maximum number of allowed characters is 3,000.
55*d5c09012SAndroid Build Coastguard Worker    string instruction = 2;
56*d5c09012SAndroid Build Coastguard Worker
57*d5c09012SAndroid Build Coastguard Worker    // Use this URI field to direct an applicant to a website, for example to
58*d5c09012SAndroid Build Coastguard Worker    // link to an online application form.
59*d5c09012SAndroid Build Coastguard Worker    //
60*d5c09012SAndroid Build Coastguard Worker    // The maximum number of allowed characters for each entry is 2,000.
61*d5c09012SAndroid Build Coastguard Worker    repeated string uris = 3;
62*d5c09012SAndroid Build Coastguard Worker  }
63*d5c09012SAndroid Build Coastguard Worker
64*d5c09012SAndroid Build Coastguard Worker  // Derived details about the job posting.
65*d5c09012SAndroid Build Coastguard Worker  message DerivedInfo {
66*d5c09012SAndroid Build Coastguard Worker    // Structured locations of the job, resolved from
67*d5c09012SAndroid Build Coastguard Worker    // [Job.addresses][google.cloud.talent.v4.Job.addresses].
68*d5c09012SAndroid Build Coastguard Worker    //
69*d5c09012SAndroid Build Coastguard Worker    // [locations][google.cloud.talent.v4.Job.DerivedInfo.locations] are exactly
70*d5c09012SAndroid Build Coastguard Worker    // matched to [Job.addresses][google.cloud.talent.v4.Job.addresses] in the
71*d5c09012SAndroid Build Coastguard Worker    // same order.
72*d5c09012SAndroid Build Coastguard Worker    repeated Location locations = 1;
73*d5c09012SAndroid Build Coastguard Worker
74*d5c09012SAndroid Build Coastguard Worker    // Job categories derived from [Job.title][google.cloud.talent.v4.Job.title]
75*d5c09012SAndroid Build Coastguard Worker    // and [Job.description][google.cloud.talent.v4.Job.description].
76*d5c09012SAndroid Build Coastguard Worker    repeated JobCategory job_categories = 3;
77*d5c09012SAndroid Build Coastguard Worker  }
78*d5c09012SAndroid Build Coastguard Worker
79*d5c09012SAndroid Build Coastguard Worker  // Options for job processing.
80*d5c09012SAndroid Build Coastguard Worker  message ProcessingOptions {
81*d5c09012SAndroid Build Coastguard Worker    // If set to `true`, the service does not attempt to resolve a
82*d5c09012SAndroid Build Coastguard Worker    // more precise address for the job.
83*d5c09012SAndroid Build Coastguard Worker    bool disable_street_address_resolution = 1;
84*d5c09012SAndroid Build Coastguard Worker
85*d5c09012SAndroid Build Coastguard Worker    // Option for job HTML content sanitization. Applied fields are:
86*d5c09012SAndroid Build Coastguard Worker    //
87*d5c09012SAndroid Build Coastguard Worker    // * description
88*d5c09012SAndroid Build Coastguard Worker    // * applicationInfo.instruction
89*d5c09012SAndroid Build Coastguard Worker    // * incentives
90*d5c09012SAndroid Build Coastguard Worker    // * qualifications
91*d5c09012SAndroid Build Coastguard Worker    // * responsibilities
92*d5c09012SAndroid Build Coastguard Worker    //
93*d5c09012SAndroid Build Coastguard Worker    // HTML tags in these fields may be stripped if sanitiazation isn't
94*d5c09012SAndroid Build Coastguard Worker    // disabled.
95*d5c09012SAndroid Build Coastguard Worker    //
96*d5c09012SAndroid Build Coastguard Worker    // Defaults to
97*d5c09012SAndroid Build Coastguard Worker    // [HtmlSanitization.SIMPLE_FORMATTING_ONLY][google.cloud.talent.v4.HtmlSanitization.SIMPLE_FORMATTING_ONLY].
98*d5c09012SAndroid Build Coastguard Worker    HtmlSanitization html_sanitization = 2;
99*d5c09012SAndroid Build Coastguard Worker  }
100*d5c09012SAndroid Build Coastguard Worker
101*d5c09012SAndroid Build Coastguard Worker  // Required during job update.
102*d5c09012SAndroid Build Coastguard Worker  //
103*d5c09012SAndroid Build Coastguard Worker  // The resource name for the job. This is generated by the service when a
104*d5c09012SAndroid Build Coastguard Worker  // job is created.
105*d5c09012SAndroid Build Coastguard Worker  //
106*d5c09012SAndroid Build Coastguard Worker  // The format is
107*d5c09012SAndroid Build Coastguard Worker  // "projects/{project_id}/tenants/{tenant_id}/jobs/{job_id}". For
108*d5c09012SAndroid Build Coastguard Worker  // example, "projects/foo/tenants/bar/jobs/baz".
109*d5c09012SAndroid Build Coastguard Worker  //
110*d5c09012SAndroid Build Coastguard Worker  // Use of this field in job queries and API calls is preferred over the use of
111*d5c09012SAndroid Build Coastguard Worker  // [requisition_id][google.cloud.talent.v4.Job.requisition_id] since this
112*d5c09012SAndroid Build Coastguard Worker  // value is unique.
113*d5c09012SAndroid Build Coastguard Worker  string name = 1;
114*d5c09012SAndroid Build Coastguard Worker
115*d5c09012SAndroid Build Coastguard Worker  // Required. The resource name of the company listing the job.
116*d5c09012SAndroid Build Coastguard Worker  //
117*d5c09012SAndroid Build Coastguard Worker  // The format is
118*d5c09012SAndroid Build Coastguard Worker  // "projects/{project_id}/tenants/{tenant_id}/companies/{company_id}". For
119*d5c09012SAndroid Build Coastguard Worker  // example, "projects/foo/tenants/bar/companies/baz".
120*d5c09012SAndroid Build Coastguard Worker  string company = 2 [
121*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
122*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = { type: "jobs.googleapis.com/Company" }
123*d5c09012SAndroid Build Coastguard Worker  ];
124*d5c09012SAndroid Build Coastguard Worker
125*d5c09012SAndroid Build Coastguard Worker  // Required. The requisition ID, also referred to as the posting ID, is
126*d5c09012SAndroid Build Coastguard Worker  // assigned by the client to identify a job. This field is intended to be used
127*d5c09012SAndroid Build Coastguard Worker  // by clients for client identification and tracking of postings. A job isn't
128*d5c09012SAndroid Build Coastguard Worker  // allowed to be created if there is another job with the same
129*d5c09012SAndroid Build Coastguard Worker  // [company][google.cloud.talent.v4.Job.name],
130*d5c09012SAndroid Build Coastguard Worker  // [language_code][google.cloud.talent.v4.Job.language_code] and
131*d5c09012SAndroid Build Coastguard Worker  // [requisition_id][google.cloud.talent.v4.Job.requisition_id].
132*d5c09012SAndroid Build Coastguard Worker  //
133*d5c09012SAndroid Build Coastguard Worker  // The maximum number of allowed characters is 255.
134*d5c09012SAndroid Build Coastguard Worker  string requisition_id = 3 [(google.api.field_behavior) = REQUIRED];
135*d5c09012SAndroid Build Coastguard Worker
136*d5c09012SAndroid Build Coastguard Worker  // Required. The title of the job, such as "Software Engineer"
137*d5c09012SAndroid Build Coastguard Worker  //
138*d5c09012SAndroid Build Coastguard Worker  // The maximum number of allowed characters is 500.
139*d5c09012SAndroid Build Coastguard Worker  string title = 4 [(google.api.field_behavior) = REQUIRED];
140*d5c09012SAndroid Build Coastguard Worker
141*d5c09012SAndroid Build Coastguard Worker  // Required. The description of the job, which typically includes a
142*d5c09012SAndroid Build Coastguard Worker  // multi-paragraph description of the company and related information.
143*d5c09012SAndroid Build Coastguard Worker  // Separate fields are provided on the job object for
144*d5c09012SAndroid Build Coastguard Worker  // [responsibilities][google.cloud.talent.v4.Job.responsibilities],
145*d5c09012SAndroid Build Coastguard Worker  // [qualifications][google.cloud.talent.v4.Job.qualifications], and other job
146*d5c09012SAndroid Build Coastguard Worker  // characteristics. Use of these separate job fields is recommended.
147*d5c09012SAndroid Build Coastguard Worker  //
148*d5c09012SAndroid Build Coastguard Worker  // This field accepts and sanitizes HTML input, and also accepts
149*d5c09012SAndroid Build Coastguard Worker  // bold, italic, ordered list, and unordered list markup tags.
150*d5c09012SAndroid Build Coastguard Worker  //
151*d5c09012SAndroid Build Coastguard Worker  // The maximum number of allowed characters is 100,000.
152*d5c09012SAndroid Build Coastguard Worker  string description = 5 [(google.api.field_behavior) = REQUIRED];
153*d5c09012SAndroid Build Coastguard Worker
154*d5c09012SAndroid Build Coastguard Worker  // Strongly recommended for the best service experience.
155*d5c09012SAndroid Build Coastguard Worker  //
156*d5c09012SAndroid Build Coastguard Worker  // Location(s) where the employer is looking to hire for this job posting.
157*d5c09012SAndroid Build Coastguard Worker  //
158*d5c09012SAndroid Build Coastguard Worker  // Specifying the full street address(es) of the hiring location enables
159*d5c09012SAndroid Build Coastguard Worker  // better API results, especially job searches by commute time.
160*d5c09012SAndroid Build Coastguard Worker  //
161*d5c09012SAndroid Build Coastguard Worker  // At most 50 locations are allowed for best search performance. If a job has
162*d5c09012SAndroid Build Coastguard Worker  // more locations, it is suggested to split it into multiple jobs with unique
163*d5c09012SAndroid Build Coastguard Worker  // [requisition_id][google.cloud.talent.v4.Job.requisition_id]s (e.g. 'ReqA'
164*d5c09012SAndroid Build Coastguard Worker  // becomes 'ReqA-1', 'ReqA-2', and so on.) as multiple jobs with the same
165*d5c09012SAndroid Build Coastguard Worker  // [company][google.cloud.talent.v4.Job.company],
166*d5c09012SAndroid Build Coastguard Worker  // [language_code][google.cloud.talent.v4.Job.language_code] and
167*d5c09012SAndroid Build Coastguard Worker  // [requisition_id][google.cloud.talent.v4.Job.requisition_id] are not
168*d5c09012SAndroid Build Coastguard Worker  // allowed. If the original
169*d5c09012SAndroid Build Coastguard Worker  // [requisition_id][google.cloud.talent.v4.Job.requisition_id] must be
170*d5c09012SAndroid Build Coastguard Worker  // preserved, a custom field should be used for storage. It is also suggested
171*d5c09012SAndroid Build Coastguard Worker  // to group the locations that close to each other in the same job for better
172*d5c09012SAndroid Build Coastguard Worker  // search experience.
173*d5c09012SAndroid Build Coastguard Worker  //
174*d5c09012SAndroid Build Coastguard Worker  // Jobs with multiple addresses must have their addresses with the same
175*d5c09012SAndroid Build Coastguard Worker  // [LocationType][] to allow location filtering to work properly. (For
176*d5c09012SAndroid Build Coastguard Worker  // example, a Job with addresses "1600 Amphitheatre Parkway, Mountain View,
177*d5c09012SAndroid Build Coastguard Worker  // CA, USA" and "London, UK" may not have location filters applied correctly
178*d5c09012SAndroid Build Coastguard Worker  // at search time since the first is a [LocationType.STREET_ADDRESS][] and the
179*d5c09012SAndroid Build Coastguard Worker  // second is a [LocationType.LOCALITY][].) If a job needs to have multiple
180*d5c09012SAndroid Build Coastguard Worker  // addresses, it is suggested to split it into multiple jobs with same
181*d5c09012SAndroid Build Coastguard Worker  // LocationTypes.
182*d5c09012SAndroid Build Coastguard Worker  //
183*d5c09012SAndroid Build Coastguard Worker  // The maximum number of allowed characters is 500.
184*d5c09012SAndroid Build Coastguard Worker  repeated string addresses = 6;
185*d5c09012SAndroid Build Coastguard Worker
186*d5c09012SAndroid Build Coastguard Worker  // Job application information.
187*d5c09012SAndroid Build Coastguard Worker  ApplicationInfo application_info = 7;
188*d5c09012SAndroid Build Coastguard Worker
189*d5c09012SAndroid Build Coastguard Worker  // The benefits included with the job.
190*d5c09012SAndroid Build Coastguard Worker  repeated JobBenefit job_benefits = 8;
191*d5c09012SAndroid Build Coastguard Worker
192*d5c09012SAndroid Build Coastguard Worker  // Job compensation information (a.k.a. "pay rate") i.e., the compensation
193*d5c09012SAndroid Build Coastguard Worker  // that will paid to the employee.
194*d5c09012SAndroid Build Coastguard Worker  CompensationInfo compensation_info = 9;
195*d5c09012SAndroid Build Coastguard Worker
196*d5c09012SAndroid Build Coastguard Worker  // A map of fields to hold both filterable and non-filterable custom job
197*d5c09012SAndroid Build Coastguard Worker  // attributes that are not covered by the provided structured fields.
198*d5c09012SAndroid Build Coastguard Worker  //
199*d5c09012SAndroid Build Coastguard Worker  // The keys of the map are strings up to 64 bytes and must match the
200*d5c09012SAndroid Build Coastguard Worker  // pattern: `[a-zA-Z][a-zA-Z0-9_]*`. For example, key0LikeThis or
201*d5c09012SAndroid Build Coastguard Worker  // KEY_1_LIKE_THIS.
202*d5c09012SAndroid Build Coastguard Worker  //
203*d5c09012SAndroid Build Coastguard Worker  // At most 100 filterable and at most 100 unfilterable keys are supported.
204*d5c09012SAndroid Build Coastguard Worker  // For filterable `string_values`, across all keys at most 200 values are
205*d5c09012SAndroid Build Coastguard Worker  // allowed, with each string no more than 255 characters. For unfilterable
206*d5c09012SAndroid Build Coastguard Worker  // `string_values`, the maximum total size of `string_values` across all keys
207*d5c09012SAndroid Build Coastguard Worker  // is 50KB.
208*d5c09012SAndroid Build Coastguard Worker  map<string, CustomAttribute> custom_attributes = 10;
209*d5c09012SAndroid Build Coastguard Worker
210*d5c09012SAndroid Build Coastguard Worker  // The desired education degrees for the job, such as Bachelors, Masters.
211*d5c09012SAndroid Build Coastguard Worker  repeated DegreeType degree_types = 11;
212*d5c09012SAndroid Build Coastguard Worker
213*d5c09012SAndroid Build Coastguard Worker  // The department or functional area within the company with the open
214*d5c09012SAndroid Build Coastguard Worker  // position.
215*d5c09012SAndroid Build Coastguard Worker  //
216*d5c09012SAndroid Build Coastguard Worker  // The maximum number of allowed characters is 255.
217*d5c09012SAndroid Build Coastguard Worker  string department = 12;
218*d5c09012SAndroid Build Coastguard Worker
219*d5c09012SAndroid Build Coastguard Worker  // The employment type(s) of a job, for example,
220*d5c09012SAndroid Build Coastguard Worker  // [full time][google.cloud.talent.v4.EmploymentType.FULL_TIME] or
221*d5c09012SAndroid Build Coastguard Worker  // [part time][google.cloud.talent.v4.EmploymentType.PART_TIME].
222*d5c09012SAndroid Build Coastguard Worker  repeated EmploymentType employment_types = 13;
223*d5c09012SAndroid Build Coastguard Worker
224*d5c09012SAndroid Build Coastguard Worker  // A description of bonus, commission, and other compensation
225*d5c09012SAndroid Build Coastguard Worker  // incentives associated with the job not including salary or pay.
226*d5c09012SAndroid Build Coastguard Worker  //
227*d5c09012SAndroid Build Coastguard Worker  // The maximum number of allowed characters is 10,000.
228*d5c09012SAndroid Build Coastguard Worker  string incentives = 14;
229*d5c09012SAndroid Build Coastguard Worker
230*d5c09012SAndroid Build Coastguard Worker  // The language of the posting. This field is distinct from
231*d5c09012SAndroid Build Coastguard Worker  // any requirements for fluency that are associated with the job.
232*d5c09012SAndroid Build Coastguard Worker  //
233*d5c09012SAndroid Build Coastguard Worker  // Language codes must be in BCP-47 format, such as "en-US" or "sr-Latn".
234*d5c09012SAndroid Build Coastguard Worker  // For more information, see
235*d5c09012SAndroid Build Coastguard Worker  // [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47){:
236*d5c09012SAndroid Build Coastguard Worker  // class="external" target="_blank" }.
237*d5c09012SAndroid Build Coastguard Worker  //
238*d5c09012SAndroid Build Coastguard Worker  // If this field is unspecified and
239*d5c09012SAndroid Build Coastguard Worker  // [Job.description][google.cloud.talent.v4.Job.description] is present,
240*d5c09012SAndroid Build Coastguard Worker  // detected language code based on
241*d5c09012SAndroid Build Coastguard Worker  // [Job.description][google.cloud.talent.v4.Job.description] is assigned,
242*d5c09012SAndroid Build Coastguard Worker  // otherwise defaults to 'en_US'.
243*d5c09012SAndroid Build Coastguard Worker  string language_code = 15;
244*d5c09012SAndroid Build Coastguard Worker
245*d5c09012SAndroid Build Coastguard Worker  // The experience level associated with the job, such as "Entry Level".
246*d5c09012SAndroid Build Coastguard Worker  JobLevel job_level = 16;
247*d5c09012SAndroid Build Coastguard Worker
248*d5c09012SAndroid Build Coastguard Worker  // A promotion value of the job, as determined by the client.
249*d5c09012SAndroid Build Coastguard Worker  // The value determines the sort order of the jobs returned when searching for
250*d5c09012SAndroid Build Coastguard Worker  // jobs using the featured jobs search call, with higher promotional values
251*d5c09012SAndroid Build Coastguard Worker  // being returned first and ties being resolved by relevance sort. Only the
252*d5c09012SAndroid Build Coastguard Worker  // jobs with a promotionValue >0 are returned in a FEATURED_JOB_SEARCH.
253*d5c09012SAndroid Build Coastguard Worker  //
254*d5c09012SAndroid Build Coastguard Worker  // Default value is 0, and negative values are treated as 0.
255*d5c09012SAndroid Build Coastguard Worker  int32 promotion_value = 17;
256*d5c09012SAndroid Build Coastguard Worker
257*d5c09012SAndroid Build Coastguard Worker  // A description of the qualifications required to perform the
258*d5c09012SAndroid Build Coastguard Worker  // job. The use of this field is recommended
259*d5c09012SAndroid Build Coastguard Worker  // as an alternative to using the more general
260*d5c09012SAndroid Build Coastguard Worker  // [description][google.cloud.talent.v4.Job.description] field.
261*d5c09012SAndroid Build Coastguard Worker  //
262*d5c09012SAndroid Build Coastguard Worker  // This field accepts and sanitizes HTML input, and also accepts
263*d5c09012SAndroid Build Coastguard Worker  // bold, italic, ordered list, and unordered list markup tags.
264*d5c09012SAndroid Build Coastguard Worker  //
265*d5c09012SAndroid Build Coastguard Worker  // The maximum number of allowed characters is 10,000.
266*d5c09012SAndroid Build Coastguard Worker  string qualifications = 18;
267*d5c09012SAndroid Build Coastguard Worker
268*d5c09012SAndroid Build Coastguard Worker  // A description of job responsibilities. The use of this field is
269*d5c09012SAndroid Build Coastguard Worker  // recommended as an alternative to using the more general
270*d5c09012SAndroid Build Coastguard Worker  // [description][google.cloud.talent.v4.Job.description] field.
271*d5c09012SAndroid Build Coastguard Worker  //
272*d5c09012SAndroid Build Coastguard Worker  // This field accepts and sanitizes HTML input, and also accepts
273*d5c09012SAndroid Build Coastguard Worker  // bold, italic, ordered list, and unordered list markup tags.
274*d5c09012SAndroid Build Coastguard Worker  //
275*d5c09012SAndroid Build Coastguard Worker  // The maximum number of allowed characters is 10,000.
276*d5c09012SAndroid Build Coastguard Worker  string responsibilities = 19;
277*d5c09012SAndroid Build Coastguard Worker
278*d5c09012SAndroid Build Coastguard Worker  // The job [PostingRegion][google.cloud.talent.v4.PostingRegion] (for example,
279*d5c09012SAndroid Build Coastguard Worker  // state, country) throughout which the job is available. If this field is
280*d5c09012SAndroid Build Coastguard Worker  // set, a [LocationFilter][google.cloud.talent.v4.LocationFilter] in a search
281*d5c09012SAndroid Build Coastguard Worker  // query within the job region finds this job posting if an exact location
282*d5c09012SAndroid Build Coastguard Worker  // match isn't specified. If this field is set to
283*d5c09012SAndroid Build Coastguard Worker  // [PostingRegion.NATION][google.cloud.talent.v4.PostingRegion.NATION] or
284*d5c09012SAndroid Build Coastguard Worker  // [PostingRegion.ADMINISTRATIVE_AREA][google.cloud.talent.v4.PostingRegion.ADMINISTRATIVE_AREA],
285*d5c09012SAndroid Build Coastguard Worker  // setting job [Job.addresses][google.cloud.talent.v4.Job.addresses] to the
286*d5c09012SAndroid Build Coastguard Worker  // same location level as this field is strongly recommended.
287*d5c09012SAndroid Build Coastguard Worker  PostingRegion posting_region = 20;
288*d5c09012SAndroid Build Coastguard Worker
289*d5c09012SAndroid Build Coastguard Worker  // Deprecated. The job is only visible to the owner.
290*d5c09012SAndroid Build Coastguard Worker  //
291*d5c09012SAndroid Build Coastguard Worker  // The visibility of the job.
292*d5c09012SAndroid Build Coastguard Worker  //
293*d5c09012SAndroid Build Coastguard Worker  // Defaults to
294*d5c09012SAndroid Build Coastguard Worker  // [Visibility.ACCOUNT_ONLY][google.cloud.talent.v4.Visibility.ACCOUNT_ONLY]
295*d5c09012SAndroid Build Coastguard Worker  // if not specified.
296*d5c09012SAndroid Build Coastguard Worker  Visibility visibility = 21 [deprecated = true];
297*d5c09012SAndroid Build Coastguard Worker
298*d5c09012SAndroid Build Coastguard Worker  // The start timestamp of the job in UTC time zone. Typically this field
299*d5c09012SAndroid Build Coastguard Worker  // is used for contracting engagements. Invalid timestamps are ignored.
300*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp job_start_time = 22;
301*d5c09012SAndroid Build Coastguard Worker
302*d5c09012SAndroid Build Coastguard Worker  // The end timestamp of the job. Typically this field is used for contracting
303*d5c09012SAndroid Build Coastguard Worker  // engagements. Invalid timestamps are ignored.
304*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp job_end_time = 23;
305*d5c09012SAndroid Build Coastguard Worker
306*d5c09012SAndroid Build Coastguard Worker  // The timestamp this job posting was most recently published. The default
307*d5c09012SAndroid Build Coastguard Worker  // value is the time the request arrives at the server. Invalid timestamps are
308*d5c09012SAndroid Build Coastguard Worker  // ignored.
309*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp posting_publish_time = 24;
310*d5c09012SAndroid Build Coastguard Worker
311*d5c09012SAndroid Build Coastguard Worker  // Strongly recommended for the best service experience.
312*d5c09012SAndroid Build Coastguard Worker  //
313*d5c09012SAndroid Build Coastguard Worker  // The expiration timestamp of the job. After this timestamp, the
314*d5c09012SAndroid Build Coastguard Worker  // job is marked as expired, and it no longer appears in search results. The
315*d5c09012SAndroid Build Coastguard Worker  // expired job can't be listed by the
316*d5c09012SAndroid Build Coastguard Worker  // [ListJobs][google.cloud.talent.v4.JobService.ListJobs] API, but it can be
317*d5c09012SAndroid Build Coastguard Worker  // retrieved with the [GetJob][google.cloud.talent.v4.JobService.GetJob] API
318*d5c09012SAndroid Build Coastguard Worker  // or updated with the
319*d5c09012SAndroid Build Coastguard Worker  // [UpdateJob][google.cloud.talent.v4.JobService.UpdateJob] API or deleted
320*d5c09012SAndroid Build Coastguard Worker  // with the [DeleteJob][google.cloud.talent.v4.JobService.DeleteJob] API. An
321*d5c09012SAndroid Build Coastguard Worker  // expired job can be updated and opened again by using a future expiration
322*d5c09012SAndroid Build Coastguard Worker  // timestamp. Updating an expired job fails if there is another existing open
323*d5c09012SAndroid Build Coastguard Worker  // job with same [company][google.cloud.talent.v4.Job.company],
324*d5c09012SAndroid Build Coastguard Worker  // [language_code][google.cloud.talent.v4.Job.language_code] and
325*d5c09012SAndroid Build Coastguard Worker  // [requisition_id][google.cloud.talent.v4.Job.requisition_id].
326*d5c09012SAndroid Build Coastguard Worker  //
327*d5c09012SAndroid Build Coastguard Worker  // The expired jobs are retained in our system for 90 days. However, the
328*d5c09012SAndroid Build Coastguard Worker  // overall expired job count cannot exceed 3 times the maximum number of
329*d5c09012SAndroid Build Coastguard Worker  // open jobs over previous 7 days. If this threshold is exceeded,
330*d5c09012SAndroid Build Coastguard Worker  // expired jobs are cleaned out in order of earliest expire time.
331*d5c09012SAndroid Build Coastguard Worker  // Expired jobs are no longer accessible after they are cleaned
332*d5c09012SAndroid Build Coastguard Worker  // out.
333*d5c09012SAndroid Build Coastguard Worker  //
334*d5c09012SAndroid Build Coastguard Worker  // Invalid timestamps are ignored, and treated as expire time not provided.
335*d5c09012SAndroid Build Coastguard Worker  //
336*d5c09012SAndroid Build Coastguard Worker  // If the timestamp is before the instant request is made, the job
337*d5c09012SAndroid Build Coastguard Worker  // is treated as expired immediately on creation. This kind of job can
338*d5c09012SAndroid Build Coastguard Worker  // not be updated. And when creating a job with past timestamp, the
339*d5c09012SAndroid Build Coastguard Worker  // [posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time]
340*d5c09012SAndroid Build Coastguard Worker  // must be set before
341*d5c09012SAndroid Build Coastguard Worker  // [posting_expire_time][google.cloud.talent.v4.Job.posting_expire_time]. The
342*d5c09012SAndroid Build Coastguard Worker  // purpose of this feature is to allow other objects, such as [Application][],
343*d5c09012SAndroid Build Coastguard Worker  // to refer a job that didn't exist in the system prior to becoming expired.
344*d5c09012SAndroid Build Coastguard Worker  // If you want to modify a job that was expired on creation, delete it and
345*d5c09012SAndroid Build Coastguard Worker  // create a new one.
346*d5c09012SAndroid Build Coastguard Worker  //
347*d5c09012SAndroid Build Coastguard Worker  // If this value isn't provided at the time of job creation or is invalid,
348*d5c09012SAndroid Build Coastguard Worker  // the job posting expires after 30 days from the job's creation time. For
349*d5c09012SAndroid Build Coastguard Worker  // example, if the job was created on 2017/01/01 13:00AM UTC with an
350*d5c09012SAndroid Build Coastguard Worker  // unspecified expiration date, the job expires after 2017/01/31 13:00AM UTC.
351*d5c09012SAndroid Build Coastguard Worker  //
352*d5c09012SAndroid Build Coastguard Worker  // If this value isn't provided on job update, it depends on the field masks
353*d5c09012SAndroid Build Coastguard Worker  // set by
354*d5c09012SAndroid Build Coastguard Worker  // [UpdateJobRequest.update_mask][google.cloud.talent.v4.UpdateJobRequest.update_mask].
355*d5c09012SAndroid Build Coastguard Worker  // If the field masks include
356*d5c09012SAndroid Build Coastguard Worker  // [job_end_time][google.cloud.talent.v4.Job.job_end_time], or the masks are
357*d5c09012SAndroid Build Coastguard Worker  // empty meaning that every field is updated, the job posting expires after 30
358*d5c09012SAndroid Build Coastguard Worker  // days from the job's last update time. Otherwise the expiration date isn't
359*d5c09012SAndroid Build Coastguard Worker  // updated.
360*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp posting_expire_time = 25;
361*d5c09012SAndroid Build Coastguard Worker
362*d5c09012SAndroid Build Coastguard Worker  // Output only. The timestamp when this job posting was created.
363*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp posting_create_time = 26
364*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
365*d5c09012SAndroid Build Coastguard Worker
366*d5c09012SAndroid Build Coastguard Worker  // Output only. The timestamp when this job posting was last updated.
367*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp posting_update_time = 27
368*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
369*d5c09012SAndroid Build Coastguard Worker
370*d5c09012SAndroid Build Coastguard Worker  // Output only. Display name of the company listing the job.
371*d5c09012SAndroid Build Coastguard Worker  string company_display_name = 28 [(google.api.field_behavior) = OUTPUT_ONLY];
372*d5c09012SAndroid Build Coastguard Worker
373*d5c09012SAndroid Build Coastguard Worker  // Output only. Derived details about the job posting.
374*d5c09012SAndroid Build Coastguard Worker  DerivedInfo derived_info = 29 [(google.api.field_behavior) = OUTPUT_ONLY];
375*d5c09012SAndroid Build Coastguard Worker
376*d5c09012SAndroid Build Coastguard Worker  // Options for job processing.
377*d5c09012SAndroid Build Coastguard Worker  ProcessingOptions processing_options = 30;
378*d5c09012SAndroid Build Coastguard Worker}
379