Class Profile

public sealed class Profile : IMessage<Profile>, IEquatable<Profile>, IDeepCloneable<Profile>, IBufferMessage, IMessage

A resource that represents the profile for a job candidate (also referred to as a "single-source profile").

Inheritance

Object > Profile

Namespace

Google.Cloud.Talent.V4Beta1

Assembly

Google.Cloud.Talent.V4Beta1.dll

Constructors

Profile()

public Profile()

Profile(Profile)

public Profile(Profile other)
Parameter
NameDescription
otherProfile

Properties

Activities

public RepeatedField<Activity> Activities { get; }

The individual or collaborative activities which the candidate has participated in, for example, open-source projects, class assignments that aren't listed in [employment_records][google.cloud.talent.v4beta1.Profile.employment_records].

The limitation for max number of activities is 50.

Property Value
TypeDescription
RepeatedField<Activity>

AdditionalContactInfo

public RepeatedField<AdditionalContactInfo> AdditionalContactInfo { get; }

Available contact information besides [addresses][google.cloud.talent.v4beta1.Profile.addresses], [email_addresses][google.cloud.talent.v4beta1.Profile.email_addresses], [phone_numbers][google.cloud.talent.v4beta1.Profile.phone_numbers] and [personal_uris][google.cloud.talent.v4beta1.Profile.personal_uris]. For example, Hang-out, Skype.

Property Value
TypeDescription
RepeatedField<AdditionalContactInfo>

Addresses

public RepeatedField<Address> Addresses { get; }

The candidate's postal addresses. It's highly recommended to input this information as accurately as possible to help improve search quality. Here are some recommendations:

  • Provide [Address.usage][google.cloud.talent.v4beta1.Address.usage] if possible, especially if the address is PERSONAL. During a search only personal addresses are considered. If there is no such address, all addresses with unspecified usage are assumed to be personal.
  • Provide [Address.current][google.cloud.talent.v4beta1.Address.current] for the current address if possible. During a search, only current addresses are considered. If there is no such address, all addresses are assumed to be current.

When displaying a candidate's addresses, it is sometimes desirable to limit the number of addresses shown. In these cases we recommend that you display the addresses in the following order of priority:

  1. [Address.usage][google.cloud.talent.v4beta1.Address.usage] is PERSONAL and [Address.current][google.cloud.talent.v4beta1.Address.current] is true.
  2. [Address.usage][google.cloud.talent.v4beta1.Address.usage] is PERSONAL and [Address.current][google.cloud.talent.v4beta1.Address.current] is false or not set.
  3. [Address.usage][google.cloud.talent.v4beta1.Address.usage] is CONTACT_INFO_USAGE_UNSPECIFIED and [Address.current][google.cloud.talent.v4beta1.Address.current] is true.
  4. [Address.usage][google.cloud.talent.v4beta1.Address.usage] is CONTACT_INFO_USAGE_UNSPECIFIED and [Address.current][google.cloud.talent.v4beta1.Address.current] is false or not set.
Property Value
TypeDescription
RepeatedField<Address>

Applications

public RepeatedField<string> Applications { get; }

Output only. The resource names of the candidate's applications.

Property Value
TypeDescription
RepeatedField<String>

Assignments

public RepeatedField<string> Assignments { get; }

Output only. The resource names of the candidate's assignments.

Property Value
TypeDescription
RepeatedField<String>

AvailabilitySignals

public RepeatedField<AvailabilitySignal> AvailabilitySignals { get; }

Output only. Candidate's availability signals.

Property Value
TypeDescription
RepeatedField<AvailabilitySignal>

CandidateUpdateTime

public Timestamp CandidateUpdateTime { get; set; }

The timestamp when the profile was last updated as a result of a direct or indirect action by a candidate.

These actions include:

  • Direct actions such as the candidate submitting a new resume as part of a job application to the agency, using a self-service tool such as a website to update their profile, and so on.
  • Indirect actions by the candidate such as uploading a resume to a job board that is collected by the agency through a feed, providing a resume to a recruiter who then uploads it into the ATS, and so on.
  • Updates made to the candidate's profile by the recruiter as a result of interacting with the candidate (for example adding a skill or work preference, and so on). Changes to [recruiting_notes][google.cloud.talent.v4beta1.Profile.recruiting_notes] are specifically excluded from this action type.

Note: [candidate_update_time][google.cloud.talent.v4beta1.Profile.candidate_update_time] must be greater than or equal to [resume_update_time][google.cloud.talent.v4beta1.Profile.resume_update_time] or an error is thrown.

Property Value
TypeDescription
Timestamp

Certifications

public RepeatedField<Certification> Certifications { get; }

The certifications acquired by the candidate.

Property Value
TypeDescription
RepeatedField<Certification>

CreateTime

public Timestamp CreateTime { get; set; }

The timestamp when the profile was first created at this source.

Property Value
TypeDescription
Timestamp

CustomAttributes

public MapField<string, CustomAttribute> CustomAttributes { get; }

A map of fields to hold both filterable and non-filterable custom profile attributes that aren't covered by the provided structured fields. See [CustomAttribute][google.cloud.talent.v4beta1.CustomAttribute] for more details.

At most 100 filterable and at most 100 unfilterable keys are supported. If limit is exceeded, an error is thrown. Custom attributes are unfilterable by default. These are filterable when the filterable flag is set to true.

Numeric custom attributes: each key can only map to one numeric value, otherwise an error is thrown. Client can also filter on numeric custom attributes using '>', '<' or '=' operators.

String custom attributes: each key can map up to 50 string values. For filterable string value, each value has a byte size of no more than 256B. For unfilterable string values, the maximum byte size of a single key is 64B. An error is thrown for any request exceeding the limit. The maximum total byte size is 10KB.

Property Value
TypeDescription
MapField<String, CustomAttribute>

DerivedAddresses

public RepeatedField<Location> DerivedAddresses { get; }

Output only. Derived locations of the profile, resolved from [Profile.addresses][google.cloud.talent.v4beta1.Profile.addresses].

[derived_addresses][google.cloud.talent.v4beta1.Profile.derived_addresses] are exactly matched to [Profile.addresses][google.cloud.talent.v4beta1.Profile.addresses] in the same order.

Property Value
TypeDescription
RepeatedField<Location>

EducationRecords

public RepeatedField<EducationRecord> EducationRecords { get; }

The education history record of the candidate. It's highly recommended to input this information as accurately as possible to help improve search quality. Here are some recommendations:

  • Specify the start and end dates of the education records.
  • List each education type separately, no matter how minor the change is. For example, the profile contains the education experience from the same school but different degrees.
  • Provide [EducationRecord.is_current][google.cloud.talent.v4beta1.EducationRecord.is_current] for the current education if possible. If not, it's inferred from user inputs.

The limitation for max number of education records is 100.

Property Value
TypeDescription
RepeatedField<EducationRecord>

EmailAddresses

public RepeatedField<Email> EmailAddresses { get; }

The candidate's email addresses.

Property Value
TypeDescription
RepeatedField<Email>

EmploymentRecords

public RepeatedField<EmploymentRecord> EmploymentRecords { get; }

The employment history records of the candidate. It's highly recommended to input this information as accurately as possible to help improve search quality. Here are some recommendations:

  • Specify the start and end dates of the employment records.
  • List different employment types separately, no matter how minor the change is. For example, only job title is changed from "software engineer" to "senior software engineer".
  • Provide [EmploymentRecord.is_current][google.cloud.talent.v4beta1.EmploymentRecord.is_current] for the current employment if possible. If not, it's inferred from user inputs.

The limitation for max number of employment records is 100.

Property Value
TypeDescription
RepeatedField<EmploymentRecord>

ExternalId

public string ExternalId { get; set; }

Profile's id in client system, if available. This value is unique for each profile inside a tenant. An error is thrown if another profile with the same external_id is created.

The maximum number of bytes allowed is 100.

Property Value
TypeDescription
String

GroupId

public string GroupId { get; set; }

The cluster id of the profile to associate with other profile(s) for the same candidate.

This field should be generated by the customer. If a value is not provided, a random UUID is assigned to this field of the profile.

This is used to link multiple profiles to the same candidate. For example, a client has a candidate with two profiles, where one was created recently and the other one was created 5 years ago. These two profiles may be very different. The clients can create the first profile and get a generated [group_id][google.cloud.talent.v4beta1.Profile.group_id], and assign it when the second profile is created, indicating these two profiles are referring to the same candidate.

Property Value
TypeDescription
String

IsHirable

public bool? IsHirable { get; set; }

Indicates the hirable status of the candidate.

Property Value
TypeDescription
Nullable<Boolean>

KeywordSnippet

public string KeywordSnippet { get; set; }

Output only. Keyword snippet shows how the search result is related to a search query. This is only returned in [SearchProfilesResponse][google.cloud.talent.v4beta1.SearchProfilesResponse].

Property Value
TypeDescription
String

Name

public string Name { get; set; }

Required during profile update.

Resource name assigned to a profile by the API.

The format is "projects/{project_id}/tenants/{tenant_id}/profiles/{profile_id}", for example, "projects/foo/tenants/bar/profiles/baz".

Property Value
TypeDescription
String

Patents

public RepeatedField<Patent> Patents { get; }

The patents acquired by the candidate.

Property Value
TypeDescription
RepeatedField<Patent>

PersonalUris

public RepeatedField<PersonalUri> PersonalUris { get; }

The candidate's personal URIs.

Property Value
TypeDescription
RepeatedField<PersonalUri>

PersonNames

public RepeatedField<PersonName> PersonNames { get; }

The names of the candidate this profile references.

Currently only one person name is supported.

Property Value
TypeDescription
RepeatedField<PersonName>

PhoneNumbers

public RepeatedField<Phone> PhoneNumbers { get; }

The candidate's phone number(s).

Property Value
TypeDescription
RepeatedField<Phone>

Processed

public bool Processed { get; set; }

Output only. Indicates if a summarized profile was created as part of the profile creation API call. This flag does not indicate whether a profile is searchable or not.

Property Value
TypeDescription
Boolean

ProfileName

public ProfileName ProfileName { get; set; }

ProfileName-typed view over the Name resource name property.

Property Value
TypeDescription
ProfileName

Publications

public RepeatedField<Publication> Publications { get; }

The publications published by the candidate.

The limitation for max number of publications is 50.

Property Value
TypeDescription
RepeatedField<Publication>

Resume

public Resume Resume { get; set; }

The resume representing this profile.

Property Value
TypeDescription
Resume

ResumeUpdateTime

public Timestamp ResumeUpdateTime { get; set; }

The timestamp when the candidate's resume was added or updated on the candidate's profile. Whether that resume was directly uploaded by a candidate, pulled from a 3rd party job board feed, added by a recruiter, and so on.

If this field is updated, it's expected that [resume][google.cloud.talent.v4beta1.Profile.resume] is provided in the create or update calls.

Property Value
TypeDescription
Timestamp

Skills

public RepeatedField<Skill> Skills { get; }

The skill set of the candidate. It's highly recommended to provide as much information as possible to help improve the search quality.

The limitation for max number of skills is 500.

Property Value
TypeDescription
RepeatedField<Skill>

Source

public string Source { get; set; }

The source description indicating where the profile is acquired.

For example, if a candidate profile is acquired from a resume, the user can input "resume" here to indicate the source.

The maximum number of bytes allowed is 100.

Property Value
TypeDescription
String

UpdateTime

public Timestamp UpdateTime { get; set; }

The timestamp when the profile was last updated at this source.

Property Value
TypeDescription
Timestamp

Uri

public string Uri { get; set; }

The URI set by clients that links to this profile's client-side copy.

The maximum number of bytes allowed is 4000.

Property Value
TypeDescription
String