public sealed class CompensationInfo.Types.CompensationEntry : IMessage<CompensationInfo.Types.CompensationEntry>, IEquatable<CompensationInfo.Types.CompensationEntry>, IDeepCloneable<CompensationInfo.Types.CompensationEntry>, IBufferMessage, IMessage
Reference documentation and code samples for the Google Cloud Talent Solution v4beta1 API class CompensationInfo.Types.CompensationEntry.
A compensation entry that represents one component of compensation, such
as base pay, bonus, or other compensation type.
Annualization: One compensation entry can be annualized if
it contains valid
[amount][google.cloud.talent.v4beta1.CompensationInfo.CompensationEntry.amount]
or
[range][google.cloud.talent.v4beta1.CompensationInfo.CompensationEntry.range].
and its
[expected_units_per_year][google.cloud.talent.v4beta1.CompensationInfo.CompensationEntry.expected_units_per_year]
is set or can be derived. Its annualized range is determined as
([amount][google.cloud.talent.v4beta1.CompensationInfo.CompensationEntry.amount]
or
[range][google.cloud.talent.v4beta1.CompensationInfo.CompensationEntry.range])
times
[expected_units_per_year][google.cloud.talent.v4beta1.CompensationInfo.CompensationEntry.expected_units_per_year].
Expected number of units paid each year. If not specified, when
[Job.employment_types][google.cloud.talent.v4beta1.Job.employment_types]
is FULLTIME, a default value is inferred based on
[unit][google.cloud.talent.v4beta1.CompensationInfo.CompensationEntry.unit].
Default values:
public CompensationInfo.Types.CompensationType Type { get; set; }
Compensation type.
Default is
[CompensationType.COMPENSATION_TYPE_UNSPECIFIED][google.cloud.talent.v4beta1.CompensationInfo.CompensationType.COMPENSATION_TYPE_UNSPECIFIED].
public CompensationInfo.Types.CompensationUnit Unit { get; set; }
Frequency of the specified amount.
Default is
[CompensationUnit.COMPENSATION_UNIT_UNSPECIFIED][google.cloud.talent.v4beta1.CompensationInfo.CompensationUnit.COMPENSATION_UNIT_UNSPECIFIED].
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-07 UTC."],[[["\u003cp\u003eThis documentation is for the \u003ccode\u003eCompensationInfo.Types.CompensationEntry\u003c/code\u003e class within the Google Cloud Talent Solution v4beta1 API, representing a single component of compensation.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eCompensationEntry\u003c/code\u003e can be annualized if it has a valid amount or range and a set or derivable \u003ccode\u003eexpected_units_per_year\u003c/code\u003e, allowing calculation of an annualized compensation range.\u003c/p\u003e\n"],["\u003cp\u003eThe class implements multiple interfaces, including \u003ccode\u003eIMessage\u003c/code\u003e, \u003ccode\u003eIEquatable\u003c/code\u003e, \u003ccode\u003eIDeepCloneable\u003c/code\u003e, and \u003ccode\u003eIBufferMessage\u003c/code\u003e, and inherits from \u003ccode\u003eobject\u003c/code\u003e, which provide foundational structures.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eCompensationEntry\u003c/code\u003e class has properties such as \u003ccode\u003eAmount\u003c/code\u003e, \u003ccode\u003eRange\u003c/code\u003e, \u003ccode\u003eType\u003c/code\u003e, and \u003ccode\u003eUnit\u003c/code\u003e to specify the compensation details like amount, frequency, and type.\u003c/p\u003e\n"],["\u003cp\u003eThere are two constructors, one that is empty, and another that takes in another \u003ccode\u003eCompensationEntry\u003c/code\u003e, along with various properties to set up the compensation object.\u003c/p\u003e\n"]]],[],null,["# Google Cloud Talent Solution v4beta1 API - Class CompensationInfo.Types.CompensationEntry (3.0.0-beta06)\n\nVersion latestkeyboard_arrow_down\n\n- [3.0.0-beta06 (latest)](/dotnet/docs/reference/Google.Cloud.Talent.V4Beta1/latest/Google.Cloud.Talent.V4Beta1.CompensationInfo.Types.CompensationEntry)\n- [3.0.0-beta05](/dotnet/docs/reference/Google.Cloud.Talent.V4Beta1/3.0.0-beta05/Google.Cloud.Talent.V4Beta1.CompensationInfo.Types.CompensationEntry)\n- [2.0.0-beta07](/dotnet/docs/reference/Google.Cloud.Talent.V4Beta1/2.0.0-beta07/Google.Cloud.Talent.V4Beta1.CompensationInfo.Types.CompensationEntry) \n\n public sealed class CompensationInfo.Types.CompensationEntry : IMessage\u003cCompensationInfo.Types.CompensationEntry\u003e, IEquatable\u003cCompensationInfo.Types.CompensationEntry\u003e, IDeepCloneable\u003cCompensationInfo.Types.CompensationEntry\u003e, IBufferMessage, IMessage\n\nReference documentation and code samples for the Google Cloud Talent Solution v4beta1 API class CompensationInfo.Types.CompensationEntry.\n\nA compensation entry that represents one component of compensation, such\nas base pay, bonus, or other compensation type.\n\nAnnualization: One compensation entry can be annualized if\n\n- it contains valid \\[amount\\]\\[google.cloud.talent.v4beta1.CompensationInfo.CompensationEntry.amount\\] or \\[range\\]\\[google.cloud.talent.v4beta1.CompensationInfo.CompensationEntry.range\\].\n- and its \\[expected_units_per_year\\]\\[google.cloud.talent.v4beta1.CompensationInfo.CompensationEntry.expected_units_per_year\\] is set or can be derived. Its annualized range is determined as (\\[amount\\]\\[google.cloud.talent.v4beta1.CompensationInfo.CompensationEntry.amount\\] or \\[range\\]\\[google.cloud.talent.v4beta1.CompensationInfo.CompensationEntry.range\\]) times \\[expected_units_per_year\\]\\[google.cloud.talent.v4beta1.CompensationInfo.CompensationEntry.expected_units_per_year\\]. \n\nInheritance\n-----------\n\n[object](https://learn.microsoft.com/dotnet/api/system.object) \\\u003e CompensationInfo.Types.CompensationEntry \n\nImplements\n----------\n\n[IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage-1.html)[CompensationInfo](/dotnet/docs/reference/Google.Cloud.Talent.V4Beta1/latest/Google.Cloud.Talent.V4Beta1.CompensationInfo)[Types](/dotnet/docs/reference/Google.Cloud.Talent.V4Beta1/latest/Google.Cloud.Talent.V4Beta1.CompensationInfo.Types)[CompensationEntry](/dotnet/docs/reference/Google.Cloud.Talent.V4Beta1/latest/Google.Cloud.Talent.V4Beta1.CompensationInfo.Types.CompensationEntry), [IEquatable](https://learn.microsoft.com/dotnet/api/system.iequatable-1)[CompensationInfo](/dotnet/docs/reference/Google.Cloud.Talent.V4Beta1/latest/Google.Cloud.Talent.V4Beta1.CompensationInfo)[Types](/dotnet/docs/reference/Google.Cloud.Talent.V4Beta1/latest/Google.Cloud.Talent.V4Beta1.CompensationInfo.Types)[CompensationEntry](/dotnet/docs/reference/Google.Cloud.Talent.V4Beta1/latest/Google.Cloud.Talent.V4Beta1.CompensationInfo.Types.CompensationEntry), [IDeepCloneable](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IDeepCloneable-1.html)[CompensationInfo](/dotnet/docs/reference/Google.Cloud.Talent.V4Beta1/latest/Google.Cloud.Talent.V4Beta1.CompensationInfo)[Types](/dotnet/docs/reference/Google.Cloud.Talent.V4Beta1/latest/Google.Cloud.Talent.V4Beta1.CompensationInfo.Types)[CompensationEntry](/dotnet/docs/reference/Google.Cloud.Talent.V4Beta1/latest/Google.Cloud.Talent.V4Beta1.CompensationInfo.Types.CompensationEntry), [IBufferMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IBufferMessage.html), [IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage.html) \n\nInherited Members\n-----------------\n\n[object.GetHashCode()](https://learn.microsoft.com/dotnet/api/system.object.gethashcode) \n[object.GetType()](https://learn.microsoft.com/dotnet/api/system.object.gettype) \n[object.ToString()](https://learn.microsoft.com/dotnet/api/system.object.tostring)\n\nNamespace\n---------\n\n[Google.Cloud.Talent.V4Beta1](/dotnet/docs/reference/Google.Cloud.Talent.V4Beta1/latest/Google.Cloud.Talent.V4Beta1)\n\nAssembly\n--------\n\nGoogle.Cloud.Talent.V4Beta1.dll\n\nConstructors\n------------\n\n### CompensationEntry()\n\n public CompensationEntry()\n\n### CompensationEntry(CompensationEntry)\n\n public CompensationEntry(CompensationInfo.Types.CompensationEntry other)\n\nProperties\n----------\n\n### Amount\n\n public Money Amount { get; set; }\n\nCompensation amount.\n\n### CompensationAmountCase\n\n public CompensationInfo.Types.CompensationEntry.CompensationAmountOneofCase CompensationAmountCase { get; }\n\n### Description\n\n public string Description { get; set; }\n\nCompensation description. For example, could\nindicate equity terms or provide additional context to an estimated\nbonus.\n\n### ExpectedUnitsPerYear\n\n public double? ExpectedUnitsPerYear { get; set; }\n\nExpected number of units paid each year. If not specified, when\n\\[Job.employment_types\\]\\[google.cloud.talent.v4beta1.Job.employment_types\\]\nis FULLTIME, a default value is inferred based on\n\\[unit\\]\\[google.cloud.talent.v4beta1.CompensationInfo.CompensationEntry.unit\\].\nDefault values:\n\n- HOURLY: 2080\n- DAILY: 260\n- WEEKLY: 52\n- MONTHLY: 12\n- ANNUAL: 1\n\n### Range\n\n public CompensationInfo.Types.CompensationRange Range { get; set; }\n\nCompensation range.\n\n### Type\n\n public CompensationInfo.Types.CompensationType Type { get; set; }\n\nCompensation type.\n\nDefault is\n\\[CompensationType.COMPENSATION_TYPE_UNSPECIFIED\\]\\[google.cloud.talent.v4beta1.CompensationInfo.CompensationType.COMPENSATION_TYPE_UNSPECIFIED\\].\n\n### Unit\n\n public CompensationInfo.Types.CompensationUnit Unit { get; set; }\n\nFrequency of the specified amount.\n\nDefault is\n\\[CompensationUnit.COMPENSATION_UNIT_UNSPECIFIED\\]\\[google.cloud.talent.v4beta1.CompensationInfo.CompensationUnit.COMPENSATION_UNIT_UNSPECIFIED\\]."]]