docs: update generated docs (#981)

diff --git a/docs/dyn/jobs_v3.projects.jobs.html b/docs/dyn/jobs_v3.projects.jobs.html
index 478917f..56939cc 100644
--- a/docs/dyn/jobs_v3.projects.jobs.html
+++ b/docs/dyn/jobs_v3.projects.jobs.html
@@ -87,7 +87,7 @@
   <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
 <p class="firstline">Retrieves the specified job, whose status is OPEN or recently EXPIRED</p>
 <p class="toc_element">
-  <code><a href="#list">list(parent, pageToken=None, pageSize=None, filter=None, jobView=None, x__xgafv=None)</a></code></p>
+  <code><a href="#list">list(parent, filter=None, pageToken=None, jobView=None, pageSize=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Lists jobs by filter.</p>
 <p class="toc_element">
   <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
@@ -177,393 +177,20 @@
     &quot;job&quot;: { # A Job resource represents a job posting (also referred to as a &quot;job listing&quot; # Required. The Job to be created.
         # or &quot;job requisition&quot;). A job belongs to a Company, which is the hiring
         # entity responsible for the job.
-      &quot;name&quot;: &quot;A String&quot;, # Required during job update.
-          #
-          # The resource name for the job. This is generated by the service when a
-          # job is created.
-          #
-          # The format is &quot;projects/{project_id}/jobs/{job_id}&quot;,
-          # for example, &quot;projects/api-test-project/jobs/1234&quot;.
-          #
-          # Use of this field in job queries and API calls is preferred over the use of
-          # requisition_id since this value is unique.
-      &quot;jobBenefits&quot;: [ # Optional. The benefits included with the job.
-        &quot;A String&quot;,
-      ],
-      &quot;promotionValue&quot;: 42, # Optional. A promotion value of the job, as determined by the client.
-          # The value determines the sort order of the jobs returned when searching for
-          # jobs using the featured jobs search call, with higher promotional values
-          # being returned first and ties being resolved by relevance sort. Only the
-          # jobs with a promotionValue &gt;0 are returned in a FEATURED_JOB_SEARCH.
-          #
-          # Default value is 0, and negative values are treated as 0.
-      &quot;title&quot;: &quot;A String&quot;, # Required. The title of the job, such as &quot;Software Engineer&quot;
-          #
-          # The maximum number of allowed characters is 500.
-      &quot;companyDisplayName&quot;: &quot;A String&quot;, # Output only. Display name of the company listing the job.
-      &quot;qualifications&quot;: &quot;A String&quot;, # Optional. A description of the qualifications required to perform the
-          # job. The use of this field is recommended
-          # as an alternative to using the more general description field.
-          #
-          # This field accepts and sanitizes HTML input, and also accepts
-          # bold, italic, ordered list, and unordered list markup tags.
-          #
-          # The maximum number of allowed characters is 10,000.
-      &quot;requisitionId&quot;: &quot;A String&quot;, # Required. The requisition ID, also referred to as the posting ID, assigned by the
-          # client to identify a job. This field is intended to be used by clients
-          # for client identification and tracking of postings. A job is not allowed
-          # to be created if there is another job with the same [company_name],
-          # language_code and requisition_id.
-          #
-          # The maximum number of allowed characters is 255.
-      &quot;processingOptions&quot;: { # Input only. # Optional. Options for job processing.
-          #
-          # Options for job processing.
-        &quot;disableStreetAddressResolution&quot;: True or False, # Optional. If set to `true`, the service does not attempt to resolve a
-            # more precise address for the job.
-        &quot;htmlSanitization&quot;: &quot;A String&quot;, # Optional. Option for job HTML content sanitization. Applied fields are:
-            #
-            # * description
-            # * applicationInfo.instruction
-            # * incentives
-            # * qualifications
-            # * responsibilities
-            #
-            # HTML tags in these fields may be stripped if sanitiazation is not
-            # disabled.
-            #
-            # Defaults to HtmlSanitization.SIMPLE_FORMATTING_ONLY.
-      },
-      &quot;jobEndTime&quot;: &quot;A String&quot;, # Optional. The end timestamp of the job. Typically this field is used for contracting
-          # engagements. Invalid timestamps are ignored.
-      &quot;derivedInfo&quot;: { # Output only. # Output only. Derived details about the job posting.
-          #
-          # Derived details about the job posting.
-        &quot;locations&quot;: [ # Structured locations of the job, resolved from Job.addresses.
-            #
-            # locations are exactly matched to Job.addresses in the same
-            # order.
-          { # Output only.
-              #
-              # A resource that represents a location with full geographic information.
-            &quot;radiusInMiles&quot;: 3.14, # Radius in miles of the job location. This value is derived from the
-                # location bounding box in which a circle with the specified radius
-                # centered from LatLng covers the area associated with the job location.
-                # For example, currently, &quot;Mountain View, CA, USA&quot; has a radius of
-                # 6.17 miles.
-            &quot;latLng&quot;: { # An object representing a latitude/longitude pair. This is expressed as a pair # An object representing a latitude/longitude pair.
-                # of doubles representing degrees latitude and degrees longitude. Unless
-                # specified otherwise, this must conform to the
-                # &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
-                # standard&lt;/a&gt;. Values must be within normalized ranges.
-              &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
-              &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
-            },
-            &quot;postalAddress&quot;: { # Represents a postal address, e.g. for postal delivery or payments addresses. # Postal address of the location that includes human readable information,
-                # such as postal delivery and payments addresses. Given a postal address,
-                # a postal service can deliver items to a premises, P.O. Box, or other
-                # delivery location.
-                # Given a postal address, a postal service can deliver items to a premise, P.O.
-                # Box or similar.
-                # It is not intended to model geographical locations (roads, towns,
-                # mountains).
-                #
-                # In typical usage an address would be created via user input or from importing
-                # existing data, depending on the type of process.
-                #
-                # Advice on address input / editing:
-                #  - Use an i18n-ready address widget such as
-                #    https://github.com/google/libaddressinput)
-                # - Users should not be presented with UI elements for input or editing of
-                #   fields outside countries where that field is used.
-                #
-                # For more guidance on how to use this schema, please see:
-                # https://support.google.com/business/answer/6397478
-              &quot;postalCode&quot;: &quot;A String&quot;, # Optional. Postal code of the address. Not all countries use or require
-                  # postal codes to be present, but where they are used, they may trigger
-                  # additional validation with other parts of the address (e.g. state/zip
-                  # validation in the U.S.A.).
-              &quot;languageCode&quot;: &quot;A String&quot;, # Optional. BCP-47 language code of the contents of this address (if
-                  # known). This is often the UI language of the input form or is expected
-                  # to match one of the languages used in the address&#x27; country/region, or their
-                  # transliterated equivalents.
-                  # This can affect formatting in certain countries, but is not critical
-                  # to the correctness of the data and will never affect any validation or
-                  # other non-formatting related operations.
-                  #
-                  # If this value is not known, it should be omitted (rather than specifying a
-                  # possibly incorrect default).
-                  #
-                  # Examples: &quot;zh-Hant&quot;, &quot;ja&quot;, &quot;ja-Latn&quot;, &quot;en&quot;.
-              &quot;sortingCode&quot;: &quot;A String&quot;, # Optional. Additional, country-specific, sorting code. This is not used
-                  # in most regions. Where it is used, the value is either a string like
-                  # &quot;CEDEX&quot;, optionally followed by a number (e.g. &quot;CEDEX 7&quot;), or just a number
-                  # alone, representing the &quot;sector code&quot; (Jamaica), &quot;delivery area indicator&quot;
-                  # (Malawi) or &quot;post office indicator&quot; (e.g. Côte d&#x27;Ivoire).
-              &quot;recipients&quot;: [ # Optional. The recipient at the address.
-                  # This field may, under certain circumstances, contain multiline information.
-                  # For example, it might contain &quot;care of&quot; information.
-                &quot;A String&quot;,
-              ],
-              &quot;sublocality&quot;: &quot;A String&quot;, # Optional. Sublocality of the address.
-                  # For example, this can be neighborhoods, boroughs, districts.
-              &quot;revision&quot;: 42, # The schema revision of the `PostalAddress`. This must be set to 0, which is
-                  # the latest revision.
-                  #
-                  # All new revisions **must** be backward compatible with old revisions.
-              &quot;locality&quot;: &quot;A String&quot;, # Optional. Generally refers to the city/town portion of the address.
-                  # Examples: US city, IT comune, UK post town.
-                  # In regions of the world where localities are not well defined or do not fit
-                  # into this structure well, leave locality empty and use address_lines.
-              &quot;administrativeArea&quot;: &quot;A String&quot;, # Optional. Highest administrative subdivision which is used for postal
-                  # addresses of a country or region.
-                  # For example, this can be a state, a province, an oblast, or a prefecture.
-                  # Specifically, for Spain this is the province and not the autonomous
-                  # community (e.g. &quot;Barcelona&quot; and not &quot;Catalonia&quot;).
-                  # Many countries don&#x27;t use an administrative area in postal addresses. E.g.
-                  # in Switzerland this should be left unpopulated.
-              &quot;organization&quot;: &quot;A String&quot;, # Optional. The name of the organization at the address.
-              &quot;addressLines&quot;: [ # Unstructured address lines describing the lower levels of an address.
-                  #
-                  # Because values in address_lines do not have type information and may
-                  # sometimes contain multiple values in a single field (e.g.
-                  # &quot;Austin, TX&quot;), it is important that the line order is clear. The order of
-                  # address lines should be &quot;envelope order&quot; for the country/region of the
-                  # address. In places where this can vary (e.g. Japan), address_language is
-                  # used to make it explicit (e.g. &quot;ja&quot; for large-to-small ordering and
-                  # &quot;ja-Latn&quot; or &quot;en&quot; for small-to-large). This way, the most specific line of
-                  # an address can be selected based on the language.
-                  #
-                  # The minimum permitted structural representation of an address consists
-                  # of a region_code with all remaining information placed in the
-                  # address_lines. It would be possible to format such an address very
-                  # approximately without geocoding, but no semantic reasoning could be
-                  # made about any of the address components until it was at least
-                  # partially resolved.
-                  #
-                  # Creating an address only containing a region_code and address_lines, and
-                  # then geocoding is the recommended way to handle completely unstructured
-                  # addresses (as opposed to guessing which parts of the address should be
-                  # localities or administrative areas).
-                &quot;A String&quot;,
-              ],
-              &quot;regionCode&quot;: &quot;A String&quot;, # Required. CLDR region code of the country/region of the address. This
-                  # is never inferred and it is up to the user to ensure the value is
-                  # correct. See http://cldr.unicode.org/ and
-                  # http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html
-                  # for details. Example: &quot;CH&quot; for Switzerland.
-            },
-            &quot;locationType&quot;: &quot;A String&quot;, # The type of a location, which corresponds to the address lines field of
-                # PostalAddress. For example, &quot;Downtown, Atlanta, GA, USA&quot; has a type of
-                # LocationType#NEIGHBORHOOD, and &quot;Kansas City, KS, USA&quot; has a type of
-                # LocationType#LOCALITY.
-          },
-        ],
-        &quot;jobCategories&quot;: [ # Job categories derived from Job.title and Job.description.
-          &quot;A String&quot;,
-        ],
-      },
-      &quot;incentives&quot;: &quot;A String&quot;, # Optional. A description of bonus, commission, and other compensation
-          # incentives associated with the job not including salary or pay.
-          #
-          # The maximum number of allowed characters is 10,000.
-      &quot;employmentTypes&quot;: [ # Optional. The employment type(s) of a job, for example,
-          # full time or
-          # part time.
-        &quot;A String&quot;,
-      ],
-      &quot;postingCreateTime&quot;: &quot;A String&quot;, # Output only. The timestamp when this job posting was created.
-      &quot;addresses&quot;: [ # Optional but strongly recommended for the best service experience.
-          #
-          # Location(s) where the employer is looking to hire for this job posting.
-          #
-          # Specifying the full street address(es) of the hiring location enables
-          # better API results, especially job searches by commute time.
-          #
-          # At most 50 locations are allowed for best search performance. If a job has
-          # more locations, it is suggested to split it into multiple jobs with unique
-          # requisition_ids (e.g. &#x27;ReqA&#x27; becomes &#x27;ReqA-1&#x27;, &#x27;ReqA-2&#x27;, etc.) as
-          # multiple jobs with the same company_name, language_code and
-          # requisition_id are not allowed. If the original requisition_id must
-          # be preserved, a custom field should be used for storage. It is also
-          # suggested to group the locations that close to each other in the same job
-          # for better search experience.
-          #
-          # The maximum number of allowed characters is 500.
-        &quot;A String&quot;,
-      ],
-      &quot;companyName&quot;: &quot;A String&quot;, # Required. The resource name of the company listing the job, such as
-          # &quot;projects/api-test-project/companies/foo&quot;.
-      &quot;description&quot;: &quot;A String&quot;, # Required. The description of the job, which typically includes a multi-paragraph
-          # description of the company and related information. Separate fields are
-          # provided on the job object for responsibilities,
-          # qualifications, and other job characteristics. Use of
-          # these separate job fields is recommended.
-          #
-          # This field accepts and sanitizes HTML input, and also accepts
-          # bold, italic, ordered list, and unordered list markup tags.
-          #
-          # The maximum number of allowed characters is 100,000.
-      &quot;jobStartTime&quot;: &quot;A String&quot;, # Optional. The start timestamp of the job in UTC time zone. Typically this field
-          # is used for contracting engagements. Invalid timestamps are ignored.
-      &quot;degreeTypes&quot;: [ # Optional. The desired education degrees for the job, such as Bachelors, Masters.
-        &quot;A String&quot;,
-      ],
-      &quot;compensationInfo&quot;: { # Job compensation details. # Optional. Job compensation information.
-        &quot;annualizedTotalCompensationRange&quot;: { # Compensation range. # Output only. Annualized total compensation range. Computed as
-            # all compensation entries&#x27; CompensationEntry.compensation times
-            # CompensationEntry.expected_units_per_year.
-            #
-            # See CompensationEntry for explanation on compensation annualization.
-          &quot;maxCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
-              # to a maximal compensation value and the currency code is set to
-              # match the currency code of
-              # min_compensation.
-            &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
-                # The value must be between -999,999,999 and +999,999,999 inclusive.
-                # If `units` is positive, `nanos` must be positive or zero.
-                # If `units` is zero, `nanos` can be positive, zero, or negative.
-                # If `units` is negative, `nanos` must be negative or zero.
-                # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-            &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
-                # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
-            &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
-          },
-          &quot;minCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
-              # to zero and the currency code is set to match the
-              # currency code of max_compensation.
-            &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
-                # The value must be between -999,999,999 and +999,999,999 inclusive.
-                # If `units` is positive, `nanos` must be positive or zero.
-                # If `units` is zero, `nanos` can be positive, zero, or negative.
-                # If `units` is negative, `nanos` must be negative or zero.
-                # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-            &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
-                # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
-            &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
-          },
-        },
-        &quot;entries&quot;: [ # Optional. Job compensation information.
-            #
-            # At most one entry can be of type
-            # CompensationInfo.CompensationType.BASE, which is
-            # referred as ** base compensation entry ** for the job.
-          { # 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 or range.
-              # - and its expected_units_per_year is set or can be derived.
-              # Its annualized range is determined as (amount or range) times
-              # expected_units_per_year.
-            &quot;amount&quot;: { # Represents an amount of money with its currency type. # Optional. Compensation amount.
-              &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
-                  # The value must be between -999,999,999 and +999,999,999 inclusive.
-                  # If `units` is positive, `nanos` must be positive or zero.
-                  # If `units` is zero, `nanos` can be positive, zero, or negative.
-                  # If `units` is negative, `nanos` must be negative or zero.
-                  # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-              &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
-                  # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
-              &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
-            },
-            &quot;type&quot;: &quot;A String&quot;, # Optional. Compensation type.
-                #
-                # Default is CompensationUnit.COMPENSATION_TYPE_UNSPECIFIED.
-            &quot;range&quot;: { # Compensation range. # Optional. Compensation range.
-              &quot;maxCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
-                  # to a maximal compensation value and the currency code is set to
-                  # match the currency code of
-                  # min_compensation.
-                &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
-                    # The value must be between -999,999,999 and +999,999,999 inclusive.
-                    # If `units` is positive, `nanos` must be positive or zero.
-                    # If `units` is zero, `nanos` can be positive, zero, or negative.
-                    # If `units` is negative, `nanos` must be negative or zero.
-                    # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-                &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
-                    # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
-                &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
-              },
-              &quot;minCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
-                  # to zero and the currency code is set to match the
-                  # currency code of max_compensation.
-                &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
-                    # The value must be between -999,999,999 and +999,999,999 inclusive.
-                    # If `units` is positive, `nanos` must be positive or zero.
-                    # If `units` is zero, `nanos` can be positive, zero, or negative.
-                    # If `units` is negative, `nanos` must be negative or zero.
-                    # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-                &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
-                    # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
-                &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
-              },
-            },
-            &quot;expectedUnitsPerYear&quot;: 3.14, # Optional. Expected number of units paid each year. If not specified, when
-                # Job.employment_types is FULLTIME, a default value is inferred
-                # based on unit. Default values:
-                # - HOURLY: 2080
-                # - DAILY: 260
-                # - WEEKLY: 52
-                # - MONTHLY: 12
-                # - ANNUAL: 1
-            &quot;description&quot;: &quot;A String&quot;, # Optional. Compensation description.  For example, could
-                # indicate equity terms or provide additional context to an estimated
-                # bonus.
-            &quot;unit&quot;: &quot;A String&quot;, # Optional. Frequency of the specified amount.
-                #
-                # Default is CompensationUnit.COMPENSATION_UNIT_UNSPECIFIED.
-          },
-        ],
-        &quot;annualizedBaseCompensationRange&quot;: { # Compensation range. # Output only. Annualized base compensation range. Computed as
-            # base compensation entry&#x27;s CompensationEntry.compensation times
-            # CompensationEntry.expected_units_per_year.
-            #
-            # See CompensationEntry for explanation on compensation annualization.
-          &quot;maxCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
-              # to a maximal compensation value and the currency code is set to
-              # match the currency code of
-              # min_compensation.
-            &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
-                # The value must be between -999,999,999 and +999,999,999 inclusive.
-                # If `units` is positive, `nanos` must be positive or zero.
-                # If `units` is zero, `nanos` can be positive, zero, or negative.
-                # If `units` is negative, `nanos` must be negative or zero.
-                # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-            &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
-                # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
-            &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
-          },
-          &quot;minCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
-              # to zero and the currency code is set to match the
-              # currency code of max_compensation.
-            &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
-                # The value must be between -999,999,999 and +999,999,999 inclusive.
-                # If `units` is positive, `nanos` must be positive or zero.
-                # If `units` is zero, `nanos` can be positive, zero, or negative.
-                # If `units` is negative, `nanos` must be negative or zero.
-                # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-            &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
-                # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
-            &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
-          },
-        },
-      },
-      &quot;responsibilities&quot;: &quot;A String&quot;, # Optional. A description of job responsibilities. The use of this field is
-          # recommended as an alternative to using the more general description
-          # field.
-          #
-          # This field accepts and sanitizes HTML input, and also accepts
-          # bold, italic, ordered list, and unordered list markup tags.
-          #
-          # The maximum number of allowed characters is 10,000.
-      &quot;department&quot;: &quot;A String&quot;, # Optional. The department or functional area within the company with the open
-          # position.
-          #
-          # The maximum number of allowed characters is 255.
       &quot;applicationInfo&quot;: { # Application related details of a job posting. # Required. At least one field within ApplicationInfo must be specified.
           #
           # Job application information.
+        &quot;instruction&quot;: &quot;A String&quot;, # Optional but at least one of uris,
+            # emails or instruction must be
+            # specified.
+            #
+            # Use this field to provide instructions, such as &quot;Mail your application
+            # to ...&quot;, that a candidate can follow to apply for the job.
+            #
+            # This field accepts and sanitizes HTML input, and also accepts
+            # bold, italic, ordered list, and unordered list markup tags.
+            #
+            # The maximum number of allowed characters is 3,000.
         &quot;uris&quot;: [ # Optional but at least one of uris,
             # emails or instruction must be
             # specified.
@@ -584,18 +211,81 @@
             # The maximum number of allowed characters for each entry is 255.
           &quot;A String&quot;,
         ],
-        &quot;instruction&quot;: &quot;A String&quot;, # Optional but at least one of uris,
-            # emails or instruction must be
-            # specified.
-            #
-            # Use this field to provide instructions, such as &quot;Mail your application
-            # to ...&quot;, that a candidate can follow to apply for the job.
-            #
-            # This field accepts and sanitizes HTML input, and also accepts
-            # bold, italic, ordered list, and unordered list markup tags.
-            #
-            # The maximum number of allowed characters is 3,000.
       },
+      &quot;responsibilities&quot;: &quot;A String&quot;, # Optional. A description of job responsibilities. The use of this field is
+          # recommended as an alternative to using the more general description
+          # field.
+          #
+          # This field accepts and sanitizes HTML input, and also accepts
+          # bold, italic, ordered list, and unordered list markup tags.
+          #
+          # The maximum number of allowed characters is 10,000.
+      &quot;companyName&quot;: &quot;A String&quot;, # Required. The resource name of the company listing the job, such as
+          # &quot;projects/api-test-project/companies/foo&quot;.
+      &quot;promotionValue&quot;: 42, # Optional. A promotion value of the job, as determined by the client.
+          # The value determines the sort order of the jobs returned when searching for
+          # jobs using the featured jobs search call, with higher promotional values
+          # being returned first and ties being resolved by relevance sort. Only the
+          # jobs with a promotionValue &gt;0 are returned in a FEATURED_JOB_SEARCH.
+          #
+          # Default value is 0, and negative values are treated as 0.
+      &quot;degreeTypes&quot;: [ # Optional. The desired education degrees for the job, such as Bachelors, Masters.
+        &quot;A String&quot;,
+      ],
+      &quot;description&quot;: &quot;A String&quot;, # Required. The description of the job, which typically includes a multi-paragraph
+          # description of the company and related information. Separate fields are
+          # provided on the job object for responsibilities,
+          # qualifications, and other job characteristics. Use of
+          # these separate job fields is recommended.
+          #
+          # This field accepts and sanitizes HTML input, and also accepts
+          # bold, italic, ordered list, and unordered list markup tags.
+          #
+          # The maximum number of allowed characters is 100,000.
+      &quot;title&quot;: &quot;A String&quot;, # Required. The title of the job, such as &quot;Software Engineer&quot;
+          #
+          # The maximum number of allowed characters is 500.
+      &quot;postingPublishTime&quot;: &quot;A String&quot;, # Optional. The timestamp this job posting was most recently published. The default
+          # value is the time the request arrives at the server. Invalid timestamps are
+          # ignored.
+      &quot;postingCreateTime&quot;: &quot;A String&quot;, # Output only. The timestamp when this job posting was created.
+      &quot;incentives&quot;: &quot;A String&quot;, # Optional. A description of bonus, commission, and other compensation
+          # incentives associated with the job not including salary or pay.
+          #
+          # The maximum number of allowed characters is 10,000.
+      &quot;jobEndTime&quot;: &quot;A String&quot;, # Optional. The end timestamp of the job. Typically this field is used for contracting
+          # engagements. Invalid timestamps are ignored.
+      &quot;addresses&quot;: [ # Optional but strongly recommended for the best service experience.
+          #
+          # Location(s) where the employer is looking to hire for this job posting.
+          #
+          # Specifying the full street address(es) of the hiring location enables
+          # better API results, especially job searches by commute time.
+          #
+          # At most 50 locations are allowed for best search performance. If a job has
+          # more locations, it is suggested to split it into multiple jobs with unique
+          # requisition_ids (e.g. &#x27;ReqA&#x27; becomes &#x27;ReqA-1&#x27;, &#x27;ReqA-2&#x27;, etc.) as
+          # multiple jobs with the same company_name, language_code and
+          # requisition_id are not allowed. If the original requisition_id must
+          # be preserved, a custom field should be used for storage. It is also
+          # suggested to group the locations that close to each other in the same job
+          # for better search experience.
+          #
+          # The maximum number of allowed characters is 500.
+        &quot;A String&quot;,
+      ],
+      &quot;jobLevel&quot;: &quot;A String&quot;, # Optional. The experience level associated with the job, such as &quot;Entry Level&quot;.
+      &quot;jobBenefits&quot;: [ # Optional. The benefits included with the job.
+        &quot;A String&quot;,
+      ],
+      &quot;qualifications&quot;: &quot;A String&quot;, # Optional. A description of the qualifications required to perform the
+          # job. The use of this field is recommended
+          # as an alternative to using the more general description field.
+          #
+          # This field accepts and sanitizes HTML input, and also accepts
+          # bold, italic, ordered list, and unordered list markup tags.
+          #
+          # The maximum number of allowed characters is 10,000.
       &quot;postingRegion&quot;: &quot;A String&quot;, # Optional. The job PostingRegion (for example, state, country) throughout which
           # the job is available. If this field is set, a
           # LocationFilter in a search query within the job region
@@ -603,6 +293,54 @@
           # If this field is set to PostingRegion.NATION or
           # PostingRegion.ADMINISTRATIVE_AREA, setting job Job.addresses
           # to the same location level as this field is strongly recommended.
+      &quot;customAttributes&quot;: { # Optional. A map of fields to hold both filterable and non-filterable custom job
+          # attributes that are not covered by the provided structured fields.
+          #
+          # The keys of the map are strings up to 64 bytes and must match the
+          # pattern: a-zA-Z*. For example, key0LikeThis or
+          # KEY_1_LIKE_THIS.
+          #
+          # At most 100 filterable and at most 100 unfilterable keys are supported.
+          # For filterable `string_values`, across all keys at most 200 values are
+          # allowed, with each string no more than 255 characters. For unfilterable
+          # `string_values`, the maximum total size of `string_values` across all keys
+          # is 50KB.
+        &quot;a_key&quot;: { # Custom attribute values that are either filterable or non-filterable.
+          &quot;filterable&quot;: True or False, # Optional. If the `filterable` flag is true, the custom field values may be used for
+              # custom attribute filters JobQuery.custom_attribute_filter.
+              # If false, these values may not be used for custom attribute filters.
+              #
+              # Default is false.
+          &quot;stringValues&quot;: [ # Optional but exactly one of string_values or long_values must
+              # be specified.
+              #
+              # This field is used to perform a string match (`CASE_SENSITIVE_MATCH` or
+              # `CASE_INSENSITIVE_MATCH`) search.
+              # For filterable `string_value`s, a maximum total number of 200 values
+              # is allowed, with each `string_value` has a byte size of no more than
+              # 500B. For unfilterable `string_values`, the maximum total byte size of
+              # unfilterable `string_values` is 50KB.
+              #
+              # Empty string is not allowed.
+            &quot;A String&quot;,
+          ],
+          &quot;longValues&quot;: [ # Optional but exactly one of string_values or long_values must
+              # be specified.
+              #
+              # This field is used to perform number range search.
+              # (`EQ`, `GT`, `GE`, `LE`, `LT`) over filterable `long_value`.
+              #
+              # Currently at most 1 long_values is supported.
+            &quot;A String&quot;,
+          ],
+        },
+      },
+      &quot;postingUpdateTime&quot;: &quot;A String&quot;, # Output only. The timestamp when this job posting was last updated.
+      &quot;employmentTypes&quot;: [ # Optional. The employment type(s) of a job, for example,
+          # full time or
+          # part time.
+        &quot;A String&quot;,
+      ],
       &quot;postingExpireTime&quot;: &quot;A String&quot;, # Optional but strongly recommended for the best service
           # experience.
           #
@@ -636,52 +374,163 @@
           # expiry_time, or the masks are empty meaning that every field is
           # updated, the job posting expires after 30 days from the job&#x27;s last
           # update time. Otherwise the expiration date isn&#x27;t updated.
-      &quot;postingPublishTime&quot;: &quot;A String&quot;, # Optional. The timestamp this job posting was most recently published. The default
-          # value is the time the request arrives at the server. Invalid timestamps are
-          # ignored.
-      &quot;customAttributes&quot;: { # Optional. A map of fields to hold both filterable and non-filterable custom job
-          # attributes that are not covered by the provided structured fields.
+      &quot;department&quot;: &quot;A String&quot;, # Optional. The department or functional area within the company with the open
+          # position.
           #
-          # The keys of the map are strings up to 64 bytes and must match the
-          # pattern: a-zA-Z*. For example, key0LikeThis or
-          # KEY_1_LIKE_THIS.
+          # The maximum number of allowed characters is 255.
+      &quot;derivedInfo&quot;: { # Output only. # Output only. Derived details about the job posting.
           #
-          # At most 100 filterable and at most 100 unfilterable keys are supported.
-          # For filterable `string_values`, across all keys at most 200 values are
-          # allowed, with each string no more than 255 characters. For unfilterable
-          # `string_values`, the maximum total size of `string_values` across all keys
-          # is 50KB.
-        &quot;a_key&quot;: { # Custom attribute values that are either filterable or non-filterable.
-          &quot;stringValues&quot;: [ # Optional but exactly one of string_values or long_values must
-              # be specified.
+          # Derived details about the job posting.
+        &quot;locations&quot;: [ # Structured locations of the job, resolved from Job.addresses.
+            #
+            # locations are exactly matched to Job.addresses in the same
+            # order.
+          { # Output only.
               #
-              # This field is used to perform a string match (`CASE_SENSITIVE_MATCH` or
-              # `CASE_INSENSITIVE_MATCH`) search.
-              # For filterable `string_value`s, a maximum total number of 200 values
-              # is allowed, with each `string_value` has a byte size of no more than
-              # 500B. For unfilterable `string_values`, the maximum total byte size of
-              # unfilterable `string_values` is 50KB.
-              #
-              # Empty string is not allowed.
-            &quot;A String&quot;,
-          ],
-          &quot;filterable&quot;: True or False, # Optional. If the `filterable` flag is true, the custom field values may be used for
-              # custom attribute filters JobQuery.custom_attribute_filter.
-              # If false, these values may not be used for custom attribute filters.
-              #
-              # Default is false.
-          &quot;longValues&quot;: [ # Optional but exactly one of string_values or long_values must
-              # be specified.
-              #
-              # This field is used to perform number range search.
-              # (`EQ`, `GT`, `GE`, `LE`, `LT`) over filterable `long_value`.
-              #
-              # Currently at most 1 long_values is supported.
-            &quot;A String&quot;,
-          ],
-        },
+              # A resource that represents a location with full geographic information.
+            &quot;postalAddress&quot;: { # Represents a postal address, e.g. for postal delivery or payments addresses. # Postal address of the location that includes human readable information,
+                # such as postal delivery and payments addresses. Given a postal address,
+                # a postal service can deliver items to a premises, P.O. Box, or other
+                # delivery location.
+                # Given a postal address, a postal service can deliver items to a premise, P.O.
+                # Box or similar.
+                # It is not intended to model geographical locations (roads, towns,
+                # mountains).
+                #
+                # In typical usage an address would be created via user input or from importing
+                # existing data, depending on the type of process.
+                #
+                # Advice on address input / editing:
+                #  - Use an i18n-ready address widget such as
+                #    https://github.com/google/libaddressinput)
+                # - Users should not be presented with UI elements for input or editing of
+                #   fields outside countries where that field is used.
+                #
+                # For more guidance on how to use this schema, please see:
+                # https://support.google.com/business/answer/6397478
+              &quot;organization&quot;: &quot;A String&quot;, # Optional. The name of the organization at the address.
+              &quot;sublocality&quot;: &quot;A String&quot;, # Optional. Sublocality of the address.
+                  # For example, this can be neighborhoods, boroughs, districts.
+              &quot;languageCode&quot;: &quot;A String&quot;, # Optional. BCP-47 language code of the contents of this address (if
+                  # known). This is often the UI language of the input form or is expected
+                  # to match one of the languages used in the address&#x27; country/region, or their
+                  # transliterated equivalents.
+                  # This can affect formatting in certain countries, but is not critical
+                  # to the correctness of the data and will never affect any validation or
+                  # other non-formatting related operations.
+                  #
+                  # If this value is not known, it should be omitted (rather than specifying a
+                  # possibly incorrect default).
+                  #
+                  # Examples: &quot;zh-Hant&quot;, &quot;ja&quot;, &quot;ja-Latn&quot;, &quot;en&quot;.
+              &quot;administrativeArea&quot;: &quot;A String&quot;, # Optional. Highest administrative subdivision which is used for postal
+                  # addresses of a country or region.
+                  # For example, this can be a state, a province, an oblast, or a prefecture.
+                  # Specifically, for Spain this is the province and not the autonomous
+                  # community (e.g. &quot;Barcelona&quot; and not &quot;Catalonia&quot;).
+                  # Many countries don&#x27;t use an administrative area in postal addresses. E.g.
+                  # in Switzerland this should be left unpopulated.
+              &quot;locality&quot;: &quot;A String&quot;, # Optional. Generally refers to the city/town portion of the address.
+                  # Examples: US city, IT comune, UK post town.
+                  # In regions of the world where localities are not well defined or do not fit
+                  # into this structure well, leave locality empty and use address_lines.
+              &quot;recipients&quot;: [ # Optional. The recipient at the address.
+                  # This field may, under certain circumstances, contain multiline information.
+                  # For example, it might contain &quot;care of&quot; information.
+                &quot;A String&quot;,
+              ],
+              &quot;revision&quot;: 42, # The schema revision of the `PostalAddress`. This must be set to 0, which is
+                  # the latest revision.
+                  #
+                  # All new revisions **must** be backward compatible with old revisions.
+              &quot;postalCode&quot;: &quot;A String&quot;, # Optional. Postal code of the address. Not all countries use or require
+                  # postal codes to be present, but where they are used, they may trigger
+                  # additional validation with other parts of the address (e.g. state/zip
+                  # validation in the U.S.A.).
+              &quot;sortingCode&quot;: &quot;A String&quot;, # Optional. Additional, country-specific, sorting code. This is not used
+                  # in most regions. Where it is used, the value is either a string like
+                  # &quot;CEDEX&quot;, optionally followed by a number (e.g. &quot;CEDEX 7&quot;), or just a number
+                  # alone, representing the &quot;sector code&quot; (Jamaica), &quot;delivery area indicator&quot;
+                  # (Malawi) or &quot;post office indicator&quot; (e.g. Côte d&#x27;Ivoire).
+              &quot;regionCode&quot;: &quot;A String&quot;, # Required. CLDR region code of the country/region of the address. This
+                  # is never inferred and it is up to the user to ensure the value is
+                  # correct. See http://cldr.unicode.org/ and
+                  # http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html
+                  # for details. Example: &quot;CH&quot; for Switzerland.
+              &quot;addressLines&quot;: [ # Unstructured address lines describing the lower levels of an address.
+                  #
+                  # Because values in address_lines do not have type information and may
+                  # sometimes contain multiple values in a single field (e.g.
+                  # &quot;Austin, TX&quot;), it is important that the line order is clear. The order of
+                  # address lines should be &quot;envelope order&quot; for the country/region of the
+                  # address. In places where this can vary (e.g. Japan), address_language is
+                  # used to make it explicit (e.g. &quot;ja&quot; for large-to-small ordering and
+                  # &quot;ja-Latn&quot; or &quot;en&quot; for small-to-large). This way, the most specific line of
+                  # an address can be selected based on the language.
+                  #
+                  # The minimum permitted structural representation of an address consists
+                  # of a region_code with all remaining information placed in the
+                  # address_lines. It would be possible to format such an address very
+                  # approximately without geocoding, but no semantic reasoning could be
+                  # made about any of the address components until it was at least
+                  # partially resolved.
+                  #
+                  # Creating an address only containing a region_code and address_lines, and
+                  # then geocoding is the recommended way to handle completely unstructured
+                  # addresses (as opposed to guessing which parts of the address should be
+                  # localities or administrative areas).
+                &quot;A String&quot;,
+              ],
+            },
+            &quot;radiusInMiles&quot;: 3.14, # Radius in miles of the job location. This value is derived from the
+                # location bounding box in which a circle with the specified radius
+                # centered from LatLng covers the area associated with the job location.
+                # For example, currently, &quot;Mountain View, CA, USA&quot; has a radius of
+                # 6.17 miles.
+            &quot;locationType&quot;: &quot;A String&quot;, # The type of a location, which corresponds to the address lines field of
+                # PostalAddress. For example, &quot;Downtown, Atlanta, GA, USA&quot; has a type of
+                # LocationType#NEIGHBORHOOD, and &quot;Kansas City, KS, USA&quot; has a type of
+                # LocationType#LOCALITY.
+            &quot;latLng&quot;: { # An object representing a latitude/longitude pair. This is expressed as a pair # An object representing a latitude/longitude pair.
+                # of doubles representing degrees latitude and degrees longitude. Unless
+                # specified otherwise, this must conform to the
+                # &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
+                # standard&lt;/a&gt;. Values must be within normalized ranges.
+              &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+              &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+            },
+          },
+        ],
+        &quot;jobCategories&quot;: [ # Job categories derived from Job.title and Job.description.
+          &quot;A String&quot;,
+        ],
       },
-      &quot;jobLevel&quot;: &quot;A String&quot;, # Optional. The experience level associated with the job, such as &quot;Entry Level&quot;.
+      &quot;jobStartTime&quot;: &quot;A String&quot;, # Optional. The start timestamp of the job in UTC time zone. Typically this field
+          # is used for contracting engagements. Invalid timestamps are ignored.
+      &quot;visibility&quot;: &quot;A String&quot;, # Deprecated. The job is only visible to the owner.
+          #
+          # The visibility of the job.
+          #
+          # Defaults to Visibility.ACCOUNT_ONLY if not specified.
+      &quot;processingOptions&quot;: { # Input only. # Optional. Options for job processing.
+          #
+          # Options for job processing.
+        &quot;disableStreetAddressResolution&quot;: True or False, # Optional. If set to `true`, the service does not attempt to resolve a
+            # more precise address for the job.
+        &quot;htmlSanitization&quot;: &quot;A String&quot;, # Optional. Option for job HTML content sanitization. Applied fields are:
+            #
+            # * description
+            # * applicationInfo.instruction
+            # * incentives
+            # * qualifications
+            # * responsibilities
+            #
+            # HTML tags in these fields may be stripped if sanitiazation is not
+            # disabled.
+            #
+            # Defaults to HtmlSanitization.SIMPLE_FORMATTING_ONLY.
+      },
+      &quot;companyDisplayName&quot;: &quot;A String&quot;, # Output only. Display name of the company listing the job.
       &quot;languageCode&quot;: &quot;A String&quot;, # Optional. The language of the posting. This field is distinct from
           # any requirements for fluency that are associated with the job.
           #
@@ -693,12 +542,163 @@
           # If this field is unspecified and Job.description is present, detected
           # language code based on Job.description is assigned, otherwise
           # defaults to &#x27;en_US&#x27;.
-      &quot;visibility&quot;: &quot;A String&quot;, # Deprecated. The job is only visible to the owner.
+      &quot;compensationInfo&quot;: { # Job compensation details. # Optional. Job compensation information.
+        &quot;annualizedBaseCompensationRange&quot;: { # Compensation range. # Output only. Annualized base compensation range. Computed as
+            # base compensation entry&#x27;s CompensationEntry.compensation times
+            # CompensationEntry.expected_units_per_year.
+            #
+            # See CompensationEntry for explanation on compensation annualization.
+          &quot;maxCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
+              # to a maximal compensation value and the currency code is set to
+              # match the currency code of
+              # min_compensation.
+            &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                # The value must be between -999,999,999 and +999,999,999 inclusive.
+                # If `units` is positive, `nanos` must be positive or zero.
+                # If `units` is zero, `nanos` can be positive, zero, or negative.
+                # If `units` is negative, `nanos` must be negative or zero.
+                # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+            &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+            &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+          },
+          &quot;minCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
+              # to zero and the currency code is set to match the
+              # currency code of max_compensation.
+            &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                # The value must be between -999,999,999 and +999,999,999 inclusive.
+                # If `units` is positive, `nanos` must be positive or zero.
+                # If `units` is zero, `nanos` can be positive, zero, or negative.
+                # If `units` is negative, `nanos` must be negative or zero.
+                # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+            &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+            &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+          },
+        },
+        &quot;annualizedTotalCompensationRange&quot;: { # Compensation range. # Output only. Annualized total compensation range. Computed as
+            # all compensation entries&#x27; CompensationEntry.compensation times
+            # CompensationEntry.expected_units_per_year.
+            #
+            # See CompensationEntry for explanation on compensation annualization.
+          &quot;maxCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
+              # to a maximal compensation value and the currency code is set to
+              # match the currency code of
+              # min_compensation.
+            &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                # The value must be between -999,999,999 and +999,999,999 inclusive.
+                # If `units` is positive, `nanos` must be positive or zero.
+                # If `units` is zero, `nanos` can be positive, zero, or negative.
+                # If `units` is negative, `nanos` must be negative or zero.
+                # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+            &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+            &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+          },
+          &quot;minCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
+              # to zero and the currency code is set to match the
+              # currency code of max_compensation.
+            &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                # The value must be between -999,999,999 and +999,999,999 inclusive.
+                # If `units` is positive, `nanos` must be positive or zero.
+                # If `units` is zero, `nanos` can be positive, zero, or negative.
+                # If `units` is negative, `nanos` must be negative or zero.
+                # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+            &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+            &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+          },
+        },
+        &quot;entries&quot;: [ # Optional. Job compensation information.
+            #
+            # At most one entry can be of type
+            # CompensationInfo.CompensationType.BASE, which is
+            # referred as ** base compensation entry ** for the job.
+          { # 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 or range.
+              # - and its expected_units_per_year is set or can be derived.
+              # Its annualized range is determined as (amount or range) times
+              # expected_units_per_year.
+            &quot;unit&quot;: &quot;A String&quot;, # Optional. Frequency of the specified amount.
+                #
+                # Default is CompensationUnit.COMPENSATION_UNIT_UNSPECIFIED.
+            &quot;expectedUnitsPerYear&quot;: 3.14, # Optional. Expected number of units paid each year. If not specified, when
+                # Job.employment_types is FULLTIME, a default value is inferred
+                # based on unit. Default values:
+                # - HOURLY: 2080
+                # - DAILY: 260
+                # - WEEKLY: 52
+                # - MONTHLY: 12
+                # - ANNUAL: 1
+            &quot;range&quot;: { # Compensation range. # Optional. Compensation range.
+              &quot;maxCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
+                  # to a maximal compensation value and the currency code is set to
+                  # match the currency code of
+                  # min_compensation.
+                &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                    # The value must be between -999,999,999 and +999,999,999 inclusive.
+                    # If `units` is positive, `nanos` must be positive or zero.
+                    # If `units` is zero, `nanos` can be positive, zero, or negative.
+                    # If `units` is negative, `nanos` must be negative or zero.
+                    # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+                &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                    # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+              },
+              &quot;minCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
+                  # to zero and the currency code is set to match the
+                  # currency code of max_compensation.
+                &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                    # The value must be between -999,999,999 and +999,999,999 inclusive.
+                    # If `units` is positive, `nanos` must be positive or zero.
+                    # If `units` is zero, `nanos` can be positive, zero, or negative.
+                    # If `units` is negative, `nanos` must be negative or zero.
+                    # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+                &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                    # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+              },
+            },
+            &quot;description&quot;: &quot;A String&quot;, # Optional. Compensation description.  For example, could
+                # indicate equity terms or provide additional context to an estimated
+                # bonus.
+            &quot;type&quot;: &quot;A String&quot;, # Optional. Compensation type.
+                #
+                # Default is CompensationUnit.COMPENSATION_TYPE_UNSPECIFIED.
+            &quot;amount&quot;: { # Represents an amount of money with its currency type. # Optional. Compensation amount.
+              &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                  # The value must be between -999,999,999 and +999,999,999 inclusive.
+                  # If `units` is positive, `nanos` must be positive or zero.
+                  # If `units` is zero, `nanos` can be positive, zero, or negative.
+                  # If `units` is negative, `nanos` must be negative or zero.
+                  # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+              &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+              &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                  # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+            },
+          },
+        ],
+      },
+      &quot;name&quot;: &quot;A String&quot;, # Required during job update.
           #
-          # The visibility of the job.
+          # The resource name for the job. This is generated by the service when a
+          # job is created.
           #
-          # Defaults to Visibility.ACCOUNT_ONLY if not specified.
-      &quot;postingUpdateTime&quot;: &quot;A String&quot;, # Output only. The timestamp when this job posting was last updated.
+          # The format is &quot;projects/{project_id}/jobs/{job_id}&quot;,
+          # for example, &quot;projects/api-test-project/jobs/1234&quot;.
+          #
+          # Use of this field in job queries and API calls is preferred over the use of
+          # requisition_id since this value is unique.
+      &quot;requisitionId&quot;: &quot;A String&quot;, # Required. The requisition ID, also referred to as the posting ID, assigned by the
+          # client to identify a job. This field is intended to be used by clients
+          # for client identification and tracking of postings. A job is not allowed
+          # to be created if there is another job with the same [company_name],
+          # language_code and requisition_id.
+          #
+          # The maximum number of allowed characters is 255.
     },
   }
 
@@ -713,393 +713,20 @@
     { # A Job resource represents a job posting (also referred to as a &quot;job listing&quot;
       # or &quot;job requisition&quot;). A job belongs to a Company, which is the hiring
       # entity responsible for the job.
-    &quot;name&quot;: &quot;A String&quot;, # Required during job update.
-        #
-        # The resource name for the job. This is generated by the service when a
-        # job is created.
-        #
-        # The format is &quot;projects/{project_id}/jobs/{job_id}&quot;,
-        # for example, &quot;projects/api-test-project/jobs/1234&quot;.
-        #
-        # Use of this field in job queries and API calls is preferred over the use of
-        # requisition_id since this value is unique.
-    &quot;jobBenefits&quot;: [ # Optional. The benefits included with the job.
-      &quot;A String&quot;,
-    ],
-    &quot;promotionValue&quot;: 42, # Optional. A promotion value of the job, as determined by the client.
-        # The value determines the sort order of the jobs returned when searching for
-        # jobs using the featured jobs search call, with higher promotional values
-        # being returned first and ties being resolved by relevance sort. Only the
-        # jobs with a promotionValue &gt;0 are returned in a FEATURED_JOB_SEARCH.
-        #
-        # Default value is 0, and negative values are treated as 0.
-    &quot;title&quot;: &quot;A String&quot;, # Required. The title of the job, such as &quot;Software Engineer&quot;
-        #
-        # The maximum number of allowed characters is 500.
-    &quot;companyDisplayName&quot;: &quot;A String&quot;, # Output only. Display name of the company listing the job.
-    &quot;qualifications&quot;: &quot;A String&quot;, # Optional. A description of the qualifications required to perform the
-        # job. The use of this field is recommended
-        # as an alternative to using the more general description field.
-        #
-        # This field accepts and sanitizes HTML input, and also accepts
-        # bold, italic, ordered list, and unordered list markup tags.
-        #
-        # The maximum number of allowed characters is 10,000.
-    &quot;requisitionId&quot;: &quot;A String&quot;, # Required. The requisition ID, also referred to as the posting ID, assigned by the
-        # client to identify a job. This field is intended to be used by clients
-        # for client identification and tracking of postings. A job is not allowed
-        # to be created if there is another job with the same [company_name],
-        # language_code and requisition_id.
-        #
-        # The maximum number of allowed characters is 255.
-    &quot;processingOptions&quot;: { # Input only. # Optional. Options for job processing.
-        #
-        # Options for job processing.
-      &quot;disableStreetAddressResolution&quot;: True or False, # Optional. If set to `true`, the service does not attempt to resolve a
-          # more precise address for the job.
-      &quot;htmlSanitization&quot;: &quot;A String&quot;, # Optional. Option for job HTML content sanitization. Applied fields are:
-          #
-          # * description
-          # * applicationInfo.instruction
-          # * incentives
-          # * qualifications
-          # * responsibilities
-          #
-          # HTML tags in these fields may be stripped if sanitiazation is not
-          # disabled.
-          #
-          # Defaults to HtmlSanitization.SIMPLE_FORMATTING_ONLY.
-    },
-    &quot;jobEndTime&quot;: &quot;A String&quot;, # Optional. The end timestamp of the job. Typically this field is used for contracting
-        # engagements. Invalid timestamps are ignored.
-    &quot;derivedInfo&quot;: { # Output only. # Output only. Derived details about the job posting.
-        #
-        # Derived details about the job posting.
-      &quot;locations&quot;: [ # Structured locations of the job, resolved from Job.addresses.
-          #
-          # locations are exactly matched to Job.addresses in the same
-          # order.
-        { # Output only.
-            #
-            # A resource that represents a location with full geographic information.
-          &quot;radiusInMiles&quot;: 3.14, # Radius in miles of the job location. This value is derived from the
-              # location bounding box in which a circle with the specified radius
-              # centered from LatLng covers the area associated with the job location.
-              # For example, currently, &quot;Mountain View, CA, USA&quot; has a radius of
-              # 6.17 miles.
-          &quot;latLng&quot;: { # An object representing a latitude/longitude pair. This is expressed as a pair # An object representing a latitude/longitude pair.
-              # of doubles representing degrees latitude and degrees longitude. Unless
-              # specified otherwise, this must conform to the
-              # &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
-              # standard&lt;/a&gt;. Values must be within normalized ranges.
-            &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
-            &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
-          },
-          &quot;postalAddress&quot;: { # Represents a postal address, e.g. for postal delivery or payments addresses. # Postal address of the location that includes human readable information,
-              # such as postal delivery and payments addresses. Given a postal address,
-              # a postal service can deliver items to a premises, P.O. Box, or other
-              # delivery location.
-              # Given a postal address, a postal service can deliver items to a premise, P.O.
-              # Box or similar.
-              # It is not intended to model geographical locations (roads, towns,
-              # mountains).
-              #
-              # In typical usage an address would be created via user input or from importing
-              # existing data, depending on the type of process.
-              #
-              # Advice on address input / editing:
-              #  - Use an i18n-ready address widget such as
-              #    https://github.com/google/libaddressinput)
-              # - Users should not be presented with UI elements for input or editing of
-              #   fields outside countries where that field is used.
-              #
-              # For more guidance on how to use this schema, please see:
-              # https://support.google.com/business/answer/6397478
-            &quot;postalCode&quot;: &quot;A String&quot;, # Optional. Postal code of the address. Not all countries use or require
-                # postal codes to be present, but where they are used, they may trigger
-                # additional validation with other parts of the address (e.g. state/zip
-                # validation in the U.S.A.).
-            &quot;languageCode&quot;: &quot;A String&quot;, # Optional. BCP-47 language code of the contents of this address (if
-                # known). This is often the UI language of the input form or is expected
-                # to match one of the languages used in the address&#x27; country/region, or their
-                # transliterated equivalents.
-                # This can affect formatting in certain countries, but is not critical
-                # to the correctness of the data and will never affect any validation or
-                # other non-formatting related operations.
-                #
-                # If this value is not known, it should be omitted (rather than specifying a
-                # possibly incorrect default).
-                #
-                # Examples: &quot;zh-Hant&quot;, &quot;ja&quot;, &quot;ja-Latn&quot;, &quot;en&quot;.
-            &quot;sortingCode&quot;: &quot;A String&quot;, # Optional. Additional, country-specific, sorting code. This is not used
-                # in most regions. Where it is used, the value is either a string like
-                # &quot;CEDEX&quot;, optionally followed by a number (e.g. &quot;CEDEX 7&quot;), or just a number
-                # alone, representing the &quot;sector code&quot; (Jamaica), &quot;delivery area indicator&quot;
-                # (Malawi) or &quot;post office indicator&quot; (e.g. Côte d&#x27;Ivoire).
-            &quot;recipients&quot;: [ # Optional. The recipient at the address.
-                # This field may, under certain circumstances, contain multiline information.
-                # For example, it might contain &quot;care of&quot; information.
-              &quot;A String&quot;,
-            ],
-            &quot;sublocality&quot;: &quot;A String&quot;, # Optional. Sublocality of the address.
-                # For example, this can be neighborhoods, boroughs, districts.
-            &quot;revision&quot;: 42, # The schema revision of the `PostalAddress`. This must be set to 0, which is
-                # the latest revision.
-                #
-                # All new revisions **must** be backward compatible with old revisions.
-            &quot;locality&quot;: &quot;A String&quot;, # Optional. Generally refers to the city/town portion of the address.
-                # Examples: US city, IT comune, UK post town.
-                # In regions of the world where localities are not well defined or do not fit
-                # into this structure well, leave locality empty and use address_lines.
-            &quot;administrativeArea&quot;: &quot;A String&quot;, # Optional. Highest administrative subdivision which is used for postal
-                # addresses of a country or region.
-                # For example, this can be a state, a province, an oblast, or a prefecture.
-                # Specifically, for Spain this is the province and not the autonomous
-                # community (e.g. &quot;Barcelona&quot; and not &quot;Catalonia&quot;).
-                # Many countries don&#x27;t use an administrative area in postal addresses. E.g.
-                # in Switzerland this should be left unpopulated.
-            &quot;organization&quot;: &quot;A String&quot;, # Optional. The name of the organization at the address.
-            &quot;addressLines&quot;: [ # Unstructured address lines describing the lower levels of an address.
-                #
-                # Because values in address_lines do not have type information and may
-                # sometimes contain multiple values in a single field (e.g.
-                # &quot;Austin, TX&quot;), it is important that the line order is clear. The order of
-                # address lines should be &quot;envelope order&quot; for the country/region of the
-                # address. In places where this can vary (e.g. Japan), address_language is
-                # used to make it explicit (e.g. &quot;ja&quot; for large-to-small ordering and
-                # &quot;ja-Latn&quot; or &quot;en&quot; for small-to-large). This way, the most specific line of
-                # an address can be selected based on the language.
-                #
-                # The minimum permitted structural representation of an address consists
-                # of a region_code with all remaining information placed in the
-                # address_lines. It would be possible to format such an address very
-                # approximately without geocoding, but no semantic reasoning could be
-                # made about any of the address components until it was at least
-                # partially resolved.
-                #
-                # Creating an address only containing a region_code and address_lines, and
-                # then geocoding is the recommended way to handle completely unstructured
-                # addresses (as opposed to guessing which parts of the address should be
-                # localities or administrative areas).
-              &quot;A String&quot;,
-            ],
-            &quot;regionCode&quot;: &quot;A String&quot;, # Required. CLDR region code of the country/region of the address. This
-                # is never inferred and it is up to the user to ensure the value is
-                # correct. See http://cldr.unicode.org/ and
-                # http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html
-                # for details. Example: &quot;CH&quot; for Switzerland.
-          },
-          &quot;locationType&quot;: &quot;A String&quot;, # The type of a location, which corresponds to the address lines field of
-              # PostalAddress. For example, &quot;Downtown, Atlanta, GA, USA&quot; has a type of
-              # LocationType#NEIGHBORHOOD, and &quot;Kansas City, KS, USA&quot; has a type of
-              # LocationType#LOCALITY.
-        },
-      ],
-      &quot;jobCategories&quot;: [ # Job categories derived from Job.title and Job.description.
-        &quot;A String&quot;,
-      ],
-    },
-    &quot;incentives&quot;: &quot;A String&quot;, # Optional. A description of bonus, commission, and other compensation
-        # incentives associated with the job not including salary or pay.
-        #
-        # The maximum number of allowed characters is 10,000.
-    &quot;employmentTypes&quot;: [ # Optional. The employment type(s) of a job, for example,
-        # full time or
-        # part time.
-      &quot;A String&quot;,
-    ],
-    &quot;postingCreateTime&quot;: &quot;A String&quot;, # Output only. The timestamp when this job posting was created.
-    &quot;addresses&quot;: [ # Optional but strongly recommended for the best service experience.
-        #
-        # Location(s) where the employer is looking to hire for this job posting.
-        #
-        # Specifying the full street address(es) of the hiring location enables
-        # better API results, especially job searches by commute time.
-        #
-        # At most 50 locations are allowed for best search performance. If a job has
-        # more locations, it is suggested to split it into multiple jobs with unique
-        # requisition_ids (e.g. &#x27;ReqA&#x27; becomes &#x27;ReqA-1&#x27;, &#x27;ReqA-2&#x27;, etc.) as
-        # multiple jobs with the same company_name, language_code and
-        # requisition_id are not allowed. If the original requisition_id must
-        # be preserved, a custom field should be used for storage. It is also
-        # suggested to group the locations that close to each other in the same job
-        # for better search experience.
-        #
-        # The maximum number of allowed characters is 500.
-      &quot;A String&quot;,
-    ],
-    &quot;companyName&quot;: &quot;A String&quot;, # Required. The resource name of the company listing the job, such as
-        # &quot;projects/api-test-project/companies/foo&quot;.
-    &quot;description&quot;: &quot;A String&quot;, # Required. The description of the job, which typically includes a multi-paragraph
-        # description of the company and related information. Separate fields are
-        # provided on the job object for responsibilities,
-        # qualifications, and other job characteristics. Use of
-        # these separate job fields is recommended.
-        #
-        # This field accepts and sanitizes HTML input, and also accepts
-        # bold, italic, ordered list, and unordered list markup tags.
-        #
-        # The maximum number of allowed characters is 100,000.
-    &quot;jobStartTime&quot;: &quot;A String&quot;, # Optional. The start timestamp of the job in UTC time zone. Typically this field
-        # is used for contracting engagements. Invalid timestamps are ignored.
-    &quot;degreeTypes&quot;: [ # Optional. The desired education degrees for the job, such as Bachelors, Masters.
-      &quot;A String&quot;,
-    ],
-    &quot;compensationInfo&quot;: { # Job compensation details. # Optional. Job compensation information.
-      &quot;annualizedTotalCompensationRange&quot;: { # Compensation range. # Output only. Annualized total compensation range. Computed as
-          # all compensation entries&#x27; CompensationEntry.compensation times
-          # CompensationEntry.expected_units_per_year.
-          #
-          # See CompensationEntry for explanation on compensation annualization.
-        &quot;maxCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
-            # to a maximal compensation value and the currency code is set to
-            # match the currency code of
-            # min_compensation.
-          &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
-              # The value must be between -999,999,999 and +999,999,999 inclusive.
-              # If `units` is positive, `nanos` must be positive or zero.
-              # If `units` is zero, `nanos` can be positive, zero, or negative.
-              # If `units` is negative, `nanos` must be negative or zero.
-              # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-          &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
-              # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
-          &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
-        },
-        &quot;minCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
-            # to zero and the currency code is set to match the
-            # currency code of max_compensation.
-          &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
-              # The value must be between -999,999,999 and +999,999,999 inclusive.
-              # If `units` is positive, `nanos` must be positive or zero.
-              # If `units` is zero, `nanos` can be positive, zero, or negative.
-              # If `units` is negative, `nanos` must be negative or zero.
-              # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-          &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
-              # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
-          &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
-        },
-      },
-      &quot;entries&quot;: [ # Optional. Job compensation information.
-          #
-          # At most one entry can be of type
-          # CompensationInfo.CompensationType.BASE, which is
-          # referred as ** base compensation entry ** for the job.
-        { # 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 or range.
-            # - and its expected_units_per_year is set or can be derived.
-            # Its annualized range is determined as (amount or range) times
-            # expected_units_per_year.
-          &quot;amount&quot;: { # Represents an amount of money with its currency type. # Optional. Compensation amount.
-            &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
-                # The value must be between -999,999,999 and +999,999,999 inclusive.
-                # If `units` is positive, `nanos` must be positive or zero.
-                # If `units` is zero, `nanos` can be positive, zero, or negative.
-                # If `units` is negative, `nanos` must be negative or zero.
-                # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-            &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
-                # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
-            &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
-          },
-          &quot;type&quot;: &quot;A String&quot;, # Optional. Compensation type.
-              #
-              # Default is CompensationUnit.COMPENSATION_TYPE_UNSPECIFIED.
-          &quot;range&quot;: { # Compensation range. # Optional. Compensation range.
-            &quot;maxCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
-                # to a maximal compensation value and the currency code is set to
-                # match the currency code of
-                # min_compensation.
-              &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
-                  # The value must be between -999,999,999 and +999,999,999 inclusive.
-                  # If `units` is positive, `nanos` must be positive or zero.
-                  # If `units` is zero, `nanos` can be positive, zero, or negative.
-                  # If `units` is negative, `nanos` must be negative or zero.
-                  # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-              &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
-                  # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
-              &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
-            },
-            &quot;minCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
-                # to zero and the currency code is set to match the
-                # currency code of max_compensation.
-              &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
-                  # The value must be between -999,999,999 and +999,999,999 inclusive.
-                  # If `units` is positive, `nanos` must be positive or zero.
-                  # If `units` is zero, `nanos` can be positive, zero, or negative.
-                  # If `units` is negative, `nanos` must be negative or zero.
-                  # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-              &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
-                  # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
-              &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
-            },
-          },
-          &quot;expectedUnitsPerYear&quot;: 3.14, # Optional. Expected number of units paid each year. If not specified, when
-              # Job.employment_types is FULLTIME, a default value is inferred
-              # based on unit. Default values:
-              # - HOURLY: 2080
-              # - DAILY: 260
-              # - WEEKLY: 52
-              # - MONTHLY: 12
-              # - ANNUAL: 1
-          &quot;description&quot;: &quot;A String&quot;, # Optional. Compensation description.  For example, could
-              # indicate equity terms or provide additional context to an estimated
-              # bonus.
-          &quot;unit&quot;: &quot;A String&quot;, # Optional. Frequency of the specified amount.
-              #
-              # Default is CompensationUnit.COMPENSATION_UNIT_UNSPECIFIED.
-        },
-      ],
-      &quot;annualizedBaseCompensationRange&quot;: { # Compensation range. # Output only. Annualized base compensation range. Computed as
-          # base compensation entry&#x27;s CompensationEntry.compensation times
-          # CompensationEntry.expected_units_per_year.
-          #
-          # See CompensationEntry for explanation on compensation annualization.
-        &quot;maxCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
-            # to a maximal compensation value and the currency code is set to
-            # match the currency code of
-            # min_compensation.
-          &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
-              # The value must be between -999,999,999 and +999,999,999 inclusive.
-              # If `units` is positive, `nanos` must be positive or zero.
-              # If `units` is zero, `nanos` can be positive, zero, or negative.
-              # If `units` is negative, `nanos` must be negative or zero.
-              # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-          &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
-              # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
-          &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
-        },
-        &quot;minCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
-            # to zero and the currency code is set to match the
-            # currency code of max_compensation.
-          &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
-              # The value must be between -999,999,999 and +999,999,999 inclusive.
-              # If `units` is positive, `nanos` must be positive or zero.
-              # If `units` is zero, `nanos` can be positive, zero, or negative.
-              # If `units` is negative, `nanos` must be negative or zero.
-              # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-          &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
-              # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
-          &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
-        },
-      },
-    },
-    &quot;responsibilities&quot;: &quot;A String&quot;, # Optional. A description of job responsibilities. The use of this field is
-        # recommended as an alternative to using the more general description
-        # field.
-        #
-        # This field accepts and sanitizes HTML input, and also accepts
-        # bold, italic, ordered list, and unordered list markup tags.
-        #
-        # The maximum number of allowed characters is 10,000.
-    &quot;department&quot;: &quot;A String&quot;, # Optional. The department or functional area within the company with the open
-        # position.
-        #
-        # The maximum number of allowed characters is 255.
     &quot;applicationInfo&quot;: { # Application related details of a job posting. # Required. At least one field within ApplicationInfo must be specified.
         #
         # Job application information.
+      &quot;instruction&quot;: &quot;A String&quot;, # Optional but at least one of uris,
+          # emails or instruction must be
+          # specified.
+          #
+          # Use this field to provide instructions, such as &quot;Mail your application
+          # to ...&quot;, that a candidate can follow to apply for the job.
+          #
+          # This field accepts and sanitizes HTML input, and also accepts
+          # bold, italic, ordered list, and unordered list markup tags.
+          #
+          # The maximum number of allowed characters is 3,000.
       &quot;uris&quot;: [ # Optional but at least one of uris,
           # emails or instruction must be
           # specified.
@@ -1120,18 +747,81 @@
           # The maximum number of allowed characters for each entry is 255.
         &quot;A String&quot;,
       ],
-      &quot;instruction&quot;: &quot;A String&quot;, # Optional but at least one of uris,
-          # emails or instruction must be
-          # specified.
-          #
-          # Use this field to provide instructions, such as &quot;Mail your application
-          # to ...&quot;, that a candidate can follow to apply for the job.
-          #
-          # This field accepts and sanitizes HTML input, and also accepts
-          # bold, italic, ordered list, and unordered list markup tags.
-          #
-          # The maximum number of allowed characters is 3,000.
     },
+    &quot;responsibilities&quot;: &quot;A String&quot;, # Optional. A description of job responsibilities. The use of this field is
+        # recommended as an alternative to using the more general description
+        # field.
+        #
+        # This field accepts and sanitizes HTML input, and also accepts
+        # bold, italic, ordered list, and unordered list markup tags.
+        #
+        # The maximum number of allowed characters is 10,000.
+    &quot;companyName&quot;: &quot;A String&quot;, # Required. The resource name of the company listing the job, such as
+        # &quot;projects/api-test-project/companies/foo&quot;.
+    &quot;promotionValue&quot;: 42, # Optional. A promotion value of the job, as determined by the client.
+        # The value determines the sort order of the jobs returned when searching for
+        # jobs using the featured jobs search call, with higher promotional values
+        # being returned first and ties being resolved by relevance sort. Only the
+        # jobs with a promotionValue &gt;0 are returned in a FEATURED_JOB_SEARCH.
+        #
+        # Default value is 0, and negative values are treated as 0.
+    &quot;degreeTypes&quot;: [ # Optional. The desired education degrees for the job, such as Bachelors, Masters.
+      &quot;A String&quot;,
+    ],
+    &quot;description&quot;: &quot;A String&quot;, # Required. The description of the job, which typically includes a multi-paragraph
+        # description of the company and related information. Separate fields are
+        # provided on the job object for responsibilities,
+        # qualifications, and other job characteristics. Use of
+        # these separate job fields is recommended.
+        #
+        # This field accepts and sanitizes HTML input, and also accepts
+        # bold, italic, ordered list, and unordered list markup tags.
+        #
+        # The maximum number of allowed characters is 100,000.
+    &quot;title&quot;: &quot;A String&quot;, # Required. The title of the job, such as &quot;Software Engineer&quot;
+        #
+        # The maximum number of allowed characters is 500.
+    &quot;postingPublishTime&quot;: &quot;A String&quot;, # Optional. The timestamp this job posting was most recently published. The default
+        # value is the time the request arrives at the server. Invalid timestamps are
+        # ignored.
+    &quot;postingCreateTime&quot;: &quot;A String&quot;, # Output only. The timestamp when this job posting was created.
+    &quot;incentives&quot;: &quot;A String&quot;, # Optional. A description of bonus, commission, and other compensation
+        # incentives associated with the job not including salary or pay.
+        #
+        # The maximum number of allowed characters is 10,000.
+    &quot;jobEndTime&quot;: &quot;A String&quot;, # Optional. The end timestamp of the job. Typically this field is used for contracting
+        # engagements. Invalid timestamps are ignored.
+    &quot;addresses&quot;: [ # Optional but strongly recommended for the best service experience.
+        #
+        # Location(s) where the employer is looking to hire for this job posting.
+        #
+        # Specifying the full street address(es) of the hiring location enables
+        # better API results, especially job searches by commute time.
+        #
+        # At most 50 locations are allowed for best search performance. If a job has
+        # more locations, it is suggested to split it into multiple jobs with unique
+        # requisition_ids (e.g. &#x27;ReqA&#x27; becomes &#x27;ReqA-1&#x27;, &#x27;ReqA-2&#x27;, etc.) as
+        # multiple jobs with the same company_name, language_code and
+        # requisition_id are not allowed. If the original requisition_id must
+        # be preserved, a custom field should be used for storage. It is also
+        # suggested to group the locations that close to each other in the same job
+        # for better search experience.
+        #
+        # The maximum number of allowed characters is 500.
+      &quot;A String&quot;,
+    ],
+    &quot;jobLevel&quot;: &quot;A String&quot;, # Optional. The experience level associated with the job, such as &quot;Entry Level&quot;.
+    &quot;jobBenefits&quot;: [ # Optional. The benefits included with the job.
+      &quot;A String&quot;,
+    ],
+    &quot;qualifications&quot;: &quot;A String&quot;, # Optional. A description of the qualifications required to perform the
+        # job. The use of this field is recommended
+        # as an alternative to using the more general description field.
+        #
+        # This field accepts and sanitizes HTML input, and also accepts
+        # bold, italic, ordered list, and unordered list markup tags.
+        #
+        # The maximum number of allowed characters is 10,000.
     &quot;postingRegion&quot;: &quot;A String&quot;, # Optional. The job PostingRegion (for example, state, country) throughout which
         # the job is available. If this field is set, a
         # LocationFilter in a search query within the job region
@@ -1139,6 +829,54 @@
         # If this field is set to PostingRegion.NATION or
         # PostingRegion.ADMINISTRATIVE_AREA, setting job Job.addresses
         # to the same location level as this field is strongly recommended.
+    &quot;customAttributes&quot;: { # Optional. A map of fields to hold both filterable and non-filterable custom job
+        # attributes that are not covered by the provided structured fields.
+        #
+        # The keys of the map are strings up to 64 bytes and must match the
+        # pattern: a-zA-Z*. For example, key0LikeThis or
+        # KEY_1_LIKE_THIS.
+        #
+        # At most 100 filterable and at most 100 unfilterable keys are supported.
+        # For filterable `string_values`, across all keys at most 200 values are
+        # allowed, with each string no more than 255 characters. For unfilterable
+        # `string_values`, the maximum total size of `string_values` across all keys
+        # is 50KB.
+      &quot;a_key&quot;: { # Custom attribute values that are either filterable or non-filterable.
+        &quot;filterable&quot;: True or False, # Optional. If the `filterable` flag is true, the custom field values may be used for
+            # custom attribute filters JobQuery.custom_attribute_filter.
+            # If false, these values may not be used for custom attribute filters.
+            #
+            # Default is false.
+        &quot;stringValues&quot;: [ # Optional but exactly one of string_values or long_values must
+            # be specified.
+            #
+            # This field is used to perform a string match (`CASE_SENSITIVE_MATCH` or
+            # `CASE_INSENSITIVE_MATCH`) search.
+            # For filterable `string_value`s, a maximum total number of 200 values
+            # is allowed, with each `string_value` has a byte size of no more than
+            # 500B. For unfilterable `string_values`, the maximum total byte size of
+            # unfilterable `string_values` is 50KB.
+            #
+            # Empty string is not allowed.
+          &quot;A String&quot;,
+        ],
+        &quot;longValues&quot;: [ # Optional but exactly one of string_values or long_values must
+            # be specified.
+            #
+            # This field is used to perform number range search.
+            # (`EQ`, `GT`, `GE`, `LE`, `LT`) over filterable `long_value`.
+            #
+            # Currently at most 1 long_values is supported.
+          &quot;A String&quot;,
+        ],
+      },
+    },
+    &quot;postingUpdateTime&quot;: &quot;A String&quot;, # Output only. The timestamp when this job posting was last updated.
+    &quot;employmentTypes&quot;: [ # Optional. The employment type(s) of a job, for example,
+        # full time or
+        # part time.
+      &quot;A String&quot;,
+    ],
     &quot;postingExpireTime&quot;: &quot;A String&quot;, # Optional but strongly recommended for the best service
         # experience.
         #
@@ -1172,52 +910,163 @@
         # expiry_time, or the masks are empty meaning that every field is
         # updated, the job posting expires after 30 days from the job&#x27;s last
         # update time. Otherwise the expiration date isn&#x27;t updated.
-    &quot;postingPublishTime&quot;: &quot;A String&quot;, # Optional. The timestamp this job posting was most recently published. The default
-        # value is the time the request arrives at the server. Invalid timestamps are
-        # ignored.
-    &quot;customAttributes&quot;: { # Optional. A map of fields to hold both filterable and non-filterable custom job
-        # attributes that are not covered by the provided structured fields.
+    &quot;department&quot;: &quot;A String&quot;, # Optional. The department or functional area within the company with the open
+        # position.
         #
-        # The keys of the map are strings up to 64 bytes and must match the
-        # pattern: a-zA-Z*. For example, key0LikeThis or
-        # KEY_1_LIKE_THIS.
+        # The maximum number of allowed characters is 255.
+    &quot;derivedInfo&quot;: { # Output only. # Output only. Derived details about the job posting.
         #
-        # At most 100 filterable and at most 100 unfilterable keys are supported.
-        # For filterable `string_values`, across all keys at most 200 values are
-        # allowed, with each string no more than 255 characters. For unfilterable
-        # `string_values`, the maximum total size of `string_values` across all keys
-        # is 50KB.
-      &quot;a_key&quot;: { # Custom attribute values that are either filterable or non-filterable.
-        &quot;stringValues&quot;: [ # Optional but exactly one of string_values or long_values must
-            # be specified.
+        # Derived details about the job posting.
+      &quot;locations&quot;: [ # Structured locations of the job, resolved from Job.addresses.
+          #
+          # locations are exactly matched to Job.addresses in the same
+          # order.
+        { # Output only.
             #
-            # This field is used to perform a string match (`CASE_SENSITIVE_MATCH` or
-            # `CASE_INSENSITIVE_MATCH`) search.
-            # For filterable `string_value`s, a maximum total number of 200 values
-            # is allowed, with each `string_value` has a byte size of no more than
-            # 500B. For unfilterable `string_values`, the maximum total byte size of
-            # unfilterable `string_values` is 50KB.
-            #
-            # Empty string is not allowed.
-          &quot;A String&quot;,
-        ],
-        &quot;filterable&quot;: True or False, # Optional. If the `filterable` flag is true, the custom field values may be used for
-            # custom attribute filters JobQuery.custom_attribute_filter.
-            # If false, these values may not be used for custom attribute filters.
-            #
-            # Default is false.
-        &quot;longValues&quot;: [ # Optional but exactly one of string_values or long_values must
-            # be specified.
-            #
-            # This field is used to perform number range search.
-            # (`EQ`, `GT`, `GE`, `LE`, `LT`) over filterable `long_value`.
-            #
-            # Currently at most 1 long_values is supported.
-          &quot;A String&quot;,
-        ],
-      },
+            # A resource that represents a location with full geographic information.
+          &quot;postalAddress&quot;: { # Represents a postal address, e.g. for postal delivery or payments addresses. # Postal address of the location that includes human readable information,
+              # such as postal delivery and payments addresses. Given a postal address,
+              # a postal service can deliver items to a premises, P.O. Box, or other
+              # delivery location.
+              # Given a postal address, a postal service can deliver items to a premise, P.O.
+              # Box or similar.
+              # It is not intended to model geographical locations (roads, towns,
+              # mountains).
+              #
+              # In typical usage an address would be created via user input or from importing
+              # existing data, depending on the type of process.
+              #
+              # Advice on address input / editing:
+              #  - Use an i18n-ready address widget such as
+              #    https://github.com/google/libaddressinput)
+              # - Users should not be presented with UI elements for input or editing of
+              #   fields outside countries where that field is used.
+              #
+              # For more guidance on how to use this schema, please see:
+              # https://support.google.com/business/answer/6397478
+            &quot;organization&quot;: &quot;A String&quot;, # Optional. The name of the organization at the address.
+            &quot;sublocality&quot;: &quot;A String&quot;, # Optional. Sublocality of the address.
+                # For example, this can be neighborhoods, boroughs, districts.
+            &quot;languageCode&quot;: &quot;A String&quot;, # Optional. BCP-47 language code of the contents of this address (if
+                # known). This is often the UI language of the input form or is expected
+                # to match one of the languages used in the address&#x27; country/region, or their
+                # transliterated equivalents.
+                # This can affect formatting in certain countries, but is not critical
+                # to the correctness of the data and will never affect any validation or
+                # other non-formatting related operations.
+                #
+                # If this value is not known, it should be omitted (rather than specifying a
+                # possibly incorrect default).
+                #
+                # Examples: &quot;zh-Hant&quot;, &quot;ja&quot;, &quot;ja-Latn&quot;, &quot;en&quot;.
+            &quot;administrativeArea&quot;: &quot;A String&quot;, # Optional. Highest administrative subdivision which is used for postal
+                # addresses of a country or region.
+                # For example, this can be a state, a province, an oblast, or a prefecture.
+                # Specifically, for Spain this is the province and not the autonomous
+                # community (e.g. &quot;Barcelona&quot; and not &quot;Catalonia&quot;).
+                # Many countries don&#x27;t use an administrative area in postal addresses. E.g.
+                # in Switzerland this should be left unpopulated.
+            &quot;locality&quot;: &quot;A String&quot;, # Optional. Generally refers to the city/town portion of the address.
+                # Examples: US city, IT comune, UK post town.
+                # In regions of the world where localities are not well defined or do not fit
+                # into this structure well, leave locality empty and use address_lines.
+            &quot;recipients&quot;: [ # Optional. The recipient at the address.
+                # This field may, under certain circumstances, contain multiline information.
+                # For example, it might contain &quot;care of&quot; information.
+              &quot;A String&quot;,
+            ],
+            &quot;revision&quot;: 42, # The schema revision of the `PostalAddress`. This must be set to 0, which is
+                # the latest revision.
+                #
+                # All new revisions **must** be backward compatible with old revisions.
+            &quot;postalCode&quot;: &quot;A String&quot;, # Optional. Postal code of the address. Not all countries use or require
+                # postal codes to be present, but where they are used, they may trigger
+                # additional validation with other parts of the address (e.g. state/zip
+                # validation in the U.S.A.).
+            &quot;sortingCode&quot;: &quot;A String&quot;, # Optional. Additional, country-specific, sorting code. This is not used
+                # in most regions. Where it is used, the value is either a string like
+                # &quot;CEDEX&quot;, optionally followed by a number (e.g. &quot;CEDEX 7&quot;), or just a number
+                # alone, representing the &quot;sector code&quot; (Jamaica), &quot;delivery area indicator&quot;
+                # (Malawi) or &quot;post office indicator&quot; (e.g. Côte d&#x27;Ivoire).
+            &quot;regionCode&quot;: &quot;A String&quot;, # Required. CLDR region code of the country/region of the address. This
+                # is never inferred and it is up to the user to ensure the value is
+                # correct. See http://cldr.unicode.org/ and
+                # http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html
+                # for details. Example: &quot;CH&quot; for Switzerland.
+            &quot;addressLines&quot;: [ # Unstructured address lines describing the lower levels of an address.
+                #
+                # Because values in address_lines do not have type information and may
+                # sometimes contain multiple values in a single field (e.g.
+                # &quot;Austin, TX&quot;), it is important that the line order is clear. The order of
+                # address lines should be &quot;envelope order&quot; for the country/region of the
+                # address. In places where this can vary (e.g. Japan), address_language is
+                # used to make it explicit (e.g. &quot;ja&quot; for large-to-small ordering and
+                # &quot;ja-Latn&quot; or &quot;en&quot; for small-to-large). This way, the most specific line of
+                # an address can be selected based on the language.
+                #
+                # The minimum permitted structural representation of an address consists
+                # of a region_code with all remaining information placed in the
+                # address_lines. It would be possible to format such an address very
+                # approximately without geocoding, but no semantic reasoning could be
+                # made about any of the address components until it was at least
+                # partially resolved.
+                #
+                # Creating an address only containing a region_code and address_lines, and
+                # then geocoding is the recommended way to handle completely unstructured
+                # addresses (as opposed to guessing which parts of the address should be
+                # localities or administrative areas).
+              &quot;A String&quot;,
+            ],
+          },
+          &quot;radiusInMiles&quot;: 3.14, # Radius in miles of the job location. This value is derived from the
+              # location bounding box in which a circle with the specified radius
+              # centered from LatLng covers the area associated with the job location.
+              # For example, currently, &quot;Mountain View, CA, USA&quot; has a radius of
+              # 6.17 miles.
+          &quot;locationType&quot;: &quot;A String&quot;, # The type of a location, which corresponds to the address lines field of
+              # PostalAddress. For example, &quot;Downtown, Atlanta, GA, USA&quot; has a type of
+              # LocationType#NEIGHBORHOOD, and &quot;Kansas City, KS, USA&quot; has a type of
+              # LocationType#LOCALITY.
+          &quot;latLng&quot;: { # An object representing a latitude/longitude pair. This is expressed as a pair # An object representing a latitude/longitude pair.
+              # of doubles representing degrees latitude and degrees longitude. Unless
+              # specified otherwise, this must conform to the
+              # &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
+              # standard&lt;/a&gt;. Values must be within normalized ranges.
+            &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+            &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+          },
+        },
+      ],
+      &quot;jobCategories&quot;: [ # Job categories derived from Job.title and Job.description.
+        &quot;A String&quot;,
+      ],
     },
-    &quot;jobLevel&quot;: &quot;A String&quot;, # Optional. The experience level associated with the job, such as &quot;Entry Level&quot;.
+    &quot;jobStartTime&quot;: &quot;A String&quot;, # Optional. The start timestamp of the job in UTC time zone. Typically this field
+        # is used for contracting engagements. Invalid timestamps are ignored.
+    &quot;visibility&quot;: &quot;A String&quot;, # Deprecated. The job is only visible to the owner.
+        #
+        # The visibility of the job.
+        #
+        # Defaults to Visibility.ACCOUNT_ONLY if not specified.
+    &quot;processingOptions&quot;: { # Input only. # Optional. Options for job processing.
+        #
+        # Options for job processing.
+      &quot;disableStreetAddressResolution&quot;: True or False, # Optional. If set to `true`, the service does not attempt to resolve a
+          # more precise address for the job.
+      &quot;htmlSanitization&quot;: &quot;A String&quot;, # Optional. Option for job HTML content sanitization. Applied fields are:
+          #
+          # * description
+          # * applicationInfo.instruction
+          # * incentives
+          # * qualifications
+          # * responsibilities
+          #
+          # HTML tags in these fields may be stripped if sanitiazation is not
+          # disabled.
+          #
+          # Defaults to HtmlSanitization.SIMPLE_FORMATTING_ONLY.
+    },
+    &quot;companyDisplayName&quot;: &quot;A String&quot;, # Output only. Display name of the company listing the job.
     &quot;languageCode&quot;: &quot;A String&quot;, # Optional. The language of the posting. This field is distinct from
         # any requirements for fluency that are associated with the job.
         #
@@ -1229,12 +1078,163 @@
         # If this field is unspecified and Job.description is present, detected
         # language code based on Job.description is assigned, otherwise
         # defaults to &#x27;en_US&#x27;.
-    &quot;visibility&quot;: &quot;A String&quot;, # Deprecated. The job is only visible to the owner.
+    &quot;compensationInfo&quot;: { # Job compensation details. # Optional. Job compensation information.
+      &quot;annualizedBaseCompensationRange&quot;: { # Compensation range. # Output only. Annualized base compensation range. Computed as
+          # base compensation entry&#x27;s CompensationEntry.compensation times
+          # CompensationEntry.expected_units_per_year.
+          #
+          # See CompensationEntry for explanation on compensation annualization.
+        &quot;maxCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
+            # to a maximal compensation value and the currency code is set to
+            # match the currency code of
+            # min_compensation.
+          &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+              # The value must be between -999,999,999 and +999,999,999 inclusive.
+              # If `units` is positive, `nanos` must be positive or zero.
+              # If `units` is zero, `nanos` can be positive, zero, or negative.
+              # If `units` is negative, `nanos` must be negative or zero.
+              # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+          &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+          &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+              # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+        },
+        &quot;minCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
+            # to zero and the currency code is set to match the
+            # currency code of max_compensation.
+          &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+              # The value must be between -999,999,999 and +999,999,999 inclusive.
+              # If `units` is positive, `nanos` must be positive or zero.
+              # If `units` is zero, `nanos` can be positive, zero, or negative.
+              # If `units` is negative, `nanos` must be negative or zero.
+              # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+          &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+          &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+              # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+        },
+      },
+      &quot;annualizedTotalCompensationRange&quot;: { # Compensation range. # Output only. Annualized total compensation range. Computed as
+          # all compensation entries&#x27; CompensationEntry.compensation times
+          # CompensationEntry.expected_units_per_year.
+          #
+          # See CompensationEntry for explanation on compensation annualization.
+        &quot;maxCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
+            # to a maximal compensation value and the currency code is set to
+            # match the currency code of
+            # min_compensation.
+          &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+              # The value must be between -999,999,999 and +999,999,999 inclusive.
+              # If `units` is positive, `nanos` must be positive or zero.
+              # If `units` is zero, `nanos` can be positive, zero, or negative.
+              # If `units` is negative, `nanos` must be negative or zero.
+              # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+          &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+          &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+              # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+        },
+        &quot;minCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
+            # to zero and the currency code is set to match the
+            # currency code of max_compensation.
+          &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+              # The value must be between -999,999,999 and +999,999,999 inclusive.
+              # If `units` is positive, `nanos` must be positive or zero.
+              # If `units` is zero, `nanos` can be positive, zero, or negative.
+              # If `units` is negative, `nanos` must be negative or zero.
+              # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+          &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+          &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+              # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+        },
+      },
+      &quot;entries&quot;: [ # Optional. Job compensation information.
+          #
+          # At most one entry can be of type
+          # CompensationInfo.CompensationType.BASE, which is
+          # referred as ** base compensation entry ** for the job.
+        { # 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 or range.
+            # - and its expected_units_per_year is set or can be derived.
+            # Its annualized range is determined as (amount or range) times
+            # expected_units_per_year.
+          &quot;unit&quot;: &quot;A String&quot;, # Optional. Frequency of the specified amount.
+              #
+              # Default is CompensationUnit.COMPENSATION_UNIT_UNSPECIFIED.
+          &quot;expectedUnitsPerYear&quot;: 3.14, # Optional. Expected number of units paid each year. If not specified, when
+              # Job.employment_types is FULLTIME, a default value is inferred
+              # based on unit. Default values:
+              # - HOURLY: 2080
+              # - DAILY: 260
+              # - WEEKLY: 52
+              # - MONTHLY: 12
+              # - ANNUAL: 1
+          &quot;range&quot;: { # Compensation range. # Optional. Compensation range.
+            &quot;maxCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
+                # to a maximal compensation value and the currency code is set to
+                # match the currency code of
+                # min_compensation.
+              &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                  # The value must be between -999,999,999 and +999,999,999 inclusive.
+                  # If `units` is positive, `nanos` must be positive or zero.
+                  # If `units` is zero, `nanos` can be positive, zero, or negative.
+                  # If `units` is negative, `nanos` must be negative or zero.
+                  # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+              &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+              &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                  # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+            },
+            &quot;minCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
+                # to zero and the currency code is set to match the
+                # currency code of max_compensation.
+              &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                  # The value must be between -999,999,999 and +999,999,999 inclusive.
+                  # If `units` is positive, `nanos` must be positive or zero.
+                  # If `units` is zero, `nanos` can be positive, zero, or negative.
+                  # If `units` is negative, `nanos` must be negative or zero.
+                  # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+              &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+              &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                  # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+            },
+          },
+          &quot;description&quot;: &quot;A String&quot;, # Optional. Compensation description.  For example, could
+              # indicate equity terms or provide additional context to an estimated
+              # bonus.
+          &quot;type&quot;: &quot;A String&quot;, # Optional. Compensation type.
+              #
+              # Default is CompensationUnit.COMPENSATION_TYPE_UNSPECIFIED.
+          &quot;amount&quot;: { # Represents an amount of money with its currency type. # Optional. Compensation amount.
+            &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                # The value must be between -999,999,999 and +999,999,999 inclusive.
+                # If `units` is positive, `nanos` must be positive or zero.
+                # If `units` is zero, `nanos` can be positive, zero, or negative.
+                # If `units` is negative, `nanos` must be negative or zero.
+                # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+            &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+            &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+          },
+        },
+      ],
+    },
+    &quot;name&quot;: &quot;A String&quot;, # Required during job update.
         #
-        # The visibility of the job.
+        # The resource name for the job. This is generated by the service when a
+        # job is created.
         #
-        # Defaults to Visibility.ACCOUNT_ONLY if not specified.
-    &quot;postingUpdateTime&quot;: &quot;A String&quot;, # Output only. The timestamp when this job posting was last updated.
+        # The format is &quot;projects/{project_id}/jobs/{job_id}&quot;,
+        # for example, &quot;projects/api-test-project/jobs/1234&quot;.
+        #
+        # Use of this field in job queries and API calls is preferred over the use of
+        # requisition_id since this value is unique.
+    &quot;requisitionId&quot;: &quot;A String&quot;, # Required. The requisition ID, also referred to as the posting ID, assigned by the
+        # client to identify a job. This field is intended to be used by clients
+        # for client identification and tracking of postings. A job is not allowed
+        # to be created if there is another job with the same [company_name],
+        # language_code and requisition_id.
+        #
+        # The maximum number of allowed characters is 255.
   }</pre>
 </div>
 
@@ -1291,393 +1291,20 @@
     { # A Job resource represents a job posting (also referred to as a &quot;job listing&quot;
       # or &quot;job requisition&quot;). A job belongs to a Company, which is the hiring
       # entity responsible for the job.
-    &quot;name&quot;: &quot;A String&quot;, # Required during job update.
-        #
-        # The resource name for the job. This is generated by the service when a
-        # job is created.
-        #
-        # The format is &quot;projects/{project_id}/jobs/{job_id}&quot;,
-        # for example, &quot;projects/api-test-project/jobs/1234&quot;.
-        #
-        # Use of this field in job queries and API calls is preferred over the use of
-        # requisition_id since this value is unique.
-    &quot;jobBenefits&quot;: [ # Optional. The benefits included with the job.
-      &quot;A String&quot;,
-    ],
-    &quot;promotionValue&quot;: 42, # Optional. A promotion value of the job, as determined by the client.
-        # The value determines the sort order of the jobs returned when searching for
-        # jobs using the featured jobs search call, with higher promotional values
-        # being returned first and ties being resolved by relevance sort. Only the
-        # jobs with a promotionValue &gt;0 are returned in a FEATURED_JOB_SEARCH.
-        #
-        # Default value is 0, and negative values are treated as 0.
-    &quot;title&quot;: &quot;A String&quot;, # Required. The title of the job, such as &quot;Software Engineer&quot;
-        #
-        # The maximum number of allowed characters is 500.
-    &quot;companyDisplayName&quot;: &quot;A String&quot;, # Output only. Display name of the company listing the job.
-    &quot;qualifications&quot;: &quot;A String&quot;, # Optional. A description of the qualifications required to perform the
-        # job. The use of this field is recommended
-        # as an alternative to using the more general description field.
-        #
-        # This field accepts and sanitizes HTML input, and also accepts
-        # bold, italic, ordered list, and unordered list markup tags.
-        #
-        # The maximum number of allowed characters is 10,000.
-    &quot;requisitionId&quot;: &quot;A String&quot;, # Required. The requisition ID, also referred to as the posting ID, assigned by the
-        # client to identify a job. This field is intended to be used by clients
-        # for client identification and tracking of postings. A job is not allowed
-        # to be created if there is another job with the same [company_name],
-        # language_code and requisition_id.
-        #
-        # The maximum number of allowed characters is 255.
-    &quot;processingOptions&quot;: { # Input only. # Optional. Options for job processing.
-        #
-        # Options for job processing.
-      &quot;disableStreetAddressResolution&quot;: True or False, # Optional. If set to `true`, the service does not attempt to resolve a
-          # more precise address for the job.
-      &quot;htmlSanitization&quot;: &quot;A String&quot;, # Optional. Option for job HTML content sanitization. Applied fields are:
-          #
-          # * description
-          # * applicationInfo.instruction
-          # * incentives
-          # * qualifications
-          # * responsibilities
-          #
-          # HTML tags in these fields may be stripped if sanitiazation is not
-          # disabled.
-          #
-          # Defaults to HtmlSanitization.SIMPLE_FORMATTING_ONLY.
-    },
-    &quot;jobEndTime&quot;: &quot;A String&quot;, # Optional. The end timestamp of the job. Typically this field is used for contracting
-        # engagements. Invalid timestamps are ignored.
-    &quot;derivedInfo&quot;: { # Output only. # Output only. Derived details about the job posting.
-        #
-        # Derived details about the job posting.
-      &quot;locations&quot;: [ # Structured locations of the job, resolved from Job.addresses.
-          #
-          # locations are exactly matched to Job.addresses in the same
-          # order.
-        { # Output only.
-            #
-            # A resource that represents a location with full geographic information.
-          &quot;radiusInMiles&quot;: 3.14, # Radius in miles of the job location. This value is derived from the
-              # location bounding box in which a circle with the specified radius
-              # centered from LatLng covers the area associated with the job location.
-              # For example, currently, &quot;Mountain View, CA, USA&quot; has a radius of
-              # 6.17 miles.
-          &quot;latLng&quot;: { # An object representing a latitude/longitude pair. This is expressed as a pair # An object representing a latitude/longitude pair.
-              # of doubles representing degrees latitude and degrees longitude. Unless
-              # specified otherwise, this must conform to the
-              # &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
-              # standard&lt;/a&gt;. Values must be within normalized ranges.
-            &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
-            &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
-          },
-          &quot;postalAddress&quot;: { # Represents a postal address, e.g. for postal delivery or payments addresses. # Postal address of the location that includes human readable information,
-              # such as postal delivery and payments addresses. Given a postal address,
-              # a postal service can deliver items to a premises, P.O. Box, or other
-              # delivery location.
-              # Given a postal address, a postal service can deliver items to a premise, P.O.
-              # Box or similar.
-              # It is not intended to model geographical locations (roads, towns,
-              # mountains).
-              #
-              # In typical usage an address would be created via user input or from importing
-              # existing data, depending on the type of process.
-              #
-              # Advice on address input / editing:
-              #  - Use an i18n-ready address widget such as
-              #    https://github.com/google/libaddressinput)
-              # - Users should not be presented with UI elements for input or editing of
-              #   fields outside countries where that field is used.
-              #
-              # For more guidance on how to use this schema, please see:
-              # https://support.google.com/business/answer/6397478
-            &quot;postalCode&quot;: &quot;A String&quot;, # Optional. Postal code of the address. Not all countries use or require
-                # postal codes to be present, but where they are used, they may trigger
-                # additional validation with other parts of the address (e.g. state/zip
-                # validation in the U.S.A.).
-            &quot;languageCode&quot;: &quot;A String&quot;, # Optional. BCP-47 language code of the contents of this address (if
-                # known). This is often the UI language of the input form or is expected
-                # to match one of the languages used in the address&#x27; country/region, or their
-                # transliterated equivalents.
-                # This can affect formatting in certain countries, but is not critical
-                # to the correctness of the data and will never affect any validation or
-                # other non-formatting related operations.
-                #
-                # If this value is not known, it should be omitted (rather than specifying a
-                # possibly incorrect default).
-                #
-                # Examples: &quot;zh-Hant&quot;, &quot;ja&quot;, &quot;ja-Latn&quot;, &quot;en&quot;.
-            &quot;sortingCode&quot;: &quot;A String&quot;, # Optional. Additional, country-specific, sorting code. This is not used
-                # in most regions. Where it is used, the value is either a string like
-                # &quot;CEDEX&quot;, optionally followed by a number (e.g. &quot;CEDEX 7&quot;), or just a number
-                # alone, representing the &quot;sector code&quot; (Jamaica), &quot;delivery area indicator&quot;
-                # (Malawi) or &quot;post office indicator&quot; (e.g. Côte d&#x27;Ivoire).
-            &quot;recipients&quot;: [ # Optional. The recipient at the address.
-                # This field may, under certain circumstances, contain multiline information.
-                # For example, it might contain &quot;care of&quot; information.
-              &quot;A String&quot;,
-            ],
-            &quot;sublocality&quot;: &quot;A String&quot;, # Optional. Sublocality of the address.
-                # For example, this can be neighborhoods, boroughs, districts.
-            &quot;revision&quot;: 42, # The schema revision of the `PostalAddress`. This must be set to 0, which is
-                # the latest revision.
-                #
-                # All new revisions **must** be backward compatible with old revisions.
-            &quot;locality&quot;: &quot;A String&quot;, # Optional. Generally refers to the city/town portion of the address.
-                # Examples: US city, IT comune, UK post town.
-                # In regions of the world where localities are not well defined or do not fit
-                # into this structure well, leave locality empty and use address_lines.
-            &quot;administrativeArea&quot;: &quot;A String&quot;, # Optional. Highest administrative subdivision which is used for postal
-                # addresses of a country or region.
-                # For example, this can be a state, a province, an oblast, or a prefecture.
-                # Specifically, for Spain this is the province and not the autonomous
-                # community (e.g. &quot;Barcelona&quot; and not &quot;Catalonia&quot;).
-                # Many countries don&#x27;t use an administrative area in postal addresses. E.g.
-                # in Switzerland this should be left unpopulated.
-            &quot;organization&quot;: &quot;A String&quot;, # Optional. The name of the organization at the address.
-            &quot;addressLines&quot;: [ # Unstructured address lines describing the lower levels of an address.
-                #
-                # Because values in address_lines do not have type information and may
-                # sometimes contain multiple values in a single field (e.g.
-                # &quot;Austin, TX&quot;), it is important that the line order is clear. The order of
-                # address lines should be &quot;envelope order&quot; for the country/region of the
-                # address. In places where this can vary (e.g. Japan), address_language is
-                # used to make it explicit (e.g. &quot;ja&quot; for large-to-small ordering and
-                # &quot;ja-Latn&quot; or &quot;en&quot; for small-to-large). This way, the most specific line of
-                # an address can be selected based on the language.
-                #
-                # The minimum permitted structural representation of an address consists
-                # of a region_code with all remaining information placed in the
-                # address_lines. It would be possible to format such an address very
-                # approximately without geocoding, but no semantic reasoning could be
-                # made about any of the address components until it was at least
-                # partially resolved.
-                #
-                # Creating an address only containing a region_code and address_lines, and
-                # then geocoding is the recommended way to handle completely unstructured
-                # addresses (as opposed to guessing which parts of the address should be
-                # localities or administrative areas).
-              &quot;A String&quot;,
-            ],
-            &quot;regionCode&quot;: &quot;A String&quot;, # Required. CLDR region code of the country/region of the address. This
-                # is never inferred and it is up to the user to ensure the value is
-                # correct. See http://cldr.unicode.org/ and
-                # http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html
-                # for details. Example: &quot;CH&quot; for Switzerland.
-          },
-          &quot;locationType&quot;: &quot;A String&quot;, # The type of a location, which corresponds to the address lines field of
-              # PostalAddress. For example, &quot;Downtown, Atlanta, GA, USA&quot; has a type of
-              # LocationType#NEIGHBORHOOD, and &quot;Kansas City, KS, USA&quot; has a type of
-              # LocationType#LOCALITY.
-        },
-      ],
-      &quot;jobCategories&quot;: [ # Job categories derived from Job.title and Job.description.
-        &quot;A String&quot;,
-      ],
-    },
-    &quot;incentives&quot;: &quot;A String&quot;, # Optional. A description of bonus, commission, and other compensation
-        # incentives associated with the job not including salary or pay.
-        #
-        # The maximum number of allowed characters is 10,000.
-    &quot;employmentTypes&quot;: [ # Optional. The employment type(s) of a job, for example,
-        # full time or
-        # part time.
-      &quot;A String&quot;,
-    ],
-    &quot;postingCreateTime&quot;: &quot;A String&quot;, # Output only. The timestamp when this job posting was created.
-    &quot;addresses&quot;: [ # Optional but strongly recommended for the best service experience.
-        #
-        # Location(s) where the employer is looking to hire for this job posting.
-        #
-        # Specifying the full street address(es) of the hiring location enables
-        # better API results, especially job searches by commute time.
-        #
-        # At most 50 locations are allowed for best search performance. If a job has
-        # more locations, it is suggested to split it into multiple jobs with unique
-        # requisition_ids (e.g. &#x27;ReqA&#x27; becomes &#x27;ReqA-1&#x27;, &#x27;ReqA-2&#x27;, etc.) as
-        # multiple jobs with the same company_name, language_code and
-        # requisition_id are not allowed. If the original requisition_id must
-        # be preserved, a custom field should be used for storage. It is also
-        # suggested to group the locations that close to each other in the same job
-        # for better search experience.
-        #
-        # The maximum number of allowed characters is 500.
-      &quot;A String&quot;,
-    ],
-    &quot;companyName&quot;: &quot;A String&quot;, # Required. The resource name of the company listing the job, such as
-        # &quot;projects/api-test-project/companies/foo&quot;.
-    &quot;description&quot;: &quot;A String&quot;, # Required. The description of the job, which typically includes a multi-paragraph
-        # description of the company and related information. Separate fields are
-        # provided on the job object for responsibilities,
-        # qualifications, and other job characteristics. Use of
-        # these separate job fields is recommended.
-        #
-        # This field accepts and sanitizes HTML input, and also accepts
-        # bold, italic, ordered list, and unordered list markup tags.
-        #
-        # The maximum number of allowed characters is 100,000.
-    &quot;jobStartTime&quot;: &quot;A String&quot;, # Optional. The start timestamp of the job in UTC time zone. Typically this field
-        # is used for contracting engagements. Invalid timestamps are ignored.
-    &quot;degreeTypes&quot;: [ # Optional. The desired education degrees for the job, such as Bachelors, Masters.
-      &quot;A String&quot;,
-    ],
-    &quot;compensationInfo&quot;: { # Job compensation details. # Optional. Job compensation information.
-      &quot;annualizedTotalCompensationRange&quot;: { # Compensation range. # Output only. Annualized total compensation range. Computed as
-          # all compensation entries&#x27; CompensationEntry.compensation times
-          # CompensationEntry.expected_units_per_year.
-          #
-          # See CompensationEntry for explanation on compensation annualization.
-        &quot;maxCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
-            # to a maximal compensation value and the currency code is set to
-            # match the currency code of
-            # min_compensation.
-          &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
-              # The value must be between -999,999,999 and +999,999,999 inclusive.
-              # If `units` is positive, `nanos` must be positive or zero.
-              # If `units` is zero, `nanos` can be positive, zero, or negative.
-              # If `units` is negative, `nanos` must be negative or zero.
-              # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-          &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
-              # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
-          &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
-        },
-        &quot;minCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
-            # to zero and the currency code is set to match the
-            # currency code of max_compensation.
-          &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
-              # The value must be between -999,999,999 and +999,999,999 inclusive.
-              # If `units` is positive, `nanos` must be positive or zero.
-              # If `units` is zero, `nanos` can be positive, zero, or negative.
-              # If `units` is negative, `nanos` must be negative or zero.
-              # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-          &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
-              # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
-          &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
-        },
-      },
-      &quot;entries&quot;: [ # Optional. Job compensation information.
-          #
-          # At most one entry can be of type
-          # CompensationInfo.CompensationType.BASE, which is
-          # referred as ** base compensation entry ** for the job.
-        { # 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 or range.
-            # - and its expected_units_per_year is set or can be derived.
-            # Its annualized range is determined as (amount or range) times
-            # expected_units_per_year.
-          &quot;amount&quot;: { # Represents an amount of money with its currency type. # Optional. Compensation amount.
-            &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
-                # The value must be between -999,999,999 and +999,999,999 inclusive.
-                # If `units` is positive, `nanos` must be positive or zero.
-                # If `units` is zero, `nanos` can be positive, zero, or negative.
-                # If `units` is negative, `nanos` must be negative or zero.
-                # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-            &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
-                # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
-            &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
-          },
-          &quot;type&quot;: &quot;A String&quot;, # Optional. Compensation type.
-              #
-              # Default is CompensationUnit.COMPENSATION_TYPE_UNSPECIFIED.
-          &quot;range&quot;: { # Compensation range. # Optional. Compensation range.
-            &quot;maxCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
-                # to a maximal compensation value and the currency code is set to
-                # match the currency code of
-                # min_compensation.
-              &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
-                  # The value must be between -999,999,999 and +999,999,999 inclusive.
-                  # If `units` is positive, `nanos` must be positive or zero.
-                  # If `units` is zero, `nanos` can be positive, zero, or negative.
-                  # If `units` is negative, `nanos` must be negative or zero.
-                  # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-              &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
-                  # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
-              &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
-            },
-            &quot;minCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
-                # to zero and the currency code is set to match the
-                # currency code of max_compensation.
-              &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
-                  # The value must be between -999,999,999 and +999,999,999 inclusive.
-                  # If `units` is positive, `nanos` must be positive or zero.
-                  # If `units` is zero, `nanos` can be positive, zero, or negative.
-                  # If `units` is negative, `nanos` must be negative or zero.
-                  # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-              &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
-                  # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
-              &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
-            },
-          },
-          &quot;expectedUnitsPerYear&quot;: 3.14, # Optional. Expected number of units paid each year. If not specified, when
-              # Job.employment_types is FULLTIME, a default value is inferred
-              # based on unit. Default values:
-              # - HOURLY: 2080
-              # - DAILY: 260
-              # - WEEKLY: 52
-              # - MONTHLY: 12
-              # - ANNUAL: 1
-          &quot;description&quot;: &quot;A String&quot;, # Optional. Compensation description.  For example, could
-              # indicate equity terms or provide additional context to an estimated
-              # bonus.
-          &quot;unit&quot;: &quot;A String&quot;, # Optional. Frequency of the specified amount.
-              #
-              # Default is CompensationUnit.COMPENSATION_UNIT_UNSPECIFIED.
-        },
-      ],
-      &quot;annualizedBaseCompensationRange&quot;: { # Compensation range. # Output only. Annualized base compensation range. Computed as
-          # base compensation entry&#x27;s CompensationEntry.compensation times
-          # CompensationEntry.expected_units_per_year.
-          #
-          # See CompensationEntry for explanation on compensation annualization.
-        &quot;maxCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
-            # to a maximal compensation value and the currency code is set to
-            # match the currency code of
-            # min_compensation.
-          &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
-              # The value must be between -999,999,999 and +999,999,999 inclusive.
-              # If `units` is positive, `nanos` must be positive or zero.
-              # If `units` is zero, `nanos` can be positive, zero, or negative.
-              # If `units` is negative, `nanos` must be negative or zero.
-              # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-          &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
-              # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
-          &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
-        },
-        &quot;minCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
-            # to zero and the currency code is set to match the
-            # currency code of max_compensation.
-          &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
-              # The value must be between -999,999,999 and +999,999,999 inclusive.
-              # If `units` is positive, `nanos` must be positive or zero.
-              # If `units` is zero, `nanos` can be positive, zero, or negative.
-              # If `units` is negative, `nanos` must be negative or zero.
-              # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-          &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
-              # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
-          &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
-        },
-      },
-    },
-    &quot;responsibilities&quot;: &quot;A String&quot;, # Optional. A description of job responsibilities. The use of this field is
-        # recommended as an alternative to using the more general description
-        # field.
-        #
-        # This field accepts and sanitizes HTML input, and also accepts
-        # bold, italic, ordered list, and unordered list markup tags.
-        #
-        # The maximum number of allowed characters is 10,000.
-    &quot;department&quot;: &quot;A String&quot;, # Optional. The department or functional area within the company with the open
-        # position.
-        #
-        # The maximum number of allowed characters is 255.
     &quot;applicationInfo&quot;: { # Application related details of a job posting. # Required. At least one field within ApplicationInfo must be specified.
         #
         # Job application information.
+      &quot;instruction&quot;: &quot;A String&quot;, # Optional but at least one of uris,
+          # emails or instruction must be
+          # specified.
+          #
+          # Use this field to provide instructions, such as &quot;Mail your application
+          # to ...&quot;, that a candidate can follow to apply for the job.
+          #
+          # This field accepts and sanitizes HTML input, and also accepts
+          # bold, italic, ordered list, and unordered list markup tags.
+          #
+          # The maximum number of allowed characters is 3,000.
       &quot;uris&quot;: [ # Optional but at least one of uris,
           # emails or instruction must be
           # specified.
@@ -1698,18 +1325,81 @@
           # The maximum number of allowed characters for each entry is 255.
         &quot;A String&quot;,
       ],
-      &quot;instruction&quot;: &quot;A String&quot;, # Optional but at least one of uris,
-          # emails or instruction must be
-          # specified.
-          #
-          # Use this field to provide instructions, such as &quot;Mail your application
-          # to ...&quot;, that a candidate can follow to apply for the job.
-          #
-          # This field accepts and sanitizes HTML input, and also accepts
-          # bold, italic, ordered list, and unordered list markup tags.
-          #
-          # The maximum number of allowed characters is 3,000.
     },
+    &quot;responsibilities&quot;: &quot;A String&quot;, # Optional. A description of job responsibilities. The use of this field is
+        # recommended as an alternative to using the more general description
+        # field.
+        #
+        # This field accepts and sanitizes HTML input, and also accepts
+        # bold, italic, ordered list, and unordered list markup tags.
+        #
+        # The maximum number of allowed characters is 10,000.
+    &quot;companyName&quot;: &quot;A String&quot;, # Required. The resource name of the company listing the job, such as
+        # &quot;projects/api-test-project/companies/foo&quot;.
+    &quot;promotionValue&quot;: 42, # Optional. A promotion value of the job, as determined by the client.
+        # The value determines the sort order of the jobs returned when searching for
+        # jobs using the featured jobs search call, with higher promotional values
+        # being returned first and ties being resolved by relevance sort. Only the
+        # jobs with a promotionValue &gt;0 are returned in a FEATURED_JOB_SEARCH.
+        #
+        # Default value is 0, and negative values are treated as 0.
+    &quot;degreeTypes&quot;: [ # Optional. The desired education degrees for the job, such as Bachelors, Masters.
+      &quot;A String&quot;,
+    ],
+    &quot;description&quot;: &quot;A String&quot;, # Required. The description of the job, which typically includes a multi-paragraph
+        # description of the company and related information. Separate fields are
+        # provided on the job object for responsibilities,
+        # qualifications, and other job characteristics. Use of
+        # these separate job fields is recommended.
+        #
+        # This field accepts and sanitizes HTML input, and also accepts
+        # bold, italic, ordered list, and unordered list markup tags.
+        #
+        # The maximum number of allowed characters is 100,000.
+    &quot;title&quot;: &quot;A String&quot;, # Required. The title of the job, such as &quot;Software Engineer&quot;
+        #
+        # The maximum number of allowed characters is 500.
+    &quot;postingPublishTime&quot;: &quot;A String&quot;, # Optional. The timestamp this job posting was most recently published. The default
+        # value is the time the request arrives at the server. Invalid timestamps are
+        # ignored.
+    &quot;postingCreateTime&quot;: &quot;A String&quot;, # Output only. The timestamp when this job posting was created.
+    &quot;incentives&quot;: &quot;A String&quot;, # Optional. A description of bonus, commission, and other compensation
+        # incentives associated with the job not including salary or pay.
+        #
+        # The maximum number of allowed characters is 10,000.
+    &quot;jobEndTime&quot;: &quot;A String&quot;, # Optional. The end timestamp of the job. Typically this field is used for contracting
+        # engagements. Invalid timestamps are ignored.
+    &quot;addresses&quot;: [ # Optional but strongly recommended for the best service experience.
+        #
+        # Location(s) where the employer is looking to hire for this job posting.
+        #
+        # Specifying the full street address(es) of the hiring location enables
+        # better API results, especially job searches by commute time.
+        #
+        # At most 50 locations are allowed for best search performance. If a job has
+        # more locations, it is suggested to split it into multiple jobs with unique
+        # requisition_ids (e.g. &#x27;ReqA&#x27; becomes &#x27;ReqA-1&#x27;, &#x27;ReqA-2&#x27;, etc.) as
+        # multiple jobs with the same company_name, language_code and
+        # requisition_id are not allowed. If the original requisition_id must
+        # be preserved, a custom field should be used for storage. It is also
+        # suggested to group the locations that close to each other in the same job
+        # for better search experience.
+        #
+        # The maximum number of allowed characters is 500.
+      &quot;A String&quot;,
+    ],
+    &quot;jobLevel&quot;: &quot;A String&quot;, # Optional. The experience level associated with the job, such as &quot;Entry Level&quot;.
+    &quot;jobBenefits&quot;: [ # Optional. The benefits included with the job.
+      &quot;A String&quot;,
+    ],
+    &quot;qualifications&quot;: &quot;A String&quot;, # Optional. A description of the qualifications required to perform the
+        # job. The use of this field is recommended
+        # as an alternative to using the more general description field.
+        #
+        # This field accepts and sanitizes HTML input, and also accepts
+        # bold, italic, ordered list, and unordered list markup tags.
+        #
+        # The maximum number of allowed characters is 10,000.
     &quot;postingRegion&quot;: &quot;A String&quot;, # Optional. The job PostingRegion (for example, state, country) throughout which
         # the job is available. If this field is set, a
         # LocationFilter in a search query within the job region
@@ -1717,6 +1407,54 @@
         # If this field is set to PostingRegion.NATION or
         # PostingRegion.ADMINISTRATIVE_AREA, setting job Job.addresses
         # to the same location level as this field is strongly recommended.
+    &quot;customAttributes&quot;: { # Optional. A map of fields to hold both filterable and non-filterable custom job
+        # attributes that are not covered by the provided structured fields.
+        #
+        # The keys of the map are strings up to 64 bytes and must match the
+        # pattern: a-zA-Z*. For example, key0LikeThis or
+        # KEY_1_LIKE_THIS.
+        #
+        # At most 100 filterable and at most 100 unfilterable keys are supported.
+        # For filterable `string_values`, across all keys at most 200 values are
+        # allowed, with each string no more than 255 characters. For unfilterable
+        # `string_values`, the maximum total size of `string_values` across all keys
+        # is 50KB.
+      &quot;a_key&quot;: { # Custom attribute values that are either filterable or non-filterable.
+        &quot;filterable&quot;: True or False, # Optional. If the `filterable` flag is true, the custom field values may be used for
+            # custom attribute filters JobQuery.custom_attribute_filter.
+            # If false, these values may not be used for custom attribute filters.
+            #
+            # Default is false.
+        &quot;stringValues&quot;: [ # Optional but exactly one of string_values or long_values must
+            # be specified.
+            #
+            # This field is used to perform a string match (`CASE_SENSITIVE_MATCH` or
+            # `CASE_INSENSITIVE_MATCH`) search.
+            # For filterable `string_value`s, a maximum total number of 200 values
+            # is allowed, with each `string_value` has a byte size of no more than
+            # 500B. For unfilterable `string_values`, the maximum total byte size of
+            # unfilterable `string_values` is 50KB.
+            #
+            # Empty string is not allowed.
+          &quot;A String&quot;,
+        ],
+        &quot;longValues&quot;: [ # Optional but exactly one of string_values or long_values must
+            # be specified.
+            #
+            # This field is used to perform number range search.
+            # (`EQ`, `GT`, `GE`, `LE`, `LT`) over filterable `long_value`.
+            #
+            # Currently at most 1 long_values is supported.
+          &quot;A String&quot;,
+        ],
+      },
+    },
+    &quot;postingUpdateTime&quot;: &quot;A String&quot;, # Output only. The timestamp when this job posting was last updated.
+    &quot;employmentTypes&quot;: [ # Optional. The employment type(s) of a job, for example,
+        # full time or
+        # part time.
+      &quot;A String&quot;,
+    ],
     &quot;postingExpireTime&quot;: &quot;A String&quot;, # Optional but strongly recommended for the best service
         # experience.
         #
@@ -1750,52 +1488,163 @@
         # expiry_time, or the masks are empty meaning that every field is
         # updated, the job posting expires after 30 days from the job&#x27;s last
         # update time. Otherwise the expiration date isn&#x27;t updated.
-    &quot;postingPublishTime&quot;: &quot;A String&quot;, # Optional. The timestamp this job posting was most recently published. The default
-        # value is the time the request arrives at the server. Invalid timestamps are
-        # ignored.
-    &quot;customAttributes&quot;: { # Optional. A map of fields to hold both filterable and non-filterable custom job
-        # attributes that are not covered by the provided structured fields.
+    &quot;department&quot;: &quot;A String&quot;, # Optional. The department or functional area within the company with the open
+        # position.
         #
-        # The keys of the map are strings up to 64 bytes and must match the
-        # pattern: a-zA-Z*. For example, key0LikeThis or
-        # KEY_1_LIKE_THIS.
+        # The maximum number of allowed characters is 255.
+    &quot;derivedInfo&quot;: { # Output only. # Output only. Derived details about the job posting.
         #
-        # At most 100 filterable and at most 100 unfilterable keys are supported.
-        # For filterable `string_values`, across all keys at most 200 values are
-        # allowed, with each string no more than 255 characters. For unfilterable
-        # `string_values`, the maximum total size of `string_values` across all keys
-        # is 50KB.
-      &quot;a_key&quot;: { # Custom attribute values that are either filterable or non-filterable.
-        &quot;stringValues&quot;: [ # Optional but exactly one of string_values or long_values must
-            # be specified.
+        # Derived details about the job posting.
+      &quot;locations&quot;: [ # Structured locations of the job, resolved from Job.addresses.
+          #
+          # locations are exactly matched to Job.addresses in the same
+          # order.
+        { # Output only.
             #
-            # This field is used to perform a string match (`CASE_SENSITIVE_MATCH` or
-            # `CASE_INSENSITIVE_MATCH`) search.
-            # For filterable `string_value`s, a maximum total number of 200 values
-            # is allowed, with each `string_value` has a byte size of no more than
-            # 500B. For unfilterable `string_values`, the maximum total byte size of
-            # unfilterable `string_values` is 50KB.
-            #
-            # Empty string is not allowed.
-          &quot;A String&quot;,
-        ],
-        &quot;filterable&quot;: True or False, # Optional. If the `filterable` flag is true, the custom field values may be used for
-            # custom attribute filters JobQuery.custom_attribute_filter.
-            # If false, these values may not be used for custom attribute filters.
-            #
-            # Default is false.
-        &quot;longValues&quot;: [ # Optional but exactly one of string_values or long_values must
-            # be specified.
-            #
-            # This field is used to perform number range search.
-            # (`EQ`, `GT`, `GE`, `LE`, `LT`) over filterable `long_value`.
-            #
-            # Currently at most 1 long_values is supported.
-          &quot;A String&quot;,
-        ],
-      },
+            # A resource that represents a location with full geographic information.
+          &quot;postalAddress&quot;: { # Represents a postal address, e.g. for postal delivery or payments addresses. # Postal address of the location that includes human readable information,
+              # such as postal delivery and payments addresses. Given a postal address,
+              # a postal service can deliver items to a premises, P.O. Box, or other
+              # delivery location.
+              # Given a postal address, a postal service can deliver items to a premise, P.O.
+              # Box or similar.
+              # It is not intended to model geographical locations (roads, towns,
+              # mountains).
+              #
+              # In typical usage an address would be created via user input or from importing
+              # existing data, depending on the type of process.
+              #
+              # Advice on address input / editing:
+              #  - Use an i18n-ready address widget such as
+              #    https://github.com/google/libaddressinput)
+              # - Users should not be presented with UI elements for input or editing of
+              #   fields outside countries where that field is used.
+              #
+              # For more guidance on how to use this schema, please see:
+              # https://support.google.com/business/answer/6397478
+            &quot;organization&quot;: &quot;A String&quot;, # Optional. The name of the organization at the address.
+            &quot;sublocality&quot;: &quot;A String&quot;, # Optional. Sublocality of the address.
+                # For example, this can be neighborhoods, boroughs, districts.
+            &quot;languageCode&quot;: &quot;A String&quot;, # Optional. BCP-47 language code of the contents of this address (if
+                # known). This is often the UI language of the input form or is expected
+                # to match one of the languages used in the address&#x27; country/region, or their
+                # transliterated equivalents.
+                # This can affect formatting in certain countries, but is not critical
+                # to the correctness of the data and will never affect any validation or
+                # other non-formatting related operations.
+                #
+                # If this value is not known, it should be omitted (rather than specifying a
+                # possibly incorrect default).
+                #
+                # Examples: &quot;zh-Hant&quot;, &quot;ja&quot;, &quot;ja-Latn&quot;, &quot;en&quot;.
+            &quot;administrativeArea&quot;: &quot;A String&quot;, # Optional. Highest administrative subdivision which is used for postal
+                # addresses of a country or region.
+                # For example, this can be a state, a province, an oblast, or a prefecture.
+                # Specifically, for Spain this is the province and not the autonomous
+                # community (e.g. &quot;Barcelona&quot; and not &quot;Catalonia&quot;).
+                # Many countries don&#x27;t use an administrative area in postal addresses. E.g.
+                # in Switzerland this should be left unpopulated.
+            &quot;locality&quot;: &quot;A String&quot;, # Optional. Generally refers to the city/town portion of the address.
+                # Examples: US city, IT comune, UK post town.
+                # In regions of the world where localities are not well defined or do not fit
+                # into this structure well, leave locality empty and use address_lines.
+            &quot;recipients&quot;: [ # Optional. The recipient at the address.
+                # This field may, under certain circumstances, contain multiline information.
+                # For example, it might contain &quot;care of&quot; information.
+              &quot;A String&quot;,
+            ],
+            &quot;revision&quot;: 42, # The schema revision of the `PostalAddress`. This must be set to 0, which is
+                # the latest revision.
+                #
+                # All new revisions **must** be backward compatible with old revisions.
+            &quot;postalCode&quot;: &quot;A String&quot;, # Optional. Postal code of the address. Not all countries use or require
+                # postal codes to be present, but where they are used, they may trigger
+                # additional validation with other parts of the address (e.g. state/zip
+                # validation in the U.S.A.).
+            &quot;sortingCode&quot;: &quot;A String&quot;, # Optional. Additional, country-specific, sorting code. This is not used
+                # in most regions. Where it is used, the value is either a string like
+                # &quot;CEDEX&quot;, optionally followed by a number (e.g. &quot;CEDEX 7&quot;), or just a number
+                # alone, representing the &quot;sector code&quot; (Jamaica), &quot;delivery area indicator&quot;
+                # (Malawi) or &quot;post office indicator&quot; (e.g. Côte d&#x27;Ivoire).
+            &quot;regionCode&quot;: &quot;A String&quot;, # Required. CLDR region code of the country/region of the address. This
+                # is never inferred and it is up to the user to ensure the value is
+                # correct. See http://cldr.unicode.org/ and
+                # http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html
+                # for details. Example: &quot;CH&quot; for Switzerland.
+            &quot;addressLines&quot;: [ # Unstructured address lines describing the lower levels of an address.
+                #
+                # Because values in address_lines do not have type information and may
+                # sometimes contain multiple values in a single field (e.g.
+                # &quot;Austin, TX&quot;), it is important that the line order is clear. The order of
+                # address lines should be &quot;envelope order&quot; for the country/region of the
+                # address. In places where this can vary (e.g. Japan), address_language is
+                # used to make it explicit (e.g. &quot;ja&quot; for large-to-small ordering and
+                # &quot;ja-Latn&quot; or &quot;en&quot; for small-to-large). This way, the most specific line of
+                # an address can be selected based on the language.
+                #
+                # The minimum permitted structural representation of an address consists
+                # of a region_code with all remaining information placed in the
+                # address_lines. It would be possible to format such an address very
+                # approximately without geocoding, but no semantic reasoning could be
+                # made about any of the address components until it was at least
+                # partially resolved.
+                #
+                # Creating an address only containing a region_code and address_lines, and
+                # then geocoding is the recommended way to handle completely unstructured
+                # addresses (as opposed to guessing which parts of the address should be
+                # localities or administrative areas).
+              &quot;A String&quot;,
+            ],
+          },
+          &quot;radiusInMiles&quot;: 3.14, # Radius in miles of the job location. This value is derived from the
+              # location bounding box in which a circle with the specified radius
+              # centered from LatLng covers the area associated with the job location.
+              # For example, currently, &quot;Mountain View, CA, USA&quot; has a radius of
+              # 6.17 miles.
+          &quot;locationType&quot;: &quot;A String&quot;, # The type of a location, which corresponds to the address lines field of
+              # PostalAddress. For example, &quot;Downtown, Atlanta, GA, USA&quot; has a type of
+              # LocationType#NEIGHBORHOOD, and &quot;Kansas City, KS, USA&quot; has a type of
+              # LocationType#LOCALITY.
+          &quot;latLng&quot;: { # An object representing a latitude/longitude pair. This is expressed as a pair # An object representing a latitude/longitude pair.
+              # of doubles representing degrees latitude and degrees longitude. Unless
+              # specified otherwise, this must conform to the
+              # &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
+              # standard&lt;/a&gt;. Values must be within normalized ranges.
+            &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+            &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+          },
+        },
+      ],
+      &quot;jobCategories&quot;: [ # Job categories derived from Job.title and Job.description.
+        &quot;A String&quot;,
+      ],
     },
-    &quot;jobLevel&quot;: &quot;A String&quot;, # Optional. The experience level associated with the job, such as &quot;Entry Level&quot;.
+    &quot;jobStartTime&quot;: &quot;A String&quot;, # Optional. The start timestamp of the job in UTC time zone. Typically this field
+        # is used for contracting engagements. Invalid timestamps are ignored.
+    &quot;visibility&quot;: &quot;A String&quot;, # Deprecated. The job is only visible to the owner.
+        #
+        # The visibility of the job.
+        #
+        # Defaults to Visibility.ACCOUNT_ONLY if not specified.
+    &quot;processingOptions&quot;: { # Input only. # Optional. Options for job processing.
+        #
+        # Options for job processing.
+      &quot;disableStreetAddressResolution&quot;: True or False, # Optional. If set to `true`, the service does not attempt to resolve a
+          # more precise address for the job.
+      &quot;htmlSanitization&quot;: &quot;A String&quot;, # Optional. Option for job HTML content sanitization. Applied fields are:
+          #
+          # * description
+          # * applicationInfo.instruction
+          # * incentives
+          # * qualifications
+          # * responsibilities
+          #
+          # HTML tags in these fields may be stripped if sanitiazation is not
+          # disabled.
+          #
+          # Defaults to HtmlSanitization.SIMPLE_FORMATTING_ONLY.
+    },
+    &quot;companyDisplayName&quot;: &quot;A String&quot;, # Output only. Display name of the company listing the job.
     &quot;languageCode&quot;: &quot;A String&quot;, # Optional. The language of the posting. This field is distinct from
         # any requirements for fluency that are associated with the job.
         #
@@ -1807,17 +1656,168 @@
         # If this field is unspecified and Job.description is present, detected
         # language code based on Job.description is assigned, otherwise
         # defaults to &#x27;en_US&#x27;.
-    &quot;visibility&quot;: &quot;A String&quot;, # Deprecated. The job is only visible to the owner.
+    &quot;compensationInfo&quot;: { # Job compensation details. # Optional. Job compensation information.
+      &quot;annualizedBaseCompensationRange&quot;: { # Compensation range. # Output only. Annualized base compensation range. Computed as
+          # base compensation entry&#x27;s CompensationEntry.compensation times
+          # CompensationEntry.expected_units_per_year.
+          #
+          # See CompensationEntry for explanation on compensation annualization.
+        &quot;maxCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
+            # to a maximal compensation value and the currency code is set to
+            # match the currency code of
+            # min_compensation.
+          &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+              # The value must be between -999,999,999 and +999,999,999 inclusive.
+              # If `units` is positive, `nanos` must be positive or zero.
+              # If `units` is zero, `nanos` can be positive, zero, or negative.
+              # If `units` is negative, `nanos` must be negative or zero.
+              # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+          &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+          &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+              # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+        },
+        &quot;minCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
+            # to zero and the currency code is set to match the
+            # currency code of max_compensation.
+          &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+              # The value must be between -999,999,999 and +999,999,999 inclusive.
+              # If `units` is positive, `nanos` must be positive or zero.
+              # If `units` is zero, `nanos` can be positive, zero, or negative.
+              # If `units` is negative, `nanos` must be negative or zero.
+              # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+          &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+          &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+              # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+        },
+      },
+      &quot;annualizedTotalCompensationRange&quot;: { # Compensation range. # Output only. Annualized total compensation range. Computed as
+          # all compensation entries&#x27; CompensationEntry.compensation times
+          # CompensationEntry.expected_units_per_year.
+          #
+          # See CompensationEntry for explanation on compensation annualization.
+        &quot;maxCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
+            # to a maximal compensation value and the currency code is set to
+            # match the currency code of
+            # min_compensation.
+          &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+              # The value must be between -999,999,999 and +999,999,999 inclusive.
+              # If `units` is positive, `nanos` must be positive or zero.
+              # If `units` is zero, `nanos` can be positive, zero, or negative.
+              # If `units` is negative, `nanos` must be negative or zero.
+              # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+          &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+          &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+              # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+        },
+        &quot;minCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
+            # to zero and the currency code is set to match the
+            # currency code of max_compensation.
+          &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+              # The value must be between -999,999,999 and +999,999,999 inclusive.
+              # If `units` is positive, `nanos` must be positive or zero.
+              # If `units` is zero, `nanos` can be positive, zero, or negative.
+              # If `units` is negative, `nanos` must be negative or zero.
+              # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+          &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+          &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+              # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+        },
+      },
+      &quot;entries&quot;: [ # Optional. Job compensation information.
+          #
+          # At most one entry can be of type
+          # CompensationInfo.CompensationType.BASE, which is
+          # referred as ** base compensation entry ** for the job.
+        { # 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 or range.
+            # - and its expected_units_per_year is set or can be derived.
+            # Its annualized range is determined as (amount or range) times
+            # expected_units_per_year.
+          &quot;unit&quot;: &quot;A String&quot;, # Optional. Frequency of the specified amount.
+              #
+              # Default is CompensationUnit.COMPENSATION_UNIT_UNSPECIFIED.
+          &quot;expectedUnitsPerYear&quot;: 3.14, # Optional. Expected number of units paid each year. If not specified, when
+              # Job.employment_types is FULLTIME, a default value is inferred
+              # based on unit. Default values:
+              # - HOURLY: 2080
+              # - DAILY: 260
+              # - WEEKLY: 52
+              # - MONTHLY: 12
+              # - ANNUAL: 1
+          &quot;range&quot;: { # Compensation range. # Optional. Compensation range.
+            &quot;maxCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
+                # to a maximal compensation value and the currency code is set to
+                # match the currency code of
+                # min_compensation.
+              &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                  # The value must be between -999,999,999 and +999,999,999 inclusive.
+                  # If `units` is positive, `nanos` must be positive or zero.
+                  # If `units` is zero, `nanos` can be positive, zero, or negative.
+                  # If `units` is negative, `nanos` must be negative or zero.
+                  # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+              &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+              &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                  # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+            },
+            &quot;minCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
+                # to zero and the currency code is set to match the
+                # currency code of max_compensation.
+              &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                  # The value must be between -999,999,999 and +999,999,999 inclusive.
+                  # If `units` is positive, `nanos` must be positive or zero.
+                  # If `units` is zero, `nanos` can be positive, zero, or negative.
+                  # If `units` is negative, `nanos` must be negative or zero.
+                  # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+              &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+              &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                  # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+            },
+          },
+          &quot;description&quot;: &quot;A String&quot;, # Optional. Compensation description.  For example, could
+              # indicate equity terms or provide additional context to an estimated
+              # bonus.
+          &quot;type&quot;: &quot;A String&quot;, # Optional. Compensation type.
+              #
+              # Default is CompensationUnit.COMPENSATION_TYPE_UNSPECIFIED.
+          &quot;amount&quot;: { # Represents an amount of money with its currency type. # Optional. Compensation amount.
+            &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                # The value must be between -999,999,999 and +999,999,999 inclusive.
+                # If `units` is positive, `nanos` must be positive or zero.
+                # If `units` is zero, `nanos` can be positive, zero, or negative.
+                # If `units` is negative, `nanos` must be negative or zero.
+                # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+            &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+            &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+          },
+        },
+      ],
+    },
+    &quot;name&quot;: &quot;A String&quot;, # Required during job update.
         #
-        # The visibility of the job.
+        # The resource name for the job. This is generated by the service when a
+        # job is created.
         #
-        # Defaults to Visibility.ACCOUNT_ONLY if not specified.
-    &quot;postingUpdateTime&quot;: &quot;A String&quot;, # Output only. The timestamp when this job posting was last updated.
+        # The format is &quot;projects/{project_id}/jobs/{job_id}&quot;,
+        # for example, &quot;projects/api-test-project/jobs/1234&quot;.
+        #
+        # Use of this field in job queries and API calls is preferred over the use of
+        # requisition_id since this value is unique.
+    &quot;requisitionId&quot;: &quot;A String&quot;, # Required. The requisition ID, also referred to as the posting ID, assigned by the
+        # client to identify a job. This field is intended to be used by clients
+        # for client identification and tracking of postings. A job is not allowed
+        # to be created if there is another job with the same [company_name],
+        # language_code and requisition_id.
+        #
+        # The maximum number of allowed characters is 255.
   }</pre>
 </div>
 
 <div class="method">
-    <code class="details" id="list">list(parent, pageToken=None, pageSize=None, filter=None, jobView=None, x__xgafv=None)</code>
+    <code class="details" id="list">list(parent, filter=None, pageToken=None, jobView=None, pageSize=None, x__xgafv=None)</code>
   <pre>Lists jobs by filter.
 
 Args:
@@ -1825,13 +1825,6 @@
 
 The format is &quot;projects/{project_id}&quot;, for example,
 &quot;projects/api-test-project&quot;. (required)
-  pageToken: string, Optional. The starting point of a query result.
-  pageSize: integer, Optional. The maximum number of jobs to be returned per page of results.
-
-If job_view is set to JobView.JOB_VIEW_ID_ONLY, the maximum allowed
-page size is 1000. Otherwise, the maximum allowed page size is 100.
-
-Default is 100 if empty or a number &lt; 1 is specified.
   filter: string, Required. The filter string specifies the jobs to be enumerated.
 
 Supported operator: =, AND
@@ -1846,9 +1839,16 @@
 * companyName = &quot;projects/api-test-project/companies/123&quot;
 * companyName = &quot;projects/api-test-project/companies/123&quot; AND requisitionId
 = &quot;req-1&quot;
+  pageToken: string, Optional. The starting point of a query result.
   jobView: string, Optional. The desired job attributes returned for jobs in the
 search response. Defaults to JobView.JOB_VIEW_FULL if no value is
 specified.
+  pageSize: integer, Optional. The maximum number of jobs to be returned per page of results.
+
+If job_view is set to JobView.JOB_VIEW_ID_ONLY, the maximum allowed
+page size is 1000. Otherwise, the maximum allowed page size is 100.
+
+Default is 100 if empty or a number &lt; 1 is specified.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -1875,393 +1875,20 @@
       { # A Job resource represents a job posting (also referred to as a &quot;job listing&quot;
           # or &quot;job requisition&quot;). A job belongs to a Company, which is the hiring
           # entity responsible for the job.
-        &quot;name&quot;: &quot;A String&quot;, # Required during job update.
-            #
-            # The resource name for the job. This is generated by the service when a
-            # job is created.
-            #
-            # The format is &quot;projects/{project_id}/jobs/{job_id}&quot;,
-            # for example, &quot;projects/api-test-project/jobs/1234&quot;.
-            #
-            # Use of this field in job queries and API calls is preferred over the use of
-            # requisition_id since this value is unique.
-        &quot;jobBenefits&quot;: [ # Optional. The benefits included with the job.
-          &quot;A String&quot;,
-        ],
-        &quot;promotionValue&quot;: 42, # Optional. A promotion value of the job, as determined by the client.
-            # The value determines the sort order of the jobs returned when searching for
-            # jobs using the featured jobs search call, with higher promotional values
-            # being returned first and ties being resolved by relevance sort. Only the
-            # jobs with a promotionValue &gt;0 are returned in a FEATURED_JOB_SEARCH.
-            #
-            # Default value is 0, and negative values are treated as 0.
-        &quot;title&quot;: &quot;A String&quot;, # Required. The title of the job, such as &quot;Software Engineer&quot;
-            #
-            # The maximum number of allowed characters is 500.
-        &quot;companyDisplayName&quot;: &quot;A String&quot;, # Output only. Display name of the company listing the job.
-        &quot;qualifications&quot;: &quot;A String&quot;, # Optional. A description of the qualifications required to perform the
-            # job. The use of this field is recommended
-            # as an alternative to using the more general description field.
-            #
-            # This field accepts and sanitizes HTML input, and also accepts
-            # bold, italic, ordered list, and unordered list markup tags.
-            #
-            # The maximum number of allowed characters is 10,000.
-        &quot;requisitionId&quot;: &quot;A String&quot;, # Required. The requisition ID, also referred to as the posting ID, assigned by the
-            # client to identify a job. This field is intended to be used by clients
-            # for client identification and tracking of postings. A job is not allowed
-            # to be created if there is another job with the same [company_name],
-            # language_code and requisition_id.
-            #
-            # The maximum number of allowed characters is 255.
-        &quot;processingOptions&quot;: { # Input only. # Optional. Options for job processing.
-            #
-            # Options for job processing.
-          &quot;disableStreetAddressResolution&quot;: True or False, # Optional. If set to `true`, the service does not attempt to resolve a
-              # more precise address for the job.
-          &quot;htmlSanitization&quot;: &quot;A String&quot;, # Optional. Option for job HTML content sanitization. Applied fields are:
-              #
-              # * description
-              # * applicationInfo.instruction
-              # * incentives
-              # * qualifications
-              # * responsibilities
-              #
-              # HTML tags in these fields may be stripped if sanitiazation is not
-              # disabled.
-              #
-              # Defaults to HtmlSanitization.SIMPLE_FORMATTING_ONLY.
-        },
-        &quot;jobEndTime&quot;: &quot;A String&quot;, # Optional. The end timestamp of the job. Typically this field is used for contracting
-            # engagements. Invalid timestamps are ignored.
-        &quot;derivedInfo&quot;: { # Output only. # Output only. Derived details about the job posting.
-            #
-            # Derived details about the job posting.
-          &quot;locations&quot;: [ # Structured locations of the job, resolved from Job.addresses.
-              #
-              # locations are exactly matched to Job.addresses in the same
-              # order.
-            { # Output only.
-                #
-                # A resource that represents a location with full geographic information.
-              &quot;radiusInMiles&quot;: 3.14, # Radius in miles of the job location. This value is derived from the
-                  # location bounding box in which a circle with the specified radius
-                  # centered from LatLng covers the area associated with the job location.
-                  # For example, currently, &quot;Mountain View, CA, USA&quot; has a radius of
-                  # 6.17 miles.
-              &quot;latLng&quot;: { # An object representing a latitude/longitude pair. This is expressed as a pair # An object representing a latitude/longitude pair.
-                  # of doubles representing degrees latitude and degrees longitude. Unless
-                  # specified otherwise, this must conform to the
-                  # &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
-                  # standard&lt;/a&gt;. Values must be within normalized ranges.
-                &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
-                &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
-              },
-              &quot;postalAddress&quot;: { # Represents a postal address, e.g. for postal delivery or payments addresses. # Postal address of the location that includes human readable information,
-                  # such as postal delivery and payments addresses. Given a postal address,
-                  # a postal service can deliver items to a premises, P.O. Box, or other
-                  # delivery location.
-                  # Given a postal address, a postal service can deliver items to a premise, P.O.
-                  # Box or similar.
-                  # It is not intended to model geographical locations (roads, towns,
-                  # mountains).
-                  #
-                  # In typical usage an address would be created via user input or from importing
-                  # existing data, depending on the type of process.
-                  #
-                  # Advice on address input / editing:
-                  #  - Use an i18n-ready address widget such as
-                  #    https://github.com/google/libaddressinput)
-                  # - Users should not be presented with UI elements for input or editing of
-                  #   fields outside countries where that field is used.
-                  #
-                  # For more guidance on how to use this schema, please see:
-                  # https://support.google.com/business/answer/6397478
-                &quot;postalCode&quot;: &quot;A String&quot;, # Optional. Postal code of the address. Not all countries use or require
-                    # postal codes to be present, but where they are used, they may trigger
-                    # additional validation with other parts of the address (e.g. state/zip
-                    # validation in the U.S.A.).
-                &quot;languageCode&quot;: &quot;A String&quot;, # Optional. BCP-47 language code of the contents of this address (if
-                    # known). This is often the UI language of the input form or is expected
-                    # to match one of the languages used in the address&#x27; country/region, or their
-                    # transliterated equivalents.
-                    # This can affect formatting in certain countries, but is not critical
-                    # to the correctness of the data and will never affect any validation or
-                    # other non-formatting related operations.
-                    #
-                    # If this value is not known, it should be omitted (rather than specifying a
-                    # possibly incorrect default).
-                    #
-                    # Examples: &quot;zh-Hant&quot;, &quot;ja&quot;, &quot;ja-Latn&quot;, &quot;en&quot;.
-                &quot;sortingCode&quot;: &quot;A String&quot;, # Optional. Additional, country-specific, sorting code. This is not used
-                    # in most regions. Where it is used, the value is either a string like
-                    # &quot;CEDEX&quot;, optionally followed by a number (e.g. &quot;CEDEX 7&quot;), or just a number
-                    # alone, representing the &quot;sector code&quot; (Jamaica), &quot;delivery area indicator&quot;
-                    # (Malawi) or &quot;post office indicator&quot; (e.g. Côte d&#x27;Ivoire).
-                &quot;recipients&quot;: [ # Optional. The recipient at the address.
-                    # This field may, under certain circumstances, contain multiline information.
-                    # For example, it might contain &quot;care of&quot; information.
-                  &quot;A String&quot;,
-                ],
-                &quot;sublocality&quot;: &quot;A String&quot;, # Optional. Sublocality of the address.
-                    # For example, this can be neighborhoods, boroughs, districts.
-                &quot;revision&quot;: 42, # The schema revision of the `PostalAddress`. This must be set to 0, which is
-                    # the latest revision.
-                    #
-                    # All new revisions **must** be backward compatible with old revisions.
-                &quot;locality&quot;: &quot;A String&quot;, # Optional. Generally refers to the city/town portion of the address.
-                    # Examples: US city, IT comune, UK post town.
-                    # In regions of the world where localities are not well defined or do not fit
-                    # into this structure well, leave locality empty and use address_lines.
-                &quot;administrativeArea&quot;: &quot;A String&quot;, # Optional. Highest administrative subdivision which is used for postal
-                    # addresses of a country or region.
-                    # For example, this can be a state, a province, an oblast, or a prefecture.
-                    # Specifically, for Spain this is the province and not the autonomous
-                    # community (e.g. &quot;Barcelona&quot; and not &quot;Catalonia&quot;).
-                    # Many countries don&#x27;t use an administrative area in postal addresses. E.g.
-                    # in Switzerland this should be left unpopulated.
-                &quot;organization&quot;: &quot;A String&quot;, # Optional. The name of the organization at the address.
-                &quot;addressLines&quot;: [ # Unstructured address lines describing the lower levels of an address.
-                    #
-                    # Because values in address_lines do not have type information and may
-                    # sometimes contain multiple values in a single field (e.g.
-                    # &quot;Austin, TX&quot;), it is important that the line order is clear. The order of
-                    # address lines should be &quot;envelope order&quot; for the country/region of the
-                    # address. In places where this can vary (e.g. Japan), address_language is
-                    # used to make it explicit (e.g. &quot;ja&quot; for large-to-small ordering and
-                    # &quot;ja-Latn&quot; or &quot;en&quot; for small-to-large). This way, the most specific line of
-                    # an address can be selected based on the language.
-                    #
-                    # The minimum permitted structural representation of an address consists
-                    # of a region_code with all remaining information placed in the
-                    # address_lines. It would be possible to format such an address very
-                    # approximately without geocoding, but no semantic reasoning could be
-                    # made about any of the address components until it was at least
-                    # partially resolved.
-                    #
-                    # Creating an address only containing a region_code and address_lines, and
-                    # then geocoding is the recommended way to handle completely unstructured
-                    # addresses (as opposed to guessing which parts of the address should be
-                    # localities or administrative areas).
-                  &quot;A String&quot;,
-                ],
-                &quot;regionCode&quot;: &quot;A String&quot;, # Required. CLDR region code of the country/region of the address. This
-                    # is never inferred and it is up to the user to ensure the value is
-                    # correct. See http://cldr.unicode.org/ and
-                    # http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html
-                    # for details. Example: &quot;CH&quot; for Switzerland.
-              },
-              &quot;locationType&quot;: &quot;A String&quot;, # The type of a location, which corresponds to the address lines field of
-                  # PostalAddress. For example, &quot;Downtown, Atlanta, GA, USA&quot; has a type of
-                  # LocationType#NEIGHBORHOOD, and &quot;Kansas City, KS, USA&quot; has a type of
-                  # LocationType#LOCALITY.
-            },
-          ],
-          &quot;jobCategories&quot;: [ # Job categories derived from Job.title and Job.description.
-            &quot;A String&quot;,
-          ],
-        },
-        &quot;incentives&quot;: &quot;A String&quot;, # Optional. A description of bonus, commission, and other compensation
-            # incentives associated with the job not including salary or pay.
-            #
-            # The maximum number of allowed characters is 10,000.
-        &quot;employmentTypes&quot;: [ # Optional. The employment type(s) of a job, for example,
-            # full time or
-            # part time.
-          &quot;A String&quot;,
-        ],
-        &quot;postingCreateTime&quot;: &quot;A String&quot;, # Output only. The timestamp when this job posting was created.
-        &quot;addresses&quot;: [ # Optional but strongly recommended for the best service experience.
-            #
-            # Location(s) where the employer is looking to hire for this job posting.
-            #
-            # Specifying the full street address(es) of the hiring location enables
-            # better API results, especially job searches by commute time.
-            #
-            # At most 50 locations are allowed for best search performance. If a job has
-            # more locations, it is suggested to split it into multiple jobs with unique
-            # requisition_ids (e.g. &#x27;ReqA&#x27; becomes &#x27;ReqA-1&#x27;, &#x27;ReqA-2&#x27;, etc.) as
-            # multiple jobs with the same company_name, language_code and
-            # requisition_id are not allowed. If the original requisition_id must
-            # be preserved, a custom field should be used for storage. It is also
-            # suggested to group the locations that close to each other in the same job
-            # for better search experience.
-            #
-            # The maximum number of allowed characters is 500.
-          &quot;A String&quot;,
-        ],
-        &quot;companyName&quot;: &quot;A String&quot;, # Required. The resource name of the company listing the job, such as
-            # &quot;projects/api-test-project/companies/foo&quot;.
-        &quot;description&quot;: &quot;A String&quot;, # Required. The description of the job, which typically includes a multi-paragraph
-            # description of the company and related information. Separate fields are
-            # provided on the job object for responsibilities,
-            # qualifications, and other job characteristics. Use of
-            # these separate job fields is recommended.
-            #
-            # This field accepts and sanitizes HTML input, and also accepts
-            # bold, italic, ordered list, and unordered list markup tags.
-            #
-            # The maximum number of allowed characters is 100,000.
-        &quot;jobStartTime&quot;: &quot;A String&quot;, # Optional. The start timestamp of the job in UTC time zone. Typically this field
-            # is used for contracting engagements. Invalid timestamps are ignored.
-        &quot;degreeTypes&quot;: [ # Optional. The desired education degrees for the job, such as Bachelors, Masters.
-          &quot;A String&quot;,
-        ],
-        &quot;compensationInfo&quot;: { # Job compensation details. # Optional. Job compensation information.
-          &quot;annualizedTotalCompensationRange&quot;: { # Compensation range. # Output only. Annualized total compensation range. Computed as
-              # all compensation entries&#x27; CompensationEntry.compensation times
-              # CompensationEntry.expected_units_per_year.
-              #
-              # See CompensationEntry for explanation on compensation annualization.
-            &quot;maxCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
-                # to a maximal compensation value and the currency code is set to
-                # match the currency code of
-                # min_compensation.
-              &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
-                  # The value must be between -999,999,999 and +999,999,999 inclusive.
-                  # If `units` is positive, `nanos` must be positive or zero.
-                  # If `units` is zero, `nanos` can be positive, zero, or negative.
-                  # If `units` is negative, `nanos` must be negative or zero.
-                  # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-              &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
-                  # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
-              &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
-            },
-            &quot;minCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
-                # to zero and the currency code is set to match the
-                # currency code of max_compensation.
-              &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
-                  # The value must be between -999,999,999 and +999,999,999 inclusive.
-                  # If `units` is positive, `nanos` must be positive or zero.
-                  # If `units` is zero, `nanos` can be positive, zero, or negative.
-                  # If `units` is negative, `nanos` must be negative or zero.
-                  # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-              &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
-                  # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
-              &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
-            },
-          },
-          &quot;entries&quot;: [ # Optional. Job compensation information.
-              #
-              # At most one entry can be of type
-              # CompensationInfo.CompensationType.BASE, which is
-              # referred as ** base compensation entry ** for the job.
-            { # 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 or range.
-                # - and its expected_units_per_year is set or can be derived.
-                # Its annualized range is determined as (amount or range) times
-                # expected_units_per_year.
-              &quot;amount&quot;: { # Represents an amount of money with its currency type. # Optional. Compensation amount.
-                &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
-                    # The value must be between -999,999,999 and +999,999,999 inclusive.
-                    # If `units` is positive, `nanos` must be positive or zero.
-                    # If `units` is zero, `nanos` can be positive, zero, or negative.
-                    # If `units` is negative, `nanos` must be negative or zero.
-                    # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-                &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
-                    # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
-                &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
-              },
-              &quot;type&quot;: &quot;A String&quot;, # Optional. Compensation type.
-                  #
-                  # Default is CompensationUnit.COMPENSATION_TYPE_UNSPECIFIED.
-              &quot;range&quot;: { # Compensation range. # Optional. Compensation range.
-                &quot;maxCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
-                    # to a maximal compensation value and the currency code is set to
-                    # match the currency code of
-                    # min_compensation.
-                  &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
-                      # The value must be between -999,999,999 and +999,999,999 inclusive.
-                      # If `units` is positive, `nanos` must be positive or zero.
-                      # If `units` is zero, `nanos` can be positive, zero, or negative.
-                      # If `units` is negative, `nanos` must be negative or zero.
-                      # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-                  &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
-                      # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
-                  &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
-                },
-                &quot;minCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
-                    # to zero and the currency code is set to match the
-                    # currency code of max_compensation.
-                  &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
-                      # The value must be between -999,999,999 and +999,999,999 inclusive.
-                      # If `units` is positive, `nanos` must be positive or zero.
-                      # If `units` is zero, `nanos` can be positive, zero, or negative.
-                      # If `units` is negative, `nanos` must be negative or zero.
-                      # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-                  &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
-                      # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
-                  &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
-                },
-              },
-              &quot;expectedUnitsPerYear&quot;: 3.14, # Optional. Expected number of units paid each year. If not specified, when
-                  # Job.employment_types is FULLTIME, a default value is inferred
-                  # based on unit. Default values:
-                  # - HOURLY: 2080
-                  # - DAILY: 260
-                  # - WEEKLY: 52
-                  # - MONTHLY: 12
-                  # - ANNUAL: 1
-              &quot;description&quot;: &quot;A String&quot;, # Optional. Compensation description.  For example, could
-                  # indicate equity terms or provide additional context to an estimated
-                  # bonus.
-              &quot;unit&quot;: &quot;A String&quot;, # Optional. Frequency of the specified amount.
-                  #
-                  # Default is CompensationUnit.COMPENSATION_UNIT_UNSPECIFIED.
-            },
-          ],
-          &quot;annualizedBaseCompensationRange&quot;: { # Compensation range. # Output only. Annualized base compensation range. Computed as
-              # base compensation entry&#x27;s CompensationEntry.compensation times
-              # CompensationEntry.expected_units_per_year.
-              #
-              # See CompensationEntry for explanation on compensation annualization.
-            &quot;maxCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
-                # to a maximal compensation value and the currency code is set to
-                # match the currency code of
-                # min_compensation.
-              &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
-                  # The value must be between -999,999,999 and +999,999,999 inclusive.
-                  # If `units` is positive, `nanos` must be positive or zero.
-                  # If `units` is zero, `nanos` can be positive, zero, or negative.
-                  # If `units` is negative, `nanos` must be negative or zero.
-                  # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-              &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
-                  # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
-              &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
-            },
-            &quot;minCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
-                # to zero and the currency code is set to match the
-                # currency code of max_compensation.
-              &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
-                  # The value must be between -999,999,999 and +999,999,999 inclusive.
-                  # If `units` is positive, `nanos` must be positive or zero.
-                  # If `units` is zero, `nanos` can be positive, zero, or negative.
-                  # If `units` is negative, `nanos` must be negative or zero.
-                  # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-              &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
-                  # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
-              &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
-            },
-          },
-        },
-        &quot;responsibilities&quot;: &quot;A String&quot;, # Optional. A description of job responsibilities. The use of this field is
-            # recommended as an alternative to using the more general description
-            # field.
-            #
-            # This field accepts and sanitizes HTML input, and also accepts
-            # bold, italic, ordered list, and unordered list markup tags.
-            #
-            # The maximum number of allowed characters is 10,000.
-        &quot;department&quot;: &quot;A String&quot;, # Optional. The department or functional area within the company with the open
-            # position.
-            #
-            # The maximum number of allowed characters is 255.
         &quot;applicationInfo&quot;: { # Application related details of a job posting. # Required. At least one field within ApplicationInfo must be specified.
             #
             # Job application information.
+          &quot;instruction&quot;: &quot;A String&quot;, # Optional but at least one of uris,
+              # emails or instruction must be
+              # specified.
+              #
+              # Use this field to provide instructions, such as &quot;Mail your application
+              # to ...&quot;, that a candidate can follow to apply for the job.
+              #
+              # This field accepts and sanitizes HTML input, and also accepts
+              # bold, italic, ordered list, and unordered list markup tags.
+              #
+              # The maximum number of allowed characters is 3,000.
           &quot;uris&quot;: [ # Optional but at least one of uris,
               # emails or instruction must be
               # specified.
@@ -2282,18 +1909,81 @@
               # The maximum number of allowed characters for each entry is 255.
             &quot;A String&quot;,
           ],
-          &quot;instruction&quot;: &quot;A String&quot;, # Optional but at least one of uris,
-              # emails or instruction must be
-              # specified.
-              #
-              # Use this field to provide instructions, such as &quot;Mail your application
-              # to ...&quot;, that a candidate can follow to apply for the job.
-              #
-              # This field accepts and sanitizes HTML input, and also accepts
-              # bold, italic, ordered list, and unordered list markup tags.
-              #
-              # The maximum number of allowed characters is 3,000.
         },
+        &quot;responsibilities&quot;: &quot;A String&quot;, # Optional. A description of job responsibilities. The use of this field is
+            # recommended as an alternative to using the more general description
+            # field.
+            #
+            # This field accepts and sanitizes HTML input, and also accepts
+            # bold, italic, ordered list, and unordered list markup tags.
+            #
+            # The maximum number of allowed characters is 10,000.
+        &quot;companyName&quot;: &quot;A String&quot;, # Required. The resource name of the company listing the job, such as
+            # &quot;projects/api-test-project/companies/foo&quot;.
+        &quot;promotionValue&quot;: 42, # Optional. A promotion value of the job, as determined by the client.
+            # The value determines the sort order of the jobs returned when searching for
+            # jobs using the featured jobs search call, with higher promotional values
+            # being returned first and ties being resolved by relevance sort. Only the
+            # jobs with a promotionValue &gt;0 are returned in a FEATURED_JOB_SEARCH.
+            #
+            # Default value is 0, and negative values are treated as 0.
+        &quot;degreeTypes&quot;: [ # Optional. The desired education degrees for the job, such as Bachelors, Masters.
+          &quot;A String&quot;,
+        ],
+        &quot;description&quot;: &quot;A String&quot;, # Required. The description of the job, which typically includes a multi-paragraph
+            # description of the company and related information. Separate fields are
+            # provided on the job object for responsibilities,
+            # qualifications, and other job characteristics. Use of
+            # these separate job fields is recommended.
+            #
+            # This field accepts and sanitizes HTML input, and also accepts
+            # bold, italic, ordered list, and unordered list markup tags.
+            #
+            # The maximum number of allowed characters is 100,000.
+        &quot;title&quot;: &quot;A String&quot;, # Required. The title of the job, such as &quot;Software Engineer&quot;
+            #
+            # The maximum number of allowed characters is 500.
+        &quot;postingPublishTime&quot;: &quot;A String&quot;, # Optional. The timestamp this job posting was most recently published. The default
+            # value is the time the request arrives at the server. Invalid timestamps are
+            # ignored.
+        &quot;postingCreateTime&quot;: &quot;A String&quot;, # Output only. The timestamp when this job posting was created.
+        &quot;incentives&quot;: &quot;A String&quot;, # Optional. A description of bonus, commission, and other compensation
+            # incentives associated with the job not including salary or pay.
+            #
+            # The maximum number of allowed characters is 10,000.
+        &quot;jobEndTime&quot;: &quot;A String&quot;, # Optional. The end timestamp of the job. Typically this field is used for contracting
+            # engagements. Invalid timestamps are ignored.
+        &quot;addresses&quot;: [ # Optional but strongly recommended for the best service experience.
+            #
+            # Location(s) where the employer is looking to hire for this job posting.
+            #
+            # Specifying the full street address(es) of the hiring location enables
+            # better API results, especially job searches by commute time.
+            #
+            # At most 50 locations are allowed for best search performance. If a job has
+            # more locations, it is suggested to split it into multiple jobs with unique
+            # requisition_ids (e.g. &#x27;ReqA&#x27; becomes &#x27;ReqA-1&#x27;, &#x27;ReqA-2&#x27;, etc.) as
+            # multiple jobs with the same company_name, language_code and
+            # requisition_id are not allowed. If the original requisition_id must
+            # be preserved, a custom field should be used for storage. It is also
+            # suggested to group the locations that close to each other in the same job
+            # for better search experience.
+            #
+            # The maximum number of allowed characters is 500.
+          &quot;A String&quot;,
+        ],
+        &quot;jobLevel&quot;: &quot;A String&quot;, # Optional. The experience level associated with the job, such as &quot;Entry Level&quot;.
+        &quot;jobBenefits&quot;: [ # Optional. The benefits included with the job.
+          &quot;A String&quot;,
+        ],
+        &quot;qualifications&quot;: &quot;A String&quot;, # Optional. A description of the qualifications required to perform the
+            # job. The use of this field is recommended
+            # as an alternative to using the more general description field.
+            #
+            # This field accepts and sanitizes HTML input, and also accepts
+            # bold, italic, ordered list, and unordered list markup tags.
+            #
+            # The maximum number of allowed characters is 10,000.
         &quot;postingRegion&quot;: &quot;A String&quot;, # Optional. The job PostingRegion (for example, state, country) throughout which
             # the job is available. If this field is set, a
             # LocationFilter in a search query within the job region
@@ -2301,6 +1991,54 @@
             # If this field is set to PostingRegion.NATION or
             # PostingRegion.ADMINISTRATIVE_AREA, setting job Job.addresses
             # to the same location level as this field is strongly recommended.
+        &quot;customAttributes&quot;: { # Optional. A map of fields to hold both filterable and non-filterable custom job
+            # attributes that are not covered by the provided structured fields.
+            #
+            # The keys of the map are strings up to 64 bytes and must match the
+            # pattern: a-zA-Z*. For example, key0LikeThis or
+            # KEY_1_LIKE_THIS.
+            #
+            # At most 100 filterable and at most 100 unfilterable keys are supported.
+            # For filterable `string_values`, across all keys at most 200 values are
+            # allowed, with each string no more than 255 characters. For unfilterable
+            # `string_values`, the maximum total size of `string_values` across all keys
+            # is 50KB.
+          &quot;a_key&quot;: { # Custom attribute values that are either filterable or non-filterable.
+            &quot;filterable&quot;: True or False, # Optional. If the `filterable` flag is true, the custom field values may be used for
+                # custom attribute filters JobQuery.custom_attribute_filter.
+                # If false, these values may not be used for custom attribute filters.
+                #
+                # Default is false.
+            &quot;stringValues&quot;: [ # Optional but exactly one of string_values or long_values must
+                # be specified.
+                #
+                # This field is used to perform a string match (`CASE_SENSITIVE_MATCH` or
+                # `CASE_INSENSITIVE_MATCH`) search.
+                # For filterable `string_value`s, a maximum total number of 200 values
+                # is allowed, with each `string_value` has a byte size of no more than
+                # 500B. For unfilterable `string_values`, the maximum total byte size of
+                # unfilterable `string_values` is 50KB.
+                #
+                # Empty string is not allowed.
+              &quot;A String&quot;,
+            ],
+            &quot;longValues&quot;: [ # Optional but exactly one of string_values or long_values must
+                # be specified.
+                #
+                # This field is used to perform number range search.
+                # (`EQ`, `GT`, `GE`, `LE`, `LT`) over filterable `long_value`.
+                #
+                # Currently at most 1 long_values is supported.
+              &quot;A String&quot;,
+            ],
+          },
+        },
+        &quot;postingUpdateTime&quot;: &quot;A String&quot;, # Output only. The timestamp when this job posting was last updated.
+        &quot;employmentTypes&quot;: [ # Optional. The employment type(s) of a job, for example,
+            # full time or
+            # part time.
+          &quot;A String&quot;,
+        ],
         &quot;postingExpireTime&quot;: &quot;A String&quot;, # Optional but strongly recommended for the best service
             # experience.
             #
@@ -2334,52 +2072,163 @@
             # expiry_time, or the masks are empty meaning that every field is
             # updated, the job posting expires after 30 days from the job&#x27;s last
             # update time. Otherwise the expiration date isn&#x27;t updated.
-        &quot;postingPublishTime&quot;: &quot;A String&quot;, # Optional. The timestamp this job posting was most recently published. The default
-            # value is the time the request arrives at the server. Invalid timestamps are
-            # ignored.
-        &quot;customAttributes&quot;: { # Optional. A map of fields to hold both filterable and non-filterable custom job
-            # attributes that are not covered by the provided structured fields.
+        &quot;department&quot;: &quot;A String&quot;, # Optional. The department or functional area within the company with the open
+            # position.
             #
-            # The keys of the map are strings up to 64 bytes and must match the
-            # pattern: a-zA-Z*. For example, key0LikeThis or
-            # KEY_1_LIKE_THIS.
+            # The maximum number of allowed characters is 255.
+        &quot;derivedInfo&quot;: { # Output only. # Output only. Derived details about the job posting.
             #
-            # At most 100 filterable and at most 100 unfilterable keys are supported.
-            # For filterable `string_values`, across all keys at most 200 values are
-            # allowed, with each string no more than 255 characters. For unfilterable
-            # `string_values`, the maximum total size of `string_values` across all keys
-            # is 50KB.
-          &quot;a_key&quot;: { # Custom attribute values that are either filterable or non-filterable.
-            &quot;stringValues&quot;: [ # Optional but exactly one of string_values or long_values must
-                # be specified.
+            # Derived details about the job posting.
+          &quot;locations&quot;: [ # Structured locations of the job, resolved from Job.addresses.
+              #
+              # locations are exactly matched to Job.addresses in the same
+              # order.
+            { # Output only.
                 #
-                # This field is used to perform a string match (`CASE_SENSITIVE_MATCH` or
-                # `CASE_INSENSITIVE_MATCH`) search.
-                # For filterable `string_value`s, a maximum total number of 200 values
-                # is allowed, with each `string_value` has a byte size of no more than
-                # 500B. For unfilterable `string_values`, the maximum total byte size of
-                # unfilterable `string_values` is 50KB.
-                #
-                # Empty string is not allowed.
-              &quot;A String&quot;,
-            ],
-            &quot;filterable&quot;: True or False, # Optional. If the `filterable` flag is true, the custom field values may be used for
-                # custom attribute filters JobQuery.custom_attribute_filter.
-                # If false, these values may not be used for custom attribute filters.
-                #
-                # Default is false.
-            &quot;longValues&quot;: [ # Optional but exactly one of string_values or long_values must
-                # be specified.
-                #
-                # This field is used to perform number range search.
-                # (`EQ`, `GT`, `GE`, `LE`, `LT`) over filterable `long_value`.
-                #
-                # Currently at most 1 long_values is supported.
-              &quot;A String&quot;,
-            ],
-          },
+                # A resource that represents a location with full geographic information.
+              &quot;postalAddress&quot;: { # Represents a postal address, e.g. for postal delivery or payments addresses. # Postal address of the location that includes human readable information,
+                  # such as postal delivery and payments addresses. Given a postal address,
+                  # a postal service can deliver items to a premises, P.O. Box, or other
+                  # delivery location.
+                  # Given a postal address, a postal service can deliver items to a premise, P.O.
+                  # Box or similar.
+                  # It is not intended to model geographical locations (roads, towns,
+                  # mountains).
+                  #
+                  # In typical usage an address would be created via user input or from importing
+                  # existing data, depending on the type of process.
+                  #
+                  # Advice on address input / editing:
+                  #  - Use an i18n-ready address widget such as
+                  #    https://github.com/google/libaddressinput)
+                  # - Users should not be presented with UI elements for input or editing of
+                  #   fields outside countries where that field is used.
+                  #
+                  # For more guidance on how to use this schema, please see:
+                  # https://support.google.com/business/answer/6397478
+                &quot;organization&quot;: &quot;A String&quot;, # Optional. The name of the organization at the address.
+                &quot;sublocality&quot;: &quot;A String&quot;, # Optional. Sublocality of the address.
+                    # For example, this can be neighborhoods, boroughs, districts.
+                &quot;languageCode&quot;: &quot;A String&quot;, # Optional. BCP-47 language code of the contents of this address (if
+                    # known). This is often the UI language of the input form or is expected
+                    # to match one of the languages used in the address&#x27; country/region, or their
+                    # transliterated equivalents.
+                    # This can affect formatting in certain countries, but is not critical
+                    # to the correctness of the data and will never affect any validation or
+                    # other non-formatting related operations.
+                    #
+                    # If this value is not known, it should be omitted (rather than specifying a
+                    # possibly incorrect default).
+                    #
+                    # Examples: &quot;zh-Hant&quot;, &quot;ja&quot;, &quot;ja-Latn&quot;, &quot;en&quot;.
+                &quot;administrativeArea&quot;: &quot;A String&quot;, # Optional. Highest administrative subdivision which is used for postal
+                    # addresses of a country or region.
+                    # For example, this can be a state, a province, an oblast, or a prefecture.
+                    # Specifically, for Spain this is the province and not the autonomous
+                    # community (e.g. &quot;Barcelona&quot; and not &quot;Catalonia&quot;).
+                    # Many countries don&#x27;t use an administrative area in postal addresses. E.g.
+                    # in Switzerland this should be left unpopulated.
+                &quot;locality&quot;: &quot;A String&quot;, # Optional. Generally refers to the city/town portion of the address.
+                    # Examples: US city, IT comune, UK post town.
+                    # In regions of the world where localities are not well defined or do not fit
+                    # into this structure well, leave locality empty and use address_lines.
+                &quot;recipients&quot;: [ # Optional. The recipient at the address.
+                    # This field may, under certain circumstances, contain multiline information.
+                    # For example, it might contain &quot;care of&quot; information.
+                  &quot;A String&quot;,
+                ],
+                &quot;revision&quot;: 42, # The schema revision of the `PostalAddress`. This must be set to 0, which is
+                    # the latest revision.
+                    #
+                    # All new revisions **must** be backward compatible with old revisions.
+                &quot;postalCode&quot;: &quot;A String&quot;, # Optional. Postal code of the address. Not all countries use or require
+                    # postal codes to be present, but where they are used, they may trigger
+                    # additional validation with other parts of the address (e.g. state/zip
+                    # validation in the U.S.A.).
+                &quot;sortingCode&quot;: &quot;A String&quot;, # Optional. Additional, country-specific, sorting code. This is not used
+                    # in most regions. Where it is used, the value is either a string like
+                    # &quot;CEDEX&quot;, optionally followed by a number (e.g. &quot;CEDEX 7&quot;), or just a number
+                    # alone, representing the &quot;sector code&quot; (Jamaica), &quot;delivery area indicator&quot;
+                    # (Malawi) or &quot;post office indicator&quot; (e.g. Côte d&#x27;Ivoire).
+                &quot;regionCode&quot;: &quot;A String&quot;, # Required. CLDR region code of the country/region of the address. This
+                    # is never inferred and it is up to the user to ensure the value is
+                    # correct. See http://cldr.unicode.org/ and
+                    # http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html
+                    # for details. Example: &quot;CH&quot; for Switzerland.
+                &quot;addressLines&quot;: [ # Unstructured address lines describing the lower levels of an address.
+                    #
+                    # Because values in address_lines do not have type information and may
+                    # sometimes contain multiple values in a single field (e.g.
+                    # &quot;Austin, TX&quot;), it is important that the line order is clear. The order of
+                    # address lines should be &quot;envelope order&quot; for the country/region of the
+                    # address. In places where this can vary (e.g. Japan), address_language is
+                    # used to make it explicit (e.g. &quot;ja&quot; for large-to-small ordering and
+                    # &quot;ja-Latn&quot; or &quot;en&quot; for small-to-large). This way, the most specific line of
+                    # an address can be selected based on the language.
+                    #
+                    # The minimum permitted structural representation of an address consists
+                    # of a region_code with all remaining information placed in the
+                    # address_lines. It would be possible to format such an address very
+                    # approximately without geocoding, but no semantic reasoning could be
+                    # made about any of the address components until it was at least
+                    # partially resolved.
+                    #
+                    # Creating an address only containing a region_code and address_lines, and
+                    # then geocoding is the recommended way to handle completely unstructured
+                    # addresses (as opposed to guessing which parts of the address should be
+                    # localities or administrative areas).
+                  &quot;A String&quot;,
+                ],
+              },
+              &quot;radiusInMiles&quot;: 3.14, # Radius in miles of the job location. This value is derived from the
+                  # location bounding box in which a circle with the specified radius
+                  # centered from LatLng covers the area associated with the job location.
+                  # For example, currently, &quot;Mountain View, CA, USA&quot; has a radius of
+                  # 6.17 miles.
+              &quot;locationType&quot;: &quot;A String&quot;, # The type of a location, which corresponds to the address lines field of
+                  # PostalAddress. For example, &quot;Downtown, Atlanta, GA, USA&quot; has a type of
+                  # LocationType#NEIGHBORHOOD, and &quot;Kansas City, KS, USA&quot; has a type of
+                  # LocationType#LOCALITY.
+              &quot;latLng&quot;: { # An object representing a latitude/longitude pair. This is expressed as a pair # An object representing a latitude/longitude pair.
+                  # of doubles representing degrees latitude and degrees longitude. Unless
+                  # specified otherwise, this must conform to the
+                  # &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
+                  # standard&lt;/a&gt;. Values must be within normalized ranges.
+                &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+                &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+              },
+            },
+          ],
+          &quot;jobCategories&quot;: [ # Job categories derived from Job.title and Job.description.
+            &quot;A String&quot;,
+          ],
         },
-        &quot;jobLevel&quot;: &quot;A String&quot;, # Optional. The experience level associated with the job, such as &quot;Entry Level&quot;.
+        &quot;jobStartTime&quot;: &quot;A String&quot;, # Optional. The start timestamp of the job in UTC time zone. Typically this field
+            # is used for contracting engagements. Invalid timestamps are ignored.
+        &quot;visibility&quot;: &quot;A String&quot;, # Deprecated. The job is only visible to the owner.
+            #
+            # The visibility of the job.
+            #
+            # Defaults to Visibility.ACCOUNT_ONLY if not specified.
+        &quot;processingOptions&quot;: { # Input only. # Optional. Options for job processing.
+            #
+            # Options for job processing.
+          &quot;disableStreetAddressResolution&quot;: True or False, # Optional. If set to `true`, the service does not attempt to resolve a
+              # more precise address for the job.
+          &quot;htmlSanitization&quot;: &quot;A String&quot;, # Optional. Option for job HTML content sanitization. Applied fields are:
+              #
+              # * description
+              # * applicationInfo.instruction
+              # * incentives
+              # * qualifications
+              # * responsibilities
+              #
+              # HTML tags in these fields may be stripped if sanitiazation is not
+              # disabled.
+              #
+              # Defaults to HtmlSanitization.SIMPLE_FORMATTING_ONLY.
+        },
+        &quot;companyDisplayName&quot;: &quot;A String&quot;, # Output only. Display name of the company listing the job.
         &quot;languageCode&quot;: &quot;A String&quot;, # Optional. The language of the posting. This field is distinct from
             # any requirements for fluency that are associated with the job.
             #
@@ -2391,12 +2240,163 @@
             # If this field is unspecified and Job.description is present, detected
             # language code based on Job.description is assigned, otherwise
             # defaults to &#x27;en_US&#x27;.
-        &quot;visibility&quot;: &quot;A String&quot;, # Deprecated. The job is only visible to the owner.
+        &quot;compensationInfo&quot;: { # Job compensation details. # Optional. Job compensation information.
+          &quot;annualizedBaseCompensationRange&quot;: { # Compensation range. # Output only. Annualized base compensation range. Computed as
+              # base compensation entry&#x27;s CompensationEntry.compensation times
+              # CompensationEntry.expected_units_per_year.
+              #
+              # See CompensationEntry for explanation on compensation annualization.
+            &quot;maxCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
+                # to a maximal compensation value and the currency code is set to
+                # match the currency code of
+                # min_compensation.
+              &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                  # The value must be between -999,999,999 and +999,999,999 inclusive.
+                  # If `units` is positive, `nanos` must be positive or zero.
+                  # If `units` is zero, `nanos` can be positive, zero, or negative.
+                  # If `units` is negative, `nanos` must be negative or zero.
+                  # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+              &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+              &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                  # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+            },
+            &quot;minCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
+                # to zero and the currency code is set to match the
+                # currency code of max_compensation.
+              &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                  # The value must be between -999,999,999 and +999,999,999 inclusive.
+                  # If `units` is positive, `nanos` must be positive or zero.
+                  # If `units` is zero, `nanos` can be positive, zero, or negative.
+                  # If `units` is negative, `nanos` must be negative or zero.
+                  # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+              &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+              &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                  # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+            },
+          },
+          &quot;annualizedTotalCompensationRange&quot;: { # Compensation range. # Output only. Annualized total compensation range. Computed as
+              # all compensation entries&#x27; CompensationEntry.compensation times
+              # CompensationEntry.expected_units_per_year.
+              #
+              # See CompensationEntry for explanation on compensation annualization.
+            &quot;maxCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
+                # to a maximal compensation value and the currency code is set to
+                # match the currency code of
+                # min_compensation.
+              &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                  # The value must be between -999,999,999 and +999,999,999 inclusive.
+                  # If `units` is positive, `nanos` must be positive or zero.
+                  # If `units` is zero, `nanos` can be positive, zero, or negative.
+                  # If `units` is negative, `nanos` must be negative or zero.
+                  # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+              &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+              &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                  # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+            },
+            &quot;minCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
+                # to zero and the currency code is set to match the
+                # currency code of max_compensation.
+              &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                  # The value must be between -999,999,999 and +999,999,999 inclusive.
+                  # If `units` is positive, `nanos` must be positive or zero.
+                  # If `units` is zero, `nanos` can be positive, zero, or negative.
+                  # If `units` is negative, `nanos` must be negative or zero.
+                  # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+              &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+              &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                  # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+            },
+          },
+          &quot;entries&quot;: [ # Optional. Job compensation information.
+              #
+              # At most one entry can be of type
+              # CompensationInfo.CompensationType.BASE, which is
+              # referred as ** base compensation entry ** for the job.
+            { # 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 or range.
+                # - and its expected_units_per_year is set or can be derived.
+                # Its annualized range is determined as (amount or range) times
+                # expected_units_per_year.
+              &quot;unit&quot;: &quot;A String&quot;, # Optional. Frequency of the specified amount.
+                  #
+                  # Default is CompensationUnit.COMPENSATION_UNIT_UNSPECIFIED.
+              &quot;expectedUnitsPerYear&quot;: 3.14, # Optional. Expected number of units paid each year. If not specified, when
+                  # Job.employment_types is FULLTIME, a default value is inferred
+                  # based on unit. Default values:
+                  # - HOURLY: 2080
+                  # - DAILY: 260
+                  # - WEEKLY: 52
+                  # - MONTHLY: 12
+                  # - ANNUAL: 1
+              &quot;range&quot;: { # Compensation range. # Optional. Compensation range.
+                &quot;maxCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
+                    # to a maximal compensation value and the currency code is set to
+                    # match the currency code of
+                    # min_compensation.
+                  &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                      # The value must be between -999,999,999 and +999,999,999 inclusive.
+                      # If `units` is positive, `nanos` must be positive or zero.
+                      # If `units` is zero, `nanos` can be positive, zero, or negative.
+                      # If `units` is negative, `nanos` must be negative or zero.
+                      # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                  &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+                  &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                      # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+                },
+                &quot;minCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
+                    # to zero and the currency code is set to match the
+                    # currency code of max_compensation.
+                  &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                      # The value must be between -999,999,999 and +999,999,999 inclusive.
+                      # If `units` is positive, `nanos` must be positive or zero.
+                      # If `units` is zero, `nanos` can be positive, zero, or negative.
+                      # If `units` is negative, `nanos` must be negative or zero.
+                      # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                  &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+                  &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                      # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+                },
+              },
+              &quot;description&quot;: &quot;A String&quot;, # Optional. Compensation description.  For example, could
+                  # indicate equity terms or provide additional context to an estimated
+                  # bonus.
+              &quot;type&quot;: &quot;A String&quot;, # Optional. Compensation type.
+                  #
+                  # Default is CompensationUnit.COMPENSATION_TYPE_UNSPECIFIED.
+              &quot;amount&quot;: { # Represents an amount of money with its currency type. # Optional. Compensation amount.
+                &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                    # The value must be between -999,999,999 and +999,999,999 inclusive.
+                    # If `units` is positive, `nanos` must be positive or zero.
+                    # If `units` is zero, `nanos` can be positive, zero, or negative.
+                    # If `units` is negative, `nanos` must be negative or zero.
+                    # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+                &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                    # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+              },
+            },
+          ],
+        },
+        &quot;name&quot;: &quot;A String&quot;, # Required during job update.
             #
-            # The visibility of the job.
+            # The resource name for the job. This is generated by the service when a
+            # job is created.
             #
-            # Defaults to Visibility.ACCOUNT_ONLY if not specified.
-        &quot;postingUpdateTime&quot;: &quot;A String&quot;, # Output only. The timestamp when this job posting was last updated.
+            # The format is &quot;projects/{project_id}/jobs/{job_id}&quot;,
+            # for example, &quot;projects/api-test-project/jobs/1234&quot;.
+            #
+            # Use of this field in job queries and API calls is preferred over the use of
+            # requisition_id since this value is unique.
+        &quot;requisitionId&quot;: &quot;A String&quot;, # Required. The requisition ID, also referred to as the posting ID, assigned by the
+            # client to identify a job. This field is intended to be used by clients
+            # for client identification and tracking of postings. A job is not allowed
+            # to be created if there is another job with the same [company_name],
+            # language_code and requisition_id.
+            #
+            # The maximum number of allowed characters is 255.
       },
     ],
   }</pre>
@@ -2443,393 +2443,20 @@
     &quot;job&quot;: { # A Job resource represents a job posting (also referred to as a &quot;job listing&quot; # Required. The Job to be updated.
         # or &quot;job requisition&quot;). A job belongs to a Company, which is the hiring
         # entity responsible for the job.
-      &quot;name&quot;: &quot;A String&quot;, # Required during job update.
-          #
-          # The resource name for the job. This is generated by the service when a
-          # job is created.
-          #
-          # The format is &quot;projects/{project_id}/jobs/{job_id}&quot;,
-          # for example, &quot;projects/api-test-project/jobs/1234&quot;.
-          #
-          # Use of this field in job queries and API calls is preferred over the use of
-          # requisition_id since this value is unique.
-      &quot;jobBenefits&quot;: [ # Optional. The benefits included with the job.
-        &quot;A String&quot;,
-      ],
-      &quot;promotionValue&quot;: 42, # Optional. A promotion value of the job, as determined by the client.
-          # The value determines the sort order of the jobs returned when searching for
-          # jobs using the featured jobs search call, with higher promotional values
-          # being returned first and ties being resolved by relevance sort. Only the
-          # jobs with a promotionValue &gt;0 are returned in a FEATURED_JOB_SEARCH.
-          #
-          # Default value is 0, and negative values are treated as 0.
-      &quot;title&quot;: &quot;A String&quot;, # Required. The title of the job, such as &quot;Software Engineer&quot;
-          #
-          # The maximum number of allowed characters is 500.
-      &quot;companyDisplayName&quot;: &quot;A String&quot;, # Output only. Display name of the company listing the job.
-      &quot;qualifications&quot;: &quot;A String&quot;, # Optional. A description of the qualifications required to perform the
-          # job. The use of this field is recommended
-          # as an alternative to using the more general description field.
-          #
-          # This field accepts and sanitizes HTML input, and also accepts
-          # bold, italic, ordered list, and unordered list markup tags.
-          #
-          # The maximum number of allowed characters is 10,000.
-      &quot;requisitionId&quot;: &quot;A String&quot;, # Required. The requisition ID, also referred to as the posting ID, assigned by the
-          # client to identify a job. This field is intended to be used by clients
-          # for client identification and tracking of postings. A job is not allowed
-          # to be created if there is another job with the same [company_name],
-          # language_code and requisition_id.
-          #
-          # The maximum number of allowed characters is 255.
-      &quot;processingOptions&quot;: { # Input only. # Optional. Options for job processing.
-          #
-          # Options for job processing.
-        &quot;disableStreetAddressResolution&quot;: True or False, # Optional. If set to `true`, the service does not attempt to resolve a
-            # more precise address for the job.
-        &quot;htmlSanitization&quot;: &quot;A String&quot;, # Optional. Option for job HTML content sanitization. Applied fields are:
-            #
-            # * description
-            # * applicationInfo.instruction
-            # * incentives
-            # * qualifications
-            # * responsibilities
-            #
-            # HTML tags in these fields may be stripped if sanitiazation is not
-            # disabled.
-            #
-            # Defaults to HtmlSanitization.SIMPLE_FORMATTING_ONLY.
-      },
-      &quot;jobEndTime&quot;: &quot;A String&quot;, # Optional. The end timestamp of the job. Typically this field is used for contracting
-          # engagements. Invalid timestamps are ignored.
-      &quot;derivedInfo&quot;: { # Output only. # Output only. Derived details about the job posting.
-          #
-          # Derived details about the job posting.
-        &quot;locations&quot;: [ # Structured locations of the job, resolved from Job.addresses.
-            #
-            # locations are exactly matched to Job.addresses in the same
-            # order.
-          { # Output only.
-              #
-              # A resource that represents a location with full geographic information.
-            &quot;radiusInMiles&quot;: 3.14, # Radius in miles of the job location. This value is derived from the
-                # location bounding box in which a circle with the specified radius
-                # centered from LatLng covers the area associated with the job location.
-                # For example, currently, &quot;Mountain View, CA, USA&quot; has a radius of
-                # 6.17 miles.
-            &quot;latLng&quot;: { # An object representing a latitude/longitude pair. This is expressed as a pair # An object representing a latitude/longitude pair.
-                # of doubles representing degrees latitude and degrees longitude. Unless
-                # specified otherwise, this must conform to the
-                # &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
-                # standard&lt;/a&gt;. Values must be within normalized ranges.
-              &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
-              &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
-            },
-            &quot;postalAddress&quot;: { # Represents a postal address, e.g. for postal delivery or payments addresses. # Postal address of the location that includes human readable information,
-                # such as postal delivery and payments addresses. Given a postal address,
-                # a postal service can deliver items to a premises, P.O. Box, or other
-                # delivery location.
-                # Given a postal address, a postal service can deliver items to a premise, P.O.
-                # Box or similar.
-                # It is not intended to model geographical locations (roads, towns,
-                # mountains).
-                #
-                # In typical usage an address would be created via user input or from importing
-                # existing data, depending on the type of process.
-                #
-                # Advice on address input / editing:
-                #  - Use an i18n-ready address widget such as
-                #    https://github.com/google/libaddressinput)
-                # - Users should not be presented with UI elements for input or editing of
-                #   fields outside countries where that field is used.
-                #
-                # For more guidance on how to use this schema, please see:
-                # https://support.google.com/business/answer/6397478
-              &quot;postalCode&quot;: &quot;A String&quot;, # Optional. Postal code of the address. Not all countries use or require
-                  # postal codes to be present, but where they are used, they may trigger
-                  # additional validation with other parts of the address (e.g. state/zip
-                  # validation in the U.S.A.).
-              &quot;languageCode&quot;: &quot;A String&quot;, # Optional. BCP-47 language code of the contents of this address (if
-                  # known). This is often the UI language of the input form or is expected
-                  # to match one of the languages used in the address&#x27; country/region, or their
-                  # transliterated equivalents.
-                  # This can affect formatting in certain countries, but is not critical
-                  # to the correctness of the data and will never affect any validation or
-                  # other non-formatting related operations.
-                  #
-                  # If this value is not known, it should be omitted (rather than specifying a
-                  # possibly incorrect default).
-                  #
-                  # Examples: &quot;zh-Hant&quot;, &quot;ja&quot;, &quot;ja-Latn&quot;, &quot;en&quot;.
-              &quot;sortingCode&quot;: &quot;A String&quot;, # Optional. Additional, country-specific, sorting code. This is not used
-                  # in most regions. Where it is used, the value is either a string like
-                  # &quot;CEDEX&quot;, optionally followed by a number (e.g. &quot;CEDEX 7&quot;), or just a number
-                  # alone, representing the &quot;sector code&quot; (Jamaica), &quot;delivery area indicator&quot;
-                  # (Malawi) or &quot;post office indicator&quot; (e.g. Côte d&#x27;Ivoire).
-              &quot;recipients&quot;: [ # Optional. The recipient at the address.
-                  # This field may, under certain circumstances, contain multiline information.
-                  # For example, it might contain &quot;care of&quot; information.
-                &quot;A String&quot;,
-              ],
-              &quot;sublocality&quot;: &quot;A String&quot;, # Optional. Sublocality of the address.
-                  # For example, this can be neighborhoods, boroughs, districts.
-              &quot;revision&quot;: 42, # The schema revision of the `PostalAddress`. This must be set to 0, which is
-                  # the latest revision.
-                  #
-                  # All new revisions **must** be backward compatible with old revisions.
-              &quot;locality&quot;: &quot;A String&quot;, # Optional. Generally refers to the city/town portion of the address.
-                  # Examples: US city, IT comune, UK post town.
-                  # In regions of the world where localities are not well defined or do not fit
-                  # into this structure well, leave locality empty and use address_lines.
-              &quot;administrativeArea&quot;: &quot;A String&quot;, # Optional. Highest administrative subdivision which is used for postal
-                  # addresses of a country or region.
-                  # For example, this can be a state, a province, an oblast, or a prefecture.
-                  # Specifically, for Spain this is the province and not the autonomous
-                  # community (e.g. &quot;Barcelona&quot; and not &quot;Catalonia&quot;).
-                  # Many countries don&#x27;t use an administrative area in postal addresses. E.g.
-                  # in Switzerland this should be left unpopulated.
-              &quot;organization&quot;: &quot;A String&quot;, # Optional. The name of the organization at the address.
-              &quot;addressLines&quot;: [ # Unstructured address lines describing the lower levels of an address.
-                  #
-                  # Because values in address_lines do not have type information and may
-                  # sometimes contain multiple values in a single field (e.g.
-                  # &quot;Austin, TX&quot;), it is important that the line order is clear. The order of
-                  # address lines should be &quot;envelope order&quot; for the country/region of the
-                  # address. In places where this can vary (e.g. Japan), address_language is
-                  # used to make it explicit (e.g. &quot;ja&quot; for large-to-small ordering and
-                  # &quot;ja-Latn&quot; or &quot;en&quot; for small-to-large). This way, the most specific line of
-                  # an address can be selected based on the language.
-                  #
-                  # The minimum permitted structural representation of an address consists
-                  # of a region_code with all remaining information placed in the
-                  # address_lines. It would be possible to format such an address very
-                  # approximately without geocoding, but no semantic reasoning could be
-                  # made about any of the address components until it was at least
-                  # partially resolved.
-                  #
-                  # Creating an address only containing a region_code and address_lines, and
-                  # then geocoding is the recommended way to handle completely unstructured
-                  # addresses (as opposed to guessing which parts of the address should be
-                  # localities or administrative areas).
-                &quot;A String&quot;,
-              ],
-              &quot;regionCode&quot;: &quot;A String&quot;, # Required. CLDR region code of the country/region of the address. This
-                  # is never inferred and it is up to the user to ensure the value is
-                  # correct. See http://cldr.unicode.org/ and
-                  # http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html
-                  # for details. Example: &quot;CH&quot; for Switzerland.
-            },
-            &quot;locationType&quot;: &quot;A String&quot;, # The type of a location, which corresponds to the address lines field of
-                # PostalAddress. For example, &quot;Downtown, Atlanta, GA, USA&quot; has a type of
-                # LocationType#NEIGHBORHOOD, and &quot;Kansas City, KS, USA&quot; has a type of
-                # LocationType#LOCALITY.
-          },
-        ],
-        &quot;jobCategories&quot;: [ # Job categories derived from Job.title and Job.description.
-          &quot;A String&quot;,
-        ],
-      },
-      &quot;incentives&quot;: &quot;A String&quot;, # Optional. A description of bonus, commission, and other compensation
-          # incentives associated with the job not including salary or pay.
-          #
-          # The maximum number of allowed characters is 10,000.
-      &quot;employmentTypes&quot;: [ # Optional. The employment type(s) of a job, for example,
-          # full time or
-          # part time.
-        &quot;A String&quot;,
-      ],
-      &quot;postingCreateTime&quot;: &quot;A String&quot;, # Output only. The timestamp when this job posting was created.
-      &quot;addresses&quot;: [ # Optional but strongly recommended for the best service experience.
-          #
-          # Location(s) where the employer is looking to hire for this job posting.
-          #
-          # Specifying the full street address(es) of the hiring location enables
-          # better API results, especially job searches by commute time.
-          #
-          # At most 50 locations are allowed for best search performance. If a job has
-          # more locations, it is suggested to split it into multiple jobs with unique
-          # requisition_ids (e.g. &#x27;ReqA&#x27; becomes &#x27;ReqA-1&#x27;, &#x27;ReqA-2&#x27;, etc.) as
-          # multiple jobs with the same company_name, language_code and
-          # requisition_id are not allowed. If the original requisition_id must
-          # be preserved, a custom field should be used for storage. It is also
-          # suggested to group the locations that close to each other in the same job
-          # for better search experience.
-          #
-          # The maximum number of allowed characters is 500.
-        &quot;A String&quot;,
-      ],
-      &quot;companyName&quot;: &quot;A String&quot;, # Required. The resource name of the company listing the job, such as
-          # &quot;projects/api-test-project/companies/foo&quot;.
-      &quot;description&quot;: &quot;A String&quot;, # Required. The description of the job, which typically includes a multi-paragraph
-          # description of the company and related information. Separate fields are
-          # provided on the job object for responsibilities,
-          # qualifications, and other job characteristics. Use of
-          # these separate job fields is recommended.
-          #
-          # This field accepts and sanitizes HTML input, and also accepts
-          # bold, italic, ordered list, and unordered list markup tags.
-          #
-          # The maximum number of allowed characters is 100,000.
-      &quot;jobStartTime&quot;: &quot;A String&quot;, # Optional. The start timestamp of the job in UTC time zone. Typically this field
-          # is used for contracting engagements. Invalid timestamps are ignored.
-      &quot;degreeTypes&quot;: [ # Optional. The desired education degrees for the job, such as Bachelors, Masters.
-        &quot;A String&quot;,
-      ],
-      &quot;compensationInfo&quot;: { # Job compensation details. # Optional. Job compensation information.
-        &quot;annualizedTotalCompensationRange&quot;: { # Compensation range. # Output only. Annualized total compensation range. Computed as
-            # all compensation entries&#x27; CompensationEntry.compensation times
-            # CompensationEntry.expected_units_per_year.
-            #
-            # See CompensationEntry for explanation on compensation annualization.
-          &quot;maxCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
-              # to a maximal compensation value and the currency code is set to
-              # match the currency code of
-              # min_compensation.
-            &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
-                # The value must be between -999,999,999 and +999,999,999 inclusive.
-                # If `units` is positive, `nanos` must be positive or zero.
-                # If `units` is zero, `nanos` can be positive, zero, or negative.
-                # If `units` is negative, `nanos` must be negative or zero.
-                # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-            &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
-                # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
-            &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
-          },
-          &quot;minCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
-              # to zero and the currency code is set to match the
-              # currency code of max_compensation.
-            &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
-                # The value must be between -999,999,999 and +999,999,999 inclusive.
-                # If `units` is positive, `nanos` must be positive or zero.
-                # If `units` is zero, `nanos` can be positive, zero, or negative.
-                # If `units` is negative, `nanos` must be negative or zero.
-                # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-            &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
-                # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
-            &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
-          },
-        },
-        &quot;entries&quot;: [ # Optional. Job compensation information.
-            #
-            # At most one entry can be of type
-            # CompensationInfo.CompensationType.BASE, which is
-            # referred as ** base compensation entry ** for the job.
-          { # 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 or range.
-              # - and its expected_units_per_year is set or can be derived.
-              # Its annualized range is determined as (amount or range) times
-              # expected_units_per_year.
-            &quot;amount&quot;: { # Represents an amount of money with its currency type. # Optional. Compensation amount.
-              &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
-                  # The value must be between -999,999,999 and +999,999,999 inclusive.
-                  # If `units` is positive, `nanos` must be positive or zero.
-                  # If `units` is zero, `nanos` can be positive, zero, or negative.
-                  # If `units` is negative, `nanos` must be negative or zero.
-                  # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-              &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
-                  # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
-              &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
-            },
-            &quot;type&quot;: &quot;A String&quot;, # Optional. Compensation type.
-                #
-                # Default is CompensationUnit.COMPENSATION_TYPE_UNSPECIFIED.
-            &quot;range&quot;: { # Compensation range. # Optional. Compensation range.
-              &quot;maxCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
-                  # to a maximal compensation value and the currency code is set to
-                  # match the currency code of
-                  # min_compensation.
-                &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
-                    # The value must be between -999,999,999 and +999,999,999 inclusive.
-                    # If `units` is positive, `nanos` must be positive or zero.
-                    # If `units` is zero, `nanos` can be positive, zero, or negative.
-                    # If `units` is negative, `nanos` must be negative or zero.
-                    # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-                &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
-                    # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
-                &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
-              },
-              &quot;minCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
-                  # to zero and the currency code is set to match the
-                  # currency code of max_compensation.
-                &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
-                    # The value must be between -999,999,999 and +999,999,999 inclusive.
-                    # If `units` is positive, `nanos` must be positive or zero.
-                    # If `units` is zero, `nanos` can be positive, zero, or negative.
-                    # If `units` is negative, `nanos` must be negative or zero.
-                    # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-                &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
-                    # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
-                &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
-              },
-            },
-            &quot;expectedUnitsPerYear&quot;: 3.14, # Optional. Expected number of units paid each year. If not specified, when
-                # Job.employment_types is FULLTIME, a default value is inferred
-                # based on unit. Default values:
-                # - HOURLY: 2080
-                # - DAILY: 260
-                # - WEEKLY: 52
-                # - MONTHLY: 12
-                # - ANNUAL: 1
-            &quot;description&quot;: &quot;A String&quot;, # Optional. Compensation description.  For example, could
-                # indicate equity terms or provide additional context to an estimated
-                # bonus.
-            &quot;unit&quot;: &quot;A String&quot;, # Optional. Frequency of the specified amount.
-                #
-                # Default is CompensationUnit.COMPENSATION_UNIT_UNSPECIFIED.
-          },
-        ],
-        &quot;annualizedBaseCompensationRange&quot;: { # Compensation range. # Output only. Annualized base compensation range. Computed as
-            # base compensation entry&#x27;s CompensationEntry.compensation times
-            # CompensationEntry.expected_units_per_year.
-            #
-            # See CompensationEntry for explanation on compensation annualization.
-          &quot;maxCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
-              # to a maximal compensation value and the currency code is set to
-              # match the currency code of
-              # min_compensation.
-            &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
-                # The value must be between -999,999,999 and +999,999,999 inclusive.
-                # If `units` is positive, `nanos` must be positive or zero.
-                # If `units` is zero, `nanos` can be positive, zero, or negative.
-                # If `units` is negative, `nanos` must be negative or zero.
-                # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-            &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
-                # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
-            &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
-          },
-          &quot;minCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
-              # to zero and the currency code is set to match the
-              # currency code of max_compensation.
-            &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
-                # The value must be between -999,999,999 and +999,999,999 inclusive.
-                # If `units` is positive, `nanos` must be positive or zero.
-                # If `units` is zero, `nanos` can be positive, zero, or negative.
-                # If `units` is negative, `nanos` must be negative or zero.
-                # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-            &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
-                # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
-            &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
-          },
-        },
-      },
-      &quot;responsibilities&quot;: &quot;A String&quot;, # Optional. A description of job responsibilities. The use of this field is
-          # recommended as an alternative to using the more general description
-          # field.
-          #
-          # This field accepts and sanitizes HTML input, and also accepts
-          # bold, italic, ordered list, and unordered list markup tags.
-          #
-          # The maximum number of allowed characters is 10,000.
-      &quot;department&quot;: &quot;A String&quot;, # Optional. The department or functional area within the company with the open
-          # position.
-          #
-          # The maximum number of allowed characters is 255.
       &quot;applicationInfo&quot;: { # Application related details of a job posting. # Required. At least one field within ApplicationInfo must be specified.
           #
           # Job application information.
+        &quot;instruction&quot;: &quot;A String&quot;, # Optional but at least one of uris,
+            # emails or instruction must be
+            # specified.
+            #
+            # Use this field to provide instructions, such as &quot;Mail your application
+            # to ...&quot;, that a candidate can follow to apply for the job.
+            #
+            # This field accepts and sanitizes HTML input, and also accepts
+            # bold, italic, ordered list, and unordered list markup tags.
+            #
+            # The maximum number of allowed characters is 3,000.
         &quot;uris&quot;: [ # Optional but at least one of uris,
             # emails or instruction must be
             # specified.
@@ -2850,18 +2477,81 @@
             # The maximum number of allowed characters for each entry is 255.
           &quot;A String&quot;,
         ],
-        &quot;instruction&quot;: &quot;A String&quot;, # Optional but at least one of uris,
-            # emails or instruction must be
-            # specified.
-            #
-            # Use this field to provide instructions, such as &quot;Mail your application
-            # to ...&quot;, that a candidate can follow to apply for the job.
-            #
-            # This field accepts and sanitizes HTML input, and also accepts
-            # bold, italic, ordered list, and unordered list markup tags.
-            #
-            # The maximum number of allowed characters is 3,000.
       },
+      &quot;responsibilities&quot;: &quot;A String&quot;, # Optional. A description of job responsibilities. The use of this field is
+          # recommended as an alternative to using the more general description
+          # field.
+          #
+          # This field accepts and sanitizes HTML input, and also accepts
+          # bold, italic, ordered list, and unordered list markup tags.
+          #
+          # The maximum number of allowed characters is 10,000.
+      &quot;companyName&quot;: &quot;A String&quot;, # Required. The resource name of the company listing the job, such as
+          # &quot;projects/api-test-project/companies/foo&quot;.
+      &quot;promotionValue&quot;: 42, # Optional. A promotion value of the job, as determined by the client.
+          # The value determines the sort order of the jobs returned when searching for
+          # jobs using the featured jobs search call, with higher promotional values
+          # being returned first and ties being resolved by relevance sort. Only the
+          # jobs with a promotionValue &gt;0 are returned in a FEATURED_JOB_SEARCH.
+          #
+          # Default value is 0, and negative values are treated as 0.
+      &quot;degreeTypes&quot;: [ # Optional. The desired education degrees for the job, such as Bachelors, Masters.
+        &quot;A String&quot;,
+      ],
+      &quot;description&quot;: &quot;A String&quot;, # Required. The description of the job, which typically includes a multi-paragraph
+          # description of the company and related information. Separate fields are
+          # provided on the job object for responsibilities,
+          # qualifications, and other job characteristics. Use of
+          # these separate job fields is recommended.
+          #
+          # This field accepts and sanitizes HTML input, and also accepts
+          # bold, italic, ordered list, and unordered list markup tags.
+          #
+          # The maximum number of allowed characters is 100,000.
+      &quot;title&quot;: &quot;A String&quot;, # Required. The title of the job, such as &quot;Software Engineer&quot;
+          #
+          # The maximum number of allowed characters is 500.
+      &quot;postingPublishTime&quot;: &quot;A String&quot;, # Optional. The timestamp this job posting was most recently published. The default
+          # value is the time the request arrives at the server. Invalid timestamps are
+          # ignored.
+      &quot;postingCreateTime&quot;: &quot;A String&quot;, # Output only. The timestamp when this job posting was created.
+      &quot;incentives&quot;: &quot;A String&quot;, # Optional. A description of bonus, commission, and other compensation
+          # incentives associated with the job not including salary or pay.
+          #
+          # The maximum number of allowed characters is 10,000.
+      &quot;jobEndTime&quot;: &quot;A String&quot;, # Optional. The end timestamp of the job. Typically this field is used for contracting
+          # engagements. Invalid timestamps are ignored.
+      &quot;addresses&quot;: [ # Optional but strongly recommended for the best service experience.
+          #
+          # Location(s) where the employer is looking to hire for this job posting.
+          #
+          # Specifying the full street address(es) of the hiring location enables
+          # better API results, especially job searches by commute time.
+          #
+          # At most 50 locations are allowed for best search performance. If a job has
+          # more locations, it is suggested to split it into multiple jobs with unique
+          # requisition_ids (e.g. &#x27;ReqA&#x27; becomes &#x27;ReqA-1&#x27;, &#x27;ReqA-2&#x27;, etc.) as
+          # multiple jobs with the same company_name, language_code and
+          # requisition_id are not allowed. If the original requisition_id must
+          # be preserved, a custom field should be used for storage. It is also
+          # suggested to group the locations that close to each other in the same job
+          # for better search experience.
+          #
+          # The maximum number of allowed characters is 500.
+        &quot;A String&quot;,
+      ],
+      &quot;jobLevel&quot;: &quot;A String&quot;, # Optional. The experience level associated with the job, such as &quot;Entry Level&quot;.
+      &quot;jobBenefits&quot;: [ # Optional. The benefits included with the job.
+        &quot;A String&quot;,
+      ],
+      &quot;qualifications&quot;: &quot;A String&quot;, # Optional. A description of the qualifications required to perform the
+          # job. The use of this field is recommended
+          # as an alternative to using the more general description field.
+          #
+          # This field accepts and sanitizes HTML input, and also accepts
+          # bold, italic, ordered list, and unordered list markup tags.
+          #
+          # The maximum number of allowed characters is 10,000.
       &quot;postingRegion&quot;: &quot;A String&quot;, # Optional. The job PostingRegion (for example, state, country) throughout which
           # the job is available. If this field is set, a
           # LocationFilter in a search query within the job region
@@ -2869,6 +2559,54 @@
           # If this field is set to PostingRegion.NATION or
           # PostingRegion.ADMINISTRATIVE_AREA, setting job Job.addresses
           # to the same location level as this field is strongly recommended.
+      &quot;customAttributes&quot;: { # Optional. A map of fields to hold both filterable and non-filterable custom job
+          # attributes that are not covered by the provided structured fields.
+          #
+          # The keys of the map are strings up to 64 bytes and must match the
+          # pattern: a-zA-Z*. For example, key0LikeThis or
+          # KEY_1_LIKE_THIS.
+          #
+          # At most 100 filterable and at most 100 unfilterable keys are supported.
+          # For filterable `string_values`, across all keys at most 200 values are
+          # allowed, with each string no more than 255 characters. For unfilterable
+          # `string_values`, the maximum total size of `string_values` across all keys
+          # is 50KB.
+        &quot;a_key&quot;: { # Custom attribute values that are either filterable or non-filterable.
+          &quot;filterable&quot;: True or False, # Optional. If the `filterable` flag is true, the custom field values may be used for
+              # custom attribute filters JobQuery.custom_attribute_filter.
+              # If false, these values may not be used for custom attribute filters.
+              #
+              # Default is false.
+          &quot;stringValues&quot;: [ # Optional but exactly one of string_values or long_values must
+              # be specified.
+              #
+              # This field is used to perform a string match (`CASE_SENSITIVE_MATCH` or
+              # `CASE_INSENSITIVE_MATCH`) search.
+              # For filterable `string_value`s, a maximum total number of 200 values
+              # is allowed, with each `string_value` has a byte size of no more than
+              # 500B. For unfilterable `string_values`, the maximum total byte size of
+              # unfilterable `string_values` is 50KB.
+              #
+              # Empty string is not allowed.
+            &quot;A String&quot;,
+          ],
+          &quot;longValues&quot;: [ # Optional but exactly one of string_values or long_values must
+              # be specified.
+              #
+              # This field is used to perform number range search.
+              # (`EQ`, `GT`, `GE`, `LE`, `LT`) over filterable `long_value`.
+              #
+              # Currently at most 1 long_values is supported.
+            &quot;A String&quot;,
+          ],
+        },
+      },
+      &quot;postingUpdateTime&quot;: &quot;A String&quot;, # Output only. The timestamp when this job posting was last updated.
+      &quot;employmentTypes&quot;: [ # Optional. The employment type(s) of a job, for example,
+          # full time or
+          # part time.
+        &quot;A String&quot;,
+      ],
       &quot;postingExpireTime&quot;: &quot;A String&quot;, # Optional but strongly recommended for the best service
           # experience.
           #
@@ -2902,52 +2640,163 @@
           # expiry_time, or the masks are empty meaning that every field is
           # updated, the job posting expires after 30 days from the job&#x27;s last
           # update time. Otherwise the expiration date isn&#x27;t updated.
-      &quot;postingPublishTime&quot;: &quot;A String&quot;, # Optional. The timestamp this job posting was most recently published. The default
-          # value is the time the request arrives at the server. Invalid timestamps are
-          # ignored.
-      &quot;customAttributes&quot;: { # Optional. A map of fields to hold both filterable and non-filterable custom job
-          # attributes that are not covered by the provided structured fields.
+      &quot;department&quot;: &quot;A String&quot;, # Optional. The department or functional area within the company with the open
+          # position.
           #
-          # The keys of the map are strings up to 64 bytes and must match the
-          # pattern: a-zA-Z*. For example, key0LikeThis or
-          # KEY_1_LIKE_THIS.
+          # The maximum number of allowed characters is 255.
+      &quot;derivedInfo&quot;: { # Output only. # Output only. Derived details about the job posting.
           #
-          # At most 100 filterable and at most 100 unfilterable keys are supported.
-          # For filterable `string_values`, across all keys at most 200 values are
-          # allowed, with each string no more than 255 characters. For unfilterable
-          # `string_values`, the maximum total size of `string_values` across all keys
-          # is 50KB.
-        &quot;a_key&quot;: { # Custom attribute values that are either filterable or non-filterable.
-          &quot;stringValues&quot;: [ # Optional but exactly one of string_values or long_values must
-              # be specified.
+          # Derived details about the job posting.
+        &quot;locations&quot;: [ # Structured locations of the job, resolved from Job.addresses.
+            #
+            # locations are exactly matched to Job.addresses in the same
+            # order.
+          { # Output only.
               #
-              # This field is used to perform a string match (`CASE_SENSITIVE_MATCH` or
-              # `CASE_INSENSITIVE_MATCH`) search.
-              # For filterable `string_value`s, a maximum total number of 200 values
-              # is allowed, with each `string_value` has a byte size of no more than
-              # 500B. For unfilterable `string_values`, the maximum total byte size of
-              # unfilterable `string_values` is 50KB.
-              #
-              # Empty string is not allowed.
-            &quot;A String&quot;,
-          ],
-          &quot;filterable&quot;: True or False, # Optional. If the `filterable` flag is true, the custom field values may be used for
-              # custom attribute filters JobQuery.custom_attribute_filter.
-              # If false, these values may not be used for custom attribute filters.
-              #
-              # Default is false.
-          &quot;longValues&quot;: [ # Optional but exactly one of string_values or long_values must
-              # be specified.
-              #
-              # This field is used to perform number range search.
-              # (`EQ`, `GT`, `GE`, `LE`, `LT`) over filterable `long_value`.
-              #
-              # Currently at most 1 long_values is supported.
-            &quot;A String&quot;,
-          ],
-        },
+              # A resource that represents a location with full geographic information.
+            &quot;postalAddress&quot;: { # Represents a postal address, e.g. for postal delivery or payments addresses. # Postal address of the location that includes human readable information,
+                # such as postal delivery and payments addresses. Given a postal address,
+                # a postal service can deliver items to a premises, P.O. Box, or other
+                # delivery location.
+                # Given a postal address, a postal service can deliver items to a premise, P.O.
+                # Box or similar.
+                # It is not intended to model geographical locations (roads, towns,
+                # mountains).
+                #
+                # In typical usage an address would be created via user input or from importing
+                # existing data, depending on the type of process.
+                #
+                # Advice on address input / editing:
+                #  - Use an i18n-ready address widget such as
+                #    https://github.com/google/libaddressinput)
+                # - Users should not be presented with UI elements for input or editing of
+                #   fields outside countries where that field is used.
+                #
+                # For more guidance on how to use this schema, please see:
+                # https://support.google.com/business/answer/6397478
+              &quot;organization&quot;: &quot;A String&quot;, # Optional. The name of the organization at the address.
+              &quot;sublocality&quot;: &quot;A String&quot;, # Optional. Sublocality of the address.
+                  # For example, this can be neighborhoods, boroughs, districts.
+              &quot;languageCode&quot;: &quot;A String&quot;, # Optional. BCP-47 language code of the contents of this address (if
+                  # known). This is often the UI language of the input form or is expected
+                  # to match one of the languages used in the address&#x27; country/region, or their
+                  # transliterated equivalents.
+                  # This can affect formatting in certain countries, but is not critical
+                  # to the correctness of the data and will never affect any validation or
+                  # other non-formatting related operations.
+                  #
+                  # If this value is not known, it should be omitted (rather than specifying a
+                  # possibly incorrect default).
+                  #
+                  # Examples: &quot;zh-Hant&quot;, &quot;ja&quot;, &quot;ja-Latn&quot;, &quot;en&quot;.
+              &quot;administrativeArea&quot;: &quot;A String&quot;, # Optional. Highest administrative subdivision which is used for postal
+                  # addresses of a country or region.
+                  # For example, this can be a state, a province, an oblast, or a prefecture.
+                  # Specifically, for Spain this is the province and not the autonomous
+                  # community (e.g. &quot;Barcelona&quot; and not &quot;Catalonia&quot;).
+                  # Many countries don&#x27;t use an administrative area in postal addresses. E.g.
+                  # in Switzerland this should be left unpopulated.
+              &quot;locality&quot;: &quot;A String&quot;, # Optional. Generally refers to the city/town portion of the address.
+                  # Examples: US city, IT comune, UK post town.
+                  # In regions of the world where localities are not well defined or do not fit
+                  # into this structure well, leave locality empty and use address_lines.
+              &quot;recipients&quot;: [ # Optional. The recipient at the address.
+                  # This field may, under certain circumstances, contain multiline information.
+                  # For example, it might contain &quot;care of&quot; information.
+                &quot;A String&quot;,
+              ],
+              &quot;revision&quot;: 42, # The schema revision of the `PostalAddress`. This must be set to 0, which is
+                  # the latest revision.
+                  #
+                  # All new revisions **must** be backward compatible with old revisions.
+              &quot;postalCode&quot;: &quot;A String&quot;, # Optional. Postal code of the address. Not all countries use or require
+                  # postal codes to be present, but where they are used, they may trigger
+                  # additional validation with other parts of the address (e.g. state/zip
+                  # validation in the U.S.A.).
+              &quot;sortingCode&quot;: &quot;A String&quot;, # Optional. Additional, country-specific, sorting code. This is not used
+                  # in most regions. Where it is used, the value is either a string like
+                  # &quot;CEDEX&quot;, optionally followed by a number (e.g. &quot;CEDEX 7&quot;), or just a number
+                  # alone, representing the &quot;sector code&quot; (Jamaica), &quot;delivery area indicator&quot;
+                  # (Malawi) or &quot;post office indicator&quot; (e.g. Côte d&#x27;Ivoire).
+              &quot;regionCode&quot;: &quot;A String&quot;, # Required. CLDR region code of the country/region of the address. This
+                  # is never inferred and it is up to the user to ensure the value is
+                  # correct. See http://cldr.unicode.org/ and
+                  # http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html
+                  # for details. Example: &quot;CH&quot; for Switzerland.
+              &quot;addressLines&quot;: [ # Unstructured address lines describing the lower levels of an address.
+                  #
+                  # Because values in address_lines do not have type information and may
+                  # sometimes contain multiple values in a single field (e.g.
+                  # &quot;Austin, TX&quot;), it is important that the line order is clear. The order of
+                  # address lines should be &quot;envelope order&quot; for the country/region of the
+                  # address. In places where this can vary (e.g. Japan), address_language is
+                  # used to make it explicit (e.g. &quot;ja&quot; for large-to-small ordering and
+                  # &quot;ja-Latn&quot; or &quot;en&quot; for small-to-large). This way, the most specific line of
+                  # an address can be selected based on the language.
+                  #
+                  # The minimum permitted structural representation of an address consists
+                  # of a region_code with all remaining information placed in the
+                  # address_lines. It would be possible to format such an address very
+                  # approximately without geocoding, but no semantic reasoning could be
+                  # made about any of the address components until it was at least
+                  # partially resolved.
+                  #
+                  # Creating an address only containing a region_code and address_lines, and
+                  # then geocoding is the recommended way to handle completely unstructured
+                  # addresses (as opposed to guessing which parts of the address should be
+                  # localities or administrative areas).
+                &quot;A String&quot;,
+              ],
+            },
+            &quot;radiusInMiles&quot;: 3.14, # Radius in miles of the job location. This value is derived from the
+                # location bounding box in which a circle with the specified radius
+                # centered from LatLng covers the area associated with the job location.
+                # For example, currently, &quot;Mountain View, CA, USA&quot; has a radius of
+                # 6.17 miles.
+            &quot;locationType&quot;: &quot;A String&quot;, # The type of a location, which corresponds to the address lines field of
+                # PostalAddress. For example, &quot;Downtown, Atlanta, GA, USA&quot; has a type of
+                # LocationType#NEIGHBORHOOD, and &quot;Kansas City, KS, USA&quot; has a type of
+                # LocationType#LOCALITY.
+            &quot;latLng&quot;: { # An object representing a latitude/longitude pair. This is expressed as a pair # An object representing a latitude/longitude pair.
+                # of doubles representing degrees latitude and degrees longitude. Unless
+                # specified otherwise, this must conform to the
+                # &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
+                # standard&lt;/a&gt;. Values must be within normalized ranges.
+              &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+              &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+            },
+          },
+        ],
+        &quot;jobCategories&quot;: [ # Job categories derived from Job.title and Job.description.
+          &quot;A String&quot;,
+        ],
       },
-      &quot;jobLevel&quot;: &quot;A String&quot;, # Optional. The experience level associated with the job, such as &quot;Entry Level&quot;.
+      &quot;jobStartTime&quot;: &quot;A String&quot;, # Optional. The start timestamp of the job in UTC time zone. Typically this field
+          # is used for contracting engagements. Invalid timestamps are ignored.
+      &quot;visibility&quot;: &quot;A String&quot;, # Deprecated. The job is only visible to the owner.
+          #
+          # The visibility of the job.
+          #
+          # Defaults to Visibility.ACCOUNT_ONLY if not specified.
+      &quot;processingOptions&quot;: { # Input only. # Optional. Options for job processing.
+          #
+          # Options for job processing.
+        &quot;disableStreetAddressResolution&quot;: True or False, # Optional. If set to `true`, the service does not attempt to resolve a
+            # more precise address for the job.
+        &quot;htmlSanitization&quot;: &quot;A String&quot;, # Optional. Option for job HTML content sanitization. Applied fields are:
+            #
+            # * description
+            # * applicationInfo.instruction
+            # * incentives
+            # * qualifications
+            # * responsibilities
+            #
+            # HTML tags in these fields may be stripped if sanitiazation is not
+            # disabled.
+            #
+            # Defaults to HtmlSanitization.SIMPLE_FORMATTING_ONLY.
+      },
+      &quot;companyDisplayName&quot;: &quot;A String&quot;, # Output only. Display name of the company listing the job.
       &quot;languageCode&quot;: &quot;A String&quot;, # Optional. The language of the posting. This field is distinct from
           # any requirements for fluency that are associated with the job.
           #
@@ -2959,12 +2808,163 @@
           # If this field is unspecified and Job.description is present, detected
           # language code based on Job.description is assigned, otherwise
           # defaults to &#x27;en_US&#x27;.
-      &quot;visibility&quot;: &quot;A String&quot;, # Deprecated. The job is only visible to the owner.
+      &quot;compensationInfo&quot;: { # Job compensation details. # Optional. Job compensation information.
+        &quot;annualizedBaseCompensationRange&quot;: { # Compensation range. # Output only. Annualized base compensation range. Computed as
+            # base compensation entry&#x27;s CompensationEntry.compensation times
+            # CompensationEntry.expected_units_per_year.
+            #
+            # See CompensationEntry for explanation on compensation annualization.
+          &quot;maxCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
+              # to a maximal compensation value and the currency code is set to
+              # match the currency code of
+              # min_compensation.
+            &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                # The value must be between -999,999,999 and +999,999,999 inclusive.
+                # If `units` is positive, `nanos` must be positive or zero.
+                # If `units` is zero, `nanos` can be positive, zero, or negative.
+                # If `units` is negative, `nanos` must be negative or zero.
+                # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+            &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+            &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+          },
+          &quot;minCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
+              # to zero and the currency code is set to match the
+              # currency code of max_compensation.
+            &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                # The value must be between -999,999,999 and +999,999,999 inclusive.
+                # If `units` is positive, `nanos` must be positive or zero.
+                # If `units` is zero, `nanos` can be positive, zero, or negative.
+                # If `units` is negative, `nanos` must be negative or zero.
+                # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+            &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+            &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+          },
+        },
+        &quot;annualizedTotalCompensationRange&quot;: { # Compensation range. # Output only. Annualized total compensation range. Computed as
+            # all compensation entries&#x27; CompensationEntry.compensation times
+            # CompensationEntry.expected_units_per_year.
+            #
+            # See CompensationEntry for explanation on compensation annualization.
+          &quot;maxCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
+              # to a maximal compensation value and the currency code is set to
+              # match the currency code of
+              # min_compensation.
+            &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                # The value must be between -999,999,999 and +999,999,999 inclusive.
+                # If `units` is positive, `nanos` must be positive or zero.
+                # If `units` is zero, `nanos` can be positive, zero, or negative.
+                # If `units` is negative, `nanos` must be negative or zero.
+                # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+            &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+            &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+          },
+          &quot;minCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
+              # to zero and the currency code is set to match the
+              # currency code of max_compensation.
+            &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                # The value must be between -999,999,999 and +999,999,999 inclusive.
+                # If `units` is positive, `nanos` must be positive or zero.
+                # If `units` is zero, `nanos` can be positive, zero, or negative.
+                # If `units` is negative, `nanos` must be negative or zero.
+                # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+            &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+            &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+          },
+        },
+        &quot;entries&quot;: [ # Optional. Job compensation information.
+            #
+            # At most one entry can be of type
+            # CompensationInfo.CompensationType.BASE, which is
+            # referred as ** base compensation entry ** for the job.
+          { # 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 or range.
+              # - and its expected_units_per_year is set or can be derived.
+              # Its annualized range is determined as (amount or range) times
+              # expected_units_per_year.
+            &quot;unit&quot;: &quot;A String&quot;, # Optional. Frequency of the specified amount.
+                #
+                # Default is CompensationUnit.COMPENSATION_UNIT_UNSPECIFIED.
+            &quot;expectedUnitsPerYear&quot;: 3.14, # Optional. Expected number of units paid each year. If not specified, when
+                # Job.employment_types is FULLTIME, a default value is inferred
+                # based on unit. Default values:
+                # - HOURLY: 2080
+                # - DAILY: 260
+                # - WEEKLY: 52
+                # - MONTHLY: 12
+                # - ANNUAL: 1
+            &quot;range&quot;: { # Compensation range. # Optional. Compensation range.
+              &quot;maxCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
+                  # to a maximal compensation value and the currency code is set to
+                  # match the currency code of
+                  # min_compensation.
+                &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                    # The value must be between -999,999,999 and +999,999,999 inclusive.
+                    # If `units` is positive, `nanos` must be positive or zero.
+                    # If `units` is zero, `nanos` can be positive, zero, or negative.
+                    # If `units` is negative, `nanos` must be negative or zero.
+                    # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+                &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                    # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+              },
+              &quot;minCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
+                  # to zero and the currency code is set to match the
+                  # currency code of max_compensation.
+                &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                    # The value must be between -999,999,999 and +999,999,999 inclusive.
+                    # If `units` is positive, `nanos` must be positive or zero.
+                    # If `units` is zero, `nanos` can be positive, zero, or negative.
+                    # If `units` is negative, `nanos` must be negative or zero.
+                    # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+                &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                    # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+              },
+            },
+            &quot;description&quot;: &quot;A String&quot;, # Optional. Compensation description.  For example, could
+                # indicate equity terms or provide additional context to an estimated
+                # bonus.
+            &quot;type&quot;: &quot;A String&quot;, # Optional. Compensation type.
+                #
+                # Default is CompensationUnit.COMPENSATION_TYPE_UNSPECIFIED.
+            &quot;amount&quot;: { # Represents an amount of money with its currency type. # Optional. Compensation amount.
+              &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                  # The value must be between -999,999,999 and +999,999,999 inclusive.
+                  # If `units` is positive, `nanos` must be positive or zero.
+                  # If `units` is zero, `nanos` can be positive, zero, or negative.
+                  # If `units` is negative, `nanos` must be negative or zero.
+                  # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+              &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+              &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                  # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+            },
+          },
+        ],
+      },
+      &quot;name&quot;: &quot;A String&quot;, # Required during job update.
           #
-          # The visibility of the job.
+          # The resource name for the job. This is generated by the service when a
+          # job is created.
           #
-          # Defaults to Visibility.ACCOUNT_ONLY if not specified.
-      &quot;postingUpdateTime&quot;: &quot;A String&quot;, # Output only. The timestamp when this job posting was last updated.
+          # The format is &quot;projects/{project_id}/jobs/{job_id}&quot;,
+          # for example, &quot;projects/api-test-project/jobs/1234&quot;.
+          #
+          # Use of this field in job queries and API calls is preferred over the use of
+          # requisition_id since this value is unique.
+      &quot;requisitionId&quot;: &quot;A String&quot;, # Required. The requisition ID, also referred to as the posting ID, assigned by the
+          # client to identify a job. This field is intended to be used by clients
+          # for client identification and tracking of postings. A job is not allowed
+          # to be created if there is another job with the same [company_name],
+          # language_code and requisition_id.
+          #
+          # The maximum number of allowed characters is 255.
     },
     &quot;updateMask&quot;: &quot;A String&quot;, # Optional but strongly recommended to be provided for the best service
         # experience.
@@ -2987,393 +2987,20 @@
     { # A Job resource represents a job posting (also referred to as a &quot;job listing&quot;
       # or &quot;job requisition&quot;). A job belongs to a Company, which is the hiring
       # entity responsible for the job.
-    &quot;name&quot;: &quot;A String&quot;, # Required during job update.
-        #
-        # The resource name for the job. This is generated by the service when a
-        # job is created.
-        #
-        # The format is &quot;projects/{project_id}/jobs/{job_id}&quot;,
-        # for example, &quot;projects/api-test-project/jobs/1234&quot;.
-        #
-        # Use of this field in job queries and API calls is preferred over the use of
-        # requisition_id since this value is unique.
-    &quot;jobBenefits&quot;: [ # Optional. The benefits included with the job.
-      &quot;A String&quot;,
-    ],
-    &quot;promotionValue&quot;: 42, # Optional. A promotion value of the job, as determined by the client.
-        # The value determines the sort order of the jobs returned when searching for
-        # jobs using the featured jobs search call, with higher promotional values
-        # being returned first and ties being resolved by relevance sort. Only the
-        # jobs with a promotionValue &gt;0 are returned in a FEATURED_JOB_SEARCH.
-        #
-        # Default value is 0, and negative values are treated as 0.
-    &quot;title&quot;: &quot;A String&quot;, # Required. The title of the job, such as &quot;Software Engineer&quot;
-        #
-        # The maximum number of allowed characters is 500.
-    &quot;companyDisplayName&quot;: &quot;A String&quot;, # Output only. Display name of the company listing the job.
-    &quot;qualifications&quot;: &quot;A String&quot;, # Optional. A description of the qualifications required to perform the
-        # job. The use of this field is recommended
-        # as an alternative to using the more general description field.
-        #
-        # This field accepts and sanitizes HTML input, and also accepts
-        # bold, italic, ordered list, and unordered list markup tags.
-        #
-        # The maximum number of allowed characters is 10,000.
-    &quot;requisitionId&quot;: &quot;A String&quot;, # Required. The requisition ID, also referred to as the posting ID, assigned by the
-        # client to identify a job. This field is intended to be used by clients
-        # for client identification and tracking of postings. A job is not allowed
-        # to be created if there is another job with the same [company_name],
-        # language_code and requisition_id.
-        #
-        # The maximum number of allowed characters is 255.
-    &quot;processingOptions&quot;: { # Input only. # Optional. Options for job processing.
-        #
-        # Options for job processing.
-      &quot;disableStreetAddressResolution&quot;: True or False, # Optional. If set to `true`, the service does not attempt to resolve a
-          # more precise address for the job.
-      &quot;htmlSanitization&quot;: &quot;A String&quot;, # Optional. Option for job HTML content sanitization. Applied fields are:
-          #
-          # * description
-          # * applicationInfo.instruction
-          # * incentives
-          # * qualifications
-          # * responsibilities
-          #
-          # HTML tags in these fields may be stripped if sanitiazation is not
-          # disabled.
-          #
-          # Defaults to HtmlSanitization.SIMPLE_FORMATTING_ONLY.
-    },
-    &quot;jobEndTime&quot;: &quot;A String&quot;, # Optional. The end timestamp of the job. Typically this field is used for contracting
-        # engagements. Invalid timestamps are ignored.
-    &quot;derivedInfo&quot;: { # Output only. # Output only. Derived details about the job posting.
-        #
-        # Derived details about the job posting.
-      &quot;locations&quot;: [ # Structured locations of the job, resolved from Job.addresses.
-          #
-          # locations are exactly matched to Job.addresses in the same
-          # order.
-        { # Output only.
-            #
-            # A resource that represents a location with full geographic information.
-          &quot;radiusInMiles&quot;: 3.14, # Radius in miles of the job location. This value is derived from the
-              # location bounding box in which a circle with the specified radius
-              # centered from LatLng covers the area associated with the job location.
-              # For example, currently, &quot;Mountain View, CA, USA&quot; has a radius of
-              # 6.17 miles.
-          &quot;latLng&quot;: { # An object representing a latitude/longitude pair. This is expressed as a pair # An object representing a latitude/longitude pair.
-              # of doubles representing degrees latitude and degrees longitude. Unless
-              # specified otherwise, this must conform to the
-              # &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
-              # standard&lt;/a&gt;. Values must be within normalized ranges.
-            &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
-            &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
-          },
-          &quot;postalAddress&quot;: { # Represents a postal address, e.g. for postal delivery or payments addresses. # Postal address of the location that includes human readable information,
-              # such as postal delivery and payments addresses. Given a postal address,
-              # a postal service can deliver items to a premises, P.O. Box, or other
-              # delivery location.
-              # Given a postal address, a postal service can deliver items to a premise, P.O.
-              # Box or similar.
-              # It is not intended to model geographical locations (roads, towns,
-              # mountains).
-              #
-              # In typical usage an address would be created via user input or from importing
-              # existing data, depending on the type of process.
-              #
-              # Advice on address input / editing:
-              #  - Use an i18n-ready address widget such as
-              #    https://github.com/google/libaddressinput)
-              # - Users should not be presented with UI elements for input or editing of
-              #   fields outside countries where that field is used.
-              #
-              # For more guidance on how to use this schema, please see:
-              # https://support.google.com/business/answer/6397478
-            &quot;postalCode&quot;: &quot;A String&quot;, # Optional. Postal code of the address. Not all countries use or require
-                # postal codes to be present, but where they are used, they may trigger
-                # additional validation with other parts of the address (e.g. state/zip
-                # validation in the U.S.A.).
-            &quot;languageCode&quot;: &quot;A String&quot;, # Optional. BCP-47 language code of the contents of this address (if
-                # known). This is often the UI language of the input form or is expected
-                # to match one of the languages used in the address&#x27; country/region, or their
-                # transliterated equivalents.
-                # This can affect formatting in certain countries, but is not critical
-                # to the correctness of the data and will never affect any validation or
-                # other non-formatting related operations.
-                #
-                # If this value is not known, it should be omitted (rather than specifying a
-                # possibly incorrect default).
-                #
-                # Examples: &quot;zh-Hant&quot;, &quot;ja&quot;, &quot;ja-Latn&quot;, &quot;en&quot;.
-            &quot;sortingCode&quot;: &quot;A String&quot;, # Optional. Additional, country-specific, sorting code. This is not used
-                # in most regions. Where it is used, the value is either a string like
-                # &quot;CEDEX&quot;, optionally followed by a number (e.g. &quot;CEDEX 7&quot;), or just a number
-                # alone, representing the &quot;sector code&quot; (Jamaica), &quot;delivery area indicator&quot;
-                # (Malawi) or &quot;post office indicator&quot; (e.g. Côte d&#x27;Ivoire).
-            &quot;recipients&quot;: [ # Optional. The recipient at the address.
-                # This field may, under certain circumstances, contain multiline information.
-                # For example, it might contain &quot;care of&quot; information.
-              &quot;A String&quot;,
-            ],
-            &quot;sublocality&quot;: &quot;A String&quot;, # Optional. Sublocality of the address.
-                # For example, this can be neighborhoods, boroughs, districts.
-            &quot;revision&quot;: 42, # The schema revision of the `PostalAddress`. This must be set to 0, which is
-                # the latest revision.
-                #
-                # All new revisions **must** be backward compatible with old revisions.
-            &quot;locality&quot;: &quot;A String&quot;, # Optional. Generally refers to the city/town portion of the address.
-                # Examples: US city, IT comune, UK post town.
-                # In regions of the world where localities are not well defined or do not fit
-                # into this structure well, leave locality empty and use address_lines.
-            &quot;administrativeArea&quot;: &quot;A String&quot;, # Optional. Highest administrative subdivision which is used for postal
-                # addresses of a country or region.
-                # For example, this can be a state, a province, an oblast, or a prefecture.
-                # Specifically, for Spain this is the province and not the autonomous
-                # community (e.g. &quot;Barcelona&quot; and not &quot;Catalonia&quot;).
-                # Many countries don&#x27;t use an administrative area in postal addresses. E.g.
-                # in Switzerland this should be left unpopulated.
-            &quot;organization&quot;: &quot;A String&quot;, # Optional. The name of the organization at the address.
-            &quot;addressLines&quot;: [ # Unstructured address lines describing the lower levels of an address.
-                #
-                # Because values in address_lines do not have type information and may
-                # sometimes contain multiple values in a single field (e.g.
-                # &quot;Austin, TX&quot;), it is important that the line order is clear. The order of
-                # address lines should be &quot;envelope order&quot; for the country/region of the
-                # address. In places where this can vary (e.g. Japan), address_language is
-                # used to make it explicit (e.g. &quot;ja&quot; for large-to-small ordering and
-                # &quot;ja-Latn&quot; or &quot;en&quot; for small-to-large). This way, the most specific line of
-                # an address can be selected based on the language.
-                #
-                # The minimum permitted structural representation of an address consists
-                # of a region_code with all remaining information placed in the
-                # address_lines. It would be possible to format such an address very
-                # approximately without geocoding, but no semantic reasoning could be
-                # made about any of the address components until it was at least
-                # partially resolved.
-                #
-                # Creating an address only containing a region_code and address_lines, and
-                # then geocoding is the recommended way to handle completely unstructured
-                # addresses (as opposed to guessing which parts of the address should be
-                # localities or administrative areas).
-              &quot;A String&quot;,
-            ],
-            &quot;regionCode&quot;: &quot;A String&quot;, # Required. CLDR region code of the country/region of the address. This
-                # is never inferred and it is up to the user to ensure the value is
-                # correct. See http://cldr.unicode.org/ and
-                # http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html
-                # for details. Example: &quot;CH&quot; for Switzerland.
-          },
-          &quot;locationType&quot;: &quot;A String&quot;, # The type of a location, which corresponds to the address lines field of
-              # PostalAddress. For example, &quot;Downtown, Atlanta, GA, USA&quot; has a type of
-              # LocationType#NEIGHBORHOOD, and &quot;Kansas City, KS, USA&quot; has a type of
-              # LocationType#LOCALITY.
-        },
-      ],
-      &quot;jobCategories&quot;: [ # Job categories derived from Job.title and Job.description.
-        &quot;A String&quot;,
-      ],
-    },
-    &quot;incentives&quot;: &quot;A String&quot;, # Optional. A description of bonus, commission, and other compensation
-        # incentives associated with the job not including salary or pay.
-        #
-        # The maximum number of allowed characters is 10,000.
-    &quot;employmentTypes&quot;: [ # Optional. The employment type(s) of a job, for example,
-        # full time or
-        # part time.
-      &quot;A String&quot;,
-    ],
-    &quot;postingCreateTime&quot;: &quot;A String&quot;, # Output only. The timestamp when this job posting was created.
-    &quot;addresses&quot;: [ # Optional but strongly recommended for the best service experience.
-        #
-        # Location(s) where the employer is looking to hire for this job posting.
-        #
-        # Specifying the full street address(es) of the hiring location enables
-        # better API results, especially job searches by commute time.
-        #
-        # At most 50 locations are allowed for best search performance. If a job has
-        # more locations, it is suggested to split it into multiple jobs with unique
-        # requisition_ids (e.g. &#x27;ReqA&#x27; becomes &#x27;ReqA-1&#x27;, &#x27;ReqA-2&#x27;, etc.) as
-        # multiple jobs with the same company_name, language_code and
-        # requisition_id are not allowed. If the original requisition_id must
-        # be preserved, a custom field should be used for storage. It is also
-        # suggested to group the locations that close to each other in the same job
-        # for better search experience.
-        #
-        # The maximum number of allowed characters is 500.
-      &quot;A String&quot;,
-    ],
-    &quot;companyName&quot;: &quot;A String&quot;, # Required. The resource name of the company listing the job, such as
-        # &quot;projects/api-test-project/companies/foo&quot;.
-    &quot;description&quot;: &quot;A String&quot;, # Required. The description of the job, which typically includes a multi-paragraph
-        # description of the company and related information. Separate fields are
-        # provided on the job object for responsibilities,
-        # qualifications, and other job characteristics. Use of
-        # these separate job fields is recommended.
-        #
-        # This field accepts and sanitizes HTML input, and also accepts
-        # bold, italic, ordered list, and unordered list markup tags.
-        #
-        # The maximum number of allowed characters is 100,000.
-    &quot;jobStartTime&quot;: &quot;A String&quot;, # Optional. The start timestamp of the job in UTC time zone. Typically this field
-        # is used for contracting engagements. Invalid timestamps are ignored.
-    &quot;degreeTypes&quot;: [ # Optional. The desired education degrees for the job, such as Bachelors, Masters.
-      &quot;A String&quot;,
-    ],
-    &quot;compensationInfo&quot;: { # Job compensation details. # Optional. Job compensation information.
-      &quot;annualizedTotalCompensationRange&quot;: { # Compensation range. # Output only. Annualized total compensation range. Computed as
-          # all compensation entries&#x27; CompensationEntry.compensation times
-          # CompensationEntry.expected_units_per_year.
-          #
-          # See CompensationEntry for explanation on compensation annualization.
-        &quot;maxCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
-            # to a maximal compensation value and the currency code is set to
-            # match the currency code of
-            # min_compensation.
-          &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
-              # The value must be between -999,999,999 and +999,999,999 inclusive.
-              # If `units` is positive, `nanos` must be positive or zero.
-              # If `units` is zero, `nanos` can be positive, zero, or negative.
-              # If `units` is negative, `nanos` must be negative or zero.
-              # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-          &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
-              # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
-          &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
-        },
-        &quot;minCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
-            # to zero and the currency code is set to match the
-            # currency code of max_compensation.
-          &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
-              # The value must be between -999,999,999 and +999,999,999 inclusive.
-              # If `units` is positive, `nanos` must be positive or zero.
-              # If `units` is zero, `nanos` can be positive, zero, or negative.
-              # If `units` is negative, `nanos` must be negative or zero.
-              # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-          &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
-              # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
-          &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
-        },
-      },
-      &quot;entries&quot;: [ # Optional. Job compensation information.
-          #
-          # At most one entry can be of type
-          # CompensationInfo.CompensationType.BASE, which is
-          # referred as ** base compensation entry ** for the job.
-        { # 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 or range.
-            # - and its expected_units_per_year is set or can be derived.
-            # Its annualized range is determined as (amount or range) times
-            # expected_units_per_year.
-          &quot;amount&quot;: { # Represents an amount of money with its currency type. # Optional. Compensation amount.
-            &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
-                # The value must be between -999,999,999 and +999,999,999 inclusive.
-                # If `units` is positive, `nanos` must be positive or zero.
-                # If `units` is zero, `nanos` can be positive, zero, or negative.
-                # If `units` is negative, `nanos` must be negative or zero.
-                # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-            &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
-                # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
-            &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
-          },
-          &quot;type&quot;: &quot;A String&quot;, # Optional. Compensation type.
-              #
-              # Default is CompensationUnit.COMPENSATION_TYPE_UNSPECIFIED.
-          &quot;range&quot;: { # Compensation range. # Optional. Compensation range.
-            &quot;maxCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
-                # to a maximal compensation value and the currency code is set to
-                # match the currency code of
-                # min_compensation.
-              &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
-                  # The value must be between -999,999,999 and +999,999,999 inclusive.
-                  # If `units` is positive, `nanos` must be positive or zero.
-                  # If `units` is zero, `nanos` can be positive, zero, or negative.
-                  # If `units` is negative, `nanos` must be negative or zero.
-                  # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-              &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
-                  # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
-              &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
-            },
-            &quot;minCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
-                # to zero and the currency code is set to match the
-                # currency code of max_compensation.
-              &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
-                  # The value must be between -999,999,999 and +999,999,999 inclusive.
-                  # If `units` is positive, `nanos` must be positive or zero.
-                  # If `units` is zero, `nanos` can be positive, zero, or negative.
-                  # If `units` is negative, `nanos` must be negative or zero.
-                  # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-              &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
-                  # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
-              &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
-            },
-          },
-          &quot;expectedUnitsPerYear&quot;: 3.14, # Optional. Expected number of units paid each year. If not specified, when
-              # Job.employment_types is FULLTIME, a default value is inferred
-              # based on unit. Default values:
-              # - HOURLY: 2080
-              # - DAILY: 260
-              # - WEEKLY: 52
-              # - MONTHLY: 12
-              # - ANNUAL: 1
-          &quot;description&quot;: &quot;A String&quot;, # Optional. Compensation description.  For example, could
-              # indicate equity terms or provide additional context to an estimated
-              # bonus.
-          &quot;unit&quot;: &quot;A String&quot;, # Optional. Frequency of the specified amount.
-              #
-              # Default is CompensationUnit.COMPENSATION_UNIT_UNSPECIFIED.
-        },
-      ],
-      &quot;annualizedBaseCompensationRange&quot;: { # Compensation range. # Output only. Annualized base compensation range. Computed as
-          # base compensation entry&#x27;s CompensationEntry.compensation times
-          # CompensationEntry.expected_units_per_year.
-          #
-          # See CompensationEntry for explanation on compensation annualization.
-        &quot;maxCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
-            # to a maximal compensation value and the currency code is set to
-            # match the currency code of
-            # min_compensation.
-          &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
-              # The value must be between -999,999,999 and +999,999,999 inclusive.
-              # If `units` is positive, `nanos` must be positive or zero.
-              # If `units` is zero, `nanos` can be positive, zero, or negative.
-              # If `units` is negative, `nanos` must be negative or zero.
-              # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-          &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
-              # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
-          &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
-        },
-        &quot;minCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
-            # to zero and the currency code is set to match the
-            # currency code of max_compensation.
-          &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
-              # The value must be between -999,999,999 and +999,999,999 inclusive.
-              # If `units` is positive, `nanos` must be positive or zero.
-              # If `units` is zero, `nanos` can be positive, zero, or negative.
-              # If `units` is negative, `nanos` must be negative or zero.
-              # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-          &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
-              # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
-          &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
-        },
-      },
-    },
-    &quot;responsibilities&quot;: &quot;A String&quot;, # Optional. A description of job responsibilities. The use of this field is
-        # recommended as an alternative to using the more general description
-        # field.
-        #
-        # This field accepts and sanitizes HTML input, and also accepts
-        # bold, italic, ordered list, and unordered list markup tags.
-        #
-        # The maximum number of allowed characters is 10,000.
-    &quot;department&quot;: &quot;A String&quot;, # Optional. The department or functional area within the company with the open
-        # position.
-        #
-        # The maximum number of allowed characters is 255.
     &quot;applicationInfo&quot;: { # Application related details of a job posting. # Required. At least one field within ApplicationInfo must be specified.
         #
         # Job application information.
+      &quot;instruction&quot;: &quot;A String&quot;, # Optional but at least one of uris,
+          # emails or instruction must be
+          # specified.
+          #
+          # Use this field to provide instructions, such as &quot;Mail your application
+          # to ...&quot;, that a candidate can follow to apply for the job.
+          #
+          # This field accepts and sanitizes HTML input, and also accepts
+          # bold, italic, ordered list, and unordered list markup tags.
+          #
+          # The maximum number of allowed characters is 3,000.
       &quot;uris&quot;: [ # Optional but at least one of uris,
           # emails or instruction must be
           # specified.
@@ -3394,18 +3021,81 @@
           # The maximum number of allowed characters for each entry is 255.
         &quot;A String&quot;,
       ],
-      &quot;instruction&quot;: &quot;A String&quot;, # Optional but at least one of uris,
-          # emails or instruction must be
-          # specified.
-          #
-          # Use this field to provide instructions, such as &quot;Mail your application
-          # to ...&quot;, that a candidate can follow to apply for the job.
-          #
-          # This field accepts and sanitizes HTML input, and also accepts
-          # bold, italic, ordered list, and unordered list markup tags.
-          #
-          # The maximum number of allowed characters is 3,000.
     },
+    &quot;responsibilities&quot;: &quot;A String&quot;, # Optional. A description of job responsibilities. The use of this field is
+        # recommended as an alternative to using the more general description
+        # field.
+        #
+        # This field accepts and sanitizes HTML input, and also accepts
+        # bold, italic, ordered list, and unordered list markup tags.
+        #
+        # The maximum number of allowed characters is 10,000.
+    &quot;companyName&quot;: &quot;A String&quot;, # Required. The resource name of the company listing the job, such as
+        # &quot;projects/api-test-project/companies/foo&quot;.
+    &quot;promotionValue&quot;: 42, # Optional. A promotion value of the job, as determined by the client.
+        # The value determines the sort order of the jobs returned when searching for
+        # jobs using the featured jobs search call, with higher promotional values
+        # being returned first and ties being resolved by relevance sort. Only the
+        # jobs with a promotionValue &gt;0 are returned in a FEATURED_JOB_SEARCH.
+        #
+        # Default value is 0, and negative values are treated as 0.
+    &quot;degreeTypes&quot;: [ # Optional. The desired education degrees for the job, such as Bachelors, Masters.
+      &quot;A String&quot;,
+    ],
+    &quot;description&quot;: &quot;A String&quot;, # Required. The description of the job, which typically includes a multi-paragraph
+        # description of the company and related information. Separate fields are
+        # provided on the job object for responsibilities,
+        # qualifications, and other job characteristics. Use of
+        # these separate job fields is recommended.
+        #
+        # This field accepts and sanitizes HTML input, and also accepts
+        # bold, italic, ordered list, and unordered list markup tags.
+        #
+        # The maximum number of allowed characters is 100,000.
+    &quot;title&quot;: &quot;A String&quot;, # Required. The title of the job, such as &quot;Software Engineer&quot;
+        #
+        # The maximum number of allowed characters is 500.
+    &quot;postingPublishTime&quot;: &quot;A String&quot;, # Optional. The timestamp this job posting was most recently published. The default
+        # value is the time the request arrives at the server. Invalid timestamps are
+        # ignored.
+    &quot;postingCreateTime&quot;: &quot;A String&quot;, # Output only. The timestamp when this job posting was created.
+    &quot;incentives&quot;: &quot;A String&quot;, # Optional. A description of bonus, commission, and other compensation
+        # incentives associated with the job not including salary or pay.
+        #
+        # The maximum number of allowed characters is 10,000.
+    &quot;jobEndTime&quot;: &quot;A String&quot;, # Optional. The end timestamp of the job. Typically this field is used for contracting
+        # engagements. Invalid timestamps are ignored.
+    &quot;addresses&quot;: [ # Optional but strongly recommended for the best service experience.
+        #
+        # Location(s) where the employer is looking to hire for this job posting.
+        #
+        # Specifying the full street address(es) of the hiring location enables
+        # better API results, especially job searches by commute time.
+        #
+        # At most 50 locations are allowed for best search performance. If a job has
+        # more locations, it is suggested to split it into multiple jobs with unique
+        # requisition_ids (e.g. &#x27;ReqA&#x27; becomes &#x27;ReqA-1&#x27;, &#x27;ReqA-2&#x27;, etc.) as
+        # multiple jobs with the same company_name, language_code and
+        # requisition_id are not allowed. If the original requisition_id must
+        # be preserved, a custom field should be used for storage. It is also
+        # suggested to group the locations that close to each other in the same job
+        # for better search experience.
+        #
+        # The maximum number of allowed characters is 500.
+      &quot;A String&quot;,
+    ],
+    &quot;jobLevel&quot;: &quot;A String&quot;, # Optional. The experience level associated with the job, such as &quot;Entry Level&quot;.
+    &quot;jobBenefits&quot;: [ # Optional. The benefits included with the job.
+      &quot;A String&quot;,
+    ],
+    &quot;qualifications&quot;: &quot;A String&quot;, # Optional. A description of the qualifications required to perform the
+        # job. The use of this field is recommended
+        # as an alternative to using the more general description field.
+        #
+        # This field accepts and sanitizes HTML input, and also accepts
+        # bold, italic, ordered list, and unordered list markup tags.
+        #
+        # The maximum number of allowed characters is 10,000.
     &quot;postingRegion&quot;: &quot;A String&quot;, # Optional. The job PostingRegion (for example, state, country) throughout which
         # the job is available. If this field is set, a
         # LocationFilter in a search query within the job region
@@ -3413,6 +3103,54 @@
         # If this field is set to PostingRegion.NATION or
         # PostingRegion.ADMINISTRATIVE_AREA, setting job Job.addresses
         # to the same location level as this field is strongly recommended.
+    &quot;customAttributes&quot;: { # Optional. A map of fields to hold both filterable and non-filterable custom job
+        # attributes that are not covered by the provided structured fields.
+        #
+        # The keys of the map are strings up to 64 bytes and must match the
+        # pattern: a-zA-Z*. For example, key0LikeThis or
+        # KEY_1_LIKE_THIS.
+        #
+        # At most 100 filterable and at most 100 unfilterable keys are supported.
+        # For filterable `string_values`, across all keys at most 200 values are
+        # allowed, with each string no more than 255 characters. For unfilterable
+        # `string_values`, the maximum total size of `string_values` across all keys
+        # is 50KB.
+      &quot;a_key&quot;: { # Custom attribute values that are either filterable or non-filterable.
+        &quot;filterable&quot;: True or False, # Optional. If the `filterable` flag is true, the custom field values may be used for
+            # custom attribute filters JobQuery.custom_attribute_filter.
+            # If false, these values may not be used for custom attribute filters.
+            #
+            # Default is false.
+        &quot;stringValues&quot;: [ # Optional but exactly one of string_values or long_values must
+            # be specified.
+            #
+            # This field is used to perform a string match (`CASE_SENSITIVE_MATCH` or
+            # `CASE_INSENSITIVE_MATCH`) search.
+            # For filterable `string_value`s, a maximum total number of 200 values
+            # is allowed, with each `string_value` has a byte size of no more than
+            # 500B. For unfilterable `string_values`, the maximum total byte size of
+            # unfilterable `string_values` is 50KB.
+            #
+            # Empty string is not allowed.
+          &quot;A String&quot;,
+        ],
+        &quot;longValues&quot;: [ # Optional but exactly one of string_values or long_values must
+            # be specified.
+            #
+            # This field is used to perform number range search.
+            # (`EQ`, `GT`, `GE`, `LE`, `LT`) over filterable `long_value`.
+            #
+            # Currently at most 1 long_values is supported.
+          &quot;A String&quot;,
+        ],
+      },
+    },
+    &quot;postingUpdateTime&quot;: &quot;A String&quot;, # Output only. The timestamp when this job posting was last updated.
+    &quot;employmentTypes&quot;: [ # Optional. The employment type(s) of a job, for example,
+        # full time or
+        # part time.
+      &quot;A String&quot;,
+    ],
     &quot;postingExpireTime&quot;: &quot;A String&quot;, # Optional but strongly recommended for the best service
         # experience.
         #
@@ -3446,52 +3184,163 @@
         # expiry_time, or the masks are empty meaning that every field is
         # updated, the job posting expires after 30 days from the job&#x27;s last
         # update time. Otherwise the expiration date isn&#x27;t updated.
-    &quot;postingPublishTime&quot;: &quot;A String&quot;, # Optional. The timestamp this job posting was most recently published. The default
-        # value is the time the request arrives at the server. Invalid timestamps are
-        # ignored.
-    &quot;customAttributes&quot;: { # Optional. A map of fields to hold both filterable and non-filterable custom job
-        # attributes that are not covered by the provided structured fields.
+    &quot;department&quot;: &quot;A String&quot;, # Optional. The department or functional area within the company with the open
+        # position.
         #
-        # The keys of the map are strings up to 64 bytes and must match the
-        # pattern: a-zA-Z*. For example, key0LikeThis or
-        # KEY_1_LIKE_THIS.
+        # The maximum number of allowed characters is 255.
+    &quot;derivedInfo&quot;: { # Output only. # Output only. Derived details about the job posting.
         #
-        # At most 100 filterable and at most 100 unfilterable keys are supported.
-        # For filterable `string_values`, across all keys at most 200 values are
-        # allowed, with each string no more than 255 characters. For unfilterable
-        # `string_values`, the maximum total size of `string_values` across all keys
-        # is 50KB.
-      &quot;a_key&quot;: { # Custom attribute values that are either filterable or non-filterable.
-        &quot;stringValues&quot;: [ # Optional but exactly one of string_values or long_values must
-            # be specified.
+        # Derived details about the job posting.
+      &quot;locations&quot;: [ # Structured locations of the job, resolved from Job.addresses.
+          #
+          # locations are exactly matched to Job.addresses in the same
+          # order.
+        { # Output only.
             #
-            # This field is used to perform a string match (`CASE_SENSITIVE_MATCH` or
-            # `CASE_INSENSITIVE_MATCH`) search.
-            # For filterable `string_value`s, a maximum total number of 200 values
-            # is allowed, with each `string_value` has a byte size of no more than
-            # 500B. For unfilterable `string_values`, the maximum total byte size of
-            # unfilterable `string_values` is 50KB.
-            #
-            # Empty string is not allowed.
-          &quot;A String&quot;,
-        ],
-        &quot;filterable&quot;: True or False, # Optional. If the `filterable` flag is true, the custom field values may be used for
-            # custom attribute filters JobQuery.custom_attribute_filter.
-            # If false, these values may not be used for custom attribute filters.
-            #
-            # Default is false.
-        &quot;longValues&quot;: [ # Optional but exactly one of string_values or long_values must
-            # be specified.
-            #
-            # This field is used to perform number range search.
-            # (`EQ`, `GT`, `GE`, `LE`, `LT`) over filterable `long_value`.
-            #
-            # Currently at most 1 long_values is supported.
-          &quot;A String&quot;,
-        ],
-      },
+            # A resource that represents a location with full geographic information.
+          &quot;postalAddress&quot;: { # Represents a postal address, e.g. for postal delivery or payments addresses. # Postal address of the location that includes human readable information,
+              # such as postal delivery and payments addresses. Given a postal address,
+              # a postal service can deliver items to a premises, P.O. Box, or other
+              # delivery location.
+              # Given a postal address, a postal service can deliver items to a premise, P.O.
+              # Box or similar.
+              # It is not intended to model geographical locations (roads, towns,
+              # mountains).
+              #
+              # In typical usage an address would be created via user input or from importing
+              # existing data, depending on the type of process.
+              #
+              # Advice on address input / editing:
+              #  - Use an i18n-ready address widget such as
+              #    https://github.com/google/libaddressinput)
+              # - Users should not be presented with UI elements for input or editing of
+              #   fields outside countries where that field is used.
+              #
+              # For more guidance on how to use this schema, please see:
+              # https://support.google.com/business/answer/6397478
+            &quot;organization&quot;: &quot;A String&quot;, # Optional. The name of the organization at the address.
+            &quot;sublocality&quot;: &quot;A String&quot;, # Optional. Sublocality of the address.
+                # For example, this can be neighborhoods, boroughs, districts.
+            &quot;languageCode&quot;: &quot;A String&quot;, # Optional. BCP-47 language code of the contents of this address (if
+                # known). This is often the UI language of the input form or is expected
+                # to match one of the languages used in the address&#x27; country/region, or their
+                # transliterated equivalents.
+                # This can affect formatting in certain countries, but is not critical
+                # to the correctness of the data and will never affect any validation or
+                # other non-formatting related operations.
+                #
+                # If this value is not known, it should be omitted (rather than specifying a
+                # possibly incorrect default).
+                #
+                # Examples: &quot;zh-Hant&quot;, &quot;ja&quot;, &quot;ja-Latn&quot;, &quot;en&quot;.
+            &quot;administrativeArea&quot;: &quot;A String&quot;, # Optional. Highest administrative subdivision which is used for postal
+                # addresses of a country or region.
+                # For example, this can be a state, a province, an oblast, or a prefecture.
+                # Specifically, for Spain this is the province and not the autonomous
+                # community (e.g. &quot;Barcelona&quot; and not &quot;Catalonia&quot;).
+                # Many countries don&#x27;t use an administrative area in postal addresses. E.g.
+                # in Switzerland this should be left unpopulated.
+            &quot;locality&quot;: &quot;A String&quot;, # Optional. Generally refers to the city/town portion of the address.
+                # Examples: US city, IT comune, UK post town.
+                # In regions of the world where localities are not well defined or do not fit
+                # into this structure well, leave locality empty and use address_lines.
+            &quot;recipients&quot;: [ # Optional. The recipient at the address.
+                # This field may, under certain circumstances, contain multiline information.
+                # For example, it might contain &quot;care of&quot; information.
+              &quot;A String&quot;,
+            ],
+            &quot;revision&quot;: 42, # The schema revision of the `PostalAddress`. This must be set to 0, which is
+                # the latest revision.
+                #
+                # All new revisions **must** be backward compatible with old revisions.
+            &quot;postalCode&quot;: &quot;A String&quot;, # Optional. Postal code of the address. Not all countries use or require
+                # postal codes to be present, but where they are used, they may trigger
+                # additional validation with other parts of the address (e.g. state/zip
+                # validation in the U.S.A.).
+            &quot;sortingCode&quot;: &quot;A String&quot;, # Optional. Additional, country-specific, sorting code. This is not used
+                # in most regions. Where it is used, the value is either a string like
+                # &quot;CEDEX&quot;, optionally followed by a number (e.g. &quot;CEDEX 7&quot;), or just a number
+                # alone, representing the &quot;sector code&quot; (Jamaica), &quot;delivery area indicator&quot;
+                # (Malawi) or &quot;post office indicator&quot; (e.g. Côte d&#x27;Ivoire).
+            &quot;regionCode&quot;: &quot;A String&quot;, # Required. CLDR region code of the country/region of the address. This
+                # is never inferred and it is up to the user to ensure the value is
+                # correct. See http://cldr.unicode.org/ and
+                # http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html
+                # for details. Example: &quot;CH&quot; for Switzerland.
+            &quot;addressLines&quot;: [ # Unstructured address lines describing the lower levels of an address.
+                #
+                # Because values in address_lines do not have type information and may
+                # sometimes contain multiple values in a single field (e.g.
+                # &quot;Austin, TX&quot;), it is important that the line order is clear. The order of
+                # address lines should be &quot;envelope order&quot; for the country/region of the
+                # address. In places where this can vary (e.g. Japan), address_language is
+                # used to make it explicit (e.g. &quot;ja&quot; for large-to-small ordering and
+                # &quot;ja-Latn&quot; or &quot;en&quot; for small-to-large). This way, the most specific line of
+                # an address can be selected based on the language.
+                #
+                # The minimum permitted structural representation of an address consists
+                # of a region_code with all remaining information placed in the
+                # address_lines. It would be possible to format such an address very
+                # approximately without geocoding, but no semantic reasoning could be
+                # made about any of the address components until it was at least
+                # partially resolved.
+                #
+                # Creating an address only containing a region_code and address_lines, and
+                # then geocoding is the recommended way to handle completely unstructured
+                # addresses (as opposed to guessing which parts of the address should be
+                # localities or administrative areas).
+              &quot;A String&quot;,
+            ],
+          },
+          &quot;radiusInMiles&quot;: 3.14, # Radius in miles of the job location. This value is derived from the
+              # location bounding box in which a circle with the specified radius
+              # centered from LatLng covers the area associated with the job location.
+              # For example, currently, &quot;Mountain View, CA, USA&quot; has a radius of
+              # 6.17 miles.
+          &quot;locationType&quot;: &quot;A String&quot;, # The type of a location, which corresponds to the address lines field of
+              # PostalAddress. For example, &quot;Downtown, Atlanta, GA, USA&quot; has a type of
+              # LocationType#NEIGHBORHOOD, and &quot;Kansas City, KS, USA&quot; has a type of
+              # LocationType#LOCALITY.
+          &quot;latLng&quot;: { # An object representing a latitude/longitude pair. This is expressed as a pair # An object representing a latitude/longitude pair.
+              # of doubles representing degrees latitude and degrees longitude. Unless
+              # specified otherwise, this must conform to the
+              # &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
+              # standard&lt;/a&gt;. Values must be within normalized ranges.
+            &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+            &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+          },
+        },
+      ],
+      &quot;jobCategories&quot;: [ # Job categories derived from Job.title and Job.description.
+        &quot;A String&quot;,
+      ],
     },
-    &quot;jobLevel&quot;: &quot;A String&quot;, # Optional. The experience level associated with the job, such as &quot;Entry Level&quot;.
+    &quot;jobStartTime&quot;: &quot;A String&quot;, # Optional. The start timestamp of the job in UTC time zone. Typically this field
+        # is used for contracting engagements. Invalid timestamps are ignored.
+    &quot;visibility&quot;: &quot;A String&quot;, # Deprecated. The job is only visible to the owner.
+        #
+        # The visibility of the job.
+        #
+        # Defaults to Visibility.ACCOUNT_ONLY if not specified.
+    &quot;processingOptions&quot;: { # Input only. # Optional. Options for job processing.
+        #
+        # Options for job processing.
+      &quot;disableStreetAddressResolution&quot;: True or False, # Optional. If set to `true`, the service does not attempt to resolve a
+          # more precise address for the job.
+      &quot;htmlSanitization&quot;: &quot;A String&quot;, # Optional. Option for job HTML content sanitization. Applied fields are:
+          #
+          # * description
+          # * applicationInfo.instruction
+          # * incentives
+          # * qualifications
+          # * responsibilities
+          #
+          # HTML tags in these fields may be stripped if sanitiazation is not
+          # disabled.
+          #
+          # Defaults to HtmlSanitization.SIMPLE_FORMATTING_ONLY.
+    },
+    &quot;companyDisplayName&quot;: &quot;A String&quot;, # Output only. Display name of the company listing the job.
     &quot;languageCode&quot;: &quot;A String&quot;, # Optional. The language of the posting. This field is distinct from
         # any requirements for fluency that are associated with the job.
         #
@@ -3503,12 +3352,163 @@
         # If this field is unspecified and Job.description is present, detected
         # language code based on Job.description is assigned, otherwise
         # defaults to &#x27;en_US&#x27;.
-    &quot;visibility&quot;: &quot;A String&quot;, # Deprecated. The job is only visible to the owner.
+    &quot;compensationInfo&quot;: { # Job compensation details. # Optional. Job compensation information.
+      &quot;annualizedBaseCompensationRange&quot;: { # Compensation range. # Output only. Annualized base compensation range. Computed as
+          # base compensation entry&#x27;s CompensationEntry.compensation times
+          # CompensationEntry.expected_units_per_year.
+          #
+          # See CompensationEntry for explanation on compensation annualization.
+        &quot;maxCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
+            # to a maximal compensation value and the currency code is set to
+            # match the currency code of
+            # min_compensation.
+          &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+              # The value must be between -999,999,999 and +999,999,999 inclusive.
+              # If `units` is positive, `nanos` must be positive or zero.
+              # If `units` is zero, `nanos` can be positive, zero, or negative.
+              # If `units` is negative, `nanos` must be negative or zero.
+              # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+          &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+          &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+              # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+        },
+        &quot;minCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
+            # to zero and the currency code is set to match the
+            # currency code of max_compensation.
+          &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+              # The value must be between -999,999,999 and +999,999,999 inclusive.
+              # If `units` is positive, `nanos` must be positive or zero.
+              # If `units` is zero, `nanos` can be positive, zero, or negative.
+              # If `units` is negative, `nanos` must be negative or zero.
+              # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+          &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+          &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+              # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+        },
+      },
+      &quot;annualizedTotalCompensationRange&quot;: { # Compensation range. # Output only. Annualized total compensation range. Computed as
+          # all compensation entries&#x27; CompensationEntry.compensation times
+          # CompensationEntry.expected_units_per_year.
+          #
+          # See CompensationEntry for explanation on compensation annualization.
+        &quot;maxCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
+            # to a maximal compensation value and the currency code is set to
+            # match the currency code of
+            # min_compensation.
+          &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+              # The value must be between -999,999,999 and +999,999,999 inclusive.
+              # If `units` is positive, `nanos` must be positive or zero.
+              # If `units` is zero, `nanos` can be positive, zero, or negative.
+              # If `units` is negative, `nanos` must be negative or zero.
+              # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+          &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+          &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+              # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+        },
+        &quot;minCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
+            # to zero and the currency code is set to match the
+            # currency code of max_compensation.
+          &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+              # The value must be between -999,999,999 and +999,999,999 inclusive.
+              # If `units` is positive, `nanos` must be positive or zero.
+              # If `units` is zero, `nanos` can be positive, zero, or negative.
+              # If `units` is negative, `nanos` must be negative or zero.
+              # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+          &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+          &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+              # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+        },
+      },
+      &quot;entries&quot;: [ # Optional. Job compensation information.
+          #
+          # At most one entry can be of type
+          # CompensationInfo.CompensationType.BASE, which is
+          # referred as ** base compensation entry ** for the job.
+        { # 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 or range.
+            # - and its expected_units_per_year is set or can be derived.
+            # Its annualized range is determined as (amount or range) times
+            # expected_units_per_year.
+          &quot;unit&quot;: &quot;A String&quot;, # Optional. Frequency of the specified amount.
+              #
+              # Default is CompensationUnit.COMPENSATION_UNIT_UNSPECIFIED.
+          &quot;expectedUnitsPerYear&quot;: 3.14, # Optional. Expected number of units paid each year. If not specified, when
+              # Job.employment_types is FULLTIME, a default value is inferred
+              # based on unit. Default values:
+              # - HOURLY: 2080
+              # - DAILY: 260
+              # - WEEKLY: 52
+              # - MONTHLY: 12
+              # - ANNUAL: 1
+          &quot;range&quot;: { # Compensation range. # Optional. Compensation range.
+            &quot;maxCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
+                # to a maximal compensation value and the currency code is set to
+                # match the currency code of
+                # min_compensation.
+              &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                  # The value must be between -999,999,999 and +999,999,999 inclusive.
+                  # If `units` is positive, `nanos` must be positive or zero.
+                  # If `units` is zero, `nanos` can be positive, zero, or negative.
+                  # If `units` is negative, `nanos` must be negative or zero.
+                  # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+              &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+              &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                  # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+            },
+            &quot;minCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
+                # to zero and the currency code is set to match the
+                # currency code of max_compensation.
+              &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                  # The value must be between -999,999,999 and +999,999,999 inclusive.
+                  # If `units` is positive, `nanos` must be positive or zero.
+                  # If `units` is zero, `nanos` can be positive, zero, or negative.
+                  # If `units` is negative, `nanos` must be negative or zero.
+                  # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+              &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+              &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                  # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+            },
+          },
+          &quot;description&quot;: &quot;A String&quot;, # Optional. Compensation description.  For example, could
+              # indicate equity terms or provide additional context to an estimated
+              # bonus.
+          &quot;type&quot;: &quot;A String&quot;, # Optional. Compensation type.
+              #
+              # Default is CompensationUnit.COMPENSATION_TYPE_UNSPECIFIED.
+          &quot;amount&quot;: { # Represents an amount of money with its currency type. # Optional. Compensation amount.
+            &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                # The value must be between -999,999,999 and +999,999,999 inclusive.
+                # If `units` is positive, `nanos` must be positive or zero.
+                # If `units` is zero, `nanos` can be positive, zero, or negative.
+                # If `units` is negative, `nanos` must be negative or zero.
+                # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+            &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+            &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+          },
+        },
+      ],
+    },
+    &quot;name&quot;: &quot;A String&quot;, # Required during job update.
         #
-        # The visibility of the job.
+        # The resource name for the job. This is generated by the service when a
+        # job is created.
         #
-        # Defaults to Visibility.ACCOUNT_ONLY if not specified.
-    &quot;postingUpdateTime&quot;: &quot;A String&quot;, # Output only. The timestamp when this job posting was last updated.
+        # The format is &quot;projects/{project_id}/jobs/{job_id}&quot;,
+        # for example, &quot;projects/api-test-project/jobs/1234&quot;.
+        #
+        # Use of this field in job queries and API calls is preferred over the use of
+        # requisition_id since this value is unique.
+    &quot;requisitionId&quot;: &quot;A String&quot;, # Required. The requisition ID, also referred to as the posting ID, assigned by the
+        # client to identify a job. This field is intended to be used by clients
+        # for client identification and tracking of postings. A job is not allowed
+        # to be created if there is another job with the same [company_name],
+        # language_code and requisition_id.
+        #
+        # The maximum number of allowed characters is 255.
   }</pre>
 </div>
 
@@ -3531,6 +3531,143 @@
 { # Input only.
       # 
       # The Request body of the `SearchJobs` call.
+    &quot;requestMetadata&quot;: { # Input only. # Required. The meta information collected about the job searcher, used to improve the
+        # search quality of the service. The identifiers (such as `user_id`) are
+        # provided by users, and must be unique and consistent.
+        #
+        # Meta information related to the job searcher or entity
+        # conducting the job search. This information is used to improve the
+        # performance of the service.
+      &quot;userId&quot;: &quot;A String&quot;, # Required. A unique user identification string, as determined by the client.
+          # To have the strongest positive impact on search quality
+          # make sure the client-level is unique.
+          # Obfuscate this field for privacy concerns before
+          # providing it to the service.
+          #
+          # If this field is not available for some reason, send &quot;UNKNOWN&quot;. Note
+          # that any improvements to the model for a particular tenant
+          # site, rely on this field being set correctly to a unique user_id.
+          #
+          # The maximum number of allowed characters is 255.
+      &quot;sessionId&quot;: &quot;A String&quot;, # Required. A unique session identification string. A session is defined as the
+          # duration of an end user&#x27;s interaction with the service over a certain
+          # period.
+          # Obfuscate this field for privacy concerns before
+          # providing it to the service.
+          #
+          # If this field is not available for some reason, send &quot;UNKNOWN&quot;. Note
+          # that any improvements to the model for a particular tenant
+          # site, rely on this field being set correctly to some unique session_id.
+          #
+          # The maximum number of allowed characters is 255.
+      &quot;deviceInfo&quot;: { # Device information collected from the job seeker, candidate, or # Optional. The type of device used by the job seeker at the time of the call to the
+          # service.
+          # other entity conducting the job search. Providing this information improves
+          # the quality of the search results across devices.
+        &quot;id&quot;: &quot;A String&quot;, # Optional. A device-specific ID. The ID must be a unique identifier that
+            # distinguishes the device from other devices.
+        &quot;deviceType&quot;: &quot;A String&quot;, # Optional. Type of the device.
+      },
+      &quot;domain&quot;: &quot;A String&quot;, # Required. The client-defined scope or source of the service call, which typically
+          # is the domain on
+          # which the service has been implemented and is currently being run.
+          #
+          # For example, if the service is being run by client &lt;em&gt;Foo, Inc.&lt;/em&gt;, on
+          # job board www.foo.com and career site www.bar.com, then this field is
+          # set to &quot;foo.com&quot; for use on the job board, and &quot;bar.com&quot; for use on the
+          # career site.
+          #
+          # If this field isn&#x27;t available for some reason, send &quot;UNKNOWN&quot;.
+          # Any improvements to the model for a particular tenant site rely on this
+          # field being set correctly to a domain.
+          #
+          # The maximum number of allowed characters is 255.
+    },
+    &quot;offset&quot;: 42, # Optional. An integer that specifies the current offset (that is, starting result
+        # location, amongst the jobs deemed by the API as relevant) in search
+        # results. This field is only considered if page_token is unset.
+        # 
+        # The maximum allowed value is 5000. Otherwise an error is thrown.
+        # 
+        # For example, 0 means to  return results starting from the first matching
+        # job, and 10 means to return from the 11th job. This can be used for
+        # pagination, (for example, pageSize = 10 and offset = 10 means to return
+        # from the second page).
+    &quot;histogramFacets&quot;: { # Input only. # Optional. Histogram requests for jobs matching JobQuery.
+        #
+        # Histogram facets to be specified in SearchJobsRequest.
+      &quot;customAttributeHistogramFacets&quot;: [ # Optional. Specifies the custom attributes histogram requests.
+          # Duplicate values of CustomAttributeHistogramRequest.key are not
+          # allowed.
+        { # Custom attributes histogram request. An error is thrown if neither
+            # string_value_histogram or long_value_histogram_bucketing_option has
+            # been defined.
+          &quot;longValueHistogramBucketingOption&quot;: { # Input only. # Optional. Specifies buckets used to perform a range histogram on Job&#x27;s
+              # filterable long custom field values, or min/max value requirements.
+              #
+              # Use this field to specify bucketing option for the histogram search response.
+            &quot;requiresMinMax&quot;: True or False, # Optional. If set to true, the histogram result includes minimum/maximum
+                # value of the numeric field.
+            &quot;bucketBounds&quot;: [ # Required. Two adjacent values form a histogram bucket. Values should be in
+                # ascending order. For example, if [5, 10, 15] are provided, four buckets are
+                # created: (-inf, 5), 5, 10), [10, 15), [15, inf). At most 20
+                # [buckets_bound is supported.
+              3.14,
+            ],
+          },
+          &quot;stringValueHistogram&quot;: True or False, # Optional. If set to true, the response includes the histogram value for
+              # each key as a string.
+          &quot;key&quot;: &quot;A String&quot;, # Required. Specifies the custom field key to perform a histogram on. If specified
+              # without `long_value_histogram_bucketing_option`, histogram on string values
+              # of the given `key` is triggered, otherwise histogram is performed on long
+              # values.
+        },
+      ],
+      &quot;simpleHistogramFacets&quot;: [ # Optional. Specifies the simple type of histogram facets, for example,
+          # `COMPANY_SIZE`, `EMPLOYMENT_TYPE` etc.
+        &quot;A String&quot;,
+      ],
+      &quot;compensationHistogramFacets&quot;: [ # Optional. Specifies compensation field-based histogram requests.
+          # Duplicate values of CompensationHistogramRequest.type are not allowed.
+        { # Input only.
+            #
+            # Compensation based histogram request.
+          &quot;type&quot;: &quot;A String&quot;, # Required. Type of the request, representing which field the histogramming should be
+              # performed over. A single request can only specify one histogram of each
+              # `CompensationHistogramRequestType`.
+          &quot;bucketingOption&quot;: { # Input only. # Required. Numeric histogram options, like buckets, whether include min or max value.
+              #
+              # Use this field to specify bucketing option for the histogram search response.
+            &quot;requiresMinMax&quot;: True or False, # Optional. If set to true, the histogram result includes minimum/maximum
+                # value of the numeric field.
+            &quot;bucketBounds&quot;: [ # Required. Two adjacent values form a histogram bucket. Values should be in
+                # ascending order. For example, if [5, 10, 15] are provided, four buckets are
+                # created: (-inf, 5), 5, 10), [10, 15), [15, inf). At most 20
+                # [buckets_bound is supported.
+              3.14,
+            ],
+          },
+        },
+      ],
+    },
+    &quot;requirePreciseResultSize&quot;: True or False, # Optional. Controls if the search job request requires the return of a precise
+        # count of the first 300 results. Setting this to `true` ensures
+        # consistency in the number of results per page. Best practice is to set this
+        # value to true if a client allows users to jump directly to a
+        # non-sequential search results page.
+        # 
+        # Enabling this flag may adversely impact performance.
+        # 
+        # Defaults to false.
+    &quot;searchMode&quot;: &quot;A String&quot;, # Optional. Mode of a search.
+        # 
+        # Defaults to SearchMode.JOB_SEARCH.
+    &quot;pageToken&quot;: &quot;A String&quot;, # Optional. The token specifying the current offset within
+        # search results. See SearchJobsResponse.next_page_token for
+        # an explanation of how to obtain the next set of query results.
+    &quot;pageSize&quot;: 42, # Optional. A limit on the number of jobs returned in the search results.
+        # Increasing this value above the default value of 10 can increase search
+        # response time. The value can be between 1 and 100.
     &quot;disableKeywordMatch&quot;: True or False, # Optional. Controls whether to disable exact keyword match on Job.job_title,
         # Job.description, Job.company_display_name, Job.locations,
         # Job.qualifications. When disable keyword match is turned off, a
@@ -3550,197 +3687,16 @@
         # keyword match improves recall of subsequent search requests.
         # 
         # Defaults to false.
+    &quot;jobView&quot;: &quot;A String&quot;, # Optional. The desired job attributes returned for jobs in the
+        # search response. Defaults to JobView.SMALL if no value is specified.
     &quot;enableBroadening&quot;: True or False, # Optional. Controls whether to broaden the search when it produces sparse results.
         # Broadened queries append results to the end of the matching results
         # list.
         # 
         # Defaults to false.
-    &quot;offset&quot;: 42, # Optional. An integer that specifies the current offset (that is, starting result
-        # location, amongst the jobs deemed by the API as relevant) in search
-        # results. This field is only considered if page_token is unset.
-        # 
-        # The maximum allowed value is 5000. Otherwise an error is thrown.
-        # 
-        # For example, 0 means to  return results starting from the first matching
-        # job, and 10 means to return from the 11th job. This can be used for
-        # pagination, (for example, pageSize = 10 and offset = 10 means to return
-        # from the second page).
-    &quot;pageSize&quot;: 42, # Optional. A limit on the number of jobs returned in the search results.
-        # Increasing this value above the default value of 10 can increase search
-        # response time. The value can be between 1 and 100.
-    &quot;histogramFacets&quot;: { # Input only. # Optional. Histogram requests for jobs matching JobQuery.
-        #
-        # Histogram facets to be specified in SearchJobsRequest.
-      &quot;compensationHistogramFacets&quot;: [ # Optional. Specifies compensation field-based histogram requests.
-          # Duplicate values of CompensationHistogramRequest.type are not allowed.
-        { # Input only.
-            #
-            # Compensation based histogram request.
-          &quot;bucketingOption&quot;: { # Input only. # Required. Numeric histogram options, like buckets, whether include min or max value.
-              #
-              # Use this field to specify bucketing option for the histogram search response.
-            &quot;bucketBounds&quot;: [ # Required. Two adjacent values form a histogram bucket. Values should be in
-                # ascending order. For example, if [5, 10, 15] are provided, four buckets are
-                # created: (-inf, 5), 5, 10), [10, 15), [15, inf). At most 20
-                # [buckets_bound is supported.
-              3.14,
-            ],
-            &quot;requiresMinMax&quot;: True or False, # Optional. If set to true, the histogram result includes minimum/maximum
-                # value of the numeric field.
-          },
-          &quot;type&quot;: &quot;A String&quot;, # Required. Type of the request, representing which field the histogramming should be
-              # performed over. A single request can only specify one histogram of each
-              # `CompensationHistogramRequestType`.
-        },
-      ],
-      &quot;customAttributeHistogramFacets&quot;: [ # Optional. Specifies the custom attributes histogram requests.
-          # Duplicate values of CustomAttributeHistogramRequest.key are not
-          # allowed.
-        { # Custom attributes histogram request. An error is thrown if neither
-            # string_value_histogram or long_value_histogram_bucketing_option has
-            # been defined.
-          &quot;longValueHistogramBucketingOption&quot;: { # Input only. # Optional. Specifies buckets used to perform a range histogram on Job&#x27;s
-              # filterable long custom field values, or min/max value requirements.
-              #
-              # Use this field to specify bucketing option for the histogram search response.
-            &quot;bucketBounds&quot;: [ # Required. Two adjacent values form a histogram bucket. Values should be in
-                # ascending order. For example, if [5, 10, 15] are provided, four buckets are
-                # created: (-inf, 5), 5, 10), [10, 15), [15, inf). At most 20
-                # [buckets_bound is supported.
-              3.14,
-            ],
-            &quot;requiresMinMax&quot;: True or False, # Optional. If set to true, the histogram result includes minimum/maximum
-                # value of the numeric field.
-          },
-          &quot;key&quot;: &quot;A String&quot;, # Required. Specifies the custom field key to perform a histogram on. If specified
-              # without `long_value_histogram_bucketing_option`, histogram on string values
-              # of the given `key` is triggered, otherwise histogram is performed on long
-              # values.
-          &quot;stringValueHistogram&quot;: True or False, # Optional. If set to true, the response includes the histogram value for
-              # each key as a string.
-        },
-      ],
-      &quot;simpleHistogramFacets&quot;: [ # Optional. Specifies the simple type of histogram facets, for example,
-          # `COMPANY_SIZE`, `EMPLOYMENT_TYPE` etc.
-        &quot;A String&quot;,
-      ],
-    },
-    &quot;orderBy&quot;: &quot;A String&quot;, # Optional. The criteria determining how search results are sorted. Default is
-        # &quot;relevance desc&quot;.
-        # 
-        # Supported options are:
-        # 
-        # * `&quot;relevance desc&quot;`: By relevance descending, as determined by the API
-        # algorithms. Relevance thresholding of query results is only available
-        # with this ordering.
-        # * `&quot;posting_publish_time desc&quot;`: By Job.posting_publish_time
-        # descending.
-        # * `&quot;posting_update_time desc&quot;`: By Job.posting_update_time
-        # descending.
-        # * `&quot;title&quot;`: By Job.title ascending.
-        # * `&quot;title desc&quot;`: By Job.title descending.
-        # * `&quot;annualized_base_compensation&quot;`: By job&#x27;s
-        # CompensationInfo.annualized_base_compensation_range ascending. Jobs
-        # whose annualized base compensation is unspecified are put at the end of
-        # search results.
-        # * `&quot;annualized_base_compensation desc&quot;`: By job&#x27;s
-        # CompensationInfo.annualized_base_compensation_range descending. Jobs
-        # whose annualized base compensation is unspecified are put at the end of
-        # search results.
-        # * `&quot;annualized_total_compensation&quot;`: By job&#x27;s
-        # CompensationInfo.annualized_total_compensation_range ascending. Jobs
-        # whose annualized base compensation is unspecified are put at the end of
-        # search results.
-        # * `&quot;annualized_total_compensation desc&quot;`: By job&#x27;s
-        # CompensationInfo.annualized_total_compensation_range descending. Jobs
-        # whose annualized base compensation is unspecified are put at the end of
-        # search results.
     &quot;jobQuery&quot;: { # Input only. # Optional. Query used to search against jobs, such as keyword, location filters, etc.
         #
         # The query required to perform a search query.
-      &quot;customAttributeFilter&quot;: &quot;A String&quot;, # Optional. This filter specifies a structured syntax to match against the
-          # Job.custom_attributes marked as `filterable`.
-          #
-          # The syntax for this expression is a subset of SQL syntax.
-          #
-          # Supported operators are: `=`, `!=`, `&lt;`, `&lt;=`, `&gt;`, and `&gt;=` where the
-          # left of the operator is a custom field key and the right of the operator
-          # is a number or a quoted string. You must escape backslash (\\) and
-          # quote (\&quot;) characters.
-          #
-          # Supported functions are `LOWER([field_name])` to
-          # perform a case insensitive match and `EMPTY([field_name])` to filter on the
-          # existence of a key.
-          #
-          # Boolean expressions (AND/OR/NOT) are supported up to 3 levels of
-          # nesting (for example, &quot;((A AND B AND C) OR NOT D) AND E&quot;), a maximum of 100
-          # comparisons or functions are allowed in the expression. The expression
-          # must be &lt; 6000 bytes in length.
-          #
-          # Sample Query:
-          # `(LOWER(driving_license)=&quot;class \&quot;a\&quot;&quot; OR EMPTY(driving_license)) AND
-          # driving_years &gt; 10`
-      &quot;publishTimeRange&quot;: { # Message representing a period of time between two timestamps. # Optional. Jobs published within a range specified by this filter are searched
-          # against.
-        &quot;startTime&quot;: &quot;A String&quot;, # Begin of the period.
-        &quot;endTime&quot;: &quot;A String&quot;, # End of the period.
-      },
-      &quot;locationFilters&quot;: [ # Optional. The location filter specifies geo-regions containing the jobs to
-          # search against. See LocationFilter for more information.
-          #
-          # If a location value isn&#x27;t specified, jobs fitting the other search
-          # criteria are retrieved regardless of where they&#x27;re located.
-          #
-          # If multiple values are specified, jobs are retrieved from any of the
-          # specified locations. If different values are specified for the
-          # LocationFilter.distance_in_miles parameter, the maximum provided
-          # distance is used for all locations.
-          #
-          # At most 5 location filters are allowed.
-        { # Input only.
-            #
-            # Geographic region of the search.
-          &quot;regionCode&quot;: &quot;A String&quot;, # Optional. CLDR region code of the country/region of the address. This is used
-              # to address ambiguity of the user-input location, for example, &quot;Liverpool&quot;
-              # against &quot;Liverpool, NY, US&quot; or &quot;Liverpool, UK&quot;.
-              #
-              # Set this field if all the jobs to search against are from a same region,
-              # or jobs are world-wide, but the job seeker is from a specific region.
-              #
-              # See http://cldr.unicode.org/ and
-              # http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html
-              # for details. Example: &quot;CH&quot; for Switzerland.
-          &quot;address&quot;: &quot;A String&quot;, # Optional. The address name, such as &quot;Mountain View&quot; or &quot;Bay Area&quot;.
-          &quot;distanceInMiles&quot;: 3.14, # Optional. The distance_in_miles is applied when the location being searched for is
-              # identified as a city or smaller. When the location being searched for is a
-              # state or larger, this field is ignored.
-          &quot;telecommutePreference&quot;: &quot;A String&quot;, # Optional. Allows the client to return jobs without a
-              # set location, specifically, telecommuting jobs (telecommuting is considered
-              # by the service as a special location.
-              # Job.posting_region indicates if a job permits telecommuting.
-              # If this field is set to TelecommutePreference.TELECOMMUTE_ALLOWED,
-              # telecommuting jobs are searched, and address and lat_lng are
-              # ignored. If not set or set to
-              # TelecommutePreference.TELECOMMUTE_EXCLUDED, telecommute job are not
-              # searched.
-              #
-              # This filter can be used by itself to search exclusively for telecommuting
-              # jobs, or it can be combined with another location
-              # filter to search for a combination of job locations,
-              # such as &quot;Mountain View&quot; or &quot;telecommuting&quot; jobs. However, when used in
-              # combination with other location filters, telecommuting jobs can be
-              # treated as less relevant than other jobs in the search response.
-          &quot;latLng&quot;: { # An object representing a latitude/longitude pair. This is expressed as a pair # Optional. The latitude and longitude of the geographic center from which to
-              # search. This field&#x27;s ignored if `address` is provided.
-              # of doubles representing degrees latitude and degrees longitude. Unless
-              # specified otherwise, this must conform to the
-              # &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
-              # standard&lt;/a&gt;. Values must be within normalized ranges.
-            &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
-            &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
-          },
-        },
-      ],
       &quot;commuteFilter&quot;: { # Input only. # Optional. Allows filtering jobs by commute time with different travel methods (for
           #  example, driving or public transit). Note: This only works with COMMUTE
           #  MODE. When specified, [JobQuery.location_filters] is
@@ -3749,6 +3705,7 @@
           #  Currently we don&#x27;t support sorting by commute time.
           #
           # Parameters needed for commute search.
+        &quot;commuteMethod&quot;: &quot;A String&quot;, # Required. The method of transportation for which to calculate the commute time.
         &quot;travelDuration&quot;: &quot;A String&quot;, # Required. The maximum travel time in seconds. The maximum allowed value is `3600s`
             # (one hour). Format is `123s`.
         &quot;startCoordinates&quot;: { # An object representing a latitude/longitude pair. This is expressed as a pair # Required. The latitude and longitude of the location from which to calculate the
@@ -3760,8 +3717,20 @@
           &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
           &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
         },
-        &quot;commuteMethod&quot;: &quot;A String&quot;, # Required. The method of transportation for which to calculate the commute time.
         &quot;roadTraffic&quot;: &quot;A String&quot;, # Optional. Specifies the traffic density to use when calculating commute time.
+        &quot;departureTime&quot;: { # Represents a time of day. The date and time zone are either not significant # Optional. The departure time used to calculate traffic impact, represented as
+            # google.type.TimeOfDay in local time zone.
+            #
+            # Currently traffic model is restricted to hour level resolution.
+            # or are specified elsewhere. An API may choose to allow leap seconds. Related
+            # types are google.type.Date and `google.protobuf.Timestamp`.
+          &quot;seconds&quot;: 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
+              # allow the value 60 if it allows leap-seconds.
+          &quot;minutes&quot;: 42, # Minutes of hour of day. Must be from 0 to 59.
+          &quot;hours&quot;: 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
+              # to allow the value &quot;24:00:00&quot; for scenarios like business closing time.
+          &quot;nanos&quot;: 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+        },
         &quot;allowImpreciseAddresses&quot;: True or False, # Optional. If true, jobs without &quot;precise&quot; addresses (street level addresses or GPS
             # coordinates) might also be returned. For city and coarser level addresses,
             # text matching is used. If this field is set to false or is not specified,
@@ -3772,99 +3741,7 @@
             # able to calculate accurate commute times to jobs with city level and
             # coarser address information. Jobs with imprecise addresses will return a
             # `travel_duration` time of 0 regardless of distance from the job seeker.
-        &quot;departureTime&quot;: { # Represents a time of day. The date and time zone are either not significant # Optional. The departure time used to calculate traffic impact, represented as
-            # google.type.TimeOfDay in local time zone.
-            #
-            # Currently traffic model is restricted to hour level resolution.
-            # or are specified elsewhere. An API may choose to allow leap seconds. Related
-            # types are google.type.Date and `google.protobuf.Timestamp`.
-          &quot;hours&quot;: 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
-              # to allow the value &quot;24:00:00&quot; for scenarios like business closing time.
-          &quot;nanos&quot;: 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-          &quot;seconds&quot;: 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
-              # allow the value 60 if it allows leap-seconds.
-          &quot;minutes&quot;: 42, # Minutes of hour of day. Must be from 0 to 59.
-        },
       },
-      &quot;languageCodes&quot;: [ # Optional. This filter specifies the locale of jobs to search against,
-          # for example, &quot;en-US&quot;.
-          #
-          # If a value isn&#x27;t specified, the search results can contain jobs in any
-          # locale.
-          #
-          #
-          # Language codes should be in BCP-47 format, such as &quot;en-US&quot; or &quot;sr-Latn&quot;.
-          # For more information, see
-          # [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47).
-          #
-          # At most 10 language code filters are allowed.
-        &quot;A String&quot;,
-      ],
-      &quot;query&quot;: &quot;A String&quot;, # Optional. The query string that matches against the job title, description, and
-          # location fields.
-          #
-          # The maximum number of allowed characters is 255.
-      &quot;compensationFilter&quot;: { # Input only. # Optional. This search filter is applied only to
-          # Job.compensation_info. For example, if the filter is specified
-          # as &quot;Hourly job with per-hour compensation &gt; $15&quot;, only jobs meeting
-          # these criteria are searched. If a filter isn&#x27;t defined, all open jobs
-          # are searched.
-          #
-          # Filter on job compensation type and amount.
-        &quot;range&quot;: { # Compensation range. # Optional. Compensation range.
-          &quot;maxCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
-              # to a maximal compensation value and the currency code is set to
-              # match the currency code of
-              # min_compensation.
-            &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
-                # The value must be between -999,999,999 and +999,999,999 inclusive.
-                # If `units` is positive, `nanos` must be positive or zero.
-                # If `units` is zero, `nanos` can be positive, zero, or negative.
-                # If `units` is negative, `nanos` must be negative or zero.
-                # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-            &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
-                # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
-            &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
-          },
-          &quot;minCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
-              # to zero and the currency code is set to match the
-              # currency code of max_compensation.
-            &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
-                # The value must be between -999,999,999 and +999,999,999 inclusive.
-                # If `units` is positive, `nanos` must be positive or zero.
-                # If `units` is zero, `nanos` can be positive, zero, or negative.
-                # If `units` is negative, `nanos` must be negative or zero.
-                # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-            &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
-                # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
-            &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
-          },
-        },
-        &quot;type&quot;: &quot;A String&quot;, # Required. Type of filter.
-        &quot;includeJobsWithUnspecifiedCompensationRange&quot;: True or False, # Optional. If set to true, jobs with unspecified compensation range fields are
-            # included.
-        &quot;units&quot;: [ # Required. Specify desired `base compensation entry&#x27;s`
-            # CompensationInfo.CompensationUnit.
-          &quot;A String&quot;,
-        ],
-      },
-      &quot;disableSpellCheck&quot;: True or False, # Optional. This flag controls the spell-check feature. If false, the
-          # service attempts to correct a misspelled query,
-          # for example, &quot;enginee&quot; is corrected to &quot;engineer&quot;.
-          #
-          # Defaults to false: a spell check is performed.
-      &quot;companyDisplayNames&quot;: [ # Optional. This filter specifies the exact company display
-          # name of the jobs to search against.
-          #
-          # If a value isn&#x27;t specified, jobs within the search results are
-          # associated with any company.
-          #
-          # If multiple values are specified, jobs within the search results may be
-          # associated with any of the specified companies.
-          #
-          # At most 20 company display name filters are allowed.
-        &quot;A String&quot;,
-      ],
       &quot;jobCategories&quot;: [ # Optional. The category filter specifies the categories of jobs to search against.
           # See Category for more information.
           #
@@ -3897,6 +3774,47 @@
           # Language code should be in BCP-47 format, such as &quot;en-US&quot; or &quot;sr-Latn&quot;.
           # For more information, see
           # [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47).
+      &quot;customAttributeFilter&quot;: &quot;A String&quot;, # Optional. This filter specifies a structured syntax to match against the
+          # Job.custom_attributes marked as `filterable`.
+          #
+          # The syntax for this expression is a subset of SQL syntax.
+          #
+          # Supported operators are: `=`, `!=`, `&lt;`, `&lt;=`, `&gt;`, and `&gt;=` where the
+          # left of the operator is a custom field key and the right of the operator
+          # is a number or a quoted string. You must escape backslash (\\) and
+          # quote (\&quot;) characters.
+          #
+          # Supported functions are `LOWER([field_name])` to
+          # perform a case insensitive match and `EMPTY([field_name])` to filter on the
+          # existence of a key.
+          #
+          # Boolean expressions (AND/OR/NOT) are supported up to 3 levels of
+          # nesting (for example, &quot;((A AND B AND C) OR NOT D) AND E&quot;), a maximum of 100
+          # comparisons or functions are allowed in the expression. The expression
+          # must be &lt; 6000 bytes in length.
+          #
+          # Sample Query:
+          # `(LOWER(driving_license)=&quot;class \&quot;a\&quot;&quot; OR EMPTY(driving_license)) AND
+          # driving_years &gt; 10`
+      &quot;publishTimeRange&quot;: { # Message representing a period of time between two timestamps. # Optional. Jobs published within a range specified by this filter are searched
+          # against.
+        &quot;endTime&quot;: &quot;A String&quot;, # End of the period.
+        &quot;startTime&quot;: &quot;A String&quot;, # Begin of the period.
+      },
+      &quot;languageCodes&quot;: [ # Optional. This filter specifies the locale of jobs to search against,
+          # for example, &quot;en-US&quot;.
+          #
+          # If a value isn&#x27;t specified, the search results can contain jobs in any
+          # locale.
+          #
+          #
+          # Language codes should be in BCP-47 format, such as &quot;en-US&quot; or &quot;sr-Latn&quot;.
+          # For more information, see
+          # [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47).
+          #
+          # At most 10 language code filters are allowed.
+        &quot;A String&quot;,
+      ],
       &quot;employmentTypes&quot;: [ # Optional. The employment type filter specifies the employment type of jobs to
           # search against, such as EmploymentType.FULL_TIME.
           #
@@ -3907,21 +3825,158 @@
           # any of the specified employment types.
         &quot;A String&quot;,
       ],
+      &quot;query&quot;: &quot;A String&quot;, # Optional. The query string that matches against the job title, description, and
+          # location fields.
+          #
+          # The maximum number of allowed characters is 255.
+      &quot;disableSpellCheck&quot;: True or False, # Optional. This flag controls the spell-check feature. If false, the
+          # service attempts to correct a misspelled query,
+          # for example, &quot;enginee&quot; is corrected to &quot;engineer&quot;.
+          #
+          # Defaults to false: a spell check is performed.
+      &quot;companyDisplayNames&quot;: [ # Optional. This filter specifies the exact company display
+          # name of the jobs to search against.
+          #
+          # If a value isn&#x27;t specified, jobs within the search results are
+          # associated with any company.
+          #
+          # If multiple values are specified, jobs within the search results may be
+          # associated with any of the specified companies.
+          #
+          # At most 20 company display name filters are allowed.
+        &quot;A String&quot;,
+      ],
+      &quot;locationFilters&quot;: [ # Optional. The location filter specifies geo-regions containing the jobs to
+          # search against. See LocationFilter for more information.
+          #
+          # If a location value isn&#x27;t specified, jobs fitting the other search
+          # criteria are retrieved regardless of where they&#x27;re located.
+          #
+          # If multiple values are specified, jobs are retrieved from any of the
+          # specified locations. If different values are specified for the
+          # LocationFilter.distance_in_miles parameter, the maximum provided
+          # distance is used for all locations.
+          #
+          # At most 5 location filters are allowed.
+        { # Input only.
+            #
+            # Geographic region of the search.
+          &quot;telecommutePreference&quot;: &quot;A String&quot;, # Optional. Allows the client to return jobs without a
+              # set location, specifically, telecommuting jobs (telecommuting is considered
+              # by the service as a special location.
+              # Job.posting_region indicates if a job permits telecommuting.
+              # If this field is set to TelecommutePreference.TELECOMMUTE_ALLOWED,
+              # telecommuting jobs are searched, and address and lat_lng are
+              # ignored. If not set or set to
+              # TelecommutePreference.TELECOMMUTE_EXCLUDED, telecommute job are not
+              # searched.
+              #
+              # This filter can be used by itself to search exclusively for telecommuting
+              # jobs, or it can be combined with another location
+              # filter to search for a combination of job locations,
+              # such as &quot;Mountain View&quot; or &quot;telecommuting&quot; jobs. However, when used in
+              # combination with other location filters, telecommuting jobs can be
+              # treated as less relevant than other jobs in the search response.
+          &quot;distanceInMiles&quot;: 3.14, # Optional. The distance_in_miles is applied when the location being searched for is
+              # identified as a city or smaller. When the location being searched for is a
+              # state or larger, this field is ignored.
+          &quot;latLng&quot;: { # An object representing a latitude/longitude pair. This is expressed as a pair # Optional. The latitude and longitude of the geographic center from which to
+              # search. This field&#x27;s ignored if `address` is provided.
+              # of doubles representing degrees latitude and degrees longitude. Unless
+              # specified otherwise, this must conform to the
+              # &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
+              # standard&lt;/a&gt;. Values must be within normalized ranges.
+            &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+            &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+          },
+          &quot;regionCode&quot;: &quot;A String&quot;, # Optional. CLDR region code of the country/region of the address. This is used
+              # to address ambiguity of the user-input location, for example, &quot;Liverpool&quot;
+              # against &quot;Liverpool, NY, US&quot; or &quot;Liverpool, UK&quot;.
+              #
+              # Set this field if all the jobs to search against are from a same region,
+              # or jobs are world-wide, but the job seeker is from a specific region.
+              #
+              # See http://cldr.unicode.org/ and
+              # http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html
+              # for details. Example: &quot;CH&quot; for Switzerland.
+          &quot;address&quot;: &quot;A String&quot;, # Optional. The address name, such as &quot;Mountain View&quot; or &quot;Bay Area&quot;.
+        },
+      ],
+      &quot;compensationFilter&quot;: { # Input only. # Optional. This search filter is applied only to
+          # Job.compensation_info. For example, if the filter is specified
+          # as &quot;Hourly job with per-hour compensation &gt; $15&quot;, only jobs meeting
+          # these criteria are searched. If a filter isn&#x27;t defined, all open jobs
+          # are searched.
+          #
+          # Filter on job compensation type and amount.
+        &quot;includeJobsWithUnspecifiedCompensationRange&quot;: True or False, # Optional. If set to true, jobs with unspecified compensation range fields are
+            # included.
+        &quot;type&quot;: &quot;A String&quot;, # Required. Type of filter.
+        &quot;units&quot;: [ # Required. Specify desired `base compensation entry&#x27;s`
+            # CompensationInfo.CompensationUnit.
+          &quot;A String&quot;,
+        ],
+        &quot;range&quot;: { # Compensation range. # Optional. Compensation range.
+          &quot;maxCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
+              # to a maximal compensation value and the currency code is set to
+              # match the currency code of
+              # min_compensation.
+            &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                # The value must be between -999,999,999 and +999,999,999 inclusive.
+                # If `units` is positive, `nanos` must be positive or zero.
+                # If `units` is zero, `nanos` can be positive, zero, or negative.
+                # If `units` is negative, `nanos` must be negative or zero.
+                # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+            &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+            &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+          },
+          &quot;minCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
+              # to zero and the currency code is set to match the
+              # currency code of max_compensation.
+            &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                # The value must be between -999,999,999 and +999,999,999 inclusive.
+                # If `units` is positive, `nanos` must be positive or zero.
+                # If `units` is zero, `nanos` can be positive, zero, or negative.
+                # If `units` is negative, `nanos` must be negative or zero.
+                # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+            &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+            &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+          },
+        },
+      },
     },
-    &quot;jobView&quot;: &quot;A String&quot;, # Optional. The desired job attributes returned for jobs in the
-        # search response. Defaults to JobView.SMALL if no value is specified.
-    &quot;requirePreciseResultSize&quot;: True or False, # Optional. Controls if the search job request requires the return of a precise
-        # count of the first 300 results. Setting this to `true` ensures
-        # consistency in the number of results per page. Best practice is to set this
-        # value to true if a client allows users to jump directly to a
-        # non-sequential search results page.
+    &quot;orderBy&quot;: &quot;A String&quot;, # Optional. The criteria determining how search results are sorted. Default is
+        # &quot;relevance desc&quot;.
         # 
-        # Enabling this flag may adversely impact performance.
+        # Supported options are:
         # 
-        # Defaults to false.
-    &quot;pageToken&quot;: &quot;A String&quot;, # Optional. The token specifying the current offset within
-        # search results. See SearchJobsResponse.next_page_token for
-        # an explanation of how to obtain the next set of query results.
+        # * `&quot;relevance desc&quot;`: By relevance descending, as determined by the API
+        # algorithms. Relevance thresholding of query results is only available
+        # with this ordering.
+        # * `&quot;posting_publish_time desc&quot;`: By Job.posting_publish_time
+        # descending.
+        # * `&quot;posting_update_time desc&quot;`: By Job.posting_update_time
+        # descending.
+        # * `&quot;title&quot;`: By Job.title ascending.
+        # * `&quot;title desc&quot;`: By Job.title descending.
+        # * `&quot;annualized_base_compensation&quot;`: By job&#x27;s
+        # CompensationInfo.annualized_base_compensation_range ascending. Jobs
+        # whose annualized base compensation is unspecified are put at the end of
+        # search results.
+        # * `&quot;annualized_base_compensation desc&quot;`: By job&#x27;s
+        # CompensationInfo.annualized_base_compensation_range descending. Jobs
+        # whose annualized base compensation is unspecified are put at the end of
+        # search results.
+        # * `&quot;annualized_total_compensation&quot;`: By job&#x27;s
+        # CompensationInfo.annualized_total_compensation_range ascending. Jobs
+        # whose annualized base compensation is unspecified are put at the end of
+        # search results.
+        # * `&quot;annualized_total_compensation desc&quot;`: By job&#x27;s
+        # CompensationInfo.annualized_total_compensation_range descending. Jobs
+        # whose annualized base compensation is unspecified are put at the end of
+        # search results.
     &quot;diversificationLevel&quot;: &quot;A String&quot;, # Optional. Controls whether highly similar jobs are returned next to each other in
         # the search results. Jobs are identified as highly similar based on
         # their titles, job categories, and locations. Highly similar results are
@@ -3931,61 +3986,6 @@
         # 
         # Defaults to DiversificationLevel.SIMPLE if no value
         # is specified.
-    &quot;searchMode&quot;: &quot;A String&quot;, # Optional. Mode of a search.
-        # 
-        # Defaults to SearchMode.JOB_SEARCH.
-    &quot;requestMetadata&quot;: { # Input only. # Required. The meta information collected about the job searcher, used to improve the
-        # search quality of the service. The identifiers (such as `user_id`) are
-        # provided by users, and must be unique and consistent.
-        #
-        # Meta information related to the job searcher or entity
-        # conducting the job search. This information is used to improve the
-        # performance of the service.
-      &quot;deviceInfo&quot;: { # Device information collected from the job seeker, candidate, or # Optional. The type of device used by the job seeker at the time of the call to the
-          # service.
-          # other entity conducting the job search. Providing this information improves
-          # the quality of the search results across devices.
-        &quot;deviceType&quot;: &quot;A String&quot;, # Optional. Type of the device.
-        &quot;id&quot;: &quot;A String&quot;, # Optional. A device-specific ID. The ID must be a unique identifier that
-            # distinguishes the device from other devices.
-      },
-      &quot;sessionId&quot;: &quot;A String&quot;, # Required. A unique session identification string. A session is defined as the
-          # duration of an end user&#x27;s interaction with the service over a certain
-          # period.
-          # Obfuscate this field for privacy concerns before
-          # providing it to the service.
-          #
-          # If this field is not available for some reason, send &quot;UNKNOWN&quot;. Note
-          # that any improvements to the model for a particular tenant
-          # site, rely on this field being set correctly to some unique session_id.
-          #
-          # The maximum number of allowed characters is 255.
-      &quot;domain&quot;: &quot;A String&quot;, # Required. The client-defined scope or source of the service call, which typically
-          # is the domain on
-          # which the service has been implemented and is currently being run.
-          #
-          # For example, if the service is being run by client &lt;em&gt;Foo, Inc.&lt;/em&gt;, on
-          # job board www.foo.com and career site www.bar.com, then this field is
-          # set to &quot;foo.com&quot; for use on the job board, and &quot;bar.com&quot; for use on the
-          # career site.
-          #
-          # If this field isn&#x27;t available for some reason, send &quot;UNKNOWN&quot;.
-          # Any improvements to the model for a particular tenant site rely on this
-          # field being set correctly to a domain.
-          #
-          # The maximum number of allowed characters is 255.
-      &quot;userId&quot;: &quot;A String&quot;, # Required. A unique user identification string, as determined by the client.
-          # To have the strongest positive impact on search quality
-          # make sure the client-level is unique.
-          # Obfuscate this field for privacy concerns before
-          # providing it to the service.
-          #
-          # If this field is not available for some reason, send &quot;UNKNOWN&quot;. Note
-          # that any improvements to the model for a particular tenant
-          # site, rely on this field being set correctly to a unique user_id.
-          #
-          # The maximum number of allowed characters is 255.
-    },
   }
 
   x__xgafv: string, V1 error format.
@@ -3999,492 +3999,33 @@
     { # Output only.
       #
       # Response for SearchJob method.
-    &quot;metadata&quot;: { # Output only. # Additional information for the API invocation, such as the request
-        # tracking id.
-        #
-        # Additional information returned to client, such as debugging information.
-      &quot;requestId&quot;: &quot;A String&quot;, # A unique id associated with this call.
-          # This id is logged for tracking purposes.
-    },
-    &quot;histogramResults&quot;: { # Output only. # The histogram results that match specified
-        # SearchJobsRequest.histogram_facets.
-        #
-        # Histogram results that match HistogramFacets specified in
-        # SearchJobsRequest.
-      &quot;compensationHistogramResults&quot;: [ # Specifies compensation field-based histogram results that match
-          # HistogramFacets.compensation_histogram_requests.
-        { # Output only.
-            #
-            # Compensation based histogram result.
-          &quot;result&quot;: { # Output only. # Histogram result.
-              #
-              # Custom numeric bucketing result.
-            &quot;counts&quot;: [ # Count within each bucket. Its size is the length of
-                # NumericBucketingOption.bucket_bounds plus 1.
-              { # Represents count of jobs within one bucket.
-                &quot;range&quot;: { # Represents starting and ending value of a range in double. # Bucket range on which histogram was performed for the numeric field,
-                    # that is, the count represents number of jobs in this range.
-                  &quot;to&quot;: 3.14, # Ending value of the bucket range.
-                  &quot;from&quot;: 3.14, # Starting value of the bucket range.
-                },
-                &quot;count&quot;: 42, # Number of jobs whose numeric field value fall into `range`.
-              },
-            ],
-            &quot;minValue&quot;: 3.14, # Stores the minimum value of the numeric field. Will be populated only if
-                # [NumericBucketingOption.requires_min_max] is set to true.
-            &quot;maxValue&quot;: 3.14, # Stores the maximum value of the numeric field. Is populated only if
-                # [NumericBucketingOption.requires_min_max] is set to true.
-          },
-          &quot;type&quot;: &quot;A String&quot;, # Type of the request, corresponding to
-              # CompensationHistogramRequest.type.
-        },
-      ],
-      &quot;customAttributeHistogramResults&quot;: [ # Specifies histogram results for custom attributes that match
-          # HistogramFacets.custom_attribute_histogram_facets.
-        { # Output only.
-            #
-            # Custom attribute histogram result.
-          &quot;longValueHistogramResult&quot;: { # Output only. # Stores bucketed histogram counting result or min/max values for
-              # custom attribute long values associated with `key`.
-              #
-              # Custom numeric bucketing result.
-            &quot;counts&quot;: [ # Count within each bucket. Its size is the length of
-                # NumericBucketingOption.bucket_bounds plus 1.
-              { # Represents count of jobs within one bucket.
-                &quot;range&quot;: { # Represents starting and ending value of a range in double. # Bucket range on which histogram was performed for the numeric field,
-                    # that is, the count represents number of jobs in this range.
-                  &quot;to&quot;: 3.14, # Ending value of the bucket range.
-                  &quot;from&quot;: 3.14, # Starting value of the bucket range.
-                },
-                &quot;count&quot;: 42, # Number of jobs whose numeric field value fall into `range`.
-              },
-            ],
-            &quot;minValue&quot;: 3.14, # Stores the minimum value of the numeric field. Will be populated only if
-                # [NumericBucketingOption.requires_min_max] is set to true.
-            &quot;maxValue&quot;: 3.14, # Stores the maximum value of the numeric field. Is populated only if
-                # [NumericBucketingOption.requires_min_max] is set to true.
-          },
-          &quot;stringValueHistogramResult&quot;: { # Stores a map from the values of string custom field associated
-              # with `key` to the number of jobs with that value in this histogram result.
-            &quot;a_key&quot;: 42,
-          },
-          &quot;key&quot;: &quot;A String&quot;, # Stores the key of custom attribute the histogram is performed on.
-        },
-      ],
-      &quot;simpleHistogramResults&quot;: [ # Specifies histogram results that matches
-          # HistogramFacets.simple_histogram_facets.
-        { # Output only.
-            #
-            # Result of a histogram call. The response contains the histogram map for the
-            # search type specified by HistogramResult.field.
-            # The response is a map of each filter value to the corresponding count of
-            # jobs for that filter.
-          &quot;values&quot;: { # A map from the values of field to the number of jobs with that value
-              # in this search result.
-              #
-              # Key: search type (filter names, such as the companyName).
-              #
-              # Values: the count of jobs that match the filter for this search.
-            &quot;a_key&quot;: 42,
-          },
-          &quot;searchType&quot;: &quot;A String&quot;, # The Histogram search filters.
-        },
-      ],
-    },
     &quot;matchingJobs&quot;: [ # The Job entities that match the specified SearchJobsRequest.
       { # Output only.
           #
           # Job entry with metadata inside SearchJobsResponse.
+        &quot;searchTextSnippet&quot;: &quot;A String&quot;, # Contains snippets of text from the Job.description and similar
+            # fields that most closely match a search query&#x27;s keywords, if available.
+            # All HTML tags in the original fields are stripped when returned in this
+            # field, and matching query keywords are enclosed in HTML bold tags.
+        &quot;jobSummary&quot;: &quot;A String&quot;, # A summary of the job with core information that&#x27;s displayed on the search
+            # results listing page.
         &quot;job&quot;: { # A Job resource represents a job posting (also referred to as a &quot;job listing&quot; # Job resource that matches the specified SearchJobsRequest.
             # or &quot;job requisition&quot;). A job belongs to a Company, which is the hiring
             # entity responsible for the job.
-          &quot;name&quot;: &quot;A String&quot;, # Required during job update.
-              #
-              # The resource name for the job. This is generated by the service when a
-              # job is created.
-              #
-              # The format is &quot;projects/{project_id}/jobs/{job_id}&quot;,
-              # for example, &quot;projects/api-test-project/jobs/1234&quot;.
-              #
-              # Use of this field in job queries and API calls is preferred over the use of
-              # requisition_id since this value is unique.
-          &quot;jobBenefits&quot;: [ # Optional. The benefits included with the job.
-            &quot;A String&quot;,
-          ],
-          &quot;promotionValue&quot;: 42, # Optional. A promotion value of the job, as determined by the client.
-              # The value determines the sort order of the jobs returned when searching for
-              # jobs using the featured jobs search call, with higher promotional values
-              # being returned first and ties being resolved by relevance sort. Only the
-              # jobs with a promotionValue &gt;0 are returned in a FEATURED_JOB_SEARCH.
-              #
-              # Default value is 0, and negative values are treated as 0.
-          &quot;title&quot;: &quot;A String&quot;, # Required. The title of the job, such as &quot;Software Engineer&quot;
-              #
-              # The maximum number of allowed characters is 500.
-          &quot;companyDisplayName&quot;: &quot;A String&quot;, # Output only. Display name of the company listing the job.
-          &quot;qualifications&quot;: &quot;A String&quot;, # Optional. A description of the qualifications required to perform the
-              # job. The use of this field is recommended
-              # as an alternative to using the more general description field.
-              #
-              # This field accepts and sanitizes HTML input, and also accepts
-              # bold, italic, ordered list, and unordered list markup tags.
-              #
-              # The maximum number of allowed characters is 10,000.
-          &quot;requisitionId&quot;: &quot;A String&quot;, # Required. The requisition ID, also referred to as the posting ID, assigned by the
-              # client to identify a job. This field is intended to be used by clients
-              # for client identification and tracking of postings. A job is not allowed
-              # to be created if there is another job with the same [company_name],
-              # language_code and requisition_id.
-              #
-              # The maximum number of allowed characters is 255.
-          &quot;processingOptions&quot;: { # Input only. # Optional. Options for job processing.
-              #
-              # Options for job processing.
-            &quot;disableStreetAddressResolution&quot;: True or False, # Optional. If set to `true`, the service does not attempt to resolve a
-                # more precise address for the job.
-            &quot;htmlSanitization&quot;: &quot;A String&quot;, # Optional. Option for job HTML content sanitization. Applied fields are:
-                #
-                # * description
-                # * applicationInfo.instruction
-                # * incentives
-                # * qualifications
-                # * responsibilities
-                #
-                # HTML tags in these fields may be stripped if sanitiazation is not
-                # disabled.
-                #
-                # Defaults to HtmlSanitization.SIMPLE_FORMATTING_ONLY.
-          },
-          &quot;jobEndTime&quot;: &quot;A String&quot;, # Optional. The end timestamp of the job. Typically this field is used for contracting
-              # engagements. Invalid timestamps are ignored.
-          &quot;derivedInfo&quot;: { # Output only. # Output only. Derived details about the job posting.
-              #
-              # Derived details about the job posting.
-            &quot;locations&quot;: [ # Structured locations of the job, resolved from Job.addresses.
-                #
-                # locations are exactly matched to Job.addresses in the same
-                # order.
-              { # Output only.
-                  #
-                  # A resource that represents a location with full geographic information.
-                &quot;radiusInMiles&quot;: 3.14, # Radius in miles of the job location. This value is derived from the
-                    # location bounding box in which a circle with the specified radius
-                    # centered from LatLng covers the area associated with the job location.
-                    # For example, currently, &quot;Mountain View, CA, USA&quot; has a radius of
-                    # 6.17 miles.
-                &quot;latLng&quot;: { # An object representing a latitude/longitude pair. This is expressed as a pair # An object representing a latitude/longitude pair.
-                    # of doubles representing degrees latitude and degrees longitude. Unless
-                    # specified otherwise, this must conform to the
-                    # &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
-                    # standard&lt;/a&gt;. Values must be within normalized ranges.
-                  &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
-                  &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
-                },
-                &quot;postalAddress&quot;: { # Represents a postal address, e.g. for postal delivery or payments addresses. # Postal address of the location that includes human readable information,
-                    # such as postal delivery and payments addresses. Given a postal address,
-                    # a postal service can deliver items to a premises, P.O. Box, or other
-                    # delivery location.
-                    # Given a postal address, a postal service can deliver items to a premise, P.O.
-                    # Box or similar.
-                    # It is not intended to model geographical locations (roads, towns,
-                    # mountains).
-                    #
-                    # In typical usage an address would be created via user input or from importing
-                    # existing data, depending on the type of process.
-                    #
-                    # Advice on address input / editing:
-                    #  - Use an i18n-ready address widget such as
-                    #    https://github.com/google/libaddressinput)
-                    # - Users should not be presented with UI elements for input or editing of
-                    #   fields outside countries where that field is used.
-                    #
-                    # For more guidance on how to use this schema, please see:
-                    # https://support.google.com/business/answer/6397478
-                  &quot;postalCode&quot;: &quot;A String&quot;, # Optional. Postal code of the address. Not all countries use or require
-                      # postal codes to be present, but where they are used, they may trigger
-                      # additional validation with other parts of the address (e.g. state/zip
-                      # validation in the U.S.A.).
-                  &quot;languageCode&quot;: &quot;A String&quot;, # Optional. BCP-47 language code of the contents of this address (if
-                      # known). This is often the UI language of the input form or is expected
-                      # to match one of the languages used in the address&#x27; country/region, or their
-                      # transliterated equivalents.
-                      # This can affect formatting in certain countries, but is not critical
-                      # to the correctness of the data and will never affect any validation or
-                      # other non-formatting related operations.
-                      #
-                      # If this value is not known, it should be omitted (rather than specifying a
-                      # possibly incorrect default).
-                      #
-                      # Examples: &quot;zh-Hant&quot;, &quot;ja&quot;, &quot;ja-Latn&quot;, &quot;en&quot;.
-                  &quot;sortingCode&quot;: &quot;A String&quot;, # Optional. Additional, country-specific, sorting code. This is not used
-                      # in most regions. Where it is used, the value is either a string like
-                      # &quot;CEDEX&quot;, optionally followed by a number (e.g. &quot;CEDEX 7&quot;), or just a number
-                      # alone, representing the &quot;sector code&quot; (Jamaica), &quot;delivery area indicator&quot;
-                      # (Malawi) or &quot;post office indicator&quot; (e.g. Côte d&#x27;Ivoire).
-                  &quot;recipients&quot;: [ # Optional. The recipient at the address.
-                      # This field may, under certain circumstances, contain multiline information.
-                      # For example, it might contain &quot;care of&quot; information.
-                    &quot;A String&quot;,
-                  ],
-                  &quot;sublocality&quot;: &quot;A String&quot;, # Optional. Sublocality of the address.
-                      # For example, this can be neighborhoods, boroughs, districts.
-                  &quot;revision&quot;: 42, # The schema revision of the `PostalAddress`. This must be set to 0, which is
-                      # the latest revision.
-                      #
-                      # All new revisions **must** be backward compatible with old revisions.
-                  &quot;locality&quot;: &quot;A String&quot;, # Optional. Generally refers to the city/town portion of the address.
-                      # Examples: US city, IT comune, UK post town.
-                      # In regions of the world where localities are not well defined or do not fit
-                      # into this structure well, leave locality empty and use address_lines.
-                  &quot;administrativeArea&quot;: &quot;A String&quot;, # Optional. Highest administrative subdivision which is used for postal
-                      # addresses of a country or region.
-                      # For example, this can be a state, a province, an oblast, or a prefecture.
-                      # Specifically, for Spain this is the province and not the autonomous
-                      # community (e.g. &quot;Barcelona&quot; and not &quot;Catalonia&quot;).
-                      # Many countries don&#x27;t use an administrative area in postal addresses. E.g.
-                      # in Switzerland this should be left unpopulated.
-                  &quot;organization&quot;: &quot;A String&quot;, # Optional. The name of the organization at the address.
-                  &quot;addressLines&quot;: [ # Unstructured address lines describing the lower levels of an address.
-                      #
-                      # Because values in address_lines do not have type information and may
-                      # sometimes contain multiple values in a single field (e.g.
-                      # &quot;Austin, TX&quot;), it is important that the line order is clear. The order of
-                      # address lines should be &quot;envelope order&quot; for the country/region of the
-                      # address. In places where this can vary (e.g. Japan), address_language is
-                      # used to make it explicit (e.g. &quot;ja&quot; for large-to-small ordering and
-                      # &quot;ja-Latn&quot; or &quot;en&quot; for small-to-large). This way, the most specific line of
-                      # an address can be selected based on the language.
-                      #
-                      # The minimum permitted structural representation of an address consists
-                      # of a region_code with all remaining information placed in the
-                      # address_lines. It would be possible to format such an address very
-                      # approximately without geocoding, but no semantic reasoning could be
-                      # made about any of the address components until it was at least
-                      # partially resolved.
-                      #
-                      # Creating an address only containing a region_code and address_lines, and
-                      # then geocoding is the recommended way to handle completely unstructured
-                      # addresses (as opposed to guessing which parts of the address should be
-                      # localities or administrative areas).
-                    &quot;A String&quot;,
-                  ],
-                  &quot;regionCode&quot;: &quot;A String&quot;, # Required. CLDR region code of the country/region of the address. This
-                      # is never inferred and it is up to the user to ensure the value is
-                      # correct. See http://cldr.unicode.org/ and
-                      # http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html
-                      # for details. Example: &quot;CH&quot; for Switzerland.
-                },
-                &quot;locationType&quot;: &quot;A String&quot;, # The type of a location, which corresponds to the address lines field of
-                    # PostalAddress. For example, &quot;Downtown, Atlanta, GA, USA&quot; has a type of
-                    # LocationType#NEIGHBORHOOD, and &quot;Kansas City, KS, USA&quot; has a type of
-                    # LocationType#LOCALITY.
-              },
-            ],
-            &quot;jobCategories&quot;: [ # Job categories derived from Job.title and Job.description.
-              &quot;A String&quot;,
-            ],
-          },
-          &quot;incentives&quot;: &quot;A String&quot;, # Optional. A description of bonus, commission, and other compensation
-              # incentives associated with the job not including salary or pay.
-              #
-              # The maximum number of allowed characters is 10,000.
-          &quot;employmentTypes&quot;: [ # Optional. The employment type(s) of a job, for example,
-              # full time or
-              # part time.
-            &quot;A String&quot;,
-          ],
-          &quot;postingCreateTime&quot;: &quot;A String&quot;, # Output only. The timestamp when this job posting was created.
-          &quot;addresses&quot;: [ # Optional but strongly recommended for the best service experience.
-              #
-              # Location(s) where the employer is looking to hire for this job posting.
-              #
-              # Specifying the full street address(es) of the hiring location enables
-              # better API results, especially job searches by commute time.
-              #
-              # At most 50 locations are allowed for best search performance. If a job has
-              # more locations, it is suggested to split it into multiple jobs with unique
-              # requisition_ids (e.g. &#x27;ReqA&#x27; becomes &#x27;ReqA-1&#x27;, &#x27;ReqA-2&#x27;, etc.) as
-              # multiple jobs with the same company_name, language_code and
-              # requisition_id are not allowed. If the original requisition_id must
-              # be preserved, a custom field should be used for storage. It is also
-              # suggested to group the locations that close to each other in the same job
-              # for better search experience.
-              #
-              # The maximum number of allowed characters is 500.
-            &quot;A String&quot;,
-          ],
-          &quot;companyName&quot;: &quot;A String&quot;, # Required. The resource name of the company listing the job, such as
-              # &quot;projects/api-test-project/companies/foo&quot;.
-          &quot;description&quot;: &quot;A String&quot;, # Required. The description of the job, which typically includes a multi-paragraph
-              # description of the company and related information. Separate fields are
-              # provided on the job object for responsibilities,
-              # qualifications, and other job characteristics. Use of
-              # these separate job fields is recommended.
-              #
-              # This field accepts and sanitizes HTML input, and also accepts
-              # bold, italic, ordered list, and unordered list markup tags.
-              #
-              # The maximum number of allowed characters is 100,000.
-          &quot;jobStartTime&quot;: &quot;A String&quot;, # Optional. The start timestamp of the job in UTC time zone. Typically this field
-              # is used for contracting engagements. Invalid timestamps are ignored.
-          &quot;degreeTypes&quot;: [ # Optional. The desired education degrees for the job, such as Bachelors, Masters.
-            &quot;A String&quot;,
-          ],
-          &quot;compensationInfo&quot;: { # Job compensation details. # Optional. Job compensation information.
-            &quot;annualizedTotalCompensationRange&quot;: { # Compensation range. # Output only. Annualized total compensation range. Computed as
-                # all compensation entries&#x27; CompensationEntry.compensation times
-                # CompensationEntry.expected_units_per_year.
-                #
-                # See CompensationEntry for explanation on compensation annualization.
-              &quot;maxCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
-                  # to a maximal compensation value and the currency code is set to
-                  # match the currency code of
-                  # min_compensation.
-                &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
-                    # The value must be between -999,999,999 and +999,999,999 inclusive.
-                    # If `units` is positive, `nanos` must be positive or zero.
-                    # If `units` is zero, `nanos` can be positive, zero, or negative.
-                    # If `units` is negative, `nanos` must be negative or zero.
-                    # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-                &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
-                    # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
-                &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
-              },
-              &quot;minCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
-                  # to zero and the currency code is set to match the
-                  # currency code of max_compensation.
-                &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
-                    # The value must be between -999,999,999 and +999,999,999 inclusive.
-                    # If `units` is positive, `nanos` must be positive or zero.
-                    # If `units` is zero, `nanos` can be positive, zero, or negative.
-                    # If `units` is negative, `nanos` must be negative or zero.
-                    # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-                &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
-                    # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
-                &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
-              },
-            },
-            &quot;entries&quot;: [ # Optional. Job compensation information.
-                #
-                # At most one entry can be of type
-                # CompensationInfo.CompensationType.BASE, which is
-                # referred as ** base compensation entry ** for the job.
-              { # 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 or range.
-                  # - and its expected_units_per_year is set or can be derived.
-                  # Its annualized range is determined as (amount or range) times
-                  # expected_units_per_year.
-                &quot;amount&quot;: { # Represents an amount of money with its currency type. # Optional. Compensation amount.
-                  &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
-                      # The value must be between -999,999,999 and +999,999,999 inclusive.
-                      # If `units` is positive, `nanos` must be positive or zero.
-                      # If `units` is zero, `nanos` can be positive, zero, or negative.
-                      # If `units` is negative, `nanos` must be negative or zero.
-                      # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-                  &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
-                      # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
-                  &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
-                },
-                &quot;type&quot;: &quot;A String&quot;, # Optional. Compensation type.
-                    #
-                    # Default is CompensationUnit.COMPENSATION_TYPE_UNSPECIFIED.
-                &quot;range&quot;: { # Compensation range. # Optional. Compensation range.
-                  &quot;maxCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
-                      # to a maximal compensation value and the currency code is set to
-                      # match the currency code of
-                      # min_compensation.
-                    &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
-                        # The value must be between -999,999,999 and +999,999,999 inclusive.
-                        # If `units` is positive, `nanos` must be positive or zero.
-                        # If `units` is zero, `nanos` can be positive, zero, or negative.
-                        # If `units` is negative, `nanos` must be negative or zero.
-                        # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-                    &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
-                        # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
-                    &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
-                  },
-                  &quot;minCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
-                      # to zero and the currency code is set to match the
-                      # currency code of max_compensation.
-                    &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
-                        # The value must be between -999,999,999 and +999,999,999 inclusive.
-                        # If `units` is positive, `nanos` must be positive or zero.
-                        # If `units` is zero, `nanos` can be positive, zero, or negative.
-                        # If `units` is negative, `nanos` must be negative or zero.
-                        # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-                    &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
-                        # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
-                    &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
-                  },
-                },
-                &quot;expectedUnitsPerYear&quot;: 3.14, # Optional. Expected number of units paid each year. If not specified, when
-                    # Job.employment_types is FULLTIME, a default value is inferred
-                    # based on unit. Default values:
-                    # - HOURLY: 2080
-                    # - DAILY: 260
-                    # - WEEKLY: 52
-                    # - MONTHLY: 12
-                    # - ANNUAL: 1
-                &quot;description&quot;: &quot;A String&quot;, # Optional. Compensation description.  For example, could
-                    # indicate equity terms or provide additional context to an estimated
-                    # bonus.
-                &quot;unit&quot;: &quot;A String&quot;, # Optional. Frequency of the specified amount.
-                    #
-                    # Default is CompensationUnit.COMPENSATION_UNIT_UNSPECIFIED.
-              },
-            ],
-            &quot;annualizedBaseCompensationRange&quot;: { # Compensation range. # Output only. Annualized base compensation range. Computed as
-                # base compensation entry&#x27;s CompensationEntry.compensation times
-                # CompensationEntry.expected_units_per_year.
-                #
-                # See CompensationEntry for explanation on compensation annualization.
-              &quot;maxCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
-                  # to a maximal compensation value and the currency code is set to
-                  # match the currency code of
-                  # min_compensation.
-                &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
-                    # The value must be between -999,999,999 and +999,999,999 inclusive.
-                    # If `units` is positive, `nanos` must be positive or zero.
-                    # If `units` is zero, `nanos` can be positive, zero, or negative.
-                    # If `units` is negative, `nanos` must be negative or zero.
-                    # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-                &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
-                    # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
-                &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
-              },
-              &quot;minCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
-                  # to zero and the currency code is set to match the
-                  # currency code of max_compensation.
-                &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
-                    # The value must be between -999,999,999 and +999,999,999 inclusive.
-                    # If `units` is positive, `nanos` must be positive or zero.
-                    # If `units` is zero, `nanos` can be positive, zero, or negative.
-                    # If `units` is negative, `nanos` must be negative or zero.
-                    # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-                &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
-                    # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
-                &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
-              },
-            },
-          },
-          &quot;responsibilities&quot;: &quot;A String&quot;, # Optional. A description of job responsibilities. The use of this field is
-              # recommended as an alternative to using the more general description
-              # field.
-              #
-              # This field accepts and sanitizes HTML input, and also accepts
-              # bold, italic, ordered list, and unordered list markup tags.
-              #
-              # The maximum number of allowed characters is 10,000.
-          &quot;department&quot;: &quot;A String&quot;, # Optional. The department or functional area within the company with the open
-              # position.
-              #
-              # The maximum number of allowed characters is 255.
           &quot;applicationInfo&quot;: { # Application related details of a job posting. # Required. At least one field within ApplicationInfo must be specified.
               #
               # Job application information.
+            &quot;instruction&quot;: &quot;A String&quot;, # Optional but at least one of uris,
+                # emails or instruction must be
+                # specified.
+                #
+                # Use this field to provide instructions, such as &quot;Mail your application
+                # to ...&quot;, that a candidate can follow to apply for the job.
+                #
+                # This field accepts and sanitizes HTML input, and also accepts
+                # bold, italic, ordered list, and unordered list markup tags.
+                #
+                # The maximum number of allowed characters is 3,000.
             &quot;uris&quot;: [ # Optional but at least one of uris,
                 # emails or instruction must be
                 # specified.
@@ -4505,18 +4046,81 @@
                 # The maximum number of allowed characters for each entry is 255.
               &quot;A String&quot;,
             ],
-            &quot;instruction&quot;: &quot;A String&quot;, # Optional but at least one of uris,
-                # emails or instruction must be
-                # specified.
-                #
-                # Use this field to provide instructions, such as &quot;Mail your application
-                # to ...&quot;, that a candidate can follow to apply for the job.
-                #
-                # This field accepts and sanitizes HTML input, and also accepts
-                # bold, italic, ordered list, and unordered list markup tags.
-                #
-                # The maximum number of allowed characters is 3,000.
           },
+          &quot;responsibilities&quot;: &quot;A String&quot;, # Optional. A description of job responsibilities. The use of this field is
+              # recommended as an alternative to using the more general description
+              # field.
+              #
+              # This field accepts and sanitizes HTML input, and also accepts
+              # bold, italic, ordered list, and unordered list markup tags.
+              #
+              # The maximum number of allowed characters is 10,000.
+          &quot;companyName&quot;: &quot;A String&quot;, # Required. The resource name of the company listing the job, such as
+              # &quot;projects/api-test-project/companies/foo&quot;.
+          &quot;promotionValue&quot;: 42, # Optional. A promotion value of the job, as determined by the client.
+              # The value determines the sort order of the jobs returned when searching for
+              # jobs using the featured jobs search call, with higher promotional values
+              # being returned first and ties being resolved by relevance sort. Only the
+              # jobs with a promotionValue &gt;0 are returned in a FEATURED_JOB_SEARCH.
+              #
+              # Default value is 0, and negative values are treated as 0.
+          &quot;degreeTypes&quot;: [ # Optional. The desired education degrees for the job, such as Bachelors, Masters.
+            &quot;A String&quot;,
+          ],
+          &quot;description&quot;: &quot;A String&quot;, # Required. The description of the job, which typically includes a multi-paragraph
+              # description of the company and related information. Separate fields are
+              # provided on the job object for responsibilities,
+              # qualifications, and other job characteristics. Use of
+              # these separate job fields is recommended.
+              #
+              # This field accepts and sanitizes HTML input, and also accepts
+              # bold, italic, ordered list, and unordered list markup tags.
+              #
+              # The maximum number of allowed characters is 100,000.
+          &quot;title&quot;: &quot;A String&quot;, # Required. The title of the job, such as &quot;Software Engineer&quot;
+              #
+              # The maximum number of allowed characters is 500.
+          &quot;postingPublishTime&quot;: &quot;A String&quot;, # Optional. The timestamp this job posting was most recently published. The default
+              # value is the time the request arrives at the server. Invalid timestamps are
+              # ignored.
+          &quot;postingCreateTime&quot;: &quot;A String&quot;, # Output only. The timestamp when this job posting was created.
+          &quot;incentives&quot;: &quot;A String&quot;, # Optional. A description of bonus, commission, and other compensation
+              # incentives associated with the job not including salary or pay.
+              #
+              # The maximum number of allowed characters is 10,000.
+          &quot;jobEndTime&quot;: &quot;A String&quot;, # Optional. The end timestamp of the job. Typically this field is used for contracting
+              # engagements. Invalid timestamps are ignored.
+          &quot;addresses&quot;: [ # Optional but strongly recommended for the best service experience.
+              #
+              # Location(s) where the employer is looking to hire for this job posting.
+              #
+              # Specifying the full street address(es) of the hiring location enables
+              # better API results, especially job searches by commute time.
+              #
+              # At most 50 locations are allowed for best search performance. If a job has
+              # more locations, it is suggested to split it into multiple jobs with unique
+              # requisition_ids (e.g. &#x27;ReqA&#x27; becomes &#x27;ReqA-1&#x27;, &#x27;ReqA-2&#x27;, etc.) as
+              # multiple jobs with the same company_name, language_code and
+              # requisition_id are not allowed. If the original requisition_id must
+              # be preserved, a custom field should be used for storage. It is also
+              # suggested to group the locations that close to each other in the same job
+              # for better search experience.
+              #
+              # The maximum number of allowed characters is 500.
+            &quot;A String&quot;,
+          ],
+          &quot;jobLevel&quot;: &quot;A String&quot;, # Optional. The experience level associated with the job, such as &quot;Entry Level&quot;.
+          &quot;jobBenefits&quot;: [ # Optional. The benefits included with the job.
+            &quot;A String&quot;,
+          ],
+          &quot;qualifications&quot;: &quot;A String&quot;, # Optional. A description of the qualifications required to perform the
+              # job. The use of this field is recommended
+              # as an alternative to using the more general description field.
+              #
+              # This field accepts and sanitizes HTML input, and also accepts
+              # bold, italic, ordered list, and unordered list markup tags.
+              #
+              # The maximum number of allowed characters is 10,000.
           &quot;postingRegion&quot;: &quot;A String&quot;, # Optional. The job PostingRegion (for example, state, country) throughout which
               # the job is available. If this field is set, a
               # LocationFilter in a search query within the job region
@@ -4524,6 +4128,54 @@
               # If this field is set to PostingRegion.NATION or
               # PostingRegion.ADMINISTRATIVE_AREA, setting job Job.addresses
               # to the same location level as this field is strongly recommended.
+          &quot;customAttributes&quot;: { # Optional. A map of fields to hold both filterable and non-filterable custom job
+              # attributes that are not covered by the provided structured fields.
+              #
+              # The keys of the map are strings up to 64 bytes and must match the
+              # pattern: a-zA-Z*. For example, key0LikeThis or
+              # KEY_1_LIKE_THIS.
+              #
+              # At most 100 filterable and at most 100 unfilterable keys are supported.
+              # For filterable `string_values`, across all keys at most 200 values are
+              # allowed, with each string no more than 255 characters. For unfilterable
+              # `string_values`, the maximum total size of `string_values` across all keys
+              # is 50KB.
+            &quot;a_key&quot;: { # Custom attribute values that are either filterable or non-filterable.
+              &quot;filterable&quot;: True or False, # Optional. If the `filterable` flag is true, the custom field values may be used for
+                  # custom attribute filters JobQuery.custom_attribute_filter.
+                  # If false, these values may not be used for custom attribute filters.
+                  #
+                  # Default is false.
+              &quot;stringValues&quot;: [ # Optional but exactly one of string_values or long_values must
+                  # be specified.
+                  #
+                  # This field is used to perform a string match (`CASE_SENSITIVE_MATCH` or
+                  # `CASE_INSENSITIVE_MATCH`) search.
+                  # For filterable `string_value`s, a maximum total number of 200 values
+                  # is allowed, with each `string_value` has a byte size of no more than
+                  # 500B. For unfilterable `string_values`, the maximum total byte size of
+                  # unfilterable `string_values` is 50KB.
+                  #
+                  # Empty string is not allowed.
+                &quot;A String&quot;,
+              ],
+              &quot;longValues&quot;: [ # Optional but exactly one of string_values or long_values must
+                  # be specified.
+                  #
+                  # This field is used to perform number range search.
+                  # (`EQ`, `GT`, `GE`, `LE`, `LT`) over filterable `long_value`.
+                  #
+                  # Currently at most 1 long_values is supported.
+                &quot;A String&quot;,
+              ],
+            },
+          },
+          &quot;postingUpdateTime&quot;: &quot;A String&quot;, # Output only. The timestamp when this job posting was last updated.
+          &quot;employmentTypes&quot;: [ # Optional. The employment type(s) of a job, for example,
+              # full time or
+              # part time.
+            &quot;A String&quot;,
+          ],
           &quot;postingExpireTime&quot;: &quot;A String&quot;, # Optional but strongly recommended for the best service
               # experience.
               #
@@ -4557,52 +4209,163 @@
               # expiry_time, or the masks are empty meaning that every field is
               # updated, the job posting expires after 30 days from the job&#x27;s last
               # update time. Otherwise the expiration date isn&#x27;t updated.
-          &quot;postingPublishTime&quot;: &quot;A String&quot;, # Optional. The timestamp this job posting was most recently published. The default
-              # value is the time the request arrives at the server. Invalid timestamps are
-              # ignored.
-          &quot;customAttributes&quot;: { # Optional. A map of fields to hold both filterable and non-filterable custom job
-              # attributes that are not covered by the provided structured fields.
+          &quot;department&quot;: &quot;A String&quot;, # Optional. The department or functional area within the company with the open
+              # position.
               #
-              # The keys of the map are strings up to 64 bytes and must match the
-              # pattern: a-zA-Z*. For example, key0LikeThis or
-              # KEY_1_LIKE_THIS.
+              # The maximum number of allowed characters is 255.
+          &quot;derivedInfo&quot;: { # Output only. # Output only. Derived details about the job posting.
               #
-              # At most 100 filterable and at most 100 unfilterable keys are supported.
-              # For filterable `string_values`, across all keys at most 200 values are
-              # allowed, with each string no more than 255 characters. For unfilterable
-              # `string_values`, the maximum total size of `string_values` across all keys
-              # is 50KB.
-            &quot;a_key&quot;: { # Custom attribute values that are either filterable or non-filterable.
-              &quot;stringValues&quot;: [ # Optional but exactly one of string_values or long_values must
-                  # be specified.
+              # Derived details about the job posting.
+            &quot;locations&quot;: [ # Structured locations of the job, resolved from Job.addresses.
+                #
+                # locations are exactly matched to Job.addresses in the same
+                # order.
+              { # Output only.
                   #
-                  # This field is used to perform a string match (`CASE_SENSITIVE_MATCH` or
-                  # `CASE_INSENSITIVE_MATCH`) search.
-                  # For filterable `string_value`s, a maximum total number of 200 values
-                  # is allowed, with each `string_value` has a byte size of no more than
-                  # 500B. For unfilterable `string_values`, the maximum total byte size of
-                  # unfilterable `string_values` is 50KB.
-                  #
-                  # Empty string is not allowed.
-                &quot;A String&quot;,
-              ],
-              &quot;filterable&quot;: True or False, # Optional. If the `filterable` flag is true, the custom field values may be used for
-                  # custom attribute filters JobQuery.custom_attribute_filter.
-                  # If false, these values may not be used for custom attribute filters.
-                  #
-                  # Default is false.
-              &quot;longValues&quot;: [ # Optional but exactly one of string_values or long_values must
-                  # be specified.
-                  #
-                  # This field is used to perform number range search.
-                  # (`EQ`, `GT`, `GE`, `LE`, `LT`) over filterable `long_value`.
-                  #
-                  # Currently at most 1 long_values is supported.
-                &quot;A String&quot;,
-              ],
-            },
+                  # A resource that represents a location with full geographic information.
+                &quot;postalAddress&quot;: { # Represents a postal address, e.g. for postal delivery or payments addresses. # Postal address of the location that includes human readable information,
+                    # such as postal delivery and payments addresses. Given a postal address,
+                    # a postal service can deliver items to a premises, P.O. Box, or other
+                    # delivery location.
+                    # Given a postal address, a postal service can deliver items to a premise, P.O.
+                    # Box or similar.
+                    # It is not intended to model geographical locations (roads, towns,
+                    # mountains).
+                    #
+                    # In typical usage an address would be created via user input or from importing
+                    # existing data, depending on the type of process.
+                    #
+                    # Advice on address input / editing:
+                    #  - Use an i18n-ready address widget such as
+                    #    https://github.com/google/libaddressinput)
+                    # - Users should not be presented with UI elements for input or editing of
+                    #   fields outside countries where that field is used.
+                    #
+                    # For more guidance on how to use this schema, please see:
+                    # https://support.google.com/business/answer/6397478
+                  &quot;organization&quot;: &quot;A String&quot;, # Optional. The name of the organization at the address.
+                  &quot;sublocality&quot;: &quot;A String&quot;, # Optional. Sublocality of the address.
+                      # For example, this can be neighborhoods, boroughs, districts.
+                  &quot;languageCode&quot;: &quot;A String&quot;, # Optional. BCP-47 language code of the contents of this address (if
+                      # known). This is often the UI language of the input form or is expected
+                      # to match one of the languages used in the address&#x27; country/region, or their
+                      # transliterated equivalents.
+                      # This can affect formatting in certain countries, but is not critical
+                      # to the correctness of the data and will never affect any validation or
+                      # other non-formatting related operations.
+                      #
+                      # If this value is not known, it should be omitted (rather than specifying a
+                      # possibly incorrect default).
+                      #
+                      # Examples: &quot;zh-Hant&quot;, &quot;ja&quot;, &quot;ja-Latn&quot;, &quot;en&quot;.
+                  &quot;administrativeArea&quot;: &quot;A String&quot;, # Optional. Highest administrative subdivision which is used for postal
+                      # addresses of a country or region.
+                      # For example, this can be a state, a province, an oblast, or a prefecture.
+                      # Specifically, for Spain this is the province and not the autonomous
+                      # community (e.g. &quot;Barcelona&quot; and not &quot;Catalonia&quot;).
+                      # Many countries don&#x27;t use an administrative area in postal addresses. E.g.
+                      # in Switzerland this should be left unpopulated.
+                  &quot;locality&quot;: &quot;A String&quot;, # Optional. Generally refers to the city/town portion of the address.
+                      # Examples: US city, IT comune, UK post town.
+                      # In regions of the world where localities are not well defined or do not fit
+                      # into this structure well, leave locality empty and use address_lines.
+                  &quot;recipients&quot;: [ # Optional. The recipient at the address.
+                      # This field may, under certain circumstances, contain multiline information.
+                      # For example, it might contain &quot;care of&quot; information.
+                    &quot;A String&quot;,
+                  ],
+                  &quot;revision&quot;: 42, # The schema revision of the `PostalAddress`. This must be set to 0, which is
+                      # the latest revision.
+                      #
+                      # All new revisions **must** be backward compatible with old revisions.
+                  &quot;postalCode&quot;: &quot;A String&quot;, # Optional. Postal code of the address. Not all countries use or require
+                      # postal codes to be present, but where they are used, they may trigger
+                      # additional validation with other parts of the address (e.g. state/zip
+                      # validation in the U.S.A.).
+                  &quot;sortingCode&quot;: &quot;A String&quot;, # Optional. Additional, country-specific, sorting code. This is not used
+                      # in most regions. Where it is used, the value is either a string like
+                      # &quot;CEDEX&quot;, optionally followed by a number (e.g. &quot;CEDEX 7&quot;), or just a number
+                      # alone, representing the &quot;sector code&quot; (Jamaica), &quot;delivery area indicator&quot;
+                      # (Malawi) or &quot;post office indicator&quot; (e.g. Côte d&#x27;Ivoire).
+                  &quot;regionCode&quot;: &quot;A String&quot;, # Required. CLDR region code of the country/region of the address. This
+                      # is never inferred and it is up to the user to ensure the value is
+                      # correct. See http://cldr.unicode.org/ and
+                      # http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html
+                      # for details. Example: &quot;CH&quot; for Switzerland.
+                  &quot;addressLines&quot;: [ # Unstructured address lines describing the lower levels of an address.
+                      #
+                      # Because values in address_lines do not have type information and may
+                      # sometimes contain multiple values in a single field (e.g.
+                      # &quot;Austin, TX&quot;), it is important that the line order is clear. The order of
+                      # address lines should be &quot;envelope order&quot; for the country/region of the
+                      # address. In places where this can vary (e.g. Japan), address_language is
+                      # used to make it explicit (e.g. &quot;ja&quot; for large-to-small ordering and
+                      # &quot;ja-Latn&quot; or &quot;en&quot; for small-to-large). This way, the most specific line of
+                      # an address can be selected based on the language.
+                      #
+                      # The minimum permitted structural representation of an address consists
+                      # of a region_code with all remaining information placed in the
+                      # address_lines. It would be possible to format such an address very
+                      # approximately without geocoding, but no semantic reasoning could be
+                      # made about any of the address components until it was at least
+                      # partially resolved.
+                      #
+                      # Creating an address only containing a region_code and address_lines, and
+                      # then geocoding is the recommended way to handle completely unstructured
+                      # addresses (as opposed to guessing which parts of the address should be
+                      # localities or administrative areas).
+                    &quot;A String&quot;,
+                  ],
+                },
+                &quot;radiusInMiles&quot;: 3.14, # Radius in miles of the job location. This value is derived from the
+                    # location bounding box in which a circle with the specified radius
+                    # centered from LatLng covers the area associated with the job location.
+                    # For example, currently, &quot;Mountain View, CA, USA&quot; has a radius of
+                    # 6.17 miles.
+                &quot;locationType&quot;: &quot;A String&quot;, # The type of a location, which corresponds to the address lines field of
+                    # PostalAddress. For example, &quot;Downtown, Atlanta, GA, USA&quot; has a type of
+                    # LocationType#NEIGHBORHOOD, and &quot;Kansas City, KS, USA&quot; has a type of
+                    # LocationType#LOCALITY.
+                &quot;latLng&quot;: { # An object representing a latitude/longitude pair. This is expressed as a pair # An object representing a latitude/longitude pair.
+                    # of doubles representing degrees latitude and degrees longitude. Unless
+                    # specified otherwise, this must conform to the
+                    # &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
+                    # standard&lt;/a&gt;. Values must be within normalized ranges.
+                  &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+                  &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                },
+              },
+            ],
+            &quot;jobCategories&quot;: [ # Job categories derived from Job.title and Job.description.
+              &quot;A String&quot;,
+            ],
           },
-          &quot;jobLevel&quot;: &quot;A String&quot;, # Optional. The experience level associated with the job, such as &quot;Entry Level&quot;.
+          &quot;jobStartTime&quot;: &quot;A String&quot;, # Optional. The start timestamp of the job in UTC time zone. Typically this field
+              # is used for contracting engagements. Invalid timestamps are ignored.
+          &quot;visibility&quot;: &quot;A String&quot;, # Deprecated. The job is only visible to the owner.
+              #
+              # The visibility of the job.
+              #
+              # Defaults to Visibility.ACCOUNT_ONLY if not specified.
+          &quot;processingOptions&quot;: { # Input only. # Optional. Options for job processing.
+              #
+              # Options for job processing.
+            &quot;disableStreetAddressResolution&quot;: True or False, # Optional. If set to `true`, the service does not attempt to resolve a
+                # more precise address for the job.
+            &quot;htmlSanitization&quot;: &quot;A String&quot;, # Optional. Option for job HTML content sanitization. Applied fields are:
+                #
+                # * description
+                # * applicationInfo.instruction
+                # * incentives
+                # * qualifications
+                # * responsibilities
+                #
+                # HTML tags in these fields may be stripped if sanitiazation is not
+                # disabled.
+                #
+                # Defaults to HtmlSanitization.SIMPLE_FORMATTING_ONLY.
+          },
+          &quot;companyDisplayName&quot;: &quot;A String&quot;, # Output only. Display name of the company listing the job.
           &quot;languageCode&quot;: &quot;A String&quot;, # Optional. The language of the posting. This field is distinct from
               # any requirements for fluency that are associated with the job.
               #
@@ -4614,46 +4377,174 @@
               # If this field is unspecified and Job.description is present, detected
               # language code based on Job.description is assigned, otherwise
               # defaults to &#x27;en_US&#x27;.
-          &quot;visibility&quot;: &quot;A String&quot;, # Deprecated. The job is only visible to the owner.
+          &quot;compensationInfo&quot;: { # Job compensation details. # Optional. Job compensation information.
+            &quot;annualizedBaseCompensationRange&quot;: { # Compensation range. # Output only. Annualized base compensation range. Computed as
+                # base compensation entry&#x27;s CompensationEntry.compensation times
+                # CompensationEntry.expected_units_per_year.
+                #
+                # See CompensationEntry for explanation on compensation annualization.
+              &quot;maxCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
+                  # to a maximal compensation value and the currency code is set to
+                  # match the currency code of
+                  # min_compensation.
+                &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                    # The value must be between -999,999,999 and +999,999,999 inclusive.
+                    # If `units` is positive, `nanos` must be positive or zero.
+                    # If `units` is zero, `nanos` can be positive, zero, or negative.
+                    # If `units` is negative, `nanos` must be negative or zero.
+                    # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+                &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                    # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+              },
+              &quot;minCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
+                  # to zero and the currency code is set to match the
+                  # currency code of max_compensation.
+                &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                    # The value must be between -999,999,999 and +999,999,999 inclusive.
+                    # If `units` is positive, `nanos` must be positive or zero.
+                    # If `units` is zero, `nanos` can be positive, zero, or negative.
+                    # If `units` is negative, `nanos` must be negative or zero.
+                    # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+                &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                    # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+              },
+            },
+            &quot;annualizedTotalCompensationRange&quot;: { # Compensation range. # Output only. Annualized total compensation range. Computed as
+                # all compensation entries&#x27; CompensationEntry.compensation times
+                # CompensationEntry.expected_units_per_year.
+                #
+                # See CompensationEntry for explanation on compensation annualization.
+              &quot;maxCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
+                  # to a maximal compensation value and the currency code is set to
+                  # match the currency code of
+                  # min_compensation.
+                &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                    # The value must be between -999,999,999 and +999,999,999 inclusive.
+                    # If `units` is positive, `nanos` must be positive or zero.
+                    # If `units` is zero, `nanos` can be positive, zero, or negative.
+                    # If `units` is negative, `nanos` must be negative or zero.
+                    # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+                &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                    # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+              },
+              &quot;minCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
+                  # to zero and the currency code is set to match the
+                  # currency code of max_compensation.
+                &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                    # The value must be between -999,999,999 and +999,999,999 inclusive.
+                    # If `units` is positive, `nanos` must be positive or zero.
+                    # If `units` is zero, `nanos` can be positive, zero, or negative.
+                    # If `units` is negative, `nanos` must be negative or zero.
+                    # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+                &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                    # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+              },
+            },
+            &quot;entries&quot;: [ # Optional. Job compensation information.
+                #
+                # At most one entry can be of type
+                # CompensationInfo.CompensationType.BASE, which is
+                # referred as ** base compensation entry ** for the job.
+              { # 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 or range.
+                  # - and its expected_units_per_year is set or can be derived.
+                  # Its annualized range is determined as (amount or range) times
+                  # expected_units_per_year.
+                &quot;unit&quot;: &quot;A String&quot;, # Optional. Frequency of the specified amount.
+                    #
+                    # Default is CompensationUnit.COMPENSATION_UNIT_UNSPECIFIED.
+                &quot;expectedUnitsPerYear&quot;: 3.14, # Optional. Expected number of units paid each year. If not specified, when
+                    # Job.employment_types is FULLTIME, a default value is inferred
+                    # based on unit. Default values:
+                    # - HOURLY: 2080
+                    # - DAILY: 260
+                    # - WEEKLY: 52
+                    # - MONTHLY: 12
+                    # - ANNUAL: 1
+                &quot;range&quot;: { # Compensation range. # Optional. Compensation range.
+                  &quot;maxCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
+                      # to a maximal compensation value and the currency code is set to
+                      # match the currency code of
+                      # min_compensation.
+                    &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                        # The value must be between -999,999,999 and +999,999,999 inclusive.
+                        # If `units` is positive, `nanos` must be positive or zero.
+                        # If `units` is zero, `nanos` can be positive, zero, or negative.
+                        # If `units` is negative, `nanos` must be negative or zero.
+                        # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                    &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+                    &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                        # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+                  },
+                  &quot;minCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
+                      # to zero and the currency code is set to match the
+                      # currency code of max_compensation.
+                    &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                        # The value must be between -999,999,999 and +999,999,999 inclusive.
+                        # If `units` is positive, `nanos` must be positive or zero.
+                        # If `units` is zero, `nanos` can be positive, zero, or negative.
+                        # If `units` is negative, `nanos` must be negative or zero.
+                        # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                    &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+                    &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                        # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+                  },
+                },
+                &quot;description&quot;: &quot;A String&quot;, # Optional. Compensation description.  For example, could
+                    # indicate equity terms or provide additional context to an estimated
+                    # bonus.
+                &quot;type&quot;: &quot;A String&quot;, # Optional. Compensation type.
+                    #
+                    # Default is CompensationUnit.COMPENSATION_TYPE_UNSPECIFIED.
+                &quot;amount&quot;: { # Represents an amount of money with its currency type. # Optional. Compensation amount.
+                  &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                      # The value must be between -999,999,999 and +999,999,999 inclusive.
+                      # If `units` is positive, `nanos` must be positive or zero.
+                      # If `units` is zero, `nanos` can be positive, zero, or negative.
+                      # If `units` is negative, `nanos` must be negative or zero.
+                      # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                  &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+                  &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                      # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+                },
+              },
+            ],
+          },
+          &quot;name&quot;: &quot;A String&quot;, # Required during job update.
               #
-              # The visibility of the job.
+              # The resource name for the job. This is generated by the service when a
+              # job is created.
               #
-              # Defaults to Visibility.ACCOUNT_ONLY if not specified.
-          &quot;postingUpdateTime&quot;: &quot;A String&quot;, # Output only. The timestamp when this job posting was last updated.
+              # The format is &quot;projects/{project_id}/jobs/{job_id}&quot;,
+              # for example, &quot;projects/api-test-project/jobs/1234&quot;.
+              #
+              # Use of this field in job queries and API calls is preferred over the use of
+              # requisition_id since this value is unique.
+          &quot;requisitionId&quot;: &quot;A String&quot;, # Required. The requisition ID, also referred to as the posting ID, assigned by the
+              # client to identify a job. This field is intended to be used by clients
+              # for client identification and tracking of postings. A job is not allowed
+              # to be created if there is another job with the same [company_name],
+              # language_code and requisition_id.
+              #
+              # The maximum number of allowed characters is 255.
         },
-        &quot;searchTextSnippet&quot;: &quot;A String&quot;, # Contains snippets of text from the Job.description and similar
-            # fields that most closely match a search query&#x27;s keywords, if available.
-            # All HTML tags in the original fields are stripped when returned in this
-            # field, and matching query keywords are enclosed in HTML bold tags.
         &quot;jobTitleSnippet&quot;: &quot;A String&quot;, # Contains snippets of text from the Job.job_title field most
             # closely matching a search query&#x27;s keywords, if available. The matching
             # query keywords are enclosed in HTML bold tags.
-        &quot;jobSummary&quot;: &quot;A String&quot;, # A summary of the job with core information that&#x27;s displayed on the search
-            # results listing page.
         &quot;commuteInfo&quot;: { # Output only. # Commute information which is generated based on specified
             #  CommuteFilter.
             #
             # Commute details related to this job.
-          &quot;travelDuration&quot;: &quot;A String&quot;, # The number of seconds required to travel to the job location from the
-              # query location. A duration of 0 seconds indicates that the job is not
-              # reachable within the requested duration, but was returned as part of an
-              # expanded query.
           &quot;jobLocation&quot;: { # Output only. # Location used as the destination in the commute calculation.
               #
               # A resource that represents a location with full geographic information.
-            &quot;radiusInMiles&quot;: 3.14, # Radius in miles of the job location. This value is derived from the
-                # location bounding box in which a circle with the specified radius
-                # centered from LatLng covers the area associated with the job location.
-                # For example, currently, &quot;Mountain View, CA, USA&quot; has a radius of
-                # 6.17 miles.
-            &quot;latLng&quot;: { # An object representing a latitude/longitude pair. This is expressed as a pair # An object representing a latitude/longitude pair.
-                # of doubles representing degrees latitude and degrees longitude. Unless
-                # specified otherwise, this must conform to the
-                # &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
-                # standard&lt;/a&gt;. Values must be within normalized ranges.
-              &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
-              &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
-            },
             &quot;postalAddress&quot;: { # Represents a postal address, e.g. for postal delivery or payments addresses. # Postal address of the location that includes human readable information,
                 # such as postal delivery and payments addresses. Given a postal address,
                 # a postal service can deliver items to a premises, P.O. Box, or other
@@ -4674,10 +4565,9 @@
                 #
                 # For more guidance on how to use this schema, please see:
                 # https://support.google.com/business/answer/6397478
-              &quot;postalCode&quot;: &quot;A String&quot;, # Optional. Postal code of the address. Not all countries use or require
-                  # postal codes to be present, but where they are used, they may trigger
-                  # additional validation with other parts of the address (e.g. state/zip
-                  # validation in the U.S.A.).
+              &quot;organization&quot;: &quot;A String&quot;, # Optional. The name of the organization at the address.
+              &quot;sublocality&quot;: &quot;A String&quot;, # Optional. Sublocality of the address.
+                  # For example, this can be neighborhoods, boroughs, districts.
               &quot;languageCode&quot;: &quot;A String&quot;, # Optional. BCP-47 language code of the contents of this address (if
                   # known). This is often the UI language of the input form or is expected
                   # to match one of the languages used in the address&#x27; country/region, or their
@@ -4690,26 +4580,6 @@
                   # possibly incorrect default).
                   #
                   # Examples: &quot;zh-Hant&quot;, &quot;ja&quot;, &quot;ja-Latn&quot;, &quot;en&quot;.
-              &quot;sortingCode&quot;: &quot;A String&quot;, # Optional. Additional, country-specific, sorting code. This is not used
-                  # in most regions. Where it is used, the value is either a string like
-                  # &quot;CEDEX&quot;, optionally followed by a number (e.g. &quot;CEDEX 7&quot;), or just a number
-                  # alone, representing the &quot;sector code&quot; (Jamaica), &quot;delivery area indicator&quot;
-                  # (Malawi) or &quot;post office indicator&quot; (e.g. Côte d&#x27;Ivoire).
-              &quot;recipients&quot;: [ # Optional. The recipient at the address.
-                  # This field may, under certain circumstances, contain multiline information.
-                  # For example, it might contain &quot;care of&quot; information.
-                &quot;A String&quot;,
-              ],
-              &quot;sublocality&quot;: &quot;A String&quot;, # Optional. Sublocality of the address.
-                  # For example, this can be neighborhoods, boroughs, districts.
-              &quot;revision&quot;: 42, # The schema revision of the `PostalAddress`. This must be set to 0, which is
-                  # the latest revision.
-                  #
-                  # All new revisions **must** be backward compatible with old revisions.
-              &quot;locality&quot;: &quot;A String&quot;, # Optional. Generally refers to the city/town portion of the address.
-                  # Examples: US city, IT comune, UK post town.
-                  # In regions of the world where localities are not well defined or do not fit
-                  # into this structure well, leave locality empty and use address_lines.
               &quot;administrativeArea&quot;: &quot;A String&quot;, # Optional. Highest administrative subdivision which is used for postal
                   # addresses of a country or region.
                   # For example, this can be a state, a province, an oblast, or a prefecture.
@@ -4717,7 +4587,33 @@
                   # community (e.g. &quot;Barcelona&quot; and not &quot;Catalonia&quot;).
                   # Many countries don&#x27;t use an administrative area in postal addresses. E.g.
                   # in Switzerland this should be left unpopulated.
-              &quot;organization&quot;: &quot;A String&quot;, # Optional. The name of the organization at the address.
+              &quot;locality&quot;: &quot;A String&quot;, # Optional. Generally refers to the city/town portion of the address.
+                  # Examples: US city, IT comune, UK post town.
+                  # In regions of the world where localities are not well defined or do not fit
+                  # into this structure well, leave locality empty and use address_lines.
+              &quot;recipients&quot;: [ # Optional. The recipient at the address.
+                  # This field may, under certain circumstances, contain multiline information.
+                  # For example, it might contain &quot;care of&quot; information.
+                &quot;A String&quot;,
+              ],
+              &quot;revision&quot;: 42, # The schema revision of the `PostalAddress`. This must be set to 0, which is
+                  # the latest revision.
+                  #
+                  # All new revisions **must** be backward compatible with old revisions.
+              &quot;postalCode&quot;: &quot;A String&quot;, # Optional. Postal code of the address. Not all countries use or require
+                  # postal codes to be present, but where they are used, they may trigger
+                  # additional validation with other parts of the address (e.g. state/zip
+                  # validation in the U.S.A.).
+              &quot;sortingCode&quot;: &quot;A String&quot;, # Optional. Additional, country-specific, sorting code. This is not used
+                  # in most regions. Where it is used, the value is either a string like
+                  # &quot;CEDEX&quot;, optionally followed by a number (e.g. &quot;CEDEX 7&quot;), or just a number
+                  # alone, representing the &quot;sector code&quot; (Jamaica), &quot;delivery area indicator&quot;
+                  # (Malawi) or &quot;post office indicator&quot; (e.g. Côte d&#x27;Ivoire).
+              &quot;regionCode&quot;: &quot;A String&quot;, # Required. CLDR region code of the country/region of the address. This
+                  # is never inferred and it is up to the user to ensure the value is
+                  # correct. See http://cldr.unicode.org/ and
+                  # http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html
+                  # for details. Example: &quot;CH&quot; for Switzerland.
               &quot;addressLines&quot;: [ # Unstructured address lines describing the lower levels of an address.
                   #
                   # Because values in address_lines do not have type information and may
@@ -4742,28 +4638,32 @@
                   # localities or administrative areas).
                 &quot;A String&quot;,
               ],
-              &quot;regionCode&quot;: &quot;A String&quot;, # Required. CLDR region code of the country/region of the address. This
-                  # is never inferred and it is up to the user to ensure the value is
-                  # correct. See http://cldr.unicode.org/ and
-                  # http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html
-                  # for details. Example: &quot;CH&quot; for Switzerland.
             },
+            &quot;radiusInMiles&quot;: 3.14, # Radius in miles of the job location. This value is derived from the
+                # location bounding box in which a circle with the specified radius
+                # centered from LatLng covers the area associated with the job location.
+                # For example, currently, &quot;Mountain View, CA, USA&quot; has a radius of
+                # 6.17 miles.
             &quot;locationType&quot;: &quot;A String&quot;, # The type of a location, which corresponds to the address lines field of
                 # PostalAddress. For example, &quot;Downtown, Atlanta, GA, USA&quot; has a type of
                 # LocationType#NEIGHBORHOOD, and &quot;Kansas City, KS, USA&quot; has a type of
                 # LocationType#LOCALITY.
+            &quot;latLng&quot;: { # An object representing a latitude/longitude pair. This is expressed as a pair # An object representing a latitude/longitude pair.
+                # of doubles representing degrees latitude and degrees longitude. Unless
+                # specified otherwise, this must conform to the
+                # &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
+                # standard&lt;/a&gt;. Values must be within normalized ranges.
+              &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+              &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+            },
           },
+          &quot;travelDuration&quot;: &quot;A String&quot;, # The number of seconds required to travel to the job location from the
+              # query location. A duration of 0 seconds indicates that the job is not
+              # reachable within the requested duration, but was returned as part of an
+              # expanded query.
         },
       },
     ],
-    &quot;nextPageToken&quot;: &quot;A String&quot;, # The token that specifies the starting position of the next page of results.
-        # This field is empty if there are no more results.
-    &quot;spellCorrection&quot;: { # Output only. # The spell checking result, and correction.
-        #
-        # Spell check result.
-      &quot;corrected&quot;: True or False, # Indicates if the query was corrected by the spell checker.
-      &quot;correctedText&quot;: &quot;A String&quot;, # Correction output consisting of the corrected keyword string.
-    },
     &quot;broadenedQueryJobsCount&quot;: 42, # If query broadening is enabled, we may append additional results from the
         # broadened query. This number indicates how many of the jobs returned in the
         # jobs field are from the broadened query. These results are always at the
@@ -4771,32 +4671,12 @@
         # set, all the jobs in the jobs list are from the original
         # (without broadening) query. If this field is non-zero, subsequent requests
         # with offset after this result set should contain all broadened results.
-    &quot;estimatedTotalSize&quot;: 42, # An estimation of the number of jobs that match the specified query.
-        #
-        # This number is not guaranteed to be accurate. For accurate results,
-        # see enable_precise_result_size.
-    &quot;totalSize&quot;: 42, # The precise result count, which is available only if the client set
-        # enable_precise_result_size to `true`, or if the response
-        # is the last page of results. Otherwise, the value is `-1`.
     &quot;locationFilters&quot;: [ # The location filters that the service applied to the specified query. If
         # any filters are lat-lng based, the JobLocation.location_type is
         # JobLocation.LocationType#LOCATION_TYPE_UNSPECIFIED.
       { # Output only.
           #
           # A resource that represents a location with full geographic information.
-        &quot;radiusInMiles&quot;: 3.14, # Radius in miles of the job location. This value is derived from the
-            # location bounding box in which a circle with the specified radius
-            # centered from LatLng covers the area associated with the job location.
-            # For example, currently, &quot;Mountain View, CA, USA&quot; has a radius of
-            # 6.17 miles.
-        &quot;latLng&quot;: { # An object representing a latitude/longitude pair. This is expressed as a pair # An object representing a latitude/longitude pair.
-            # of doubles representing degrees latitude and degrees longitude. Unless
-            # specified otherwise, this must conform to the
-            # &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
-            # standard&lt;/a&gt;. Values must be within normalized ranges.
-          &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
-          &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
-        },
         &quot;postalAddress&quot;: { # Represents a postal address, e.g. for postal delivery or payments addresses. # Postal address of the location that includes human readable information,
             # such as postal delivery and payments addresses. Given a postal address,
             # a postal service can deliver items to a premises, P.O. Box, or other
@@ -4817,10 +4697,9 @@
             #
             # For more guidance on how to use this schema, please see:
             # https://support.google.com/business/answer/6397478
-          &quot;postalCode&quot;: &quot;A String&quot;, # Optional. Postal code of the address. Not all countries use or require
-              # postal codes to be present, but where they are used, they may trigger
-              # additional validation with other parts of the address (e.g. state/zip
-              # validation in the U.S.A.).
+          &quot;organization&quot;: &quot;A String&quot;, # Optional. The name of the organization at the address.
+          &quot;sublocality&quot;: &quot;A String&quot;, # Optional. Sublocality of the address.
+              # For example, this can be neighborhoods, boroughs, districts.
           &quot;languageCode&quot;: &quot;A String&quot;, # Optional. BCP-47 language code of the contents of this address (if
               # known). This is often the UI language of the input form or is expected
               # to match one of the languages used in the address&#x27; country/region, or their
@@ -4833,26 +4712,6 @@
               # possibly incorrect default).
               #
               # Examples: &quot;zh-Hant&quot;, &quot;ja&quot;, &quot;ja-Latn&quot;, &quot;en&quot;.
-          &quot;sortingCode&quot;: &quot;A String&quot;, # Optional. Additional, country-specific, sorting code. This is not used
-              # in most regions. Where it is used, the value is either a string like
-              # &quot;CEDEX&quot;, optionally followed by a number (e.g. &quot;CEDEX 7&quot;), or just a number
-              # alone, representing the &quot;sector code&quot; (Jamaica), &quot;delivery area indicator&quot;
-              # (Malawi) or &quot;post office indicator&quot; (e.g. Côte d&#x27;Ivoire).
-          &quot;recipients&quot;: [ # Optional. The recipient at the address.
-              # This field may, under certain circumstances, contain multiline information.
-              # For example, it might contain &quot;care of&quot; information.
-            &quot;A String&quot;,
-          ],
-          &quot;sublocality&quot;: &quot;A String&quot;, # Optional. Sublocality of the address.
-              # For example, this can be neighborhoods, boroughs, districts.
-          &quot;revision&quot;: 42, # The schema revision of the `PostalAddress`. This must be set to 0, which is
-              # the latest revision.
-              #
-              # All new revisions **must** be backward compatible with old revisions.
-          &quot;locality&quot;: &quot;A String&quot;, # Optional. Generally refers to the city/town portion of the address.
-              # Examples: US city, IT comune, UK post town.
-              # In regions of the world where localities are not well defined or do not fit
-              # into this structure well, leave locality empty and use address_lines.
           &quot;administrativeArea&quot;: &quot;A String&quot;, # Optional. Highest administrative subdivision which is used for postal
               # addresses of a country or region.
               # For example, this can be a state, a province, an oblast, or a prefecture.
@@ -4860,7 +4719,33 @@
               # community (e.g. &quot;Barcelona&quot; and not &quot;Catalonia&quot;).
               # Many countries don&#x27;t use an administrative area in postal addresses. E.g.
               # in Switzerland this should be left unpopulated.
-          &quot;organization&quot;: &quot;A String&quot;, # Optional. The name of the organization at the address.
+          &quot;locality&quot;: &quot;A String&quot;, # Optional. Generally refers to the city/town portion of the address.
+              # Examples: US city, IT comune, UK post town.
+              # In regions of the world where localities are not well defined or do not fit
+              # into this structure well, leave locality empty and use address_lines.
+          &quot;recipients&quot;: [ # Optional. The recipient at the address.
+              # This field may, under certain circumstances, contain multiline information.
+              # For example, it might contain &quot;care of&quot; information.
+            &quot;A String&quot;,
+          ],
+          &quot;revision&quot;: 42, # The schema revision of the `PostalAddress`. This must be set to 0, which is
+              # the latest revision.
+              #
+              # All new revisions **must** be backward compatible with old revisions.
+          &quot;postalCode&quot;: &quot;A String&quot;, # Optional. Postal code of the address. Not all countries use or require
+              # postal codes to be present, but where they are used, they may trigger
+              # additional validation with other parts of the address (e.g. state/zip
+              # validation in the U.S.A.).
+          &quot;sortingCode&quot;: &quot;A String&quot;, # Optional. Additional, country-specific, sorting code. This is not used
+              # in most regions. Where it is used, the value is either a string like
+              # &quot;CEDEX&quot;, optionally followed by a number (e.g. &quot;CEDEX 7&quot;), or just a number
+              # alone, representing the &quot;sector code&quot; (Jamaica), &quot;delivery area indicator&quot;
+              # (Malawi) or &quot;post office indicator&quot; (e.g. Côte d&#x27;Ivoire).
+          &quot;regionCode&quot;: &quot;A String&quot;, # Required. CLDR region code of the country/region of the address. This
+              # is never inferred and it is up to the user to ensure the value is
+              # correct. See http://cldr.unicode.org/ and
+              # http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html
+              # for details. Example: &quot;CH&quot; for Switzerland.
           &quot;addressLines&quot;: [ # Unstructured address lines describing the lower levels of an address.
               #
               # Because values in address_lines do not have type information and may
@@ -4885,18 +4770,133 @@
               # localities or administrative areas).
             &quot;A String&quot;,
           ],
-          &quot;regionCode&quot;: &quot;A String&quot;, # Required. CLDR region code of the country/region of the address. This
-              # is never inferred and it is up to the user to ensure the value is
-              # correct. See http://cldr.unicode.org/ and
-              # http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html
-              # for details. Example: &quot;CH&quot; for Switzerland.
         },
+        &quot;radiusInMiles&quot;: 3.14, # Radius in miles of the job location. This value is derived from the
+            # location bounding box in which a circle with the specified radius
+            # centered from LatLng covers the area associated with the job location.
+            # For example, currently, &quot;Mountain View, CA, USA&quot; has a radius of
+            # 6.17 miles.
         &quot;locationType&quot;: &quot;A String&quot;, # The type of a location, which corresponds to the address lines field of
             # PostalAddress. For example, &quot;Downtown, Atlanta, GA, USA&quot; has a type of
             # LocationType#NEIGHBORHOOD, and &quot;Kansas City, KS, USA&quot; has a type of
             # LocationType#LOCALITY.
+        &quot;latLng&quot;: { # An object representing a latitude/longitude pair. This is expressed as a pair # An object representing a latitude/longitude pair.
+            # of doubles representing degrees latitude and degrees longitude. Unless
+            # specified otherwise, this must conform to the
+            # &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
+            # standard&lt;/a&gt;. Values must be within normalized ranges.
+          &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+          &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+        },
       },
     ],
+    &quot;nextPageToken&quot;: &quot;A String&quot;, # The token that specifies the starting position of the next page of results.
+        # This field is empty if there are no more results.
+    &quot;metadata&quot;: { # Output only. # Additional information for the API invocation, such as the request
+        # tracking id.
+        #
+        # Additional information returned to client, such as debugging information.
+      &quot;requestId&quot;: &quot;A String&quot;, # A unique id associated with this call.
+          # This id is logged for tracking purposes.
+    },
+    &quot;histogramResults&quot;: { # Output only. # The histogram results that match specified
+        # SearchJobsRequest.histogram_facets.
+        #
+        # Histogram results that match HistogramFacets specified in
+        # SearchJobsRequest.
+      &quot;compensationHistogramResults&quot;: [ # Specifies compensation field-based histogram results that match
+          # HistogramFacets.compensation_histogram_requests.
+        { # Output only.
+            #
+            # Compensation based histogram result.
+          &quot;result&quot;: { # Output only. # Histogram result.
+              #
+              # Custom numeric bucketing result.
+            &quot;counts&quot;: [ # Count within each bucket. Its size is the length of
+                # NumericBucketingOption.bucket_bounds plus 1.
+              { # Represents count of jobs within one bucket.
+                &quot;count&quot;: 42, # Number of jobs whose numeric field value fall into `range`.
+                &quot;range&quot;: { # Represents starting and ending value of a range in double. # Bucket range on which histogram was performed for the numeric field,
+                    # that is, the count represents number of jobs in this range.
+                  &quot;to&quot;: 3.14, # Ending value of the bucket range.
+                  &quot;from&quot;: 3.14, # Starting value of the bucket range.
+                },
+              },
+            ],
+            &quot;maxValue&quot;: 3.14, # Stores the maximum value of the numeric field. Is populated only if
+                # [NumericBucketingOption.requires_min_max] is set to true.
+            &quot;minValue&quot;: 3.14, # Stores the minimum value of the numeric field. Will be populated only if
+                # [NumericBucketingOption.requires_min_max] is set to true.
+          },
+          &quot;type&quot;: &quot;A String&quot;, # Type of the request, corresponding to
+              # CompensationHistogramRequest.type.
+        },
+      ],
+      &quot;customAttributeHistogramResults&quot;: [ # Specifies histogram results for custom attributes that match
+          # HistogramFacets.custom_attribute_histogram_facets.
+        { # Output only.
+            #
+            # Custom attribute histogram result.
+          &quot;key&quot;: &quot;A String&quot;, # Stores the key of custom attribute the histogram is performed on.
+          &quot;longValueHistogramResult&quot;: { # Output only. # Stores bucketed histogram counting result or min/max values for
+              # custom attribute long values associated with `key`.
+              #
+              # Custom numeric bucketing result.
+            &quot;counts&quot;: [ # Count within each bucket. Its size is the length of
+                # NumericBucketingOption.bucket_bounds plus 1.
+              { # Represents count of jobs within one bucket.
+                &quot;count&quot;: 42, # Number of jobs whose numeric field value fall into `range`.
+                &quot;range&quot;: { # Represents starting and ending value of a range in double. # Bucket range on which histogram was performed for the numeric field,
+                    # that is, the count represents number of jobs in this range.
+                  &quot;to&quot;: 3.14, # Ending value of the bucket range.
+                  &quot;from&quot;: 3.14, # Starting value of the bucket range.
+                },
+              },
+            ],
+            &quot;maxValue&quot;: 3.14, # Stores the maximum value of the numeric field. Is populated only if
+                # [NumericBucketingOption.requires_min_max] is set to true.
+            &quot;minValue&quot;: 3.14, # Stores the minimum value of the numeric field. Will be populated only if
+                # [NumericBucketingOption.requires_min_max] is set to true.
+          },
+          &quot;stringValueHistogramResult&quot;: { # Stores a map from the values of string custom field associated
+              # with `key` to the number of jobs with that value in this histogram result.
+            &quot;a_key&quot;: 42,
+          },
+        },
+      ],
+      &quot;simpleHistogramResults&quot;: [ # Specifies histogram results that matches
+          # HistogramFacets.simple_histogram_facets.
+        { # Output only.
+            #
+            # Result of a histogram call. The response contains the histogram map for the
+            # search type specified by HistogramResult.field.
+            # The response is a map of each filter value to the corresponding count of
+            # jobs for that filter.
+          &quot;values&quot;: { # A map from the values of field to the number of jobs with that value
+              # in this search result.
+              #
+              # Key: search type (filter names, such as the companyName).
+              #
+              # Values: the count of jobs that match the filter for this search.
+            &quot;a_key&quot;: 42,
+          },
+          &quot;searchType&quot;: &quot;A String&quot;, # The Histogram search filters.
+        },
+      ],
+    },
+    &quot;estimatedTotalSize&quot;: 42, # An estimation of the number of jobs that match the specified query.
+        #
+        # This number is not guaranteed to be accurate. For accurate results,
+        # see enable_precise_result_size.
+    &quot;totalSize&quot;: 42, # The precise result count, which is available only if the client set
+        # enable_precise_result_size to `true`, or if the response
+        # is the last page of results. Otherwise, the value is `-1`.
+    &quot;spellCorrection&quot;: { # Output only. # The spell checking result, and correction.
+        #
+        # Spell check result.
+      &quot;corrected&quot;: True or False, # Indicates if the query was corrected by the spell checker.
+      &quot;correctedText&quot;: &quot;A String&quot;, # Correction output consisting of the corrected keyword string.
+    },
   }</pre>
 </div>
 
@@ -4924,6 +4924,143 @@
 { # Input only.
       # 
       # The Request body of the `SearchJobs` call.
+    &quot;requestMetadata&quot;: { # Input only. # Required. The meta information collected about the job searcher, used to improve the
+        # search quality of the service. The identifiers (such as `user_id`) are
+        # provided by users, and must be unique and consistent.
+        #
+        # Meta information related to the job searcher or entity
+        # conducting the job search. This information is used to improve the
+        # performance of the service.
+      &quot;userId&quot;: &quot;A String&quot;, # Required. A unique user identification string, as determined by the client.
+          # To have the strongest positive impact on search quality
+          # make sure the client-level is unique.
+          # Obfuscate this field for privacy concerns before
+          # providing it to the service.
+          #
+          # If this field is not available for some reason, send &quot;UNKNOWN&quot;. Note
+          # that any improvements to the model for a particular tenant
+          # site, rely on this field being set correctly to a unique user_id.
+          #
+          # The maximum number of allowed characters is 255.
+      &quot;sessionId&quot;: &quot;A String&quot;, # Required. A unique session identification string. A session is defined as the
+          # duration of an end user&#x27;s interaction with the service over a certain
+          # period.
+          # Obfuscate this field for privacy concerns before
+          # providing it to the service.
+          #
+          # If this field is not available for some reason, send &quot;UNKNOWN&quot;. Note
+          # that any improvements to the model for a particular tenant
+          # site, rely on this field being set correctly to some unique session_id.
+          #
+          # The maximum number of allowed characters is 255.
+      &quot;deviceInfo&quot;: { # Device information collected from the job seeker, candidate, or # Optional. The type of device used by the job seeker at the time of the call to the
+          # service.
+          # other entity conducting the job search. Providing this information improves
+          # the quality of the search results across devices.
+        &quot;id&quot;: &quot;A String&quot;, # Optional. A device-specific ID. The ID must be a unique identifier that
+            # distinguishes the device from other devices.
+        &quot;deviceType&quot;: &quot;A String&quot;, # Optional. Type of the device.
+      },
+      &quot;domain&quot;: &quot;A String&quot;, # Required. The client-defined scope or source of the service call, which typically
+          # is the domain on
+          # which the service has been implemented and is currently being run.
+          #
+          # For example, if the service is being run by client &lt;em&gt;Foo, Inc.&lt;/em&gt;, on
+          # job board www.foo.com and career site www.bar.com, then this field is
+          # set to &quot;foo.com&quot; for use on the job board, and &quot;bar.com&quot; for use on the
+          # career site.
+          #
+          # If this field isn&#x27;t available for some reason, send &quot;UNKNOWN&quot;.
+          # Any improvements to the model for a particular tenant site rely on this
+          # field being set correctly to a domain.
+          #
+          # The maximum number of allowed characters is 255.
+    },
+    &quot;offset&quot;: 42, # Optional. An integer that specifies the current offset (that is, starting result
+        # location, amongst the jobs deemed by the API as relevant) in search
+        # results. This field is only considered if page_token is unset.
+        # 
+        # The maximum allowed value is 5000. Otherwise an error is thrown.
+        # 
+        # For example, 0 means to  return results starting from the first matching
+        # job, and 10 means to return from the 11th job. This can be used for
+        # pagination, (for example, pageSize = 10 and offset = 10 means to return
+        # from the second page).
+    &quot;histogramFacets&quot;: { # Input only. # Optional. Histogram requests for jobs matching JobQuery.
+        #
+        # Histogram facets to be specified in SearchJobsRequest.
+      &quot;customAttributeHistogramFacets&quot;: [ # Optional. Specifies the custom attributes histogram requests.
+          # Duplicate values of CustomAttributeHistogramRequest.key are not
+          # allowed.
+        { # Custom attributes histogram request. An error is thrown if neither
+            # string_value_histogram or long_value_histogram_bucketing_option has
+            # been defined.
+          &quot;longValueHistogramBucketingOption&quot;: { # Input only. # Optional. Specifies buckets used to perform a range histogram on Job&#x27;s
+              # filterable long custom field values, or min/max value requirements.
+              #
+              # Use this field to specify bucketing option for the histogram search response.
+            &quot;requiresMinMax&quot;: True or False, # Optional. If set to true, the histogram result includes minimum/maximum
+                # value of the numeric field.
+            &quot;bucketBounds&quot;: [ # Required. Two adjacent values form a histogram bucket. Values should be in
+                # ascending order. For example, if [5, 10, 15] are provided, four buckets are
+                # created: (-inf, 5), 5, 10), [10, 15), [15, inf). At most 20
+                # [buckets_bound is supported.
+              3.14,
+            ],
+          },
+          &quot;stringValueHistogram&quot;: True or False, # Optional. If set to true, the response includes the histogram value for
+              # each key as a string.
+          &quot;key&quot;: &quot;A String&quot;, # Required. Specifies the custom field key to perform a histogram on. If specified
+              # without `long_value_histogram_bucketing_option`, histogram on string values
+              # of the given `key` is triggered, otherwise histogram is performed on long
+              # values.
+        },
+      ],
+      &quot;simpleHistogramFacets&quot;: [ # Optional. Specifies the simple type of histogram facets, for example,
+          # `COMPANY_SIZE`, `EMPLOYMENT_TYPE` etc.
+        &quot;A String&quot;,
+      ],
+      &quot;compensationHistogramFacets&quot;: [ # Optional. Specifies compensation field-based histogram requests.
+          # Duplicate values of CompensationHistogramRequest.type are not allowed.
+        { # Input only.
+            #
+            # Compensation based histogram request.
+          &quot;type&quot;: &quot;A String&quot;, # Required. Type of the request, representing which field the histogramming should be
+              # performed over. A single request can only specify one histogram of each
+              # `CompensationHistogramRequestType`.
+          &quot;bucketingOption&quot;: { # Input only. # Required. Numeric histogram options, like buckets, whether include min or max value.
+              #
+              # Use this field to specify bucketing option for the histogram search response.
+            &quot;requiresMinMax&quot;: True or False, # Optional. If set to true, the histogram result includes minimum/maximum
+                # value of the numeric field.
+            &quot;bucketBounds&quot;: [ # Required. Two adjacent values form a histogram bucket. Values should be in
+                # ascending order. For example, if [5, 10, 15] are provided, four buckets are
+                # created: (-inf, 5), 5, 10), [10, 15), [15, inf). At most 20
+                # [buckets_bound is supported.
+              3.14,
+            ],
+          },
+        },
+      ],
+    },
+    &quot;requirePreciseResultSize&quot;: True or False, # Optional. Controls if the search job request requires the return of a precise
+        # count of the first 300 results. Setting this to `true` ensures
+        # consistency in the number of results per page. Best practice is to set this
+        # value to true if a client allows users to jump directly to a
+        # non-sequential search results page.
+        # 
+        # Enabling this flag may adversely impact performance.
+        # 
+        # Defaults to false.
+    &quot;searchMode&quot;: &quot;A String&quot;, # Optional. Mode of a search.
+        # 
+        # Defaults to SearchMode.JOB_SEARCH.
+    &quot;pageToken&quot;: &quot;A String&quot;, # Optional. The token specifying the current offset within
+        # search results. See SearchJobsResponse.next_page_token for
+        # an explanation of how to obtain the next set of query results.
+    &quot;pageSize&quot;: 42, # Optional. A limit on the number of jobs returned in the search results.
+        # Increasing this value above the default value of 10 can increase search
+        # response time. The value can be between 1 and 100.
     &quot;disableKeywordMatch&quot;: True or False, # Optional. Controls whether to disable exact keyword match on Job.job_title,
         # Job.description, Job.company_display_name, Job.locations,
         # Job.qualifications. When disable keyword match is turned off, a
@@ -4943,197 +5080,16 @@
         # keyword match improves recall of subsequent search requests.
         # 
         # Defaults to false.
+    &quot;jobView&quot;: &quot;A String&quot;, # Optional. The desired job attributes returned for jobs in the
+        # search response. Defaults to JobView.SMALL if no value is specified.
     &quot;enableBroadening&quot;: True or False, # Optional. Controls whether to broaden the search when it produces sparse results.
         # Broadened queries append results to the end of the matching results
         # list.
         # 
         # Defaults to false.
-    &quot;offset&quot;: 42, # Optional. An integer that specifies the current offset (that is, starting result
-        # location, amongst the jobs deemed by the API as relevant) in search
-        # results. This field is only considered if page_token is unset.
-        # 
-        # The maximum allowed value is 5000. Otherwise an error is thrown.
-        # 
-        # For example, 0 means to  return results starting from the first matching
-        # job, and 10 means to return from the 11th job. This can be used for
-        # pagination, (for example, pageSize = 10 and offset = 10 means to return
-        # from the second page).
-    &quot;pageSize&quot;: 42, # Optional. A limit on the number of jobs returned in the search results.
-        # Increasing this value above the default value of 10 can increase search
-        # response time. The value can be between 1 and 100.
-    &quot;histogramFacets&quot;: { # Input only. # Optional. Histogram requests for jobs matching JobQuery.
-        #
-        # Histogram facets to be specified in SearchJobsRequest.
-      &quot;compensationHistogramFacets&quot;: [ # Optional. Specifies compensation field-based histogram requests.
-          # Duplicate values of CompensationHistogramRequest.type are not allowed.
-        { # Input only.
-            #
-            # Compensation based histogram request.
-          &quot;bucketingOption&quot;: { # Input only. # Required. Numeric histogram options, like buckets, whether include min or max value.
-              #
-              # Use this field to specify bucketing option for the histogram search response.
-            &quot;bucketBounds&quot;: [ # Required. Two adjacent values form a histogram bucket. Values should be in
-                # ascending order. For example, if [5, 10, 15] are provided, four buckets are
-                # created: (-inf, 5), 5, 10), [10, 15), [15, inf). At most 20
-                # [buckets_bound is supported.
-              3.14,
-            ],
-            &quot;requiresMinMax&quot;: True or False, # Optional. If set to true, the histogram result includes minimum/maximum
-                # value of the numeric field.
-          },
-          &quot;type&quot;: &quot;A String&quot;, # Required. Type of the request, representing which field the histogramming should be
-              # performed over. A single request can only specify one histogram of each
-              # `CompensationHistogramRequestType`.
-        },
-      ],
-      &quot;customAttributeHistogramFacets&quot;: [ # Optional. Specifies the custom attributes histogram requests.
-          # Duplicate values of CustomAttributeHistogramRequest.key are not
-          # allowed.
-        { # Custom attributes histogram request. An error is thrown if neither
-            # string_value_histogram or long_value_histogram_bucketing_option has
-            # been defined.
-          &quot;longValueHistogramBucketingOption&quot;: { # Input only. # Optional. Specifies buckets used to perform a range histogram on Job&#x27;s
-              # filterable long custom field values, or min/max value requirements.
-              #
-              # Use this field to specify bucketing option for the histogram search response.
-            &quot;bucketBounds&quot;: [ # Required. Two adjacent values form a histogram bucket. Values should be in
-                # ascending order. For example, if [5, 10, 15] are provided, four buckets are
-                # created: (-inf, 5), 5, 10), [10, 15), [15, inf). At most 20
-                # [buckets_bound is supported.
-              3.14,
-            ],
-            &quot;requiresMinMax&quot;: True or False, # Optional. If set to true, the histogram result includes minimum/maximum
-                # value of the numeric field.
-          },
-          &quot;key&quot;: &quot;A String&quot;, # Required. Specifies the custom field key to perform a histogram on. If specified
-              # without `long_value_histogram_bucketing_option`, histogram on string values
-              # of the given `key` is triggered, otherwise histogram is performed on long
-              # values.
-          &quot;stringValueHistogram&quot;: True or False, # Optional. If set to true, the response includes the histogram value for
-              # each key as a string.
-        },
-      ],
-      &quot;simpleHistogramFacets&quot;: [ # Optional. Specifies the simple type of histogram facets, for example,
-          # `COMPANY_SIZE`, `EMPLOYMENT_TYPE` etc.
-        &quot;A String&quot;,
-      ],
-    },
-    &quot;orderBy&quot;: &quot;A String&quot;, # Optional. The criteria determining how search results are sorted. Default is
-        # &quot;relevance desc&quot;.
-        # 
-        # Supported options are:
-        # 
-        # * `&quot;relevance desc&quot;`: By relevance descending, as determined by the API
-        # algorithms. Relevance thresholding of query results is only available
-        # with this ordering.
-        # * `&quot;posting_publish_time desc&quot;`: By Job.posting_publish_time
-        # descending.
-        # * `&quot;posting_update_time desc&quot;`: By Job.posting_update_time
-        # descending.
-        # * `&quot;title&quot;`: By Job.title ascending.
-        # * `&quot;title desc&quot;`: By Job.title descending.
-        # * `&quot;annualized_base_compensation&quot;`: By job&#x27;s
-        # CompensationInfo.annualized_base_compensation_range ascending. Jobs
-        # whose annualized base compensation is unspecified are put at the end of
-        # search results.
-        # * `&quot;annualized_base_compensation desc&quot;`: By job&#x27;s
-        # CompensationInfo.annualized_base_compensation_range descending. Jobs
-        # whose annualized base compensation is unspecified are put at the end of
-        # search results.
-        # * `&quot;annualized_total_compensation&quot;`: By job&#x27;s
-        # CompensationInfo.annualized_total_compensation_range ascending. Jobs
-        # whose annualized base compensation is unspecified are put at the end of
-        # search results.
-        # * `&quot;annualized_total_compensation desc&quot;`: By job&#x27;s
-        # CompensationInfo.annualized_total_compensation_range descending. Jobs
-        # whose annualized base compensation is unspecified are put at the end of
-        # search results.
     &quot;jobQuery&quot;: { # Input only. # Optional. Query used to search against jobs, such as keyword, location filters, etc.
         #
         # The query required to perform a search query.
-      &quot;customAttributeFilter&quot;: &quot;A String&quot;, # Optional. This filter specifies a structured syntax to match against the
-          # Job.custom_attributes marked as `filterable`.
-          #
-          # The syntax for this expression is a subset of SQL syntax.
-          #
-          # Supported operators are: `=`, `!=`, `&lt;`, `&lt;=`, `&gt;`, and `&gt;=` where the
-          # left of the operator is a custom field key and the right of the operator
-          # is a number or a quoted string. You must escape backslash (\\) and
-          # quote (\&quot;) characters.
-          #
-          # Supported functions are `LOWER([field_name])` to
-          # perform a case insensitive match and `EMPTY([field_name])` to filter on the
-          # existence of a key.
-          #
-          # Boolean expressions (AND/OR/NOT) are supported up to 3 levels of
-          # nesting (for example, &quot;((A AND B AND C) OR NOT D) AND E&quot;), a maximum of 100
-          # comparisons or functions are allowed in the expression. The expression
-          # must be &lt; 6000 bytes in length.
-          #
-          # Sample Query:
-          # `(LOWER(driving_license)=&quot;class \&quot;a\&quot;&quot; OR EMPTY(driving_license)) AND
-          # driving_years &gt; 10`
-      &quot;publishTimeRange&quot;: { # Message representing a period of time between two timestamps. # Optional. Jobs published within a range specified by this filter are searched
-          # against.
-        &quot;startTime&quot;: &quot;A String&quot;, # Begin of the period.
-        &quot;endTime&quot;: &quot;A String&quot;, # End of the period.
-      },
-      &quot;locationFilters&quot;: [ # Optional. The location filter specifies geo-regions containing the jobs to
-          # search against. See LocationFilter for more information.
-          #
-          # If a location value isn&#x27;t specified, jobs fitting the other search
-          # criteria are retrieved regardless of where they&#x27;re located.
-          #
-          # If multiple values are specified, jobs are retrieved from any of the
-          # specified locations. If different values are specified for the
-          # LocationFilter.distance_in_miles parameter, the maximum provided
-          # distance is used for all locations.
-          #
-          # At most 5 location filters are allowed.
-        { # Input only.
-            #
-            # Geographic region of the search.
-          &quot;regionCode&quot;: &quot;A String&quot;, # Optional. CLDR region code of the country/region of the address. This is used
-              # to address ambiguity of the user-input location, for example, &quot;Liverpool&quot;
-              # against &quot;Liverpool, NY, US&quot; or &quot;Liverpool, UK&quot;.
-              #
-              # Set this field if all the jobs to search against are from a same region,
-              # or jobs are world-wide, but the job seeker is from a specific region.
-              #
-              # See http://cldr.unicode.org/ and
-              # http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html
-              # for details. Example: &quot;CH&quot; for Switzerland.
-          &quot;address&quot;: &quot;A String&quot;, # Optional. The address name, such as &quot;Mountain View&quot; or &quot;Bay Area&quot;.
-          &quot;distanceInMiles&quot;: 3.14, # Optional. The distance_in_miles is applied when the location being searched for is
-              # identified as a city or smaller. When the location being searched for is a
-              # state or larger, this field is ignored.
-          &quot;telecommutePreference&quot;: &quot;A String&quot;, # Optional. Allows the client to return jobs without a
-              # set location, specifically, telecommuting jobs (telecommuting is considered
-              # by the service as a special location.
-              # Job.posting_region indicates if a job permits telecommuting.
-              # If this field is set to TelecommutePreference.TELECOMMUTE_ALLOWED,
-              # telecommuting jobs are searched, and address and lat_lng are
-              # ignored. If not set or set to
-              # TelecommutePreference.TELECOMMUTE_EXCLUDED, telecommute job are not
-              # searched.
-              #
-              # This filter can be used by itself to search exclusively for telecommuting
-              # jobs, or it can be combined with another location
-              # filter to search for a combination of job locations,
-              # such as &quot;Mountain View&quot; or &quot;telecommuting&quot; jobs. However, when used in
-              # combination with other location filters, telecommuting jobs can be
-              # treated as less relevant than other jobs in the search response.
-          &quot;latLng&quot;: { # An object representing a latitude/longitude pair. This is expressed as a pair # Optional. The latitude and longitude of the geographic center from which to
-              # search. This field&#x27;s ignored if `address` is provided.
-              # of doubles representing degrees latitude and degrees longitude. Unless
-              # specified otherwise, this must conform to the
-              # &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
-              # standard&lt;/a&gt;. Values must be within normalized ranges.
-            &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
-            &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
-          },
-        },
-      ],
       &quot;commuteFilter&quot;: { # Input only. # Optional. Allows filtering jobs by commute time with different travel methods (for
           #  example, driving or public transit). Note: This only works with COMMUTE
           #  MODE. When specified, [JobQuery.location_filters] is
@@ -5142,6 +5098,7 @@
           #  Currently we don&#x27;t support sorting by commute time.
           #
           # Parameters needed for commute search.
+        &quot;commuteMethod&quot;: &quot;A String&quot;, # Required. The method of transportation for which to calculate the commute time.
         &quot;travelDuration&quot;: &quot;A String&quot;, # Required. The maximum travel time in seconds. The maximum allowed value is `3600s`
             # (one hour). Format is `123s`.
         &quot;startCoordinates&quot;: { # An object representing a latitude/longitude pair. This is expressed as a pair # Required. The latitude and longitude of the location from which to calculate the
@@ -5153,8 +5110,20 @@
           &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
           &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
         },
-        &quot;commuteMethod&quot;: &quot;A String&quot;, # Required. The method of transportation for which to calculate the commute time.
         &quot;roadTraffic&quot;: &quot;A String&quot;, # Optional. Specifies the traffic density to use when calculating commute time.
+        &quot;departureTime&quot;: { # Represents a time of day. The date and time zone are either not significant # Optional. The departure time used to calculate traffic impact, represented as
+            # google.type.TimeOfDay in local time zone.
+            #
+            # Currently traffic model is restricted to hour level resolution.
+            # or are specified elsewhere. An API may choose to allow leap seconds. Related
+            # types are google.type.Date and `google.protobuf.Timestamp`.
+          &quot;seconds&quot;: 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
+              # allow the value 60 if it allows leap-seconds.
+          &quot;minutes&quot;: 42, # Minutes of hour of day. Must be from 0 to 59.
+          &quot;hours&quot;: 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
+              # to allow the value &quot;24:00:00&quot; for scenarios like business closing time.
+          &quot;nanos&quot;: 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+        },
         &quot;allowImpreciseAddresses&quot;: True or False, # Optional. If true, jobs without &quot;precise&quot; addresses (street level addresses or GPS
             # coordinates) might also be returned. For city and coarser level addresses,
             # text matching is used. If this field is set to false or is not specified,
@@ -5165,99 +5134,7 @@
             # able to calculate accurate commute times to jobs with city level and
             # coarser address information. Jobs with imprecise addresses will return a
             # `travel_duration` time of 0 regardless of distance from the job seeker.
-        &quot;departureTime&quot;: { # Represents a time of day. The date and time zone are either not significant # Optional. The departure time used to calculate traffic impact, represented as
-            # google.type.TimeOfDay in local time zone.
-            #
-            # Currently traffic model is restricted to hour level resolution.
-            # or are specified elsewhere. An API may choose to allow leap seconds. Related
-            # types are google.type.Date and `google.protobuf.Timestamp`.
-          &quot;hours&quot;: 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
-              # to allow the value &quot;24:00:00&quot; for scenarios like business closing time.
-          &quot;nanos&quot;: 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-          &quot;seconds&quot;: 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
-              # allow the value 60 if it allows leap-seconds.
-          &quot;minutes&quot;: 42, # Minutes of hour of day. Must be from 0 to 59.
-        },
       },
-      &quot;languageCodes&quot;: [ # Optional. This filter specifies the locale of jobs to search against,
-          # for example, &quot;en-US&quot;.
-          #
-          # If a value isn&#x27;t specified, the search results can contain jobs in any
-          # locale.
-          #
-          #
-          # Language codes should be in BCP-47 format, such as &quot;en-US&quot; or &quot;sr-Latn&quot;.
-          # For more information, see
-          # [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47).
-          #
-          # At most 10 language code filters are allowed.
-        &quot;A String&quot;,
-      ],
-      &quot;query&quot;: &quot;A String&quot;, # Optional. The query string that matches against the job title, description, and
-          # location fields.
-          #
-          # The maximum number of allowed characters is 255.
-      &quot;compensationFilter&quot;: { # Input only. # Optional. This search filter is applied only to
-          # Job.compensation_info. For example, if the filter is specified
-          # as &quot;Hourly job with per-hour compensation &gt; $15&quot;, only jobs meeting
-          # these criteria are searched. If a filter isn&#x27;t defined, all open jobs
-          # are searched.
-          #
-          # Filter on job compensation type and amount.
-        &quot;range&quot;: { # Compensation range. # Optional. Compensation range.
-          &quot;maxCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
-              # to a maximal compensation value and the currency code is set to
-              # match the currency code of
-              # min_compensation.
-            &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
-                # The value must be between -999,999,999 and +999,999,999 inclusive.
-                # If `units` is positive, `nanos` must be positive or zero.
-                # If `units` is zero, `nanos` can be positive, zero, or negative.
-                # If `units` is negative, `nanos` must be negative or zero.
-                # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-            &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
-                # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
-            &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
-          },
-          &quot;minCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
-              # to zero and the currency code is set to match the
-              # currency code of max_compensation.
-            &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
-                # The value must be between -999,999,999 and +999,999,999 inclusive.
-                # If `units` is positive, `nanos` must be positive or zero.
-                # If `units` is zero, `nanos` can be positive, zero, or negative.
-                # If `units` is negative, `nanos` must be negative or zero.
-                # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-            &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
-                # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
-            &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
-          },
-        },
-        &quot;type&quot;: &quot;A String&quot;, # Required. Type of filter.
-        &quot;includeJobsWithUnspecifiedCompensationRange&quot;: True or False, # Optional. If set to true, jobs with unspecified compensation range fields are
-            # included.
-        &quot;units&quot;: [ # Required. Specify desired `base compensation entry&#x27;s`
-            # CompensationInfo.CompensationUnit.
-          &quot;A String&quot;,
-        ],
-      },
-      &quot;disableSpellCheck&quot;: True or False, # Optional. This flag controls the spell-check feature. If false, the
-          # service attempts to correct a misspelled query,
-          # for example, &quot;enginee&quot; is corrected to &quot;engineer&quot;.
-          #
-          # Defaults to false: a spell check is performed.
-      &quot;companyDisplayNames&quot;: [ # Optional. This filter specifies the exact company display
-          # name of the jobs to search against.
-          #
-          # If a value isn&#x27;t specified, jobs within the search results are
-          # associated with any company.
-          #
-          # If multiple values are specified, jobs within the search results may be
-          # associated with any of the specified companies.
-          #
-          # At most 20 company display name filters are allowed.
-        &quot;A String&quot;,
-      ],
       &quot;jobCategories&quot;: [ # Optional. The category filter specifies the categories of jobs to search against.
           # See Category for more information.
           #
@@ -5290,6 +5167,47 @@
           # Language code should be in BCP-47 format, such as &quot;en-US&quot; or &quot;sr-Latn&quot;.
           # For more information, see
           # [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47).
+      &quot;customAttributeFilter&quot;: &quot;A String&quot;, # Optional. This filter specifies a structured syntax to match against the
+          # Job.custom_attributes marked as `filterable`.
+          #
+          # The syntax for this expression is a subset of SQL syntax.
+          #
+          # Supported operators are: `=`, `!=`, `&lt;`, `&lt;=`, `&gt;`, and `&gt;=` where the
+          # left of the operator is a custom field key and the right of the operator
+          # is a number or a quoted string. You must escape backslash (\\) and
+          # quote (\&quot;) characters.
+          #
+          # Supported functions are `LOWER([field_name])` to
+          # perform a case insensitive match and `EMPTY([field_name])` to filter on the
+          # existence of a key.
+          #
+          # Boolean expressions (AND/OR/NOT) are supported up to 3 levels of
+          # nesting (for example, &quot;((A AND B AND C) OR NOT D) AND E&quot;), a maximum of 100
+          # comparisons or functions are allowed in the expression. The expression
+          # must be &lt; 6000 bytes in length.
+          #
+          # Sample Query:
+          # `(LOWER(driving_license)=&quot;class \&quot;a\&quot;&quot; OR EMPTY(driving_license)) AND
+          # driving_years &gt; 10`
+      &quot;publishTimeRange&quot;: { # Message representing a period of time between two timestamps. # Optional. Jobs published within a range specified by this filter are searched
+          # against.
+        &quot;endTime&quot;: &quot;A String&quot;, # End of the period.
+        &quot;startTime&quot;: &quot;A String&quot;, # Begin of the period.
+      },
+      &quot;languageCodes&quot;: [ # Optional. This filter specifies the locale of jobs to search against,
+          # for example, &quot;en-US&quot;.
+          #
+          # If a value isn&#x27;t specified, the search results can contain jobs in any
+          # locale.
+          #
+          #
+          # Language codes should be in BCP-47 format, such as &quot;en-US&quot; or &quot;sr-Latn&quot;.
+          # For more information, see
+          # [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47).
+          #
+          # At most 10 language code filters are allowed.
+        &quot;A String&quot;,
+      ],
       &quot;employmentTypes&quot;: [ # Optional. The employment type filter specifies the employment type of jobs to
           # search against, such as EmploymentType.FULL_TIME.
           #
@@ -5300,21 +5218,158 @@
           # any of the specified employment types.
         &quot;A String&quot;,
       ],
+      &quot;query&quot;: &quot;A String&quot;, # Optional. The query string that matches against the job title, description, and
+          # location fields.
+          #
+          # The maximum number of allowed characters is 255.
+      &quot;disableSpellCheck&quot;: True or False, # Optional. This flag controls the spell-check feature. If false, the
+          # service attempts to correct a misspelled query,
+          # for example, &quot;enginee&quot; is corrected to &quot;engineer&quot;.
+          #
+          # Defaults to false: a spell check is performed.
+      &quot;companyDisplayNames&quot;: [ # Optional. This filter specifies the exact company display
+          # name of the jobs to search against.
+          #
+          # If a value isn&#x27;t specified, jobs within the search results are
+          # associated with any company.
+          #
+          # If multiple values are specified, jobs within the search results may be
+          # associated with any of the specified companies.
+          #
+          # At most 20 company display name filters are allowed.
+        &quot;A String&quot;,
+      ],
+      &quot;locationFilters&quot;: [ # Optional. The location filter specifies geo-regions containing the jobs to
+          # search against. See LocationFilter for more information.
+          #
+          # If a location value isn&#x27;t specified, jobs fitting the other search
+          # criteria are retrieved regardless of where they&#x27;re located.
+          #
+          # If multiple values are specified, jobs are retrieved from any of the
+          # specified locations. If different values are specified for the
+          # LocationFilter.distance_in_miles parameter, the maximum provided
+          # distance is used for all locations.
+          #
+          # At most 5 location filters are allowed.
+        { # Input only.
+            #
+            # Geographic region of the search.
+          &quot;telecommutePreference&quot;: &quot;A String&quot;, # Optional. Allows the client to return jobs without a
+              # set location, specifically, telecommuting jobs (telecommuting is considered
+              # by the service as a special location.
+              # Job.posting_region indicates if a job permits telecommuting.
+              # If this field is set to TelecommutePreference.TELECOMMUTE_ALLOWED,
+              # telecommuting jobs are searched, and address and lat_lng are
+              # ignored. If not set or set to
+              # TelecommutePreference.TELECOMMUTE_EXCLUDED, telecommute job are not
+              # searched.
+              #
+              # This filter can be used by itself to search exclusively for telecommuting
+              # jobs, or it can be combined with another location
+              # filter to search for a combination of job locations,
+              # such as &quot;Mountain View&quot; or &quot;telecommuting&quot; jobs. However, when used in
+              # combination with other location filters, telecommuting jobs can be
+              # treated as less relevant than other jobs in the search response.
+          &quot;distanceInMiles&quot;: 3.14, # Optional. The distance_in_miles is applied when the location being searched for is
+              # identified as a city or smaller. When the location being searched for is a
+              # state or larger, this field is ignored.
+          &quot;latLng&quot;: { # An object representing a latitude/longitude pair. This is expressed as a pair # Optional. The latitude and longitude of the geographic center from which to
+              # search. This field&#x27;s ignored if `address` is provided.
+              # of doubles representing degrees latitude and degrees longitude. Unless
+              # specified otherwise, this must conform to the
+              # &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
+              # standard&lt;/a&gt;. Values must be within normalized ranges.
+            &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+            &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+          },
+          &quot;regionCode&quot;: &quot;A String&quot;, # Optional. CLDR region code of the country/region of the address. This is used
+              # to address ambiguity of the user-input location, for example, &quot;Liverpool&quot;
+              # against &quot;Liverpool, NY, US&quot; or &quot;Liverpool, UK&quot;.
+              #
+              # Set this field if all the jobs to search against are from a same region,
+              # or jobs are world-wide, but the job seeker is from a specific region.
+              #
+              # See http://cldr.unicode.org/ and
+              # http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html
+              # for details. Example: &quot;CH&quot; for Switzerland.
+          &quot;address&quot;: &quot;A String&quot;, # Optional. The address name, such as &quot;Mountain View&quot; or &quot;Bay Area&quot;.
+        },
+      ],
+      &quot;compensationFilter&quot;: { # Input only. # Optional. This search filter is applied only to
+          # Job.compensation_info. For example, if the filter is specified
+          # as &quot;Hourly job with per-hour compensation &gt; $15&quot;, only jobs meeting
+          # these criteria are searched. If a filter isn&#x27;t defined, all open jobs
+          # are searched.
+          #
+          # Filter on job compensation type and amount.
+        &quot;includeJobsWithUnspecifiedCompensationRange&quot;: True or False, # Optional. If set to true, jobs with unspecified compensation range fields are
+            # included.
+        &quot;type&quot;: &quot;A String&quot;, # Required. Type of filter.
+        &quot;units&quot;: [ # Required. Specify desired `base compensation entry&#x27;s`
+            # CompensationInfo.CompensationUnit.
+          &quot;A String&quot;,
+        ],
+        &quot;range&quot;: { # Compensation range. # Optional. Compensation range.
+          &quot;maxCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
+              # to a maximal compensation value and the currency code is set to
+              # match the currency code of
+              # min_compensation.
+            &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                # The value must be between -999,999,999 and +999,999,999 inclusive.
+                # If `units` is positive, `nanos` must be positive or zero.
+                # If `units` is zero, `nanos` can be positive, zero, or negative.
+                # If `units` is negative, `nanos` must be negative or zero.
+                # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+            &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+            &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+          },
+          &quot;minCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
+              # to zero and the currency code is set to match the
+              # currency code of max_compensation.
+            &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                # The value must be between -999,999,999 and +999,999,999 inclusive.
+                # If `units` is positive, `nanos` must be positive or zero.
+                # If `units` is zero, `nanos` can be positive, zero, or negative.
+                # If `units` is negative, `nanos` must be negative or zero.
+                # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+            &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+            &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+          },
+        },
+      },
     },
-    &quot;jobView&quot;: &quot;A String&quot;, # Optional. The desired job attributes returned for jobs in the
-        # search response. Defaults to JobView.SMALL if no value is specified.
-    &quot;requirePreciseResultSize&quot;: True or False, # Optional. Controls if the search job request requires the return of a precise
-        # count of the first 300 results. Setting this to `true` ensures
-        # consistency in the number of results per page. Best practice is to set this
-        # value to true if a client allows users to jump directly to a
-        # non-sequential search results page.
+    &quot;orderBy&quot;: &quot;A String&quot;, # Optional. The criteria determining how search results are sorted. Default is
+        # &quot;relevance desc&quot;.
         # 
-        # Enabling this flag may adversely impact performance.
+        # Supported options are:
         # 
-        # Defaults to false.
-    &quot;pageToken&quot;: &quot;A String&quot;, # Optional. The token specifying the current offset within
-        # search results. See SearchJobsResponse.next_page_token for
-        # an explanation of how to obtain the next set of query results.
+        # * `&quot;relevance desc&quot;`: By relevance descending, as determined by the API
+        # algorithms. Relevance thresholding of query results is only available
+        # with this ordering.
+        # * `&quot;posting_publish_time desc&quot;`: By Job.posting_publish_time
+        # descending.
+        # * `&quot;posting_update_time desc&quot;`: By Job.posting_update_time
+        # descending.
+        # * `&quot;title&quot;`: By Job.title ascending.
+        # * `&quot;title desc&quot;`: By Job.title descending.
+        # * `&quot;annualized_base_compensation&quot;`: By job&#x27;s
+        # CompensationInfo.annualized_base_compensation_range ascending. Jobs
+        # whose annualized base compensation is unspecified are put at the end of
+        # search results.
+        # * `&quot;annualized_base_compensation desc&quot;`: By job&#x27;s
+        # CompensationInfo.annualized_base_compensation_range descending. Jobs
+        # whose annualized base compensation is unspecified are put at the end of
+        # search results.
+        # * `&quot;annualized_total_compensation&quot;`: By job&#x27;s
+        # CompensationInfo.annualized_total_compensation_range ascending. Jobs
+        # whose annualized base compensation is unspecified are put at the end of
+        # search results.
+        # * `&quot;annualized_total_compensation desc&quot;`: By job&#x27;s
+        # CompensationInfo.annualized_total_compensation_range descending. Jobs
+        # whose annualized base compensation is unspecified are put at the end of
+        # search results.
     &quot;diversificationLevel&quot;: &quot;A String&quot;, # Optional. Controls whether highly similar jobs are returned next to each other in
         # the search results. Jobs are identified as highly similar based on
         # their titles, job categories, and locations. Highly similar results are
@@ -5324,61 +5379,6 @@
         # 
         # Defaults to DiversificationLevel.SIMPLE if no value
         # is specified.
-    &quot;searchMode&quot;: &quot;A String&quot;, # Optional. Mode of a search.
-        # 
-        # Defaults to SearchMode.JOB_SEARCH.
-    &quot;requestMetadata&quot;: { # Input only. # Required. The meta information collected about the job searcher, used to improve the
-        # search quality of the service. The identifiers (such as `user_id`) are
-        # provided by users, and must be unique and consistent.
-        #
-        # Meta information related to the job searcher or entity
-        # conducting the job search. This information is used to improve the
-        # performance of the service.
-      &quot;deviceInfo&quot;: { # Device information collected from the job seeker, candidate, or # Optional. The type of device used by the job seeker at the time of the call to the
-          # service.
-          # other entity conducting the job search. Providing this information improves
-          # the quality of the search results across devices.
-        &quot;deviceType&quot;: &quot;A String&quot;, # Optional. Type of the device.
-        &quot;id&quot;: &quot;A String&quot;, # Optional. A device-specific ID. The ID must be a unique identifier that
-            # distinguishes the device from other devices.
-      },
-      &quot;sessionId&quot;: &quot;A String&quot;, # Required. A unique session identification string. A session is defined as the
-          # duration of an end user&#x27;s interaction with the service over a certain
-          # period.
-          # Obfuscate this field for privacy concerns before
-          # providing it to the service.
-          #
-          # If this field is not available for some reason, send &quot;UNKNOWN&quot;. Note
-          # that any improvements to the model for a particular tenant
-          # site, rely on this field being set correctly to some unique session_id.
-          #
-          # The maximum number of allowed characters is 255.
-      &quot;domain&quot;: &quot;A String&quot;, # Required. The client-defined scope or source of the service call, which typically
-          # is the domain on
-          # which the service has been implemented and is currently being run.
-          #
-          # For example, if the service is being run by client &lt;em&gt;Foo, Inc.&lt;/em&gt;, on
-          # job board www.foo.com and career site www.bar.com, then this field is
-          # set to &quot;foo.com&quot; for use on the job board, and &quot;bar.com&quot; for use on the
-          # career site.
-          #
-          # If this field isn&#x27;t available for some reason, send &quot;UNKNOWN&quot;.
-          # Any improvements to the model for a particular tenant site rely on this
-          # field being set correctly to a domain.
-          #
-          # The maximum number of allowed characters is 255.
-      &quot;userId&quot;: &quot;A String&quot;, # Required. A unique user identification string, as determined by the client.
-          # To have the strongest positive impact on search quality
-          # make sure the client-level is unique.
-          # Obfuscate this field for privacy concerns before
-          # providing it to the service.
-          #
-          # If this field is not available for some reason, send &quot;UNKNOWN&quot;. Note
-          # that any improvements to the model for a particular tenant
-          # site, rely on this field being set correctly to a unique user_id.
-          #
-          # The maximum number of allowed characters is 255.
-    },
   }
 
   x__xgafv: string, V1 error format.
@@ -5392,492 +5392,33 @@
     { # Output only.
       #
       # Response for SearchJob method.
-    &quot;metadata&quot;: { # Output only. # Additional information for the API invocation, such as the request
-        # tracking id.
-        #
-        # Additional information returned to client, such as debugging information.
-      &quot;requestId&quot;: &quot;A String&quot;, # A unique id associated with this call.
-          # This id is logged for tracking purposes.
-    },
-    &quot;histogramResults&quot;: { # Output only. # The histogram results that match specified
-        # SearchJobsRequest.histogram_facets.
-        #
-        # Histogram results that match HistogramFacets specified in
-        # SearchJobsRequest.
-      &quot;compensationHistogramResults&quot;: [ # Specifies compensation field-based histogram results that match
-          # HistogramFacets.compensation_histogram_requests.
-        { # Output only.
-            #
-            # Compensation based histogram result.
-          &quot;result&quot;: { # Output only. # Histogram result.
-              #
-              # Custom numeric bucketing result.
-            &quot;counts&quot;: [ # Count within each bucket. Its size is the length of
-                # NumericBucketingOption.bucket_bounds plus 1.
-              { # Represents count of jobs within one bucket.
-                &quot;range&quot;: { # Represents starting and ending value of a range in double. # Bucket range on which histogram was performed for the numeric field,
-                    # that is, the count represents number of jobs in this range.
-                  &quot;to&quot;: 3.14, # Ending value of the bucket range.
-                  &quot;from&quot;: 3.14, # Starting value of the bucket range.
-                },
-                &quot;count&quot;: 42, # Number of jobs whose numeric field value fall into `range`.
-              },
-            ],
-            &quot;minValue&quot;: 3.14, # Stores the minimum value of the numeric field. Will be populated only if
-                # [NumericBucketingOption.requires_min_max] is set to true.
-            &quot;maxValue&quot;: 3.14, # Stores the maximum value of the numeric field. Is populated only if
-                # [NumericBucketingOption.requires_min_max] is set to true.
-          },
-          &quot;type&quot;: &quot;A String&quot;, # Type of the request, corresponding to
-              # CompensationHistogramRequest.type.
-        },
-      ],
-      &quot;customAttributeHistogramResults&quot;: [ # Specifies histogram results for custom attributes that match
-          # HistogramFacets.custom_attribute_histogram_facets.
-        { # Output only.
-            #
-            # Custom attribute histogram result.
-          &quot;longValueHistogramResult&quot;: { # Output only. # Stores bucketed histogram counting result or min/max values for
-              # custom attribute long values associated with `key`.
-              #
-              # Custom numeric bucketing result.
-            &quot;counts&quot;: [ # Count within each bucket. Its size is the length of
-                # NumericBucketingOption.bucket_bounds plus 1.
-              { # Represents count of jobs within one bucket.
-                &quot;range&quot;: { # Represents starting and ending value of a range in double. # Bucket range on which histogram was performed for the numeric field,
-                    # that is, the count represents number of jobs in this range.
-                  &quot;to&quot;: 3.14, # Ending value of the bucket range.
-                  &quot;from&quot;: 3.14, # Starting value of the bucket range.
-                },
-                &quot;count&quot;: 42, # Number of jobs whose numeric field value fall into `range`.
-              },
-            ],
-            &quot;minValue&quot;: 3.14, # Stores the minimum value of the numeric field. Will be populated only if
-                # [NumericBucketingOption.requires_min_max] is set to true.
-            &quot;maxValue&quot;: 3.14, # Stores the maximum value of the numeric field. Is populated only if
-                # [NumericBucketingOption.requires_min_max] is set to true.
-          },
-          &quot;stringValueHistogramResult&quot;: { # Stores a map from the values of string custom field associated
-              # with `key` to the number of jobs with that value in this histogram result.
-            &quot;a_key&quot;: 42,
-          },
-          &quot;key&quot;: &quot;A String&quot;, # Stores the key of custom attribute the histogram is performed on.
-        },
-      ],
-      &quot;simpleHistogramResults&quot;: [ # Specifies histogram results that matches
-          # HistogramFacets.simple_histogram_facets.
-        { # Output only.
-            #
-            # Result of a histogram call. The response contains the histogram map for the
-            # search type specified by HistogramResult.field.
-            # The response is a map of each filter value to the corresponding count of
-            # jobs for that filter.
-          &quot;values&quot;: { # A map from the values of field to the number of jobs with that value
-              # in this search result.
-              #
-              # Key: search type (filter names, such as the companyName).
-              #
-              # Values: the count of jobs that match the filter for this search.
-            &quot;a_key&quot;: 42,
-          },
-          &quot;searchType&quot;: &quot;A String&quot;, # The Histogram search filters.
-        },
-      ],
-    },
     &quot;matchingJobs&quot;: [ # The Job entities that match the specified SearchJobsRequest.
       { # Output only.
           #
           # Job entry with metadata inside SearchJobsResponse.
+        &quot;searchTextSnippet&quot;: &quot;A String&quot;, # Contains snippets of text from the Job.description and similar
+            # fields that most closely match a search query&#x27;s keywords, if available.
+            # All HTML tags in the original fields are stripped when returned in this
+            # field, and matching query keywords are enclosed in HTML bold tags.
+        &quot;jobSummary&quot;: &quot;A String&quot;, # A summary of the job with core information that&#x27;s displayed on the search
+            # results listing page.
         &quot;job&quot;: { # A Job resource represents a job posting (also referred to as a &quot;job listing&quot; # Job resource that matches the specified SearchJobsRequest.
             # or &quot;job requisition&quot;). A job belongs to a Company, which is the hiring
             # entity responsible for the job.
-          &quot;name&quot;: &quot;A String&quot;, # Required during job update.
-              #
-              # The resource name for the job. This is generated by the service when a
-              # job is created.
-              #
-              # The format is &quot;projects/{project_id}/jobs/{job_id}&quot;,
-              # for example, &quot;projects/api-test-project/jobs/1234&quot;.
-              #
-              # Use of this field in job queries and API calls is preferred over the use of
-              # requisition_id since this value is unique.
-          &quot;jobBenefits&quot;: [ # Optional. The benefits included with the job.
-            &quot;A String&quot;,
-          ],
-          &quot;promotionValue&quot;: 42, # Optional. A promotion value of the job, as determined by the client.
-              # The value determines the sort order of the jobs returned when searching for
-              # jobs using the featured jobs search call, with higher promotional values
-              # being returned first and ties being resolved by relevance sort. Only the
-              # jobs with a promotionValue &gt;0 are returned in a FEATURED_JOB_SEARCH.
-              #
-              # Default value is 0, and negative values are treated as 0.
-          &quot;title&quot;: &quot;A String&quot;, # Required. The title of the job, such as &quot;Software Engineer&quot;
-              #
-              # The maximum number of allowed characters is 500.
-          &quot;companyDisplayName&quot;: &quot;A String&quot;, # Output only. Display name of the company listing the job.
-          &quot;qualifications&quot;: &quot;A String&quot;, # Optional. A description of the qualifications required to perform the
-              # job. The use of this field is recommended
-              # as an alternative to using the more general description field.
-              #
-              # This field accepts and sanitizes HTML input, and also accepts
-              # bold, italic, ordered list, and unordered list markup tags.
-              #
-              # The maximum number of allowed characters is 10,000.
-          &quot;requisitionId&quot;: &quot;A String&quot;, # Required. The requisition ID, also referred to as the posting ID, assigned by the
-              # client to identify a job. This field is intended to be used by clients
-              # for client identification and tracking of postings. A job is not allowed
-              # to be created if there is another job with the same [company_name],
-              # language_code and requisition_id.
-              #
-              # The maximum number of allowed characters is 255.
-          &quot;processingOptions&quot;: { # Input only. # Optional. Options for job processing.
-              #
-              # Options for job processing.
-            &quot;disableStreetAddressResolution&quot;: True or False, # Optional. If set to `true`, the service does not attempt to resolve a
-                # more precise address for the job.
-            &quot;htmlSanitization&quot;: &quot;A String&quot;, # Optional. Option for job HTML content sanitization. Applied fields are:
-                #
-                # * description
-                # * applicationInfo.instruction
-                # * incentives
-                # * qualifications
-                # * responsibilities
-                #
-                # HTML tags in these fields may be stripped if sanitiazation is not
-                # disabled.
-                #
-                # Defaults to HtmlSanitization.SIMPLE_FORMATTING_ONLY.
-          },
-          &quot;jobEndTime&quot;: &quot;A String&quot;, # Optional. The end timestamp of the job. Typically this field is used for contracting
-              # engagements. Invalid timestamps are ignored.
-          &quot;derivedInfo&quot;: { # Output only. # Output only. Derived details about the job posting.
-              #
-              # Derived details about the job posting.
-            &quot;locations&quot;: [ # Structured locations of the job, resolved from Job.addresses.
-                #
-                # locations are exactly matched to Job.addresses in the same
-                # order.
-              { # Output only.
-                  #
-                  # A resource that represents a location with full geographic information.
-                &quot;radiusInMiles&quot;: 3.14, # Radius in miles of the job location. This value is derived from the
-                    # location bounding box in which a circle with the specified radius
-                    # centered from LatLng covers the area associated with the job location.
-                    # For example, currently, &quot;Mountain View, CA, USA&quot; has a radius of
-                    # 6.17 miles.
-                &quot;latLng&quot;: { # An object representing a latitude/longitude pair. This is expressed as a pair # An object representing a latitude/longitude pair.
-                    # of doubles representing degrees latitude and degrees longitude. Unless
-                    # specified otherwise, this must conform to the
-                    # &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
-                    # standard&lt;/a&gt;. Values must be within normalized ranges.
-                  &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
-                  &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
-                },
-                &quot;postalAddress&quot;: { # Represents a postal address, e.g. for postal delivery or payments addresses. # Postal address of the location that includes human readable information,
-                    # such as postal delivery and payments addresses. Given a postal address,
-                    # a postal service can deliver items to a premises, P.O. Box, or other
-                    # delivery location.
-                    # Given a postal address, a postal service can deliver items to a premise, P.O.
-                    # Box or similar.
-                    # It is not intended to model geographical locations (roads, towns,
-                    # mountains).
-                    #
-                    # In typical usage an address would be created via user input or from importing
-                    # existing data, depending on the type of process.
-                    #
-                    # Advice on address input / editing:
-                    #  - Use an i18n-ready address widget such as
-                    #    https://github.com/google/libaddressinput)
-                    # - Users should not be presented with UI elements for input or editing of
-                    #   fields outside countries where that field is used.
-                    #
-                    # For more guidance on how to use this schema, please see:
-                    # https://support.google.com/business/answer/6397478
-                  &quot;postalCode&quot;: &quot;A String&quot;, # Optional. Postal code of the address. Not all countries use or require
-                      # postal codes to be present, but where they are used, they may trigger
-                      # additional validation with other parts of the address (e.g. state/zip
-                      # validation in the U.S.A.).
-                  &quot;languageCode&quot;: &quot;A String&quot;, # Optional. BCP-47 language code of the contents of this address (if
-                      # known). This is often the UI language of the input form or is expected
-                      # to match one of the languages used in the address&#x27; country/region, or their
-                      # transliterated equivalents.
-                      # This can affect formatting in certain countries, but is not critical
-                      # to the correctness of the data and will never affect any validation or
-                      # other non-formatting related operations.
-                      #
-                      # If this value is not known, it should be omitted (rather than specifying a
-                      # possibly incorrect default).
-                      #
-                      # Examples: &quot;zh-Hant&quot;, &quot;ja&quot;, &quot;ja-Latn&quot;, &quot;en&quot;.
-                  &quot;sortingCode&quot;: &quot;A String&quot;, # Optional. Additional, country-specific, sorting code. This is not used
-                      # in most regions. Where it is used, the value is either a string like
-                      # &quot;CEDEX&quot;, optionally followed by a number (e.g. &quot;CEDEX 7&quot;), or just a number
-                      # alone, representing the &quot;sector code&quot; (Jamaica), &quot;delivery area indicator&quot;
-                      # (Malawi) or &quot;post office indicator&quot; (e.g. Côte d&#x27;Ivoire).
-                  &quot;recipients&quot;: [ # Optional. The recipient at the address.
-                      # This field may, under certain circumstances, contain multiline information.
-                      # For example, it might contain &quot;care of&quot; information.
-                    &quot;A String&quot;,
-                  ],
-                  &quot;sublocality&quot;: &quot;A String&quot;, # Optional. Sublocality of the address.
-                      # For example, this can be neighborhoods, boroughs, districts.
-                  &quot;revision&quot;: 42, # The schema revision of the `PostalAddress`. This must be set to 0, which is
-                      # the latest revision.
-                      #
-                      # All new revisions **must** be backward compatible with old revisions.
-                  &quot;locality&quot;: &quot;A String&quot;, # Optional. Generally refers to the city/town portion of the address.
-                      # Examples: US city, IT comune, UK post town.
-                      # In regions of the world where localities are not well defined or do not fit
-                      # into this structure well, leave locality empty and use address_lines.
-                  &quot;administrativeArea&quot;: &quot;A String&quot;, # Optional. Highest administrative subdivision which is used for postal
-                      # addresses of a country or region.
-                      # For example, this can be a state, a province, an oblast, or a prefecture.
-                      # Specifically, for Spain this is the province and not the autonomous
-                      # community (e.g. &quot;Barcelona&quot; and not &quot;Catalonia&quot;).
-                      # Many countries don&#x27;t use an administrative area in postal addresses. E.g.
-                      # in Switzerland this should be left unpopulated.
-                  &quot;organization&quot;: &quot;A String&quot;, # Optional. The name of the organization at the address.
-                  &quot;addressLines&quot;: [ # Unstructured address lines describing the lower levels of an address.
-                      #
-                      # Because values in address_lines do not have type information and may
-                      # sometimes contain multiple values in a single field (e.g.
-                      # &quot;Austin, TX&quot;), it is important that the line order is clear. The order of
-                      # address lines should be &quot;envelope order&quot; for the country/region of the
-                      # address. In places where this can vary (e.g. Japan), address_language is
-                      # used to make it explicit (e.g. &quot;ja&quot; for large-to-small ordering and
-                      # &quot;ja-Latn&quot; or &quot;en&quot; for small-to-large). This way, the most specific line of
-                      # an address can be selected based on the language.
-                      #
-                      # The minimum permitted structural representation of an address consists
-                      # of a region_code with all remaining information placed in the
-                      # address_lines. It would be possible to format such an address very
-                      # approximately without geocoding, but no semantic reasoning could be
-                      # made about any of the address components until it was at least
-                      # partially resolved.
-                      #
-                      # Creating an address only containing a region_code and address_lines, and
-                      # then geocoding is the recommended way to handle completely unstructured
-                      # addresses (as opposed to guessing which parts of the address should be
-                      # localities or administrative areas).
-                    &quot;A String&quot;,
-                  ],
-                  &quot;regionCode&quot;: &quot;A String&quot;, # Required. CLDR region code of the country/region of the address. This
-                      # is never inferred and it is up to the user to ensure the value is
-                      # correct. See http://cldr.unicode.org/ and
-                      # http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html
-                      # for details. Example: &quot;CH&quot; for Switzerland.
-                },
-                &quot;locationType&quot;: &quot;A String&quot;, # The type of a location, which corresponds to the address lines field of
-                    # PostalAddress. For example, &quot;Downtown, Atlanta, GA, USA&quot; has a type of
-                    # LocationType#NEIGHBORHOOD, and &quot;Kansas City, KS, USA&quot; has a type of
-                    # LocationType#LOCALITY.
-              },
-            ],
-            &quot;jobCategories&quot;: [ # Job categories derived from Job.title and Job.description.
-              &quot;A String&quot;,
-            ],
-          },
-          &quot;incentives&quot;: &quot;A String&quot;, # Optional. A description of bonus, commission, and other compensation
-              # incentives associated with the job not including salary or pay.
-              #
-              # The maximum number of allowed characters is 10,000.
-          &quot;employmentTypes&quot;: [ # Optional. The employment type(s) of a job, for example,
-              # full time or
-              # part time.
-            &quot;A String&quot;,
-          ],
-          &quot;postingCreateTime&quot;: &quot;A String&quot;, # Output only. The timestamp when this job posting was created.
-          &quot;addresses&quot;: [ # Optional but strongly recommended for the best service experience.
-              #
-              # Location(s) where the employer is looking to hire for this job posting.
-              #
-              # Specifying the full street address(es) of the hiring location enables
-              # better API results, especially job searches by commute time.
-              #
-              # At most 50 locations are allowed for best search performance. If a job has
-              # more locations, it is suggested to split it into multiple jobs with unique
-              # requisition_ids (e.g. &#x27;ReqA&#x27; becomes &#x27;ReqA-1&#x27;, &#x27;ReqA-2&#x27;, etc.) as
-              # multiple jobs with the same company_name, language_code and
-              # requisition_id are not allowed. If the original requisition_id must
-              # be preserved, a custom field should be used for storage. It is also
-              # suggested to group the locations that close to each other in the same job
-              # for better search experience.
-              #
-              # The maximum number of allowed characters is 500.
-            &quot;A String&quot;,
-          ],
-          &quot;companyName&quot;: &quot;A String&quot;, # Required. The resource name of the company listing the job, such as
-              # &quot;projects/api-test-project/companies/foo&quot;.
-          &quot;description&quot;: &quot;A String&quot;, # Required. The description of the job, which typically includes a multi-paragraph
-              # description of the company and related information. Separate fields are
-              # provided on the job object for responsibilities,
-              # qualifications, and other job characteristics. Use of
-              # these separate job fields is recommended.
-              #
-              # This field accepts and sanitizes HTML input, and also accepts
-              # bold, italic, ordered list, and unordered list markup tags.
-              #
-              # The maximum number of allowed characters is 100,000.
-          &quot;jobStartTime&quot;: &quot;A String&quot;, # Optional. The start timestamp of the job in UTC time zone. Typically this field
-              # is used for contracting engagements. Invalid timestamps are ignored.
-          &quot;degreeTypes&quot;: [ # Optional. The desired education degrees for the job, such as Bachelors, Masters.
-            &quot;A String&quot;,
-          ],
-          &quot;compensationInfo&quot;: { # Job compensation details. # Optional. Job compensation information.
-            &quot;annualizedTotalCompensationRange&quot;: { # Compensation range. # Output only. Annualized total compensation range. Computed as
-                # all compensation entries&#x27; CompensationEntry.compensation times
-                # CompensationEntry.expected_units_per_year.
-                #
-                # See CompensationEntry for explanation on compensation annualization.
-              &quot;maxCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
-                  # to a maximal compensation value and the currency code is set to
-                  # match the currency code of
-                  # min_compensation.
-                &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
-                    # The value must be between -999,999,999 and +999,999,999 inclusive.
-                    # If `units` is positive, `nanos` must be positive or zero.
-                    # If `units` is zero, `nanos` can be positive, zero, or negative.
-                    # If `units` is negative, `nanos` must be negative or zero.
-                    # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-                &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
-                    # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
-                &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
-              },
-              &quot;minCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
-                  # to zero and the currency code is set to match the
-                  # currency code of max_compensation.
-                &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
-                    # The value must be between -999,999,999 and +999,999,999 inclusive.
-                    # If `units` is positive, `nanos` must be positive or zero.
-                    # If `units` is zero, `nanos` can be positive, zero, or negative.
-                    # If `units` is negative, `nanos` must be negative or zero.
-                    # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-                &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
-                    # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
-                &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
-              },
-            },
-            &quot;entries&quot;: [ # Optional. Job compensation information.
-                #
-                # At most one entry can be of type
-                # CompensationInfo.CompensationType.BASE, which is
-                # referred as ** base compensation entry ** for the job.
-              { # 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 or range.
-                  # - and its expected_units_per_year is set or can be derived.
-                  # Its annualized range is determined as (amount or range) times
-                  # expected_units_per_year.
-                &quot;amount&quot;: { # Represents an amount of money with its currency type. # Optional. Compensation amount.
-                  &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
-                      # The value must be between -999,999,999 and +999,999,999 inclusive.
-                      # If `units` is positive, `nanos` must be positive or zero.
-                      # If `units` is zero, `nanos` can be positive, zero, or negative.
-                      # If `units` is negative, `nanos` must be negative or zero.
-                      # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-                  &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
-                      # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
-                  &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
-                },
-                &quot;type&quot;: &quot;A String&quot;, # Optional. Compensation type.
-                    #
-                    # Default is CompensationUnit.COMPENSATION_TYPE_UNSPECIFIED.
-                &quot;range&quot;: { # Compensation range. # Optional. Compensation range.
-                  &quot;maxCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
-                      # to a maximal compensation value and the currency code is set to
-                      # match the currency code of
-                      # min_compensation.
-                    &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
-                        # The value must be between -999,999,999 and +999,999,999 inclusive.
-                        # If `units` is positive, `nanos` must be positive or zero.
-                        # If `units` is zero, `nanos` can be positive, zero, or negative.
-                        # If `units` is negative, `nanos` must be negative or zero.
-                        # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-                    &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
-                        # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
-                    &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
-                  },
-                  &quot;minCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
-                      # to zero and the currency code is set to match the
-                      # currency code of max_compensation.
-                    &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
-                        # The value must be between -999,999,999 and +999,999,999 inclusive.
-                        # If `units` is positive, `nanos` must be positive or zero.
-                        # If `units` is zero, `nanos` can be positive, zero, or negative.
-                        # If `units` is negative, `nanos` must be negative or zero.
-                        # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-                    &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
-                        # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
-                    &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
-                  },
-                },
-                &quot;expectedUnitsPerYear&quot;: 3.14, # Optional. Expected number of units paid each year. If not specified, when
-                    # Job.employment_types is FULLTIME, a default value is inferred
-                    # based on unit. Default values:
-                    # - HOURLY: 2080
-                    # - DAILY: 260
-                    # - WEEKLY: 52
-                    # - MONTHLY: 12
-                    # - ANNUAL: 1
-                &quot;description&quot;: &quot;A String&quot;, # Optional. Compensation description.  For example, could
-                    # indicate equity terms or provide additional context to an estimated
-                    # bonus.
-                &quot;unit&quot;: &quot;A String&quot;, # Optional. Frequency of the specified amount.
-                    #
-                    # Default is CompensationUnit.COMPENSATION_UNIT_UNSPECIFIED.
-              },
-            ],
-            &quot;annualizedBaseCompensationRange&quot;: { # Compensation range. # Output only. Annualized base compensation range. Computed as
-                # base compensation entry&#x27;s CompensationEntry.compensation times
-                # CompensationEntry.expected_units_per_year.
-                #
-                # See CompensationEntry for explanation on compensation annualization.
-              &quot;maxCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
-                  # to a maximal compensation value and the currency code is set to
-                  # match the currency code of
-                  # min_compensation.
-                &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
-                    # The value must be between -999,999,999 and +999,999,999 inclusive.
-                    # If `units` is positive, `nanos` must be positive or zero.
-                    # If `units` is zero, `nanos` can be positive, zero, or negative.
-                    # If `units` is negative, `nanos` must be negative or zero.
-                    # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-                &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
-                    # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
-                &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
-              },
-              &quot;minCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
-                  # to zero and the currency code is set to match the
-                  # currency code of max_compensation.
-                &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
-                    # The value must be between -999,999,999 and +999,999,999 inclusive.
-                    # If `units` is positive, `nanos` must be positive or zero.
-                    # If `units` is zero, `nanos` can be positive, zero, or negative.
-                    # If `units` is negative, `nanos` must be negative or zero.
-                    # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-                &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
-                    # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
-                &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
-              },
-            },
-          },
-          &quot;responsibilities&quot;: &quot;A String&quot;, # Optional. A description of job responsibilities. The use of this field is
-              # recommended as an alternative to using the more general description
-              # field.
-              #
-              # This field accepts and sanitizes HTML input, and also accepts
-              # bold, italic, ordered list, and unordered list markup tags.
-              #
-              # The maximum number of allowed characters is 10,000.
-          &quot;department&quot;: &quot;A String&quot;, # Optional. The department or functional area within the company with the open
-              # position.
-              #
-              # The maximum number of allowed characters is 255.
           &quot;applicationInfo&quot;: { # Application related details of a job posting. # Required. At least one field within ApplicationInfo must be specified.
               #
               # Job application information.
+            &quot;instruction&quot;: &quot;A String&quot;, # Optional but at least one of uris,
+                # emails or instruction must be
+                # specified.
+                #
+                # Use this field to provide instructions, such as &quot;Mail your application
+                # to ...&quot;, that a candidate can follow to apply for the job.
+                #
+                # This field accepts and sanitizes HTML input, and also accepts
+                # bold, italic, ordered list, and unordered list markup tags.
+                #
+                # The maximum number of allowed characters is 3,000.
             &quot;uris&quot;: [ # Optional but at least one of uris,
                 # emails or instruction must be
                 # specified.
@@ -5898,18 +5439,81 @@
                 # The maximum number of allowed characters for each entry is 255.
               &quot;A String&quot;,
             ],
-            &quot;instruction&quot;: &quot;A String&quot;, # Optional but at least one of uris,
-                # emails or instruction must be
-                # specified.
-                #
-                # Use this field to provide instructions, such as &quot;Mail your application
-                # to ...&quot;, that a candidate can follow to apply for the job.
-                #
-                # This field accepts and sanitizes HTML input, and also accepts
-                # bold, italic, ordered list, and unordered list markup tags.
-                #
-                # The maximum number of allowed characters is 3,000.
           },
+          &quot;responsibilities&quot;: &quot;A String&quot;, # Optional. A description of job responsibilities. The use of this field is
+              # recommended as an alternative to using the more general description
+              # field.
+              #
+              # This field accepts and sanitizes HTML input, and also accepts
+              # bold, italic, ordered list, and unordered list markup tags.
+              #
+              # The maximum number of allowed characters is 10,000.
+          &quot;companyName&quot;: &quot;A String&quot;, # Required. The resource name of the company listing the job, such as
+              # &quot;projects/api-test-project/companies/foo&quot;.
+          &quot;promotionValue&quot;: 42, # Optional. A promotion value of the job, as determined by the client.
+              # The value determines the sort order of the jobs returned when searching for
+              # jobs using the featured jobs search call, with higher promotional values
+              # being returned first and ties being resolved by relevance sort. Only the
+              # jobs with a promotionValue &gt;0 are returned in a FEATURED_JOB_SEARCH.
+              #
+              # Default value is 0, and negative values are treated as 0.
+          &quot;degreeTypes&quot;: [ # Optional. The desired education degrees for the job, such as Bachelors, Masters.
+            &quot;A String&quot;,
+          ],
+          &quot;description&quot;: &quot;A String&quot;, # Required. The description of the job, which typically includes a multi-paragraph
+              # description of the company and related information. Separate fields are
+              # provided on the job object for responsibilities,
+              # qualifications, and other job characteristics. Use of
+              # these separate job fields is recommended.
+              #
+              # This field accepts and sanitizes HTML input, and also accepts
+              # bold, italic, ordered list, and unordered list markup tags.
+              #
+              # The maximum number of allowed characters is 100,000.
+          &quot;title&quot;: &quot;A String&quot;, # Required. The title of the job, such as &quot;Software Engineer&quot;
+              #
+              # The maximum number of allowed characters is 500.
+          &quot;postingPublishTime&quot;: &quot;A String&quot;, # Optional. The timestamp this job posting was most recently published. The default
+              # value is the time the request arrives at the server. Invalid timestamps are
+              # ignored.
+          &quot;postingCreateTime&quot;: &quot;A String&quot;, # Output only. The timestamp when this job posting was created.
+          &quot;incentives&quot;: &quot;A String&quot;, # Optional. A description of bonus, commission, and other compensation
+              # incentives associated with the job not including salary or pay.
+              #
+              # The maximum number of allowed characters is 10,000.
+          &quot;jobEndTime&quot;: &quot;A String&quot;, # Optional. The end timestamp of the job. Typically this field is used for contracting
+              # engagements. Invalid timestamps are ignored.
+          &quot;addresses&quot;: [ # Optional but strongly recommended for the best service experience.
+              #
+              # Location(s) where the employer is looking to hire for this job posting.
+              #
+              # Specifying the full street address(es) of the hiring location enables
+              # better API results, especially job searches by commute time.
+              #
+              # At most 50 locations are allowed for best search performance. If a job has
+              # more locations, it is suggested to split it into multiple jobs with unique
+              # requisition_ids (e.g. &#x27;ReqA&#x27; becomes &#x27;ReqA-1&#x27;, &#x27;ReqA-2&#x27;, etc.) as
+              # multiple jobs with the same company_name, language_code and
+              # requisition_id are not allowed. If the original requisition_id must
+              # be preserved, a custom field should be used for storage. It is also
+              # suggested to group the locations that close to each other in the same job
+              # for better search experience.
+              #
+              # The maximum number of allowed characters is 500.
+            &quot;A String&quot;,
+          ],
+          &quot;jobLevel&quot;: &quot;A String&quot;, # Optional. The experience level associated with the job, such as &quot;Entry Level&quot;.
+          &quot;jobBenefits&quot;: [ # Optional. The benefits included with the job.
+            &quot;A String&quot;,
+          ],
+          &quot;qualifications&quot;: &quot;A String&quot;, # Optional. A description of the qualifications required to perform the
+              # job. The use of this field is recommended
+              # as an alternative to using the more general description field.
+              #
+              # This field accepts and sanitizes HTML input, and also accepts
+              # bold, italic, ordered list, and unordered list markup tags.
+              #
+              # The maximum number of allowed characters is 10,000.
           &quot;postingRegion&quot;: &quot;A String&quot;, # Optional. The job PostingRegion (for example, state, country) throughout which
               # the job is available. If this field is set, a
               # LocationFilter in a search query within the job region
@@ -5917,6 +5521,54 @@
               # If this field is set to PostingRegion.NATION or
               # PostingRegion.ADMINISTRATIVE_AREA, setting job Job.addresses
               # to the same location level as this field is strongly recommended.
+          &quot;customAttributes&quot;: { # Optional. A map of fields to hold both filterable and non-filterable custom job
+              # attributes that are not covered by the provided structured fields.
+              #
+              # The keys of the map are strings up to 64 bytes and must match the
+              # pattern: a-zA-Z*. For example, key0LikeThis or
+              # KEY_1_LIKE_THIS.
+              #
+              # At most 100 filterable and at most 100 unfilterable keys are supported.
+              # For filterable `string_values`, across all keys at most 200 values are
+              # allowed, with each string no more than 255 characters. For unfilterable
+              # `string_values`, the maximum total size of `string_values` across all keys
+              # is 50KB.
+            &quot;a_key&quot;: { # Custom attribute values that are either filterable or non-filterable.
+              &quot;filterable&quot;: True or False, # Optional. If the `filterable` flag is true, the custom field values may be used for
+                  # custom attribute filters JobQuery.custom_attribute_filter.
+                  # If false, these values may not be used for custom attribute filters.
+                  #
+                  # Default is false.
+              &quot;stringValues&quot;: [ # Optional but exactly one of string_values or long_values must
+                  # be specified.
+                  #
+                  # This field is used to perform a string match (`CASE_SENSITIVE_MATCH` or
+                  # `CASE_INSENSITIVE_MATCH`) search.
+                  # For filterable `string_value`s, a maximum total number of 200 values
+                  # is allowed, with each `string_value` has a byte size of no more than
+                  # 500B. For unfilterable `string_values`, the maximum total byte size of
+                  # unfilterable `string_values` is 50KB.
+                  #
+                  # Empty string is not allowed.
+                &quot;A String&quot;,
+              ],
+              &quot;longValues&quot;: [ # Optional but exactly one of string_values or long_values must
+                  # be specified.
+                  #
+                  # This field is used to perform number range search.
+                  # (`EQ`, `GT`, `GE`, `LE`, `LT`) over filterable `long_value`.
+                  #
+                  # Currently at most 1 long_values is supported.
+                &quot;A String&quot;,
+              ],
+            },
+          },
+          &quot;postingUpdateTime&quot;: &quot;A String&quot;, # Output only. The timestamp when this job posting was last updated.
+          &quot;employmentTypes&quot;: [ # Optional. The employment type(s) of a job, for example,
+              # full time or
+              # part time.
+            &quot;A String&quot;,
+          ],
           &quot;postingExpireTime&quot;: &quot;A String&quot;, # Optional but strongly recommended for the best service
               # experience.
               #
@@ -5950,52 +5602,163 @@
               # expiry_time, or the masks are empty meaning that every field is
               # updated, the job posting expires after 30 days from the job&#x27;s last
               # update time. Otherwise the expiration date isn&#x27;t updated.
-          &quot;postingPublishTime&quot;: &quot;A String&quot;, # Optional. The timestamp this job posting was most recently published. The default
-              # value is the time the request arrives at the server. Invalid timestamps are
-              # ignored.
-          &quot;customAttributes&quot;: { # Optional. A map of fields to hold both filterable and non-filterable custom job
-              # attributes that are not covered by the provided structured fields.
+          &quot;department&quot;: &quot;A String&quot;, # Optional. The department or functional area within the company with the open
+              # position.
               #
-              # The keys of the map are strings up to 64 bytes and must match the
-              # pattern: a-zA-Z*. For example, key0LikeThis or
-              # KEY_1_LIKE_THIS.
+              # The maximum number of allowed characters is 255.
+          &quot;derivedInfo&quot;: { # Output only. # Output only. Derived details about the job posting.
               #
-              # At most 100 filterable and at most 100 unfilterable keys are supported.
-              # For filterable `string_values`, across all keys at most 200 values are
-              # allowed, with each string no more than 255 characters. For unfilterable
-              # `string_values`, the maximum total size of `string_values` across all keys
-              # is 50KB.
-            &quot;a_key&quot;: { # Custom attribute values that are either filterable or non-filterable.
-              &quot;stringValues&quot;: [ # Optional but exactly one of string_values or long_values must
-                  # be specified.
+              # Derived details about the job posting.
+            &quot;locations&quot;: [ # Structured locations of the job, resolved from Job.addresses.
+                #
+                # locations are exactly matched to Job.addresses in the same
+                # order.
+              { # Output only.
                   #
-                  # This field is used to perform a string match (`CASE_SENSITIVE_MATCH` or
-                  # `CASE_INSENSITIVE_MATCH`) search.
-                  # For filterable `string_value`s, a maximum total number of 200 values
-                  # is allowed, with each `string_value` has a byte size of no more than
-                  # 500B. For unfilterable `string_values`, the maximum total byte size of
-                  # unfilterable `string_values` is 50KB.
-                  #
-                  # Empty string is not allowed.
-                &quot;A String&quot;,
-              ],
-              &quot;filterable&quot;: True or False, # Optional. If the `filterable` flag is true, the custom field values may be used for
-                  # custom attribute filters JobQuery.custom_attribute_filter.
-                  # If false, these values may not be used for custom attribute filters.
-                  #
-                  # Default is false.
-              &quot;longValues&quot;: [ # Optional but exactly one of string_values or long_values must
-                  # be specified.
-                  #
-                  # This field is used to perform number range search.
-                  # (`EQ`, `GT`, `GE`, `LE`, `LT`) over filterable `long_value`.
-                  #
-                  # Currently at most 1 long_values is supported.
-                &quot;A String&quot;,
-              ],
-            },
+                  # A resource that represents a location with full geographic information.
+                &quot;postalAddress&quot;: { # Represents a postal address, e.g. for postal delivery or payments addresses. # Postal address of the location that includes human readable information,
+                    # such as postal delivery and payments addresses. Given a postal address,
+                    # a postal service can deliver items to a premises, P.O. Box, or other
+                    # delivery location.
+                    # Given a postal address, a postal service can deliver items to a premise, P.O.
+                    # Box or similar.
+                    # It is not intended to model geographical locations (roads, towns,
+                    # mountains).
+                    #
+                    # In typical usage an address would be created via user input or from importing
+                    # existing data, depending on the type of process.
+                    #
+                    # Advice on address input / editing:
+                    #  - Use an i18n-ready address widget such as
+                    #    https://github.com/google/libaddressinput)
+                    # - Users should not be presented with UI elements for input or editing of
+                    #   fields outside countries where that field is used.
+                    #
+                    # For more guidance on how to use this schema, please see:
+                    # https://support.google.com/business/answer/6397478
+                  &quot;organization&quot;: &quot;A String&quot;, # Optional. The name of the organization at the address.
+                  &quot;sublocality&quot;: &quot;A String&quot;, # Optional. Sublocality of the address.
+                      # For example, this can be neighborhoods, boroughs, districts.
+                  &quot;languageCode&quot;: &quot;A String&quot;, # Optional. BCP-47 language code of the contents of this address (if
+                      # known). This is often the UI language of the input form or is expected
+                      # to match one of the languages used in the address&#x27; country/region, or their
+                      # transliterated equivalents.
+                      # This can affect formatting in certain countries, but is not critical
+                      # to the correctness of the data and will never affect any validation or
+                      # other non-formatting related operations.
+                      #
+                      # If this value is not known, it should be omitted (rather than specifying a
+                      # possibly incorrect default).
+                      #
+                      # Examples: &quot;zh-Hant&quot;, &quot;ja&quot;, &quot;ja-Latn&quot;, &quot;en&quot;.
+                  &quot;administrativeArea&quot;: &quot;A String&quot;, # Optional. Highest administrative subdivision which is used for postal
+                      # addresses of a country or region.
+                      # For example, this can be a state, a province, an oblast, or a prefecture.
+                      # Specifically, for Spain this is the province and not the autonomous
+                      # community (e.g. &quot;Barcelona&quot; and not &quot;Catalonia&quot;).
+                      # Many countries don&#x27;t use an administrative area in postal addresses. E.g.
+                      # in Switzerland this should be left unpopulated.
+                  &quot;locality&quot;: &quot;A String&quot;, # Optional. Generally refers to the city/town portion of the address.
+                      # Examples: US city, IT comune, UK post town.
+                      # In regions of the world where localities are not well defined or do not fit
+                      # into this structure well, leave locality empty and use address_lines.
+                  &quot;recipients&quot;: [ # Optional. The recipient at the address.
+                      # This field may, under certain circumstances, contain multiline information.
+                      # For example, it might contain &quot;care of&quot; information.
+                    &quot;A String&quot;,
+                  ],
+                  &quot;revision&quot;: 42, # The schema revision of the `PostalAddress`. This must be set to 0, which is
+                      # the latest revision.
+                      #
+                      # All new revisions **must** be backward compatible with old revisions.
+                  &quot;postalCode&quot;: &quot;A String&quot;, # Optional. Postal code of the address. Not all countries use or require
+                      # postal codes to be present, but where they are used, they may trigger
+                      # additional validation with other parts of the address (e.g. state/zip
+                      # validation in the U.S.A.).
+                  &quot;sortingCode&quot;: &quot;A String&quot;, # Optional. Additional, country-specific, sorting code. This is not used
+                      # in most regions. Where it is used, the value is either a string like
+                      # &quot;CEDEX&quot;, optionally followed by a number (e.g. &quot;CEDEX 7&quot;), or just a number
+                      # alone, representing the &quot;sector code&quot; (Jamaica), &quot;delivery area indicator&quot;
+                      # (Malawi) or &quot;post office indicator&quot; (e.g. Côte d&#x27;Ivoire).
+                  &quot;regionCode&quot;: &quot;A String&quot;, # Required. CLDR region code of the country/region of the address. This
+                      # is never inferred and it is up to the user to ensure the value is
+                      # correct. See http://cldr.unicode.org/ and
+                      # http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html
+                      # for details. Example: &quot;CH&quot; for Switzerland.
+                  &quot;addressLines&quot;: [ # Unstructured address lines describing the lower levels of an address.
+                      #
+                      # Because values in address_lines do not have type information and may
+                      # sometimes contain multiple values in a single field (e.g.
+                      # &quot;Austin, TX&quot;), it is important that the line order is clear. The order of
+                      # address lines should be &quot;envelope order&quot; for the country/region of the
+                      # address. In places where this can vary (e.g. Japan), address_language is
+                      # used to make it explicit (e.g. &quot;ja&quot; for large-to-small ordering and
+                      # &quot;ja-Latn&quot; or &quot;en&quot; for small-to-large). This way, the most specific line of
+                      # an address can be selected based on the language.
+                      #
+                      # The minimum permitted structural representation of an address consists
+                      # of a region_code with all remaining information placed in the
+                      # address_lines. It would be possible to format such an address very
+                      # approximately without geocoding, but no semantic reasoning could be
+                      # made about any of the address components until it was at least
+                      # partially resolved.
+                      #
+                      # Creating an address only containing a region_code and address_lines, and
+                      # then geocoding is the recommended way to handle completely unstructured
+                      # addresses (as opposed to guessing which parts of the address should be
+                      # localities or administrative areas).
+                    &quot;A String&quot;,
+                  ],
+                },
+                &quot;radiusInMiles&quot;: 3.14, # Radius in miles of the job location. This value is derived from the
+                    # location bounding box in which a circle with the specified radius
+                    # centered from LatLng covers the area associated with the job location.
+                    # For example, currently, &quot;Mountain View, CA, USA&quot; has a radius of
+                    # 6.17 miles.
+                &quot;locationType&quot;: &quot;A String&quot;, # The type of a location, which corresponds to the address lines field of
+                    # PostalAddress. For example, &quot;Downtown, Atlanta, GA, USA&quot; has a type of
+                    # LocationType#NEIGHBORHOOD, and &quot;Kansas City, KS, USA&quot; has a type of
+                    # LocationType#LOCALITY.
+                &quot;latLng&quot;: { # An object representing a latitude/longitude pair. This is expressed as a pair # An object representing a latitude/longitude pair.
+                    # of doubles representing degrees latitude and degrees longitude. Unless
+                    # specified otherwise, this must conform to the
+                    # &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
+                    # standard&lt;/a&gt;. Values must be within normalized ranges.
+                  &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+                  &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                },
+              },
+            ],
+            &quot;jobCategories&quot;: [ # Job categories derived from Job.title and Job.description.
+              &quot;A String&quot;,
+            ],
           },
-          &quot;jobLevel&quot;: &quot;A String&quot;, # Optional. The experience level associated with the job, such as &quot;Entry Level&quot;.
+          &quot;jobStartTime&quot;: &quot;A String&quot;, # Optional. The start timestamp of the job in UTC time zone. Typically this field
+              # is used for contracting engagements. Invalid timestamps are ignored.
+          &quot;visibility&quot;: &quot;A String&quot;, # Deprecated. The job is only visible to the owner.
+              #
+              # The visibility of the job.
+              #
+              # Defaults to Visibility.ACCOUNT_ONLY if not specified.
+          &quot;processingOptions&quot;: { # Input only. # Optional. Options for job processing.
+              #
+              # Options for job processing.
+            &quot;disableStreetAddressResolution&quot;: True or False, # Optional. If set to `true`, the service does not attempt to resolve a
+                # more precise address for the job.
+            &quot;htmlSanitization&quot;: &quot;A String&quot;, # Optional. Option for job HTML content sanitization. Applied fields are:
+                #
+                # * description
+                # * applicationInfo.instruction
+                # * incentives
+                # * qualifications
+                # * responsibilities
+                #
+                # HTML tags in these fields may be stripped if sanitiazation is not
+                # disabled.
+                #
+                # Defaults to HtmlSanitization.SIMPLE_FORMATTING_ONLY.
+          },
+          &quot;companyDisplayName&quot;: &quot;A String&quot;, # Output only. Display name of the company listing the job.
           &quot;languageCode&quot;: &quot;A String&quot;, # Optional. The language of the posting. This field is distinct from
               # any requirements for fluency that are associated with the job.
               #
@@ -6007,46 +5770,174 @@
               # If this field is unspecified and Job.description is present, detected
               # language code based on Job.description is assigned, otherwise
               # defaults to &#x27;en_US&#x27;.
-          &quot;visibility&quot;: &quot;A String&quot;, # Deprecated. The job is only visible to the owner.
+          &quot;compensationInfo&quot;: { # Job compensation details. # Optional. Job compensation information.
+            &quot;annualizedBaseCompensationRange&quot;: { # Compensation range. # Output only. Annualized base compensation range. Computed as
+                # base compensation entry&#x27;s CompensationEntry.compensation times
+                # CompensationEntry.expected_units_per_year.
+                #
+                # See CompensationEntry for explanation on compensation annualization.
+              &quot;maxCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
+                  # to a maximal compensation value and the currency code is set to
+                  # match the currency code of
+                  # min_compensation.
+                &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                    # The value must be between -999,999,999 and +999,999,999 inclusive.
+                    # If `units` is positive, `nanos` must be positive or zero.
+                    # If `units` is zero, `nanos` can be positive, zero, or negative.
+                    # If `units` is negative, `nanos` must be negative or zero.
+                    # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+                &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                    # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+              },
+              &quot;minCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
+                  # to zero and the currency code is set to match the
+                  # currency code of max_compensation.
+                &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                    # The value must be between -999,999,999 and +999,999,999 inclusive.
+                    # If `units` is positive, `nanos` must be positive or zero.
+                    # If `units` is zero, `nanos` can be positive, zero, or negative.
+                    # If `units` is negative, `nanos` must be negative or zero.
+                    # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+                &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                    # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+              },
+            },
+            &quot;annualizedTotalCompensationRange&quot;: { # Compensation range. # Output only. Annualized total compensation range. Computed as
+                # all compensation entries&#x27; CompensationEntry.compensation times
+                # CompensationEntry.expected_units_per_year.
+                #
+                # See CompensationEntry for explanation on compensation annualization.
+              &quot;maxCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
+                  # to a maximal compensation value and the currency code is set to
+                  # match the currency code of
+                  # min_compensation.
+                &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                    # The value must be between -999,999,999 and +999,999,999 inclusive.
+                    # If `units` is positive, `nanos` must be positive or zero.
+                    # If `units` is zero, `nanos` can be positive, zero, or negative.
+                    # If `units` is negative, `nanos` must be negative or zero.
+                    # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+                &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                    # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+              },
+              &quot;minCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
+                  # to zero and the currency code is set to match the
+                  # currency code of max_compensation.
+                &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                    # The value must be between -999,999,999 and +999,999,999 inclusive.
+                    # If `units` is positive, `nanos` must be positive or zero.
+                    # If `units` is zero, `nanos` can be positive, zero, or negative.
+                    # If `units` is negative, `nanos` must be negative or zero.
+                    # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+                &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                    # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+              },
+            },
+            &quot;entries&quot;: [ # Optional. Job compensation information.
+                #
+                # At most one entry can be of type
+                # CompensationInfo.CompensationType.BASE, which is
+                # referred as ** base compensation entry ** for the job.
+              { # 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 or range.
+                  # - and its expected_units_per_year is set or can be derived.
+                  # Its annualized range is determined as (amount or range) times
+                  # expected_units_per_year.
+                &quot;unit&quot;: &quot;A String&quot;, # Optional. Frequency of the specified amount.
+                    #
+                    # Default is CompensationUnit.COMPENSATION_UNIT_UNSPECIFIED.
+                &quot;expectedUnitsPerYear&quot;: 3.14, # Optional. Expected number of units paid each year. If not specified, when
+                    # Job.employment_types is FULLTIME, a default value is inferred
+                    # based on unit. Default values:
+                    # - HOURLY: 2080
+                    # - DAILY: 260
+                    # - WEEKLY: 52
+                    # - MONTHLY: 12
+                    # - ANNUAL: 1
+                &quot;range&quot;: { # Compensation range. # Optional. Compensation range.
+                  &quot;maxCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The maximum amount of compensation. If left empty, the value is set
+                      # to a maximal compensation value and the currency code is set to
+                      # match the currency code of
+                      # min_compensation.
+                    &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                        # The value must be between -999,999,999 and +999,999,999 inclusive.
+                        # If `units` is positive, `nanos` must be positive or zero.
+                        # If `units` is zero, `nanos` can be positive, zero, or negative.
+                        # If `units` is negative, `nanos` must be negative or zero.
+                        # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                    &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+                    &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                        # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+                  },
+                  &quot;minCompensation&quot;: { # Represents an amount of money with its currency type. # Optional. The minimum amount of compensation. If left empty, the value is set
+                      # to zero and the currency code is set to match the
+                      # currency code of max_compensation.
+                    &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                        # The value must be between -999,999,999 and +999,999,999 inclusive.
+                        # If `units` is positive, `nanos` must be positive or zero.
+                        # If `units` is zero, `nanos` can be positive, zero, or negative.
+                        # If `units` is negative, `nanos` must be negative or zero.
+                        # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                    &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+                    &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                        # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+                  },
+                },
+                &quot;description&quot;: &quot;A String&quot;, # Optional. Compensation description.  For example, could
+                    # indicate equity terms or provide additional context to an estimated
+                    # bonus.
+                &quot;type&quot;: &quot;A String&quot;, # Optional. Compensation type.
+                    #
+                    # Default is CompensationUnit.COMPENSATION_TYPE_UNSPECIFIED.
+                &quot;amount&quot;: { # Represents an amount of money with its currency type. # Optional. Compensation amount.
+                  &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                      # The value must be between -999,999,999 and +999,999,999 inclusive.
+                      # If `units` is positive, `nanos` must be positive or zero.
+                      # If `units` is zero, `nanos` can be positive, zero, or negative.
+                      # If `units` is negative, `nanos` must be negative or zero.
+                      # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                  &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+                  &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                      # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+                },
+              },
+            ],
+          },
+          &quot;name&quot;: &quot;A String&quot;, # Required during job update.
               #
-              # The visibility of the job.
+              # The resource name for the job. This is generated by the service when a
+              # job is created.
               #
-              # Defaults to Visibility.ACCOUNT_ONLY if not specified.
-          &quot;postingUpdateTime&quot;: &quot;A String&quot;, # Output only. The timestamp when this job posting was last updated.
+              # The format is &quot;projects/{project_id}/jobs/{job_id}&quot;,
+              # for example, &quot;projects/api-test-project/jobs/1234&quot;.
+              #
+              # Use of this field in job queries and API calls is preferred over the use of
+              # requisition_id since this value is unique.
+          &quot;requisitionId&quot;: &quot;A String&quot;, # Required. The requisition ID, also referred to as the posting ID, assigned by the
+              # client to identify a job. This field is intended to be used by clients
+              # for client identification and tracking of postings. A job is not allowed
+              # to be created if there is another job with the same [company_name],
+              # language_code and requisition_id.
+              #
+              # The maximum number of allowed characters is 255.
         },
-        &quot;searchTextSnippet&quot;: &quot;A String&quot;, # Contains snippets of text from the Job.description and similar
-            # fields that most closely match a search query&#x27;s keywords, if available.
-            # All HTML tags in the original fields are stripped when returned in this
-            # field, and matching query keywords are enclosed in HTML bold tags.
         &quot;jobTitleSnippet&quot;: &quot;A String&quot;, # Contains snippets of text from the Job.job_title field most
             # closely matching a search query&#x27;s keywords, if available. The matching
             # query keywords are enclosed in HTML bold tags.
-        &quot;jobSummary&quot;: &quot;A String&quot;, # A summary of the job with core information that&#x27;s displayed on the search
-            # results listing page.
         &quot;commuteInfo&quot;: { # Output only. # Commute information which is generated based on specified
             #  CommuteFilter.
             #
             # Commute details related to this job.
-          &quot;travelDuration&quot;: &quot;A String&quot;, # The number of seconds required to travel to the job location from the
-              # query location. A duration of 0 seconds indicates that the job is not
-              # reachable within the requested duration, but was returned as part of an
-              # expanded query.
           &quot;jobLocation&quot;: { # Output only. # Location used as the destination in the commute calculation.
               #
               # A resource that represents a location with full geographic information.
-            &quot;radiusInMiles&quot;: 3.14, # Radius in miles of the job location. This value is derived from the
-                # location bounding box in which a circle with the specified radius
-                # centered from LatLng covers the area associated with the job location.
-                # For example, currently, &quot;Mountain View, CA, USA&quot; has a radius of
-                # 6.17 miles.
-            &quot;latLng&quot;: { # An object representing a latitude/longitude pair. This is expressed as a pair # An object representing a latitude/longitude pair.
-                # of doubles representing degrees latitude and degrees longitude. Unless
-                # specified otherwise, this must conform to the
-                # &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
-                # standard&lt;/a&gt;. Values must be within normalized ranges.
-              &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
-              &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
-            },
             &quot;postalAddress&quot;: { # Represents a postal address, e.g. for postal delivery or payments addresses. # Postal address of the location that includes human readable information,
                 # such as postal delivery and payments addresses. Given a postal address,
                 # a postal service can deliver items to a premises, P.O. Box, or other
@@ -6067,10 +5958,9 @@
                 #
                 # For more guidance on how to use this schema, please see:
                 # https://support.google.com/business/answer/6397478
-              &quot;postalCode&quot;: &quot;A String&quot;, # Optional. Postal code of the address. Not all countries use or require
-                  # postal codes to be present, but where they are used, they may trigger
-                  # additional validation with other parts of the address (e.g. state/zip
-                  # validation in the U.S.A.).
+              &quot;organization&quot;: &quot;A String&quot;, # Optional. The name of the organization at the address.
+              &quot;sublocality&quot;: &quot;A String&quot;, # Optional. Sublocality of the address.
+                  # For example, this can be neighborhoods, boroughs, districts.
               &quot;languageCode&quot;: &quot;A String&quot;, # Optional. BCP-47 language code of the contents of this address (if
                   # known). This is often the UI language of the input form or is expected
                   # to match one of the languages used in the address&#x27; country/region, or their
@@ -6083,26 +5973,6 @@
                   # possibly incorrect default).
                   #
                   # Examples: &quot;zh-Hant&quot;, &quot;ja&quot;, &quot;ja-Latn&quot;, &quot;en&quot;.
-              &quot;sortingCode&quot;: &quot;A String&quot;, # Optional. Additional, country-specific, sorting code. This is not used
-                  # in most regions. Where it is used, the value is either a string like
-                  # &quot;CEDEX&quot;, optionally followed by a number (e.g. &quot;CEDEX 7&quot;), or just a number
-                  # alone, representing the &quot;sector code&quot; (Jamaica), &quot;delivery area indicator&quot;
-                  # (Malawi) or &quot;post office indicator&quot; (e.g. Côte d&#x27;Ivoire).
-              &quot;recipients&quot;: [ # Optional. The recipient at the address.
-                  # This field may, under certain circumstances, contain multiline information.
-                  # For example, it might contain &quot;care of&quot; information.
-                &quot;A String&quot;,
-              ],
-              &quot;sublocality&quot;: &quot;A String&quot;, # Optional. Sublocality of the address.
-                  # For example, this can be neighborhoods, boroughs, districts.
-              &quot;revision&quot;: 42, # The schema revision of the `PostalAddress`. This must be set to 0, which is
-                  # the latest revision.
-                  #
-                  # All new revisions **must** be backward compatible with old revisions.
-              &quot;locality&quot;: &quot;A String&quot;, # Optional. Generally refers to the city/town portion of the address.
-                  # Examples: US city, IT comune, UK post town.
-                  # In regions of the world where localities are not well defined or do not fit
-                  # into this structure well, leave locality empty and use address_lines.
               &quot;administrativeArea&quot;: &quot;A String&quot;, # Optional. Highest administrative subdivision which is used for postal
                   # addresses of a country or region.
                   # For example, this can be a state, a province, an oblast, or a prefecture.
@@ -6110,7 +5980,33 @@
                   # community (e.g. &quot;Barcelona&quot; and not &quot;Catalonia&quot;).
                   # Many countries don&#x27;t use an administrative area in postal addresses. E.g.
                   # in Switzerland this should be left unpopulated.
-              &quot;organization&quot;: &quot;A String&quot;, # Optional. The name of the organization at the address.
+              &quot;locality&quot;: &quot;A String&quot;, # Optional. Generally refers to the city/town portion of the address.
+                  # Examples: US city, IT comune, UK post town.
+                  # In regions of the world where localities are not well defined or do not fit
+                  # into this structure well, leave locality empty and use address_lines.
+              &quot;recipients&quot;: [ # Optional. The recipient at the address.
+                  # This field may, under certain circumstances, contain multiline information.
+                  # For example, it might contain &quot;care of&quot; information.
+                &quot;A String&quot;,
+              ],
+              &quot;revision&quot;: 42, # The schema revision of the `PostalAddress`. This must be set to 0, which is
+                  # the latest revision.
+                  #
+                  # All new revisions **must** be backward compatible with old revisions.
+              &quot;postalCode&quot;: &quot;A String&quot;, # Optional. Postal code of the address. Not all countries use or require
+                  # postal codes to be present, but where they are used, they may trigger
+                  # additional validation with other parts of the address (e.g. state/zip
+                  # validation in the U.S.A.).
+              &quot;sortingCode&quot;: &quot;A String&quot;, # Optional. Additional, country-specific, sorting code. This is not used
+                  # in most regions. Where it is used, the value is either a string like
+                  # &quot;CEDEX&quot;, optionally followed by a number (e.g. &quot;CEDEX 7&quot;), or just a number
+                  # alone, representing the &quot;sector code&quot; (Jamaica), &quot;delivery area indicator&quot;
+                  # (Malawi) or &quot;post office indicator&quot; (e.g. Côte d&#x27;Ivoire).
+              &quot;regionCode&quot;: &quot;A String&quot;, # Required. CLDR region code of the country/region of the address. This
+                  # is never inferred and it is up to the user to ensure the value is
+                  # correct. See http://cldr.unicode.org/ and
+                  # http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html
+                  # for details. Example: &quot;CH&quot; for Switzerland.
               &quot;addressLines&quot;: [ # Unstructured address lines describing the lower levels of an address.
                   #
                   # Because values in address_lines do not have type information and may
@@ -6135,28 +6031,32 @@
                   # localities or administrative areas).
                 &quot;A String&quot;,
               ],
-              &quot;regionCode&quot;: &quot;A String&quot;, # Required. CLDR region code of the country/region of the address. This
-                  # is never inferred and it is up to the user to ensure the value is
-                  # correct. See http://cldr.unicode.org/ and
-                  # http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html
-                  # for details. Example: &quot;CH&quot; for Switzerland.
             },
+            &quot;radiusInMiles&quot;: 3.14, # Radius in miles of the job location. This value is derived from the
+                # location bounding box in which a circle with the specified radius
+                # centered from LatLng covers the area associated with the job location.
+                # For example, currently, &quot;Mountain View, CA, USA&quot; has a radius of
+                # 6.17 miles.
             &quot;locationType&quot;: &quot;A String&quot;, # The type of a location, which corresponds to the address lines field of
                 # PostalAddress. For example, &quot;Downtown, Atlanta, GA, USA&quot; has a type of
                 # LocationType#NEIGHBORHOOD, and &quot;Kansas City, KS, USA&quot; has a type of
                 # LocationType#LOCALITY.
+            &quot;latLng&quot;: { # An object representing a latitude/longitude pair. This is expressed as a pair # An object representing a latitude/longitude pair.
+                # of doubles representing degrees latitude and degrees longitude. Unless
+                # specified otherwise, this must conform to the
+                # &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
+                # standard&lt;/a&gt;. Values must be within normalized ranges.
+              &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+              &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+            },
           },
+          &quot;travelDuration&quot;: &quot;A String&quot;, # The number of seconds required to travel to the job location from the
+              # query location. A duration of 0 seconds indicates that the job is not
+              # reachable within the requested duration, but was returned as part of an
+              # expanded query.
         },
       },
     ],
-    &quot;nextPageToken&quot;: &quot;A String&quot;, # The token that specifies the starting position of the next page of results.
-        # This field is empty if there are no more results.
-    &quot;spellCorrection&quot;: { # Output only. # The spell checking result, and correction.
-        #
-        # Spell check result.
-      &quot;corrected&quot;: True or False, # Indicates if the query was corrected by the spell checker.
-      &quot;correctedText&quot;: &quot;A String&quot;, # Correction output consisting of the corrected keyword string.
-    },
     &quot;broadenedQueryJobsCount&quot;: 42, # If query broadening is enabled, we may append additional results from the
         # broadened query. This number indicates how many of the jobs returned in the
         # jobs field are from the broadened query. These results are always at the
@@ -6164,32 +6064,12 @@
         # set, all the jobs in the jobs list are from the original
         # (without broadening) query. If this field is non-zero, subsequent requests
         # with offset after this result set should contain all broadened results.
-    &quot;estimatedTotalSize&quot;: 42, # An estimation of the number of jobs that match the specified query.
-        #
-        # This number is not guaranteed to be accurate. For accurate results,
-        # see enable_precise_result_size.
-    &quot;totalSize&quot;: 42, # The precise result count, which is available only if the client set
-        # enable_precise_result_size to `true`, or if the response
-        # is the last page of results. Otherwise, the value is `-1`.
     &quot;locationFilters&quot;: [ # The location filters that the service applied to the specified query. If
         # any filters are lat-lng based, the JobLocation.location_type is
         # JobLocation.LocationType#LOCATION_TYPE_UNSPECIFIED.
       { # Output only.
           #
           # A resource that represents a location with full geographic information.
-        &quot;radiusInMiles&quot;: 3.14, # Radius in miles of the job location. This value is derived from the
-            # location bounding box in which a circle with the specified radius
-            # centered from LatLng covers the area associated with the job location.
-            # For example, currently, &quot;Mountain View, CA, USA&quot; has a radius of
-            # 6.17 miles.
-        &quot;latLng&quot;: { # An object representing a latitude/longitude pair. This is expressed as a pair # An object representing a latitude/longitude pair.
-            # of doubles representing degrees latitude and degrees longitude. Unless
-            # specified otherwise, this must conform to the
-            # &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
-            # standard&lt;/a&gt;. Values must be within normalized ranges.
-          &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
-          &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
-        },
         &quot;postalAddress&quot;: { # Represents a postal address, e.g. for postal delivery or payments addresses. # Postal address of the location that includes human readable information,
             # such as postal delivery and payments addresses. Given a postal address,
             # a postal service can deliver items to a premises, P.O. Box, or other
@@ -6210,10 +6090,9 @@
             #
             # For more guidance on how to use this schema, please see:
             # https://support.google.com/business/answer/6397478
-          &quot;postalCode&quot;: &quot;A String&quot;, # Optional. Postal code of the address. Not all countries use or require
-              # postal codes to be present, but where they are used, they may trigger
-              # additional validation with other parts of the address (e.g. state/zip
-              # validation in the U.S.A.).
+          &quot;organization&quot;: &quot;A String&quot;, # Optional. The name of the organization at the address.
+          &quot;sublocality&quot;: &quot;A String&quot;, # Optional. Sublocality of the address.
+              # For example, this can be neighborhoods, boroughs, districts.
           &quot;languageCode&quot;: &quot;A String&quot;, # Optional. BCP-47 language code of the contents of this address (if
               # known). This is often the UI language of the input form or is expected
               # to match one of the languages used in the address&#x27; country/region, or their
@@ -6226,26 +6105,6 @@
               # possibly incorrect default).
               #
               # Examples: &quot;zh-Hant&quot;, &quot;ja&quot;, &quot;ja-Latn&quot;, &quot;en&quot;.
-          &quot;sortingCode&quot;: &quot;A String&quot;, # Optional. Additional, country-specific, sorting code. This is not used
-              # in most regions. Where it is used, the value is either a string like
-              # &quot;CEDEX&quot;, optionally followed by a number (e.g. &quot;CEDEX 7&quot;), or just a number
-              # alone, representing the &quot;sector code&quot; (Jamaica), &quot;delivery area indicator&quot;
-              # (Malawi) or &quot;post office indicator&quot; (e.g. Côte d&#x27;Ivoire).
-          &quot;recipients&quot;: [ # Optional. The recipient at the address.
-              # This field may, under certain circumstances, contain multiline information.
-              # For example, it might contain &quot;care of&quot; information.
-            &quot;A String&quot;,
-          ],
-          &quot;sublocality&quot;: &quot;A String&quot;, # Optional. Sublocality of the address.
-              # For example, this can be neighborhoods, boroughs, districts.
-          &quot;revision&quot;: 42, # The schema revision of the `PostalAddress`. This must be set to 0, which is
-              # the latest revision.
-              #
-              # All new revisions **must** be backward compatible with old revisions.
-          &quot;locality&quot;: &quot;A String&quot;, # Optional. Generally refers to the city/town portion of the address.
-              # Examples: US city, IT comune, UK post town.
-              # In regions of the world where localities are not well defined or do not fit
-              # into this structure well, leave locality empty and use address_lines.
           &quot;administrativeArea&quot;: &quot;A String&quot;, # Optional. Highest administrative subdivision which is used for postal
               # addresses of a country or region.
               # For example, this can be a state, a province, an oblast, or a prefecture.
@@ -6253,7 +6112,33 @@
               # community (e.g. &quot;Barcelona&quot; and not &quot;Catalonia&quot;).
               # Many countries don&#x27;t use an administrative area in postal addresses. E.g.
               # in Switzerland this should be left unpopulated.
-          &quot;organization&quot;: &quot;A String&quot;, # Optional. The name of the organization at the address.
+          &quot;locality&quot;: &quot;A String&quot;, # Optional. Generally refers to the city/town portion of the address.
+              # Examples: US city, IT comune, UK post town.
+              # In regions of the world where localities are not well defined or do not fit
+              # into this structure well, leave locality empty and use address_lines.
+          &quot;recipients&quot;: [ # Optional. The recipient at the address.
+              # This field may, under certain circumstances, contain multiline information.
+              # For example, it might contain &quot;care of&quot; information.
+            &quot;A String&quot;,
+          ],
+          &quot;revision&quot;: 42, # The schema revision of the `PostalAddress`. This must be set to 0, which is
+              # the latest revision.
+              #
+              # All new revisions **must** be backward compatible with old revisions.
+          &quot;postalCode&quot;: &quot;A String&quot;, # Optional. Postal code of the address. Not all countries use or require
+              # postal codes to be present, but where they are used, they may trigger
+              # additional validation with other parts of the address (e.g. state/zip
+              # validation in the U.S.A.).
+          &quot;sortingCode&quot;: &quot;A String&quot;, # Optional. Additional, country-specific, sorting code. This is not used
+              # in most regions. Where it is used, the value is either a string like
+              # &quot;CEDEX&quot;, optionally followed by a number (e.g. &quot;CEDEX 7&quot;), or just a number
+              # alone, representing the &quot;sector code&quot; (Jamaica), &quot;delivery area indicator&quot;
+              # (Malawi) or &quot;post office indicator&quot; (e.g. Côte d&#x27;Ivoire).
+          &quot;regionCode&quot;: &quot;A String&quot;, # Required. CLDR region code of the country/region of the address. This
+              # is never inferred and it is up to the user to ensure the value is
+              # correct. See http://cldr.unicode.org/ and
+              # http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html
+              # for details. Example: &quot;CH&quot; for Switzerland.
           &quot;addressLines&quot;: [ # Unstructured address lines describing the lower levels of an address.
               #
               # Because values in address_lines do not have type information and may
@@ -6278,18 +6163,133 @@
               # localities or administrative areas).
             &quot;A String&quot;,
           ],
-          &quot;regionCode&quot;: &quot;A String&quot;, # Required. CLDR region code of the country/region of the address. This
-              # is never inferred and it is up to the user to ensure the value is
-              # correct. See http://cldr.unicode.org/ and
-              # http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html
-              # for details. Example: &quot;CH&quot; for Switzerland.
         },
+        &quot;radiusInMiles&quot;: 3.14, # Radius in miles of the job location. This value is derived from the
+            # location bounding box in which a circle with the specified radius
+            # centered from LatLng covers the area associated with the job location.
+            # For example, currently, &quot;Mountain View, CA, USA&quot; has a radius of
+            # 6.17 miles.
         &quot;locationType&quot;: &quot;A String&quot;, # The type of a location, which corresponds to the address lines field of
             # PostalAddress. For example, &quot;Downtown, Atlanta, GA, USA&quot; has a type of
             # LocationType#NEIGHBORHOOD, and &quot;Kansas City, KS, USA&quot; has a type of
             # LocationType#LOCALITY.
+        &quot;latLng&quot;: { # An object representing a latitude/longitude pair. This is expressed as a pair # An object representing a latitude/longitude pair.
+            # of doubles representing degrees latitude and degrees longitude. Unless
+            # specified otherwise, this must conform to the
+            # &lt;a href=&quot;http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf&quot;&gt;WGS84
+            # standard&lt;/a&gt;. Values must be within normalized ranges.
+          &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+          &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+        },
       },
     ],
+    &quot;nextPageToken&quot;: &quot;A String&quot;, # The token that specifies the starting position of the next page of results.
+        # This field is empty if there are no more results.
+    &quot;metadata&quot;: { # Output only. # Additional information for the API invocation, such as the request
+        # tracking id.
+        #
+        # Additional information returned to client, such as debugging information.
+      &quot;requestId&quot;: &quot;A String&quot;, # A unique id associated with this call.
+          # This id is logged for tracking purposes.
+    },
+    &quot;histogramResults&quot;: { # Output only. # The histogram results that match specified
+        # SearchJobsRequest.histogram_facets.
+        #
+        # Histogram results that match HistogramFacets specified in
+        # SearchJobsRequest.
+      &quot;compensationHistogramResults&quot;: [ # Specifies compensation field-based histogram results that match
+          # HistogramFacets.compensation_histogram_requests.
+        { # Output only.
+            #
+            # Compensation based histogram result.
+          &quot;result&quot;: { # Output only. # Histogram result.
+              #
+              # Custom numeric bucketing result.
+            &quot;counts&quot;: [ # Count within each bucket. Its size is the length of
+                # NumericBucketingOption.bucket_bounds plus 1.
+              { # Represents count of jobs within one bucket.
+                &quot;count&quot;: 42, # Number of jobs whose numeric field value fall into `range`.
+                &quot;range&quot;: { # Represents starting and ending value of a range in double. # Bucket range on which histogram was performed for the numeric field,
+                    # that is, the count represents number of jobs in this range.
+                  &quot;to&quot;: 3.14, # Ending value of the bucket range.
+                  &quot;from&quot;: 3.14, # Starting value of the bucket range.
+                },
+              },
+            ],
+            &quot;maxValue&quot;: 3.14, # Stores the maximum value of the numeric field. Is populated only if
+                # [NumericBucketingOption.requires_min_max] is set to true.
+            &quot;minValue&quot;: 3.14, # Stores the minimum value of the numeric field. Will be populated only if
+                # [NumericBucketingOption.requires_min_max] is set to true.
+          },
+          &quot;type&quot;: &quot;A String&quot;, # Type of the request, corresponding to
+              # CompensationHistogramRequest.type.
+        },
+      ],
+      &quot;customAttributeHistogramResults&quot;: [ # Specifies histogram results for custom attributes that match
+          # HistogramFacets.custom_attribute_histogram_facets.
+        { # Output only.
+            #
+            # Custom attribute histogram result.
+          &quot;key&quot;: &quot;A String&quot;, # Stores the key of custom attribute the histogram is performed on.
+          &quot;longValueHistogramResult&quot;: { # Output only. # Stores bucketed histogram counting result or min/max values for
+              # custom attribute long values associated with `key`.
+              #
+              # Custom numeric bucketing result.
+            &quot;counts&quot;: [ # Count within each bucket. Its size is the length of
+                # NumericBucketingOption.bucket_bounds plus 1.
+              { # Represents count of jobs within one bucket.
+                &quot;count&quot;: 42, # Number of jobs whose numeric field value fall into `range`.
+                &quot;range&quot;: { # Represents starting and ending value of a range in double. # Bucket range on which histogram was performed for the numeric field,
+                    # that is, the count represents number of jobs in this range.
+                  &quot;to&quot;: 3.14, # Ending value of the bucket range.
+                  &quot;from&quot;: 3.14, # Starting value of the bucket range.
+                },
+              },
+            ],
+            &quot;maxValue&quot;: 3.14, # Stores the maximum value of the numeric field. Is populated only if
+                # [NumericBucketingOption.requires_min_max] is set to true.
+            &quot;minValue&quot;: 3.14, # Stores the minimum value of the numeric field. Will be populated only if
+                # [NumericBucketingOption.requires_min_max] is set to true.
+          },
+          &quot;stringValueHistogramResult&quot;: { # Stores a map from the values of string custom field associated
+              # with `key` to the number of jobs with that value in this histogram result.
+            &quot;a_key&quot;: 42,
+          },
+        },
+      ],
+      &quot;simpleHistogramResults&quot;: [ # Specifies histogram results that matches
+          # HistogramFacets.simple_histogram_facets.
+        { # Output only.
+            #
+            # Result of a histogram call. The response contains the histogram map for the
+            # search type specified by HistogramResult.field.
+            # The response is a map of each filter value to the corresponding count of
+            # jobs for that filter.
+          &quot;values&quot;: { # A map from the values of field to the number of jobs with that value
+              # in this search result.
+              #
+              # Key: search type (filter names, such as the companyName).
+              #
+              # Values: the count of jobs that match the filter for this search.
+            &quot;a_key&quot;: 42,
+          },
+          &quot;searchType&quot;: &quot;A String&quot;, # The Histogram search filters.
+        },
+      ],
+    },
+    &quot;estimatedTotalSize&quot;: 42, # An estimation of the number of jobs that match the specified query.
+        #
+        # This number is not guaranteed to be accurate. For accurate results,
+        # see enable_precise_result_size.
+    &quot;totalSize&quot;: 42, # The precise result count, which is available only if the client set
+        # enable_precise_result_size to `true`, or if the response
+        # is the last page of results. Otherwise, the value is `-1`.
+    &quot;spellCorrection&quot;: { # Output only. # The spell checking result, and correction.
+        #
+        # Spell check result.
+      &quot;corrected&quot;: True or False, # Indicates if the query was corrected by the spell checker.
+      &quot;correctedText&quot;: &quot;A String&quot;, # Correction output consisting of the corrected keyword string.
+    },
   }</pre>
 </div>