You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
kratos/third_party/google/cloud/talent/v4beta1/application.proto

197 lines
6.1 KiB

// Copyright 2019 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.
//
syntax = "proto3";
package google.cloud.talent.v4beta1;
import "google/cloud/talent/v4beta1/common.proto";
import "google/cloud/talent/v4beta1/job.proto";
import "google/protobuf/timestamp.proto";
import "google/protobuf/wrappers.proto";
import "google/type/date.proto";
import "google/api/annotations.proto";
option go_package = "google.golang.org/genproto/googleapis/cloud/talent/v4beta1;talent";
option java_multiple_files = true;
option java_outer_classname = "ApplicationResourceProto";
option java_package = "com.google.cloud.talent.v4beta1";
option objc_class_prefix = "CTS";
// Resource that represents a job application record of a candidate.
message Application {
// Enum that represents the application status.
enum ApplicationState {
// Default value.
APPLICATION_STATE_UNSPECIFIED = 0;
// The current stage is in progress or pending, for example, interviews in
// progress.
IN_PROGRESS = 1;
// The current stage was terminated by a candidate decision.
CANDIDATE_WITHDREW = 2;
// The current stage was terminated by an employer or agency decision.
EMPLOYER_WITHDREW = 3;
// The current stage is successfully completed, but the next stage (if
// applicable) has not begun.
COMPLETED = 4;
// The current stage was closed without an exception, or terminated for
// reasons unrealated to the candidate.
CLOSED = 5;
}
// The stage of the application.
enum ApplicationStage {
// Default value.
APPLICATION_STAGE_UNSPECIFIED = 0;
// Candidate has applied or a recruiter put candidate into consideration but
// candidate is not yet screened / no decision has been made to move or not
// move the candidate to the next stage.
NEW = 1;
// A recruiter decided to screen the candidate for this role.
SCREEN = 2;
// Candidate is being / was sent to the customer / hiring manager for
// detailed review.
HIRING_MANAGER_REVIEW = 3;
// Candidate was approved by the client / hiring manager and is being / was
// interviewed for the role.
INTERVIEW = 4;
// Candidate will be / has been given an offer of employment.
OFFER_EXTENDED = 5;
// Candidate has accepted their offer of employment.
OFFER_ACCEPTED = 6;
// Candidate has begun (or completed) their employment or assignment with
// the employer.
STARTED = 7;
}
// Required during application update.
//
// Resource name assigned to an application by the API.
//
// The format is
// "projects/{project_id}/tenants/{tenant_id}/profiles/{profile_id}/applications/{application_id}",
// for example,
// "projects/api-test-project/tenants/foo/profiles/bar/applications/baz".
string name = 1;
// Required.
//
// Client side application identifier, used to uniquely identify the
// application.
//
// The maximum number of allowed characters is 255.
string external_id = 31;
// Output only. Resource name of the candidate of this application.
//
// The format is
// "projects/{project_id}/tenants/{tenant_id}/profiles/{profile_id}",
// for example, "projects/api-test-project/tenants/foo/profiles/bar".
string profile = 2;
// One of either a job or a company is required.
//
// Resource name of the job which the candidate applied for.
//
// The format is
// "projects/{project_id}/tenants/{tenant_id}/jobs/{job_id}",
// for example, "projects/api-test-project/tenants/foo/jobs/bar".
string job = 4;
// One of either a job or a company is required.
//
// Resource name of the company which the candidate applied for.
//
// The format is
// "projects/{project_id}/tenants/{tenant_id}/companies/{company_id}",
// for example, "projects/api-test-project/tenants/foo/companies/bar".
string company = 5;
// Optional.
//
// The application date.
google.type.Date application_date = 7;
// Required.
//
// What is the most recent stage of the application (that is, new, screen,
// send cv, hired, finished work)? This field is intentionally not
// comprehensive of every possible status, but instead, represents statuses
// that would be used to indicate to the ML models good / bad matches.
ApplicationStage stage = 11;
// Optional.
//
// The application state.
ApplicationState state = 13;
// Optional.
//
// All interviews (screen, onsite, and so on) conducted as part of this
// application (includes details such as user conducting the interview,
// timestamp, feedback, and so on).
repeated Interview interviews = 16;
// Optional.
//
// If the candidate is referred by a employee.
google.protobuf.BoolValue referral = 18;
// Required.
//
// Reflects the time that the application was created.
google.protobuf.Timestamp create_time = 19;
// Optional.
//
// The last update timestamp.
google.protobuf.Timestamp update_time = 20;
// Optional.
//
// Free text reason behind the recruitement outcome (for example, reason for
// withdraw / reject, reason for an unsuccessful finish, and so on).
//
// Number of characters allowed is 100.
string outcome_notes = 21;
// Optional.
//
// Outcome positiveness shows how positive the outcome is.
Outcome outcome = 22;
// Output only. Indicates whether this job application is a match to
// application related filters. This value is only applicable in profile
// search response.
google.protobuf.BoolValue is_match = 28;
// Output only. Job title snippet shows how the job title is related to a
// search query. It's empty if the job title isn't related to the search
// query.
string job_title_snippet = 29;
}