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