docs: docs update (#911)

Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly:
- [ ] Make sure to open an issue as a [bug/issue](https://github.com/googleapis/google-api-python-client/issues/new/choose) before writing your code!  That way we can discuss the change, evaluate designs, and agree on the general idea
- [ ] Ensure the tests and linter pass
- [ ] Code coverage does not decrease (if any source code was changed)
- [ ] Appropriate docs were updated (if necessary)

Fixes #<issue_number_goes_here> 🦕
diff --git a/docs/dyn/adexchangebuyer2_v2beta1.accounts.proposals.html b/docs/dyn/adexchangebuyer2_v2beta1.accounts.proposals.html
index 867343f..731141e 100644
--- a/docs/dyn/adexchangebuyer2_v2beta1.accounts.proposals.html
+++ b/docs/dyn/adexchangebuyer2_v2beta1.accounts.proposals.html
@@ -93,7 +93,7 @@
   <code><a href="#get">get(accountId, proposalId, x__xgafv=None)</a></code></p>
 <p class="firstline">Gets a proposal given its ID. The proposal is returned at its head</p>
 <p class="toc_element">
-  <code><a href="#list">list(accountId, pageSize=None, pageToken=None, x__xgafv=None, filterSyntax=None, filter=None)</a></code></p>
+  <code><a href="#list">list(accountId, filter=None, pageToken=None, pageSize=None, filterSyntax=None, x__xgafv=None)</a></code></p>
 <p class="firstline">List proposals. A filter expression (PQL query) may be specified to</p>
 <p class="toc_element">
   <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
@@ -111,7 +111,7 @@
 <div class="method">
     <code class="details" id="accept">accept(accountId, proposalId, body=None, x__xgafv=None)</code>
   <pre>Mark the proposal as accepted at the given revision number. If the number
-does not match the server's revision number an `ABORTED` error message will
+does not match the server&#x27;s revision number an `ABORTED` error message will
 be returned. This call updates the proposal_state from `PROPOSED` to
 `BUYER_ACCEPTED`, or from `SELLER_ACCEPTED` to `FINALIZED`.
 
@@ -122,7 +122,7 @@
     The object takes the form of:
 
 { # Request to accept a proposal.
-    "proposalRevision": "A String", # The last known client revision number of the proposal.
+    &quot;proposalRevision&quot;: &quot;A String&quot;, # The last known client revision number of the proposal.
   }
 
   x__xgafv: string, V1 error format.
@@ -144,55 +144,508 @@
       # Auction or Preferred Deals deals through the API.
       #
       # Fields are updatable unless noted otherwise.
-    "deals": [ # The deals associated with this proposal. For Private Auction proposals
+    &quot;buyer&quot;: { # Represents a buyer of inventory. Each buyer is identified by a unique # Reference to the buyer on the proposal.
+        #
+        # Note: This field may be set only when creating the resource. Modifying
+        # this field while updating the resource will result in an error.
+        # Authorized Buyers account ID.
+      &quot;accountId&quot;: &quot;A String&quot;, # Authorized Buyers account ID of the buyer.
+    },
+    &quot;isRenegotiating&quot;: True or False, # Output only. True if the proposal is being renegotiated.
+    &quot;notes&quot;: [ # Output only. The notes associated with this proposal.
+      { # A proposal may be associated to several notes.
+        &quot;note&quot;: &quot;A String&quot;, # The actual note to attach.
+            # (max-length: 1024 unicode code units)
+            #
+            # Note: This field may be set only when creating the resource. Modifying
+            # this field while updating the resource will result in an error.
+        &quot;proposalRevision&quot;: &quot;A String&quot;, # Output only. The revision number of the proposal when the note is created.
+        &quot;noteId&quot;: &quot;A String&quot;, # Output only. The unique ID for the note.
+        &quot;createTime&quot;: &quot;A String&quot;, # Output only. The timestamp for when this note was created.
+        &quot;creatorRole&quot;: &quot;A String&quot;, # Output only. The role of the person (buyer/seller) creating the note.
+      },
+    ],
+    &quot;isSetupComplete&quot;: True or False, # Output only. True, if the buyside inventory setup is complete for this
+        # proposal.
+    &quot;proposalState&quot;: &quot;A String&quot;, # Output only. The current state of the proposal.
+    &quot;sellerContacts&quot;: [ # Output only. Contact information for the seller.
+      { # Contains information on how a buyer or seller can be reached.
+        &quot;email&quot;: &quot;A String&quot;, # Email address for the contact.
+        &quot;name&quot;: &quot;A String&quot;, # The name of the contact.
+      },
+    ],
+    &quot;privateAuctionId&quot;: &quot;A String&quot;, # Output only. Private auction ID if this proposal is a private auction
+        # proposal.
+    &quot;originatorRole&quot;: &quot;A String&quot;, # Output only. Indicates whether the buyer/seller created the proposal.
+    &quot;lastUpdaterOrCommentorRole&quot;: &quot;A String&quot;, # Output only. The role of the last user that either updated the proposal or
+        # left a comment.
+    &quot;buyerPrivateData&quot;: { # Buyers are allowed to store certain types of private data in a proposal/deal. # Private data for buyer. (hidden from seller).
+      &quot;referenceId&quot;: &quot;A String&quot;, # A buyer or seller specified reference ID. This can be queried in the list
+          # operations (max-length: 1024 unicode code units).
+    },
+    &quot;displayName&quot;: &quot;A String&quot;, # The name for the proposal.
+    &quot;buyerContacts&quot;: [ # Contact information for the buyer.
+      { # Contains information on how a buyer or seller can be reached.
+        &quot;email&quot;: &quot;A String&quot;, # Email address for the contact.
+        &quot;name&quot;: &quot;A String&quot;, # The name of the contact.
+      },
+    ],
+    &quot;billedBuyer&quot;: { # Represents a buyer of inventory. Each buyer is identified by a unique # Output only. Reference to the buyer that will get billed for this proposal.
+        # Authorized Buyers account ID.
+      &quot;accountId&quot;: &quot;A String&quot;, # Authorized Buyers account ID of the buyer.
+    },
+    &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time when the proposal was last revised.
+    &quot;proposalId&quot;: &quot;A String&quot;, # Output only. The unique ID of the proposal.
+    &quot;deals&quot;: [ # The deals associated with this proposal. For Private Auction proposals
         # (whose deals have NonGuaranteedAuctionTerms), there will only be one deal.
       { # A deal represents a segment of inventory for displaying ads on.
           # A proposal can contain multiple deals. A deal contains the terms and
           # targeting information that is used for serving.
-        "updateTime": "A String", # Output only. The time when the deal was last updated.
-        "createProductRevision": "A String", # Optional revision number of the product that the deal was created from.
+        &quot;programmaticCreativeSource&quot;: &quot;A String&quot;, # Output only. Specifies the creative source for programmatic deals.
+            # PUBLISHER means creative is provided by seller and ADVERTISER means
+            # creative is provided by buyer.
+        &quot;buyerPrivateData&quot;: { # Buyers are allowed to store certain types of private data in a proposal/deal. # Buyer private data (hidden from seller).
+          &quot;referenceId&quot;: &quot;A String&quot;, # A buyer or seller specified reference ID. This can be queried in the list
+              # operations (max-length: 1024 unicode code units).
+        },
+        &quot;displayName&quot;: &quot;A String&quot;, # The name of the deal.
+        &quot;webPropertyCode&quot;: &quot;A String&quot;, # The web property code for the seller copied over from the product.
+        &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time when the deal was last updated.
+        &quot;targetingCriterion&quot;: [ # The shared targeting visible to buyers and sellers. Each shared
+            # targeting entity is AND&#x27;d together.
+          { # Advertisers can target different attributes of an ad slot. For example,
+              # they can choose to show ads only if the user is in the U.S. Such
+              # targeting criteria can be specified as part of Shared Targeting.
+            &quot;exclusions&quot;: [ # The list of values to exclude from targeting. Each value is AND&#x27;d
+                # together.
+              { # A polymorphic targeting value used as part of Shared Targeting.
+                &quot;creativeSizeValue&quot;: { # Specifies the size of the creative. # The creative size value to include/exclude.
+                    # Filled in when key = GOOG_CREATIVE_SIZE
+                  &quot;size&quot;: { # Message depicting the size of the creative. The units of width and # For regular or video creative size type, specifies the size
+                      # of the creative
+                      # height depend on the type of the targeting.
+                    &quot;height&quot;: 42, # The height of the creative.
+                    &quot;width&quot;: 42, # The width of the creative
+                  },
+                  &quot;allowedFormats&quot;: [ # What formats are allowed by the publisher.
+                      # If this repeated field is empty then all formats are allowed.
+                      # For example, if this field contains AllowedFormatType.AUDIO then the
+                      # publisher only allows an audio ad (without any video).
+                    &quot;A String&quot;,
+                  ],
+                  &quot;companionSizes&quot;: [ # For video creatives specifies the sizes of companion ads (if present).
+                      # Companion sizes may be filled in only when creative_size_type = VIDEO
+                    { # Message depicting the size of the creative. The units of width and
+                        # height depend on the type of the targeting.
+                      &quot;height&quot;: 42, # The height of the creative.
+                      &quot;width&quot;: 42, # The width of the creative
+                    },
+                  ],
+                  &quot;skippableAdType&quot;: &quot;A String&quot;, # The type of skippable ad for this creative. It will have a value only if
+                      # creative_size_type = CreativeSizeType.VIDEO.
+                  &quot;creativeSizeType&quot;: &quot;A String&quot;, # The creative size type.
+                  &quot;nativeTemplate&quot;: &quot;A String&quot;, # Output only. The native template for this creative. It will have a value
+                      # only if creative_size_type = CreativeSizeType.NATIVE.
+                },
+                &quot;stringValue&quot;: &quot;A String&quot;, # The string value to include/exclude.
+                &quot;longValue&quot;: &quot;A String&quot;, # The long value to include/exclude.
+                &quot;dayPartTargetingValue&quot;: { # Specifies the day part targeting criteria. # The daypart targeting to include / exclude.
+                    # Filled in when the key is GOOG_DAYPART_TARGETING.
+                    # The definition of this targeting is derived from the structure
+                    # used by Ad Manager.
+                  &quot;timeZoneType&quot;: &quot;A String&quot;, # The timezone to use for interpreting the day part targeting.
+                  &quot;dayParts&quot;: [ # A list of day part targeting criterion.
+                    { # Daypart targeting message that specifies if the ad can be shown
+                        # only during certain parts of a day/week.
+                      &quot;startTime&quot;: { # Represents a time of day. The date and time zone are either not significant # The starting time of day for the ad to show (minute level granularity).
+                          # The start time is inclusive.
+                          # This field is not available for filtering in PQL queries.
+                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                          # types are google.type.Date and `google.protobuf.Timestamp`.
+                        &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;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;dayOfWeek&quot;: &quot;A String&quot;, # The day of the week to target. If unspecified, applicable to all days.
+                      &quot;endTime&quot;: { # Represents a time of day. The date and time zone are either not significant # The ending time of the day for the ad to show (minute level
+                          # granularity). The end time is exclusive. This field is not available
+                          # for filtering in PQL queries.
+                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                          # types are google.type.Date and `google.protobuf.Timestamp`.
+                        &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;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;key&quot;: &quot;A String&quot;, # The key representing the shared targeting criterion.
+                # Targeting criteria defined by Google ad servers will begin with GOOG_.
+                # Third parties may define their own keys.
+                # A list of permissible keys along with the acceptable values will be
+                # provided as part of the external documentation.
+            &quot;inclusions&quot;: [ # The list of value to include as part of the targeting. Each value is OR&#x27;d
+                # together.
+              { # A polymorphic targeting value used as part of Shared Targeting.
+                &quot;creativeSizeValue&quot;: { # Specifies the size of the creative. # The creative size value to include/exclude.
+                    # Filled in when key = GOOG_CREATIVE_SIZE
+                  &quot;size&quot;: { # Message depicting the size of the creative. The units of width and # For regular or video creative size type, specifies the size
+                      # of the creative
+                      # height depend on the type of the targeting.
+                    &quot;height&quot;: 42, # The height of the creative.
+                    &quot;width&quot;: 42, # The width of the creative
+                  },
+                  &quot;allowedFormats&quot;: [ # What formats are allowed by the publisher.
+                      # If this repeated field is empty then all formats are allowed.
+                      # For example, if this field contains AllowedFormatType.AUDIO then the
+                      # publisher only allows an audio ad (without any video).
+                    &quot;A String&quot;,
+                  ],
+                  &quot;companionSizes&quot;: [ # For video creatives specifies the sizes of companion ads (if present).
+                      # Companion sizes may be filled in only when creative_size_type = VIDEO
+                    { # Message depicting the size of the creative. The units of width and
+                        # height depend on the type of the targeting.
+                      &quot;height&quot;: 42, # The height of the creative.
+                      &quot;width&quot;: 42, # The width of the creative
+                    },
+                  ],
+                  &quot;skippableAdType&quot;: &quot;A String&quot;, # The type of skippable ad for this creative. It will have a value only if
+                      # creative_size_type = CreativeSizeType.VIDEO.
+                  &quot;creativeSizeType&quot;: &quot;A String&quot;, # The creative size type.
+                  &quot;nativeTemplate&quot;: &quot;A String&quot;, # Output only. The native template for this creative. It will have a value
+                      # only if creative_size_type = CreativeSizeType.NATIVE.
+                },
+                &quot;stringValue&quot;: &quot;A String&quot;, # The string value to include/exclude.
+                &quot;longValue&quot;: &quot;A String&quot;, # The long value to include/exclude.
+                &quot;dayPartTargetingValue&quot;: { # Specifies the day part targeting criteria. # The daypart targeting to include / exclude.
+                    # Filled in when the key is GOOG_DAYPART_TARGETING.
+                    # The definition of this targeting is derived from the structure
+                    # used by Ad Manager.
+                  &quot;timeZoneType&quot;: &quot;A String&quot;, # The timezone to use for interpreting the day part targeting.
+                  &quot;dayParts&quot;: [ # A list of day part targeting criterion.
+                    { # Daypart targeting message that specifies if the ad can be shown
+                        # only during certain parts of a day/week.
+                      &quot;startTime&quot;: { # Represents a time of day. The date and time zone are either not significant # The starting time of day for the ad to show (minute level granularity).
+                          # The start time is inclusive.
+                          # This field is not available for filtering in PQL queries.
+                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                          # types are google.type.Date and `google.protobuf.Timestamp`.
+                        &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;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;dayOfWeek&quot;: &quot;A String&quot;, # The day of the week to target. If unspecified, applicable to all days.
+                      &quot;endTime&quot;: { # Represents a time of day. The date and time zone are either not significant # The ending time of the day for the ad to show (minute level
+                          # granularity). The end time is exclusive. This field is not available
+                          # for filtering in PQL queries.
+                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                          # types are google.type.Date and `google.protobuf.Timestamp`.
+                        &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;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;dealId&quot;: &quot;A String&quot;, # Output only. A unique deal ID for the deal (server-assigned).
+        &quot;proposalId&quot;: &quot;A String&quot;, # Output only. ID of the proposal that this deal is part of.
+        &quot;availableEndTime&quot;: &quot;A String&quot;, # Proposed flight end time of the deal.
+            # This will generally be stored in a granularity of a second.
+            # A value is not required for Private Auction deals or Preferred Deals.
+        &quot;syndicationProduct&quot;: &quot;A String&quot;, # The syndication product associated with the deal.
+            #
+            # Note: This field may be set only when creating the resource. Modifying
+            # this field while updating the resource will result in an error.
+        &quot;createProductId&quot;: &quot;A String&quot;, # The product ID from which this deal was created.
+            #
+            # Note: This field may be set only when creating the resource. Modifying
+            # this field while updating the resource will result in an error.
+        &quot;creativeSafeFrameCompatibility&quot;: &quot;A String&quot;, # Output only. Specifies whether the creative is safeFrame compatible.
+        &quot;isSetupComplete&quot;: True or False, # Output only. True, if the buyside inventory setup is complete for this
+            # deal.
+        &quot;createProductRevision&quot;: &quot;A String&quot;, # Optional revision number of the product that the deal was created from.
             # If present on create, and the server `product_revision` has advanced sinced
             # the passed-in `create_product_revision`, an `ABORTED` error will be
             # returned.
             #
             # Note: This field may be set only when creating the resource. Modifying
             # this field while updating the resource will result in an error.
-        "programmaticCreativeSource": "A String", # Output only. Specifies the creative source for programmatic deals.
-            # PUBLISHER means creative is provided by seller and ADVERTISER means
-            # creative is provided by buyer.
-        "availableStartTime": "A String", # Optional proposed flight start time of the deal.
+        &quot;sellerContacts&quot;: [ # Output only. Seller contact information for the deal.
+          { # Contains information on how a buyer or seller can be reached.
+            &quot;email&quot;: &quot;A String&quot;, # Email address for the contact.
+            &quot;name&quot;: &quot;A String&quot;, # The name of the contact.
+          },
+        ],
+        &quot;availableStartTime&quot;: &quot;A String&quot;, # Optional proposed flight start time of the deal.
             # This will generally be stored in the granularity of one second since deal
             # serving starts at seconds boundary. Any time specified with more
             # granularity (e.g., in milliseconds) will be truncated towards the start of
             # time in seconds.
-        "availableEndTime": "A String", # Proposed flight end time of the deal.
-            # This will generally be stored in a granularity of a second.
-            # A value is not required for Private Auction deals or Preferred Deals.
-        "externalDealId": "A String", # Output only. The external deal ID assigned to this deal once the deal is
-            # finalized. This is the deal ID that shows up in serving/reporting etc.
-        "targeting": { # Targeting represents different criteria that can be used by advertisers to # Output only. Specifies the subset of inventory targeted by the deal.
+        &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time of the deal creation.
+        &quot;dealTerms&quot;: { # The deal terms specify the details of a Product/deal. They specify things # The negotiable terms of the deal.
+            # like price per buyer, the type of pricing model (e.g., fixed price, auction)
+            # and expected impressions from the publisher.
+          &quot;description&quot;: &quot;A String&quot;, # Publisher provided description for the terms.
+          &quot;nonGuaranteedFixedPriceTerms&quot;: { # Terms for Preferred Deals. Note that Preferred Deals cannot be created via # The terms for non-guaranteed fixed price deals.
+              # the API at this time, but can be returned in a get or list request.
+            &quot;fixedPrices&quot;: [ # Fixed price for the specified buyer.
+              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
+                  # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
+                  # a particular buyer or buyer/advertiser pair, we look for the most specific
+                  # matching rule - we first look for a rule matching the buyer and advertiser,
+                  # next a rule with the buyer but an empty advertiser list, and otherwise look
+                  # for a matching rule where no buyer is set.
+                &quot;price&quot;: { # Represents a price and a pricing type for a product / deal. # The specified price.
+                  &quot;amount&quot;: { # Represents an amount of money with its currency type. # The actual price with currency specified.
+                    &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+                    &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;pricingType&quot;: &quot;A String&quot;, # The pricing type for the deal/product. (default: CPM)
+                },
+                &quot;advertiserIds&quot;: [ # The list of advertisers for this price when associated with this buyer.
+                    # If empty, all advertisers with this buyer pay this price.
+                  &quot;A String&quot;,
+                ],
+                &quot;buyer&quot;: { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
+                    # (if the
+                    # advertisers match, and there&#x27;s no more specific rule matching the buyer).
+                    # Authorized Buyers account ID.
+                  &quot;accountId&quot;: &quot;A String&quot;, # Authorized Buyers account ID of the buyer.
+                },
+              },
+            ],
+          },
+          &quot;estimatedImpressionsPerDay&quot;: &quot;A String&quot;, # Non-binding estimate of the impressions served per day.
+              # Can be set by buyer or seller.
+          &quot;nonGuaranteedAuctionTerms&quot;: { # Terms for Private Auctions. Note that Private Auctions can be created only # The terms for non-guaranteed auction deals.
+              # by the seller, but they can be returned in a get or list request.
+            &quot;autoOptimizePrivateAuction&quot;: True or False, # True if open auction buyers are allowed to compete with invited buyers
+                # in this private auction.
+            &quot;reservePricesPerBuyer&quot;: [ # Reserve price for the specified buyer.
+              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
+                  # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
+                  # a particular buyer or buyer/advertiser pair, we look for the most specific
+                  # matching rule - we first look for a rule matching the buyer and advertiser,
+                  # next a rule with the buyer but an empty advertiser list, and otherwise look
+                  # for a matching rule where no buyer is set.
+                &quot;price&quot;: { # Represents a price and a pricing type for a product / deal. # The specified price.
+                  &quot;amount&quot;: { # Represents an amount of money with its currency type. # The actual price with currency specified.
+                    &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+                    &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;pricingType&quot;: &quot;A String&quot;, # The pricing type for the deal/product. (default: CPM)
+                },
+                &quot;advertiserIds&quot;: [ # The list of advertisers for this price when associated with this buyer.
+                    # If empty, all advertisers with this buyer pay this price.
+                  &quot;A String&quot;,
+                ],
+                &quot;buyer&quot;: { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
+                    # (if the
+                    # advertisers match, and there&#x27;s no more specific rule matching the buyer).
+                    # Authorized Buyers account ID.
+                  &quot;accountId&quot;: &quot;A String&quot;, # Authorized Buyers account ID of the buyer.
+                },
+              },
+            ],
+          },
+          &quot;estimatedGrossSpend&quot;: { # Represents a price and a pricing type for a product / deal. # Non-binding estimate of the estimated gross spend for this deal.
+              # Can be set by buyer or seller.
+            &quot;amount&quot;: { # Represents an amount of money with its currency type. # The actual price with currency specified.
+              &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+              &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;pricingType&quot;: &quot;A String&quot;, # The pricing type for the deal/product. (default: CPM)
+          },
+          &quot;brandingType&quot;: &quot;A String&quot;, # Visibility of the URL in bid requests. (default: BRANDED)
+          &quot;sellerTimeZone&quot;: &quot;A String&quot;, # The time zone name. For deals with Cost Per Day billing, defines the
+              # time zone used to mark the boundaries of a day. It should be an
+              # IANA TZ name, such as &quot;America/Los_Angeles&quot;. For more information,
+              # see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones.
+          &quot;guaranteedFixedPriceTerms&quot;: { # Terms for Programmatic Guaranteed Deals. # The terms for guaranteed fixed price deals.
+            &quot;guaranteedImpressions&quot;: &quot;A String&quot;, # Guaranteed impressions as a percentage. This is the percentage
+                # of guaranteed looks that the buyer is guaranteeing to buy.
+            &quot;minimumDailyLooks&quot;: &quot;A String&quot;, # Daily minimum looks for CPD deal types.
+            &quot;guaranteedLooks&quot;: &quot;A String&quot;, # Count of guaranteed looks. Required for deal, optional for product.
+            &quot;fixedPrices&quot;: [ # Fixed price for the specified buyer.
+              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
+                  # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
+                  # a particular buyer or buyer/advertiser pair, we look for the most specific
+                  # matching rule - we first look for a rule matching the buyer and advertiser,
+                  # next a rule with the buyer but an empty advertiser list, and otherwise look
+                  # for a matching rule where no buyer is set.
+                &quot;price&quot;: { # Represents a price and a pricing type for a product / deal. # The specified price.
+                  &quot;amount&quot;: { # Represents an amount of money with its currency type. # The actual price with currency specified.
+                    &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+                    &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;pricingType&quot;: &quot;A String&quot;, # The pricing type for the deal/product. (default: CPM)
+                },
+                &quot;advertiserIds&quot;: [ # The list of advertisers for this price when associated with this buyer.
+                    # If empty, all advertisers with this buyer pay this price.
+                  &quot;A String&quot;,
+                ],
+                &quot;buyer&quot;: { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
+                    # (if the
+                    # advertisers match, and there&#x27;s no more specific rule matching the buyer).
+                    # Authorized Buyers account ID.
+                  &quot;accountId&quot;: &quot;A String&quot;, # Authorized Buyers account ID of the buyer.
+                },
+              },
+            ],
+          },
+        },
+        &quot;targeting&quot;: { # Targeting represents different criteria that can be used by advertisers to # Output only. Specifies the subset of inventory targeted by the deal.
             # target ad inventory. For example, they can choose to target ad requests only
             # if the user is in the US.
             # Multiple types of targeting are always applied as a logical AND, unless noted
             # otherwise.
-          "placementTargeting": { # Represents targeting about where the ads can appear, e.g., certain sites or # Placement targeting information, e.g., URL, mobile applications.
-              # mobile applications.
-              # Different placement targeting types will be logically OR'ed.
-            "urlTargeting": { # Represents a list of targeted and excluded URLs (e.g., google.com). # URLs to be included/excluded.
-                # For Private Auction and AdX Preferred Deals, URLs are either included or
-                # excluded.
-                # For Programmatic Guaranteed and Preferred Deals, this doesn't
-                # apply.
-              "excludedUrls": [ # A list of URLs to be excluded.
-                "A String",
+          &quot;geoTargeting&quot;: { # Generic targeting used for targeting dimensions that contains a list of # Geo criteria IDs to be included/excluded.
+              # included and excluded numeric IDs.
+            &quot;targetedCriteriaIds&quot;: [ # A list of numeric IDs to be included.
+              &quot;A String&quot;,
+            ],
+            &quot;excludedCriteriaIds&quot;: [ # A list of numeric IDs to be excluded.
+              &quot;A String&quot;,
+            ],
+          },
+          &quot;inventorySizeTargeting&quot;: { # Represents the size of an ad unit that can be targeted on an ad # Inventory sizes to be included/excluded.
+              # request. It only applies to Private Auction, AdX Preferred Deals and
+              # Auction Packages. This targeting does not apply to Programmatic Guaranteed
+              # and Preferred Deals in Ad Manager.
+            &quot;targetedInventorySizes&quot;: [ # A list of inventory sizes to be included.
+              { # Represents size of a single ad slot, or a creative.
+                &quot;width&quot;: &quot;A String&quot;, # The width of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+                &quot;sizeType&quot;: &quot;A String&quot;, # The size type of the ad slot.
+                &quot;height&quot;: &quot;A String&quot;, # The height of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+              },
+            ],
+            &quot;excludedInventorySizes&quot;: [ # A list of inventory sizes to be excluded.
+              { # Represents size of a single ad slot, or a creative.
+                &quot;width&quot;: &quot;A String&quot;, # The width of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+                &quot;sizeType&quot;: &quot;A String&quot;, # The size type of the ad slot.
+                &quot;height&quot;: &quot;A String&quot;, # The height of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+              },
+            ],
+          },
+          &quot;videoTargeting&quot;: { # Represents targeting information about video. # Video targeting information.
+            &quot;targetedPositionTypes&quot;: [ # A list of video positions to be included.
+                # When the included list is present, the excluded list must be empty.
+                # When the excluded list is present, the included list must be empty.
+              &quot;A String&quot;,
+            ],
+            &quot;excludedPositionTypes&quot;: [ # A list of video positions to be excluded.
+                # Position types can either be included or excluded (XOR).
+              &quot;A String&quot;,
+            ],
+          },
+          &quot;technologyTargeting&quot;: { # Represents targeting about various types of technology. # Technology targeting information, e.g., operating system, device category.
+            &quot;deviceCapabilityTargeting&quot;: { # Generic targeting used for targeting dimensions that contains a list of # IDs of device capabilities to be included/excluded.
+                # included and excluded numeric IDs.
+              &quot;targetedCriteriaIds&quot;: [ # A list of numeric IDs to be included.
+                &quot;A String&quot;,
               ],
-              "targetedUrls": [ # A list of URLs to be included.
-                "A String",
+              &quot;excludedCriteriaIds&quot;: [ # A list of numeric IDs to be excluded.
+                &quot;A String&quot;,
               ],
             },
-            "mobileApplicationTargeting": { # Mobile application targeting settings. # Mobile application targeting information in a deal.
-                # This doesn't apply to Auction Packages.
-              "firstPartyTargeting": { # Represents a list of targeted and excluded mobile application IDs that # Publisher owned apps to be targeted or excluded by the publisher to
+            &quot;operatingSystemTargeting&quot;: { # Represents targeting information for operating systems. # Operating system related targeting information.
+              &quot;operatingSystemCriteria&quot;: { # Generic targeting used for targeting dimensions that contains a list of # IDs of operating systems to be included/excluded.
+                  # included and excluded numeric IDs.
+                &quot;targetedCriteriaIds&quot;: [ # A list of numeric IDs to be included.
+                  &quot;A String&quot;,
+                ],
+                &quot;excludedCriteriaIds&quot;: [ # A list of numeric IDs to be excluded.
+                  &quot;A String&quot;,
+                ],
+              },
+              &quot;operatingSystemVersionCriteria&quot;: { # Generic targeting used for targeting dimensions that contains a list of # IDs of operating system versions to be included/excluded.
+                  # included and excluded numeric IDs.
+                &quot;targetedCriteriaIds&quot;: [ # A list of numeric IDs to be included.
+                  &quot;A String&quot;,
+                ],
+                &quot;excludedCriteriaIds&quot;: [ # A list of numeric IDs to be excluded.
+                  &quot;A String&quot;,
+                ],
+              },
+            },
+            &quot;deviceCategoryTargeting&quot;: { # Generic targeting used for targeting dimensions that contains a list of # IDs of device categories to be included/excluded.
+                # included and excluded numeric IDs.
+              &quot;targetedCriteriaIds&quot;: [ # A list of numeric IDs to be included.
+                &quot;A String&quot;,
+              ],
+              &quot;excludedCriteriaIds&quot;: [ # A list of numeric IDs to be excluded.
+                &quot;A String&quot;,
+              ],
+            },
+          },
+          &quot;placementTargeting&quot;: { # Represents targeting about where the ads can appear, e.g., certain sites or # Placement targeting information, e.g., URL, mobile applications.
+              # mobile applications.
+              # Different placement targeting types will be logically OR&#x27;ed.
+            &quot;urlTargeting&quot;: { # Represents a list of targeted and excluded URLs (e.g., google.com). # URLs to be included/excluded.
+                # For Private Auction and AdX Preferred Deals, URLs are either included or
+                # excluded.
+                # For Programmatic Guaranteed and Preferred Deals, this doesn&#x27;t
+                # apply.
+              &quot;targetedUrls&quot;: [ # A list of URLs to be included.
+                &quot;A String&quot;,
+              ],
+              &quot;excludedUrls&quot;: [ # A list of URLs to be excluded.
+                &quot;A String&quot;,
+              ],
+            },
+            &quot;mobileApplicationTargeting&quot;: { # Mobile application targeting settings. # Mobile application targeting information in a deal.
+                # This doesn&#x27;t apply to Auction Packages.
+              &quot;firstPartyTargeting&quot;: { # Represents a list of targeted and excluded mobile application IDs that # Publisher owned apps to be targeted or excluded by the publisher to
                   # display the ads in.
                   # publishers own.
                   # Mobile application IDs are from App Store and Google Play Store.
@@ -200,546 +653,93 @@
                   # Google Play Store URL.
                   # iOS App ID (which is a number) can be found at the end of iTunes store URL.
                   # First party mobile applications is either included or excluded.
-                "excludedAppIds": [ # A list of application IDs to be excluded.
-                  "A String",
+                &quot;targetedAppIds&quot;: [ # A list of application IDs to be included.
+                  &quot;A String&quot;,
                 ],
-                "targetedAppIds": [ # A list of application IDs to be included.
-                  "A String",
+                &quot;excludedAppIds&quot;: [ # A list of application IDs to be excluded.
+                  &quot;A String&quot;,
                 ],
               },
             },
           },
-          "geoTargeting": { # Generic targeting used for targeting dimensions that contains a list of # Geo criteria IDs to be included/excluded.
-              # included and excluded numeric IDs.
-            "targetedCriteriaIds": [ # A list of numeric IDs to be included.
-              "A String",
-            ],
-            "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
-              "A String",
-            ],
-          },
-          "videoTargeting": { # Represents targeting information about video. # Video targeting information.
-            "excludedPositionTypes": [ # A list of video positions to be excluded.
-                # Position types can either be included or excluded (XOR).
-              "A String",
-            ],
-            "targetedPositionTypes": [ # A list of video positions to be included.
-                # When the included list is present, the excluded list must be empty.
-                # When the excluded list is present, the included list must be empty.
-              "A String",
-            ],
-          },
-          "technologyTargeting": { # Represents targeting about various types of technology. # Technology targeting information, e.g., operating system, device category.
-            "deviceCategoryTargeting": { # Generic targeting used for targeting dimensions that contains a list of # IDs of device categories to be included/excluded.
-                # included and excluded numeric IDs.
-              "targetedCriteriaIds": [ # A list of numeric IDs to be included.
-                "A String",
-              ],
-              "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
-                "A String",
-              ],
-            },
-            "operatingSystemTargeting": { # Represents targeting information for operating systems. # Operating system related targeting information.
-              "operatingSystemCriteria": { # Generic targeting used for targeting dimensions that contains a list of # IDs of operating systems to be included/excluded.
-                  # included and excluded numeric IDs.
-                "targetedCriteriaIds": [ # A list of numeric IDs to be included.
-                  "A String",
-                ],
-                "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
-                  "A String",
-                ],
-              },
-              "operatingSystemVersionCriteria": { # Generic targeting used for targeting dimensions that contains a list of # IDs of operating system versions to be included/excluded.
-                  # included and excluded numeric IDs.
-                "targetedCriteriaIds": [ # A list of numeric IDs to be included.
-                  "A String",
-                ],
-                "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
-                  "A String",
-                ],
-              },
-            },
-            "deviceCapabilityTargeting": { # Generic targeting used for targeting dimensions that contains a list of # IDs of device capabilities to be included/excluded.
-                # included and excluded numeric IDs.
-              "targetedCriteriaIds": [ # A list of numeric IDs to be included.
-                "A String",
-              ],
-              "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
-                "A String",
-              ],
-            },
-          },
-          "inventorySizeTargeting": { # Represents the size of an ad unit that can be targeted on an ad # Inventory sizes to be included/excluded.
-              # request. It only applies to Private Auction, AdX Preferred Deals and
-              # Auction Packages. This targeting does not apply to Programmatic Guaranteed
-              # and Preferred Deals in Ad Manager.
-            "targetedInventorySizes": [ # A list of inventory sizes to be included.
-              { # Represents size of a single ad slot, or a creative.
-                "width": "A String", # The width of the ad slot in pixels.
-                    # This field will be present only when size type is `PIXEL`.
-                "sizeType": "A String", # The size type of the ad slot.
-                "height": "A String", # The height of the ad slot in pixels.
-                    # This field will be present only when size type is `PIXEL`.
-              },
-            ],
-            "excludedInventorySizes": [ # A list of inventory sizes to be excluded.
-              { # Represents size of a single ad slot, or a creative.
-                "width": "A String", # The width of the ad slot in pixels.
-                    # This field will be present only when size type is `PIXEL`.
-                "sizeType": "A String", # The size type of the ad slot.
-                "height": "A String", # The height of the ad slot in pixels.
-                    # This field will be present only when size type is `PIXEL`.
-              },
-            ],
-          },
         },
-        "createTime": "A String", # Output only. The time of the deal creation.
-        "webPropertyCode": "A String", # The web property code for the seller copied over from the product.
-        "proposalId": "A String", # Output only. ID of the proposal that this deal is part of.
-        "deliveryControl": { # Message contains details about how the deals will be paced. # The set of fields around delivery control that are interesting for a buyer
+        &quot;creativePreApprovalPolicy&quot;: &quot;A String&quot;, # Output only. Specifies the creative pre-approval policy.
+        &quot;deliveryControl&quot;: { # Message contains details about how the deals will be paced. # The set of fields around delivery control that are interesting for a buyer
             # to see but are non-negotiable. These are set by the publisher.
-          "frequencyCaps": [ # Output only. Specifies any frequency caps.
+          &quot;deliveryRateType&quot;: &quot;A String&quot;, # Output only. Specifies how the impression delivery will be paced.
+          &quot;frequencyCaps&quot;: [ # Output only. Specifies any frequency caps.
             { # Frequency cap.
-              "numTimeUnits": 42, # The amount of time, in the units specified by time_unit_type. Defines the
+              &quot;numTimeUnits&quot;: 42, # The amount of time, in the units specified by time_unit_type. Defines the
                   # amount of time over which impressions per user are counted and capped.
-              "timeUnitType": "A String", # The time unit. Along with num_time_units defines the amount of time over
-                  # which impressions per user are counted and capped.
-              "maxImpressions": 42, # The maximum number of impressions that can be served to a user within the
+              &quot;maxImpressions&quot;: 42, # The maximum number of impressions that can be served to a user within the
                   # specified time period.
+              &quot;timeUnitType&quot;: &quot;A String&quot;, # The time unit. Along with num_time_units defines the amount of time over
+                  # which impressions per user are counted and capped.
             },
           ],
-          "creativeBlockingLevel": "A String", # Output only. Specified the creative blocking levels to be applied.
-          "deliveryRateType": "A String", # Output only. Specifies how the impression delivery will be paced.
+          &quot;creativeBlockingLevel&quot;: &quot;A String&quot;, # Output only. Specified the creative blocking levels to be applied.
         },
-        "description": "A String", # Description for the deal terms.
-        "dealId": "A String", # Output only. A unique deal ID for the deal (server-assigned).
-        "creativeSafeFrameCompatibility": "A String", # Output only. Specifies whether the creative is safeFrame compatible.
-        "creativePreApprovalPolicy": "A String", # Output only. Specifies the creative pre-approval policy.
-        "creativeRestrictions": { # Represents creative restrictions associated to Programmatic Guaranteed/ # Output only. Restricitions about the creatives associated with the deal
+        &quot;externalDealId&quot;: &quot;A String&quot;, # Output only. The external deal ID assigned to this deal once the deal is
+            # finalized. This is the deal ID that shows up in serving/reporting etc.
+        &quot;creativeRestrictions&quot;: { # Represents creative restrictions associated to Programmatic Guaranteed/ # Output only. Restricitions about the creatives associated with the deal
             # (i.e., size) This is available for Programmatic Guaranteed/Preferred Deals
             # in Ad Manager.
             # Preferred Deal in Ad Manager.
-            # This doesn't apply to Private Auction and AdX Preferred Deals.
-          "creativeFormat": "A String", # The format of the environment that the creatives will be displayed in.
-          "creativeSpecifications": [
+            # This doesn&#x27;t apply to Private Auction and AdX Preferred Deals.
+          &quot;creativeFormat&quot;: &quot;A String&quot;, # The format of the environment that the creatives will be displayed in.
+          &quot;creativeSpecifications&quot;: [
             { # Represents information for a creative that is associated with a Programmatic
                 # Guaranteed/Preferred Deal in Ad Manager.
-              "creativeSize": { # Represents size of a single ad slot, or a creative. # The size of the creative.
-                "width": "A String", # The width of the ad slot in pixels.
+              &quot;creativeSize&quot;: { # Represents size of a single ad slot, or a creative. # The size of the creative.
+                &quot;width&quot;: &quot;A String&quot;, # The width of the ad slot in pixels.
                     # This field will be present only when size type is `PIXEL`.
-                "sizeType": "A String", # The size type of the ad slot.
-                "height": "A String", # The height of the ad slot in pixels.
+                &quot;sizeType&quot;: &quot;A String&quot;, # The size type of the ad slot.
+                &quot;height&quot;: &quot;A String&quot;, # The height of the ad slot in pixels.
                     # This field will be present only when size type is `PIXEL`.
               },
-              "creativeCompanionSizes": [ # Companion sizes may be filled in only when this is a video creative.
+              &quot;creativeCompanionSizes&quot;: [ # Companion sizes may be filled in only when this is a video creative.
                 { # Represents size of a single ad slot, or a creative.
-                  "width": "A String", # The width of the ad slot in pixels.
+                  &quot;width&quot;: &quot;A String&quot;, # The width of the ad slot in pixels.
                       # This field will be present only when size type is `PIXEL`.
-                  "sizeType": "A String", # The size type of the ad slot.
-                  "height": "A String", # The height of the ad slot in pixels.
+                  &quot;sizeType&quot;: &quot;A String&quot;, # The size type of the ad slot.
+                  &quot;height&quot;: &quot;A String&quot;, # The height of the ad slot in pixels.
                       # This field will be present only when size type is `PIXEL`.
                 },
               ],
             },
           ],
-          "skippableAdType": "A String", # Skippable video ads allow viewers to skip ads after 5 seconds.
+          &quot;skippableAdType&quot;: &quot;A String&quot;, # Skippable video ads allow viewers to skip ads after 5 seconds.
         },
-        "createProductId": "A String", # The product ID from which this deal was created.
-            #
-            # Note: This field may be set only when creating the resource. Modifying
-            # this field while updating the resource will result in an error.
-        "dealTerms": { # The deal terms specify the details of a Product/deal. They specify things # The negotiable terms of the deal.
-            # like price per buyer, the type of pricing model (e.g., fixed price, auction)
-            # and expected impressions from the publisher.
-          "brandingType": "A String", # Visibility of the URL in bid requests. (default: BRANDED)
-          "estimatedGrossSpend": { # Represents a price and a pricing type for a product / deal. # Non-binding estimate of the estimated gross spend for this deal.
-              # Can be set by buyer or seller.
-            "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
-            "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
-              "nanos": 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.
-              "units": "A String", # The whole units of the amount.
-                  # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-              "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-            },
-          },
-          "sellerTimeZone": "A String", # The time zone name. For deals with Cost Per Day billing, defines the
-              # time zone used to mark the boundaries of a day. It should be an
-              # IANA TZ name, such as "America/Los_Angeles". For more information,
-              # see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones.
-          "estimatedImpressionsPerDay": "A String", # Non-binding estimate of the impressions served per day.
-              # Can be set by buyer or seller.
-          "nonGuaranteedFixedPriceTerms": { # Terms for Preferred Deals. Note that Preferred Deals cannot be created via # The terms for non-guaranteed fixed price deals.
-              # the API at this time, but can be returned in a get or list request.
-            "fixedPrices": [ # Fixed price for the specified buyer.
-              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
-                  # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
-                  # a particular buyer or buyer/advertiser pair, we look for the most specific
-                  # matching rule - we first look for a rule matching the buyer and advertiser,
-                  # next a rule with the buyer but an empty advertiser list, and otherwise look
-                  # for a matching rule where no buyer is set.
-                "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
-                    # (if the
-                    # advertisers match, and there's no more specific rule matching the buyer).
-                    # Authorized Buyers account ID.
-                  "accountId": "A String", # Authorized Buyers account ID of the buyer.
-                },
-                "advertiserIds": [ # The list of advertisers for this price when associated with this buyer.
-                    # If empty, all advertisers with this buyer pay this price.
-                  "A String",
-                ],
-                "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
-                  "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
-                  "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
-                    "nanos": 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.
-                    "units": "A String", # The whole units of the amount.
-                        # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-                    "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-                  },
-                },
-              },
-            ],
-          },
-          "guaranteedFixedPriceTerms": { # Terms for Programmatic Guaranteed Deals. # The terms for guaranteed fixed price deals.
-            "guaranteedImpressions": "A String", # Guaranteed impressions as a percentage. This is the percentage
-                # of guaranteed looks that the buyer is guaranteeing to buy.
-            "fixedPrices": [ # Fixed price for the specified buyer.
-              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
-                  # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
-                  # a particular buyer or buyer/advertiser pair, we look for the most specific
-                  # matching rule - we first look for a rule matching the buyer and advertiser,
-                  # next a rule with the buyer but an empty advertiser list, and otherwise look
-                  # for a matching rule where no buyer is set.
-                "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
-                    # (if the
-                    # advertisers match, and there's no more specific rule matching the buyer).
-                    # Authorized Buyers account ID.
-                  "accountId": "A String", # Authorized Buyers account ID of the buyer.
-                },
-                "advertiserIds": [ # The list of advertisers for this price when associated with this buyer.
-                    # If empty, all advertisers with this buyer pay this price.
-                  "A String",
-                ],
-                "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
-                  "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
-                  "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
-                    "nanos": 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.
-                    "units": "A String", # The whole units of the amount.
-                        # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-                    "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-                  },
-                },
-              },
-            ],
-            "minimumDailyLooks": "A String", # Daily minimum looks for CPD deal types.
-            "guaranteedLooks": "A String", # Count of guaranteed looks. Required for deal, optional for product.
-          },
-          "nonGuaranteedAuctionTerms": { # Terms for Private Auctions. Note that Private Auctions can be created only # The terms for non-guaranteed auction deals.
-              # by the seller, but they can be returned in a get or list request.
-            "reservePricesPerBuyer": [ # Reserve price for the specified buyer.
-              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
-                  # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
-                  # a particular buyer or buyer/advertiser pair, we look for the most specific
-                  # matching rule - we first look for a rule matching the buyer and advertiser,
-                  # next a rule with the buyer but an empty advertiser list, and otherwise look
-                  # for a matching rule where no buyer is set.
-                "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
-                    # (if the
-                    # advertisers match, and there's no more specific rule matching the buyer).
-                    # Authorized Buyers account ID.
-                  "accountId": "A String", # Authorized Buyers account ID of the buyer.
-                },
-                "advertiserIds": [ # The list of advertisers for this price when associated with this buyer.
-                    # If empty, all advertisers with this buyer pay this price.
-                  "A String",
-                ],
-                "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
-                  "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
-                  "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
-                    "nanos": 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.
-                    "units": "A String", # The whole units of the amount.
-                        # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-                    "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-                  },
-                },
-              },
-            ],
-            "autoOptimizePrivateAuction": True or False, # True if open auction buyers are allowed to compete with invited buyers
-                # in this private auction.
-          },
-          "description": "A String", # Publisher provided description for the terms.
-        },
-        "sellerContacts": [ # Output only. Seller contact information for the deal.
-          { # Contains information on how a buyer or seller can be reached.
-            "email": "A String", # Email address for the contact.
-            "name": "A String", # The name of the contact.
-          },
-        ],
-        "displayName": "A String", # The name of the deal.
-        "buyerPrivateData": { # Buyers are allowed to store certain types of private data in a proposal/deal. # Buyer private data (hidden from seller).
-          "referenceId": "A String", # A buyer or seller specified reference ID. This can be queried in the list
-              # operations (max-length: 1024 unicode code units).
-        },
-        "syndicationProduct": "A String", # The syndication product associated with the deal.
-            #
-            # Note: This field may be set only when creating the resource. Modifying
-            # this field while updating the resource will result in an error.
-        "targetingCriterion": [ # The shared targeting visible to buyers and sellers. Each shared
-            # targeting entity is AND'd together.
-          { # Advertisers can target different attributes of an ad slot. For example,
-              # they can choose to show ads only if the user is in the U.S. Such
-              # targeting criteria can be specified as part of Shared Targeting.
-            "inclusions": [ # The list of value to include as part of the targeting. Each value is OR'd
-                # together.
-              { # A polymorphic targeting value used as part of Shared Targeting.
-                "stringValue": "A String", # The string value to include/exclude.
-                "longValue": "A String", # The long value to include/exclude.
-                "dayPartTargetingValue": { # Specifies the day part targeting criteria. # The daypart targeting to include / exclude.
-                    # Filled in when the key is GOOG_DAYPART_TARGETING.
-                    # The definition of this targeting is derived from the structure
-                    # used by Ad Manager.
-                  "dayParts": [ # A list of day part targeting criterion.
-                    { # Daypart targeting message that specifies if the ad can be shown
-                        # only during certain parts of a day/week.
-                      "dayOfWeek": "A String", # The day of the week to target. If unspecified, applicable to all days.
-                      "endTime": { # Represents a time of day. The date and time zone are either not significant # The ending time of the day for the ad to show (minute level
-                          # granularity). The end time is exclusive. This field is not available
-                          # for filtering in PQL queries.
-                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
-                          # types are google.type.Date and `google.protobuf.Timestamp`.
-                        "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
-                            # to allow the value "24:00:00" for scenarios like business closing time.
-                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                        "seconds": 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.
-                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                      },
-                      "startTime": { # Represents a time of day. The date and time zone are either not significant # The starting time of day for the ad to show (minute level granularity).
-                          # The start time is inclusive.
-                          # This field is not available for filtering in PQL queries.
-                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
-                          # types are google.type.Date and `google.protobuf.Timestamp`.
-                        "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
-                            # to allow the value "24:00:00" for scenarios like business closing time.
-                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                        "seconds": 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.
-                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                      },
-                    },
-                  ],
-                  "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
-                },
-                "creativeSizeValue": { # Specifies the size of the creative. # The creative size value to include/exclude.
-                    # Filled in when key = GOOG_CREATIVE_SIZE
-                  "companionSizes": [ # For video creatives specifies the sizes of companion ads (if present).
-                      # Companion sizes may be filled in only when creative_size_type = VIDEO
-                    { # Message depicting the size of the creative. The units of width and
-                        # height depend on the type of the targeting.
-                      "width": 42, # The width of the creative
-                      "height": 42, # The height of the creative.
-                    },
-                  ],
-                  "nativeTemplate": "A String", # Output only. The native template for this creative. It will have a value
-                      # only if creative_size_type = CreativeSizeType.NATIVE.
-                  "allowedFormats": [ # What formats are allowed by the publisher.
-                      # If this repeated field is empty then all formats are allowed.
-                      # For example, if this field contains AllowedFormatType.AUDIO then the
-                      # publisher only allows an audio ad (without any video).
-                    "A String",
-                  ],
-                  "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if
-                      # creative_size_type = CreativeSizeType.VIDEO.
-                  "creativeSizeType": "A String", # The creative size type.
-                  "size": { # Message depicting the size of the creative. The units of width and # For regular or video creative size type, specifies the size
-                      # of the creative
-                      # height depend on the type of the targeting.
-                    "width": 42, # The width of the creative
-                    "height": 42, # The height of the creative.
-                  },
-                },
-              },
-            ],
-            "exclusions": [ # The list of values to exclude from targeting. Each value is AND'd
-                # together.
-              { # A polymorphic targeting value used as part of Shared Targeting.
-                "stringValue": "A String", # The string value to include/exclude.
-                "longValue": "A String", # The long value to include/exclude.
-                "dayPartTargetingValue": { # Specifies the day part targeting criteria. # The daypart targeting to include / exclude.
-                    # Filled in when the key is GOOG_DAYPART_TARGETING.
-                    # The definition of this targeting is derived from the structure
-                    # used by Ad Manager.
-                  "dayParts": [ # A list of day part targeting criterion.
-                    { # Daypart targeting message that specifies if the ad can be shown
-                        # only during certain parts of a day/week.
-                      "dayOfWeek": "A String", # The day of the week to target. If unspecified, applicable to all days.
-                      "endTime": { # Represents a time of day. The date and time zone are either not significant # The ending time of the day for the ad to show (minute level
-                          # granularity). The end time is exclusive. This field is not available
-                          # for filtering in PQL queries.
-                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
-                          # types are google.type.Date and `google.protobuf.Timestamp`.
-                        "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
-                            # to allow the value "24:00:00" for scenarios like business closing time.
-                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                        "seconds": 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.
-                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                      },
-                      "startTime": { # Represents a time of day. The date and time zone are either not significant # The starting time of day for the ad to show (minute level granularity).
-                          # The start time is inclusive.
-                          # This field is not available for filtering in PQL queries.
-                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
-                          # types are google.type.Date and `google.protobuf.Timestamp`.
-                        "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
-                            # to allow the value "24:00:00" for scenarios like business closing time.
-                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                        "seconds": 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.
-                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                      },
-                    },
-                  ],
-                  "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
-                },
-                "creativeSizeValue": { # Specifies the size of the creative. # The creative size value to include/exclude.
-                    # Filled in when key = GOOG_CREATIVE_SIZE
-                  "companionSizes": [ # For video creatives specifies the sizes of companion ads (if present).
-                      # Companion sizes may be filled in only when creative_size_type = VIDEO
-                    { # Message depicting the size of the creative. The units of width and
-                        # height depend on the type of the targeting.
-                      "width": 42, # The width of the creative
-                      "height": 42, # The height of the creative.
-                    },
-                  ],
-                  "nativeTemplate": "A String", # Output only. The native template for this creative. It will have a value
-                      # only if creative_size_type = CreativeSizeType.NATIVE.
-                  "allowedFormats": [ # What formats are allowed by the publisher.
-                      # If this repeated field is empty then all formats are allowed.
-                      # For example, if this field contains AllowedFormatType.AUDIO then the
-                      # publisher only allows an audio ad (without any video).
-                    "A String",
-                  ],
-                  "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if
-                      # creative_size_type = CreativeSizeType.VIDEO.
-                  "creativeSizeType": "A String", # The creative size type.
-                  "size": { # Message depicting the size of the creative. The units of width and # For regular or video creative size type, specifies the size
-                      # of the creative
-                      # height depend on the type of the targeting.
-                    "width": 42, # The width of the creative
-                    "height": 42, # The height of the creative.
-                  },
-                },
-              },
-            ],
-            "key": "A String", # The key representing the shared targeting criterion.
-                # Targeting criteria defined by Google ad servers will begin with GOOG_.
-                # Third parties may define their own keys.
-                # A list of permissible keys along with the acceptable values will be
-                # provided as part of the external documentation.
-          },
-        ],
-        "dealServingMetadata": { # Message captures metadata about the serving status of a deal. # Output only. Metadata about the serving status of this deal.
-          "dealPauseStatus": { # Tracks which parties (if any) have paused a deal. # Output only. Tracks which parties (if any) have paused a deal.
+        &quot;dealServingMetadata&quot;: { # Message captures metadata about the serving status of a deal. # Output only. Metadata about the serving status of this deal.
+          &quot;dealPauseStatus&quot;: { # Tracks which parties (if any) have paused a deal. # Output only. Tracks which parties (if any) have paused a deal.
               # The deal is considered paused if either hasBuyerPaused or
               # hasSellPaused is true.
-            "hasSellerPaused": True or False, # True, if the seller has paused the deal unilaterally.
-            "buyerPauseReason": "A String", # The buyer's reason for pausing, if the buyer paused the deal.
-            "sellerPauseReason": "A String", # The seller's reason for pausing, if the seller paused the deal.
-            "hasBuyerPaused": True or False, # True, if the buyer has paused the deal unilaterally.
-            "firstPausedBy": "A String", # The role of the person who first paused this deal.
+            &quot;firstPausedBy&quot;: &quot;A String&quot;, # The role of the person who first paused this deal.
+            &quot;sellerPauseReason&quot;: &quot;A String&quot;, # The seller&#x27;s reason for pausing, if the seller paused the deal.
+            &quot;hasSellerPaused&quot;: True or False, # True, if the seller has paused the deal unilaterally.
+            &quot;buyerPauseReason&quot;: &quot;A String&quot;, # The buyer&#x27;s reason for pausing, if the buyer paused the deal.
+            &quot;hasBuyerPaused&quot;: True or False, # True, if the buyer has paused the deal unilaterally.
           },
         },
-        "isSetupComplete": True or False, # Output only. True, if the buyside inventory setup is complete for this
-            # deal.
+        &quot;description&quot;: &quot;A String&quot;, # Description for the deal terms.
       },
     ],
-    "updateTime": "A String", # Output only. The time when the proposal was last revised.
-    "proposalState": "A String", # Output only. The current state of the proposal.
-    "proposalRevision": "A String", # Output only. The revision number for the proposal.
+    &quot;proposalRevision&quot;: &quot;A String&quot;, # Output only. The revision number for the proposal.
         # Each update to the proposal or the deal causes the proposal revision number
         # to auto-increment. The buyer keeps track of the last revision number they
         # know of and pass it in when making an update. If the head revision number
         # on the server has since incremented, then an ABORTED error is returned
         # during the update operation to let the buyer know that a subsequent update
         # was made.
-    "buyerPrivateData": { # Buyers are allowed to store certain types of private data in a proposal/deal. # Private data for buyer. (hidden from seller).
-      "referenceId": "A String", # A buyer or seller specified reference ID. This can be queried in the list
-          # operations (max-length: 1024 unicode code units).
-    },
-    "privateAuctionId": "A String", # Output only. Private auction ID if this proposal is a private auction
-        # proposal.
-    "notes": [ # Output only. The notes associated with this proposal.
-      { # A proposal may be associated to several notes.
-        "note": "A String", # The actual note to attach.
-            # (max-length: 1024 unicode code units)
-            #
-            # Note: This field may be set only when creating the resource. Modifying
-            # this field while updating the resource will result in an error.
-        "creatorRole": "A String", # Output only. The role of the person (buyer/seller) creating the note.
-        "proposalRevision": "A String", # Output only. The revision number of the proposal when the note is created.
-        "createTime": "A String", # Output only. The timestamp for when this note was created.
-        "noteId": "A String", # Output only. The unique ID for the note.
-      },
-    ],
-    "originatorRole": "A String", # Output only. Indicates whether the buyer/seller created the proposal.
-    "billedBuyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # Output only. Reference to the buyer that will get billed for this proposal.
-        # Authorized Buyers account ID.
-      "accountId": "A String", # Authorized Buyers account ID of the buyer.
-    },
-    "seller": { # Represents a seller of inventory. Each seller is identified by a unique # Reference to the seller on the proposal.
+    &quot;seller&quot;: { # Represents a seller of inventory. Each seller is identified by a unique # Reference to the seller on the proposal.
         #
         # Note: This field may be set only when creating the resource. Modifying
         # this field while updating the resource will result in an error.
         # Ad Manager account ID.
-      "subAccountId": "A String", # Optional sub-account ID for the seller.
-      "accountId": "A String", # The unique ID for the seller. The seller fills in this field.
+      &quot;subAccountId&quot;: &quot;A String&quot;, # Optional sub-account ID for the seller.
+      &quot;accountId&quot;: &quot;A String&quot;, # The unique ID for the seller. The seller fills in this field.
           # The seller account ID is then available to buyer in the product.
     },
-    "sellerContacts": [ # Output only. Contact information for the seller.
-      { # Contains information on how a buyer or seller can be reached.
-        "email": "A String", # Email address for the contact.
-        "name": "A String", # The name of the contact.
-      },
-    ],
-    "proposalId": "A String", # Output only. The unique ID of the proposal.
-    "isRenegotiating": True or False, # Output only. True if the proposal is being renegotiated.
-    "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # Reference to the buyer on the proposal.
-        #
-        # Note: This field may be set only when creating the resource. Modifying
-        # this field while updating the resource will result in an error.
-        # Authorized Buyers account ID.
-      "accountId": "A String", # Authorized Buyers account ID of the buyer.
-    },
-    "isSetupComplete": True or False, # Output only. True, if the buyside inventory setup is complete for this
-        # proposal.
-    "displayName": "A String", # The name for the proposal.
-    "lastUpdaterOrCommentorRole": "A String", # Output only. The role of the last user that either updated the proposal or
-        # left a comment.
-    "buyerContacts": [ # Contact information for the buyer.
-      { # Contains information on how a buyer or seller can be reached.
-        "email": "A String", # Email address for the contact.
-        "name": "A String", # The name of the contact.
-      },
-    ],
   }</pre>
 </div>
 
@@ -757,16 +757,16 @@
     The object takes the form of:
 
 { # Request message for adding a note to a given proposal.
-    "note": { # A proposal may be associated to several notes. # Details of the note to add.
-      "note": "A String", # The actual note to attach.
+    &quot;note&quot;: { # A proposal may be associated to several notes. # Details of the note to add.
+      &quot;note&quot;: &quot;A String&quot;, # The actual note to attach.
           # (max-length: 1024 unicode code units)
           #
           # Note: This field may be set only when creating the resource. Modifying
           # this field while updating the resource will result in an error.
-      "creatorRole": "A String", # Output only. The role of the person (buyer/seller) creating the note.
-      "proposalRevision": "A String", # Output only. The revision number of the proposal when the note is created.
-      "createTime": "A String", # Output only. The timestamp for when this note was created.
-      "noteId": "A String", # Output only. The unique ID for the note.
+      &quot;proposalRevision&quot;: &quot;A String&quot;, # Output only. The revision number of the proposal when the note is created.
+      &quot;noteId&quot;: &quot;A String&quot;, # Output only. The unique ID for the note.
+      &quot;createTime&quot;: &quot;A String&quot;, # Output only. The timestamp for when this note was created.
+      &quot;creatorRole&quot;: &quot;A String&quot;, # Output only. The role of the person (buyer/seller) creating the note.
     },
   }
 
@@ -779,15 +779,15 @@
   An object of the form:
 
     { # A proposal may be associated to several notes.
-    "note": "A String", # The actual note to attach.
+    &quot;note&quot;: &quot;A String&quot;, # The actual note to attach.
         # (max-length: 1024 unicode code units)
         #
         # Note: This field may be set only when creating the resource. Modifying
         # this field while updating the resource will result in an error.
-    "creatorRole": "A String", # Output only. The role of the person (buyer/seller) creating the note.
-    "proposalRevision": "A String", # Output only. The revision number of the proposal when the note is created.
-    "createTime": "A String", # Output only. The timestamp for when this note was created.
-    "noteId": "A String", # Output only. The unique ID for the note.
+    &quot;proposalRevision&quot;: &quot;A String&quot;, # Output only. The revision number of the proposal when the note is created.
+    &quot;noteId&quot;: &quot;A String&quot;, # Output only. The unique ID for the note.
+    &quot;createTime&quot;: &quot;A String&quot;, # Output only. The timestamp for when this note was created.
+    &quot;creatorRole&quot;: &quot;A String&quot;, # Output only. The role of the person (buyer/seller) creating the note.
   }</pre>
 </div>
 
@@ -825,55 +825,508 @@
       # Auction or Preferred Deals deals through the API.
       #
       # Fields are updatable unless noted otherwise.
-    "deals": [ # The deals associated with this proposal. For Private Auction proposals
+    &quot;buyer&quot;: { # Represents a buyer of inventory. Each buyer is identified by a unique # Reference to the buyer on the proposal.
+        #
+        # Note: This field may be set only when creating the resource. Modifying
+        # this field while updating the resource will result in an error.
+        # Authorized Buyers account ID.
+      &quot;accountId&quot;: &quot;A String&quot;, # Authorized Buyers account ID of the buyer.
+    },
+    &quot;isRenegotiating&quot;: True or False, # Output only. True if the proposal is being renegotiated.
+    &quot;notes&quot;: [ # Output only. The notes associated with this proposal.
+      { # A proposal may be associated to several notes.
+        &quot;note&quot;: &quot;A String&quot;, # The actual note to attach.
+            # (max-length: 1024 unicode code units)
+            #
+            # Note: This field may be set only when creating the resource. Modifying
+            # this field while updating the resource will result in an error.
+        &quot;proposalRevision&quot;: &quot;A String&quot;, # Output only. The revision number of the proposal when the note is created.
+        &quot;noteId&quot;: &quot;A String&quot;, # Output only. The unique ID for the note.
+        &quot;createTime&quot;: &quot;A String&quot;, # Output only. The timestamp for when this note was created.
+        &quot;creatorRole&quot;: &quot;A String&quot;, # Output only. The role of the person (buyer/seller) creating the note.
+      },
+    ],
+    &quot;isSetupComplete&quot;: True or False, # Output only. True, if the buyside inventory setup is complete for this
+        # proposal.
+    &quot;proposalState&quot;: &quot;A String&quot;, # Output only. The current state of the proposal.
+    &quot;sellerContacts&quot;: [ # Output only. Contact information for the seller.
+      { # Contains information on how a buyer or seller can be reached.
+        &quot;email&quot;: &quot;A String&quot;, # Email address for the contact.
+        &quot;name&quot;: &quot;A String&quot;, # The name of the contact.
+      },
+    ],
+    &quot;privateAuctionId&quot;: &quot;A String&quot;, # Output only. Private auction ID if this proposal is a private auction
+        # proposal.
+    &quot;originatorRole&quot;: &quot;A String&quot;, # Output only. Indicates whether the buyer/seller created the proposal.
+    &quot;lastUpdaterOrCommentorRole&quot;: &quot;A String&quot;, # Output only. The role of the last user that either updated the proposal or
+        # left a comment.
+    &quot;buyerPrivateData&quot;: { # Buyers are allowed to store certain types of private data in a proposal/deal. # Private data for buyer. (hidden from seller).
+      &quot;referenceId&quot;: &quot;A String&quot;, # A buyer or seller specified reference ID. This can be queried in the list
+          # operations (max-length: 1024 unicode code units).
+    },
+    &quot;displayName&quot;: &quot;A String&quot;, # The name for the proposal.
+    &quot;buyerContacts&quot;: [ # Contact information for the buyer.
+      { # Contains information on how a buyer or seller can be reached.
+        &quot;email&quot;: &quot;A String&quot;, # Email address for the contact.
+        &quot;name&quot;: &quot;A String&quot;, # The name of the contact.
+      },
+    ],
+    &quot;billedBuyer&quot;: { # Represents a buyer of inventory. Each buyer is identified by a unique # Output only. Reference to the buyer that will get billed for this proposal.
+        # Authorized Buyers account ID.
+      &quot;accountId&quot;: &quot;A String&quot;, # Authorized Buyers account ID of the buyer.
+    },
+    &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time when the proposal was last revised.
+    &quot;proposalId&quot;: &quot;A String&quot;, # Output only. The unique ID of the proposal.
+    &quot;deals&quot;: [ # The deals associated with this proposal. For Private Auction proposals
         # (whose deals have NonGuaranteedAuctionTerms), there will only be one deal.
       { # A deal represents a segment of inventory for displaying ads on.
           # A proposal can contain multiple deals. A deal contains the terms and
           # targeting information that is used for serving.
-        "updateTime": "A String", # Output only. The time when the deal was last updated.
-        "createProductRevision": "A String", # Optional revision number of the product that the deal was created from.
+        &quot;programmaticCreativeSource&quot;: &quot;A String&quot;, # Output only. Specifies the creative source for programmatic deals.
+            # PUBLISHER means creative is provided by seller and ADVERTISER means
+            # creative is provided by buyer.
+        &quot;buyerPrivateData&quot;: { # Buyers are allowed to store certain types of private data in a proposal/deal. # Buyer private data (hidden from seller).
+          &quot;referenceId&quot;: &quot;A String&quot;, # A buyer or seller specified reference ID. This can be queried in the list
+              # operations (max-length: 1024 unicode code units).
+        },
+        &quot;displayName&quot;: &quot;A String&quot;, # The name of the deal.
+        &quot;webPropertyCode&quot;: &quot;A String&quot;, # The web property code for the seller copied over from the product.
+        &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time when the deal was last updated.
+        &quot;targetingCriterion&quot;: [ # The shared targeting visible to buyers and sellers. Each shared
+            # targeting entity is AND&#x27;d together.
+          { # Advertisers can target different attributes of an ad slot. For example,
+              # they can choose to show ads only if the user is in the U.S. Such
+              # targeting criteria can be specified as part of Shared Targeting.
+            &quot;exclusions&quot;: [ # The list of values to exclude from targeting. Each value is AND&#x27;d
+                # together.
+              { # A polymorphic targeting value used as part of Shared Targeting.
+                &quot;creativeSizeValue&quot;: { # Specifies the size of the creative. # The creative size value to include/exclude.
+                    # Filled in when key = GOOG_CREATIVE_SIZE
+                  &quot;size&quot;: { # Message depicting the size of the creative. The units of width and # For regular or video creative size type, specifies the size
+                      # of the creative
+                      # height depend on the type of the targeting.
+                    &quot;height&quot;: 42, # The height of the creative.
+                    &quot;width&quot;: 42, # The width of the creative
+                  },
+                  &quot;allowedFormats&quot;: [ # What formats are allowed by the publisher.
+                      # If this repeated field is empty then all formats are allowed.
+                      # For example, if this field contains AllowedFormatType.AUDIO then the
+                      # publisher only allows an audio ad (without any video).
+                    &quot;A String&quot;,
+                  ],
+                  &quot;companionSizes&quot;: [ # For video creatives specifies the sizes of companion ads (if present).
+                      # Companion sizes may be filled in only when creative_size_type = VIDEO
+                    { # Message depicting the size of the creative. The units of width and
+                        # height depend on the type of the targeting.
+                      &quot;height&quot;: 42, # The height of the creative.
+                      &quot;width&quot;: 42, # The width of the creative
+                    },
+                  ],
+                  &quot;skippableAdType&quot;: &quot;A String&quot;, # The type of skippable ad for this creative. It will have a value only if
+                      # creative_size_type = CreativeSizeType.VIDEO.
+                  &quot;creativeSizeType&quot;: &quot;A String&quot;, # The creative size type.
+                  &quot;nativeTemplate&quot;: &quot;A String&quot;, # Output only. The native template for this creative. It will have a value
+                      # only if creative_size_type = CreativeSizeType.NATIVE.
+                },
+                &quot;stringValue&quot;: &quot;A String&quot;, # The string value to include/exclude.
+                &quot;longValue&quot;: &quot;A String&quot;, # The long value to include/exclude.
+                &quot;dayPartTargetingValue&quot;: { # Specifies the day part targeting criteria. # The daypart targeting to include / exclude.
+                    # Filled in when the key is GOOG_DAYPART_TARGETING.
+                    # The definition of this targeting is derived from the structure
+                    # used by Ad Manager.
+                  &quot;timeZoneType&quot;: &quot;A String&quot;, # The timezone to use for interpreting the day part targeting.
+                  &quot;dayParts&quot;: [ # A list of day part targeting criterion.
+                    { # Daypart targeting message that specifies if the ad can be shown
+                        # only during certain parts of a day/week.
+                      &quot;startTime&quot;: { # Represents a time of day. The date and time zone are either not significant # The starting time of day for the ad to show (minute level granularity).
+                          # The start time is inclusive.
+                          # This field is not available for filtering in PQL queries.
+                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                          # types are google.type.Date and `google.protobuf.Timestamp`.
+                        &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;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;dayOfWeek&quot;: &quot;A String&quot;, # The day of the week to target. If unspecified, applicable to all days.
+                      &quot;endTime&quot;: { # Represents a time of day. The date and time zone are either not significant # The ending time of the day for the ad to show (minute level
+                          # granularity). The end time is exclusive. This field is not available
+                          # for filtering in PQL queries.
+                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                          # types are google.type.Date and `google.protobuf.Timestamp`.
+                        &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;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;key&quot;: &quot;A String&quot;, # The key representing the shared targeting criterion.
+                # Targeting criteria defined by Google ad servers will begin with GOOG_.
+                # Third parties may define their own keys.
+                # A list of permissible keys along with the acceptable values will be
+                # provided as part of the external documentation.
+            &quot;inclusions&quot;: [ # The list of value to include as part of the targeting. Each value is OR&#x27;d
+                # together.
+              { # A polymorphic targeting value used as part of Shared Targeting.
+                &quot;creativeSizeValue&quot;: { # Specifies the size of the creative. # The creative size value to include/exclude.
+                    # Filled in when key = GOOG_CREATIVE_SIZE
+                  &quot;size&quot;: { # Message depicting the size of the creative. The units of width and # For regular or video creative size type, specifies the size
+                      # of the creative
+                      # height depend on the type of the targeting.
+                    &quot;height&quot;: 42, # The height of the creative.
+                    &quot;width&quot;: 42, # The width of the creative
+                  },
+                  &quot;allowedFormats&quot;: [ # What formats are allowed by the publisher.
+                      # If this repeated field is empty then all formats are allowed.
+                      # For example, if this field contains AllowedFormatType.AUDIO then the
+                      # publisher only allows an audio ad (without any video).
+                    &quot;A String&quot;,
+                  ],
+                  &quot;companionSizes&quot;: [ # For video creatives specifies the sizes of companion ads (if present).
+                      # Companion sizes may be filled in only when creative_size_type = VIDEO
+                    { # Message depicting the size of the creative. The units of width and
+                        # height depend on the type of the targeting.
+                      &quot;height&quot;: 42, # The height of the creative.
+                      &quot;width&quot;: 42, # The width of the creative
+                    },
+                  ],
+                  &quot;skippableAdType&quot;: &quot;A String&quot;, # The type of skippable ad for this creative. It will have a value only if
+                      # creative_size_type = CreativeSizeType.VIDEO.
+                  &quot;creativeSizeType&quot;: &quot;A String&quot;, # The creative size type.
+                  &quot;nativeTemplate&quot;: &quot;A String&quot;, # Output only. The native template for this creative. It will have a value
+                      # only if creative_size_type = CreativeSizeType.NATIVE.
+                },
+                &quot;stringValue&quot;: &quot;A String&quot;, # The string value to include/exclude.
+                &quot;longValue&quot;: &quot;A String&quot;, # The long value to include/exclude.
+                &quot;dayPartTargetingValue&quot;: { # Specifies the day part targeting criteria. # The daypart targeting to include / exclude.
+                    # Filled in when the key is GOOG_DAYPART_TARGETING.
+                    # The definition of this targeting is derived from the structure
+                    # used by Ad Manager.
+                  &quot;timeZoneType&quot;: &quot;A String&quot;, # The timezone to use for interpreting the day part targeting.
+                  &quot;dayParts&quot;: [ # A list of day part targeting criterion.
+                    { # Daypart targeting message that specifies if the ad can be shown
+                        # only during certain parts of a day/week.
+                      &quot;startTime&quot;: { # Represents a time of day. The date and time zone are either not significant # The starting time of day for the ad to show (minute level granularity).
+                          # The start time is inclusive.
+                          # This field is not available for filtering in PQL queries.
+                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                          # types are google.type.Date and `google.protobuf.Timestamp`.
+                        &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;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;dayOfWeek&quot;: &quot;A String&quot;, # The day of the week to target. If unspecified, applicable to all days.
+                      &quot;endTime&quot;: { # Represents a time of day. The date and time zone are either not significant # The ending time of the day for the ad to show (minute level
+                          # granularity). The end time is exclusive. This field is not available
+                          # for filtering in PQL queries.
+                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                          # types are google.type.Date and `google.protobuf.Timestamp`.
+                        &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;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;dealId&quot;: &quot;A String&quot;, # Output only. A unique deal ID for the deal (server-assigned).
+        &quot;proposalId&quot;: &quot;A String&quot;, # Output only. ID of the proposal that this deal is part of.
+        &quot;availableEndTime&quot;: &quot;A String&quot;, # Proposed flight end time of the deal.
+            # This will generally be stored in a granularity of a second.
+            # A value is not required for Private Auction deals or Preferred Deals.
+        &quot;syndicationProduct&quot;: &quot;A String&quot;, # The syndication product associated with the deal.
+            #
+            # Note: This field may be set only when creating the resource. Modifying
+            # this field while updating the resource will result in an error.
+        &quot;createProductId&quot;: &quot;A String&quot;, # The product ID from which this deal was created.
+            #
+            # Note: This field may be set only when creating the resource. Modifying
+            # this field while updating the resource will result in an error.
+        &quot;creativeSafeFrameCompatibility&quot;: &quot;A String&quot;, # Output only. Specifies whether the creative is safeFrame compatible.
+        &quot;isSetupComplete&quot;: True or False, # Output only. True, if the buyside inventory setup is complete for this
+            # deal.
+        &quot;createProductRevision&quot;: &quot;A String&quot;, # Optional revision number of the product that the deal was created from.
             # If present on create, and the server `product_revision` has advanced sinced
             # the passed-in `create_product_revision`, an `ABORTED` error will be
             # returned.
             #
             # Note: This field may be set only when creating the resource. Modifying
             # this field while updating the resource will result in an error.
-        "programmaticCreativeSource": "A String", # Output only. Specifies the creative source for programmatic deals.
-            # PUBLISHER means creative is provided by seller and ADVERTISER means
-            # creative is provided by buyer.
-        "availableStartTime": "A String", # Optional proposed flight start time of the deal.
+        &quot;sellerContacts&quot;: [ # Output only. Seller contact information for the deal.
+          { # Contains information on how a buyer or seller can be reached.
+            &quot;email&quot;: &quot;A String&quot;, # Email address for the contact.
+            &quot;name&quot;: &quot;A String&quot;, # The name of the contact.
+          },
+        ],
+        &quot;availableStartTime&quot;: &quot;A String&quot;, # Optional proposed flight start time of the deal.
             # This will generally be stored in the granularity of one second since deal
             # serving starts at seconds boundary. Any time specified with more
             # granularity (e.g., in milliseconds) will be truncated towards the start of
             # time in seconds.
-        "availableEndTime": "A String", # Proposed flight end time of the deal.
-            # This will generally be stored in a granularity of a second.
-            # A value is not required for Private Auction deals or Preferred Deals.
-        "externalDealId": "A String", # Output only. The external deal ID assigned to this deal once the deal is
-            # finalized. This is the deal ID that shows up in serving/reporting etc.
-        "targeting": { # Targeting represents different criteria that can be used by advertisers to # Output only. Specifies the subset of inventory targeted by the deal.
+        &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time of the deal creation.
+        &quot;dealTerms&quot;: { # The deal terms specify the details of a Product/deal. They specify things # The negotiable terms of the deal.
+            # like price per buyer, the type of pricing model (e.g., fixed price, auction)
+            # and expected impressions from the publisher.
+          &quot;description&quot;: &quot;A String&quot;, # Publisher provided description for the terms.
+          &quot;nonGuaranteedFixedPriceTerms&quot;: { # Terms for Preferred Deals. Note that Preferred Deals cannot be created via # The terms for non-guaranteed fixed price deals.
+              # the API at this time, but can be returned in a get or list request.
+            &quot;fixedPrices&quot;: [ # Fixed price for the specified buyer.
+              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
+                  # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
+                  # a particular buyer or buyer/advertiser pair, we look for the most specific
+                  # matching rule - we first look for a rule matching the buyer and advertiser,
+                  # next a rule with the buyer but an empty advertiser list, and otherwise look
+                  # for a matching rule where no buyer is set.
+                &quot;price&quot;: { # Represents a price and a pricing type for a product / deal. # The specified price.
+                  &quot;amount&quot;: { # Represents an amount of money with its currency type. # The actual price with currency specified.
+                    &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+                    &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;pricingType&quot;: &quot;A String&quot;, # The pricing type for the deal/product. (default: CPM)
+                },
+                &quot;advertiserIds&quot;: [ # The list of advertisers for this price when associated with this buyer.
+                    # If empty, all advertisers with this buyer pay this price.
+                  &quot;A String&quot;,
+                ],
+                &quot;buyer&quot;: { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
+                    # (if the
+                    # advertisers match, and there&#x27;s no more specific rule matching the buyer).
+                    # Authorized Buyers account ID.
+                  &quot;accountId&quot;: &quot;A String&quot;, # Authorized Buyers account ID of the buyer.
+                },
+              },
+            ],
+          },
+          &quot;estimatedImpressionsPerDay&quot;: &quot;A String&quot;, # Non-binding estimate of the impressions served per day.
+              # Can be set by buyer or seller.
+          &quot;nonGuaranteedAuctionTerms&quot;: { # Terms for Private Auctions. Note that Private Auctions can be created only # The terms for non-guaranteed auction deals.
+              # by the seller, but they can be returned in a get or list request.
+            &quot;autoOptimizePrivateAuction&quot;: True or False, # True if open auction buyers are allowed to compete with invited buyers
+                # in this private auction.
+            &quot;reservePricesPerBuyer&quot;: [ # Reserve price for the specified buyer.
+              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
+                  # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
+                  # a particular buyer or buyer/advertiser pair, we look for the most specific
+                  # matching rule - we first look for a rule matching the buyer and advertiser,
+                  # next a rule with the buyer but an empty advertiser list, and otherwise look
+                  # for a matching rule where no buyer is set.
+                &quot;price&quot;: { # Represents a price and a pricing type for a product / deal. # The specified price.
+                  &quot;amount&quot;: { # Represents an amount of money with its currency type. # The actual price with currency specified.
+                    &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+                    &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;pricingType&quot;: &quot;A String&quot;, # The pricing type for the deal/product. (default: CPM)
+                },
+                &quot;advertiserIds&quot;: [ # The list of advertisers for this price when associated with this buyer.
+                    # If empty, all advertisers with this buyer pay this price.
+                  &quot;A String&quot;,
+                ],
+                &quot;buyer&quot;: { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
+                    # (if the
+                    # advertisers match, and there&#x27;s no more specific rule matching the buyer).
+                    # Authorized Buyers account ID.
+                  &quot;accountId&quot;: &quot;A String&quot;, # Authorized Buyers account ID of the buyer.
+                },
+              },
+            ],
+          },
+          &quot;estimatedGrossSpend&quot;: { # Represents a price and a pricing type for a product / deal. # Non-binding estimate of the estimated gross spend for this deal.
+              # Can be set by buyer or seller.
+            &quot;amount&quot;: { # Represents an amount of money with its currency type. # The actual price with currency specified.
+              &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+              &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;pricingType&quot;: &quot;A String&quot;, # The pricing type for the deal/product. (default: CPM)
+          },
+          &quot;brandingType&quot;: &quot;A String&quot;, # Visibility of the URL in bid requests. (default: BRANDED)
+          &quot;sellerTimeZone&quot;: &quot;A String&quot;, # The time zone name. For deals with Cost Per Day billing, defines the
+              # time zone used to mark the boundaries of a day. It should be an
+              # IANA TZ name, such as &quot;America/Los_Angeles&quot;. For more information,
+              # see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones.
+          &quot;guaranteedFixedPriceTerms&quot;: { # Terms for Programmatic Guaranteed Deals. # The terms for guaranteed fixed price deals.
+            &quot;guaranteedImpressions&quot;: &quot;A String&quot;, # Guaranteed impressions as a percentage. This is the percentage
+                # of guaranteed looks that the buyer is guaranteeing to buy.
+            &quot;minimumDailyLooks&quot;: &quot;A String&quot;, # Daily minimum looks for CPD deal types.
+            &quot;guaranteedLooks&quot;: &quot;A String&quot;, # Count of guaranteed looks. Required for deal, optional for product.
+            &quot;fixedPrices&quot;: [ # Fixed price for the specified buyer.
+              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
+                  # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
+                  # a particular buyer or buyer/advertiser pair, we look for the most specific
+                  # matching rule - we first look for a rule matching the buyer and advertiser,
+                  # next a rule with the buyer but an empty advertiser list, and otherwise look
+                  # for a matching rule where no buyer is set.
+                &quot;price&quot;: { # Represents a price and a pricing type for a product / deal. # The specified price.
+                  &quot;amount&quot;: { # Represents an amount of money with its currency type. # The actual price with currency specified.
+                    &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+                    &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;pricingType&quot;: &quot;A String&quot;, # The pricing type for the deal/product. (default: CPM)
+                },
+                &quot;advertiserIds&quot;: [ # The list of advertisers for this price when associated with this buyer.
+                    # If empty, all advertisers with this buyer pay this price.
+                  &quot;A String&quot;,
+                ],
+                &quot;buyer&quot;: { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
+                    # (if the
+                    # advertisers match, and there&#x27;s no more specific rule matching the buyer).
+                    # Authorized Buyers account ID.
+                  &quot;accountId&quot;: &quot;A String&quot;, # Authorized Buyers account ID of the buyer.
+                },
+              },
+            ],
+          },
+        },
+        &quot;targeting&quot;: { # Targeting represents different criteria that can be used by advertisers to # Output only. Specifies the subset of inventory targeted by the deal.
             # target ad inventory. For example, they can choose to target ad requests only
             # if the user is in the US.
             # Multiple types of targeting are always applied as a logical AND, unless noted
             # otherwise.
-          "placementTargeting": { # Represents targeting about where the ads can appear, e.g., certain sites or # Placement targeting information, e.g., URL, mobile applications.
-              # mobile applications.
-              # Different placement targeting types will be logically OR'ed.
-            "urlTargeting": { # Represents a list of targeted and excluded URLs (e.g., google.com). # URLs to be included/excluded.
-                # For Private Auction and AdX Preferred Deals, URLs are either included or
-                # excluded.
-                # For Programmatic Guaranteed and Preferred Deals, this doesn't
-                # apply.
-              "excludedUrls": [ # A list of URLs to be excluded.
-                "A String",
+          &quot;geoTargeting&quot;: { # Generic targeting used for targeting dimensions that contains a list of # Geo criteria IDs to be included/excluded.
+              # included and excluded numeric IDs.
+            &quot;targetedCriteriaIds&quot;: [ # A list of numeric IDs to be included.
+              &quot;A String&quot;,
+            ],
+            &quot;excludedCriteriaIds&quot;: [ # A list of numeric IDs to be excluded.
+              &quot;A String&quot;,
+            ],
+          },
+          &quot;inventorySizeTargeting&quot;: { # Represents the size of an ad unit that can be targeted on an ad # Inventory sizes to be included/excluded.
+              # request. It only applies to Private Auction, AdX Preferred Deals and
+              # Auction Packages. This targeting does not apply to Programmatic Guaranteed
+              # and Preferred Deals in Ad Manager.
+            &quot;targetedInventorySizes&quot;: [ # A list of inventory sizes to be included.
+              { # Represents size of a single ad slot, or a creative.
+                &quot;width&quot;: &quot;A String&quot;, # The width of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+                &quot;sizeType&quot;: &quot;A String&quot;, # The size type of the ad slot.
+                &quot;height&quot;: &quot;A String&quot;, # The height of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+              },
+            ],
+            &quot;excludedInventorySizes&quot;: [ # A list of inventory sizes to be excluded.
+              { # Represents size of a single ad slot, or a creative.
+                &quot;width&quot;: &quot;A String&quot;, # The width of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+                &quot;sizeType&quot;: &quot;A String&quot;, # The size type of the ad slot.
+                &quot;height&quot;: &quot;A String&quot;, # The height of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+              },
+            ],
+          },
+          &quot;videoTargeting&quot;: { # Represents targeting information about video. # Video targeting information.
+            &quot;targetedPositionTypes&quot;: [ # A list of video positions to be included.
+                # When the included list is present, the excluded list must be empty.
+                # When the excluded list is present, the included list must be empty.
+              &quot;A String&quot;,
+            ],
+            &quot;excludedPositionTypes&quot;: [ # A list of video positions to be excluded.
+                # Position types can either be included or excluded (XOR).
+              &quot;A String&quot;,
+            ],
+          },
+          &quot;technologyTargeting&quot;: { # Represents targeting about various types of technology. # Technology targeting information, e.g., operating system, device category.
+            &quot;deviceCapabilityTargeting&quot;: { # Generic targeting used for targeting dimensions that contains a list of # IDs of device capabilities to be included/excluded.
+                # included and excluded numeric IDs.
+              &quot;targetedCriteriaIds&quot;: [ # A list of numeric IDs to be included.
+                &quot;A String&quot;,
               ],
-              "targetedUrls": [ # A list of URLs to be included.
-                "A String",
+              &quot;excludedCriteriaIds&quot;: [ # A list of numeric IDs to be excluded.
+                &quot;A String&quot;,
               ],
             },
-            "mobileApplicationTargeting": { # Mobile application targeting settings. # Mobile application targeting information in a deal.
-                # This doesn't apply to Auction Packages.
-              "firstPartyTargeting": { # Represents a list of targeted and excluded mobile application IDs that # Publisher owned apps to be targeted or excluded by the publisher to
+            &quot;operatingSystemTargeting&quot;: { # Represents targeting information for operating systems. # Operating system related targeting information.
+              &quot;operatingSystemCriteria&quot;: { # Generic targeting used for targeting dimensions that contains a list of # IDs of operating systems to be included/excluded.
+                  # included and excluded numeric IDs.
+                &quot;targetedCriteriaIds&quot;: [ # A list of numeric IDs to be included.
+                  &quot;A String&quot;,
+                ],
+                &quot;excludedCriteriaIds&quot;: [ # A list of numeric IDs to be excluded.
+                  &quot;A String&quot;,
+                ],
+              },
+              &quot;operatingSystemVersionCriteria&quot;: { # Generic targeting used for targeting dimensions that contains a list of # IDs of operating system versions to be included/excluded.
+                  # included and excluded numeric IDs.
+                &quot;targetedCriteriaIds&quot;: [ # A list of numeric IDs to be included.
+                  &quot;A String&quot;,
+                ],
+                &quot;excludedCriteriaIds&quot;: [ # A list of numeric IDs to be excluded.
+                  &quot;A String&quot;,
+                ],
+              },
+            },
+            &quot;deviceCategoryTargeting&quot;: { # Generic targeting used for targeting dimensions that contains a list of # IDs of device categories to be included/excluded.
+                # included and excluded numeric IDs.
+              &quot;targetedCriteriaIds&quot;: [ # A list of numeric IDs to be included.
+                &quot;A String&quot;,
+              ],
+              &quot;excludedCriteriaIds&quot;: [ # A list of numeric IDs to be excluded.
+                &quot;A String&quot;,
+              ],
+            },
+          },
+          &quot;placementTargeting&quot;: { # Represents targeting about where the ads can appear, e.g., certain sites or # Placement targeting information, e.g., URL, mobile applications.
+              # mobile applications.
+              # Different placement targeting types will be logically OR&#x27;ed.
+            &quot;urlTargeting&quot;: { # Represents a list of targeted and excluded URLs (e.g., google.com). # URLs to be included/excluded.
+                # For Private Auction and AdX Preferred Deals, URLs are either included or
+                # excluded.
+                # For Programmatic Guaranteed and Preferred Deals, this doesn&#x27;t
+                # apply.
+              &quot;targetedUrls&quot;: [ # A list of URLs to be included.
+                &quot;A String&quot;,
+              ],
+              &quot;excludedUrls&quot;: [ # A list of URLs to be excluded.
+                &quot;A String&quot;,
+              ],
+            },
+            &quot;mobileApplicationTargeting&quot;: { # Mobile application targeting settings. # Mobile application targeting information in a deal.
+                # This doesn&#x27;t apply to Auction Packages.
+              &quot;firstPartyTargeting&quot;: { # Represents a list of targeted and excluded mobile application IDs that # Publisher owned apps to be targeted or excluded by the publisher to
                   # display the ads in.
                   # publishers own.
                   # Mobile application IDs are from App Store and Google Play Store.
@@ -881,546 +1334,93 @@
                   # Google Play Store URL.
                   # iOS App ID (which is a number) can be found at the end of iTunes store URL.
                   # First party mobile applications is either included or excluded.
-                "excludedAppIds": [ # A list of application IDs to be excluded.
-                  "A String",
+                &quot;targetedAppIds&quot;: [ # A list of application IDs to be included.
+                  &quot;A String&quot;,
                 ],
-                "targetedAppIds": [ # A list of application IDs to be included.
-                  "A String",
+                &quot;excludedAppIds&quot;: [ # A list of application IDs to be excluded.
+                  &quot;A String&quot;,
                 ],
               },
             },
           },
-          "geoTargeting": { # Generic targeting used for targeting dimensions that contains a list of # Geo criteria IDs to be included/excluded.
-              # included and excluded numeric IDs.
-            "targetedCriteriaIds": [ # A list of numeric IDs to be included.
-              "A String",
-            ],
-            "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
-              "A String",
-            ],
-          },
-          "videoTargeting": { # Represents targeting information about video. # Video targeting information.
-            "excludedPositionTypes": [ # A list of video positions to be excluded.
-                # Position types can either be included or excluded (XOR).
-              "A String",
-            ],
-            "targetedPositionTypes": [ # A list of video positions to be included.
-                # When the included list is present, the excluded list must be empty.
-                # When the excluded list is present, the included list must be empty.
-              "A String",
-            ],
-          },
-          "technologyTargeting": { # Represents targeting about various types of technology. # Technology targeting information, e.g., operating system, device category.
-            "deviceCategoryTargeting": { # Generic targeting used for targeting dimensions that contains a list of # IDs of device categories to be included/excluded.
-                # included and excluded numeric IDs.
-              "targetedCriteriaIds": [ # A list of numeric IDs to be included.
-                "A String",
-              ],
-              "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
-                "A String",
-              ],
-            },
-            "operatingSystemTargeting": { # Represents targeting information for operating systems. # Operating system related targeting information.
-              "operatingSystemCriteria": { # Generic targeting used for targeting dimensions that contains a list of # IDs of operating systems to be included/excluded.
-                  # included and excluded numeric IDs.
-                "targetedCriteriaIds": [ # A list of numeric IDs to be included.
-                  "A String",
-                ],
-                "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
-                  "A String",
-                ],
-              },
-              "operatingSystemVersionCriteria": { # Generic targeting used for targeting dimensions that contains a list of # IDs of operating system versions to be included/excluded.
-                  # included and excluded numeric IDs.
-                "targetedCriteriaIds": [ # A list of numeric IDs to be included.
-                  "A String",
-                ],
-                "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
-                  "A String",
-                ],
-              },
-            },
-            "deviceCapabilityTargeting": { # Generic targeting used for targeting dimensions that contains a list of # IDs of device capabilities to be included/excluded.
-                # included and excluded numeric IDs.
-              "targetedCriteriaIds": [ # A list of numeric IDs to be included.
-                "A String",
-              ],
-              "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
-                "A String",
-              ],
-            },
-          },
-          "inventorySizeTargeting": { # Represents the size of an ad unit that can be targeted on an ad # Inventory sizes to be included/excluded.
-              # request. It only applies to Private Auction, AdX Preferred Deals and
-              # Auction Packages. This targeting does not apply to Programmatic Guaranteed
-              # and Preferred Deals in Ad Manager.
-            "targetedInventorySizes": [ # A list of inventory sizes to be included.
-              { # Represents size of a single ad slot, or a creative.
-                "width": "A String", # The width of the ad slot in pixels.
-                    # This field will be present only when size type is `PIXEL`.
-                "sizeType": "A String", # The size type of the ad slot.
-                "height": "A String", # The height of the ad slot in pixels.
-                    # This field will be present only when size type is `PIXEL`.
-              },
-            ],
-            "excludedInventorySizes": [ # A list of inventory sizes to be excluded.
-              { # Represents size of a single ad slot, or a creative.
-                "width": "A String", # The width of the ad slot in pixels.
-                    # This field will be present only when size type is `PIXEL`.
-                "sizeType": "A String", # The size type of the ad slot.
-                "height": "A String", # The height of the ad slot in pixels.
-                    # This field will be present only when size type is `PIXEL`.
-              },
-            ],
-          },
         },
-        "createTime": "A String", # Output only. The time of the deal creation.
-        "webPropertyCode": "A String", # The web property code for the seller copied over from the product.
-        "proposalId": "A String", # Output only. ID of the proposal that this deal is part of.
-        "deliveryControl": { # Message contains details about how the deals will be paced. # The set of fields around delivery control that are interesting for a buyer
+        &quot;creativePreApprovalPolicy&quot;: &quot;A String&quot;, # Output only. Specifies the creative pre-approval policy.
+        &quot;deliveryControl&quot;: { # Message contains details about how the deals will be paced. # The set of fields around delivery control that are interesting for a buyer
             # to see but are non-negotiable. These are set by the publisher.
-          "frequencyCaps": [ # Output only. Specifies any frequency caps.
+          &quot;deliveryRateType&quot;: &quot;A String&quot;, # Output only. Specifies how the impression delivery will be paced.
+          &quot;frequencyCaps&quot;: [ # Output only. Specifies any frequency caps.
             { # Frequency cap.
-              "numTimeUnits": 42, # The amount of time, in the units specified by time_unit_type. Defines the
+              &quot;numTimeUnits&quot;: 42, # The amount of time, in the units specified by time_unit_type. Defines the
                   # amount of time over which impressions per user are counted and capped.
-              "timeUnitType": "A String", # The time unit. Along with num_time_units defines the amount of time over
-                  # which impressions per user are counted and capped.
-              "maxImpressions": 42, # The maximum number of impressions that can be served to a user within the
+              &quot;maxImpressions&quot;: 42, # The maximum number of impressions that can be served to a user within the
                   # specified time period.
+              &quot;timeUnitType&quot;: &quot;A String&quot;, # The time unit. Along with num_time_units defines the amount of time over
+                  # which impressions per user are counted and capped.
             },
           ],
-          "creativeBlockingLevel": "A String", # Output only. Specified the creative blocking levels to be applied.
-          "deliveryRateType": "A String", # Output only. Specifies how the impression delivery will be paced.
+          &quot;creativeBlockingLevel&quot;: &quot;A String&quot;, # Output only. Specified the creative blocking levels to be applied.
         },
-        "description": "A String", # Description for the deal terms.
-        "dealId": "A String", # Output only. A unique deal ID for the deal (server-assigned).
-        "creativeSafeFrameCompatibility": "A String", # Output only. Specifies whether the creative is safeFrame compatible.
-        "creativePreApprovalPolicy": "A String", # Output only. Specifies the creative pre-approval policy.
-        "creativeRestrictions": { # Represents creative restrictions associated to Programmatic Guaranteed/ # Output only. Restricitions about the creatives associated with the deal
+        &quot;externalDealId&quot;: &quot;A String&quot;, # Output only. The external deal ID assigned to this deal once the deal is
+            # finalized. This is the deal ID that shows up in serving/reporting etc.
+        &quot;creativeRestrictions&quot;: { # Represents creative restrictions associated to Programmatic Guaranteed/ # Output only. Restricitions about the creatives associated with the deal
             # (i.e., size) This is available for Programmatic Guaranteed/Preferred Deals
             # in Ad Manager.
             # Preferred Deal in Ad Manager.
-            # This doesn't apply to Private Auction and AdX Preferred Deals.
-          "creativeFormat": "A String", # The format of the environment that the creatives will be displayed in.
-          "creativeSpecifications": [
+            # This doesn&#x27;t apply to Private Auction and AdX Preferred Deals.
+          &quot;creativeFormat&quot;: &quot;A String&quot;, # The format of the environment that the creatives will be displayed in.
+          &quot;creativeSpecifications&quot;: [
             { # Represents information for a creative that is associated with a Programmatic
                 # Guaranteed/Preferred Deal in Ad Manager.
-              "creativeSize": { # Represents size of a single ad slot, or a creative. # The size of the creative.
-                "width": "A String", # The width of the ad slot in pixels.
+              &quot;creativeSize&quot;: { # Represents size of a single ad slot, or a creative. # The size of the creative.
+                &quot;width&quot;: &quot;A String&quot;, # The width of the ad slot in pixels.
                     # This field will be present only when size type is `PIXEL`.
-                "sizeType": "A String", # The size type of the ad slot.
-                "height": "A String", # The height of the ad slot in pixels.
+                &quot;sizeType&quot;: &quot;A String&quot;, # The size type of the ad slot.
+                &quot;height&quot;: &quot;A String&quot;, # The height of the ad slot in pixels.
                     # This field will be present only when size type is `PIXEL`.
               },
-              "creativeCompanionSizes": [ # Companion sizes may be filled in only when this is a video creative.
+              &quot;creativeCompanionSizes&quot;: [ # Companion sizes may be filled in only when this is a video creative.
                 { # Represents size of a single ad slot, or a creative.
-                  "width": "A String", # The width of the ad slot in pixels.
+                  &quot;width&quot;: &quot;A String&quot;, # The width of the ad slot in pixels.
                       # This field will be present only when size type is `PIXEL`.
-                  "sizeType": "A String", # The size type of the ad slot.
-                  "height": "A String", # The height of the ad slot in pixels.
+                  &quot;sizeType&quot;: &quot;A String&quot;, # The size type of the ad slot.
+                  &quot;height&quot;: &quot;A String&quot;, # The height of the ad slot in pixels.
                       # This field will be present only when size type is `PIXEL`.
                 },
               ],
             },
           ],
-          "skippableAdType": "A String", # Skippable video ads allow viewers to skip ads after 5 seconds.
+          &quot;skippableAdType&quot;: &quot;A String&quot;, # Skippable video ads allow viewers to skip ads after 5 seconds.
         },
-        "createProductId": "A String", # The product ID from which this deal was created.
-            #
-            # Note: This field may be set only when creating the resource. Modifying
-            # this field while updating the resource will result in an error.
-        "dealTerms": { # The deal terms specify the details of a Product/deal. They specify things # The negotiable terms of the deal.
-            # like price per buyer, the type of pricing model (e.g., fixed price, auction)
-            # and expected impressions from the publisher.
-          "brandingType": "A String", # Visibility of the URL in bid requests. (default: BRANDED)
-          "estimatedGrossSpend": { # Represents a price and a pricing type for a product / deal. # Non-binding estimate of the estimated gross spend for this deal.
-              # Can be set by buyer or seller.
-            "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
-            "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
-              "nanos": 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.
-              "units": "A String", # The whole units of the amount.
-                  # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-              "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-            },
-          },
-          "sellerTimeZone": "A String", # The time zone name. For deals with Cost Per Day billing, defines the
-              # time zone used to mark the boundaries of a day. It should be an
-              # IANA TZ name, such as "America/Los_Angeles". For more information,
-              # see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones.
-          "estimatedImpressionsPerDay": "A String", # Non-binding estimate of the impressions served per day.
-              # Can be set by buyer or seller.
-          "nonGuaranteedFixedPriceTerms": { # Terms for Preferred Deals. Note that Preferred Deals cannot be created via # The terms for non-guaranteed fixed price deals.
-              # the API at this time, but can be returned in a get or list request.
-            "fixedPrices": [ # Fixed price for the specified buyer.
-              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
-                  # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
-                  # a particular buyer or buyer/advertiser pair, we look for the most specific
-                  # matching rule - we first look for a rule matching the buyer and advertiser,
-                  # next a rule with the buyer but an empty advertiser list, and otherwise look
-                  # for a matching rule where no buyer is set.
-                "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
-                    # (if the
-                    # advertisers match, and there's no more specific rule matching the buyer).
-                    # Authorized Buyers account ID.
-                  "accountId": "A String", # Authorized Buyers account ID of the buyer.
-                },
-                "advertiserIds": [ # The list of advertisers for this price when associated with this buyer.
-                    # If empty, all advertisers with this buyer pay this price.
-                  "A String",
-                ],
-                "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
-                  "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
-                  "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
-                    "nanos": 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.
-                    "units": "A String", # The whole units of the amount.
-                        # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-                    "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-                  },
-                },
-              },
-            ],
-          },
-          "guaranteedFixedPriceTerms": { # Terms for Programmatic Guaranteed Deals. # The terms for guaranteed fixed price deals.
-            "guaranteedImpressions": "A String", # Guaranteed impressions as a percentage. This is the percentage
-                # of guaranteed looks that the buyer is guaranteeing to buy.
-            "fixedPrices": [ # Fixed price for the specified buyer.
-              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
-                  # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
-                  # a particular buyer or buyer/advertiser pair, we look for the most specific
-                  # matching rule - we first look for a rule matching the buyer and advertiser,
-                  # next a rule with the buyer but an empty advertiser list, and otherwise look
-                  # for a matching rule where no buyer is set.
-                "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
-                    # (if the
-                    # advertisers match, and there's no more specific rule matching the buyer).
-                    # Authorized Buyers account ID.
-                  "accountId": "A String", # Authorized Buyers account ID of the buyer.
-                },
-                "advertiserIds": [ # The list of advertisers for this price when associated with this buyer.
-                    # If empty, all advertisers with this buyer pay this price.
-                  "A String",
-                ],
-                "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
-                  "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
-                  "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
-                    "nanos": 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.
-                    "units": "A String", # The whole units of the amount.
-                        # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-                    "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-                  },
-                },
-              },
-            ],
-            "minimumDailyLooks": "A String", # Daily minimum looks for CPD deal types.
-            "guaranteedLooks": "A String", # Count of guaranteed looks. Required for deal, optional for product.
-          },
-          "nonGuaranteedAuctionTerms": { # Terms for Private Auctions. Note that Private Auctions can be created only # The terms for non-guaranteed auction deals.
-              # by the seller, but they can be returned in a get or list request.
-            "reservePricesPerBuyer": [ # Reserve price for the specified buyer.
-              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
-                  # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
-                  # a particular buyer or buyer/advertiser pair, we look for the most specific
-                  # matching rule - we first look for a rule matching the buyer and advertiser,
-                  # next a rule with the buyer but an empty advertiser list, and otherwise look
-                  # for a matching rule where no buyer is set.
-                "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
-                    # (if the
-                    # advertisers match, and there's no more specific rule matching the buyer).
-                    # Authorized Buyers account ID.
-                  "accountId": "A String", # Authorized Buyers account ID of the buyer.
-                },
-                "advertiserIds": [ # The list of advertisers for this price when associated with this buyer.
-                    # If empty, all advertisers with this buyer pay this price.
-                  "A String",
-                ],
-                "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
-                  "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
-                  "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
-                    "nanos": 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.
-                    "units": "A String", # The whole units of the amount.
-                        # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-                    "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-                  },
-                },
-              },
-            ],
-            "autoOptimizePrivateAuction": True or False, # True if open auction buyers are allowed to compete with invited buyers
-                # in this private auction.
-          },
-          "description": "A String", # Publisher provided description for the terms.
-        },
-        "sellerContacts": [ # Output only. Seller contact information for the deal.
-          { # Contains information on how a buyer or seller can be reached.
-            "email": "A String", # Email address for the contact.
-            "name": "A String", # The name of the contact.
-          },
-        ],
-        "displayName": "A String", # The name of the deal.
-        "buyerPrivateData": { # Buyers are allowed to store certain types of private data in a proposal/deal. # Buyer private data (hidden from seller).
-          "referenceId": "A String", # A buyer or seller specified reference ID. This can be queried in the list
-              # operations (max-length: 1024 unicode code units).
-        },
-        "syndicationProduct": "A String", # The syndication product associated with the deal.
-            #
-            # Note: This field may be set only when creating the resource. Modifying
-            # this field while updating the resource will result in an error.
-        "targetingCriterion": [ # The shared targeting visible to buyers and sellers. Each shared
-            # targeting entity is AND'd together.
-          { # Advertisers can target different attributes of an ad slot. For example,
-              # they can choose to show ads only if the user is in the U.S. Such
-              # targeting criteria can be specified as part of Shared Targeting.
-            "inclusions": [ # The list of value to include as part of the targeting. Each value is OR'd
-                # together.
-              { # A polymorphic targeting value used as part of Shared Targeting.
-                "stringValue": "A String", # The string value to include/exclude.
-                "longValue": "A String", # The long value to include/exclude.
-                "dayPartTargetingValue": { # Specifies the day part targeting criteria. # The daypart targeting to include / exclude.
-                    # Filled in when the key is GOOG_DAYPART_TARGETING.
-                    # The definition of this targeting is derived from the structure
-                    # used by Ad Manager.
-                  "dayParts": [ # A list of day part targeting criterion.
-                    { # Daypart targeting message that specifies if the ad can be shown
-                        # only during certain parts of a day/week.
-                      "dayOfWeek": "A String", # The day of the week to target. If unspecified, applicable to all days.
-                      "endTime": { # Represents a time of day. The date and time zone are either not significant # The ending time of the day for the ad to show (minute level
-                          # granularity). The end time is exclusive. This field is not available
-                          # for filtering in PQL queries.
-                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
-                          # types are google.type.Date and `google.protobuf.Timestamp`.
-                        "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
-                            # to allow the value "24:00:00" for scenarios like business closing time.
-                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                        "seconds": 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.
-                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                      },
-                      "startTime": { # Represents a time of day. The date and time zone are either not significant # The starting time of day for the ad to show (minute level granularity).
-                          # The start time is inclusive.
-                          # This field is not available for filtering in PQL queries.
-                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
-                          # types are google.type.Date and `google.protobuf.Timestamp`.
-                        "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
-                            # to allow the value "24:00:00" for scenarios like business closing time.
-                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                        "seconds": 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.
-                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                      },
-                    },
-                  ],
-                  "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
-                },
-                "creativeSizeValue": { # Specifies the size of the creative. # The creative size value to include/exclude.
-                    # Filled in when key = GOOG_CREATIVE_SIZE
-                  "companionSizes": [ # For video creatives specifies the sizes of companion ads (if present).
-                      # Companion sizes may be filled in only when creative_size_type = VIDEO
-                    { # Message depicting the size of the creative. The units of width and
-                        # height depend on the type of the targeting.
-                      "width": 42, # The width of the creative
-                      "height": 42, # The height of the creative.
-                    },
-                  ],
-                  "nativeTemplate": "A String", # Output only. The native template for this creative. It will have a value
-                      # only if creative_size_type = CreativeSizeType.NATIVE.
-                  "allowedFormats": [ # What formats are allowed by the publisher.
-                      # If this repeated field is empty then all formats are allowed.
-                      # For example, if this field contains AllowedFormatType.AUDIO then the
-                      # publisher only allows an audio ad (without any video).
-                    "A String",
-                  ],
-                  "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if
-                      # creative_size_type = CreativeSizeType.VIDEO.
-                  "creativeSizeType": "A String", # The creative size type.
-                  "size": { # Message depicting the size of the creative. The units of width and # For regular or video creative size type, specifies the size
-                      # of the creative
-                      # height depend on the type of the targeting.
-                    "width": 42, # The width of the creative
-                    "height": 42, # The height of the creative.
-                  },
-                },
-              },
-            ],
-            "exclusions": [ # The list of values to exclude from targeting. Each value is AND'd
-                # together.
-              { # A polymorphic targeting value used as part of Shared Targeting.
-                "stringValue": "A String", # The string value to include/exclude.
-                "longValue": "A String", # The long value to include/exclude.
-                "dayPartTargetingValue": { # Specifies the day part targeting criteria. # The daypart targeting to include / exclude.
-                    # Filled in when the key is GOOG_DAYPART_TARGETING.
-                    # The definition of this targeting is derived from the structure
-                    # used by Ad Manager.
-                  "dayParts": [ # A list of day part targeting criterion.
-                    { # Daypart targeting message that specifies if the ad can be shown
-                        # only during certain parts of a day/week.
-                      "dayOfWeek": "A String", # The day of the week to target. If unspecified, applicable to all days.
-                      "endTime": { # Represents a time of day. The date and time zone are either not significant # The ending time of the day for the ad to show (minute level
-                          # granularity). The end time is exclusive. This field is not available
-                          # for filtering in PQL queries.
-                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
-                          # types are google.type.Date and `google.protobuf.Timestamp`.
-                        "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
-                            # to allow the value "24:00:00" for scenarios like business closing time.
-                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                        "seconds": 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.
-                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                      },
-                      "startTime": { # Represents a time of day. The date and time zone are either not significant # The starting time of day for the ad to show (minute level granularity).
-                          # The start time is inclusive.
-                          # This field is not available for filtering in PQL queries.
-                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
-                          # types are google.type.Date and `google.protobuf.Timestamp`.
-                        "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
-                            # to allow the value "24:00:00" for scenarios like business closing time.
-                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                        "seconds": 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.
-                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                      },
-                    },
-                  ],
-                  "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
-                },
-                "creativeSizeValue": { # Specifies the size of the creative. # The creative size value to include/exclude.
-                    # Filled in when key = GOOG_CREATIVE_SIZE
-                  "companionSizes": [ # For video creatives specifies the sizes of companion ads (if present).
-                      # Companion sizes may be filled in only when creative_size_type = VIDEO
-                    { # Message depicting the size of the creative. The units of width and
-                        # height depend on the type of the targeting.
-                      "width": 42, # The width of the creative
-                      "height": 42, # The height of the creative.
-                    },
-                  ],
-                  "nativeTemplate": "A String", # Output only. The native template for this creative. It will have a value
-                      # only if creative_size_type = CreativeSizeType.NATIVE.
-                  "allowedFormats": [ # What formats are allowed by the publisher.
-                      # If this repeated field is empty then all formats are allowed.
-                      # For example, if this field contains AllowedFormatType.AUDIO then the
-                      # publisher only allows an audio ad (without any video).
-                    "A String",
-                  ],
-                  "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if
-                      # creative_size_type = CreativeSizeType.VIDEO.
-                  "creativeSizeType": "A String", # The creative size type.
-                  "size": { # Message depicting the size of the creative. The units of width and # For regular or video creative size type, specifies the size
-                      # of the creative
-                      # height depend on the type of the targeting.
-                    "width": 42, # The width of the creative
-                    "height": 42, # The height of the creative.
-                  },
-                },
-              },
-            ],
-            "key": "A String", # The key representing the shared targeting criterion.
-                # Targeting criteria defined by Google ad servers will begin with GOOG_.
-                # Third parties may define their own keys.
-                # A list of permissible keys along with the acceptable values will be
-                # provided as part of the external documentation.
-          },
-        ],
-        "dealServingMetadata": { # Message captures metadata about the serving status of a deal. # Output only. Metadata about the serving status of this deal.
-          "dealPauseStatus": { # Tracks which parties (if any) have paused a deal. # Output only. Tracks which parties (if any) have paused a deal.
+        &quot;dealServingMetadata&quot;: { # Message captures metadata about the serving status of a deal. # Output only. Metadata about the serving status of this deal.
+          &quot;dealPauseStatus&quot;: { # Tracks which parties (if any) have paused a deal. # Output only. Tracks which parties (if any) have paused a deal.
               # The deal is considered paused if either hasBuyerPaused or
               # hasSellPaused is true.
-            "hasSellerPaused": True or False, # True, if the seller has paused the deal unilaterally.
-            "buyerPauseReason": "A String", # The buyer's reason for pausing, if the buyer paused the deal.
-            "sellerPauseReason": "A String", # The seller's reason for pausing, if the seller paused the deal.
-            "hasBuyerPaused": True or False, # True, if the buyer has paused the deal unilaterally.
-            "firstPausedBy": "A String", # The role of the person who first paused this deal.
+            &quot;firstPausedBy&quot;: &quot;A String&quot;, # The role of the person who first paused this deal.
+            &quot;sellerPauseReason&quot;: &quot;A String&quot;, # The seller&#x27;s reason for pausing, if the seller paused the deal.
+            &quot;hasSellerPaused&quot;: True or False, # True, if the seller has paused the deal unilaterally.
+            &quot;buyerPauseReason&quot;: &quot;A String&quot;, # The buyer&#x27;s reason for pausing, if the buyer paused the deal.
+            &quot;hasBuyerPaused&quot;: True or False, # True, if the buyer has paused the deal unilaterally.
           },
         },
-        "isSetupComplete": True or False, # Output only. True, if the buyside inventory setup is complete for this
-            # deal.
+        &quot;description&quot;: &quot;A String&quot;, # Description for the deal terms.
       },
     ],
-    "updateTime": "A String", # Output only. The time when the proposal was last revised.
-    "proposalState": "A String", # Output only. The current state of the proposal.
-    "proposalRevision": "A String", # Output only. The revision number for the proposal.
+    &quot;proposalRevision&quot;: &quot;A String&quot;, # Output only. The revision number for the proposal.
         # Each update to the proposal or the deal causes the proposal revision number
         # to auto-increment. The buyer keeps track of the last revision number they
         # know of and pass it in when making an update. If the head revision number
         # on the server has since incremented, then an ABORTED error is returned
         # during the update operation to let the buyer know that a subsequent update
         # was made.
-    "buyerPrivateData": { # Buyers are allowed to store certain types of private data in a proposal/deal. # Private data for buyer. (hidden from seller).
-      "referenceId": "A String", # A buyer or seller specified reference ID. This can be queried in the list
-          # operations (max-length: 1024 unicode code units).
-    },
-    "privateAuctionId": "A String", # Output only. Private auction ID if this proposal is a private auction
-        # proposal.
-    "notes": [ # Output only. The notes associated with this proposal.
-      { # A proposal may be associated to several notes.
-        "note": "A String", # The actual note to attach.
-            # (max-length: 1024 unicode code units)
-            #
-            # Note: This field may be set only when creating the resource. Modifying
-            # this field while updating the resource will result in an error.
-        "creatorRole": "A String", # Output only. The role of the person (buyer/seller) creating the note.
-        "proposalRevision": "A String", # Output only. The revision number of the proposal when the note is created.
-        "createTime": "A String", # Output only. The timestamp for when this note was created.
-        "noteId": "A String", # Output only. The unique ID for the note.
-      },
-    ],
-    "originatorRole": "A String", # Output only. Indicates whether the buyer/seller created the proposal.
-    "billedBuyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # Output only. Reference to the buyer that will get billed for this proposal.
-        # Authorized Buyers account ID.
-      "accountId": "A String", # Authorized Buyers account ID of the buyer.
-    },
-    "seller": { # Represents a seller of inventory. Each seller is identified by a unique # Reference to the seller on the proposal.
+    &quot;seller&quot;: { # Represents a seller of inventory. Each seller is identified by a unique # Reference to the seller on the proposal.
         #
         # Note: This field may be set only when creating the resource. Modifying
         # this field while updating the resource will result in an error.
         # Ad Manager account ID.
-      "subAccountId": "A String", # Optional sub-account ID for the seller.
-      "accountId": "A String", # The unique ID for the seller. The seller fills in this field.
+      &quot;subAccountId&quot;: &quot;A String&quot;, # Optional sub-account ID for the seller.
+      &quot;accountId&quot;: &quot;A String&quot;, # The unique ID for the seller. The seller fills in this field.
           # The seller account ID is then available to buyer in the product.
     },
-    "sellerContacts": [ # Output only. Contact information for the seller.
-      { # Contains information on how a buyer or seller can be reached.
-        "email": "A String", # Email address for the contact.
-        "name": "A String", # The name of the contact.
-      },
-    ],
-    "proposalId": "A String", # Output only. The unique ID of the proposal.
-    "isRenegotiating": True or False, # Output only. True if the proposal is being renegotiated.
-    "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # Reference to the buyer on the proposal.
-        #
-        # Note: This field may be set only when creating the resource. Modifying
-        # this field while updating the resource will result in an error.
-        # Authorized Buyers account ID.
-      "accountId": "A String", # Authorized Buyers account ID of the buyer.
-    },
-    "isSetupComplete": True or False, # Output only. True, if the buyside inventory setup is complete for this
-        # proposal.
-    "displayName": "A String", # The name for the proposal.
-    "lastUpdaterOrCommentorRole": "A String", # Output only. The role of the last user that either updated the proposal or
-        # left a comment.
-    "buyerContacts": [ # Contact information for the buyer.
-      { # Contains information on how a buyer or seller can be reached.
-        "email": "A String", # Email address for the contact.
-        "name": "A String", # The name of the contact.
-      },
-    ],
   }</pre>
 </div>
 
@@ -1439,7 +1439,7 @@
   body: object, The request body.
     The object takes the form of:
 
-{ # Request message for indicating that the proposal's setup step is complete.
+{ # Request message for indicating that the proposal&#x27;s setup step is complete.
   }
 
   x__xgafv: string, V1 error format.
@@ -1461,55 +1461,508 @@
       # Auction or Preferred Deals deals through the API.
       #
       # Fields are updatable unless noted otherwise.
-    "deals": [ # The deals associated with this proposal. For Private Auction proposals
+    &quot;buyer&quot;: { # Represents a buyer of inventory. Each buyer is identified by a unique # Reference to the buyer on the proposal.
+        #
+        # Note: This field may be set only when creating the resource. Modifying
+        # this field while updating the resource will result in an error.
+        # Authorized Buyers account ID.
+      &quot;accountId&quot;: &quot;A String&quot;, # Authorized Buyers account ID of the buyer.
+    },
+    &quot;isRenegotiating&quot;: True or False, # Output only. True if the proposal is being renegotiated.
+    &quot;notes&quot;: [ # Output only. The notes associated with this proposal.
+      { # A proposal may be associated to several notes.
+        &quot;note&quot;: &quot;A String&quot;, # The actual note to attach.
+            # (max-length: 1024 unicode code units)
+            #
+            # Note: This field may be set only when creating the resource. Modifying
+            # this field while updating the resource will result in an error.
+        &quot;proposalRevision&quot;: &quot;A String&quot;, # Output only. The revision number of the proposal when the note is created.
+        &quot;noteId&quot;: &quot;A String&quot;, # Output only. The unique ID for the note.
+        &quot;createTime&quot;: &quot;A String&quot;, # Output only. The timestamp for when this note was created.
+        &quot;creatorRole&quot;: &quot;A String&quot;, # Output only. The role of the person (buyer/seller) creating the note.
+      },
+    ],
+    &quot;isSetupComplete&quot;: True or False, # Output only. True, if the buyside inventory setup is complete for this
+        # proposal.
+    &quot;proposalState&quot;: &quot;A String&quot;, # Output only. The current state of the proposal.
+    &quot;sellerContacts&quot;: [ # Output only. Contact information for the seller.
+      { # Contains information on how a buyer or seller can be reached.
+        &quot;email&quot;: &quot;A String&quot;, # Email address for the contact.
+        &quot;name&quot;: &quot;A String&quot;, # The name of the contact.
+      },
+    ],
+    &quot;privateAuctionId&quot;: &quot;A String&quot;, # Output only. Private auction ID if this proposal is a private auction
+        # proposal.
+    &quot;originatorRole&quot;: &quot;A String&quot;, # Output only. Indicates whether the buyer/seller created the proposal.
+    &quot;lastUpdaterOrCommentorRole&quot;: &quot;A String&quot;, # Output only. The role of the last user that either updated the proposal or
+        # left a comment.
+    &quot;buyerPrivateData&quot;: { # Buyers are allowed to store certain types of private data in a proposal/deal. # Private data for buyer. (hidden from seller).
+      &quot;referenceId&quot;: &quot;A String&quot;, # A buyer or seller specified reference ID. This can be queried in the list
+          # operations (max-length: 1024 unicode code units).
+    },
+    &quot;displayName&quot;: &quot;A String&quot;, # The name for the proposal.
+    &quot;buyerContacts&quot;: [ # Contact information for the buyer.
+      { # Contains information on how a buyer or seller can be reached.
+        &quot;email&quot;: &quot;A String&quot;, # Email address for the contact.
+        &quot;name&quot;: &quot;A String&quot;, # The name of the contact.
+      },
+    ],
+    &quot;billedBuyer&quot;: { # Represents a buyer of inventory. Each buyer is identified by a unique # Output only. Reference to the buyer that will get billed for this proposal.
+        # Authorized Buyers account ID.
+      &quot;accountId&quot;: &quot;A String&quot;, # Authorized Buyers account ID of the buyer.
+    },
+    &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time when the proposal was last revised.
+    &quot;proposalId&quot;: &quot;A String&quot;, # Output only. The unique ID of the proposal.
+    &quot;deals&quot;: [ # The deals associated with this proposal. For Private Auction proposals
         # (whose deals have NonGuaranteedAuctionTerms), there will only be one deal.
       { # A deal represents a segment of inventory for displaying ads on.
           # A proposal can contain multiple deals. A deal contains the terms and
           # targeting information that is used for serving.
-        "updateTime": "A String", # Output only. The time when the deal was last updated.
-        "createProductRevision": "A String", # Optional revision number of the product that the deal was created from.
+        &quot;programmaticCreativeSource&quot;: &quot;A String&quot;, # Output only. Specifies the creative source for programmatic deals.
+            # PUBLISHER means creative is provided by seller and ADVERTISER means
+            # creative is provided by buyer.
+        &quot;buyerPrivateData&quot;: { # Buyers are allowed to store certain types of private data in a proposal/deal. # Buyer private data (hidden from seller).
+          &quot;referenceId&quot;: &quot;A String&quot;, # A buyer or seller specified reference ID. This can be queried in the list
+              # operations (max-length: 1024 unicode code units).
+        },
+        &quot;displayName&quot;: &quot;A String&quot;, # The name of the deal.
+        &quot;webPropertyCode&quot;: &quot;A String&quot;, # The web property code for the seller copied over from the product.
+        &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time when the deal was last updated.
+        &quot;targetingCriterion&quot;: [ # The shared targeting visible to buyers and sellers. Each shared
+            # targeting entity is AND&#x27;d together.
+          { # Advertisers can target different attributes of an ad slot. For example,
+              # they can choose to show ads only if the user is in the U.S. Such
+              # targeting criteria can be specified as part of Shared Targeting.
+            &quot;exclusions&quot;: [ # The list of values to exclude from targeting. Each value is AND&#x27;d
+                # together.
+              { # A polymorphic targeting value used as part of Shared Targeting.
+                &quot;creativeSizeValue&quot;: { # Specifies the size of the creative. # The creative size value to include/exclude.
+                    # Filled in when key = GOOG_CREATIVE_SIZE
+                  &quot;size&quot;: { # Message depicting the size of the creative. The units of width and # For regular or video creative size type, specifies the size
+                      # of the creative
+                      # height depend on the type of the targeting.
+                    &quot;height&quot;: 42, # The height of the creative.
+                    &quot;width&quot;: 42, # The width of the creative
+                  },
+                  &quot;allowedFormats&quot;: [ # What formats are allowed by the publisher.
+                      # If this repeated field is empty then all formats are allowed.
+                      # For example, if this field contains AllowedFormatType.AUDIO then the
+                      # publisher only allows an audio ad (without any video).
+                    &quot;A String&quot;,
+                  ],
+                  &quot;companionSizes&quot;: [ # For video creatives specifies the sizes of companion ads (if present).
+                      # Companion sizes may be filled in only when creative_size_type = VIDEO
+                    { # Message depicting the size of the creative. The units of width and
+                        # height depend on the type of the targeting.
+                      &quot;height&quot;: 42, # The height of the creative.
+                      &quot;width&quot;: 42, # The width of the creative
+                    },
+                  ],
+                  &quot;skippableAdType&quot;: &quot;A String&quot;, # The type of skippable ad for this creative. It will have a value only if
+                      # creative_size_type = CreativeSizeType.VIDEO.
+                  &quot;creativeSizeType&quot;: &quot;A String&quot;, # The creative size type.
+                  &quot;nativeTemplate&quot;: &quot;A String&quot;, # Output only. The native template for this creative. It will have a value
+                      # only if creative_size_type = CreativeSizeType.NATIVE.
+                },
+                &quot;stringValue&quot;: &quot;A String&quot;, # The string value to include/exclude.
+                &quot;longValue&quot;: &quot;A String&quot;, # The long value to include/exclude.
+                &quot;dayPartTargetingValue&quot;: { # Specifies the day part targeting criteria. # The daypart targeting to include / exclude.
+                    # Filled in when the key is GOOG_DAYPART_TARGETING.
+                    # The definition of this targeting is derived from the structure
+                    # used by Ad Manager.
+                  &quot;timeZoneType&quot;: &quot;A String&quot;, # The timezone to use for interpreting the day part targeting.
+                  &quot;dayParts&quot;: [ # A list of day part targeting criterion.
+                    { # Daypart targeting message that specifies if the ad can be shown
+                        # only during certain parts of a day/week.
+                      &quot;startTime&quot;: { # Represents a time of day. The date and time zone are either not significant # The starting time of day for the ad to show (minute level granularity).
+                          # The start time is inclusive.
+                          # This field is not available for filtering in PQL queries.
+                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                          # types are google.type.Date and `google.protobuf.Timestamp`.
+                        &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;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;dayOfWeek&quot;: &quot;A String&quot;, # The day of the week to target. If unspecified, applicable to all days.
+                      &quot;endTime&quot;: { # Represents a time of day. The date and time zone are either not significant # The ending time of the day for the ad to show (minute level
+                          # granularity). The end time is exclusive. This field is not available
+                          # for filtering in PQL queries.
+                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                          # types are google.type.Date and `google.protobuf.Timestamp`.
+                        &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;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;key&quot;: &quot;A String&quot;, # The key representing the shared targeting criterion.
+                # Targeting criteria defined by Google ad servers will begin with GOOG_.
+                # Third parties may define their own keys.
+                # A list of permissible keys along with the acceptable values will be
+                # provided as part of the external documentation.
+            &quot;inclusions&quot;: [ # The list of value to include as part of the targeting. Each value is OR&#x27;d
+                # together.
+              { # A polymorphic targeting value used as part of Shared Targeting.
+                &quot;creativeSizeValue&quot;: { # Specifies the size of the creative. # The creative size value to include/exclude.
+                    # Filled in when key = GOOG_CREATIVE_SIZE
+                  &quot;size&quot;: { # Message depicting the size of the creative. The units of width and # For regular or video creative size type, specifies the size
+                      # of the creative
+                      # height depend on the type of the targeting.
+                    &quot;height&quot;: 42, # The height of the creative.
+                    &quot;width&quot;: 42, # The width of the creative
+                  },
+                  &quot;allowedFormats&quot;: [ # What formats are allowed by the publisher.
+                      # If this repeated field is empty then all formats are allowed.
+                      # For example, if this field contains AllowedFormatType.AUDIO then the
+                      # publisher only allows an audio ad (without any video).
+                    &quot;A String&quot;,
+                  ],
+                  &quot;companionSizes&quot;: [ # For video creatives specifies the sizes of companion ads (if present).
+                      # Companion sizes may be filled in only when creative_size_type = VIDEO
+                    { # Message depicting the size of the creative. The units of width and
+                        # height depend on the type of the targeting.
+                      &quot;height&quot;: 42, # The height of the creative.
+                      &quot;width&quot;: 42, # The width of the creative
+                    },
+                  ],
+                  &quot;skippableAdType&quot;: &quot;A String&quot;, # The type of skippable ad for this creative. It will have a value only if
+                      # creative_size_type = CreativeSizeType.VIDEO.
+                  &quot;creativeSizeType&quot;: &quot;A String&quot;, # The creative size type.
+                  &quot;nativeTemplate&quot;: &quot;A String&quot;, # Output only. The native template for this creative. It will have a value
+                      # only if creative_size_type = CreativeSizeType.NATIVE.
+                },
+                &quot;stringValue&quot;: &quot;A String&quot;, # The string value to include/exclude.
+                &quot;longValue&quot;: &quot;A String&quot;, # The long value to include/exclude.
+                &quot;dayPartTargetingValue&quot;: { # Specifies the day part targeting criteria. # The daypart targeting to include / exclude.
+                    # Filled in when the key is GOOG_DAYPART_TARGETING.
+                    # The definition of this targeting is derived from the structure
+                    # used by Ad Manager.
+                  &quot;timeZoneType&quot;: &quot;A String&quot;, # The timezone to use for interpreting the day part targeting.
+                  &quot;dayParts&quot;: [ # A list of day part targeting criterion.
+                    { # Daypart targeting message that specifies if the ad can be shown
+                        # only during certain parts of a day/week.
+                      &quot;startTime&quot;: { # Represents a time of day. The date and time zone are either not significant # The starting time of day for the ad to show (minute level granularity).
+                          # The start time is inclusive.
+                          # This field is not available for filtering in PQL queries.
+                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                          # types are google.type.Date and `google.protobuf.Timestamp`.
+                        &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;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;dayOfWeek&quot;: &quot;A String&quot;, # The day of the week to target. If unspecified, applicable to all days.
+                      &quot;endTime&quot;: { # Represents a time of day. The date and time zone are either not significant # The ending time of the day for the ad to show (minute level
+                          # granularity). The end time is exclusive. This field is not available
+                          # for filtering in PQL queries.
+                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                          # types are google.type.Date and `google.protobuf.Timestamp`.
+                        &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;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;dealId&quot;: &quot;A String&quot;, # Output only. A unique deal ID for the deal (server-assigned).
+        &quot;proposalId&quot;: &quot;A String&quot;, # Output only. ID of the proposal that this deal is part of.
+        &quot;availableEndTime&quot;: &quot;A String&quot;, # Proposed flight end time of the deal.
+            # This will generally be stored in a granularity of a second.
+            # A value is not required for Private Auction deals or Preferred Deals.
+        &quot;syndicationProduct&quot;: &quot;A String&quot;, # The syndication product associated with the deal.
+            #
+            # Note: This field may be set only when creating the resource. Modifying
+            # this field while updating the resource will result in an error.
+        &quot;createProductId&quot;: &quot;A String&quot;, # The product ID from which this deal was created.
+            #
+            # Note: This field may be set only when creating the resource. Modifying
+            # this field while updating the resource will result in an error.
+        &quot;creativeSafeFrameCompatibility&quot;: &quot;A String&quot;, # Output only. Specifies whether the creative is safeFrame compatible.
+        &quot;isSetupComplete&quot;: True or False, # Output only. True, if the buyside inventory setup is complete for this
+            # deal.
+        &quot;createProductRevision&quot;: &quot;A String&quot;, # Optional revision number of the product that the deal was created from.
             # If present on create, and the server `product_revision` has advanced sinced
             # the passed-in `create_product_revision`, an `ABORTED` error will be
             # returned.
             #
             # Note: This field may be set only when creating the resource. Modifying
             # this field while updating the resource will result in an error.
-        "programmaticCreativeSource": "A String", # Output only. Specifies the creative source for programmatic deals.
-            # PUBLISHER means creative is provided by seller and ADVERTISER means
-            # creative is provided by buyer.
-        "availableStartTime": "A String", # Optional proposed flight start time of the deal.
+        &quot;sellerContacts&quot;: [ # Output only. Seller contact information for the deal.
+          { # Contains information on how a buyer or seller can be reached.
+            &quot;email&quot;: &quot;A String&quot;, # Email address for the contact.
+            &quot;name&quot;: &quot;A String&quot;, # The name of the contact.
+          },
+        ],
+        &quot;availableStartTime&quot;: &quot;A String&quot;, # Optional proposed flight start time of the deal.
             # This will generally be stored in the granularity of one second since deal
             # serving starts at seconds boundary. Any time specified with more
             # granularity (e.g., in milliseconds) will be truncated towards the start of
             # time in seconds.
-        "availableEndTime": "A String", # Proposed flight end time of the deal.
-            # This will generally be stored in a granularity of a second.
-            # A value is not required for Private Auction deals or Preferred Deals.
-        "externalDealId": "A String", # Output only. The external deal ID assigned to this deal once the deal is
-            # finalized. This is the deal ID that shows up in serving/reporting etc.
-        "targeting": { # Targeting represents different criteria that can be used by advertisers to # Output only. Specifies the subset of inventory targeted by the deal.
+        &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time of the deal creation.
+        &quot;dealTerms&quot;: { # The deal terms specify the details of a Product/deal. They specify things # The negotiable terms of the deal.
+            # like price per buyer, the type of pricing model (e.g., fixed price, auction)
+            # and expected impressions from the publisher.
+          &quot;description&quot;: &quot;A String&quot;, # Publisher provided description for the terms.
+          &quot;nonGuaranteedFixedPriceTerms&quot;: { # Terms for Preferred Deals. Note that Preferred Deals cannot be created via # The terms for non-guaranteed fixed price deals.
+              # the API at this time, but can be returned in a get or list request.
+            &quot;fixedPrices&quot;: [ # Fixed price for the specified buyer.
+              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
+                  # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
+                  # a particular buyer or buyer/advertiser pair, we look for the most specific
+                  # matching rule - we first look for a rule matching the buyer and advertiser,
+                  # next a rule with the buyer but an empty advertiser list, and otherwise look
+                  # for a matching rule where no buyer is set.
+                &quot;price&quot;: { # Represents a price and a pricing type for a product / deal. # The specified price.
+                  &quot;amount&quot;: { # Represents an amount of money with its currency type. # The actual price with currency specified.
+                    &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+                    &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;pricingType&quot;: &quot;A String&quot;, # The pricing type for the deal/product. (default: CPM)
+                },
+                &quot;advertiserIds&quot;: [ # The list of advertisers for this price when associated with this buyer.
+                    # If empty, all advertisers with this buyer pay this price.
+                  &quot;A String&quot;,
+                ],
+                &quot;buyer&quot;: { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
+                    # (if the
+                    # advertisers match, and there&#x27;s no more specific rule matching the buyer).
+                    # Authorized Buyers account ID.
+                  &quot;accountId&quot;: &quot;A String&quot;, # Authorized Buyers account ID of the buyer.
+                },
+              },
+            ],
+          },
+          &quot;estimatedImpressionsPerDay&quot;: &quot;A String&quot;, # Non-binding estimate of the impressions served per day.
+              # Can be set by buyer or seller.
+          &quot;nonGuaranteedAuctionTerms&quot;: { # Terms for Private Auctions. Note that Private Auctions can be created only # The terms for non-guaranteed auction deals.
+              # by the seller, but they can be returned in a get or list request.
+            &quot;autoOptimizePrivateAuction&quot;: True or False, # True if open auction buyers are allowed to compete with invited buyers
+                # in this private auction.
+            &quot;reservePricesPerBuyer&quot;: [ # Reserve price for the specified buyer.
+              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
+                  # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
+                  # a particular buyer or buyer/advertiser pair, we look for the most specific
+                  # matching rule - we first look for a rule matching the buyer and advertiser,
+                  # next a rule with the buyer but an empty advertiser list, and otherwise look
+                  # for a matching rule where no buyer is set.
+                &quot;price&quot;: { # Represents a price and a pricing type for a product / deal. # The specified price.
+                  &quot;amount&quot;: { # Represents an amount of money with its currency type. # The actual price with currency specified.
+                    &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+                    &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;pricingType&quot;: &quot;A String&quot;, # The pricing type for the deal/product. (default: CPM)
+                },
+                &quot;advertiserIds&quot;: [ # The list of advertisers for this price when associated with this buyer.
+                    # If empty, all advertisers with this buyer pay this price.
+                  &quot;A String&quot;,
+                ],
+                &quot;buyer&quot;: { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
+                    # (if the
+                    # advertisers match, and there&#x27;s no more specific rule matching the buyer).
+                    # Authorized Buyers account ID.
+                  &quot;accountId&quot;: &quot;A String&quot;, # Authorized Buyers account ID of the buyer.
+                },
+              },
+            ],
+          },
+          &quot;estimatedGrossSpend&quot;: { # Represents a price and a pricing type for a product / deal. # Non-binding estimate of the estimated gross spend for this deal.
+              # Can be set by buyer or seller.
+            &quot;amount&quot;: { # Represents an amount of money with its currency type. # The actual price with currency specified.
+              &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+              &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;pricingType&quot;: &quot;A String&quot;, # The pricing type for the deal/product. (default: CPM)
+          },
+          &quot;brandingType&quot;: &quot;A String&quot;, # Visibility of the URL in bid requests. (default: BRANDED)
+          &quot;sellerTimeZone&quot;: &quot;A String&quot;, # The time zone name. For deals with Cost Per Day billing, defines the
+              # time zone used to mark the boundaries of a day. It should be an
+              # IANA TZ name, such as &quot;America/Los_Angeles&quot;. For more information,
+              # see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones.
+          &quot;guaranteedFixedPriceTerms&quot;: { # Terms for Programmatic Guaranteed Deals. # The terms for guaranteed fixed price deals.
+            &quot;guaranteedImpressions&quot;: &quot;A String&quot;, # Guaranteed impressions as a percentage. This is the percentage
+                # of guaranteed looks that the buyer is guaranteeing to buy.
+            &quot;minimumDailyLooks&quot;: &quot;A String&quot;, # Daily minimum looks for CPD deal types.
+            &quot;guaranteedLooks&quot;: &quot;A String&quot;, # Count of guaranteed looks. Required for deal, optional for product.
+            &quot;fixedPrices&quot;: [ # Fixed price for the specified buyer.
+              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
+                  # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
+                  # a particular buyer or buyer/advertiser pair, we look for the most specific
+                  # matching rule - we first look for a rule matching the buyer and advertiser,
+                  # next a rule with the buyer but an empty advertiser list, and otherwise look
+                  # for a matching rule where no buyer is set.
+                &quot;price&quot;: { # Represents a price and a pricing type for a product / deal. # The specified price.
+                  &quot;amount&quot;: { # Represents an amount of money with its currency type. # The actual price with currency specified.
+                    &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+                    &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;pricingType&quot;: &quot;A String&quot;, # The pricing type for the deal/product. (default: CPM)
+                },
+                &quot;advertiserIds&quot;: [ # The list of advertisers for this price when associated with this buyer.
+                    # If empty, all advertisers with this buyer pay this price.
+                  &quot;A String&quot;,
+                ],
+                &quot;buyer&quot;: { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
+                    # (if the
+                    # advertisers match, and there&#x27;s no more specific rule matching the buyer).
+                    # Authorized Buyers account ID.
+                  &quot;accountId&quot;: &quot;A String&quot;, # Authorized Buyers account ID of the buyer.
+                },
+              },
+            ],
+          },
+        },
+        &quot;targeting&quot;: { # Targeting represents different criteria that can be used by advertisers to # Output only. Specifies the subset of inventory targeted by the deal.
             # target ad inventory. For example, they can choose to target ad requests only
             # if the user is in the US.
             # Multiple types of targeting are always applied as a logical AND, unless noted
             # otherwise.
-          "placementTargeting": { # Represents targeting about where the ads can appear, e.g., certain sites or # Placement targeting information, e.g., URL, mobile applications.
-              # mobile applications.
-              # Different placement targeting types will be logically OR'ed.
-            "urlTargeting": { # Represents a list of targeted and excluded URLs (e.g., google.com). # URLs to be included/excluded.
-                # For Private Auction and AdX Preferred Deals, URLs are either included or
-                # excluded.
-                # For Programmatic Guaranteed and Preferred Deals, this doesn't
-                # apply.
-              "excludedUrls": [ # A list of URLs to be excluded.
-                "A String",
+          &quot;geoTargeting&quot;: { # Generic targeting used for targeting dimensions that contains a list of # Geo criteria IDs to be included/excluded.
+              # included and excluded numeric IDs.
+            &quot;targetedCriteriaIds&quot;: [ # A list of numeric IDs to be included.
+              &quot;A String&quot;,
+            ],
+            &quot;excludedCriteriaIds&quot;: [ # A list of numeric IDs to be excluded.
+              &quot;A String&quot;,
+            ],
+          },
+          &quot;inventorySizeTargeting&quot;: { # Represents the size of an ad unit that can be targeted on an ad # Inventory sizes to be included/excluded.
+              # request. It only applies to Private Auction, AdX Preferred Deals and
+              # Auction Packages. This targeting does not apply to Programmatic Guaranteed
+              # and Preferred Deals in Ad Manager.
+            &quot;targetedInventorySizes&quot;: [ # A list of inventory sizes to be included.
+              { # Represents size of a single ad slot, or a creative.
+                &quot;width&quot;: &quot;A String&quot;, # The width of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+                &quot;sizeType&quot;: &quot;A String&quot;, # The size type of the ad slot.
+                &quot;height&quot;: &quot;A String&quot;, # The height of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+              },
+            ],
+            &quot;excludedInventorySizes&quot;: [ # A list of inventory sizes to be excluded.
+              { # Represents size of a single ad slot, or a creative.
+                &quot;width&quot;: &quot;A String&quot;, # The width of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+                &quot;sizeType&quot;: &quot;A String&quot;, # The size type of the ad slot.
+                &quot;height&quot;: &quot;A String&quot;, # The height of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+              },
+            ],
+          },
+          &quot;videoTargeting&quot;: { # Represents targeting information about video. # Video targeting information.
+            &quot;targetedPositionTypes&quot;: [ # A list of video positions to be included.
+                # When the included list is present, the excluded list must be empty.
+                # When the excluded list is present, the included list must be empty.
+              &quot;A String&quot;,
+            ],
+            &quot;excludedPositionTypes&quot;: [ # A list of video positions to be excluded.
+                # Position types can either be included or excluded (XOR).
+              &quot;A String&quot;,
+            ],
+          },
+          &quot;technologyTargeting&quot;: { # Represents targeting about various types of technology. # Technology targeting information, e.g., operating system, device category.
+            &quot;deviceCapabilityTargeting&quot;: { # Generic targeting used for targeting dimensions that contains a list of # IDs of device capabilities to be included/excluded.
+                # included and excluded numeric IDs.
+              &quot;targetedCriteriaIds&quot;: [ # A list of numeric IDs to be included.
+                &quot;A String&quot;,
               ],
-              "targetedUrls": [ # A list of URLs to be included.
-                "A String",
+              &quot;excludedCriteriaIds&quot;: [ # A list of numeric IDs to be excluded.
+                &quot;A String&quot;,
               ],
             },
-            "mobileApplicationTargeting": { # Mobile application targeting settings. # Mobile application targeting information in a deal.
-                # This doesn't apply to Auction Packages.
-              "firstPartyTargeting": { # Represents a list of targeted and excluded mobile application IDs that # Publisher owned apps to be targeted or excluded by the publisher to
+            &quot;operatingSystemTargeting&quot;: { # Represents targeting information for operating systems. # Operating system related targeting information.
+              &quot;operatingSystemCriteria&quot;: { # Generic targeting used for targeting dimensions that contains a list of # IDs of operating systems to be included/excluded.
+                  # included and excluded numeric IDs.
+                &quot;targetedCriteriaIds&quot;: [ # A list of numeric IDs to be included.
+                  &quot;A String&quot;,
+                ],
+                &quot;excludedCriteriaIds&quot;: [ # A list of numeric IDs to be excluded.
+                  &quot;A String&quot;,
+                ],
+              },
+              &quot;operatingSystemVersionCriteria&quot;: { # Generic targeting used for targeting dimensions that contains a list of # IDs of operating system versions to be included/excluded.
+                  # included and excluded numeric IDs.
+                &quot;targetedCriteriaIds&quot;: [ # A list of numeric IDs to be included.
+                  &quot;A String&quot;,
+                ],
+                &quot;excludedCriteriaIds&quot;: [ # A list of numeric IDs to be excluded.
+                  &quot;A String&quot;,
+                ],
+              },
+            },
+            &quot;deviceCategoryTargeting&quot;: { # Generic targeting used for targeting dimensions that contains a list of # IDs of device categories to be included/excluded.
+                # included and excluded numeric IDs.
+              &quot;targetedCriteriaIds&quot;: [ # A list of numeric IDs to be included.
+                &quot;A String&quot;,
+              ],
+              &quot;excludedCriteriaIds&quot;: [ # A list of numeric IDs to be excluded.
+                &quot;A String&quot;,
+              ],
+            },
+          },
+          &quot;placementTargeting&quot;: { # Represents targeting about where the ads can appear, e.g., certain sites or # Placement targeting information, e.g., URL, mobile applications.
+              # mobile applications.
+              # Different placement targeting types will be logically OR&#x27;ed.
+            &quot;urlTargeting&quot;: { # Represents a list of targeted and excluded URLs (e.g., google.com). # URLs to be included/excluded.
+                # For Private Auction and AdX Preferred Deals, URLs are either included or
+                # excluded.
+                # For Programmatic Guaranteed and Preferred Deals, this doesn&#x27;t
+                # apply.
+              &quot;targetedUrls&quot;: [ # A list of URLs to be included.
+                &quot;A String&quot;,
+              ],
+              &quot;excludedUrls&quot;: [ # A list of URLs to be excluded.
+                &quot;A String&quot;,
+              ],
+            },
+            &quot;mobileApplicationTargeting&quot;: { # Mobile application targeting settings. # Mobile application targeting information in a deal.
+                # This doesn&#x27;t apply to Auction Packages.
+              &quot;firstPartyTargeting&quot;: { # Represents a list of targeted and excluded mobile application IDs that # Publisher owned apps to be targeted or excluded by the publisher to
                   # display the ads in.
                   # publishers own.
                   # Mobile application IDs are from App Store and Google Play Store.
@@ -1517,546 +1970,93 @@
                   # Google Play Store URL.
                   # iOS App ID (which is a number) can be found at the end of iTunes store URL.
                   # First party mobile applications is either included or excluded.
-                "excludedAppIds": [ # A list of application IDs to be excluded.
-                  "A String",
+                &quot;targetedAppIds&quot;: [ # A list of application IDs to be included.
+                  &quot;A String&quot;,
                 ],
-                "targetedAppIds": [ # A list of application IDs to be included.
-                  "A String",
+                &quot;excludedAppIds&quot;: [ # A list of application IDs to be excluded.
+                  &quot;A String&quot;,
                 ],
               },
             },
           },
-          "geoTargeting": { # Generic targeting used for targeting dimensions that contains a list of # Geo criteria IDs to be included/excluded.
-              # included and excluded numeric IDs.
-            "targetedCriteriaIds": [ # A list of numeric IDs to be included.
-              "A String",
-            ],
-            "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
-              "A String",
-            ],
-          },
-          "videoTargeting": { # Represents targeting information about video. # Video targeting information.
-            "excludedPositionTypes": [ # A list of video positions to be excluded.
-                # Position types can either be included or excluded (XOR).
-              "A String",
-            ],
-            "targetedPositionTypes": [ # A list of video positions to be included.
-                # When the included list is present, the excluded list must be empty.
-                # When the excluded list is present, the included list must be empty.
-              "A String",
-            ],
-          },
-          "technologyTargeting": { # Represents targeting about various types of technology. # Technology targeting information, e.g., operating system, device category.
-            "deviceCategoryTargeting": { # Generic targeting used for targeting dimensions that contains a list of # IDs of device categories to be included/excluded.
-                # included and excluded numeric IDs.
-              "targetedCriteriaIds": [ # A list of numeric IDs to be included.
-                "A String",
-              ],
-              "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
-                "A String",
-              ],
-            },
-            "operatingSystemTargeting": { # Represents targeting information for operating systems. # Operating system related targeting information.
-              "operatingSystemCriteria": { # Generic targeting used for targeting dimensions that contains a list of # IDs of operating systems to be included/excluded.
-                  # included and excluded numeric IDs.
-                "targetedCriteriaIds": [ # A list of numeric IDs to be included.
-                  "A String",
-                ],
-                "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
-                  "A String",
-                ],
-              },
-              "operatingSystemVersionCriteria": { # Generic targeting used for targeting dimensions that contains a list of # IDs of operating system versions to be included/excluded.
-                  # included and excluded numeric IDs.
-                "targetedCriteriaIds": [ # A list of numeric IDs to be included.
-                  "A String",
-                ],
-                "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
-                  "A String",
-                ],
-              },
-            },
-            "deviceCapabilityTargeting": { # Generic targeting used for targeting dimensions that contains a list of # IDs of device capabilities to be included/excluded.
-                # included and excluded numeric IDs.
-              "targetedCriteriaIds": [ # A list of numeric IDs to be included.
-                "A String",
-              ],
-              "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
-                "A String",
-              ],
-            },
-          },
-          "inventorySizeTargeting": { # Represents the size of an ad unit that can be targeted on an ad # Inventory sizes to be included/excluded.
-              # request. It only applies to Private Auction, AdX Preferred Deals and
-              # Auction Packages. This targeting does not apply to Programmatic Guaranteed
-              # and Preferred Deals in Ad Manager.
-            "targetedInventorySizes": [ # A list of inventory sizes to be included.
-              { # Represents size of a single ad slot, or a creative.
-                "width": "A String", # The width of the ad slot in pixels.
-                    # This field will be present only when size type is `PIXEL`.
-                "sizeType": "A String", # The size type of the ad slot.
-                "height": "A String", # The height of the ad slot in pixels.
-                    # This field will be present only when size type is `PIXEL`.
-              },
-            ],
-            "excludedInventorySizes": [ # A list of inventory sizes to be excluded.
-              { # Represents size of a single ad slot, or a creative.
-                "width": "A String", # The width of the ad slot in pixels.
-                    # This field will be present only when size type is `PIXEL`.
-                "sizeType": "A String", # The size type of the ad slot.
-                "height": "A String", # The height of the ad slot in pixels.
-                    # This field will be present only when size type is `PIXEL`.
-              },
-            ],
-          },
         },
-        "createTime": "A String", # Output only. The time of the deal creation.
-        "webPropertyCode": "A String", # The web property code for the seller copied over from the product.
-        "proposalId": "A String", # Output only. ID of the proposal that this deal is part of.
-        "deliveryControl": { # Message contains details about how the deals will be paced. # The set of fields around delivery control that are interesting for a buyer
+        &quot;creativePreApprovalPolicy&quot;: &quot;A String&quot;, # Output only. Specifies the creative pre-approval policy.
+        &quot;deliveryControl&quot;: { # Message contains details about how the deals will be paced. # The set of fields around delivery control that are interesting for a buyer
             # to see but are non-negotiable. These are set by the publisher.
-          "frequencyCaps": [ # Output only. Specifies any frequency caps.
+          &quot;deliveryRateType&quot;: &quot;A String&quot;, # Output only. Specifies how the impression delivery will be paced.
+          &quot;frequencyCaps&quot;: [ # Output only. Specifies any frequency caps.
             { # Frequency cap.
-              "numTimeUnits": 42, # The amount of time, in the units specified by time_unit_type. Defines the
+              &quot;numTimeUnits&quot;: 42, # The amount of time, in the units specified by time_unit_type. Defines the
                   # amount of time over which impressions per user are counted and capped.
-              "timeUnitType": "A String", # The time unit. Along with num_time_units defines the amount of time over
-                  # which impressions per user are counted and capped.
-              "maxImpressions": 42, # The maximum number of impressions that can be served to a user within the
+              &quot;maxImpressions&quot;: 42, # The maximum number of impressions that can be served to a user within the
                   # specified time period.
+              &quot;timeUnitType&quot;: &quot;A String&quot;, # The time unit. Along with num_time_units defines the amount of time over
+                  # which impressions per user are counted and capped.
             },
           ],
-          "creativeBlockingLevel": "A String", # Output only. Specified the creative blocking levels to be applied.
-          "deliveryRateType": "A String", # Output only. Specifies how the impression delivery will be paced.
+          &quot;creativeBlockingLevel&quot;: &quot;A String&quot;, # Output only. Specified the creative blocking levels to be applied.
         },
-        "description": "A String", # Description for the deal terms.
-        "dealId": "A String", # Output only. A unique deal ID for the deal (server-assigned).
-        "creativeSafeFrameCompatibility": "A String", # Output only. Specifies whether the creative is safeFrame compatible.
-        "creativePreApprovalPolicy": "A String", # Output only. Specifies the creative pre-approval policy.
-        "creativeRestrictions": { # Represents creative restrictions associated to Programmatic Guaranteed/ # Output only. Restricitions about the creatives associated with the deal
+        &quot;externalDealId&quot;: &quot;A String&quot;, # Output only. The external deal ID assigned to this deal once the deal is
+            # finalized. This is the deal ID that shows up in serving/reporting etc.
+        &quot;creativeRestrictions&quot;: { # Represents creative restrictions associated to Programmatic Guaranteed/ # Output only. Restricitions about the creatives associated with the deal
             # (i.e., size) This is available for Programmatic Guaranteed/Preferred Deals
             # in Ad Manager.
             # Preferred Deal in Ad Manager.
-            # This doesn't apply to Private Auction and AdX Preferred Deals.
-          "creativeFormat": "A String", # The format of the environment that the creatives will be displayed in.
-          "creativeSpecifications": [
+            # This doesn&#x27;t apply to Private Auction and AdX Preferred Deals.
+          &quot;creativeFormat&quot;: &quot;A String&quot;, # The format of the environment that the creatives will be displayed in.
+          &quot;creativeSpecifications&quot;: [
             { # Represents information for a creative that is associated with a Programmatic
                 # Guaranteed/Preferred Deal in Ad Manager.
-              "creativeSize": { # Represents size of a single ad slot, or a creative. # The size of the creative.
-                "width": "A String", # The width of the ad slot in pixels.
+              &quot;creativeSize&quot;: { # Represents size of a single ad slot, or a creative. # The size of the creative.
+                &quot;width&quot;: &quot;A String&quot;, # The width of the ad slot in pixels.
                     # This field will be present only when size type is `PIXEL`.
-                "sizeType": "A String", # The size type of the ad slot.
-                "height": "A String", # The height of the ad slot in pixels.
+                &quot;sizeType&quot;: &quot;A String&quot;, # The size type of the ad slot.
+                &quot;height&quot;: &quot;A String&quot;, # The height of the ad slot in pixels.
                     # This field will be present only when size type is `PIXEL`.
               },
-              "creativeCompanionSizes": [ # Companion sizes may be filled in only when this is a video creative.
+              &quot;creativeCompanionSizes&quot;: [ # Companion sizes may be filled in only when this is a video creative.
                 { # Represents size of a single ad slot, or a creative.
-                  "width": "A String", # The width of the ad slot in pixels.
+                  &quot;width&quot;: &quot;A String&quot;, # The width of the ad slot in pixels.
                       # This field will be present only when size type is `PIXEL`.
-                  "sizeType": "A String", # The size type of the ad slot.
-                  "height": "A String", # The height of the ad slot in pixels.
+                  &quot;sizeType&quot;: &quot;A String&quot;, # The size type of the ad slot.
+                  &quot;height&quot;: &quot;A String&quot;, # The height of the ad slot in pixels.
                       # This field will be present only when size type is `PIXEL`.
                 },
               ],
             },
           ],
-          "skippableAdType": "A String", # Skippable video ads allow viewers to skip ads after 5 seconds.
+          &quot;skippableAdType&quot;: &quot;A String&quot;, # Skippable video ads allow viewers to skip ads after 5 seconds.
         },
-        "createProductId": "A String", # The product ID from which this deal was created.
-            #
-            # Note: This field may be set only when creating the resource. Modifying
-            # this field while updating the resource will result in an error.
-        "dealTerms": { # The deal terms specify the details of a Product/deal. They specify things # The negotiable terms of the deal.
-            # like price per buyer, the type of pricing model (e.g., fixed price, auction)
-            # and expected impressions from the publisher.
-          "brandingType": "A String", # Visibility of the URL in bid requests. (default: BRANDED)
-          "estimatedGrossSpend": { # Represents a price and a pricing type for a product / deal. # Non-binding estimate of the estimated gross spend for this deal.
-              # Can be set by buyer or seller.
-            "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
-            "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
-              "nanos": 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.
-              "units": "A String", # The whole units of the amount.
-                  # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-              "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-            },
-          },
-          "sellerTimeZone": "A String", # The time zone name. For deals with Cost Per Day billing, defines the
-              # time zone used to mark the boundaries of a day. It should be an
-              # IANA TZ name, such as "America/Los_Angeles". For more information,
-              # see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones.
-          "estimatedImpressionsPerDay": "A String", # Non-binding estimate of the impressions served per day.
-              # Can be set by buyer or seller.
-          "nonGuaranteedFixedPriceTerms": { # Terms for Preferred Deals. Note that Preferred Deals cannot be created via # The terms for non-guaranteed fixed price deals.
-              # the API at this time, but can be returned in a get or list request.
-            "fixedPrices": [ # Fixed price for the specified buyer.
-              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
-                  # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
-                  # a particular buyer or buyer/advertiser pair, we look for the most specific
-                  # matching rule - we first look for a rule matching the buyer and advertiser,
-                  # next a rule with the buyer but an empty advertiser list, and otherwise look
-                  # for a matching rule where no buyer is set.
-                "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
-                    # (if the
-                    # advertisers match, and there's no more specific rule matching the buyer).
-                    # Authorized Buyers account ID.
-                  "accountId": "A String", # Authorized Buyers account ID of the buyer.
-                },
-                "advertiserIds": [ # The list of advertisers for this price when associated with this buyer.
-                    # If empty, all advertisers with this buyer pay this price.
-                  "A String",
-                ],
-                "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
-                  "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
-                  "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
-                    "nanos": 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.
-                    "units": "A String", # The whole units of the amount.
-                        # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-                    "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-                  },
-                },
-              },
-            ],
-          },
-          "guaranteedFixedPriceTerms": { # Terms for Programmatic Guaranteed Deals. # The terms for guaranteed fixed price deals.
-            "guaranteedImpressions": "A String", # Guaranteed impressions as a percentage. This is the percentage
-                # of guaranteed looks that the buyer is guaranteeing to buy.
-            "fixedPrices": [ # Fixed price for the specified buyer.
-              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
-                  # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
-                  # a particular buyer or buyer/advertiser pair, we look for the most specific
-                  # matching rule - we first look for a rule matching the buyer and advertiser,
-                  # next a rule with the buyer but an empty advertiser list, and otherwise look
-                  # for a matching rule where no buyer is set.
-                "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
-                    # (if the
-                    # advertisers match, and there's no more specific rule matching the buyer).
-                    # Authorized Buyers account ID.
-                  "accountId": "A String", # Authorized Buyers account ID of the buyer.
-                },
-                "advertiserIds": [ # The list of advertisers for this price when associated with this buyer.
-                    # If empty, all advertisers with this buyer pay this price.
-                  "A String",
-                ],
-                "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
-                  "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
-                  "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
-                    "nanos": 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.
-                    "units": "A String", # The whole units of the amount.
-                        # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-                    "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-                  },
-                },
-              },
-            ],
-            "minimumDailyLooks": "A String", # Daily minimum looks for CPD deal types.
-            "guaranteedLooks": "A String", # Count of guaranteed looks. Required for deal, optional for product.
-          },
-          "nonGuaranteedAuctionTerms": { # Terms for Private Auctions. Note that Private Auctions can be created only # The terms for non-guaranteed auction deals.
-              # by the seller, but they can be returned in a get or list request.
-            "reservePricesPerBuyer": [ # Reserve price for the specified buyer.
-              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
-                  # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
-                  # a particular buyer or buyer/advertiser pair, we look for the most specific
-                  # matching rule - we first look for a rule matching the buyer and advertiser,
-                  # next a rule with the buyer but an empty advertiser list, and otherwise look
-                  # for a matching rule where no buyer is set.
-                "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
-                    # (if the
-                    # advertisers match, and there's no more specific rule matching the buyer).
-                    # Authorized Buyers account ID.
-                  "accountId": "A String", # Authorized Buyers account ID of the buyer.
-                },
-                "advertiserIds": [ # The list of advertisers for this price when associated with this buyer.
-                    # If empty, all advertisers with this buyer pay this price.
-                  "A String",
-                ],
-                "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
-                  "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
-                  "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
-                    "nanos": 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.
-                    "units": "A String", # The whole units of the amount.
-                        # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-                    "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-                  },
-                },
-              },
-            ],
-            "autoOptimizePrivateAuction": True or False, # True if open auction buyers are allowed to compete with invited buyers
-                # in this private auction.
-          },
-          "description": "A String", # Publisher provided description for the terms.
-        },
-        "sellerContacts": [ # Output only. Seller contact information for the deal.
-          { # Contains information on how a buyer or seller can be reached.
-            "email": "A String", # Email address for the contact.
-            "name": "A String", # The name of the contact.
-          },
-        ],
-        "displayName": "A String", # The name of the deal.
-        "buyerPrivateData": { # Buyers are allowed to store certain types of private data in a proposal/deal. # Buyer private data (hidden from seller).
-          "referenceId": "A String", # A buyer or seller specified reference ID. This can be queried in the list
-              # operations (max-length: 1024 unicode code units).
-        },
-        "syndicationProduct": "A String", # The syndication product associated with the deal.
-            #
-            # Note: This field may be set only when creating the resource. Modifying
-            # this field while updating the resource will result in an error.
-        "targetingCriterion": [ # The shared targeting visible to buyers and sellers. Each shared
-            # targeting entity is AND'd together.
-          { # Advertisers can target different attributes of an ad slot. For example,
-              # they can choose to show ads only if the user is in the U.S. Such
-              # targeting criteria can be specified as part of Shared Targeting.
-            "inclusions": [ # The list of value to include as part of the targeting. Each value is OR'd
-                # together.
-              { # A polymorphic targeting value used as part of Shared Targeting.
-                "stringValue": "A String", # The string value to include/exclude.
-                "longValue": "A String", # The long value to include/exclude.
-                "dayPartTargetingValue": { # Specifies the day part targeting criteria. # The daypart targeting to include / exclude.
-                    # Filled in when the key is GOOG_DAYPART_TARGETING.
-                    # The definition of this targeting is derived from the structure
-                    # used by Ad Manager.
-                  "dayParts": [ # A list of day part targeting criterion.
-                    { # Daypart targeting message that specifies if the ad can be shown
-                        # only during certain parts of a day/week.
-                      "dayOfWeek": "A String", # The day of the week to target. If unspecified, applicable to all days.
-                      "endTime": { # Represents a time of day. The date and time zone are either not significant # The ending time of the day for the ad to show (minute level
-                          # granularity). The end time is exclusive. This field is not available
-                          # for filtering in PQL queries.
-                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
-                          # types are google.type.Date and `google.protobuf.Timestamp`.
-                        "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
-                            # to allow the value "24:00:00" for scenarios like business closing time.
-                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                        "seconds": 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.
-                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                      },
-                      "startTime": { # Represents a time of day. The date and time zone are either not significant # The starting time of day for the ad to show (minute level granularity).
-                          # The start time is inclusive.
-                          # This field is not available for filtering in PQL queries.
-                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
-                          # types are google.type.Date and `google.protobuf.Timestamp`.
-                        "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
-                            # to allow the value "24:00:00" for scenarios like business closing time.
-                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                        "seconds": 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.
-                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                      },
-                    },
-                  ],
-                  "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
-                },
-                "creativeSizeValue": { # Specifies the size of the creative. # The creative size value to include/exclude.
-                    # Filled in when key = GOOG_CREATIVE_SIZE
-                  "companionSizes": [ # For video creatives specifies the sizes of companion ads (if present).
-                      # Companion sizes may be filled in only when creative_size_type = VIDEO
-                    { # Message depicting the size of the creative. The units of width and
-                        # height depend on the type of the targeting.
-                      "width": 42, # The width of the creative
-                      "height": 42, # The height of the creative.
-                    },
-                  ],
-                  "nativeTemplate": "A String", # Output only. The native template for this creative. It will have a value
-                      # only if creative_size_type = CreativeSizeType.NATIVE.
-                  "allowedFormats": [ # What formats are allowed by the publisher.
-                      # If this repeated field is empty then all formats are allowed.
-                      # For example, if this field contains AllowedFormatType.AUDIO then the
-                      # publisher only allows an audio ad (without any video).
-                    "A String",
-                  ],
-                  "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if
-                      # creative_size_type = CreativeSizeType.VIDEO.
-                  "creativeSizeType": "A String", # The creative size type.
-                  "size": { # Message depicting the size of the creative. The units of width and # For regular or video creative size type, specifies the size
-                      # of the creative
-                      # height depend on the type of the targeting.
-                    "width": 42, # The width of the creative
-                    "height": 42, # The height of the creative.
-                  },
-                },
-              },
-            ],
-            "exclusions": [ # The list of values to exclude from targeting. Each value is AND'd
-                # together.
-              { # A polymorphic targeting value used as part of Shared Targeting.
-                "stringValue": "A String", # The string value to include/exclude.
-                "longValue": "A String", # The long value to include/exclude.
-                "dayPartTargetingValue": { # Specifies the day part targeting criteria. # The daypart targeting to include / exclude.
-                    # Filled in when the key is GOOG_DAYPART_TARGETING.
-                    # The definition of this targeting is derived from the structure
-                    # used by Ad Manager.
-                  "dayParts": [ # A list of day part targeting criterion.
-                    { # Daypart targeting message that specifies if the ad can be shown
-                        # only during certain parts of a day/week.
-                      "dayOfWeek": "A String", # The day of the week to target. If unspecified, applicable to all days.
-                      "endTime": { # Represents a time of day. The date and time zone are either not significant # The ending time of the day for the ad to show (minute level
-                          # granularity). The end time is exclusive. This field is not available
-                          # for filtering in PQL queries.
-                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
-                          # types are google.type.Date and `google.protobuf.Timestamp`.
-                        "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
-                            # to allow the value "24:00:00" for scenarios like business closing time.
-                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                        "seconds": 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.
-                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                      },
-                      "startTime": { # Represents a time of day. The date and time zone are either not significant # The starting time of day for the ad to show (minute level granularity).
-                          # The start time is inclusive.
-                          # This field is not available for filtering in PQL queries.
-                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
-                          # types are google.type.Date and `google.protobuf.Timestamp`.
-                        "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
-                            # to allow the value "24:00:00" for scenarios like business closing time.
-                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                        "seconds": 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.
-                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                      },
-                    },
-                  ],
-                  "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
-                },
-                "creativeSizeValue": { # Specifies the size of the creative. # The creative size value to include/exclude.
-                    # Filled in when key = GOOG_CREATIVE_SIZE
-                  "companionSizes": [ # For video creatives specifies the sizes of companion ads (if present).
-                      # Companion sizes may be filled in only when creative_size_type = VIDEO
-                    { # Message depicting the size of the creative. The units of width and
-                        # height depend on the type of the targeting.
-                      "width": 42, # The width of the creative
-                      "height": 42, # The height of the creative.
-                    },
-                  ],
-                  "nativeTemplate": "A String", # Output only. The native template for this creative. It will have a value
-                      # only if creative_size_type = CreativeSizeType.NATIVE.
-                  "allowedFormats": [ # What formats are allowed by the publisher.
-                      # If this repeated field is empty then all formats are allowed.
-                      # For example, if this field contains AllowedFormatType.AUDIO then the
-                      # publisher only allows an audio ad (without any video).
-                    "A String",
-                  ],
-                  "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if
-                      # creative_size_type = CreativeSizeType.VIDEO.
-                  "creativeSizeType": "A String", # The creative size type.
-                  "size": { # Message depicting the size of the creative. The units of width and # For regular or video creative size type, specifies the size
-                      # of the creative
-                      # height depend on the type of the targeting.
-                    "width": 42, # The width of the creative
-                    "height": 42, # The height of the creative.
-                  },
-                },
-              },
-            ],
-            "key": "A String", # The key representing the shared targeting criterion.
-                # Targeting criteria defined by Google ad servers will begin with GOOG_.
-                # Third parties may define their own keys.
-                # A list of permissible keys along with the acceptable values will be
-                # provided as part of the external documentation.
-          },
-        ],
-        "dealServingMetadata": { # Message captures metadata about the serving status of a deal. # Output only. Metadata about the serving status of this deal.
-          "dealPauseStatus": { # Tracks which parties (if any) have paused a deal. # Output only. Tracks which parties (if any) have paused a deal.
+        &quot;dealServingMetadata&quot;: { # Message captures metadata about the serving status of a deal. # Output only. Metadata about the serving status of this deal.
+          &quot;dealPauseStatus&quot;: { # Tracks which parties (if any) have paused a deal. # Output only. Tracks which parties (if any) have paused a deal.
               # The deal is considered paused if either hasBuyerPaused or
               # hasSellPaused is true.
-            "hasSellerPaused": True or False, # True, if the seller has paused the deal unilaterally.
-            "buyerPauseReason": "A String", # The buyer's reason for pausing, if the buyer paused the deal.
-            "sellerPauseReason": "A String", # The seller's reason for pausing, if the seller paused the deal.
-            "hasBuyerPaused": True or False, # True, if the buyer has paused the deal unilaterally.
-            "firstPausedBy": "A String", # The role of the person who first paused this deal.
+            &quot;firstPausedBy&quot;: &quot;A String&quot;, # The role of the person who first paused this deal.
+            &quot;sellerPauseReason&quot;: &quot;A String&quot;, # The seller&#x27;s reason for pausing, if the seller paused the deal.
+            &quot;hasSellerPaused&quot;: True or False, # True, if the seller has paused the deal unilaterally.
+            &quot;buyerPauseReason&quot;: &quot;A String&quot;, # The buyer&#x27;s reason for pausing, if the buyer paused the deal.
+            &quot;hasBuyerPaused&quot;: True or False, # True, if the buyer has paused the deal unilaterally.
           },
         },
-        "isSetupComplete": True or False, # Output only. True, if the buyside inventory setup is complete for this
-            # deal.
+        &quot;description&quot;: &quot;A String&quot;, # Description for the deal terms.
       },
     ],
-    "updateTime": "A String", # Output only. The time when the proposal was last revised.
-    "proposalState": "A String", # Output only. The current state of the proposal.
-    "proposalRevision": "A String", # Output only. The revision number for the proposal.
+    &quot;proposalRevision&quot;: &quot;A String&quot;, # Output only. The revision number for the proposal.
         # Each update to the proposal or the deal causes the proposal revision number
         # to auto-increment. The buyer keeps track of the last revision number they
         # know of and pass it in when making an update. If the head revision number
         # on the server has since incremented, then an ABORTED error is returned
         # during the update operation to let the buyer know that a subsequent update
         # was made.
-    "buyerPrivateData": { # Buyers are allowed to store certain types of private data in a proposal/deal. # Private data for buyer. (hidden from seller).
-      "referenceId": "A String", # A buyer or seller specified reference ID. This can be queried in the list
-          # operations (max-length: 1024 unicode code units).
-    },
-    "privateAuctionId": "A String", # Output only. Private auction ID if this proposal is a private auction
-        # proposal.
-    "notes": [ # Output only. The notes associated with this proposal.
-      { # A proposal may be associated to several notes.
-        "note": "A String", # The actual note to attach.
-            # (max-length: 1024 unicode code units)
-            #
-            # Note: This field may be set only when creating the resource. Modifying
-            # this field while updating the resource will result in an error.
-        "creatorRole": "A String", # Output only. The role of the person (buyer/seller) creating the note.
-        "proposalRevision": "A String", # Output only. The revision number of the proposal when the note is created.
-        "createTime": "A String", # Output only. The timestamp for when this note was created.
-        "noteId": "A String", # Output only. The unique ID for the note.
-      },
-    ],
-    "originatorRole": "A String", # Output only. Indicates whether the buyer/seller created the proposal.
-    "billedBuyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # Output only. Reference to the buyer that will get billed for this proposal.
-        # Authorized Buyers account ID.
-      "accountId": "A String", # Authorized Buyers account ID of the buyer.
-    },
-    "seller": { # Represents a seller of inventory. Each seller is identified by a unique # Reference to the seller on the proposal.
+    &quot;seller&quot;: { # Represents a seller of inventory. Each seller is identified by a unique # Reference to the seller on the proposal.
         #
         # Note: This field may be set only when creating the resource. Modifying
         # this field while updating the resource will result in an error.
         # Ad Manager account ID.
-      "subAccountId": "A String", # Optional sub-account ID for the seller.
-      "accountId": "A String", # The unique ID for the seller. The seller fills in this field.
+      &quot;subAccountId&quot;: &quot;A String&quot;, # Optional sub-account ID for the seller.
+      &quot;accountId&quot;: &quot;A String&quot;, # The unique ID for the seller. The seller fills in this field.
           # The seller account ID is then available to buyer in the product.
     },
-    "sellerContacts": [ # Output only. Contact information for the seller.
-      { # Contains information on how a buyer or seller can be reached.
-        "email": "A String", # Email address for the contact.
-        "name": "A String", # The name of the contact.
-      },
-    ],
-    "proposalId": "A String", # Output only. The unique ID of the proposal.
-    "isRenegotiating": True or False, # Output only. True if the proposal is being renegotiated.
-    "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # Reference to the buyer on the proposal.
-        #
-        # Note: This field may be set only when creating the resource. Modifying
-        # this field while updating the resource will result in an error.
-        # Authorized Buyers account ID.
-      "accountId": "A String", # Authorized Buyers account ID of the buyer.
-    },
-    "isSetupComplete": True or False, # Output only. True, if the buyside inventory setup is complete for this
-        # proposal.
-    "displayName": "A String", # The name for the proposal.
-    "lastUpdaterOrCommentorRole": "A String", # Output only. The role of the last user that either updated the proposal or
-        # left a comment.
-    "buyerContacts": [ # Contact information for the buyer.
-      { # Contains information on how a buyer or seller can be reached.
-        "email": "A String", # Email address for the contact.
-        "name": "A String", # The name of the contact.
-      },
-    ],
   }</pre>
 </div>
 
@@ -2081,55 +2081,508 @@
     # Auction or Preferred Deals deals through the API.
     # 
     # Fields are updatable unless noted otherwise.
-  "deals": [ # The deals associated with this proposal. For Private Auction proposals
+  &quot;buyer&quot;: { # Represents a buyer of inventory. Each buyer is identified by a unique # Reference to the buyer on the proposal.
+      # 
+      # Note: This field may be set only when creating the resource. Modifying
+      # this field while updating the resource will result in an error.
+      # Authorized Buyers account ID.
+    &quot;accountId&quot;: &quot;A String&quot;, # Authorized Buyers account ID of the buyer.
+  },
+  &quot;isRenegotiating&quot;: True or False, # Output only. True if the proposal is being renegotiated.
+  &quot;notes&quot;: [ # Output only. The notes associated with this proposal.
+    { # A proposal may be associated to several notes.
+      &quot;note&quot;: &quot;A String&quot;, # The actual note to attach.
+          # (max-length: 1024 unicode code units)
+          #
+          # Note: This field may be set only when creating the resource. Modifying
+          # this field while updating the resource will result in an error.
+      &quot;proposalRevision&quot;: &quot;A String&quot;, # Output only. The revision number of the proposal when the note is created.
+      &quot;noteId&quot;: &quot;A String&quot;, # Output only. The unique ID for the note.
+      &quot;createTime&quot;: &quot;A String&quot;, # Output only. The timestamp for when this note was created.
+      &quot;creatorRole&quot;: &quot;A String&quot;, # Output only. The role of the person (buyer/seller) creating the note.
+    },
+  ],
+  &quot;isSetupComplete&quot;: True or False, # Output only. True, if the buyside inventory setup is complete for this
+      # proposal.
+  &quot;proposalState&quot;: &quot;A String&quot;, # Output only. The current state of the proposal.
+  &quot;sellerContacts&quot;: [ # Output only. Contact information for the seller.
+    { # Contains information on how a buyer or seller can be reached.
+      &quot;email&quot;: &quot;A String&quot;, # Email address for the contact.
+      &quot;name&quot;: &quot;A String&quot;, # The name of the contact.
+    },
+  ],
+  &quot;privateAuctionId&quot;: &quot;A String&quot;, # Output only. Private auction ID if this proposal is a private auction
+      # proposal.
+  &quot;originatorRole&quot;: &quot;A String&quot;, # Output only. Indicates whether the buyer/seller created the proposal.
+  &quot;lastUpdaterOrCommentorRole&quot;: &quot;A String&quot;, # Output only. The role of the last user that either updated the proposal or
+      # left a comment.
+  &quot;buyerPrivateData&quot;: { # Buyers are allowed to store certain types of private data in a proposal/deal. # Private data for buyer. (hidden from seller).
+    &quot;referenceId&quot;: &quot;A String&quot;, # A buyer or seller specified reference ID. This can be queried in the list
+        # operations (max-length: 1024 unicode code units).
+  },
+  &quot;displayName&quot;: &quot;A String&quot;, # The name for the proposal.
+  &quot;buyerContacts&quot;: [ # Contact information for the buyer.
+    { # Contains information on how a buyer or seller can be reached.
+      &quot;email&quot;: &quot;A String&quot;, # Email address for the contact.
+      &quot;name&quot;: &quot;A String&quot;, # The name of the contact.
+    },
+  ],
+  &quot;billedBuyer&quot;: { # Represents a buyer of inventory. Each buyer is identified by a unique # Output only. Reference to the buyer that will get billed for this proposal.
+      # Authorized Buyers account ID.
+    &quot;accountId&quot;: &quot;A String&quot;, # Authorized Buyers account ID of the buyer.
+  },
+  &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time when the proposal was last revised.
+  &quot;proposalId&quot;: &quot;A String&quot;, # Output only. The unique ID of the proposal.
+  &quot;deals&quot;: [ # The deals associated with this proposal. For Private Auction proposals
       # (whose deals have NonGuaranteedAuctionTerms), there will only be one deal.
     { # A deal represents a segment of inventory for displaying ads on.
         # A proposal can contain multiple deals. A deal contains the terms and
         # targeting information that is used for serving.
-      "updateTime": "A String", # Output only. The time when the deal was last updated.
-      "createProductRevision": "A String", # Optional revision number of the product that the deal was created from.
+      &quot;programmaticCreativeSource&quot;: &quot;A String&quot;, # Output only. Specifies the creative source for programmatic deals.
+          # PUBLISHER means creative is provided by seller and ADVERTISER means
+          # creative is provided by buyer.
+      &quot;buyerPrivateData&quot;: { # Buyers are allowed to store certain types of private data in a proposal/deal. # Buyer private data (hidden from seller).
+        &quot;referenceId&quot;: &quot;A String&quot;, # A buyer or seller specified reference ID. This can be queried in the list
+            # operations (max-length: 1024 unicode code units).
+      },
+      &quot;displayName&quot;: &quot;A String&quot;, # The name of the deal.
+      &quot;webPropertyCode&quot;: &quot;A String&quot;, # The web property code for the seller copied over from the product.
+      &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time when the deal was last updated.
+      &quot;targetingCriterion&quot;: [ # The shared targeting visible to buyers and sellers. Each shared
+          # targeting entity is AND&#x27;d together.
+        { # Advertisers can target different attributes of an ad slot. For example,
+            # they can choose to show ads only if the user is in the U.S. Such
+            # targeting criteria can be specified as part of Shared Targeting.
+          &quot;exclusions&quot;: [ # The list of values to exclude from targeting. Each value is AND&#x27;d
+              # together.
+            { # A polymorphic targeting value used as part of Shared Targeting.
+              &quot;creativeSizeValue&quot;: { # Specifies the size of the creative. # The creative size value to include/exclude.
+                  # Filled in when key = GOOG_CREATIVE_SIZE
+                &quot;size&quot;: { # Message depicting the size of the creative. The units of width and # For regular or video creative size type, specifies the size
+                    # of the creative
+                    # height depend on the type of the targeting.
+                  &quot;height&quot;: 42, # The height of the creative.
+                  &quot;width&quot;: 42, # The width of the creative
+                },
+                &quot;allowedFormats&quot;: [ # What formats are allowed by the publisher.
+                    # If this repeated field is empty then all formats are allowed.
+                    # For example, if this field contains AllowedFormatType.AUDIO then the
+                    # publisher only allows an audio ad (without any video).
+                  &quot;A String&quot;,
+                ],
+                &quot;companionSizes&quot;: [ # For video creatives specifies the sizes of companion ads (if present).
+                    # Companion sizes may be filled in only when creative_size_type = VIDEO
+                  { # Message depicting the size of the creative. The units of width and
+                      # height depend on the type of the targeting.
+                    &quot;height&quot;: 42, # The height of the creative.
+                    &quot;width&quot;: 42, # The width of the creative
+                  },
+                ],
+                &quot;skippableAdType&quot;: &quot;A String&quot;, # The type of skippable ad for this creative. It will have a value only if
+                    # creative_size_type = CreativeSizeType.VIDEO.
+                &quot;creativeSizeType&quot;: &quot;A String&quot;, # The creative size type.
+                &quot;nativeTemplate&quot;: &quot;A String&quot;, # Output only. The native template for this creative. It will have a value
+                    # only if creative_size_type = CreativeSizeType.NATIVE.
+              },
+              &quot;stringValue&quot;: &quot;A String&quot;, # The string value to include/exclude.
+              &quot;longValue&quot;: &quot;A String&quot;, # The long value to include/exclude.
+              &quot;dayPartTargetingValue&quot;: { # Specifies the day part targeting criteria. # The daypart targeting to include / exclude.
+                  # Filled in when the key is GOOG_DAYPART_TARGETING.
+                  # The definition of this targeting is derived from the structure
+                  # used by Ad Manager.
+                &quot;timeZoneType&quot;: &quot;A String&quot;, # The timezone to use for interpreting the day part targeting.
+                &quot;dayParts&quot;: [ # A list of day part targeting criterion.
+                  { # Daypart targeting message that specifies if the ad can be shown
+                      # only during certain parts of a day/week.
+                    &quot;startTime&quot;: { # Represents a time of day. The date and time zone are either not significant # The starting time of day for the ad to show (minute level granularity).
+                        # The start time is inclusive.
+                        # This field is not available for filtering in PQL queries.
+                        # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                        # types are google.type.Date and `google.protobuf.Timestamp`.
+                      &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;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;dayOfWeek&quot;: &quot;A String&quot;, # The day of the week to target. If unspecified, applicable to all days.
+                    &quot;endTime&quot;: { # Represents a time of day. The date and time zone are either not significant # The ending time of the day for the ad to show (minute level
+                        # granularity). The end time is exclusive. This field is not available
+                        # for filtering in PQL queries.
+                        # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                        # types are google.type.Date and `google.protobuf.Timestamp`.
+                      &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;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;key&quot;: &quot;A String&quot;, # The key representing the shared targeting criterion.
+              # Targeting criteria defined by Google ad servers will begin with GOOG_.
+              # Third parties may define their own keys.
+              # A list of permissible keys along with the acceptable values will be
+              # provided as part of the external documentation.
+          &quot;inclusions&quot;: [ # The list of value to include as part of the targeting. Each value is OR&#x27;d
+              # together.
+            { # A polymorphic targeting value used as part of Shared Targeting.
+              &quot;creativeSizeValue&quot;: { # Specifies the size of the creative. # The creative size value to include/exclude.
+                  # Filled in when key = GOOG_CREATIVE_SIZE
+                &quot;size&quot;: { # Message depicting the size of the creative. The units of width and # For regular or video creative size type, specifies the size
+                    # of the creative
+                    # height depend on the type of the targeting.
+                  &quot;height&quot;: 42, # The height of the creative.
+                  &quot;width&quot;: 42, # The width of the creative
+                },
+                &quot;allowedFormats&quot;: [ # What formats are allowed by the publisher.
+                    # If this repeated field is empty then all formats are allowed.
+                    # For example, if this field contains AllowedFormatType.AUDIO then the
+                    # publisher only allows an audio ad (without any video).
+                  &quot;A String&quot;,
+                ],
+                &quot;companionSizes&quot;: [ # For video creatives specifies the sizes of companion ads (if present).
+                    # Companion sizes may be filled in only when creative_size_type = VIDEO
+                  { # Message depicting the size of the creative. The units of width and
+                      # height depend on the type of the targeting.
+                    &quot;height&quot;: 42, # The height of the creative.
+                    &quot;width&quot;: 42, # The width of the creative
+                  },
+                ],
+                &quot;skippableAdType&quot;: &quot;A String&quot;, # The type of skippable ad for this creative. It will have a value only if
+                    # creative_size_type = CreativeSizeType.VIDEO.
+                &quot;creativeSizeType&quot;: &quot;A String&quot;, # The creative size type.
+                &quot;nativeTemplate&quot;: &quot;A String&quot;, # Output only. The native template for this creative. It will have a value
+                    # only if creative_size_type = CreativeSizeType.NATIVE.
+              },
+              &quot;stringValue&quot;: &quot;A String&quot;, # The string value to include/exclude.
+              &quot;longValue&quot;: &quot;A String&quot;, # The long value to include/exclude.
+              &quot;dayPartTargetingValue&quot;: { # Specifies the day part targeting criteria. # The daypart targeting to include / exclude.
+                  # Filled in when the key is GOOG_DAYPART_TARGETING.
+                  # The definition of this targeting is derived from the structure
+                  # used by Ad Manager.
+                &quot;timeZoneType&quot;: &quot;A String&quot;, # The timezone to use for interpreting the day part targeting.
+                &quot;dayParts&quot;: [ # A list of day part targeting criterion.
+                  { # Daypart targeting message that specifies if the ad can be shown
+                      # only during certain parts of a day/week.
+                    &quot;startTime&quot;: { # Represents a time of day. The date and time zone are either not significant # The starting time of day for the ad to show (minute level granularity).
+                        # The start time is inclusive.
+                        # This field is not available for filtering in PQL queries.
+                        # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                        # types are google.type.Date and `google.protobuf.Timestamp`.
+                      &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;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;dayOfWeek&quot;: &quot;A String&quot;, # The day of the week to target. If unspecified, applicable to all days.
+                    &quot;endTime&quot;: { # Represents a time of day. The date and time zone are either not significant # The ending time of the day for the ad to show (minute level
+                        # granularity). The end time is exclusive. This field is not available
+                        # for filtering in PQL queries.
+                        # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                        # types are google.type.Date and `google.protobuf.Timestamp`.
+                      &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;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;dealId&quot;: &quot;A String&quot;, # Output only. A unique deal ID for the deal (server-assigned).
+      &quot;proposalId&quot;: &quot;A String&quot;, # Output only. ID of the proposal that this deal is part of.
+      &quot;availableEndTime&quot;: &quot;A String&quot;, # Proposed flight end time of the deal.
+          # This will generally be stored in a granularity of a second.
+          # A value is not required for Private Auction deals or Preferred Deals.
+      &quot;syndicationProduct&quot;: &quot;A String&quot;, # The syndication product associated with the deal.
+          #
+          # Note: This field may be set only when creating the resource. Modifying
+          # this field while updating the resource will result in an error.
+      &quot;createProductId&quot;: &quot;A String&quot;, # The product ID from which this deal was created.
+          #
+          # Note: This field may be set only when creating the resource. Modifying
+          # this field while updating the resource will result in an error.
+      &quot;creativeSafeFrameCompatibility&quot;: &quot;A String&quot;, # Output only. Specifies whether the creative is safeFrame compatible.
+      &quot;isSetupComplete&quot;: True or False, # Output only. True, if the buyside inventory setup is complete for this
+          # deal.
+      &quot;createProductRevision&quot;: &quot;A String&quot;, # Optional revision number of the product that the deal was created from.
           # If present on create, and the server `product_revision` has advanced sinced
           # the passed-in `create_product_revision`, an `ABORTED` error will be
           # returned.
           #
           # Note: This field may be set only when creating the resource. Modifying
           # this field while updating the resource will result in an error.
-      "programmaticCreativeSource": "A String", # Output only. Specifies the creative source for programmatic deals.
-          # PUBLISHER means creative is provided by seller and ADVERTISER means
-          # creative is provided by buyer.
-      "availableStartTime": "A String", # Optional proposed flight start time of the deal.
+      &quot;sellerContacts&quot;: [ # Output only. Seller contact information for the deal.
+        { # Contains information on how a buyer or seller can be reached.
+          &quot;email&quot;: &quot;A String&quot;, # Email address for the contact.
+          &quot;name&quot;: &quot;A String&quot;, # The name of the contact.
+        },
+      ],
+      &quot;availableStartTime&quot;: &quot;A String&quot;, # Optional proposed flight start time of the deal.
           # This will generally be stored in the granularity of one second since deal
           # serving starts at seconds boundary. Any time specified with more
           # granularity (e.g., in milliseconds) will be truncated towards the start of
           # time in seconds.
-      "availableEndTime": "A String", # Proposed flight end time of the deal.
-          # This will generally be stored in a granularity of a second.
-          # A value is not required for Private Auction deals or Preferred Deals.
-      "externalDealId": "A String", # Output only. The external deal ID assigned to this deal once the deal is
-          # finalized. This is the deal ID that shows up in serving/reporting etc.
-      "targeting": { # Targeting represents different criteria that can be used by advertisers to # Output only. Specifies the subset of inventory targeted by the deal.
+      &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time of the deal creation.
+      &quot;dealTerms&quot;: { # The deal terms specify the details of a Product/deal. They specify things # The negotiable terms of the deal.
+          # like price per buyer, the type of pricing model (e.g., fixed price, auction)
+          # and expected impressions from the publisher.
+        &quot;description&quot;: &quot;A String&quot;, # Publisher provided description for the terms.
+        &quot;nonGuaranteedFixedPriceTerms&quot;: { # Terms for Preferred Deals. Note that Preferred Deals cannot be created via # The terms for non-guaranteed fixed price deals.
+            # the API at this time, but can be returned in a get or list request.
+          &quot;fixedPrices&quot;: [ # Fixed price for the specified buyer.
+            { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
+                # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
+                # a particular buyer or buyer/advertiser pair, we look for the most specific
+                # matching rule - we first look for a rule matching the buyer and advertiser,
+                # next a rule with the buyer but an empty advertiser list, and otherwise look
+                # for a matching rule where no buyer is set.
+              &quot;price&quot;: { # Represents a price and a pricing type for a product / deal. # The specified price.
+                &quot;amount&quot;: { # Represents an amount of money with its currency type. # The actual price with currency specified.
+                  &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+                  &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;pricingType&quot;: &quot;A String&quot;, # The pricing type for the deal/product. (default: CPM)
+              },
+              &quot;advertiserIds&quot;: [ # The list of advertisers for this price when associated with this buyer.
+                  # If empty, all advertisers with this buyer pay this price.
+                &quot;A String&quot;,
+              ],
+              &quot;buyer&quot;: { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
+                  # (if the
+                  # advertisers match, and there&#x27;s no more specific rule matching the buyer).
+                  # Authorized Buyers account ID.
+                &quot;accountId&quot;: &quot;A String&quot;, # Authorized Buyers account ID of the buyer.
+              },
+            },
+          ],
+        },
+        &quot;estimatedImpressionsPerDay&quot;: &quot;A String&quot;, # Non-binding estimate of the impressions served per day.
+            # Can be set by buyer or seller.
+        &quot;nonGuaranteedAuctionTerms&quot;: { # Terms for Private Auctions. Note that Private Auctions can be created only # The terms for non-guaranteed auction deals.
+            # by the seller, but they can be returned in a get or list request.
+          &quot;autoOptimizePrivateAuction&quot;: True or False, # True if open auction buyers are allowed to compete with invited buyers
+              # in this private auction.
+          &quot;reservePricesPerBuyer&quot;: [ # Reserve price for the specified buyer.
+            { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
+                # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
+                # a particular buyer or buyer/advertiser pair, we look for the most specific
+                # matching rule - we first look for a rule matching the buyer and advertiser,
+                # next a rule with the buyer but an empty advertiser list, and otherwise look
+                # for a matching rule where no buyer is set.
+              &quot;price&quot;: { # Represents a price and a pricing type for a product / deal. # The specified price.
+                &quot;amount&quot;: { # Represents an amount of money with its currency type. # The actual price with currency specified.
+                  &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+                  &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;pricingType&quot;: &quot;A String&quot;, # The pricing type for the deal/product. (default: CPM)
+              },
+              &quot;advertiserIds&quot;: [ # The list of advertisers for this price when associated with this buyer.
+                  # If empty, all advertisers with this buyer pay this price.
+                &quot;A String&quot;,
+              ],
+              &quot;buyer&quot;: { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
+                  # (if the
+                  # advertisers match, and there&#x27;s no more specific rule matching the buyer).
+                  # Authorized Buyers account ID.
+                &quot;accountId&quot;: &quot;A String&quot;, # Authorized Buyers account ID of the buyer.
+              },
+            },
+          ],
+        },
+        &quot;estimatedGrossSpend&quot;: { # Represents a price and a pricing type for a product / deal. # Non-binding estimate of the estimated gross spend for this deal.
+            # Can be set by buyer or seller.
+          &quot;amount&quot;: { # Represents an amount of money with its currency type. # The actual price with currency specified.
+            &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+            &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;pricingType&quot;: &quot;A String&quot;, # The pricing type for the deal/product. (default: CPM)
+        },
+        &quot;brandingType&quot;: &quot;A String&quot;, # Visibility of the URL in bid requests. (default: BRANDED)
+        &quot;sellerTimeZone&quot;: &quot;A String&quot;, # The time zone name. For deals with Cost Per Day billing, defines the
+            # time zone used to mark the boundaries of a day. It should be an
+            # IANA TZ name, such as &quot;America/Los_Angeles&quot;. For more information,
+            # see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones.
+        &quot;guaranteedFixedPriceTerms&quot;: { # Terms for Programmatic Guaranteed Deals. # The terms for guaranteed fixed price deals.
+          &quot;guaranteedImpressions&quot;: &quot;A String&quot;, # Guaranteed impressions as a percentage. This is the percentage
+              # of guaranteed looks that the buyer is guaranteeing to buy.
+          &quot;minimumDailyLooks&quot;: &quot;A String&quot;, # Daily minimum looks for CPD deal types.
+          &quot;guaranteedLooks&quot;: &quot;A String&quot;, # Count of guaranteed looks. Required for deal, optional for product.
+          &quot;fixedPrices&quot;: [ # Fixed price for the specified buyer.
+            { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
+                # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
+                # a particular buyer or buyer/advertiser pair, we look for the most specific
+                # matching rule - we first look for a rule matching the buyer and advertiser,
+                # next a rule with the buyer but an empty advertiser list, and otherwise look
+                # for a matching rule where no buyer is set.
+              &quot;price&quot;: { # Represents a price and a pricing type for a product / deal. # The specified price.
+                &quot;amount&quot;: { # Represents an amount of money with its currency type. # The actual price with currency specified.
+                  &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+                  &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;pricingType&quot;: &quot;A String&quot;, # The pricing type for the deal/product. (default: CPM)
+              },
+              &quot;advertiserIds&quot;: [ # The list of advertisers for this price when associated with this buyer.
+                  # If empty, all advertisers with this buyer pay this price.
+                &quot;A String&quot;,
+              ],
+              &quot;buyer&quot;: { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
+                  # (if the
+                  # advertisers match, and there&#x27;s no more specific rule matching the buyer).
+                  # Authorized Buyers account ID.
+                &quot;accountId&quot;: &quot;A String&quot;, # Authorized Buyers account ID of the buyer.
+              },
+            },
+          ],
+        },
+      },
+      &quot;targeting&quot;: { # Targeting represents different criteria that can be used by advertisers to # Output only. Specifies the subset of inventory targeted by the deal.
           # target ad inventory. For example, they can choose to target ad requests only
           # if the user is in the US.
           # Multiple types of targeting are always applied as a logical AND, unless noted
           # otherwise.
-        "placementTargeting": { # Represents targeting about where the ads can appear, e.g., certain sites or # Placement targeting information, e.g., URL, mobile applications.
-            # mobile applications.
-            # Different placement targeting types will be logically OR'ed.
-          "urlTargeting": { # Represents a list of targeted and excluded URLs (e.g., google.com). # URLs to be included/excluded.
-              # For Private Auction and AdX Preferred Deals, URLs are either included or
-              # excluded.
-              # For Programmatic Guaranteed and Preferred Deals, this doesn't
-              # apply.
-            "excludedUrls": [ # A list of URLs to be excluded.
-              "A String",
+        &quot;geoTargeting&quot;: { # Generic targeting used for targeting dimensions that contains a list of # Geo criteria IDs to be included/excluded.
+            # included and excluded numeric IDs.
+          &quot;targetedCriteriaIds&quot;: [ # A list of numeric IDs to be included.
+            &quot;A String&quot;,
+          ],
+          &quot;excludedCriteriaIds&quot;: [ # A list of numeric IDs to be excluded.
+            &quot;A String&quot;,
+          ],
+        },
+        &quot;inventorySizeTargeting&quot;: { # Represents the size of an ad unit that can be targeted on an ad # Inventory sizes to be included/excluded.
+            # request. It only applies to Private Auction, AdX Preferred Deals and
+            # Auction Packages. This targeting does not apply to Programmatic Guaranteed
+            # and Preferred Deals in Ad Manager.
+          &quot;targetedInventorySizes&quot;: [ # A list of inventory sizes to be included.
+            { # Represents size of a single ad slot, or a creative.
+              &quot;width&quot;: &quot;A String&quot;, # The width of the ad slot in pixels.
+                  # This field will be present only when size type is `PIXEL`.
+              &quot;sizeType&quot;: &quot;A String&quot;, # The size type of the ad slot.
+              &quot;height&quot;: &quot;A String&quot;, # The height of the ad slot in pixels.
+                  # This field will be present only when size type is `PIXEL`.
+            },
+          ],
+          &quot;excludedInventorySizes&quot;: [ # A list of inventory sizes to be excluded.
+            { # Represents size of a single ad slot, or a creative.
+              &quot;width&quot;: &quot;A String&quot;, # The width of the ad slot in pixels.
+                  # This field will be present only when size type is `PIXEL`.
+              &quot;sizeType&quot;: &quot;A String&quot;, # The size type of the ad slot.
+              &quot;height&quot;: &quot;A String&quot;, # The height of the ad slot in pixels.
+                  # This field will be present only when size type is `PIXEL`.
+            },
+          ],
+        },
+        &quot;videoTargeting&quot;: { # Represents targeting information about video. # Video targeting information.
+          &quot;targetedPositionTypes&quot;: [ # A list of video positions to be included.
+              # When the included list is present, the excluded list must be empty.
+              # When the excluded list is present, the included list must be empty.
+            &quot;A String&quot;,
+          ],
+          &quot;excludedPositionTypes&quot;: [ # A list of video positions to be excluded.
+              # Position types can either be included or excluded (XOR).
+            &quot;A String&quot;,
+          ],
+        },
+        &quot;technologyTargeting&quot;: { # Represents targeting about various types of technology. # Technology targeting information, e.g., operating system, device category.
+          &quot;deviceCapabilityTargeting&quot;: { # Generic targeting used for targeting dimensions that contains a list of # IDs of device capabilities to be included/excluded.
+              # included and excluded numeric IDs.
+            &quot;targetedCriteriaIds&quot;: [ # A list of numeric IDs to be included.
+              &quot;A String&quot;,
             ],
-            "targetedUrls": [ # A list of URLs to be included.
-              "A String",
+            &quot;excludedCriteriaIds&quot;: [ # A list of numeric IDs to be excluded.
+              &quot;A String&quot;,
             ],
           },
-          "mobileApplicationTargeting": { # Mobile application targeting settings. # Mobile application targeting information in a deal.
-              # This doesn't apply to Auction Packages.
-            "firstPartyTargeting": { # Represents a list of targeted and excluded mobile application IDs that # Publisher owned apps to be targeted or excluded by the publisher to
+          &quot;operatingSystemTargeting&quot;: { # Represents targeting information for operating systems. # Operating system related targeting information.
+            &quot;operatingSystemCriteria&quot;: { # Generic targeting used for targeting dimensions that contains a list of # IDs of operating systems to be included/excluded.
+                # included and excluded numeric IDs.
+              &quot;targetedCriteriaIds&quot;: [ # A list of numeric IDs to be included.
+                &quot;A String&quot;,
+              ],
+              &quot;excludedCriteriaIds&quot;: [ # A list of numeric IDs to be excluded.
+                &quot;A String&quot;,
+              ],
+            },
+            &quot;operatingSystemVersionCriteria&quot;: { # Generic targeting used for targeting dimensions that contains a list of # IDs of operating system versions to be included/excluded.
+                # included and excluded numeric IDs.
+              &quot;targetedCriteriaIds&quot;: [ # A list of numeric IDs to be included.
+                &quot;A String&quot;,
+              ],
+              &quot;excludedCriteriaIds&quot;: [ # A list of numeric IDs to be excluded.
+                &quot;A String&quot;,
+              ],
+            },
+          },
+          &quot;deviceCategoryTargeting&quot;: { # Generic targeting used for targeting dimensions that contains a list of # IDs of device categories to be included/excluded.
+              # included and excluded numeric IDs.
+            &quot;targetedCriteriaIds&quot;: [ # A list of numeric IDs to be included.
+              &quot;A String&quot;,
+            ],
+            &quot;excludedCriteriaIds&quot;: [ # A list of numeric IDs to be excluded.
+              &quot;A String&quot;,
+            ],
+          },
+        },
+        &quot;placementTargeting&quot;: { # Represents targeting about where the ads can appear, e.g., certain sites or # Placement targeting information, e.g., URL, mobile applications.
+            # mobile applications.
+            # Different placement targeting types will be logically OR&#x27;ed.
+          &quot;urlTargeting&quot;: { # Represents a list of targeted and excluded URLs (e.g., google.com). # URLs to be included/excluded.
+              # For Private Auction and AdX Preferred Deals, URLs are either included or
+              # excluded.
+              # For Programmatic Guaranteed and Preferred Deals, this doesn&#x27;t
+              # apply.
+            &quot;targetedUrls&quot;: [ # A list of URLs to be included.
+              &quot;A String&quot;,
+            ],
+            &quot;excludedUrls&quot;: [ # A list of URLs to be excluded.
+              &quot;A String&quot;,
+            ],
+          },
+          &quot;mobileApplicationTargeting&quot;: { # Mobile application targeting settings. # Mobile application targeting information in a deal.
+              # This doesn&#x27;t apply to Auction Packages.
+            &quot;firstPartyTargeting&quot;: { # Represents a list of targeted and excluded mobile application IDs that # Publisher owned apps to be targeted or excluded by the publisher to
                 # display the ads in.
                 # publishers own.
                 # Mobile application IDs are from App Store and Google Play Store.
@@ -2137,546 +2590,93 @@
                 # Google Play Store URL.
                 # iOS App ID (which is a number) can be found at the end of iTunes store URL.
                 # First party mobile applications is either included or excluded.
-              "excludedAppIds": [ # A list of application IDs to be excluded.
-                "A String",
+              &quot;targetedAppIds&quot;: [ # A list of application IDs to be included.
+                &quot;A String&quot;,
               ],
-              "targetedAppIds": [ # A list of application IDs to be included.
-                "A String",
+              &quot;excludedAppIds&quot;: [ # A list of application IDs to be excluded.
+                &quot;A String&quot;,
               ],
             },
           },
         },
-        "geoTargeting": { # Generic targeting used for targeting dimensions that contains a list of # Geo criteria IDs to be included/excluded.
-            # included and excluded numeric IDs.
-          "targetedCriteriaIds": [ # A list of numeric IDs to be included.
-            "A String",
-          ],
-          "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
-            "A String",
-          ],
-        },
-        "videoTargeting": { # Represents targeting information about video. # Video targeting information.
-          "excludedPositionTypes": [ # A list of video positions to be excluded.
-              # Position types can either be included or excluded (XOR).
-            "A String",
-          ],
-          "targetedPositionTypes": [ # A list of video positions to be included.
-              # When the included list is present, the excluded list must be empty.
-              # When the excluded list is present, the included list must be empty.
-            "A String",
-          ],
-        },
-        "technologyTargeting": { # Represents targeting about various types of technology. # Technology targeting information, e.g., operating system, device category.
-          "deviceCategoryTargeting": { # Generic targeting used for targeting dimensions that contains a list of # IDs of device categories to be included/excluded.
-              # included and excluded numeric IDs.
-            "targetedCriteriaIds": [ # A list of numeric IDs to be included.
-              "A String",
-            ],
-            "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
-              "A String",
-            ],
-          },
-          "operatingSystemTargeting": { # Represents targeting information for operating systems. # Operating system related targeting information.
-            "operatingSystemCriteria": { # Generic targeting used for targeting dimensions that contains a list of # IDs of operating systems to be included/excluded.
-                # included and excluded numeric IDs.
-              "targetedCriteriaIds": [ # A list of numeric IDs to be included.
-                "A String",
-              ],
-              "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
-                "A String",
-              ],
-            },
-            "operatingSystemVersionCriteria": { # Generic targeting used for targeting dimensions that contains a list of # IDs of operating system versions to be included/excluded.
-                # included and excluded numeric IDs.
-              "targetedCriteriaIds": [ # A list of numeric IDs to be included.
-                "A String",
-              ],
-              "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
-                "A String",
-              ],
-            },
-          },
-          "deviceCapabilityTargeting": { # Generic targeting used for targeting dimensions that contains a list of # IDs of device capabilities to be included/excluded.
-              # included and excluded numeric IDs.
-            "targetedCriteriaIds": [ # A list of numeric IDs to be included.
-              "A String",
-            ],
-            "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
-              "A String",
-            ],
-          },
-        },
-        "inventorySizeTargeting": { # Represents the size of an ad unit that can be targeted on an ad # Inventory sizes to be included/excluded.
-            # request. It only applies to Private Auction, AdX Preferred Deals and
-            # Auction Packages. This targeting does not apply to Programmatic Guaranteed
-            # and Preferred Deals in Ad Manager.
-          "targetedInventorySizes": [ # A list of inventory sizes to be included.
-            { # Represents size of a single ad slot, or a creative.
-              "width": "A String", # The width of the ad slot in pixels.
-                  # This field will be present only when size type is `PIXEL`.
-              "sizeType": "A String", # The size type of the ad slot.
-              "height": "A String", # The height of the ad slot in pixels.
-                  # This field will be present only when size type is `PIXEL`.
-            },
-          ],
-          "excludedInventorySizes": [ # A list of inventory sizes to be excluded.
-            { # Represents size of a single ad slot, or a creative.
-              "width": "A String", # The width of the ad slot in pixels.
-                  # This field will be present only when size type is `PIXEL`.
-              "sizeType": "A String", # The size type of the ad slot.
-              "height": "A String", # The height of the ad slot in pixels.
-                  # This field will be present only when size type is `PIXEL`.
-            },
-          ],
-        },
       },
-      "createTime": "A String", # Output only. The time of the deal creation.
-      "webPropertyCode": "A String", # The web property code for the seller copied over from the product.
-      "proposalId": "A String", # Output only. ID of the proposal that this deal is part of.
-      "deliveryControl": { # Message contains details about how the deals will be paced. # The set of fields around delivery control that are interesting for a buyer
+      &quot;creativePreApprovalPolicy&quot;: &quot;A String&quot;, # Output only. Specifies the creative pre-approval policy.
+      &quot;deliveryControl&quot;: { # Message contains details about how the deals will be paced. # The set of fields around delivery control that are interesting for a buyer
           # to see but are non-negotiable. These are set by the publisher.
-        "frequencyCaps": [ # Output only. Specifies any frequency caps.
+        &quot;deliveryRateType&quot;: &quot;A String&quot;, # Output only. Specifies how the impression delivery will be paced.
+        &quot;frequencyCaps&quot;: [ # Output only. Specifies any frequency caps.
           { # Frequency cap.
-            "numTimeUnits": 42, # The amount of time, in the units specified by time_unit_type. Defines the
+            &quot;numTimeUnits&quot;: 42, # The amount of time, in the units specified by time_unit_type. Defines the
                 # amount of time over which impressions per user are counted and capped.
-            "timeUnitType": "A String", # The time unit. Along with num_time_units defines the amount of time over
-                # which impressions per user are counted and capped.
-            "maxImpressions": 42, # The maximum number of impressions that can be served to a user within the
+            &quot;maxImpressions&quot;: 42, # The maximum number of impressions that can be served to a user within the
                 # specified time period.
+            &quot;timeUnitType&quot;: &quot;A String&quot;, # The time unit. Along with num_time_units defines the amount of time over
+                # which impressions per user are counted and capped.
           },
         ],
-        "creativeBlockingLevel": "A String", # Output only. Specified the creative blocking levels to be applied.
-        "deliveryRateType": "A String", # Output only. Specifies how the impression delivery will be paced.
+        &quot;creativeBlockingLevel&quot;: &quot;A String&quot;, # Output only. Specified the creative blocking levels to be applied.
       },
-      "description": "A String", # Description for the deal terms.
-      "dealId": "A String", # Output only. A unique deal ID for the deal (server-assigned).
-      "creativeSafeFrameCompatibility": "A String", # Output only. Specifies whether the creative is safeFrame compatible.
-      "creativePreApprovalPolicy": "A String", # Output only. Specifies the creative pre-approval policy.
-      "creativeRestrictions": { # Represents creative restrictions associated to Programmatic Guaranteed/ # Output only. Restricitions about the creatives associated with the deal
+      &quot;externalDealId&quot;: &quot;A String&quot;, # Output only. The external deal ID assigned to this deal once the deal is
+          # finalized. This is the deal ID that shows up in serving/reporting etc.
+      &quot;creativeRestrictions&quot;: { # Represents creative restrictions associated to Programmatic Guaranteed/ # Output only. Restricitions about the creatives associated with the deal
           # (i.e., size) This is available for Programmatic Guaranteed/Preferred Deals
           # in Ad Manager.
           # Preferred Deal in Ad Manager.
-          # This doesn't apply to Private Auction and AdX Preferred Deals.
-        "creativeFormat": "A String", # The format of the environment that the creatives will be displayed in.
-        "creativeSpecifications": [
+          # This doesn&#x27;t apply to Private Auction and AdX Preferred Deals.
+        &quot;creativeFormat&quot;: &quot;A String&quot;, # The format of the environment that the creatives will be displayed in.
+        &quot;creativeSpecifications&quot;: [
           { # Represents information for a creative that is associated with a Programmatic
               # Guaranteed/Preferred Deal in Ad Manager.
-            "creativeSize": { # Represents size of a single ad slot, or a creative. # The size of the creative.
-              "width": "A String", # The width of the ad slot in pixels.
+            &quot;creativeSize&quot;: { # Represents size of a single ad slot, or a creative. # The size of the creative.
+              &quot;width&quot;: &quot;A String&quot;, # The width of the ad slot in pixels.
                   # This field will be present only when size type is `PIXEL`.
-              "sizeType": "A String", # The size type of the ad slot.
-              "height": "A String", # The height of the ad slot in pixels.
+              &quot;sizeType&quot;: &quot;A String&quot;, # The size type of the ad slot.
+              &quot;height&quot;: &quot;A String&quot;, # The height of the ad slot in pixels.
                   # This field will be present only when size type is `PIXEL`.
             },
-            "creativeCompanionSizes": [ # Companion sizes may be filled in only when this is a video creative.
+            &quot;creativeCompanionSizes&quot;: [ # Companion sizes may be filled in only when this is a video creative.
               { # Represents size of a single ad slot, or a creative.
-                "width": "A String", # The width of the ad slot in pixels.
+                &quot;width&quot;: &quot;A String&quot;, # The width of the ad slot in pixels.
                     # This field will be present only when size type is `PIXEL`.
-                "sizeType": "A String", # The size type of the ad slot.
-                "height": "A String", # The height of the ad slot in pixels.
+                &quot;sizeType&quot;: &quot;A String&quot;, # The size type of the ad slot.
+                &quot;height&quot;: &quot;A String&quot;, # The height of the ad slot in pixels.
                     # This field will be present only when size type is `PIXEL`.
               },
             ],
           },
         ],
-        "skippableAdType": "A String", # Skippable video ads allow viewers to skip ads after 5 seconds.
+        &quot;skippableAdType&quot;: &quot;A String&quot;, # Skippable video ads allow viewers to skip ads after 5 seconds.
       },
-      "createProductId": "A String", # The product ID from which this deal was created.
-          #
-          # Note: This field may be set only when creating the resource. Modifying
-          # this field while updating the resource will result in an error.
-      "dealTerms": { # The deal terms specify the details of a Product/deal. They specify things # The negotiable terms of the deal.
-          # like price per buyer, the type of pricing model (e.g., fixed price, auction)
-          # and expected impressions from the publisher.
-        "brandingType": "A String", # Visibility of the URL in bid requests. (default: BRANDED)
-        "estimatedGrossSpend": { # Represents a price and a pricing type for a product / deal. # Non-binding estimate of the estimated gross spend for this deal.
-            # Can be set by buyer or seller.
-          "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
-          "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
-            "nanos": 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.
-            "units": "A String", # The whole units of the amount.
-                # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-            "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-          },
-        },
-        "sellerTimeZone": "A String", # The time zone name. For deals with Cost Per Day billing, defines the
-            # time zone used to mark the boundaries of a day. It should be an
-            # IANA TZ name, such as "America/Los_Angeles". For more information,
-            # see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones.
-        "estimatedImpressionsPerDay": "A String", # Non-binding estimate of the impressions served per day.
-            # Can be set by buyer or seller.
-        "nonGuaranteedFixedPriceTerms": { # Terms for Preferred Deals. Note that Preferred Deals cannot be created via # The terms for non-guaranteed fixed price deals.
-            # the API at this time, but can be returned in a get or list request.
-          "fixedPrices": [ # Fixed price for the specified buyer.
-            { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
-                # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
-                # a particular buyer or buyer/advertiser pair, we look for the most specific
-                # matching rule - we first look for a rule matching the buyer and advertiser,
-                # next a rule with the buyer but an empty advertiser list, and otherwise look
-                # for a matching rule where no buyer is set.
-              "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
-                  # (if the
-                  # advertisers match, and there's no more specific rule matching the buyer).
-                  # Authorized Buyers account ID.
-                "accountId": "A String", # Authorized Buyers account ID of the buyer.
-              },
-              "advertiserIds": [ # The list of advertisers for this price when associated with this buyer.
-                  # If empty, all advertisers with this buyer pay this price.
-                "A String",
-              ],
-              "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
-                "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
-                "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
-                  "nanos": 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.
-                  "units": "A String", # The whole units of the amount.
-                      # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-                  "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-                },
-              },
-            },
-          ],
-        },
-        "guaranteedFixedPriceTerms": { # Terms for Programmatic Guaranteed Deals. # The terms for guaranteed fixed price deals.
-          "guaranteedImpressions": "A String", # Guaranteed impressions as a percentage. This is the percentage
-              # of guaranteed looks that the buyer is guaranteeing to buy.
-          "fixedPrices": [ # Fixed price for the specified buyer.
-            { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
-                # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
-                # a particular buyer or buyer/advertiser pair, we look for the most specific
-                # matching rule - we first look for a rule matching the buyer and advertiser,
-                # next a rule with the buyer but an empty advertiser list, and otherwise look
-                # for a matching rule where no buyer is set.
-              "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
-                  # (if the
-                  # advertisers match, and there's no more specific rule matching the buyer).
-                  # Authorized Buyers account ID.
-                "accountId": "A String", # Authorized Buyers account ID of the buyer.
-              },
-              "advertiserIds": [ # The list of advertisers for this price when associated with this buyer.
-                  # If empty, all advertisers with this buyer pay this price.
-                "A String",
-              ],
-              "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
-                "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
-                "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
-                  "nanos": 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.
-                  "units": "A String", # The whole units of the amount.
-                      # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-                  "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-                },
-              },
-            },
-          ],
-          "minimumDailyLooks": "A String", # Daily minimum looks for CPD deal types.
-          "guaranteedLooks": "A String", # Count of guaranteed looks. Required for deal, optional for product.
-        },
-        "nonGuaranteedAuctionTerms": { # Terms for Private Auctions. Note that Private Auctions can be created only # The terms for non-guaranteed auction deals.
-            # by the seller, but they can be returned in a get or list request.
-          "reservePricesPerBuyer": [ # Reserve price for the specified buyer.
-            { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
-                # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
-                # a particular buyer or buyer/advertiser pair, we look for the most specific
-                # matching rule - we first look for a rule matching the buyer and advertiser,
-                # next a rule with the buyer but an empty advertiser list, and otherwise look
-                # for a matching rule where no buyer is set.
-              "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
-                  # (if the
-                  # advertisers match, and there's no more specific rule matching the buyer).
-                  # Authorized Buyers account ID.
-                "accountId": "A String", # Authorized Buyers account ID of the buyer.
-              },
-              "advertiserIds": [ # The list of advertisers for this price when associated with this buyer.
-                  # If empty, all advertisers with this buyer pay this price.
-                "A String",
-              ],
-              "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
-                "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
-                "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
-                  "nanos": 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.
-                  "units": "A String", # The whole units of the amount.
-                      # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-                  "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-                },
-              },
-            },
-          ],
-          "autoOptimizePrivateAuction": True or False, # True if open auction buyers are allowed to compete with invited buyers
-              # in this private auction.
-        },
-        "description": "A String", # Publisher provided description for the terms.
-      },
-      "sellerContacts": [ # Output only. Seller contact information for the deal.
-        { # Contains information on how a buyer or seller can be reached.
-          "email": "A String", # Email address for the contact.
-          "name": "A String", # The name of the contact.
-        },
-      ],
-      "displayName": "A String", # The name of the deal.
-      "buyerPrivateData": { # Buyers are allowed to store certain types of private data in a proposal/deal. # Buyer private data (hidden from seller).
-        "referenceId": "A String", # A buyer or seller specified reference ID. This can be queried in the list
-            # operations (max-length: 1024 unicode code units).
-      },
-      "syndicationProduct": "A String", # The syndication product associated with the deal.
-          #
-          # Note: This field may be set only when creating the resource. Modifying
-          # this field while updating the resource will result in an error.
-      "targetingCriterion": [ # The shared targeting visible to buyers and sellers. Each shared
-          # targeting entity is AND'd together.
-        { # Advertisers can target different attributes of an ad slot. For example,
-            # they can choose to show ads only if the user is in the U.S. Such
-            # targeting criteria can be specified as part of Shared Targeting.
-          "inclusions": [ # The list of value to include as part of the targeting. Each value is OR'd
-              # together.
-            { # A polymorphic targeting value used as part of Shared Targeting.
-              "stringValue": "A String", # The string value to include/exclude.
-              "longValue": "A String", # The long value to include/exclude.
-              "dayPartTargetingValue": { # Specifies the day part targeting criteria. # The daypart targeting to include / exclude.
-                  # Filled in when the key is GOOG_DAYPART_TARGETING.
-                  # The definition of this targeting is derived from the structure
-                  # used by Ad Manager.
-                "dayParts": [ # A list of day part targeting criterion.
-                  { # Daypart targeting message that specifies if the ad can be shown
-                      # only during certain parts of a day/week.
-                    "dayOfWeek": "A String", # The day of the week to target. If unspecified, applicable to all days.
-                    "endTime": { # Represents a time of day. The date and time zone are either not significant # The ending time of the day for the ad to show (minute level
-                        # granularity). The end time is exclusive. This field is not available
-                        # for filtering in PQL queries.
-                        # or are specified elsewhere. An API may choose to allow leap seconds. Related
-                        # types are google.type.Date and `google.protobuf.Timestamp`.
-                      "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
-                          # to allow the value "24:00:00" for scenarios like business closing time.
-                      "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                      "seconds": 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.
-                      "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                    },
-                    "startTime": { # Represents a time of day. The date and time zone are either not significant # The starting time of day for the ad to show (minute level granularity).
-                        # The start time is inclusive.
-                        # This field is not available for filtering in PQL queries.
-                        # or are specified elsewhere. An API may choose to allow leap seconds. Related
-                        # types are google.type.Date and `google.protobuf.Timestamp`.
-                      "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
-                          # to allow the value "24:00:00" for scenarios like business closing time.
-                      "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                      "seconds": 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.
-                      "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                    },
-                  },
-                ],
-                "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
-              },
-              "creativeSizeValue": { # Specifies the size of the creative. # The creative size value to include/exclude.
-                  # Filled in when key = GOOG_CREATIVE_SIZE
-                "companionSizes": [ # For video creatives specifies the sizes of companion ads (if present).
-                    # Companion sizes may be filled in only when creative_size_type = VIDEO
-                  { # Message depicting the size of the creative. The units of width and
-                      # height depend on the type of the targeting.
-                    "width": 42, # The width of the creative
-                    "height": 42, # The height of the creative.
-                  },
-                ],
-                "nativeTemplate": "A String", # Output only. The native template for this creative. It will have a value
-                    # only if creative_size_type = CreativeSizeType.NATIVE.
-                "allowedFormats": [ # What formats are allowed by the publisher.
-                    # If this repeated field is empty then all formats are allowed.
-                    # For example, if this field contains AllowedFormatType.AUDIO then the
-                    # publisher only allows an audio ad (without any video).
-                  "A String",
-                ],
-                "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if
-                    # creative_size_type = CreativeSizeType.VIDEO.
-                "creativeSizeType": "A String", # The creative size type.
-                "size": { # Message depicting the size of the creative. The units of width and # For regular or video creative size type, specifies the size
-                    # of the creative
-                    # height depend on the type of the targeting.
-                  "width": 42, # The width of the creative
-                  "height": 42, # The height of the creative.
-                },
-              },
-            },
-          ],
-          "exclusions": [ # The list of values to exclude from targeting. Each value is AND'd
-              # together.
-            { # A polymorphic targeting value used as part of Shared Targeting.
-              "stringValue": "A String", # The string value to include/exclude.
-              "longValue": "A String", # The long value to include/exclude.
-              "dayPartTargetingValue": { # Specifies the day part targeting criteria. # The daypart targeting to include / exclude.
-                  # Filled in when the key is GOOG_DAYPART_TARGETING.
-                  # The definition of this targeting is derived from the structure
-                  # used by Ad Manager.
-                "dayParts": [ # A list of day part targeting criterion.
-                  { # Daypart targeting message that specifies if the ad can be shown
-                      # only during certain parts of a day/week.
-                    "dayOfWeek": "A String", # The day of the week to target. If unspecified, applicable to all days.
-                    "endTime": { # Represents a time of day. The date and time zone are either not significant # The ending time of the day for the ad to show (minute level
-                        # granularity). The end time is exclusive. This field is not available
-                        # for filtering in PQL queries.
-                        # or are specified elsewhere. An API may choose to allow leap seconds. Related
-                        # types are google.type.Date and `google.protobuf.Timestamp`.
-                      "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
-                          # to allow the value "24:00:00" for scenarios like business closing time.
-                      "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                      "seconds": 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.
-                      "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                    },
-                    "startTime": { # Represents a time of day. The date and time zone are either not significant # The starting time of day for the ad to show (minute level granularity).
-                        # The start time is inclusive.
-                        # This field is not available for filtering in PQL queries.
-                        # or are specified elsewhere. An API may choose to allow leap seconds. Related
-                        # types are google.type.Date and `google.protobuf.Timestamp`.
-                      "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
-                          # to allow the value "24:00:00" for scenarios like business closing time.
-                      "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                      "seconds": 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.
-                      "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                    },
-                  },
-                ],
-                "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
-              },
-              "creativeSizeValue": { # Specifies the size of the creative. # The creative size value to include/exclude.
-                  # Filled in when key = GOOG_CREATIVE_SIZE
-                "companionSizes": [ # For video creatives specifies the sizes of companion ads (if present).
-                    # Companion sizes may be filled in only when creative_size_type = VIDEO
-                  { # Message depicting the size of the creative. The units of width and
-                      # height depend on the type of the targeting.
-                    "width": 42, # The width of the creative
-                    "height": 42, # The height of the creative.
-                  },
-                ],
-                "nativeTemplate": "A String", # Output only. The native template for this creative. It will have a value
-                    # only if creative_size_type = CreativeSizeType.NATIVE.
-                "allowedFormats": [ # What formats are allowed by the publisher.
-                    # If this repeated field is empty then all formats are allowed.
-                    # For example, if this field contains AllowedFormatType.AUDIO then the
-                    # publisher only allows an audio ad (without any video).
-                  "A String",
-                ],
-                "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if
-                    # creative_size_type = CreativeSizeType.VIDEO.
-                "creativeSizeType": "A String", # The creative size type.
-                "size": { # Message depicting the size of the creative. The units of width and # For regular or video creative size type, specifies the size
-                    # of the creative
-                    # height depend on the type of the targeting.
-                  "width": 42, # The width of the creative
-                  "height": 42, # The height of the creative.
-                },
-              },
-            },
-          ],
-          "key": "A String", # The key representing the shared targeting criterion.
-              # Targeting criteria defined by Google ad servers will begin with GOOG_.
-              # Third parties may define their own keys.
-              # A list of permissible keys along with the acceptable values will be
-              # provided as part of the external documentation.
-        },
-      ],
-      "dealServingMetadata": { # Message captures metadata about the serving status of a deal. # Output only. Metadata about the serving status of this deal.
-        "dealPauseStatus": { # Tracks which parties (if any) have paused a deal. # Output only. Tracks which parties (if any) have paused a deal.
+      &quot;dealServingMetadata&quot;: { # Message captures metadata about the serving status of a deal. # Output only. Metadata about the serving status of this deal.
+        &quot;dealPauseStatus&quot;: { # Tracks which parties (if any) have paused a deal. # Output only. Tracks which parties (if any) have paused a deal.
             # The deal is considered paused if either hasBuyerPaused or
             # hasSellPaused is true.
-          "hasSellerPaused": True or False, # True, if the seller has paused the deal unilaterally.
-          "buyerPauseReason": "A String", # The buyer's reason for pausing, if the buyer paused the deal.
-          "sellerPauseReason": "A String", # The seller's reason for pausing, if the seller paused the deal.
-          "hasBuyerPaused": True or False, # True, if the buyer has paused the deal unilaterally.
-          "firstPausedBy": "A String", # The role of the person who first paused this deal.
+          &quot;firstPausedBy&quot;: &quot;A String&quot;, # The role of the person who first paused this deal.
+          &quot;sellerPauseReason&quot;: &quot;A String&quot;, # The seller&#x27;s reason for pausing, if the seller paused the deal.
+          &quot;hasSellerPaused&quot;: True or False, # True, if the seller has paused the deal unilaterally.
+          &quot;buyerPauseReason&quot;: &quot;A String&quot;, # The buyer&#x27;s reason for pausing, if the buyer paused the deal.
+          &quot;hasBuyerPaused&quot;: True or False, # True, if the buyer has paused the deal unilaterally.
         },
       },
-      "isSetupComplete": True or False, # Output only. True, if the buyside inventory setup is complete for this
-          # deal.
+      &quot;description&quot;: &quot;A String&quot;, # Description for the deal terms.
     },
   ],
-  "updateTime": "A String", # Output only. The time when the proposal was last revised.
-  "proposalState": "A String", # Output only. The current state of the proposal.
-  "proposalRevision": "A String", # Output only. The revision number for the proposal.
+  &quot;proposalRevision&quot;: &quot;A String&quot;, # Output only. The revision number for the proposal.
       # Each update to the proposal or the deal causes the proposal revision number
       # to auto-increment. The buyer keeps track of the last revision number they
       # know of and pass it in when making an update. If the head revision number
       # on the server has since incremented, then an ABORTED error is returned
       # during the update operation to let the buyer know that a subsequent update
       # was made.
-  "buyerPrivateData": { # Buyers are allowed to store certain types of private data in a proposal/deal. # Private data for buyer. (hidden from seller).
-    "referenceId": "A String", # A buyer or seller specified reference ID. This can be queried in the list
-        # operations (max-length: 1024 unicode code units).
-  },
-  "privateAuctionId": "A String", # Output only. Private auction ID if this proposal is a private auction
-      # proposal.
-  "notes": [ # Output only. The notes associated with this proposal.
-    { # A proposal may be associated to several notes.
-      "note": "A String", # The actual note to attach.
-          # (max-length: 1024 unicode code units)
-          #
-          # Note: This field may be set only when creating the resource. Modifying
-          # this field while updating the resource will result in an error.
-      "creatorRole": "A String", # Output only. The role of the person (buyer/seller) creating the note.
-      "proposalRevision": "A String", # Output only. The revision number of the proposal when the note is created.
-      "createTime": "A String", # Output only. The timestamp for when this note was created.
-      "noteId": "A String", # Output only. The unique ID for the note.
-    },
-  ],
-  "originatorRole": "A String", # Output only. Indicates whether the buyer/seller created the proposal.
-  "billedBuyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # Output only. Reference to the buyer that will get billed for this proposal.
-      # Authorized Buyers account ID.
-    "accountId": "A String", # Authorized Buyers account ID of the buyer.
-  },
-  "seller": { # Represents a seller of inventory. Each seller is identified by a unique # Reference to the seller on the proposal.
+  &quot;seller&quot;: { # Represents a seller of inventory. Each seller is identified by a unique # Reference to the seller on the proposal.
       # 
       # Note: This field may be set only when creating the resource. Modifying
       # this field while updating the resource will result in an error.
       # Ad Manager account ID.
-    "subAccountId": "A String", # Optional sub-account ID for the seller.
-    "accountId": "A String", # The unique ID for the seller. The seller fills in this field.
+    &quot;subAccountId&quot;: &quot;A String&quot;, # Optional sub-account ID for the seller.
+    &quot;accountId&quot;: &quot;A String&quot;, # The unique ID for the seller. The seller fills in this field.
         # The seller account ID is then available to buyer in the product.
   },
-  "sellerContacts": [ # Output only. Contact information for the seller.
-    { # Contains information on how a buyer or seller can be reached.
-      "email": "A String", # Email address for the contact.
-      "name": "A String", # The name of the contact.
-    },
-  ],
-  "proposalId": "A String", # Output only. The unique ID of the proposal.
-  "isRenegotiating": True or False, # Output only. True if the proposal is being renegotiated.
-  "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # Reference to the buyer on the proposal.
-      # 
-      # Note: This field may be set only when creating the resource. Modifying
-      # this field while updating the resource will result in an error.
-      # Authorized Buyers account ID.
-    "accountId": "A String", # Authorized Buyers account ID of the buyer.
-  },
-  "isSetupComplete": True or False, # Output only. True, if the buyside inventory setup is complete for this
-      # proposal.
-  "displayName": "A String", # The name for the proposal.
-  "lastUpdaterOrCommentorRole": "A String", # Output only. The role of the last user that either updated the proposal or
-      # left a comment.
-  "buyerContacts": [ # Contact information for the buyer.
-    { # Contains information on how a buyer or seller can be reached.
-      "email": "A String", # Email address for the contact.
-      "name": "A String", # The name of the contact.
-    },
-  ],
 }
 
   x__xgafv: string, V1 error format.
@@ -2698,55 +2698,508 @@
       # Auction or Preferred Deals deals through the API.
       #
       # Fields are updatable unless noted otherwise.
-    "deals": [ # The deals associated with this proposal. For Private Auction proposals
+    &quot;buyer&quot;: { # Represents a buyer of inventory. Each buyer is identified by a unique # Reference to the buyer on the proposal.
+        #
+        # Note: This field may be set only when creating the resource. Modifying
+        # this field while updating the resource will result in an error.
+        # Authorized Buyers account ID.
+      &quot;accountId&quot;: &quot;A String&quot;, # Authorized Buyers account ID of the buyer.
+    },
+    &quot;isRenegotiating&quot;: True or False, # Output only. True if the proposal is being renegotiated.
+    &quot;notes&quot;: [ # Output only. The notes associated with this proposal.
+      { # A proposal may be associated to several notes.
+        &quot;note&quot;: &quot;A String&quot;, # The actual note to attach.
+            # (max-length: 1024 unicode code units)
+            #
+            # Note: This field may be set only when creating the resource. Modifying
+            # this field while updating the resource will result in an error.
+        &quot;proposalRevision&quot;: &quot;A String&quot;, # Output only. The revision number of the proposal when the note is created.
+        &quot;noteId&quot;: &quot;A String&quot;, # Output only. The unique ID for the note.
+        &quot;createTime&quot;: &quot;A String&quot;, # Output only. The timestamp for when this note was created.
+        &quot;creatorRole&quot;: &quot;A String&quot;, # Output only. The role of the person (buyer/seller) creating the note.
+      },
+    ],
+    &quot;isSetupComplete&quot;: True or False, # Output only. True, if the buyside inventory setup is complete for this
+        # proposal.
+    &quot;proposalState&quot;: &quot;A String&quot;, # Output only. The current state of the proposal.
+    &quot;sellerContacts&quot;: [ # Output only. Contact information for the seller.
+      { # Contains information on how a buyer or seller can be reached.
+        &quot;email&quot;: &quot;A String&quot;, # Email address for the contact.
+        &quot;name&quot;: &quot;A String&quot;, # The name of the contact.
+      },
+    ],
+    &quot;privateAuctionId&quot;: &quot;A String&quot;, # Output only. Private auction ID if this proposal is a private auction
+        # proposal.
+    &quot;originatorRole&quot;: &quot;A String&quot;, # Output only. Indicates whether the buyer/seller created the proposal.
+    &quot;lastUpdaterOrCommentorRole&quot;: &quot;A String&quot;, # Output only. The role of the last user that either updated the proposal or
+        # left a comment.
+    &quot;buyerPrivateData&quot;: { # Buyers are allowed to store certain types of private data in a proposal/deal. # Private data for buyer. (hidden from seller).
+      &quot;referenceId&quot;: &quot;A String&quot;, # A buyer or seller specified reference ID. This can be queried in the list
+          # operations (max-length: 1024 unicode code units).
+    },
+    &quot;displayName&quot;: &quot;A String&quot;, # The name for the proposal.
+    &quot;buyerContacts&quot;: [ # Contact information for the buyer.
+      { # Contains information on how a buyer or seller can be reached.
+        &quot;email&quot;: &quot;A String&quot;, # Email address for the contact.
+        &quot;name&quot;: &quot;A String&quot;, # The name of the contact.
+      },
+    ],
+    &quot;billedBuyer&quot;: { # Represents a buyer of inventory. Each buyer is identified by a unique # Output only. Reference to the buyer that will get billed for this proposal.
+        # Authorized Buyers account ID.
+      &quot;accountId&quot;: &quot;A String&quot;, # Authorized Buyers account ID of the buyer.
+    },
+    &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time when the proposal was last revised.
+    &quot;proposalId&quot;: &quot;A String&quot;, # Output only. The unique ID of the proposal.
+    &quot;deals&quot;: [ # The deals associated with this proposal. For Private Auction proposals
         # (whose deals have NonGuaranteedAuctionTerms), there will only be one deal.
       { # A deal represents a segment of inventory for displaying ads on.
           # A proposal can contain multiple deals. A deal contains the terms and
           # targeting information that is used for serving.
-        "updateTime": "A String", # Output only. The time when the deal was last updated.
-        "createProductRevision": "A String", # Optional revision number of the product that the deal was created from.
+        &quot;programmaticCreativeSource&quot;: &quot;A String&quot;, # Output only. Specifies the creative source for programmatic deals.
+            # PUBLISHER means creative is provided by seller and ADVERTISER means
+            # creative is provided by buyer.
+        &quot;buyerPrivateData&quot;: { # Buyers are allowed to store certain types of private data in a proposal/deal. # Buyer private data (hidden from seller).
+          &quot;referenceId&quot;: &quot;A String&quot;, # A buyer or seller specified reference ID. This can be queried in the list
+              # operations (max-length: 1024 unicode code units).
+        },
+        &quot;displayName&quot;: &quot;A String&quot;, # The name of the deal.
+        &quot;webPropertyCode&quot;: &quot;A String&quot;, # The web property code for the seller copied over from the product.
+        &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time when the deal was last updated.
+        &quot;targetingCriterion&quot;: [ # The shared targeting visible to buyers and sellers. Each shared
+            # targeting entity is AND&#x27;d together.
+          { # Advertisers can target different attributes of an ad slot. For example,
+              # they can choose to show ads only if the user is in the U.S. Such
+              # targeting criteria can be specified as part of Shared Targeting.
+            &quot;exclusions&quot;: [ # The list of values to exclude from targeting. Each value is AND&#x27;d
+                # together.
+              { # A polymorphic targeting value used as part of Shared Targeting.
+                &quot;creativeSizeValue&quot;: { # Specifies the size of the creative. # The creative size value to include/exclude.
+                    # Filled in when key = GOOG_CREATIVE_SIZE
+                  &quot;size&quot;: { # Message depicting the size of the creative. The units of width and # For regular or video creative size type, specifies the size
+                      # of the creative
+                      # height depend on the type of the targeting.
+                    &quot;height&quot;: 42, # The height of the creative.
+                    &quot;width&quot;: 42, # The width of the creative
+                  },
+                  &quot;allowedFormats&quot;: [ # What formats are allowed by the publisher.
+                      # If this repeated field is empty then all formats are allowed.
+                      # For example, if this field contains AllowedFormatType.AUDIO then the
+                      # publisher only allows an audio ad (without any video).
+                    &quot;A String&quot;,
+                  ],
+                  &quot;companionSizes&quot;: [ # For video creatives specifies the sizes of companion ads (if present).
+                      # Companion sizes may be filled in only when creative_size_type = VIDEO
+                    { # Message depicting the size of the creative. The units of width and
+                        # height depend on the type of the targeting.
+                      &quot;height&quot;: 42, # The height of the creative.
+                      &quot;width&quot;: 42, # The width of the creative
+                    },
+                  ],
+                  &quot;skippableAdType&quot;: &quot;A String&quot;, # The type of skippable ad for this creative. It will have a value only if
+                      # creative_size_type = CreativeSizeType.VIDEO.
+                  &quot;creativeSizeType&quot;: &quot;A String&quot;, # The creative size type.
+                  &quot;nativeTemplate&quot;: &quot;A String&quot;, # Output only. The native template for this creative. It will have a value
+                      # only if creative_size_type = CreativeSizeType.NATIVE.
+                },
+                &quot;stringValue&quot;: &quot;A String&quot;, # The string value to include/exclude.
+                &quot;longValue&quot;: &quot;A String&quot;, # The long value to include/exclude.
+                &quot;dayPartTargetingValue&quot;: { # Specifies the day part targeting criteria. # The daypart targeting to include / exclude.
+                    # Filled in when the key is GOOG_DAYPART_TARGETING.
+                    # The definition of this targeting is derived from the structure
+                    # used by Ad Manager.
+                  &quot;timeZoneType&quot;: &quot;A String&quot;, # The timezone to use for interpreting the day part targeting.
+                  &quot;dayParts&quot;: [ # A list of day part targeting criterion.
+                    { # Daypart targeting message that specifies if the ad can be shown
+                        # only during certain parts of a day/week.
+                      &quot;startTime&quot;: { # Represents a time of day. The date and time zone are either not significant # The starting time of day for the ad to show (minute level granularity).
+                          # The start time is inclusive.
+                          # This field is not available for filtering in PQL queries.
+                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                          # types are google.type.Date and `google.protobuf.Timestamp`.
+                        &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;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;dayOfWeek&quot;: &quot;A String&quot;, # The day of the week to target. If unspecified, applicable to all days.
+                      &quot;endTime&quot;: { # Represents a time of day. The date and time zone are either not significant # The ending time of the day for the ad to show (minute level
+                          # granularity). The end time is exclusive. This field is not available
+                          # for filtering in PQL queries.
+                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                          # types are google.type.Date and `google.protobuf.Timestamp`.
+                        &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;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;key&quot;: &quot;A String&quot;, # The key representing the shared targeting criterion.
+                # Targeting criteria defined by Google ad servers will begin with GOOG_.
+                # Third parties may define their own keys.
+                # A list of permissible keys along with the acceptable values will be
+                # provided as part of the external documentation.
+            &quot;inclusions&quot;: [ # The list of value to include as part of the targeting. Each value is OR&#x27;d
+                # together.
+              { # A polymorphic targeting value used as part of Shared Targeting.
+                &quot;creativeSizeValue&quot;: { # Specifies the size of the creative. # The creative size value to include/exclude.
+                    # Filled in when key = GOOG_CREATIVE_SIZE
+                  &quot;size&quot;: { # Message depicting the size of the creative. The units of width and # For regular or video creative size type, specifies the size
+                      # of the creative
+                      # height depend on the type of the targeting.
+                    &quot;height&quot;: 42, # The height of the creative.
+                    &quot;width&quot;: 42, # The width of the creative
+                  },
+                  &quot;allowedFormats&quot;: [ # What formats are allowed by the publisher.
+                      # If this repeated field is empty then all formats are allowed.
+                      # For example, if this field contains AllowedFormatType.AUDIO then the
+                      # publisher only allows an audio ad (without any video).
+                    &quot;A String&quot;,
+                  ],
+                  &quot;companionSizes&quot;: [ # For video creatives specifies the sizes of companion ads (if present).
+                      # Companion sizes may be filled in only when creative_size_type = VIDEO
+                    { # Message depicting the size of the creative. The units of width and
+                        # height depend on the type of the targeting.
+                      &quot;height&quot;: 42, # The height of the creative.
+                      &quot;width&quot;: 42, # The width of the creative
+                    },
+                  ],
+                  &quot;skippableAdType&quot;: &quot;A String&quot;, # The type of skippable ad for this creative. It will have a value only if
+                      # creative_size_type = CreativeSizeType.VIDEO.
+                  &quot;creativeSizeType&quot;: &quot;A String&quot;, # The creative size type.
+                  &quot;nativeTemplate&quot;: &quot;A String&quot;, # Output only. The native template for this creative. It will have a value
+                      # only if creative_size_type = CreativeSizeType.NATIVE.
+                },
+                &quot;stringValue&quot;: &quot;A String&quot;, # The string value to include/exclude.
+                &quot;longValue&quot;: &quot;A String&quot;, # The long value to include/exclude.
+                &quot;dayPartTargetingValue&quot;: { # Specifies the day part targeting criteria. # The daypart targeting to include / exclude.
+                    # Filled in when the key is GOOG_DAYPART_TARGETING.
+                    # The definition of this targeting is derived from the structure
+                    # used by Ad Manager.
+                  &quot;timeZoneType&quot;: &quot;A String&quot;, # The timezone to use for interpreting the day part targeting.
+                  &quot;dayParts&quot;: [ # A list of day part targeting criterion.
+                    { # Daypart targeting message that specifies if the ad can be shown
+                        # only during certain parts of a day/week.
+                      &quot;startTime&quot;: { # Represents a time of day. The date and time zone are either not significant # The starting time of day for the ad to show (minute level granularity).
+                          # The start time is inclusive.
+                          # This field is not available for filtering in PQL queries.
+                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                          # types are google.type.Date and `google.protobuf.Timestamp`.
+                        &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;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;dayOfWeek&quot;: &quot;A String&quot;, # The day of the week to target. If unspecified, applicable to all days.
+                      &quot;endTime&quot;: { # Represents a time of day. The date and time zone are either not significant # The ending time of the day for the ad to show (minute level
+                          # granularity). The end time is exclusive. This field is not available
+                          # for filtering in PQL queries.
+                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                          # types are google.type.Date and `google.protobuf.Timestamp`.
+                        &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;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;dealId&quot;: &quot;A String&quot;, # Output only. A unique deal ID for the deal (server-assigned).
+        &quot;proposalId&quot;: &quot;A String&quot;, # Output only. ID of the proposal that this deal is part of.
+        &quot;availableEndTime&quot;: &quot;A String&quot;, # Proposed flight end time of the deal.
+            # This will generally be stored in a granularity of a second.
+            # A value is not required for Private Auction deals or Preferred Deals.
+        &quot;syndicationProduct&quot;: &quot;A String&quot;, # The syndication product associated with the deal.
+            #
+            # Note: This field may be set only when creating the resource. Modifying
+            # this field while updating the resource will result in an error.
+        &quot;createProductId&quot;: &quot;A String&quot;, # The product ID from which this deal was created.
+            #
+            # Note: This field may be set only when creating the resource. Modifying
+            # this field while updating the resource will result in an error.
+        &quot;creativeSafeFrameCompatibility&quot;: &quot;A String&quot;, # Output only. Specifies whether the creative is safeFrame compatible.
+        &quot;isSetupComplete&quot;: True or False, # Output only. True, if the buyside inventory setup is complete for this
+            # deal.
+        &quot;createProductRevision&quot;: &quot;A String&quot;, # Optional revision number of the product that the deal was created from.
             # If present on create, and the server `product_revision` has advanced sinced
             # the passed-in `create_product_revision`, an `ABORTED` error will be
             # returned.
             #
             # Note: This field may be set only when creating the resource. Modifying
             # this field while updating the resource will result in an error.
-        "programmaticCreativeSource": "A String", # Output only. Specifies the creative source for programmatic deals.
-            # PUBLISHER means creative is provided by seller and ADVERTISER means
-            # creative is provided by buyer.
-        "availableStartTime": "A String", # Optional proposed flight start time of the deal.
+        &quot;sellerContacts&quot;: [ # Output only. Seller contact information for the deal.
+          { # Contains information on how a buyer or seller can be reached.
+            &quot;email&quot;: &quot;A String&quot;, # Email address for the contact.
+            &quot;name&quot;: &quot;A String&quot;, # The name of the contact.
+          },
+        ],
+        &quot;availableStartTime&quot;: &quot;A String&quot;, # Optional proposed flight start time of the deal.
             # This will generally be stored in the granularity of one second since deal
             # serving starts at seconds boundary. Any time specified with more
             # granularity (e.g., in milliseconds) will be truncated towards the start of
             # time in seconds.
-        "availableEndTime": "A String", # Proposed flight end time of the deal.
-            # This will generally be stored in a granularity of a second.
-            # A value is not required for Private Auction deals or Preferred Deals.
-        "externalDealId": "A String", # Output only. The external deal ID assigned to this deal once the deal is
-            # finalized. This is the deal ID that shows up in serving/reporting etc.
-        "targeting": { # Targeting represents different criteria that can be used by advertisers to # Output only. Specifies the subset of inventory targeted by the deal.
+        &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time of the deal creation.
+        &quot;dealTerms&quot;: { # The deal terms specify the details of a Product/deal. They specify things # The negotiable terms of the deal.
+            # like price per buyer, the type of pricing model (e.g., fixed price, auction)
+            # and expected impressions from the publisher.
+          &quot;description&quot;: &quot;A String&quot;, # Publisher provided description for the terms.
+          &quot;nonGuaranteedFixedPriceTerms&quot;: { # Terms for Preferred Deals. Note that Preferred Deals cannot be created via # The terms for non-guaranteed fixed price deals.
+              # the API at this time, but can be returned in a get or list request.
+            &quot;fixedPrices&quot;: [ # Fixed price for the specified buyer.
+              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
+                  # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
+                  # a particular buyer or buyer/advertiser pair, we look for the most specific
+                  # matching rule - we first look for a rule matching the buyer and advertiser,
+                  # next a rule with the buyer but an empty advertiser list, and otherwise look
+                  # for a matching rule where no buyer is set.
+                &quot;price&quot;: { # Represents a price and a pricing type for a product / deal. # The specified price.
+                  &quot;amount&quot;: { # Represents an amount of money with its currency type. # The actual price with currency specified.
+                    &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+                    &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;pricingType&quot;: &quot;A String&quot;, # The pricing type for the deal/product. (default: CPM)
+                },
+                &quot;advertiserIds&quot;: [ # The list of advertisers for this price when associated with this buyer.
+                    # If empty, all advertisers with this buyer pay this price.
+                  &quot;A String&quot;,
+                ],
+                &quot;buyer&quot;: { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
+                    # (if the
+                    # advertisers match, and there&#x27;s no more specific rule matching the buyer).
+                    # Authorized Buyers account ID.
+                  &quot;accountId&quot;: &quot;A String&quot;, # Authorized Buyers account ID of the buyer.
+                },
+              },
+            ],
+          },
+          &quot;estimatedImpressionsPerDay&quot;: &quot;A String&quot;, # Non-binding estimate of the impressions served per day.
+              # Can be set by buyer or seller.
+          &quot;nonGuaranteedAuctionTerms&quot;: { # Terms for Private Auctions. Note that Private Auctions can be created only # The terms for non-guaranteed auction deals.
+              # by the seller, but they can be returned in a get or list request.
+            &quot;autoOptimizePrivateAuction&quot;: True or False, # True if open auction buyers are allowed to compete with invited buyers
+                # in this private auction.
+            &quot;reservePricesPerBuyer&quot;: [ # Reserve price for the specified buyer.
+              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
+                  # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
+                  # a particular buyer or buyer/advertiser pair, we look for the most specific
+                  # matching rule - we first look for a rule matching the buyer and advertiser,
+                  # next a rule with the buyer but an empty advertiser list, and otherwise look
+                  # for a matching rule where no buyer is set.
+                &quot;price&quot;: { # Represents a price and a pricing type for a product / deal. # The specified price.
+                  &quot;amount&quot;: { # Represents an amount of money with its currency type. # The actual price with currency specified.
+                    &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+                    &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;pricingType&quot;: &quot;A String&quot;, # The pricing type for the deal/product. (default: CPM)
+                },
+                &quot;advertiserIds&quot;: [ # The list of advertisers for this price when associated with this buyer.
+                    # If empty, all advertisers with this buyer pay this price.
+                  &quot;A String&quot;,
+                ],
+                &quot;buyer&quot;: { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
+                    # (if the
+                    # advertisers match, and there&#x27;s no more specific rule matching the buyer).
+                    # Authorized Buyers account ID.
+                  &quot;accountId&quot;: &quot;A String&quot;, # Authorized Buyers account ID of the buyer.
+                },
+              },
+            ],
+          },
+          &quot;estimatedGrossSpend&quot;: { # Represents a price and a pricing type for a product / deal. # Non-binding estimate of the estimated gross spend for this deal.
+              # Can be set by buyer or seller.
+            &quot;amount&quot;: { # Represents an amount of money with its currency type. # The actual price with currency specified.
+              &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+              &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;pricingType&quot;: &quot;A String&quot;, # The pricing type for the deal/product. (default: CPM)
+          },
+          &quot;brandingType&quot;: &quot;A String&quot;, # Visibility of the URL in bid requests. (default: BRANDED)
+          &quot;sellerTimeZone&quot;: &quot;A String&quot;, # The time zone name. For deals with Cost Per Day billing, defines the
+              # time zone used to mark the boundaries of a day. It should be an
+              # IANA TZ name, such as &quot;America/Los_Angeles&quot;. For more information,
+              # see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones.
+          &quot;guaranteedFixedPriceTerms&quot;: { # Terms for Programmatic Guaranteed Deals. # The terms for guaranteed fixed price deals.
+            &quot;guaranteedImpressions&quot;: &quot;A String&quot;, # Guaranteed impressions as a percentage. This is the percentage
+                # of guaranteed looks that the buyer is guaranteeing to buy.
+            &quot;minimumDailyLooks&quot;: &quot;A String&quot;, # Daily minimum looks for CPD deal types.
+            &quot;guaranteedLooks&quot;: &quot;A String&quot;, # Count of guaranteed looks. Required for deal, optional for product.
+            &quot;fixedPrices&quot;: [ # Fixed price for the specified buyer.
+              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
+                  # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
+                  # a particular buyer or buyer/advertiser pair, we look for the most specific
+                  # matching rule - we first look for a rule matching the buyer and advertiser,
+                  # next a rule with the buyer but an empty advertiser list, and otherwise look
+                  # for a matching rule where no buyer is set.
+                &quot;price&quot;: { # Represents a price and a pricing type for a product / deal. # The specified price.
+                  &quot;amount&quot;: { # Represents an amount of money with its currency type. # The actual price with currency specified.
+                    &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+                    &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;pricingType&quot;: &quot;A String&quot;, # The pricing type for the deal/product. (default: CPM)
+                },
+                &quot;advertiserIds&quot;: [ # The list of advertisers for this price when associated with this buyer.
+                    # If empty, all advertisers with this buyer pay this price.
+                  &quot;A String&quot;,
+                ],
+                &quot;buyer&quot;: { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
+                    # (if the
+                    # advertisers match, and there&#x27;s no more specific rule matching the buyer).
+                    # Authorized Buyers account ID.
+                  &quot;accountId&quot;: &quot;A String&quot;, # Authorized Buyers account ID of the buyer.
+                },
+              },
+            ],
+          },
+        },
+        &quot;targeting&quot;: { # Targeting represents different criteria that can be used by advertisers to # Output only. Specifies the subset of inventory targeted by the deal.
             # target ad inventory. For example, they can choose to target ad requests only
             # if the user is in the US.
             # Multiple types of targeting are always applied as a logical AND, unless noted
             # otherwise.
-          "placementTargeting": { # Represents targeting about where the ads can appear, e.g., certain sites or # Placement targeting information, e.g., URL, mobile applications.
-              # mobile applications.
-              # Different placement targeting types will be logically OR'ed.
-            "urlTargeting": { # Represents a list of targeted and excluded URLs (e.g., google.com). # URLs to be included/excluded.
-                # For Private Auction and AdX Preferred Deals, URLs are either included or
-                # excluded.
-                # For Programmatic Guaranteed and Preferred Deals, this doesn't
-                # apply.
-              "excludedUrls": [ # A list of URLs to be excluded.
-                "A String",
+          &quot;geoTargeting&quot;: { # Generic targeting used for targeting dimensions that contains a list of # Geo criteria IDs to be included/excluded.
+              # included and excluded numeric IDs.
+            &quot;targetedCriteriaIds&quot;: [ # A list of numeric IDs to be included.
+              &quot;A String&quot;,
+            ],
+            &quot;excludedCriteriaIds&quot;: [ # A list of numeric IDs to be excluded.
+              &quot;A String&quot;,
+            ],
+          },
+          &quot;inventorySizeTargeting&quot;: { # Represents the size of an ad unit that can be targeted on an ad # Inventory sizes to be included/excluded.
+              # request. It only applies to Private Auction, AdX Preferred Deals and
+              # Auction Packages. This targeting does not apply to Programmatic Guaranteed
+              # and Preferred Deals in Ad Manager.
+            &quot;targetedInventorySizes&quot;: [ # A list of inventory sizes to be included.
+              { # Represents size of a single ad slot, or a creative.
+                &quot;width&quot;: &quot;A String&quot;, # The width of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+                &quot;sizeType&quot;: &quot;A String&quot;, # The size type of the ad slot.
+                &quot;height&quot;: &quot;A String&quot;, # The height of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+              },
+            ],
+            &quot;excludedInventorySizes&quot;: [ # A list of inventory sizes to be excluded.
+              { # Represents size of a single ad slot, or a creative.
+                &quot;width&quot;: &quot;A String&quot;, # The width of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+                &quot;sizeType&quot;: &quot;A String&quot;, # The size type of the ad slot.
+                &quot;height&quot;: &quot;A String&quot;, # The height of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+              },
+            ],
+          },
+          &quot;videoTargeting&quot;: { # Represents targeting information about video. # Video targeting information.
+            &quot;targetedPositionTypes&quot;: [ # A list of video positions to be included.
+                # When the included list is present, the excluded list must be empty.
+                # When the excluded list is present, the included list must be empty.
+              &quot;A String&quot;,
+            ],
+            &quot;excludedPositionTypes&quot;: [ # A list of video positions to be excluded.
+                # Position types can either be included or excluded (XOR).
+              &quot;A String&quot;,
+            ],
+          },
+          &quot;technologyTargeting&quot;: { # Represents targeting about various types of technology. # Technology targeting information, e.g., operating system, device category.
+            &quot;deviceCapabilityTargeting&quot;: { # Generic targeting used for targeting dimensions that contains a list of # IDs of device capabilities to be included/excluded.
+                # included and excluded numeric IDs.
+              &quot;targetedCriteriaIds&quot;: [ # A list of numeric IDs to be included.
+                &quot;A String&quot;,
               ],
-              "targetedUrls": [ # A list of URLs to be included.
-                "A String",
+              &quot;excludedCriteriaIds&quot;: [ # A list of numeric IDs to be excluded.
+                &quot;A String&quot;,
               ],
             },
-            "mobileApplicationTargeting": { # Mobile application targeting settings. # Mobile application targeting information in a deal.
-                # This doesn't apply to Auction Packages.
-              "firstPartyTargeting": { # Represents a list of targeted and excluded mobile application IDs that # Publisher owned apps to be targeted or excluded by the publisher to
+            &quot;operatingSystemTargeting&quot;: { # Represents targeting information for operating systems. # Operating system related targeting information.
+              &quot;operatingSystemCriteria&quot;: { # Generic targeting used for targeting dimensions that contains a list of # IDs of operating systems to be included/excluded.
+                  # included and excluded numeric IDs.
+                &quot;targetedCriteriaIds&quot;: [ # A list of numeric IDs to be included.
+                  &quot;A String&quot;,
+                ],
+                &quot;excludedCriteriaIds&quot;: [ # A list of numeric IDs to be excluded.
+                  &quot;A String&quot;,
+                ],
+              },
+              &quot;operatingSystemVersionCriteria&quot;: { # Generic targeting used for targeting dimensions that contains a list of # IDs of operating system versions to be included/excluded.
+                  # included and excluded numeric IDs.
+                &quot;targetedCriteriaIds&quot;: [ # A list of numeric IDs to be included.
+                  &quot;A String&quot;,
+                ],
+                &quot;excludedCriteriaIds&quot;: [ # A list of numeric IDs to be excluded.
+                  &quot;A String&quot;,
+                ],
+              },
+            },
+            &quot;deviceCategoryTargeting&quot;: { # Generic targeting used for targeting dimensions that contains a list of # IDs of device categories to be included/excluded.
+                # included and excluded numeric IDs.
+              &quot;targetedCriteriaIds&quot;: [ # A list of numeric IDs to be included.
+                &quot;A String&quot;,
+              ],
+              &quot;excludedCriteriaIds&quot;: [ # A list of numeric IDs to be excluded.
+                &quot;A String&quot;,
+              ],
+            },
+          },
+          &quot;placementTargeting&quot;: { # Represents targeting about where the ads can appear, e.g., certain sites or # Placement targeting information, e.g., URL, mobile applications.
+              # mobile applications.
+              # Different placement targeting types will be logically OR&#x27;ed.
+            &quot;urlTargeting&quot;: { # Represents a list of targeted and excluded URLs (e.g., google.com). # URLs to be included/excluded.
+                # For Private Auction and AdX Preferred Deals, URLs are either included or
+                # excluded.
+                # For Programmatic Guaranteed and Preferred Deals, this doesn&#x27;t
+                # apply.
+              &quot;targetedUrls&quot;: [ # A list of URLs to be included.
+                &quot;A String&quot;,
+              ],
+              &quot;excludedUrls&quot;: [ # A list of URLs to be excluded.
+                &quot;A String&quot;,
+              ],
+            },
+            &quot;mobileApplicationTargeting&quot;: { # Mobile application targeting settings. # Mobile application targeting information in a deal.
+                # This doesn&#x27;t apply to Auction Packages.
+              &quot;firstPartyTargeting&quot;: { # Represents a list of targeted and excluded mobile application IDs that # Publisher owned apps to be targeted or excluded by the publisher to
                   # display the ads in.
                   # publishers own.
                   # Mobile application IDs are from App Store and Google Play Store.
@@ -2754,546 +3207,93 @@
                   # Google Play Store URL.
                   # iOS App ID (which is a number) can be found at the end of iTunes store URL.
                   # First party mobile applications is either included or excluded.
-                "excludedAppIds": [ # A list of application IDs to be excluded.
-                  "A String",
+                &quot;targetedAppIds&quot;: [ # A list of application IDs to be included.
+                  &quot;A String&quot;,
                 ],
-                "targetedAppIds": [ # A list of application IDs to be included.
-                  "A String",
+                &quot;excludedAppIds&quot;: [ # A list of application IDs to be excluded.
+                  &quot;A String&quot;,
                 ],
               },
             },
           },
-          "geoTargeting": { # Generic targeting used for targeting dimensions that contains a list of # Geo criteria IDs to be included/excluded.
-              # included and excluded numeric IDs.
-            "targetedCriteriaIds": [ # A list of numeric IDs to be included.
-              "A String",
-            ],
-            "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
-              "A String",
-            ],
-          },
-          "videoTargeting": { # Represents targeting information about video. # Video targeting information.
-            "excludedPositionTypes": [ # A list of video positions to be excluded.
-                # Position types can either be included or excluded (XOR).
-              "A String",
-            ],
-            "targetedPositionTypes": [ # A list of video positions to be included.
-                # When the included list is present, the excluded list must be empty.
-                # When the excluded list is present, the included list must be empty.
-              "A String",
-            ],
-          },
-          "technologyTargeting": { # Represents targeting about various types of technology. # Technology targeting information, e.g., operating system, device category.
-            "deviceCategoryTargeting": { # Generic targeting used for targeting dimensions that contains a list of # IDs of device categories to be included/excluded.
-                # included and excluded numeric IDs.
-              "targetedCriteriaIds": [ # A list of numeric IDs to be included.
-                "A String",
-              ],
-              "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
-                "A String",
-              ],
-            },
-            "operatingSystemTargeting": { # Represents targeting information for operating systems. # Operating system related targeting information.
-              "operatingSystemCriteria": { # Generic targeting used for targeting dimensions that contains a list of # IDs of operating systems to be included/excluded.
-                  # included and excluded numeric IDs.
-                "targetedCriteriaIds": [ # A list of numeric IDs to be included.
-                  "A String",
-                ],
-                "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
-                  "A String",
-                ],
-              },
-              "operatingSystemVersionCriteria": { # Generic targeting used for targeting dimensions that contains a list of # IDs of operating system versions to be included/excluded.
-                  # included and excluded numeric IDs.
-                "targetedCriteriaIds": [ # A list of numeric IDs to be included.
-                  "A String",
-                ],
-                "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
-                  "A String",
-                ],
-              },
-            },
-            "deviceCapabilityTargeting": { # Generic targeting used for targeting dimensions that contains a list of # IDs of device capabilities to be included/excluded.
-                # included and excluded numeric IDs.
-              "targetedCriteriaIds": [ # A list of numeric IDs to be included.
-                "A String",
-              ],
-              "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
-                "A String",
-              ],
-            },
-          },
-          "inventorySizeTargeting": { # Represents the size of an ad unit that can be targeted on an ad # Inventory sizes to be included/excluded.
-              # request. It only applies to Private Auction, AdX Preferred Deals and
-              # Auction Packages. This targeting does not apply to Programmatic Guaranteed
-              # and Preferred Deals in Ad Manager.
-            "targetedInventorySizes": [ # A list of inventory sizes to be included.
-              { # Represents size of a single ad slot, or a creative.
-                "width": "A String", # The width of the ad slot in pixels.
-                    # This field will be present only when size type is `PIXEL`.
-                "sizeType": "A String", # The size type of the ad slot.
-                "height": "A String", # The height of the ad slot in pixels.
-                    # This field will be present only when size type is `PIXEL`.
-              },
-            ],
-            "excludedInventorySizes": [ # A list of inventory sizes to be excluded.
-              { # Represents size of a single ad slot, or a creative.
-                "width": "A String", # The width of the ad slot in pixels.
-                    # This field will be present only when size type is `PIXEL`.
-                "sizeType": "A String", # The size type of the ad slot.
-                "height": "A String", # The height of the ad slot in pixels.
-                    # This field will be present only when size type is `PIXEL`.
-              },
-            ],
-          },
         },
-        "createTime": "A String", # Output only. The time of the deal creation.
-        "webPropertyCode": "A String", # The web property code for the seller copied over from the product.
-        "proposalId": "A String", # Output only. ID of the proposal that this deal is part of.
-        "deliveryControl": { # Message contains details about how the deals will be paced. # The set of fields around delivery control that are interesting for a buyer
+        &quot;creativePreApprovalPolicy&quot;: &quot;A String&quot;, # Output only. Specifies the creative pre-approval policy.
+        &quot;deliveryControl&quot;: { # Message contains details about how the deals will be paced. # The set of fields around delivery control that are interesting for a buyer
             # to see but are non-negotiable. These are set by the publisher.
-          "frequencyCaps": [ # Output only. Specifies any frequency caps.
+          &quot;deliveryRateType&quot;: &quot;A String&quot;, # Output only. Specifies how the impression delivery will be paced.
+          &quot;frequencyCaps&quot;: [ # Output only. Specifies any frequency caps.
             { # Frequency cap.
-              "numTimeUnits": 42, # The amount of time, in the units specified by time_unit_type. Defines the
+              &quot;numTimeUnits&quot;: 42, # The amount of time, in the units specified by time_unit_type. Defines the
                   # amount of time over which impressions per user are counted and capped.
-              "timeUnitType": "A String", # The time unit. Along with num_time_units defines the amount of time over
-                  # which impressions per user are counted and capped.
-              "maxImpressions": 42, # The maximum number of impressions that can be served to a user within the
+              &quot;maxImpressions&quot;: 42, # The maximum number of impressions that can be served to a user within the
                   # specified time period.
+              &quot;timeUnitType&quot;: &quot;A String&quot;, # The time unit. Along with num_time_units defines the amount of time over
+                  # which impressions per user are counted and capped.
             },
           ],
-          "creativeBlockingLevel": "A String", # Output only. Specified the creative blocking levels to be applied.
-          "deliveryRateType": "A String", # Output only. Specifies how the impression delivery will be paced.
+          &quot;creativeBlockingLevel&quot;: &quot;A String&quot;, # Output only. Specified the creative blocking levels to be applied.
         },
-        "description": "A String", # Description for the deal terms.
-        "dealId": "A String", # Output only. A unique deal ID for the deal (server-assigned).
-        "creativeSafeFrameCompatibility": "A String", # Output only. Specifies whether the creative is safeFrame compatible.
-        "creativePreApprovalPolicy": "A String", # Output only. Specifies the creative pre-approval policy.
-        "creativeRestrictions": { # Represents creative restrictions associated to Programmatic Guaranteed/ # Output only. Restricitions about the creatives associated with the deal
+        &quot;externalDealId&quot;: &quot;A String&quot;, # Output only. The external deal ID assigned to this deal once the deal is
+            # finalized. This is the deal ID that shows up in serving/reporting etc.
+        &quot;creativeRestrictions&quot;: { # Represents creative restrictions associated to Programmatic Guaranteed/ # Output only. Restricitions about the creatives associated with the deal
             # (i.e., size) This is available for Programmatic Guaranteed/Preferred Deals
             # in Ad Manager.
             # Preferred Deal in Ad Manager.
-            # This doesn't apply to Private Auction and AdX Preferred Deals.
-          "creativeFormat": "A String", # The format of the environment that the creatives will be displayed in.
-          "creativeSpecifications": [
+            # This doesn&#x27;t apply to Private Auction and AdX Preferred Deals.
+          &quot;creativeFormat&quot;: &quot;A String&quot;, # The format of the environment that the creatives will be displayed in.
+          &quot;creativeSpecifications&quot;: [
             { # Represents information for a creative that is associated with a Programmatic
                 # Guaranteed/Preferred Deal in Ad Manager.
-              "creativeSize": { # Represents size of a single ad slot, or a creative. # The size of the creative.
-                "width": "A String", # The width of the ad slot in pixels.
+              &quot;creativeSize&quot;: { # Represents size of a single ad slot, or a creative. # The size of the creative.
+                &quot;width&quot;: &quot;A String&quot;, # The width of the ad slot in pixels.
                     # This field will be present only when size type is `PIXEL`.
-                "sizeType": "A String", # The size type of the ad slot.
-                "height": "A String", # The height of the ad slot in pixels.
+                &quot;sizeType&quot;: &quot;A String&quot;, # The size type of the ad slot.
+                &quot;height&quot;: &quot;A String&quot;, # The height of the ad slot in pixels.
                     # This field will be present only when size type is `PIXEL`.
               },
-              "creativeCompanionSizes": [ # Companion sizes may be filled in only when this is a video creative.
+              &quot;creativeCompanionSizes&quot;: [ # Companion sizes may be filled in only when this is a video creative.
                 { # Represents size of a single ad slot, or a creative.
-                  "width": "A String", # The width of the ad slot in pixels.
+                  &quot;width&quot;: &quot;A String&quot;, # The width of the ad slot in pixels.
                       # This field will be present only when size type is `PIXEL`.
-                  "sizeType": "A String", # The size type of the ad slot.
-                  "height": "A String", # The height of the ad slot in pixels.
+                  &quot;sizeType&quot;: &quot;A String&quot;, # The size type of the ad slot.
+                  &quot;height&quot;: &quot;A String&quot;, # The height of the ad slot in pixels.
                       # This field will be present only when size type is `PIXEL`.
                 },
               ],
             },
           ],
-          "skippableAdType": "A String", # Skippable video ads allow viewers to skip ads after 5 seconds.
+          &quot;skippableAdType&quot;: &quot;A String&quot;, # Skippable video ads allow viewers to skip ads after 5 seconds.
         },
-        "createProductId": "A String", # The product ID from which this deal was created.
-            #
-            # Note: This field may be set only when creating the resource. Modifying
-            # this field while updating the resource will result in an error.
-        "dealTerms": { # The deal terms specify the details of a Product/deal. They specify things # The negotiable terms of the deal.
-            # like price per buyer, the type of pricing model (e.g., fixed price, auction)
-            # and expected impressions from the publisher.
-          "brandingType": "A String", # Visibility of the URL in bid requests. (default: BRANDED)
-          "estimatedGrossSpend": { # Represents a price and a pricing type for a product / deal. # Non-binding estimate of the estimated gross spend for this deal.
-              # Can be set by buyer or seller.
-            "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
-            "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
-              "nanos": 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.
-              "units": "A String", # The whole units of the amount.
-                  # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-              "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-            },
-          },
-          "sellerTimeZone": "A String", # The time zone name. For deals with Cost Per Day billing, defines the
-              # time zone used to mark the boundaries of a day. It should be an
-              # IANA TZ name, such as "America/Los_Angeles". For more information,
-              # see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones.
-          "estimatedImpressionsPerDay": "A String", # Non-binding estimate of the impressions served per day.
-              # Can be set by buyer or seller.
-          "nonGuaranteedFixedPriceTerms": { # Terms for Preferred Deals. Note that Preferred Deals cannot be created via # The terms for non-guaranteed fixed price deals.
-              # the API at this time, but can be returned in a get or list request.
-            "fixedPrices": [ # Fixed price for the specified buyer.
-              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
-                  # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
-                  # a particular buyer or buyer/advertiser pair, we look for the most specific
-                  # matching rule - we first look for a rule matching the buyer and advertiser,
-                  # next a rule with the buyer but an empty advertiser list, and otherwise look
-                  # for a matching rule where no buyer is set.
-                "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
-                    # (if the
-                    # advertisers match, and there's no more specific rule matching the buyer).
-                    # Authorized Buyers account ID.
-                  "accountId": "A String", # Authorized Buyers account ID of the buyer.
-                },
-                "advertiserIds": [ # The list of advertisers for this price when associated with this buyer.
-                    # If empty, all advertisers with this buyer pay this price.
-                  "A String",
-                ],
-                "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
-                  "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
-                  "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
-                    "nanos": 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.
-                    "units": "A String", # The whole units of the amount.
-                        # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-                    "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-                  },
-                },
-              },
-            ],
-          },
-          "guaranteedFixedPriceTerms": { # Terms for Programmatic Guaranteed Deals. # The terms for guaranteed fixed price deals.
-            "guaranteedImpressions": "A String", # Guaranteed impressions as a percentage. This is the percentage
-                # of guaranteed looks that the buyer is guaranteeing to buy.
-            "fixedPrices": [ # Fixed price for the specified buyer.
-              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
-                  # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
-                  # a particular buyer or buyer/advertiser pair, we look for the most specific
-                  # matching rule - we first look for a rule matching the buyer and advertiser,
-                  # next a rule with the buyer but an empty advertiser list, and otherwise look
-                  # for a matching rule where no buyer is set.
-                "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
-                    # (if the
-                    # advertisers match, and there's no more specific rule matching the buyer).
-                    # Authorized Buyers account ID.
-                  "accountId": "A String", # Authorized Buyers account ID of the buyer.
-                },
-                "advertiserIds": [ # The list of advertisers for this price when associated with this buyer.
-                    # If empty, all advertisers with this buyer pay this price.
-                  "A String",
-                ],
-                "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
-                  "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
-                  "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
-                    "nanos": 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.
-                    "units": "A String", # The whole units of the amount.
-                        # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-                    "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-                  },
-                },
-              },
-            ],
-            "minimumDailyLooks": "A String", # Daily minimum looks for CPD deal types.
-            "guaranteedLooks": "A String", # Count of guaranteed looks. Required for deal, optional for product.
-          },
-          "nonGuaranteedAuctionTerms": { # Terms for Private Auctions. Note that Private Auctions can be created only # The terms for non-guaranteed auction deals.
-              # by the seller, but they can be returned in a get or list request.
-            "reservePricesPerBuyer": [ # Reserve price for the specified buyer.
-              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
-                  # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
-                  # a particular buyer or buyer/advertiser pair, we look for the most specific
-                  # matching rule - we first look for a rule matching the buyer and advertiser,
-                  # next a rule with the buyer but an empty advertiser list, and otherwise look
-                  # for a matching rule where no buyer is set.
-                "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
-                    # (if the
-                    # advertisers match, and there's no more specific rule matching the buyer).
-                    # Authorized Buyers account ID.
-                  "accountId": "A String", # Authorized Buyers account ID of the buyer.
-                },
-                "advertiserIds": [ # The list of advertisers for this price when associated with this buyer.
-                    # If empty, all advertisers with this buyer pay this price.
-                  "A String",
-                ],
-                "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
-                  "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
-                  "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
-                    "nanos": 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.
-                    "units": "A String", # The whole units of the amount.
-                        # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-                    "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-                  },
-                },
-              },
-            ],
-            "autoOptimizePrivateAuction": True or False, # True if open auction buyers are allowed to compete with invited buyers
-                # in this private auction.
-          },
-          "description": "A String", # Publisher provided description for the terms.
-        },
-        "sellerContacts": [ # Output only. Seller contact information for the deal.
-          { # Contains information on how a buyer or seller can be reached.
-            "email": "A String", # Email address for the contact.
-            "name": "A String", # The name of the contact.
-          },
-        ],
-        "displayName": "A String", # The name of the deal.
-        "buyerPrivateData": { # Buyers are allowed to store certain types of private data in a proposal/deal. # Buyer private data (hidden from seller).
-          "referenceId": "A String", # A buyer or seller specified reference ID. This can be queried in the list
-              # operations (max-length: 1024 unicode code units).
-        },
-        "syndicationProduct": "A String", # The syndication product associated with the deal.
-            #
-            # Note: This field may be set only when creating the resource. Modifying
-            # this field while updating the resource will result in an error.
-        "targetingCriterion": [ # The shared targeting visible to buyers and sellers. Each shared
-            # targeting entity is AND'd together.
-          { # Advertisers can target different attributes of an ad slot. For example,
-              # they can choose to show ads only if the user is in the U.S. Such
-              # targeting criteria can be specified as part of Shared Targeting.
-            "inclusions": [ # The list of value to include as part of the targeting. Each value is OR'd
-                # together.
-              { # A polymorphic targeting value used as part of Shared Targeting.
-                "stringValue": "A String", # The string value to include/exclude.
-                "longValue": "A String", # The long value to include/exclude.
-                "dayPartTargetingValue": { # Specifies the day part targeting criteria. # The daypart targeting to include / exclude.
-                    # Filled in when the key is GOOG_DAYPART_TARGETING.
-                    # The definition of this targeting is derived from the structure
-                    # used by Ad Manager.
-                  "dayParts": [ # A list of day part targeting criterion.
-                    { # Daypart targeting message that specifies if the ad can be shown
-                        # only during certain parts of a day/week.
-                      "dayOfWeek": "A String", # The day of the week to target. If unspecified, applicable to all days.
-                      "endTime": { # Represents a time of day. The date and time zone are either not significant # The ending time of the day for the ad to show (minute level
-                          # granularity). The end time is exclusive. This field is not available
-                          # for filtering in PQL queries.
-                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
-                          # types are google.type.Date and `google.protobuf.Timestamp`.
-                        "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
-                            # to allow the value "24:00:00" for scenarios like business closing time.
-                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                        "seconds": 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.
-                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                      },
-                      "startTime": { # Represents a time of day. The date and time zone are either not significant # The starting time of day for the ad to show (minute level granularity).
-                          # The start time is inclusive.
-                          # This field is not available for filtering in PQL queries.
-                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
-                          # types are google.type.Date and `google.protobuf.Timestamp`.
-                        "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
-                            # to allow the value "24:00:00" for scenarios like business closing time.
-                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                        "seconds": 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.
-                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                      },
-                    },
-                  ],
-                  "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
-                },
-                "creativeSizeValue": { # Specifies the size of the creative. # The creative size value to include/exclude.
-                    # Filled in when key = GOOG_CREATIVE_SIZE
-                  "companionSizes": [ # For video creatives specifies the sizes of companion ads (if present).
-                      # Companion sizes may be filled in only when creative_size_type = VIDEO
-                    { # Message depicting the size of the creative. The units of width and
-                        # height depend on the type of the targeting.
-                      "width": 42, # The width of the creative
-                      "height": 42, # The height of the creative.
-                    },
-                  ],
-                  "nativeTemplate": "A String", # Output only. The native template for this creative. It will have a value
-                      # only if creative_size_type = CreativeSizeType.NATIVE.
-                  "allowedFormats": [ # What formats are allowed by the publisher.
-                      # If this repeated field is empty then all formats are allowed.
-                      # For example, if this field contains AllowedFormatType.AUDIO then the
-                      # publisher only allows an audio ad (without any video).
-                    "A String",
-                  ],
-                  "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if
-                      # creative_size_type = CreativeSizeType.VIDEO.
-                  "creativeSizeType": "A String", # The creative size type.
-                  "size": { # Message depicting the size of the creative. The units of width and # For regular or video creative size type, specifies the size
-                      # of the creative
-                      # height depend on the type of the targeting.
-                    "width": 42, # The width of the creative
-                    "height": 42, # The height of the creative.
-                  },
-                },
-              },
-            ],
-            "exclusions": [ # The list of values to exclude from targeting. Each value is AND'd
-                # together.
-              { # A polymorphic targeting value used as part of Shared Targeting.
-                "stringValue": "A String", # The string value to include/exclude.
-                "longValue": "A String", # The long value to include/exclude.
-                "dayPartTargetingValue": { # Specifies the day part targeting criteria. # The daypart targeting to include / exclude.
-                    # Filled in when the key is GOOG_DAYPART_TARGETING.
-                    # The definition of this targeting is derived from the structure
-                    # used by Ad Manager.
-                  "dayParts": [ # A list of day part targeting criterion.
-                    { # Daypart targeting message that specifies if the ad can be shown
-                        # only during certain parts of a day/week.
-                      "dayOfWeek": "A String", # The day of the week to target. If unspecified, applicable to all days.
-                      "endTime": { # Represents a time of day. The date and time zone are either not significant # The ending time of the day for the ad to show (minute level
-                          # granularity). The end time is exclusive. This field is not available
-                          # for filtering in PQL queries.
-                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
-                          # types are google.type.Date and `google.protobuf.Timestamp`.
-                        "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
-                            # to allow the value "24:00:00" for scenarios like business closing time.
-                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                        "seconds": 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.
-                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                      },
-                      "startTime": { # Represents a time of day. The date and time zone are either not significant # The starting time of day for the ad to show (minute level granularity).
-                          # The start time is inclusive.
-                          # This field is not available for filtering in PQL queries.
-                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
-                          # types are google.type.Date and `google.protobuf.Timestamp`.
-                        "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
-                            # to allow the value "24:00:00" for scenarios like business closing time.
-                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                        "seconds": 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.
-                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                      },
-                    },
-                  ],
-                  "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
-                },
-                "creativeSizeValue": { # Specifies the size of the creative. # The creative size value to include/exclude.
-                    # Filled in when key = GOOG_CREATIVE_SIZE
-                  "companionSizes": [ # For video creatives specifies the sizes of companion ads (if present).
-                      # Companion sizes may be filled in only when creative_size_type = VIDEO
-                    { # Message depicting the size of the creative. The units of width and
-                        # height depend on the type of the targeting.
-                      "width": 42, # The width of the creative
-                      "height": 42, # The height of the creative.
-                    },
-                  ],
-                  "nativeTemplate": "A String", # Output only. The native template for this creative. It will have a value
-                      # only if creative_size_type = CreativeSizeType.NATIVE.
-                  "allowedFormats": [ # What formats are allowed by the publisher.
-                      # If this repeated field is empty then all formats are allowed.
-                      # For example, if this field contains AllowedFormatType.AUDIO then the
-                      # publisher only allows an audio ad (without any video).
-                    "A String",
-                  ],
-                  "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if
-                      # creative_size_type = CreativeSizeType.VIDEO.
-                  "creativeSizeType": "A String", # The creative size type.
-                  "size": { # Message depicting the size of the creative. The units of width and # For regular or video creative size type, specifies the size
-                      # of the creative
-                      # height depend on the type of the targeting.
-                    "width": 42, # The width of the creative
-                    "height": 42, # The height of the creative.
-                  },
-                },
-              },
-            ],
-            "key": "A String", # The key representing the shared targeting criterion.
-                # Targeting criteria defined by Google ad servers will begin with GOOG_.
-                # Third parties may define their own keys.
-                # A list of permissible keys along with the acceptable values will be
-                # provided as part of the external documentation.
-          },
-        ],
-        "dealServingMetadata": { # Message captures metadata about the serving status of a deal. # Output only. Metadata about the serving status of this deal.
-          "dealPauseStatus": { # Tracks which parties (if any) have paused a deal. # Output only. Tracks which parties (if any) have paused a deal.
+        &quot;dealServingMetadata&quot;: { # Message captures metadata about the serving status of a deal. # Output only. Metadata about the serving status of this deal.
+          &quot;dealPauseStatus&quot;: { # Tracks which parties (if any) have paused a deal. # Output only. Tracks which parties (if any) have paused a deal.
               # The deal is considered paused if either hasBuyerPaused or
               # hasSellPaused is true.
-            "hasSellerPaused": True or False, # True, if the seller has paused the deal unilaterally.
-            "buyerPauseReason": "A String", # The buyer's reason for pausing, if the buyer paused the deal.
-            "sellerPauseReason": "A String", # The seller's reason for pausing, if the seller paused the deal.
-            "hasBuyerPaused": True or False, # True, if the buyer has paused the deal unilaterally.
-            "firstPausedBy": "A String", # The role of the person who first paused this deal.
+            &quot;firstPausedBy&quot;: &quot;A String&quot;, # The role of the person who first paused this deal.
+            &quot;sellerPauseReason&quot;: &quot;A String&quot;, # The seller&#x27;s reason for pausing, if the seller paused the deal.
+            &quot;hasSellerPaused&quot;: True or False, # True, if the seller has paused the deal unilaterally.
+            &quot;buyerPauseReason&quot;: &quot;A String&quot;, # The buyer&#x27;s reason for pausing, if the buyer paused the deal.
+            &quot;hasBuyerPaused&quot;: True or False, # True, if the buyer has paused the deal unilaterally.
           },
         },
-        "isSetupComplete": True or False, # Output only. True, if the buyside inventory setup is complete for this
-            # deal.
+        &quot;description&quot;: &quot;A String&quot;, # Description for the deal terms.
       },
     ],
-    "updateTime": "A String", # Output only. The time when the proposal was last revised.
-    "proposalState": "A String", # Output only. The current state of the proposal.
-    "proposalRevision": "A String", # Output only. The revision number for the proposal.
+    &quot;proposalRevision&quot;: &quot;A String&quot;, # Output only. The revision number for the proposal.
         # Each update to the proposal or the deal causes the proposal revision number
         # to auto-increment. The buyer keeps track of the last revision number they
         # know of and pass it in when making an update. If the head revision number
         # on the server has since incremented, then an ABORTED error is returned
         # during the update operation to let the buyer know that a subsequent update
         # was made.
-    "buyerPrivateData": { # Buyers are allowed to store certain types of private data in a proposal/deal. # Private data for buyer. (hidden from seller).
-      "referenceId": "A String", # A buyer or seller specified reference ID. This can be queried in the list
-          # operations (max-length: 1024 unicode code units).
-    },
-    "privateAuctionId": "A String", # Output only. Private auction ID if this proposal is a private auction
-        # proposal.
-    "notes": [ # Output only. The notes associated with this proposal.
-      { # A proposal may be associated to several notes.
-        "note": "A String", # The actual note to attach.
-            # (max-length: 1024 unicode code units)
-            #
-            # Note: This field may be set only when creating the resource. Modifying
-            # this field while updating the resource will result in an error.
-        "creatorRole": "A String", # Output only. The role of the person (buyer/seller) creating the note.
-        "proposalRevision": "A String", # Output only. The revision number of the proposal when the note is created.
-        "createTime": "A String", # Output only. The timestamp for when this note was created.
-        "noteId": "A String", # Output only. The unique ID for the note.
-      },
-    ],
-    "originatorRole": "A String", # Output only. Indicates whether the buyer/seller created the proposal.
-    "billedBuyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # Output only. Reference to the buyer that will get billed for this proposal.
-        # Authorized Buyers account ID.
-      "accountId": "A String", # Authorized Buyers account ID of the buyer.
-    },
-    "seller": { # Represents a seller of inventory. Each seller is identified by a unique # Reference to the seller on the proposal.
+    &quot;seller&quot;: { # Represents a seller of inventory. Each seller is identified by a unique # Reference to the seller on the proposal.
         #
         # Note: This field may be set only when creating the resource. Modifying
         # this field while updating the resource will result in an error.
         # Ad Manager account ID.
-      "subAccountId": "A String", # Optional sub-account ID for the seller.
-      "accountId": "A String", # The unique ID for the seller. The seller fills in this field.
+      &quot;subAccountId&quot;: &quot;A String&quot;, # Optional sub-account ID for the seller.
+      &quot;accountId&quot;: &quot;A String&quot;, # The unique ID for the seller. The seller fills in this field.
           # The seller account ID is then available to buyer in the product.
     },
-    "sellerContacts": [ # Output only. Contact information for the seller.
-      { # Contains information on how a buyer or seller can be reached.
-        "email": "A String", # Email address for the contact.
-        "name": "A String", # The name of the contact.
-      },
-    ],
-    "proposalId": "A String", # Output only. The unique ID of the proposal.
-    "isRenegotiating": True or False, # Output only. True if the proposal is being renegotiated.
-    "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # Reference to the buyer on the proposal.
-        #
-        # Note: This field may be set only when creating the resource. Modifying
-        # this field while updating the resource will result in an error.
-        # Authorized Buyers account ID.
-      "accountId": "A String", # Authorized Buyers account ID of the buyer.
-    },
-    "isSetupComplete": True or False, # Output only. True, if the buyside inventory setup is complete for this
-        # proposal.
-    "displayName": "A String", # The name for the proposal.
-    "lastUpdaterOrCommentorRole": "A String", # Output only. The role of the last user that either updated the proposal or
-        # left a comment.
-    "buyerContacts": [ # Contact information for the buyer.
-      { # Contains information on how a buyer or seller can be reached.
-        "email": "A String", # Email address for the contact.
-        "name": "A String", # The name of the contact.
-      },
-    ],
   }</pre>
 </div>
 
@@ -3324,55 +3324,508 @@
       # Auction or Preferred Deals deals through the API.
       #
       # Fields are updatable unless noted otherwise.
-    "deals": [ # The deals associated with this proposal. For Private Auction proposals
+    &quot;buyer&quot;: { # Represents a buyer of inventory. Each buyer is identified by a unique # Reference to the buyer on the proposal.
+        #
+        # Note: This field may be set only when creating the resource. Modifying
+        # this field while updating the resource will result in an error.
+        # Authorized Buyers account ID.
+      &quot;accountId&quot;: &quot;A String&quot;, # Authorized Buyers account ID of the buyer.
+    },
+    &quot;isRenegotiating&quot;: True or False, # Output only. True if the proposal is being renegotiated.
+    &quot;notes&quot;: [ # Output only. The notes associated with this proposal.
+      { # A proposal may be associated to several notes.
+        &quot;note&quot;: &quot;A String&quot;, # The actual note to attach.
+            # (max-length: 1024 unicode code units)
+            #
+            # Note: This field may be set only when creating the resource. Modifying
+            # this field while updating the resource will result in an error.
+        &quot;proposalRevision&quot;: &quot;A String&quot;, # Output only. The revision number of the proposal when the note is created.
+        &quot;noteId&quot;: &quot;A String&quot;, # Output only. The unique ID for the note.
+        &quot;createTime&quot;: &quot;A String&quot;, # Output only. The timestamp for when this note was created.
+        &quot;creatorRole&quot;: &quot;A String&quot;, # Output only. The role of the person (buyer/seller) creating the note.
+      },
+    ],
+    &quot;isSetupComplete&quot;: True or False, # Output only. True, if the buyside inventory setup is complete for this
+        # proposal.
+    &quot;proposalState&quot;: &quot;A String&quot;, # Output only. The current state of the proposal.
+    &quot;sellerContacts&quot;: [ # Output only. Contact information for the seller.
+      { # Contains information on how a buyer or seller can be reached.
+        &quot;email&quot;: &quot;A String&quot;, # Email address for the contact.
+        &quot;name&quot;: &quot;A String&quot;, # The name of the contact.
+      },
+    ],
+    &quot;privateAuctionId&quot;: &quot;A String&quot;, # Output only. Private auction ID if this proposal is a private auction
+        # proposal.
+    &quot;originatorRole&quot;: &quot;A String&quot;, # Output only. Indicates whether the buyer/seller created the proposal.
+    &quot;lastUpdaterOrCommentorRole&quot;: &quot;A String&quot;, # Output only. The role of the last user that either updated the proposal or
+        # left a comment.
+    &quot;buyerPrivateData&quot;: { # Buyers are allowed to store certain types of private data in a proposal/deal. # Private data for buyer. (hidden from seller).
+      &quot;referenceId&quot;: &quot;A String&quot;, # A buyer or seller specified reference ID. This can be queried in the list
+          # operations (max-length: 1024 unicode code units).
+    },
+    &quot;displayName&quot;: &quot;A String&quot;, # The name for the proposal.
+    &quot;buyerContacts&quot;: [ # Contact information for the buyer.
+      { # Contains information on how a buyer or seller can be reached.
+        &quot;email&quot;: &quot;A String&quot;, # Email address for the contact.
+        &quot;name&quot;: &quot;A String&quot;, # The name of the contact.
+      },
+    ],
+    &quot;billedBuyer&quot;: { # Represents a buyer of inventory. Each buyer is identified by a unique # Output only. Reference to the buyer that will get billed for this proposal.
+        # Authorized Buyers account ID.
+      &quot;accountId&quot;: &quot;A String&quot;, # Authorized Buyers account ID of the buyer.
+    },
+    &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time when the proposal was last revised.
+    &quot;proposalId&quot;: &quot;A String&quot;, # Output only. The unique ID of the proposal.
+    &quot;deals&quot;: [ # The deals associated with this proposal. For Private Auction proposals
         # (whose deals have NonGuaranteedAuctionTerms), there will only be one deal.
       { # A deal represents a segment of inventory for displaying ads on.
           # A proposal can contain multiple deals. A deal contains the terms and
           # targeting information that is used for serving.
-        "updateTime": "A String", # Output only. The time when the deal was last updated.
-        "createProductRevision": "A String", # Optional revision number of the product that the deal was created from.
+        &quot;programmaticCreativeSource&quot;: &quot;A String&quot;, # Output only. Specifies the creative source for programmatic deals.
+            # PUBLISHER means creative is provided by seller and ADVERTISER means
+            # creative is provided by buyer.
+        &quot;buyerPrivateData&quot;: { # Buyers are allowed to store certain types of private data in a proposal/deal. # Buyer private data (hidden from seller).
+          &quot;referenceId&quot;: &quot;A String&quot;, # A buyer or seller specified reference ID. This can be queried in the list
+              # operations (max-length: 1024 unicode code units).
+        },
+        &quot;displayName&quot;: &quot;A String&quot;, # The name of the deal.
+        &quot;webPropertyCode&quot;: &quot;A String&quot;, # The web property code for the seller copied over from the product.
+        &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time when the deal was last updated.
+        &quot;targetingCriterion&quot;: [ # The shared targeting visible to buyers and sellers. Each shared
+            # targeting entity is AND&#x27;d together.
+          { # Advertisers can target different attributes of an ad slot. For example,
+              # they can choose to show ads only if the user is in the U.S. Such
+              # targeting criteria can be specified as part of Shared Targeting.
+            &quot;exclusions&quot;: [ # The list of values to exclude from targeting. Each value is AND&#x27;d
+                # together.
+              { # A polymorphic targeting value used as part of Shared Targeting.
+                &quot;creativeSizeValue&quot;: { # Specifies the size of the creative. # The creative size value to include/exclude.
+                    # Filled in when key = GOOG_CREATIVE_SIZE
+                  &quot;size&quot;: { # Message depicting the size of the creative. The units of width and # For regular or video creative size type, specifies the size
+                      # of the creative
+                      # height depend on the type of the targeting.
+                    &quot;height&quot;: 42, # The height of the creative.
+                    &quot;width&quot;: 42, # The width of the creative
+                  },
+                  &quot;allowedFormats&quot;: [ # What formats are allowed by the publisher.
+                      # If this repeated field is empty then all formats are allowed.
+                      # For example, if this field contains AllowedFormatType.AUDIO then the
+                      # publisher only allows an audio ad (without any video).
+                    &quot;A String&quot;,
+                  ],
+                  &quot;companionSizes&quot;: [ # For video creatives specifies the sizes of companion ads (if present).
+                      # Companion sizes may be filled in only when creative_size_type = VIDEO
+                    { # Message depicting the size of the creative. The units of width and
+                        # height depend on the type of the targeting.
+                      &quot;height&quot;: 42, # The height of the creative.
+                      &quot;width&quot;: 42, # The width of the creative
+                    },
+                  ],
+                  &quot;skippableAdType&quot;: &quot;A String&quot;, # The type of skippable ad for this creative. It will have a value only if
+                      # creative_size_type = CreativeSizeType.VIDEO.
+                  &quot;creativeSizeType&quot;: &quot;A String&quot;, # The creative size type.
+                  &quot;nativeTemplate&quot;: &quot;A String&quot;, # Output only. The native template for this creative. It will have a value
+                      # only if creative_size_type = CreativeSizeType.NATIVE.
+                },
+                &quot;stringValue&quot;: &quot;A String&quot;, # The string value to include/exclude.
+                &quot;longValue&quot;: &quot;A String&quot;, # The long value to include/exclude.
+                &quot;dayPartTargetingValue&quot;: { # Specifies the day part targeting criteria. # The daypart targeting to include / exclude.
+                    # Filled in when the key is GOOG_DAYPART_TARGETING.
+                    # The definition of this targeting is derived from the structure
+                    # used by Ad Manager.
+                  &quot;timeZoneType&quot;: &quot;A String&quot;, # The timezone to use for interpreting the day part targeting.
+                  &quot;dayParts&quot;: [ # A list of day part targeting criterion.
+                    { # Daypart targeting message that specifies if the ad can be shown
+                        # only during certain parts of a day/week.
+                      &quot;startTime&quot;: { # Represents a time of day. The date and time zone are either not significant # The starting time of day for the ad to show (minute level granularity).
+                          # The start time is inclusive.
+                          # This field is not available for filtering in PQL queries.
+                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                          # types are google.type.Date and `google.protobuf.Timestamp`.
+                        &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;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;dayOfWeek&quot;: &quot;A String&quot;, # The day of the week to target. If unspecified, applicable to all days.
+                      &quot;endTime&quot;: { # Represents a time of day. The date and time zone are either not significant # The ending time of the day for the ad to show (minute level
+                          # granularity). The end time is exclusive. This field is not available
+                          # for filtering in PQL queries.
+                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                          # types are google.type.Date and `google.protobuf.Timestamp`.
+                        &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;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;key&quot;: &quot;A String&quot;, # The key representing the shared targeting criterion.
+                # Targeting criteria defined by Google ad servers will begin with GOOG_.
+                # Third parties may define their own keys.
+                # A list of permissible keys along with the acceptable values will be
+                # provided as part of the external documentation.
+            &quot;inclusions&quot;: [ # The list of value to include as part of the targeting. Each value is OR&#x27;d
+                # together.
+              { # A polymorphic targeting value used as part of Shared Targeting.
+                &quot;creativeSizeValue&quot;: { # Specifies the size of the creative. # The creative size value to include/exclude.
+                    # Filled in when key = GOOG_CREATIVE_SIZE
+                  &quot;size&quot;: { # Message depicting the size of the creative. The units of width and # For regular or video creative size type, specifies the size
+                      # of the creative
+                      # height depend on the type of the targeting.
+                    &quot;height&quot;: 42, # The height of the creative.
+                    &quot;width&quot;: 42, # The width of the creative
+                  },
+                  &quot;allowedFormats&quot;: [ # What formats are allowed by the publisher.
+                      # If this repeated field is empty then all formats are allowed.
+                      # For example, if this field contains AllowedFormatType.AUDIO then the
+                      # publisher only allows an audio ad (without any video).
+                    &quot;A String&quot;,
+                  ],
+                  &quot;companionSizes&quot;: [ # For video creatives specifies the sizes of companion ads (if present).
+                      # Companion sizes may be filled in only when creative_size_type = VIDEO
+                    { # Message depicting the size of the creative. The units of width and
+                        # height depend on the type of the targeting.
+                      &quot;height&quot;: 42, # The height of the creative.
+                      &quot;width&quot;: 42, # The width of the creative
+                    },
+                  ],
+                  &quot;skippableAdType&quot;: &quot;A String&quot;, # The type of skippable ad for this creative. It will have a value only if
+                      # creative_size_type = CreativeSizeType.VIDEO.
+                  &quot;creativeSizeType&quot;: &quot;A String&quot;, # The creative size type.
+                  &quot;nativeTemplate&quot;: &quot;A String&quot;, # Output only. The native template for this creative. It will have a value
+                      # only if creative_size_type = CreativeSizeType.NATIVE.
+                },
+                &quot;stringValue&quot;: &quot;A String&quot;, # The string value to include/exclude.
+                &quot;longValue&quot;: &quot;A String&quot;, # The long value to include/exclude.
+                &quot;dayPartTargetingValue&quot;: { # Specifies the day part targeting criteria. # The daypart targeting to include / exclude.
+                    # Filled in when the key is GOOG_DAYPART_TARGETING.
+                    # The definition of this targeting is derived from the structure
+                    # used by Ad Manager.
+                  &quot;timeZoneType&quot;: &quot;A String&quot;, # The timezone to use for interpreting the day part targeting.
+                  &quot;dayParts&quot;: [ # A list of day part targeting criterion.
+                    { # Daypart targeting message that specifies if the ad can be shown
+                        # only during certain parts of a day/week.
+                      &quot;startTime&quot;: { # Represents a time of day. The date and time zone are either not significant # The starting time of day for the ad to show (minute level granularity).
+                          # The start time is inclusive.
+                          # This field is not available for filtering in PQL queries.
+                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                          # types are google.type.Date and `google.protobuf.Timestamp`.
+                        &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;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;dayOfWeek&quot;: &quot;A String&quot;, # The day of the week to target. If unspecified, applicable to all days.
+                      &quot;endTime&quot;: { # Represents a time of day. The date and time zone are either not significant # The ending time of the day for the ad to show (minute level
+                          # granularity). The end time is exclusive. This field is not available
+                          # for filtering in PQL queries.
+                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                          # types are google.type.Date and `google.protobuf.Timestamp`.
+                        &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;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;dealId&quot;: &quot;A String&quot;, # Output only. A unique deal ID for the deal (server-assigned).
+        &quot;proposalId&quot;: &quot;A String&quot;, # Output only. ID of the proposal that this deal is part of.
+        &quot;availableEndTime&quot;: &quot;A String&quot;, # Proposed flight end time of the deal.
+            # This will generally be stored in a granularity of a second.
+            # A value is not required for Private Auction deals or Preferred Deals.
+        &quot;syndicationProduct&quot;: &quot;A String&quot;, # The syndication product associated with the deal.
+            #
+            # Note: This field may be set only when creating the resource. Modifying
+            # this field while updating the resource will result in an error.
+        &quot;createProductId&quot;: &quot;A String&quot;, # The product ID from which this deal was created.
+            #
+            # Note: This field may be set only when creating the resource. Modifying
+            # this field while updating the resource will result in an error.
+        &quot;creativeSafeFrameCompatibility&quot;: &quot;A String&quot;, # Output only. Specifies whether the creative is safeFrame compatible.
+        &quot;isSetupComplete&quot;: True or False, # Output only. True, if the buyside inventory setup is complete for this
+            # deal.
+        &quot;createProductRevision&quot;: &quot;A String&quot;, # Optional revision number of the product that the deal was created from.
             # If present on create, and the server `product_revision` has advanced sinced
             # the passed-in `create_product_revision`, an `ABORTED` error will be
             # returned.
             #
             # Note: This field may be set only when creating the resource. Modifying
             # this field while updating the resource will result in an error.
-        "programmaticCreativeSource": "A String", # Output only. Specifies the creative source for programmatic deals.
-            # PUBLISHER means creative is provided by seller and ADVERTISER means
-            # creative is provided by buyer.
-        "availableStartTime": "A String", # Optional proposed flight start time of the deal.
+        &quot;sellerContacts&quot;: [ # Output only. Seller contact information for the deal.
+          { # Contains information on how a buyer or seller can be reached.
+            &quot;email&quot;: &quot;A String&quot;, # Email address for the contact.
+            &quot;name&quot;: &quot;A String&quot;, # The name of the contact.
+          },
+        ],
+        &quot;availableStartTime&quot;: &quot;A String&quot;, # Optional proposed flight start time of the deal.
             # This will generally be stored in the granularity of one second since deal
             # serving starts at seconds boundary. Any time specified with more
             # granularity (e.g., in milliseconds) will be truncated towards the start of
             # time in seconds.
-        "availableEndTime": "A String", # Proposed flight end time of the deal.
-            # This will generally be stored in a granularity of a second.
-            # A value is not required for Private Auction deals or Preferred Deals.
-        "externalDealId": "A String", # Output only. The external deal ID assigned to this deal once the deal is
-            # finalized. This is the deal ID that shows up in serving/reporting etc.
-        "targeting": { # Targeting represents different criteria that can be used by advertisers to # Output only. Specifies the subset of inventory targeted by the deal.
+        &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time of the deal creation.
+        &quot;dealTerms&quot;: { # The deal terms specify the details of a Product/deal. They specify things # The negotiable terms of the deal.
+            # like price per buyer, the type of pricing model (e.g., fixed price, auction)
+            # and expected impressions from the publisher.
+          &quot;description&quot;: &quot;A String&quot;, # Publisher provided description for the terms.
+          &quot;nonGuaranteedFixedPriceTerms&quot;: { # Terms for Preferred Deals. Note that Preferred Deals cannot be created via # The terms for non-guaranteed fixed price deals.
+              # the API at this time, but can be returned in a get or list request.
+            &quot;fixedPrices&quot;: [ # Fixed price for the specified buyer.
+              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
+                  # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
+                  # a particular buyer or buyer/advertiser pair, we look for the most specific
+                  # matching rule - we first look for a rule matching the buyer and advertiser,
+                  # next a rule with the buyer but an empty advertiser list, and otherwise look
+                  # for a matching rule where no buyer is set.
+                &quot;price&quot;: { # Represents a price and a pricing type for a product / deal. # The specified price.
+                  &quot;amount&quot;: { # Represents an amount of money with its currency type. # The actual price with currency specified.
+                    &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+                    &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;pricingType&quot;: &quot;A String&quot;, # The pricing type for the deal/product. (default: CPM)
+                },
+                &quot;advertiserIds&quot;: [ # The list of advertisers for this price when associated with this buyer.
+                    # If empty, all advertisers with this buyer pay this price.
+                  &quot;A String&quot;,
+                ],
+                &quot;buyer&quot;: { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
+                    # (if the
+                    # advertisers match, and there&#x27;s no more specific rule matching the buyer).
+                    # Authorized Buyers account ID.
+                  &quot;accountId&quot;: &quot;A String&quot;, # Authorized Buyers account ID of the buyer.
+                },
+              },
+            ],
+          },
+          &quot;estimatedImpressionsPerDay&quot;: &quot;A String&quot;, # Non-binding estimate of the impressions served per day.
+              # Can be set by buyer or seller.
+          &quot;nonGuaranteedAuctionTerms&quot;: { # Terms for Private Auctions. Note that Private Auctions can be created only # The terms for non-guaranteed auction deals.
+              # by the seller, but they can be returned in a get or list request.
+            &quot;autoOptimizePrivateAuction&quot;: True or False, # True if open auction buyers are allowed to compete with invited buyers
+                # in this private auction.
+            &quot;reservePricesPerBuyer&quot;: [ # Reserve price for the specified buyer.
+              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
+                  # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
+                  # a particular buyer or buyer/advertiser pair, we look for the most specific
+                  # matching rule - we first look for a rule matching the buyer and advertiser,
+                  # next a rule with the buyer but an empty advertiser list, and otherwise look
+                  # for a matching rule where no buyer is set.
+                &quot;price&quot;: { # Represents a price and a pricing type for a product / deal. # The specified price.
+                  &quot;amount&quot;: { # Represents an amount of money with its currency type. # The actual price with currency specified.
+                    &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+                    &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;pricingType&quot;: &quot;A String&quot;, # The pricing type for the deal/product. (default: CPM)
+                },
+                &quot;advertiserIds&quot;: [ # The list of advertisers for this price when associated with this buyer.
+                    # If empty, all advertisers with this buyer pay this price.
+                  &quot;A String&quot;,
+                ],
+                &quot;buyer&quot;: { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
+                    # (if the
+                    # advertisers match, and there&#x27;s no more specific rule matching the buyer).
+                    # Authorized Buyers account ID.
+                  &quot;accountId&quot;: &quot;A String&quot;, # Authorized Buyers account ID of the buyer.
+                },
+              },
+            ],
+          },
+          &quot;estimatedGrossSpend&quot;: { # Represents a price and a pricing type for a product / deal. # Non-binding estimate of the estimated gross spend for this deal.
+              # Can be set by buyer or seller.
+            &quot;amount&quot;: { # Represents an amount of money with its currency type. # The actual price with currency specified.
+              &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+              &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;pricingType&quot;: &quot;A String&quot;, # The pricing type for the deal/product. (default: CPM)
+          },
+          &quot;brandingType&quot;: &quot;A String&quot;, # Visibility of the URL in bid requests. (default: BRANDED)
+          &quot;sellerTimeZone&quot;: &quot;A String&quot;, # The time zone name. For deals with Cost Per Day billing, defines the
+              # time zone used to mark the boundaries of a day. It should be an
+              # IANA TZ name, such as &quot;America/Los_Angeles&quot;. For more information,
+              # see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones.
+          &quot;guaranteedFixedPriceTerms&quot;: { # Terms for Programmatic Guaranteed Deals. # The terms for guaranteed fixed price deals.
+            &quot;guaranteedImpressions&quot;: &quot;A String&quot;, # Guaranteed impressions as a percentage. This is the percentage
+                # of guaranteed looks that the buyer is guaranteeing to buy.
+            &quot;minimumDailyLooks&quot;: &quot;A String&quot;, # Daily minimum looks for CPD deal types.
+            &quot;guaranteedLooks&quot;: &quot;A String&quot;, # Count of guaranteed looks. Required for deal, optional for product.
+            &quot;fixedPrices&quot;: [ # Fixed price for the specified buyer.
+              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
+                  # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
+                  # a particular buyer or buyer/advertiser pair, we look for the most specific
+                  # matching rule - we first look for a rule matching the buyer and advertiser,
+                  # next a rule with the buyer but an empty advertiser list, and otherwise look
+                  # for a matching rule where no buyer is set.
+                &quot;price&quot;: { # Represents a price and a pricing type for a product / deal. # The specified price.
+                  &quot;amount&quot;: { # Represents an amount of money with its currency type. # The actual price with currency specified.
+                    &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+                    &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;pricingType&quot;: &quot;A String&quot;, # The pricing type for the deal/product. (default: CPM)
+                },
+                &quot;advertiserIds&quot;: [ # The list of advertisers for this price when associated with this buyer.
+                    # If empty, all advertisers with this buyer pay this price.
+                  &quot;A String&quot;,
+                ],
+                &quot;buyer&quot;: { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
+                    # (if the
+                    # advertisers match, and there&#x27;s no more specific rule matching the buyer).
+                    # Authorized Buyers account ID.
+                  &quot;accountId&quot;: &quot;A String&quot;, # Authorized Buyers account ID of the buyer.
+                },
+              },
+            ],
+          },
+        },
+        &quot;targeting&quot;: { # Targeting represents different criteria that can be used by advertisers to # Output only. Specifies the subset of inventory targeted by the deal.
             # target ad inventory. For example, they can choose to target ad requests only
             # if the user is in the US.
             # Multiple types of targeting are always applied as a logical AND, unless noted
             # otherwise.
-          "placementTargeting": { # Represents targeting about where the ads can appear, e.g., certain sites or # Placement targeting information, e.g., URL, mobile applications.
-              # mobile applications.
-              # Different placement targeting types will be logically OR'ed.
-            "urlTargeting": { # Represents a list of targeted and excluded URLs (e.g., google.com). # URLs to be included/excluded.
-                # For Private Auction and AdX Preferred Deals, URLs are either included or
-                # excluded.
-                # For Programmatic Guaranteed and Preferred Deals, this doesn't
-                # apply.
-              "excludedUrls": [ # A list of URLs to be excluded.
-                "A String",
+          &quot;geoTargeting&quot;: { # Generic targeting used for targeting dimensions that contains a list of # Geo criteria IDs to be included/excluded.
+              # included and excluded numeric IDs.
+            &quot;targetedCriteriaIds&quot;: [ # A list of numeric IDs to be included.
+              &quot;A String&quot;,
+            ],
+            &quot;excludedCriteriaIds&quot;: [ # A list of numeric IDs to be excluded.
+              &quot;A String&quot;,
+            ],
+          },
+          &quot;inventorySizeTargeting&quot;: { # Represents the size of an ad unit that can be targeted on an ad # Inventory sizes to be included/excluded.
+              # request. It only applies to Private Auction, AdX Preferred Deals and
+              # Auction Packages. This targeting does not apply to Programmatic Guaranteed
+              # and Preferred Deals in Ad Manager.
+            &quot;targetedInventorySizes&quot;: [ # A list of inventory sizes to be included.
+              { # Represents size of a single ad slot, or a creative.
+                &quot;width&quot;: &quot;A String&quot;, # The width of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+                &quot;sizeType&quot;: &quot;A String&quot;, # The size type of the ad slot.
+                &quot;height&quot;: &quot;A String&quot;, # The height of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+              },
+            ],
+            &quot;excludedInventorySizes&quot;: [ # A list of inventory sizes to be excluded.
+              { # Represents size of a single ad slot, or a creative.
+                &quot;width&quot;: &quot;A String&quot;, # The width of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+                &quot;sizeType&quot;: &quot;A String&quot;, # The size type of the ad slot.
+                &quot;height&quot;: &quot;A String&quot;, # The height of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+              },
+            ],
+          },
+          &quot;videoTargeting&quot;: { # Represents targeting information about video. # Video targeting information.
+            &quot;targetedPositionTypes&quot;: [ # A list of video positions to be included.
+                # When the included list is present, the excluded list must be empty.
+                # When the excluded list is present, the included list must be empty.
+              &quot;A String&quot;,
+            ],
+            &quot;excludedPositionTypes&quot;: [ # A list of video positions to be excluded.
+                # Position types can either be included or excluded (XOR).
+              &quot;A String&quot;,
+            ],
+          },
+          &quot;technologyTargeting&quot;: { # Represents targeting about various types of technology. # Technology targeting information, e.g., operating system, device category.
+            &quot;deviceCapabilityTargeting&quot;: { # Generic targeting used for targeting dimensions that contains a list of # IDs of device capabilities to be included/excluded.
+                # included and excluded numeric IDs.
+              &quot;targetedCriteriaIds&quot;: [ # A list of numeric IDs to be included.
+                &quot;A String&quot;,
               ],
-              "targetedUrls": [ # A list of URLs to be included.
-                "A String",
+              &quot;excludedCriteriaIds&quot;: [ # A list of numeric IDs to be excluded.
+                &quot;A String&quot;,
               ],
             },
-            "mobileApplicationTargeting": { # Mobile application targeting settings. # Mobile application targeting information in a deal.
-                # This doesn't apply to Auction Packages.
-              "firstPartyTargeting": { # Represents a list of targeted and excluded mobile application IDs that # Publisher owned apps to be targeted or excluded by the publisher to
+            &quot;operatingSystemTargeting&quot;: { # Represents targeting information for operating systems. # Operating system related targeting information.
+              &quot;operatingSystemCriteria&quot;: { # Generic targeting used for targeting dimensions that contains a list of # IDs of operating systems to be included/excluded.
+                  # included and excluded numeric IDs.
+                &quot;targetedCriteriaIds&quot;: [ # A list of numeric IDs to be included.
+                  &quot;A String&quot;,
+                ],
+                &quot;excludedCriteriaIds&quot;: [ # A list of numeric IDs to be excluded.
+                  &quot;A String&quot;,
+                ],
+              },
+              &quot;operatingSystemVersionCriteria&quot;: { # Generic targeting used for targeting dimensions that contains a list of # IDs of operating system versions to be included/excluded.
+                  # included and excluded numeric IDs.
+                &quot;targetedCriteriaIds&quot;: [ # A list of numeric IDs to be included.
+                  &quot;A String&quot;,
+                ],
+                &quot;excludedCriteriaIds&quot;: [ # A list of numeric IDs to be excluded.
+                  &quot;A String&quot;,
+                ],
+              },
+            },
+            &quot;deviceCategoryTargeting&quot;: { # Generic targeting used for targeting dimensions that contains a list of # IDs of device categories to be included/excluded.
+                # included and excluded numeric IDs.
+              &quot;targetedCriteriaIds&quot;: [ # A list of numeric IDs to be included.
+                &quot;A String&quot;,
+              ],
+              &quot;excludedCriteriaIds&quot;: [ # A list of numeric IDs to be excluded.
+                &quot;A String&quot;,
+              ],
+            },
+          },
+          &quot;placementTargeting&quot;: { # Represents targeting about where the ads can appear, e.g., certain sites or # Placement targeting information, e.g., URL, mobile applications.
+              # mobile applications.
+              # Different placement targeting types will be logically OR&#x27;ed.
+            &quot;urlTargeting&quot;: { # Represents a list of targeted and excluded URLs (e.g., google.com). # URLs to be included/excluded.
+                # For Private Auction and AdX Preferred Deals, URLs are either included or
+                # excluded.
+                # For Programmatic Guaranteed and Preferred Deals, this doesn&#x27;t
+                # apply.
+              &quot;targetedUrls&quot;: [ # A list of URLs to be included.
+                &quot;A String&quot;,
+              ],
+              &quot;excludedUrls&quot;: [ # A list of URLs to be excluded.
+                &quot;A String&quot;,
+              ],
+            },
+            &quot;mobileApplicationTargeting&quot;: { # Mobile application targeting settings. # Mobile application targeting information in a deal.
+                # This doesn&#x27;t apply to Auction Packages.
+              &quot;firstPartyTargeting&quot;: { # Represents a list of targeted and excluded mobile application IDs that # Publisher owned apps to be targeted or excluded by the publisher to
                   # display the ads in.
                   # publishers own.
                   # Mobile application IDs are from App Store and Google Play Store.
@@ -3380,580 +3833,127 @@
                   # Google Play Store URL.
                   # iOS App ID (which is a number) can be found at the end of iTunes store URL.
                   # First party mobile applications is either included or excluded.
-                "excludedAppIds": [ # A list of application IDs to be excluded.
-                  "A String",
+                &quot;targetedAppIds&quot;: [ # A list of application IDs to be included.
+                  &quot;A String&quot;,
                 ],
-                "targetedAppIds": [ # A list of application IDs to be included.
-                  "A String",
+                &quot;excludedAppIds&quot;: [ # A list of application IDs to be excluded.
+                  &quot;A String&quot;,
                 ],
               },
             },
           },
-          "geoTargeting": { # Generic targeting used for targeting dimensions that contains a list of # Geo criteria IDs to be included/excluded.
-              # included and excluded numeric IDs.
-            "targetedCriteriaIds": [ # A list of numeric IDs to be included.
-              "A String",
-            ],
-            "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
-              "A String",
-            ],
-          },
-          "videoTargeting": { # Represents targeting information about video. # Video targeting information.
-            "excludedPositionTypes": [ # A list of video positions to be excluded.
-                # Position types can either be included or excluded (XOR).
-              "A String",
-            ],
-            "targetedPositionTypes": [ # A list of video positions to be included.
-                # When the included list is present, the excluded list must be empty.
-                # When the excluded list is present, the included list must be empty.
-              "A String",
-            ],
-          },
-          "technologyTargeting": { # Represents targeting about various types of technology. # Technology targeting information, e.g., operating system, device category.
-            "deviceCategoryTargeting": { # Generic targeting used for targeting dimensions that contains a list of # IDs of device categories to be included/excluded.
-                # included and excluded numeric IDs.
-              "targetedCriteriaIds": [ # A list of numeric IDs to be included.
-                "A String",
-              ],
-              "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
-                "A String",
-              ],
-            },
-            "operatingSystemTargeting": { # Represents targeting information for operating systems. # Operating system related targeting information.
-              "operatingSystemCriteria": { # Generic targeting used for targeting dimensions that contains a list of # IDs of operating systems to be included/excluded.
-                  # included and excluded numeric IDs.
-                "targetedCriteriaIds": [ # A list of numeric IDs to be included.
-                  "A String",
-                ],
-                "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
-                  "A String",
-                ],
-              },
-              "operatingSystemVersionCriteria": { # Generic targeting used for targeting dimensions that contains a list of # IDs of operating system versions to be included/excluded.
-                  # included and excluded numeric IDs.
-                "targetedCriteriaIds": [ # A list of numeric IDs to be included.
-                  "A String",
-                ],
-                "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
-                  "A String",
-                ],
-              },
-            },
-            "deviceCapabilityTargeting": { # Generic targeting used for targeting dimensions that contains a list of # IDs of device capabilities to be included/excluded.
-                # included and excluded numeric IDs.
-              "targetedCriteriaIds": [ # A list of numeric IDs to be included.
-                "A String",
-              ],
-              "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
-                "A String",
-              ],
-            },
-          },
-          "inventorySizeTargeting": { # Represents the size of an ad unit that can be targeted on an ad # Inventory sizes to be included/excluded.
-              # request. It only applies to Private Auction, AdX Preferred Deals and
-              # Auction Packages. This targeting does not apply to Programmatic Guaranteed
-              # and Preferred Deals in Ad Manager.
-            "targetedInventorySizes": [ # A list of inventory sizes to be included.
-              { # Represents size of a single ad slot, or a creative.
-                "width": "A String", # The width of the ad slot in pixels.
-                    # This field will be present only when size type is `PIXEL`.
-                "sizeType": "A String", # The size type of the ad slot.
-                "height": "A String", # The height of the ad slot in pixels.
-                    # This field will be present only when size type is `PIXEL`.
-              },
-            ],
-            "excludedInventorySizes": [ # A list of inventory sizes to be excluded.
-              { # Represents size of a single ad slot, or a creative.
-                "width": "A String", # The width of the ad slot in pixels.
-                    # This field will be present only when size type is `PIXEL`.
-                "sizeType": "A String", # The size type of the ad slot.
-                "height": "A String", # The height of the ad slot in pixels.
-                    # This field will be present only when size type is `PIXEL`.
-              },
-            ],
-          },
         },
-        "createTime": "A String", # Output only. The time of the deal creation.
-        "webPropertyCode": "A String", # The web property code for the seller copied over from the product.
-        "proposalId": "A String", # Output only. ID of the proposal that this deal is part of.
-        "deliveryControl": { # Message contains details about how the deals will be paced. # The set of fields around delivery control that are interesting for a buyer
+        &quot;creativePreApprovalPolicy&quot;: &quot;A String&quot;, # Output only. Specifies the creative pre-approval policy.
+        &quot;deliveryControl&quot;: { # Message contains details about how the deals will be paced. # The set of fields around delivery control that are interesting for a buyer
             # to see but are non-negotiable. These are set by the publisher.
-          "frequencyCaps": [ # Output only. Specifies any frequency caps.
+          &quot;deliveryRateType&quot;: &quot;A String&quot;, # Output only. Specifies how the impression delivery will be paced.
+          &quot;frequencyCaps&quot;: [ # Output only. Specifies any frequency caps.
             { # Frequency cap.
-              "numTimeUnits": 42, # The amount of time, in the units specified by time_unit_type. Defines the
+              &quot;numTimeUnits&quot;: 42, # The amount of time, in the units specified by time_unit_type. Defines the
                   # amount of time over which impressions per user are counted and capped.
-              "timeUnitType": "A String", # The time unit. Along with num_time_units defines the amount of time over
-                  # which impressions per user are counted and capped.
-              "maxImpressions": 42, # The maximum number of impressions that can be served to a user within the
+              &quot;maxImpressions&quot;: 42, # The maximum number of impressions that can be served to a user within the
                   # specified time period.
+              &quot;timeUnitType&quot;: &quot;A String&quot;, # The time unit. Along with num_time_units defines the amount of time over
+                  # which impressions per user are counted and capped.
             },
           ],
-          "creativeBlockingLevel": "A String", # Output only. Specified the creative blocking levels to be applied.
-          "deliveryRateType": "A String", # Output only. Specifies how the impression delivery will be paced.
+          &quot;creativeBlockingLevel&quot;: &quot;A String&quot;, # Output only. Specified the creative blocking levels to be applied.
         },
-        "description": "A String", # Description for the deal terms.
-        "dealId": "A String", # Output only. A unique deal ID for the deal (server-assigned).
-        "creativeSafeFrameCompatibility": "A String", # Output only. Specifies whether the creative is safeFrame compatible.
-        "creativePreApprovalPolicy": "A String", # Output only. Specifies the creative pre-approval policy.
-        "creativeRestrictions": { # Represents creative restrictions associated to Programmatic Guaranteed/ # Output only. Restricitions about the creatives associated with the deal
+        &quot;externalDealId&quot;: &quot;A String&quot;, # Output only. The external deal ID assigned to this deal once the deal is
+            # finalized. This is the deal ID that shows up in serving/reporting etc.
+        &quot;creativeRestrictions&quot;: { # Represents creative restrictions associated to Programmatic Guaranteed/ # Output only. Restricitions about the creatives associated with the deal
             # (i.e., size) This is available for Programmatic Guaranteed/Preferred Deals
             # in Ad Manager.
             # Preferred Deal in Ad Manager.
-            # This doesn't apply to Private Auction and AdX Preferred Deals.
-          "creativeFormat": "A String", # The format of the environment that the creatives will be displayed in.
-          "creativeSpecifications": [
+            # This doesn&#x27;t apply to Private Auction and AdX Preferred Deals.
+          &quot;creativeFormat&quot;: &quot;A String&quot;, # The format of the environment that the creatives will be displayed in.
+          &quot;creativeSpecifications&quot;: [
             { # Represents information for a creative that is associated with a Programmatic
                 # Guaranteed/Preferred Deal in Ad Manager.
-              "creativeSize": { # Represents size of a single ad slot, or a creative. # The size of the creative.
-                "width": "A String", # The width of the ad slot in pixels.
+              &quot;creativeSize&quot;: { # Represents size of a single ad slot, or a creative. # The size of the creative.
+                &quot;width&quot;: &quot;A String&quot;, # The width of the ad slot in pixels.
                     # This field will be present only when size type is `PIXEL`.
-                "sizeType": "A String", # The size type of the ad slot.
-                "height": "A String", # The height of the ad slot in pixels.
+                &quot;sizeType&quot;: &quot;A String&quot;, # The size type of the ad slot.
+                &quot;height&quot;: &quot;A String&quot;, # The height of the ad slot in pixels.
                     # This field will be present only when size type is `PIXEL`.
               },
-              "creativeCompanionSizes": [ # Companion sizes may be filled in only when this is a video creative.
+              &quot;creativeCompanionSizes&quot;: [ # Companion sizes may be filled in only when this is a video creative.
                 { # Represents size of a single ad slot, or a creative.
-                  "width": "A String", # The width of the ad slot in pixels.
+                  &quot;width&quot;: &quot;A String&quot;, # The width of the ad slot in pixels.
                       # This field will be present only when size type is `PIXEL`.
-                  "sizeType": "A String", # The size type of the ad slot.
-                  "height": "A String", # The height of the ad slot in pixels.
+                  &quot;sizeType&quot;: &quot;A String&quot;, # The size type of the ad slot.
+                  &quot;height&quot;: &quot;A String&quot;, # The height of the ad slot in pixels.
                       # This field will be present only when size type is `PIXEL`.
                 },
               ],
             },
           ],
-          "skippableAdType": "A String", # Skippable video ads allow viewers to skip ads after 5 seconds.
+          &quot;skippableAdType&quot;: &quot;A String&quot;, # Skippable video ads allow viewers to skip ads after 5 seconds.
         },
-        "createProductId": "A String", # The product ID from which this deal was created.
-            #
-            # Note: This field may be set only when creating the resource. Modifying
-            # this field while updating the resource will result in an error.
-        "dealTerms": { # The deal terms specify the details of a Product/deal. They specify things # The negotiable terms of the deal.
-            # like price per buyer, the type of pricing model (e.g., fixed price, auction)
-            # and expected impressions from the publisher.
-          "brandingType": "A String", # Visibility of the URL in bid requests. (default: BRANDED)
-          "estimatedGrossSpend": { # Represents a price and a pricing type for a product / deal. # Non-binding estimate of the estimated gross spend for this deal.
-              # Can be set by buyer or seller.
-            "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
-            "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
-              "nanos": 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.
-              "units": "A String", # The whole units of the amount.
-                  # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-              "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-            },
-          },
-          "sellerTimeZone": "A String", # The time zone name. For deals with Cost Per Day billing, defines the
-              # time zone used to mark the boundaries of a day. It should be an
-              # IANA TZ name, such as "America/Los_Angeles". For more information,
-              # see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones.
-          "estimatedImpressionsPerDay": "A String", # Non-binding estimate of the impressions served per day.
-              # Can be set by buyer or seller.
-          "nonGuaranteedFixedPriceTerms": { # Terms for Preferred Deals. Note that Preferred Deals cannot be created via # The terms for non-guaranteed fixed price deals.
-              # the API at this time, but can be returned in a get or list request.
-            "fixedPrices": [ # Fixed price for the specified buyer.
-              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
-                  # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
-                  # a particular buyer or buyer/advertiser pair, we look for the most specific
-                  # matching rule - we first look for a rule matching the buyer and advertiser,
-                  # next a rule with the buyer but an empty advertiser list, and otherwise look
-                  # for a matching rule where no buyer is set.
-                "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
-                    # (if the
-                    # advertisers match, and there's no more specific rule matching the buyer).
-                    # Authorized Buyers account ID.
-                  "accountId": "A String", # Authorized Buyers account ID of the buyer.
-                },
-                "advertiserIds": [ # The list of advertisers for this price when associated with this buyer.
-                    # If empty, all advertisers with this buyer pay this price.
-                  "A String",
-                ],
-                "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
-                  "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
-                  "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
-                    "nanos": 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.
-                    "units": "A String", # The whole units of the amount.
-                        # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-                    "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-                  },
-                },
-              },
-            ],
-          },
-          "guaranteedFixedPriceTerms": { # Terms for Programmatic Guaranteed Deals. # The terms for guaranteed fixed price deals.
-            "guaranteedImpressions": "A String", # Guaranteed impressions as a percentage. This is the percentage
-                # of guaranteed looks that the buyer is guaranteeing to buy.
-            "fixedPrices": [ # Fixed price for the specified buyer.
-              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
-                  # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
-                  # a particular buyer or buyer/advertiser pair, we look for the most specific
-                  # matching rule - we first look for a rule matching the buyer and advertiser,
-                  # next a rule with the buyer but an empty advertiser list, and otherwise look
-                  # for a matching rule where no buyer is set.
-                "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
-                    # (if the
-                    # advertisers match, and there's no more specific rule matching the buyer).
-                    # Authorized Buyers account ID.
-                  "accountId": "A String", # Authorized Buyers account ID of the buyer.
-                },
-                "advertiserIds": [ # The list of advertisers for this price when associated with this buyer.
-                    # If empty, all advertisers with this buyer pay this price.
-                  "A String",
-                ],
-                "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
-                  "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
-                  "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
-                    "nanos": 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.
-                    "units": "A String", # The whole units of the amount.
-                        # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-                    "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-                  },
-                },
-              },
-            ],
-            "minimumDailyLooks": "A String", # Daily minimum looks for CPD deal types.
-            "guaranteedLooks": "A String", # Count of guaranteed looks. Required for deal, optional for product.
-          },
-          "nonGuaranteedAuctionTerms": { # Terms for Private Auctions. Note that Private Auctions can be created only # The terms for non-guaranteed auction deals.
-              # by the seller, but they can be returned in a get or list request.
-            "reservePricesPerBuyer": [ # Reserve price for the specified buyer.
-              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
-                  # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
-                  # a particular buyer or buyer/advertiser pair, we look for the most specific
-                  # matching rule - we first look for a rule matching the buyer and advertiser,
-                  # next a rule with the buyer but an empty advertiser list, and otherwise look
-                  # for a matching rule where no buyer is set.
-                "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
-                    # (if the
-                    # advertisers match, and there's no more specific rule matching the buyer).
-                    # Authorized Buyers account ID.
-                  "accountId": "A String", # Authorized Buyers account ID of the buyer.
-                },
-                "advertiserIds": [ # The list of advertisers for this price when associated with this buyer.
-                    # If empty, all advertisers with this buyer pay this price.
-                  "A String",
-                ],
-                "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
-                  "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
-                  "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
-                    "nanos": 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.
-                    "units": "A String", # The whole units of the amount.
-                        # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-                    "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-                  },
-                },
-              },
-            ],
-            "autoOptimizePrivateAuction": True or False, # True if open auction buyers are allowed to compete with invited buyers
-                # in this private auction.
-          },
-          "description": "A String", # Publisher provided description for the terms.
-        },
-        "sellerContacts": [ # Output only. Seller contact information for the deal.
-          { # Contains information on how a buyer or seller can be reached.
-            "email": "A String", # Email address for the contact.
-            "name": "A String", # The name of the contact.
-          },
-        ],
-        "displayName": "A String", # The name of the deal.
-        "buyerPrivateData": { # Buyers are allowed to store certain types of private data in a proposal/deal. # Buyer private data (hidden from seller).
-          "referenceId": "A String", # A buyer or seller specified reference ID. This can be queried in the list
-              # operations (max-length: 1024 unicode code units).
-        },
-        "syndicationProduct": "A String", # The syndication product associated with the deal.
-            #
-            # Note: This field may be set only when creating the resource. Modifying
-            # this field while updating the resource will result in an error.
-        "targetingCriterion": [ # The shared targeting visible to buyers and sellers. Each shared
-            # targeting entity is AND'd together.
-          { # Advertisers can target different attributes of an ad slot. For example,
-              # they can choose to show ads only if the user is in the U.S. Such
-              # targeting criteria can be specified as part of Shared Targeting.
-            "inclusions": [ # The list of value to include as part of the targeting. Each value is OR'd
-                # together.
-              { # A polymorphic targeting value used as part of Shared Targeting.
-                "stringValue": "A String", # The string value to include/exclude.
-                "longValue": "A String", # The long value to include/exclude.
-                "dayPartTargetingValue": { # Specifies the day part targeting criteria. # The daypart targeting to include / exclude.
-                    # Filled in when the key is GOOG_DAYPART_TARGETING.
-                    # The definition of this targeting is derived from the structure
-                    # used by Ad Manager.
-                  "dayParts": [ # A list of day part targeting criterion.
-                    { # Daypart targeting message that specifies if the ad can be shown
-                        # only during certain parts of a day/week.
-                      "dayOfWeek": "A String", # The day of the week to target. If unspecified, applicable to all days.
-                      "endTime": { # Represents a time of day. The date and time zone are either not significant # The ending time of the day for the ad to show (minute level
-                          # granularity). The end time is exclusive. This field is not available
-                          # for filtering in PQL queries.
-                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
-                          # types are google.type.Date and `google.protobuf.Timestamp`.
-                        "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
-                            # to allow the value "24:00:00" for scenarios like business closing time.
-                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                        "seconds": 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.
-                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                      },
-                      "startTime": { # Represents a time of day. The date and time zone are either not significant # The starting time of day for the ad to show (minute level granularity).
-                          # The start time is inclusive.
-                          # This field is not available for filtering in PQL queries.
-                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
-                          # types are google.type.Date and `google.protobuf.Timestamp`.
-                        "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
-                            # to allow the value "24:00:00" for scenarios like business closing time.
-                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                        "seconds": 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.
-                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                      },
-                    },
-                  ],
-                  "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
-                },
-                "creativeSizeValue": { # Specifies the size of the creative. # The creative size value to include/exclude.
-                    # Filled in when key = GOOG_CREATIVE_SIZE
-                  "companionSizes": [ # For video creatives specifies the sizes of companion ads (if present).
-                      # Companion sizes may be filled in only when creative_size_type = VIDEO
-                    { # Message depicting the size of the creative. The units of width and
-                        # height depend on the type of the targeting.
-                      "width": 42, # The width of the creative
-                      "height": 42, # The height of the creative.
-                    },
-                  ],
-                  "nativeTemplate": "A String", # Output only. The native template for this creative. It will have a value
-                      # only if creative_size_type = CreativeSizeType.NATIVE.
-                  "allowedFormats": [ # What formats are allowed by the publisher.
-                      # If this repeated field is empty then all formats are allowed.
-                      # For example, if this field contains AllowedFormatType.AUDIO then the
-                      # publisher only allows an audio ad (without any video).
-                    "A String",
-                  ],
-                  "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if
-                      # creative_size_type = CreativeSizeType.VIDEO.
-                  "creativeSizeType": "A String", # The creative size type.
-                  "size": { # Message depicting the size of the creative. The units of width and # For regular or video creative size type, specifies the size
-                      # of the creative
-                      # height depend on the type of the targeting.
-                    "width": 42, # The width of the creative
-                    "height": 42, # The height of the creative.
-                  },
-                },
-              },
-            ],
-            "exclusions": [ # The list of values to exclude from targeting. Each value is AND'd
-                # together.
-              { # A polymorphic targeting value used as part of Shared Targeting.
-                "stringValue": "A String", # The string value to include/exclude.
-                "longValue": "A String", # The long value to include/exclude.
-                "dayPartTargetingValue": { # Specifies the day part targeting criteria. # The daypart targeting to include / exclude.
-                    # Filled in when the key is GOOG_DAYPART_TARGETING.
-                    # The definition of this targeting is derived from the structure
-                    # used by Ad Manager.
-                  "dayParts": [ # A list of day part targeting criterion.
-                    { # Daypart targeting message that specifies if the ad can be shown
-                        # only during certain parts of a day/week.
-                      "dayOfWeek": "A String", # The day of the week to target. If unspecified, applicable to all days.
-                      "endTime": { # Represents a time of day. The date and time zone are either not significant # The ending time of the day for the ad to show (minute level
-                          # granularity). The end time is exclusive. This field is not available
-                          # for filtering in PQL queries.
-                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
-                          # types are google.type.Date and `google.protobuf.Timestamp`.
-                        "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
-                            # to allow the value "24:00:00" for scenarios like business closing time.
-                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                        "seconds": 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.
-                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                      },
-                      "startTime": { # Represents a time of day. The date and time zone are either not significant # The starting time of day for the ad to show (minute level granularity).
-                          # The start time is inclusive.
-                          # This field is not available for filtering in PQL queries.
-                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
-                          # types are google.type.Date and `google.protobuf.Timestamp`.
-                        "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
-                            # to allow the value "24:00:00" for scenarios like business closing time.
-                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                        "seconds": 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.
-                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                      },
-                    },
-                  ],
-                  "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
-                },
-                "creativeSizeValue": { # Specifies the size of the creative. # The creative size value to include/exclude.
-                    # Filled in when key = GOOG_CREATIVE_SIZE
-                  "companionSizes": [ # For video creatives specifies the sizes of companion ads (if present).
-                      # Companion sizes may be filled in only when creative_size_type = VIDEO
-                    { # Message depicting the size of the creative. The units of width and
-                        # height depend on the type of the targeting.
-                      "width": 42, # The width of the creative
-                      "height": 42, # The height of the creative.
-                    },
-                  ],
-                  "nativeTemplate": "A String", # Output only. The native template for this creative. It will have a value
-                      # only if creative_size_type = CreativeSizeType.NATIVE.
-                  "allowedFormats": [ # What formats are allowed by the publisher.
-                      # If this repeated field is empty then all formats are allowed.
-                      # For example, if this field contains AllowedFormatType.AUDIO then the
-                      # publisher only allows an audio ad (without any video).
-                    "A String",
-                  ],
-                  "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if
-                      # creative_size_type = CreativeSizeType.VIDEO.
-                  "creativeSizeType": "A String", # The creative size type.
-                  "size": { # Message depicting the size of the creative. The units of width and # For regular or video creative size type, specifies the size
-                      # of the creative
-                      # height depend on the type of the targeting.
-                    "width": 42, # The width of the creative
-                    "height": 42, # The height of the creative.
-                  },
-                },
-              },
-            ],
-            "key": "A String", # The key representing the shared targeting criterion.
-                # Targeting criteria defined by Google ad servers will begin with GOOG_.
-                # Third parties may define their own keys.
-                # A list of permissible keys along with the acceptable values will be
-                # provided as part of the external documentation.
-          },
-        ],
-        "dealServingMetadata": { # Message captures metadata about the serving status of a deal. # Output only. Metadata about the serving status of this deal.
-          "dealPauseStatus": { # Tracks which parties (if any) have paused a deal. # Output only. Tracks which parties (if any) have paused a deal.
+        &quot;dealServingMetadata&quot;: { # Message captures metadata about the serving status of a deal. # Output only. Metadata about the serving status of this deal.
+          &quot;dealPauseStatus&quot;: { # Tracks which parties (if any) have paused a deal. # Output only. Tracks which parties (if any) have paused a deal.
               # The deal is considered paused if either hasBuyerPaused or
               # hasSellPaused is true.
-            "hasSellerPaused": True or False, # True, if the seller has paused the deal unilaterally.
-            "buyerPauseReason": "A String", # The buyer's reason for pausing, if the buyer paused the deal.
-            "sellerPauseReason": "A String", # The seller's reason for pausing, if the seller paused the deal.
-            "hasBuyerPaused": True or False, # True, if the buyer has paused the deal unilaterally.
-            "firstPausedBy": "A String", # The role of the person who first paused this deal.
+            &quot;firstPausedBy&quot;: &quot;A String&quot;, # The role of the person who first paused this deal.
+            &quot;sellerPauseReason&quot;: &quot;A String&quot;, # The seller&#x27;s reason for pausing, if the seller paused the deal.
+            &quot;hasSellerPaused&quot;: True or False, # True, if the seller has paused the deal unilaterally.
+            &quot;buyerPauseReason&quot;: &quot;A String&quot;, # The buyer&#x27;s reason for pausing, if the buyer paused the deal.
+            &quot;hasBuyerPaused&quot;: True or False, # True, if the buyer has paused the deal unilaterally.
           },
         },
-        "isSetupComplete": True or False, # Output only. True, if the buyside inventory setup is complete for this
-            # deal.
+        &quot;description&quot;: &quot;A String&quot;, # Description for the deal terms.
       },
     ],
-    "updateTime": "A String", # Output only. The time when the proposal was last revised.
-    "proposalState": "A String", # Output only. The current state of the proposal.
-    "proposalRevision": "A String", # Output only. The revision number for the proposal.
+    &quot;proposalRevision&quot;: &quot;A String&quot;, # Output only. The revision number for the proposal.
         # Each update to the proposal or the deal causes the proposal revision number
         # to auto-increment. The buyer keeps track of the last revision number they
         # know of and pass it in when making an update. If the head revision number
         # on the server has since incremented, then an ABORTED error is returned
         # during the update operation to let the buyer know that a subsequent update
         # was made.
-    "buyerPrivateData": { # Buyers are allowed to store certain types of private data in a proposal/deal. # Private data for buyer. (hidden from seller).
-      "referenceId": "A String", # A buyer or seller specified reference ID. This can be queried in the list
-          # operations (max-length: 1024 unicode code units).
-    },
-    "privateAuctionId": "A String", # Output only. Private auction ID if this proposal is a private auction
-        # proposal.
-    "notes": [ # Output only. The notes associated with this proposal.
-      { # A proposal may be associated to several notes.
-        "note": "A String", # The actual note to attach.
-            # (max-length: 1024 unicode code units)
-            #
-            # Note: This field may be set only when creating the resource. Modifying
-            # this field while updating the resource will result in an error.
-        "creatorRole": "A String", # Output only. The role of the person (buyer/seller) creating the note.
-        "proposalRevision": "A String", # Output only. The revision number of the proposal when the note is created.
-        "createTime": "A String", # Output only. The timestamp for when this note was created.
-        "noteId": "A String", # Output only. The unique ID for the note.
-      },
-    ],
-    "originatorRole": "A String", # Output only. Indicates whether the buyer/seller created the proposal.
-    "billedBuyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # Output only. Reference to the buyer that will get billed for this proposal.
-        # Authorized Buyers account ID.
-      "accountId": "A String", # Authorized Buyers account ID of the buyer.
-    },
-    "seller": { # Represents a seller of inventory. Each seller is identified by a unique # Reference to the seller on the proposal.
+    &quot;seller&quot;: { # Represents a seller of inventory. Each seller is identified by a unique # Reference to the seller on the proposal.
         #
         # Note: This field may be set only when creating the resource. Modifying
         # this field while updating the resource will result in an error.
         # Ad Manager account ID.
-      "subAccountId": "A String", # Optional sub-account ID for the seller.
-      "accountId": "A String", # The unique ID for the seller. The seller fills in this field.
+      &quot;subAccountId&quot;: &quot;A String&quot;, # Optional sub-account ID for the seller.
+      &quot;accountId&quot;: &quot;A String&quot;, # The unique ID for the seller. The seller fills in this field.
           # The seller account ID is then available to buyer in the product.
     },
-    "sellerContacts": [ # Output only. Contact information for the seller.
-      { # Contains information on how a buyer or seller can be reached.
-        "email": "A String", # Email address for the contact.
-        "name": "A String", # The name of the contact.
-      },
-    ],
-    "proposalId": "A String", # Output only. The unique ID of the proposal.
-    "isRenegotiating": True or False, # Output only. True if the proposal is being renegotiated.
-    "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # Reference to the buyer on the proposal.
-        #
-        # Note: This field may be set only when creating the resource. Modifying
-        # this field while updating the resource will result in an error.
-        # Authorized Buyers account ID.
-      "accountId": "A String", # Authorized Buyers account ID of the buyer.
-    },
-    "isSetupComplete": True or False, # Output only. True, if the buyside inventory setup is complete for this
-        # proposal.
-    "displayName": "A String", # The name for the proposal.
-    "lastUpdaterOrCommentorRole": "A String", # Output only. The role of the last user that either updated the proposal or
-        # left a comment.
-    "buyerContacts": [ # Contact information for the buyer.
-      { # Contains information on how a buyer or seller can be reached.
-        "email": "A String", # Email address for the contact.
-        "name": "A String", # The name of the contact.
-      },
-    ],
   }</pre>
 </div>
 
 <div class="method">
-    <code class="details" id="list">list(accountId, pageSize=None, pageToken=None, x__xgafv=None, filterSyntax=None, filter=None)</code>
+    <code class="details" id="list">list(accountId, filter=None, pageToken=None, pageSize=None, filterSyntax=None, x__xgafv=None)</code>
   <pre>List proposals. A filter expression (PQL query) may be specified to
 filter the results. To retrieve all finalized proposals, regardless if a
 proposal is being renegotiated, see the FinalizedProposals resource.
 Note that Bidder/ChildSeat relationships differ from the usual behavior.
-A Bidder account can only see its child seats' proposals by specifying
-the ChildSeat's accountId in the request path.
+A Bidder account can only see its child seats&#x27; proposals by specifying
+the ChildSeat&#x27;s accountId in the request path.
 
 Args:
   accountId: string, Account ID of the buyer. (required)
-  pageSize: integer, Requested page size. The server may return fewer results than requested.
-If unspecified, the server will pick an appropriate default.
-  pageToken: string, The page token as returned from ListProposalsResponse.
-  x__xgafv: string, V1 error format.
-    Allowed values
-      1 - v1 error format
-      2 - v2 error format
-  filterSyntax: string, Syntax the filter is written in. Current implementation defaults to PQL
-but in the future it will be LIST_FILTER.
   filter: string, An optional PQL filter query used to query for proposals.
 
 Nested repeated fields, such as proposal.deals.targetingCriterion,
 cannot be filtered.
+  pageToken: string, The page token as returned from ListProposalsResponse.
+  pageSize: integer, Requested page size. The server may return fewer results than requested.
+If unspecified, the server will pick an appropriate default.
+  filterSyntax: string, Syntax the filter is written in. Current implementation defaults to PQL
+but in the future it will be LIST_FILTER.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
 
 Returns:
   An object of the form:
 
     { # Response message for listing proposals.
-    "nextPageToken": "A String", # Continuation token for fetching the next page of results.
-    "proposals": [ # The list of proposals.
+    &quot;nextPageToken&quot;: &quot;A String&quot;, # Continuation token for fetching the next page of results.
+    &quot;proposals&quot;: [ # The list of proposals.
       { # Note: this resource requires whitelisting for access. Please contact your
           # account manager for access to Marketplace resources.
           #
@@ -3965,55 +3965,508 @@
           # Auction or Preferred Deals deals through the API.
           #
           # Fields are updatable unless noted otherwise.
-        "deals": [ # The deals associated with this proposal. For Private Auction proposals
+        &quot;buyer&quot;: { # Represents a buyer of inventory. Each buyer is identified by a unique # Reference to the buyer on the proposal.
+            #
+            # Note: This field may be set only when creating the resource. Modifying
+            # this field while updating the resource will result in an error.
+            # Authorized Buyers account ID.
+          &quot;accountId&quot;: &quot;A String&quot;, # Authorized Buyers account ID of the buyer.
+        },
+        &quot;isRenegotiating&quot;: True or False, # Output only. True if the proposal is being renegotiated.
+        &quot;notes&quot;: [ # Output only. The notes associated with this proposal.
+          { # A proposal may be associated to several notes.
+            &quot;note&quot;: &quot;A String&quot;, # The actual note to attach.
+                # (max-length: 1024 unicode code units)
+                #
+                # Note: This field may be set only when creating the resource. Modifying
+                # this field while updating the resource will result in an error.
+            &quot;proposalRevision&quot;: &quot;A String&quot;, # Output only. The revision number of the proposal when the note is created.
+            &quot;noteId&quot;: &quot;A String&quot;, # Output only. The unique ID for the note.
+            &quot;createTime&quot;: &quot;A String&quot;, # Output only. The timestamp for when this note was created.
+            &quot;creatorRole&quot;: &quot;A String&quot;, # Output only. The role of the person (buyer/seller) creating the note.
+          },
+        ],
+        &quot;isSetupComplete&quot;: True or False, # Output only. True, if the buyside inventory setup is complete for this
+            # proposal.
+        &quot;proposalState&quot;: &quot;A String&quot;, # Output only. The current state of the proposal.
+        &quot;sellerContacts&quot;: [ # Output only. Contact information for the seller.
+          { # Contains information on how a buyer or seller can be reached.
+            &quot;email&quot;: &quot;A String&quot;, # Email address for the contact.
+            &quot;name&quot;: &quot;A String&quot;, # The name of the contact.
+          },
+        ],
+        &quot;privateAuctionId&quot;: &quot;A String&quot;, # Output only. Private auction ID if this proposal is a private auction
+            # proposal.
+        &quot;originatorRole&quot;: &quot;A String&quot;, # Output only. Indicates whether the buyer/seller created the proposal.
+        &quot;lastUpdaterOrCommentorRole&quot;: &quot;A String&quot;, # Output only. The role of the last user that either updated the proposal or
+            # left a comment.
+        &quot;buyerPrivateData&quot;: { # Buyers are allowed to store certain types of private data in a proposal/deal. # Private data for buyer. (hidden from seller).
+          &quot;referenceId&quot;: &quot;A String&quot;, # A buyer or seller specified reference ID. This can be queried in the list
+              # operations (max-length: 1024 unicode code units).
+        },
+        &quot;displayName&quot;: &quot;A String&quot;, # The name for the proposal.
+        &quot;buyerContacts&quot;: [ # Contact information for the buyer.
+          { # Contains information on how a buyer or seller can be reached.
+            &quot;email&quot;: &quot;A String&quot;, # Email address for the contact.
+            &quot;name&quot;: &quot;A String&quot;, # The name of the contact.
+          },
+        ],
+        &quot;billedBuyer&quot;: { # Represents a buyer of inventory. Each buyer is identified by a unique # Output only. Reference to the buyer that will get billed for this proposal.
+            # Authorized Buyers account ID.
+          &quot;accountId&quot;: &quot;A String&quot;, # Authorized Buyers account ID of the buyer.
+        },
+        &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time when the proposal was last revised.
+        &quot;proposalId&quot;: &quot;A String&quot;, # Output only. The unique ID of the proposal.
+        &quot;deals&quot;: [ # The deals associated with this proposal. For Private Auction proposals
             # (whose deals have NonGuaranteedAuctionTerms), there will only be one deal.
           { # A deal represents a segment of inventory for displaying ads on.
               # A proposal can contain multiple deals. A deal contains the terms and
               # targeting information that is used for serving.
-            "updateTime": "A String", # Output only. The time when the deal was last updated.
-            "createProductRevision": "A String", # Optional revision number of the product that the deal was created from.
+            &quot;programmaticCreativeSource&quot;: &quot;A String&quot;, # Output only. Specifies the creative source for programmatic deals.
+                # PUBLISHER means creative is provided by seller and ADVERTISER means
+                # creative is provided by buyer.
+            &quot;buyerPrivateData&quot;: { # Buyers are allowed to store certain types of private data in a proposal/deal. # Buyer private data (hidden from seller).
+              &quot;referenceId&quot;: &quot;A String&quot;, # A buyer or seller specified reference ID. This can be queried in the list
+                  # operations (max-length: 1024 unicode code units).
+            },
+            &quot;displayName&quot;: &quot;A String&quot;, # The name of the deal.
+            &quot;webPropertyCode&quot;: &quot;A String&quot;, # The web property code for the seller copied over from the product.
+            &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time when the deal was last updated.
+            &quot;targetingCriterion&quot;: [ # The shared targeting visible to buyers and sellers. Each shared
+                # targeting entity is AND&#x27;d together.
+              { # Advertisers can target different attributes of an ad slot. For example,
+                  # they can choose to show ads only if the user is in the U.S. Such
+                  # targeting criteria can be specified as part of Shared Targeting.
+                &quot;exclusions&quot;: [ # The list of values to exclude from targeting. Each value is AND&#x27;d
+                    # together.
+                  { # A polymorphic targeting value used as part of Shared Targeting.
+                    &quot;creativeSizeValue&quot;: { # Specifies the size of the creative. # The creative size value to include/exclude.
+                        # Filled in when key = GOOG_CREATIVE_SIZE
+                      &quot;size&quot;: { # Message depicting the size of the creative. The units of width and # For regular or video creative size type, specifies the size
+                          # of the creative
+                          # height depend on the type of the targeting.
+                        &quot;height&quot;: 42, # The height of the creative.
+                        &quot;width&quot;: 42, # The width of the creative
+                      },
+                      &quot;allowedFormats&quot;: [ # What formats are allowed by the publisher.
+                          # If this repeated field is empty then all formats are allowed.
+                          # For example, if this field contains AllowedFormatType.AUDIO then the
+                          # publisher only allows an audio ad (without any video).
+                        &quot;A String&quot;,
+                      ],
+                      &quot;companionSizes&quot;: [ # For video creatives specifies the sizes of companion ads (if present).
+                          # Companion sizes may be filled in only when creative_size_type = VIDEO
+                        { # Message depicting the size of the creative. The units of width and
+                            # height depend on the type of the targeting.
+                          &quot;height&quot;: 42, # The height of the creative.
+                          &quot;width&quot;: 42, # The width of the creative
+                        },
+                      ],
+                      &quot;skippableAdType&quot;: &quot;A String&quot;, # The type of skippable ad for this creative. It will have a value only if
+                          # creative_size_type = CreativeSizeType.VIDEO.
+                      &quot;creativeSizeType&quot;: &quot;A String&quot;, # The creative size type.
+                      &quot;nativeTemplate&quot;: &quot;A String&quot;, # Output only. The native template for this creative. It will have a value
+                          # only if creative_size_type = CreativeSizeType.NATIVE.
+                    },
+                    &quot;stringValue&quot;: &quot;A String&quot;, # The string value to include/exclude.
+                    &quot;longValue&quot;: &quot;A String&quot;, # The long value to include/exclude.
+                    &quot;dayPartTargetingValue&quot;: { # Specifies the day part targeting criteria. # The daypart targeting to include / exclude.
+                        # Filled in when the key is GOOG_DAYPART_TARGETING.
+                        # The definition of this targeting is derived from the structure
+                        # used by Ad Manager.
+                      &quot;timeZoneType&quot;: &quot;A String&quot;, # The timezone to use for interpreting the day part targeting.
+                      &quot;dayParts&quot;: [ # A list of day part targeting criterion.
+                        { # Daypart targeting message that specifies if the ad can be shown
+                            # only during certain parts of a day/week.
+                          &quot;startTime&quot;: { # Represents a time of day. The date and time zone are either not significant # The starting time of day for the ad to show (minute level granularity).
+                              # The start time is inclusive.
+                              # This field is not available for filtering in PQL queries.
+                              # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                              # types are google.type.Date and `google.protobuf.Timestamp`.
+                            &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;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;dayOfWeek&quot;: &quot;A String&quot;, # The day of the week to target. If unspecified, applicable to all days.
+                          &quot;endTime&quot;: { # Represents a time of day. The date and time zone are either not significant # The ending time of the day for the ad to show (minute level
+                              # granularity). The end time is exclusive. This field is not available
+                              # for filtering in PQL queries.
+                              # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                              # types are google.type.Date and `google.protobuf.Timestamp`.
+                            &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;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;key&quot;: &quot;A String&quot;, # The key representing the shared targeting criterion.
+                    # Targeting criteria defined by Google ad servers will begin with GOOG_.
+                    # Third parties may define their own keys.
+                    # A list of permissible keys along with the acceptable values will be
+                    # provided as part of the external documentation.
+                &quot;inclusions&quot;: [ # The list of value to include as part of the targeting. Each value is OR&#x27;d
+                    # together.
+                  { # A polymorphic targeting value used as part of Shared Targeting.
+                    &quot;creativeSizeValue&quot;: { # Specifies the size of the creative. # The creative size value to include/exclude.
+                        # Filled in when key = GOOG_CREATIVE_SIZE
+                      &quot;size&quot;: { # Message depicting the size of the creative. The units of width and # For regular or video creative size type, specifies the size
+                          # of the creative
+                          # height depend on the type of the targeting.
+                        &quot;height&quot;: 42, # The height of the creative.
+                        &quot;width&quot;: 42, # The width of the creative
+                      },
+                      &quot;allowedFormats&quot;: [ # What formats are allowed by the publisher.
+                          # If this repeated field is empty then all formats are allowed.
+                          # For example, if this field contains AllowedFormatType.AUDIO then the
+                          # publisher only allows an audio ad (without any video).
+                        &quot;A String&quot;,
+                      ],
+                      &quot;companionSizes&quot;: [ # For video creatives specifies the sizes of companion ads (if present).
+                          # Companion sizes may be filled in only when creative_size_type = VIDEO
+                        { # Message depicting the size of the creative. The units of width and
+                            # height depend on the type of the targeting.
+                          &quot;height&quot;: 42, # The height of the creative.
+                          &quot;width&quot;: 42, # The width of the creative
+                        },
+                      ],
+                      &quot;skippableAdType&quot;: &quot;A String&quot;, # The type of skippable ad for this creative. It will have a value only if
+                          # creative_size_type = CreativeSizeType.VIDEO.
+                      &quot;creativeSizeType&quot;: &quot;A String&quot;, # The creative size type.
+                      &quot;nativeTemplate&quot;: &quot;A String&quot;, # Output only. The native template for this creative. It will have a value
+                          # only if creative_size_type = CreativeSizeType.NATIVE.
+                    },
+                    &quot;stringValue&quot;: &quot;A String&quot;, # The string value to include/exclude.
+                    &quot;longValue&quot;: &quot;A String&quot;, # The long value to include/exclude.
+                    &quot;dayPartTargetingValue&quot;: { # Specifies the day part targeting criteria. # The daypart targeting to include / exclude.
+                        # Filled in when the key is GOOG_DAYPART_TARGETING.
+                        # The definition of this targeting is derived from the structure
+                        # used by Ad Manager.
+                      &quot;timeZoneType&quot;: &quot;A String&quot;, # The timezone to use for interpreting the day part targeting.
+                      &quot;dayParts&quot;: [ # A list of day part targeting criterion.
+                        { # Daypart targeting message that specifies if the ad can be shown
+                            # only during certain parts of a day/week.
+                          &quot;startTime&quot;: { # Represents a time of day. The date and time zone are either not significant # The starting time of day for the ad to show (minute level granularity).
+                              # The start time is inclusive.
+                              # This field is not available for filtering in PQL queries.
+                              # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                              # types are google.type.Date and `google.protobuf.Timestamp`.
+                            &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;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;dayOfWeek&quot;: &quot;A String&quot;, # The day of the week to target. If unspecified, applicable to all days.
+                          &quot;endTime&quot;: { # Represents a time of day. The date and time zone are either not significant # The ending time of the day for the ad to show (minute level
+                              # granularity). The end time is exclusive. This field is not available
+                              # for filtering in PQL queries.
+                              # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                              # types are google.type.Date and `google.protobuf.Timestamp`.
+                            &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;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;dealId&quot;: &quot;A String&quot;, # Output only. A unique deal ID for the deal (server-assigned).
+            &quot;proposalId&quot;: &quot;A String&quot;, # Output only. ID of the proposal that this deal is part of.
+            &quot;availableEndTime&quot;: &quot;A String&quot;, # Proposed flight end time of the deal.
+                # This will generally be stored in a granularity of a second.
+                # A value is not required for Private Auction deals or Preferred Deals.
+            &quot;syndicationProduct&quot;: &quot;A String&quot;, # The syndication product associated with the deal.
+                #
+                # Note: This field may be set only when creating the resource. Modifying
+                # this field while updating the resource will result in an error.
+            &quot;createProductId&quot;: &quot;A String&quot;, # The product ID from which this deal was created.
+                #
+                # Note: This field may be set only when creating the resource. Modifying
+                # this field while updating the resource will result in an error.
+            &quot;creativeSafeFrameCompatibility&quot;: &quot;A String&quot;, # Output only. Specifies whether the creative is safeFrame compatible.
+            &quot;isSetupComplete&quot;: True or False, # Output only. True, if the buyside inventory setup is complete for this
+                # deal.
+            &quot;createProductRevision&quot;: &quot;A String&quot;, # Optional revision number of the product that the deal was created from.
                 # If present on create, and the server `product_revision` has advanced sinced
                 # the passed-in `create_product_revision`, an `ABORTED` error will be
                 # returned.
                 #
                 # Note: This field may be set only when creating the resource. Modifying
                 # this field while updating the resource will result in an error.
-            "programmaticCreativeSource": "A String", # Output only. Specifies the creative source for programmatic deals.
-                # PUBLISHER means creative is provided by seller and ADVERTISER means
-                # creative is provided by buyer.
-            "availableStartTime": "A String", # Optional proposed flight start time of the deal.
+            &quot;sellerContacts&quot;: [ # Output only. Seller contact information for the deal.
+              { # Contains information on how a buyer or seller can be reached.
+                &quot;email&quot;: &quot;A String&quot;, # Email address for the contact.
+                &quot;name&quot;: &quot;A String&quot;, # The name of the contact.
+              },
+            ],
+            &quot;availableStartTime&quot;: &quot;A String&quot;, # Optional proposed flight start time of the deal.
                 # This will generally be stored in the granularity of one second since deal
                 # serving starts at seconds boundary. Any time specified with more
                 # granularity (e.g., in milliseconds) will be truncated towards the start of
                 # time in seconds.
-            "availableEndTime": "A String", # Proposed flight end time of the deal.
-                # This will generally be stored in a granularity of a second.
-                # A value is not required for Private Auction deals or Preferred Deals.
-            "externalDealId": "A String", # Output only. The external deal ID assigned to this deal once the deal is
-                # finalized. This is the deal ID that shows up in serving/reporting etc.
-            "targeting": { # Targeting represents different criteria that can be used by advertisers to # Output only. Specifies the subset of inventory targeted by the deal.
+            &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time of the deal creation.
+            &quot;dealTerms&quot;: { # The deal terms specify the details of a Product/deal. They specify things # The negotiable terms of the deal.
+                # like price per buyer, the type of pricing model (e.g., fixed price, auction)
+                # and expected impressions from the publisher.
+              &quot;description&quot;: &quot;A String&quot;, # Publisher provided description for the terms.
+              &quot;nonGuaranteedFixedPriceTerms&quot;: { # Terms for Preferred Deals. Note that Preferred Deals cannot be created via # The terms for non-guaranteed fixed price deals.
+                  # the API at this time, but can be returned in a get or list request.
+                &quot;fixedPrices&quot;: [ # Fixed price for the specified buyer.
+                  { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
+                      # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
+                      # a particular buyer or buyer/advertiser pair, we look for the most specific
+                      # matching rule - we first look for a rule matching the buyer and advertiser,
+                      # next a rule with the buyer but an empty advertiser list, and otherwise look
+                      # for a matching rule where no buyer is set.
+                    &quot;price&quot;: { # Represents a price and a pricing type for a product / deal. # The specified price.
+                      &quot;amount&quot;: { # Represents an amount of money with its currency type. # The actual price with currency specified.
+                        &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+                        &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;pricingType&quot;: &quot;A String&quot;, # The pricing type for the deal/product. (default: CPM)
+                    },
+                    &quot;advertiserIds&quot;: [ # The list of advertisers for this price when associated with this buyer.
+                        # If empty, all advertisers with this buyer pay this price.
+                      &quot;A String&quot;,
+                    ],
+                    &quot;buyer&quot;: { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
+                        # (if the
+                        # advertisers match, and there&#x27;s no more specific rule matching the buyer).
+                        # Authorized Buyers account ID.
+                      &quot;accountId&quot;: &quot;A String&quot;, # Authorized Buyers account ID of the buyer.
+                    },
+                  },
+                ],
+              },
+              &quot;estimatedImpressionsPerDay&quot;: &quot;A String&quot;, # Non-binding estimate of the impressions served per day.
+                  # Can be set by buyer or seller.
+              &quot;nonGuaranteedAuctionTerms&quot;: { # Terms for Private Auctions. Note that Private Auctions can be created only # The terms for non-guaranteed auction deals.
+                  # by the seller, but they can be returned in a get or list request.
+                &quot;autoOptimizePrivateAuction&quot;: True or False, # True if open auction buyers are allowed to compete with invited buyers
+                    # in this private auction.
+                &quot;reservePricesPerBuyer&quot;: [ # Reserve price for the specified buyer.
+                  { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
+                      # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
+                      # a particular buyer or buyer/advertiser pair, we look for the most specific
+                      # matching rule - we first look for a rule matching the buyer and advertiser,
+                      # next a rule with the buyer but an empty advertiser list, and otherwise look
+                      # for a matching rule where no buyer is set.
+                    &quot;price&quot;: { # Represents a price and a pricing type for a product / deal. # The specified price.
+                      &quot;amount&quot;: { # Represents an amount of money with its currency type. # The actual price with currency specified.
+                        &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+                        &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;pricingType&quot;: &quot;A String&quot;, # The pricing type for the deal/product. (default: CPM)
+                    },
+                    &quot;advertiserIds&quot;: [ # The list of advertisers for this price when associated with this buyer.
+                        # If empty, all advertisers with this buyer pay this price.
+                      &quot;A String&quot;,
+                    ],
+                    &quot;buyer&quot;: { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
+                        # (if the
+                        # advertisers match, and there&#x27;s no more specific rule matching the buyer).
+                        # Authorized Buyers account ID.
+                      &quot;accountId&quot;: &quot;A String&quot;, # Authorized Buyers account ID of the buyer.
+                    },
+                  },
+                ],
+              },
+              &quot;estimatedGrossSpend&quot;: { # Represents a price and a pricing type for a product / deal. # Non-binding estimate of the estimated gross spend for this deal.
+                  # Can be set by buyer or seller.
+                &quot;amount&quot;: { # Represents an amount of money with its currency type. # The actual price with currency specified.
+                  &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+                  &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;pricingType&quot;: &quot;A String&quot;, # The pricing type for the deal/product. (default: CPM)
+              },
+              &quot;brandingType&quot;: &quot;A String&quot;, # Visibility of the URL in bid requests. (default: BRANDED)
+              &quot;sellerTimeZone&quot;: &quot;A String&quot;, # The time zone name. For deals with Cost Per Day billing, defines the
+                  # time zone used to mark the boundaries of a day. It should be an
+                  # IANA TZ name, such as &quot;America/Los_Angeles&quot;. For more information,
+                  # see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones.
+              &quot;guaranteedFixedPriceTerms&quot;: { # Terms for Programmatic Guaranteed Deals. # The terms for guaranteed fixed price deals.
+                &quot;guaranteedImpressions&quot;: &quot;A String&quot;, # Guaranteed impressions as a percentage. This is the percentage
+                    # of guaranteed looks that the buyer is guaranteeing to buy.
+                &quot;minimumDailyLooks&quot;: &quot;A String&quot;, # Daily minimum looks for CPD deal types.
+                &quot;guaranteedLooks&quot;: &quot;A String&quot;, # Count of guaranteed looks. Required for deal, optional for product.
+                &quot;fixedPrices&quot;: [ # Fixed price for the specified buyer.
+                  { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
+                      # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
+                      # a particular buyer or buyer/advertiser pair, we look for the most specific
+                      # matching rule - we first look for a rule matching the buyer and advertiser,
+                      # next a rule with the buyer but an empty advertiser list, and otherwise look
+                      # for a matching rule where no buyer is set.
+                    &quot;price&quot;: { # Represents a price and a pricing type for a product / deal. # The specified price.
+                      &quot;amount&quot;: { # Represents an amount of money with its currency type. # The actual price with currency specified.
+                        &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+                        &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;pricingType&quot;: &quot;A String&quot;, # The pricing type for the deal/product. (default: CPM)
+                    },
+                    &quot;advertiserIds&quot;: [ # The list of advertisers for this price when associated with this buyer.
+                        # If empty, all advertisers with this buyer pay this price.
+                      &quot;A String&quot;,
+                    ],
+                    &quot;buyer&quot;: { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
+                        # (if the
+                        # advertisers match, and there&#x27;s no more specific rule matching the buyer).
+                        # Authorized Buyers account ID.
+                      &quot;accountId&quot;: &quot;A String&quot;, # Authorized Buyers account ID of the buyer.
+                    },
+                  },
+                ],
+              },
+            },
+            &quot;targeting&quot;: { # Targeting represents different criteria that can be used by advertisers to # Output only. Specifies the subset of inventory targeted by the deal.
                 # target ad inventory. For example, they can choose to target ad requests only
                 # if the user is in the US.
                 # Multiple types of targeting are always applied as a logical AND, unless noted
                 # otherwise.
-              "placementTargeting": { # Represents targeting about where the ads can appear, e.g., certain sites or # Placement targeting information, e.g., URL, mobile applications.
-                  # mobile applications.
-                  # Different placement targeting types will be logically OR'ed.
-                "urlTargeting": { # Represents a list of targeted and excluded URLs (e.g., google.com). # URLs to be included/excluded.
-                    # For Private Auction and AdX Preferred Deals, URLs are either included or
-                    # excluded.
-                    # For Programmatic Guaranteed and Preferred Deals, this doesn't
-                    # apply.
-                  "excludedUrls": [ # A list of URLs to be excluded.
-                    "A String",
+              &quot;geoTargeting&quot;: { # Generic targeting used for targeting dimensions that contains a list of # Geo criteria IDs to be included/excluded.
+                  # included and excluded numeric IDs.
+                &quot;targetedCriteriaIds&quot;: [ # A list of numeric IDs to be included.
+                  &quot;A String&quot;,
+                ],
+                &quot;excludedCriteriaIds&quot;: [ # A list of numeric IDs to be excluded.
+                  &quot;A String&quot;,
+                ],
+              },
+              &quot;inventorySizeTargeting&quot;: { # Represents the size of an ad unit that can be targeted on an ad # Inventory sizes to be included/excluded.
+                  # request. It only applies to Private Auction, AdX Preferred Deals and
+                  # Auction Packages. This targeting does not apply to Programmatic Guaranteed
+                  # and Preferred Deals in Ad Manager.
+                &quot;targetedInventorySizes&quot;: [ # A list of inventory sizes to be included.
+                  { # Represents size of a single ad slot, or a creative.
+                    &quot;width&quot;: &quot;A String&quot;, # The width of the ad slot in pixels.
+                        # This field will be present only when size type is `PIXEL`.
+                    &quot;sizeType&quot;: &quot;A String&quot;, # The size type of the ad slot.
+                    &quot;height&quot;: &quot;A String&quot;, # The height of the ad slot in pixels.
+                        # This field will be present only when size type is `PIXEL`.
+                  },
+                ],
+                &quot;excludedInventorySizes&quot;: [ # A list of inventory sizes to be excluded.
+                  { # Represents size of a single ad slot, or a creative.
+                    &quot;width&quot;: &quot;A String&quot;, # The width of the ad slot in pixels.
+                        # This field will be present only when size type is `PIXEL`.
+                    &quot;sizeType&quot;: &quot;A String&quot;, # The size type of the ad slot.
+                    &quot;height&quot;: &quot;A String&quot;, # The height of the ad slot in pixels.
+                        # This field will be present only when size type is `PIXEL`.
+                  },
+                ],
+              },
+              &quot;videoTargeting&quot;: { # Represents targeting information about video. # Video targeting information.
+                &quot;targetedPositionTypes&quot;: [ # A list of video positions to be included.
+                    # When the included list is present, the excluded list must be empty.
+                    # When the excluded list is present, the included list must be empty.
+                  &quot;A String&quot;,
+                ],
+                &quot;excludedPositionTypes&quot;: [ # A list of video positions to be excluded.
+                    # Position types can either be included or excluded (XOR).
+                  &quot;A String&quot;,
+                ],
+              },
+              &quot;technologyTargeting&quot;: { # Represents targeting about various types of technology. # Technology targeting information, e.g., operating system, device category.
+                &quot;deviceCapabilityTargeting&quot;: { # Generic targeting used for targeting dimensions that contains a list of # IDs of device capabilities to be included/excluded.
+                    # included and excluded numeric IDs.
+                  &quot;targetedCriteriaIds&quot;: [ # A list of numeric IDs to be included.
+                    &quot;A String&quot;,
                   ],
-                  "targetedUrls": [ # A list of URLs to be included.
-                    "A String",
+                  &quot;excludedCriteriaIds&quot;: [ # A list of numeric IDs to be excluded.
+                    &quot;A String&quot;,
                   ],
                 },
-                "mobileApplicationTargeting": { # Mobile application targeting settings. # Mobile application targeting information in a deal.
-                    # This doesn't apply to Auction Packages.
-                  "firstPartyTargeting": { # Represents a list of targeted and excluded mobile application IDs that # Publisher owned apps to be targeted or excluded by the publisher to
+                &quot;operatingSystemTargeting&quot;: { # Represents targeting information for operating systems. # Operating system related targeting information.
+                  &quot;operatingSystemCriteria&quot;: { # Generic targeting used for targeting dimensions that contains a list of # IDs of operating systems to be included/excluded.
+                      # included and excluded numeric IDs.
+                    &quot;targetedCriteriaIds&quot;: [ # A list of numeric IDs to be included.
+                      &quot;A String&quot;,
+                    ],
+                    &quot;excludedCriteriaIds&quot;: [ # A list of numeric IDs to be excluded.
+                      &quot;A String&quot;,
+                    ],
+                  },
+                  &quot;operatingSystemVersionCriteria&quot;: { # Generic targeting used for targeting dimensions that contains a list of # IDs of operating system versions to be included/excluded.
+                      # included and excluded numeric IDs.
+                    &quot;targetedCriteriaIds&quot;: [ # A list of numeric IDs to be included.
+                      &quot;A String&quot;,
+                    ],
+                    &quot;excludedCriteriaIds&quot;: [ # A list of numeric IDs to be excluded.
+                      &quot;A String&quot;,
+                    ],
+                  },
+                },
+                &quot;deviceCategoryTargeting&quot;: { # Generic targeting used for targeting dimensions that contains a list of # IDs of device categories to be included/excluded.
+                    # included and excluded numeric IDs.
+                  &quot;targetedCriteriaIds&quot;: [ # A list of numeric IDs to be included.
+                    &quot;A String&quot;,
+                  ],
+                  &quot;excludedCriteriaIds&quot;: [ # A list of numeric IDs to be excluded.
+                    &quot;A String&quot;,
+                  ],
+                },
+              },
+              &quot;placementTargeting&quot;: { # Represents targeting about where the ads can appear, e.g., certain sites or # Placement targeting information, e.g., URL, mobile applications.
+                  # mobile applications.
+                  # Different placement targeting types will be logically OR&#x27;ed.
+                &quot;urlTargeting&quot;: { # Represents a list of targeted and excluded URLs (e.g., google.com). # URLs to be included/excluded.
+                    # For Private Auction and AdX Preferred Deals, URLs are either included or
+                    # excluded.
+                    # For Programmatic Guaranteed and Preferred Deals, this doesn&#x27;t
+                    # apply.
+                  &quot;targetedUrls&quot;: [ # A list of URLs to be included.
+                    &quot;A String&quot;,
+                  ],
+                  &quot;excludedUrls&quot;: [ # A list of URLs to be excluded.
+                    &quot;A String&quot;,
+                  ],
+                },
+                &quot;mobileApplicationTargeting&quot;: { # Mobile application targeting settings. # Mobile application targeting information in a deal.
+                    # This doesn&#x27;t apply to Auction Packages.
+                  &quot;firstPartyTargeting&quot;: { # Represents a list of targeted and excluded mobile application IDs that # Publisher owned apps to be targeted or excluded by the publisher to
                       # display the ads in.
                       # publishers own.
                       # Mobile application IDs are from App Store and Google Play Store.
@@ -4021,546 +4474,93 @@
                       # Google Play Store URL.
                       # iOS App ID (which is a number) can be found at the end of iTunes store URL.
                       # First party mobile applications is either included or excluded.
-                    "excludedAppIds": [ # A list of application IDs to be excluded.
-                      "A String",
+                    &quot;targetedAppIds&quot;: [ # A list of application IDs to be included.
+                      &quot;A String&quot;,
                     ],
-                    "targetedAppIds": [ # A list of application IDs to be included.
-                      "A String",
+                    &quot;excludedAppIds&quot;: [ # A list of application IDs to be excluded.
+                      &quot;A String&quot;,
                     ],
                   },
                 },
               },
-              "geoTargeting": { # Generic targeting used for targeting dimensions that contains a list of # Geo criteria IDs to be included/excluded.
-                  # included and excluded numeric IDs.
-                "targetedCriteriaIds": [ # A list of numeric IDs to be included.
-                  "A String",
-                ],
-                "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
-                  "A String",
-                ],
-              },
-              "videoTargeting": { # Represents targeting information about video. # Video targeting information.
-                "excludedPositionTypes": [ # A list of video positions to be excluded.
-                    # Position types can either be included or excluded (XOR).
-                  "A String",
-                ],
-                "targetedPositionTypes": [ # A list of video positions to be included.
-                    # When the included list is present, the excluded list must be empty.
-                    # When the excluded list is present, the included list must be empty.
-                  "A String",
-                ],
-              },
-              "technologyTargeting": { # Represents targeting about various types of technology. # Technology targeting information, e.g., operating system, device category.
-                "deviceCategoryTargeting": { # Generic targeting used for targeting dimensions that contains a list of # IDs of device categories to be included/excluded.
-                    # included and excluded numeric IDs.
-                  "targetedCriteriaIds": [ # A list of numeric IDs to be included.
-                    "A String",
-                  ],
-                  "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
-                    "A String",
-                  ],
-                },
-                "operatingSystemTargeting": { # Represents targeting information for operating systems. # Operating system related targeting information.
-                  "operatingSystemCriteria": { # Generic targeting used for targeting dimensions that contains a list of # IDs of operating systems to be included/excluded.
-                      # included and excluded numeric IDs.
-                    "targetedCriteriaIds": [ # A list of numeric IDs to be included.
-                      "A String",
-                    ],
-                    "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
-                      "A String",
-                    ],
-                  },
-                  "operatingSystemVersionCriteria": { # Generic targeting used for targeting dimensions that contains a list of # IDs of operating system versions to be included/excluded.
-                      # included and excluded numeric IDs.
-                    "targetedCriteriaIds": [ # A list of numeric IDs to be included.
-                      "A String",
-                    ],
-                    "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
-                      "A String",
-                    ],
-                  },
-                },
-                "deviceCapabilityTargeting": { # Generic targeting used for targeting dimensions that contains a list of # IDs of device capabilities to be included/excluded.
-                    # included and excluded numeric IDs.
-                  "targetedCriteriaIds": [ # A list of numeric IDs to be included.
-                    "A String",
-                  ],
-                  "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
-                    "A String",
-                  ],
-                },
-              },
-              "inventorySizeTargeting": { # Represents the size of an ad unit that can be targeted on an ad # Inventory sizes to be included/excluded.
-                  # request. It only applies to Private Auction, AdX Preferred Deals and
-                  # Auction Packages. This targeting does not apply to Programmatic Guaranteed
-                  # and Preferred Deals in Ad Manager.
-                "targetedInventorySizes": [ # A list of inventory sizes to be included.
-                  { # Represents size of a single ad slot, or a creative.
-                    "width": "A String", # The width of the ad slot in pixels.
-                        # This field will be present only when size type is `PIXEL`.
-                    "sizeType": "A String", # The size type of the ad slot.
-                    "height": "A String", # The height of the ad slot in pixels.
-                        # This field will be present only when size type is `PIXEL`.
-                  },
-                ],
-                "excludedInventorySizes": [ # A list of inventory sizes to be excluded.
-                  { # Represents size of a single ad slot, or a creative.
-                    "width": "A String", # The width of the ad slot in pixels.
-                        # This field will be present only when size type is `PIXEL`.
-                    "sizeType": "A String", # The size type of the ad slot.
-                    "height": "A String", # The height of the ad slot in pixels.
-                        # This field will be present only when size type is `PIXEL`.
-                  },
-                ],
-              },
             },
-            "createTime": "A String", # Output only. The time of the deal creation.
-            "webPropertyCode": "A String", # The web property code for the seller copied over from the product.
-            "proposalId": "A String", # Output only. ID of the proposal that this deal is part of.
-            "deliveryControl": { # Message contains details about how the deals will be paced. # The set of fields around delivery control that are interesting for a buyer
+            &quot;creativePreApprovalPolicy&quot;: &quot;A String&quot;, # Output only. Specifies the creative pre-approval policy.
+            &quot;deliveryControl&quot;: { # Message contains details about how the deals will be paced. # The set of fields around delivery control that are interesting for a buyer
                 # to see but are non-negotiable. These are set by the publisher.
-              "frequencyCaps": [ # Output only. Specifies any frequency caps.
+              &quot;deliveryRateType&quot;: &quot;A String&quot;, # Output only. Specifies how the impression delivery will be paced.
+              &quot;frequencyCaps&quot;: [ # Output only. Specifies any frequency caps.
                 { # Frequency cap.
-                  "numTimeUnits": 42, # The amount of time, in the units specified by time_unit_type. Defines the
+                  &quot;numTimeUnits&quot;: 42, # The amount of time, in the units specified by time_unit_type. Defines the
                       # amount of time over which impressions per user are counted and capped.
-                  "timeUnitType": "A String", # The time unit. Along with num_time_units defines the amount of time over
-                      # which impressions per user are counted and capped.
-                  "maxImpressions": 42, # The maximum number of impressions that can be served to a user within the
+                  &quot;maxImpressions&quot;: 42, # The maximum number of impressions that can be served to a user within the
                       # specified time period.
+                  &quot;timeUnitType&quot;: &quot;A String&quot;, # The time unit. Along with num_time_units defines the amount of time over
+                      # which impressions per user are counted and capped.
                 },
               ],
-              "creativeBlockingLevel": "A String", # Output only. Specified the creative blocking levels to be applied.
-              "deliveryRateType": "A String", # Output only. Specifies how the impression delivery will be paced.
+              &quot;creativeBlockingLevel&quot;: &quot;A String&quot;, # Output only. Specified the creative blocking levels to be applied.
             },
-            "description": "A String", # Description for the deal terms.
-            "dealId": "A String", # Output only. A unique deal ID for the deal (server-assigned).
-            "creativeSafeFrameCompatibility": "A String", # Output only. Specifies whether the creative is safeFrame compatible.
-            "creativePreApprovalPolicy": "A String", # Output only. Specifies the creative pre-approval policy.
-            "creativeRestrictions": { # Represents creative restrictions associated to Programmatic Guaranteed/ # Output only. Restricitions about the creatives associated with the deal
+            &quot;externalDealId&quot;: &quot;A String&quot;, # Output only. The external deal ID assigned to this deal once the deal is
+                # finalized. This is the deal ID that shows up in serving/reporting etc.
+            &quot;creativeRestrictions&quot;: { # Represents creative restrictions associated to Programmatic Guaranteed/ # Output only. Restricitions about the creatives associated with the deal
                 # (i.e., size) This is available for Programmatic Guaranteed/Preferred Deals
                 # in Ad Manager.
                 # Preferred Deal in Ad Manager.
-                # This doesn't apply to Private Auction and AdX Preferred Deals.
-              "creativeFormat": "A String", # The format of the environment that the creatives will be displayed in.
-              "creativeSpecifications": [
+                # This doesn&#x27;t apply to Private Auction and AdX Preferred Deals.
+              &quot;creativeFormat&quot;: &quot;A String&quot;, # The format of the environment that the creatives will be displayed in.
+              &quot;creativeSpecifications&quot;: [
                 { # Represents information for a creative that is associated with a Programmatic
                     # Guaranteed/Preferred Deal in Ad Manager.
-                  "creativeSize": { # Represents size of a single ad slot, or a creative. # The size of the creative.
-                    "width": "A String", # The width of the ad slot in pixels.
+                  &quot;creativeSize&quot;: { # Represents size of a single ad slot, or a creative. # The size of the creative.
+                    &quot;width&quot;: &quot;A String&quot;, # The width of the ad slot in pixels.
                         # This field will be present only when size type is `PIXEL`.
-                    "sizeType": "A String", # The size type of the ad slot.
-                    "height": "A String", # The height of the ad slot in pixels.
+                    &quot;sizeType&quot;: &quot;A String&quot;, # The size type of the ad slot.
+                    &quot;height&quot;: &quot;A String&quot;, # The height of the ad slot in pixels.
                         # This field will be present only when size type is `PIXEL`.
                   },
-                  "creativeCompanionSizes": [ # Companion sizes may be filled in only when this is a video creative.
+                  &quot;creativeCompanionSizes&quot;: [ # Companion sizes may be filled in only when this is a video creative.
                     { # Represents size of a single ad slot, or a creative.
-                      "width": "A String", # The width of the ad slot in pixels.
+                      &quot;width&quot;: &quot;A String&quot;, # The width of the ad slot in pixels.
                           # This field will be present only when size type is `PIXEL`.
-                      "sizeType": "A String", # The size type of the ad slot.
-                      "height": "A String", # The height of the ad slot in pixels.
+                      &quot;sizeType&quot;: &quot;A String&quot;, # The size type of the ad slot.
+                      &quot;height&quot;: &quot;A String&quot;, # The height of the ad slot in pixels.
                           # This field will be present only when size type is `PIXEL`.
                     },
                   ],
                 },
               ],
-              "skippableAdType": "A String", # Skippable video ads allow viewers to skip ads after 5 seconds.
+              &quot;skippableAdType&quot;: &quot;A String&quot;, # Skippable video ads allow viewers to skip ads after 5 seconds.
             },
-            "createProductId": "A String", # The product ID from which this deal was created.
-                #
-                # Note: This field may be set only when creating the resource. Modifying
-                # this field while updating the resource will result in an error.
-            "dealTerms": { # The deal terms specify the details of a Product/deal. They specify things # The negotiable terms of the deal.
-                # like price per buyer, the type of pricing model (e.g., fixed price, auction)
-                # and expected impressions from the publisher.
-              "brandingType": "A String", # Visibility of the URL in bid requests. (default: BRANDED)
-              "estimatedGrossSpend": { # Represents a price and a pricing type for a product / deal. # Non-binding estimate of the estimated gross spend for this deal.
-                  # Can be set by buyer or seller.
-                "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
-                "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
-                  "nanos": 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.
-                  "units": "A String", # The whole units of the amount.
-                      # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-                  "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-                },
-              },
-              "sellerTimeZone": "A String", # The time zone name. For deals with Cost Per Day billing, defines the
-                  # time zone used to mark the boundaries of a day. It should be an
-                  # IANA TZ name, such as "America/Los_Angeles". For more information,
-                  # see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones.
-              "estimatedImpressionsPerDay": "A String", # Non-binding estimate of the impressions served per day.
-                  # Can be set by buyer or seller.
-              "nonGuaranteedFixedPriceTerms": { # Terms for Preferred Deals. Note that Preferred Deals cannot be created via # The terms for non-guaranteed fixed price deals.
-                  # the API at this time, but can be returned in a get or list request.
-                "fixedPrices": [ # Fixed price for the specified buyer.
-                  { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
-                      # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
-                      # a particular buyer or buyer/advertiser pair, we look for the most specific
-                      # matching rule - we first look for a rule matching the buyer and advertiser,
-                      # next a rule with the buyer but an empty advertiser list, and otherwise look
-                      # for a matching rule where no buyer is set.
-                    "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
-                        # (if the
-                        # advertisers match, and there's no more specific rule matching the buyer).
-                        # Authorized Buyers account ID.
-                      "accountId": "A String", # Authorized Buyers account ID of the buyer.
-                    },
-                    "advertiserIds": [ # The list of advertisers for this price when associated with this buyer.
-                        # If empty, all advertisers with this buyer pay this price.
-                      "A String",
-                    ],
-                    "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
-                      "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
-                      "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
-                        "nanos": 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.
-                        "units": "A String", # The whole units of the amount.
-                            # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-                        "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-                      },
-                    },
-                  },
-                ],
-              },
-              "guaranteedFixedPriceTerms": { # Terms for Programmatic Guaranteed Deals. # The terms for guaranteed fixed price deals.
-                "guaranteedImpressions": "A String", # Guaranteed impressions as a percentage. This is the percentage
-                    # of guaranteed looks that the buyer is guaranteeing to buy.
-                "fixedPrices": [ # Fixed price for the specified buyer.
-                  { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
-                      # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
-                      # a particular buyer or buyer/advertiser pair, we look for the most specific
-                      # matching rule - we first look for a rule matching the buyer and advertiser,
-                      # next a rule with the buyer but an empty advertiser list, and otherwise look
-                      # for a matching rule where no buyer is set.
-                    "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
-                        # (if the
-                        # advertisers match, and there's no more specific rule matching the buyer).
-                        # Authorized Buyers account ID.
-                      "accountId": "A String", # Authorized Buyers account ID of the buyer.
-                    },
-                    "advertiserIds": [ # The list of advertisers for this price when associated with this buyer.
-                        # If empty, all advertisers with this buyer pay this price.
-                      "A String",
-                    ],
-                    "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
-                      "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
-                      "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
-                        "nanos": 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.
-                        "units": "A String", # The whole units of the amount.
-                            # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-                        "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-                      },
-                    },
-                  },
-                ],
-                "minimumDailyLooks": "A String", # Daily minimum looks for CPD deal types.
-                "guaranteedLooks": "A String", # Count of guaranteed looks. Required for deal, optional for product.
-              },
-              "nonGuaranteedAuctionTerms": { # Terms for Private Auctions. Note that Private Auctions can be created only # The terms for non-guaranteed auction deals.
-                  # by the seller, but they can be returned in a get or list request.
-                "reservePricesPerBuyer": [ # Reserve price for the specified buyer.
-                  { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
-                      # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
-                      # a particular buyer or buyer/advertiser pair, we look for the most specific
-                      # matching rule - we first look for a rule matching the buyer and advertiser,
-                      # next a rule with the buyer but an empty advertiser list, and otherwise look
-                      # for a matching rule where no buyer is set.
-                    "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
-                        # (if the
-                        # advertisers match, and there's no more specific rule matching the buyer).
-                        # Authorized Buyers account ID.
-                      "accountId": "A String", # Authorized Buyers account ID of the buyer.
-                    },
-                    "advertiserIds": [ # The list of advertisers for this price when associated with this buyer.
-                        # If empty, all advertisers with this buyer pay this price.
-                      "A String",
-                    ],
-                    "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
-                      "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
-                      "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
-                        "nanos": 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.
-                        "units": "A String", # The whole units of the amount.
-                            # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-                        "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-                      },
-                    },
-                  },
-                ],
-                "autoOptimizePrivateAuction": True or False, # True if open auction buyers are allowed to compete with invited buyers
-                    # in this private auction.
-              },
-              "description": "A String", # Publisher provided description for the terms.
-            },
-            "sellerContacts": [ # Output only. Seller contact information for the deal.
-              { # Contains information on how a buyer or seller can be reached.
-                "email": "A String", # Email address for the contact.
-                "name": "A String", # The name of the contact.
-              },
-            ],
-            "displayName": "A String", # The name of the deal.
-            "buyerPrivateData": { # Buyers are allowed to store certain types of private data in a proposal/deal. # Buyer private data (hidden from seller).
-              "referenceId": "A String", # A buyer or seller specified reference ID. This can be queried in the list
-                  # operations (max-length: 1024 unicode code units).
-            },
-            "syndicationProduct": "A String", # The syndication product associated with the deal.
-                #
-                # Note: This field may be set only when creating the resource. Modifying
-                # this field while updating the resource will result in an error.
-            "targetingCriterion": [ # The shared targeting visible to buyers and sellers. Each shared
-                # targeting entity is AND'd together.
-              { # Advertisers can target different attributes of an ad slot. For example,
-                  # they can choose to show ads only if the user is in the U.S. Such
-                  # targeting criteria can be specified as part of Shared Targeting.
-                "inclusions": [ # The list of value to include as part of the targeting. Each value is OR'd
-                    # together.
-                  { # A polymorphic targeting value used as part of Shared Targeting.
-                    "stringValue": "A String", # The string value to include/exclude.
-                    "longValue": "A String", # The long value to include/exclude.
-                    "dayPartTargetingValue": { # Specifies the day part targeting criteria. # The daypart targeting to include / exclude.
-                        # Filled in when the key is GOOG_DAYPART_TARGETING.
-                        # The definition of this targeting is derived from the structure
-                        # used by Ad Manager.
-                      "dayParts": [ # A list of day part targeting criterion.
-                        { # Daypart targeting message that specifies if the ad can be shown
-                            # only during certain parts of a day/week.
-                          "dayOfWeek": "A String", # The day of the week to target. If unspecified, applicable to all days.
-                          "endTime": { # Represents a time of day. The date and time zone are either not significant # The ending time of the day for the ad to show (minute level
-                              # granularity). The end time is exclusive. This field is not available
-                              # for filtering in PQL queries.
-                              # or are specified elsewhere. An API may choose to allow leap seconds. Related
-                              # types are google.type.Date and `google.protobuf.Timestamp`.
-                            "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
-                                # to allow the value "24:00:00" for scenarios like business closing time.
-                            "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                            "seconds": 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.
-                            "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                          },
-                          "startTime": { # Represents a time of day. The date and time zone are either not significant # The starting time of day for the ad to show (minute level granularity).
-                              # The start time is inclusive.
-                              # This field is not available for filtering in PQL queries.
-                              # or are specified elsewhere. An API may choose to allow leap seconds. Related
-                              # types are google.type.Date and `google.protobuf.Timestamp`.
-                            "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
-                                # to allow the value "24:00:00" for scenarios like business closing time.
-                            "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                            "seconds": 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.
-                            "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                          },
-                        },
-                      ],
-                      "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
-                    },
-                    "creativeSizeValue": { # Specifies the size of the creative. # The creative size value to include/exclude.
-                        # Filled in when key = GOOG_CREATIVE_SIZE
-                      "companionSizes": [ # For video creatives specifies the sizes of companion ads (if present).
-                          # Companion sizes may be filled in only when creative_size_type = VIDEO
-                        { # Message depicting the size of the creative. The units of width and
-                            # height depend on the type of the targeting.
-                          "width": 42, # The width of the creative
-                          "height": 42, # The height of the creative.
-                        },
-                      ],
-                      "nativeTemplate": "A String", # Output only. The native template for this creative. It will have a value
-                          # only if creative_size_type = CreativeSizeType.NATIVE.
-                      "allowedFormats": [ # What formats are allowed by the publisher.
-                          # If this repeated field is empty then all formats are allowed.
-                          # For example, if this field contains AllowedFormatType.AUDIO then the
-                          # publisher only allows an audio ad (without any video).
-                        "A String",
-                      ],
-                      "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if
-                          # creative_size_type = CreativeSizeType.VIDEO.
-                      "creativeSizeType": "A String", # The creative size type.
-                      "size": { # Message depicting the size of the creative. The units of width and # For regular or video creative size type, specifies the size
-                          # of the creative
-                          # height depend on the type of the targeting.
-                        "width": 42, # The width of the creative
-                        "height": 42, # The height of the creative.
-                      },
-                    },
-                  },
-                ],
-                "exclusions": [ # The list of values to exclude from targeting. Each value is AND'd
-                    # together.
-                  { # A polymorphic targeting value used as part of Shared Targeting.
-                    "stringValue": "A String", # The string value to include/exclude.
-                    "longValue": "A String", # The long value to include/exclude.
-                    "dayPartTargetingValue": { # Specifies the day part targeting criteria. # The daypart targeting to include / exclude.
-                        # Filled in when the key is GOOG_DAYPART_TARGETING.
-                        # The definition of this targeting is derived from the structure
-                        # used by Ad Manager.
-                      "dayParts": [ # A list of day part targeting criterion.
-                        { # Daypart targeting message that specifies if the ad can be shown
-                            # only during certain parts of a day/week.
-                          "dayOfWeek": "A String", # The day of the week to target. If unspecified, applicable to all days.
-                          "endTime": { # Represents a time of day. The date and time zone are either not significant # The ending time of the day for the ad to show (minute level
-                              # granularity). The end time is exclusive. This field is not available
-                              # for filtering in PQL queries.
-                              # or are specified elsewhere. An API may choose to allow leap seconds. Related
-                              # types are google.type.Date and `google.protobuf.Timestamp`.
-                            "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
-                                # to allow the value "24:00:00" for scenarios like business closing time.
-                            "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                            "seconds": 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.
-                            "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                          },
-                          "startTime": { # Represents a time of day. The date and time zone are either not significant # The starting time of day for the ad to show (minute level granularity).
-                              # The start time is inclusive.
-                              # This field is not available for filtering in PQL queries.
-                              # or are specified elsewhere. An API may choose to allow leap seconds. Related
-                              # types are google.type.Date and `google.protobuf.Timestamp`.
-                            "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
-                                # to allow the value "24:00:00" for scenarios like business closing time.
-                            "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                            "seconds": 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.
-                            "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                          },
-                        },
-                      ],
-                      "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
-                    },
-                    "creativeSizeValue": { # Specifies the size of the creative. # The creative size value to include/exclude.
-                        # Filled in when key = GOOG_CREATIVE_SIZE
-                      "companionSizes": [ # For video creatives specifies the sizes of companion ads (if present).
-                          # Companion sizes may be filled in only when creative_size_type = VIDEO
-                        { # Message depicting the size of the creative. The units of width and
-                            # height depend on the type of the targeting.
-                          "width": 42, # The width of the creative
-                          "height": 42, # The height of the creative.
-                        },
-                      ],
-                      "nativeTemplate": "A String", # Output only. The native template for this creative. It will have a value
-                          # only if creative_size_type = CreativeSizeType.NATIVE.
-                      "allowedFormats": [ # What formats are allowed by the publisher.
-                          # If this repeated field is empty then all formats are allowed.
-                          # For example, if this field contains AllowedFormatType.AUDIO then the
-                          # publisher only allows an audio ad (without any video).
-                        "A String",
-                      ],
-                      "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if
-                          # creative_size_type = CreativeSizeType.VIDEO.
-                      "creativeSizeType": "A String", # The creative size type.
-                      "size": { # Message depicting the size of the creative. The units of width and # For regular or video creative size type, specifies the size
-                          # of the creative
-                          # height depend on the type of the targeting.
-                        "width": 42, # The width of the creative
-                        "height": 42, # The height of the creative.
-                      },
-                    },
-                  },
-                ],
-                "key": "A String", # The key representing the shared targeting criterion.
-                    # Targeting criteria defined by Google ad servers will begin with GOOG_.
-                    # Third parties may define their own keys.
-                    # A list of permissible keys along with the acceptable values will be
-                    # provided as part of the external documentation.
-              },
-            ],
-            "dealServingMetadata": { # Message captures metadata about the serving status of a deal. # Output only. Metadata about the serving status of this deal.
-              "dealPauseStatus": { # Tracks which parties (if any) have paused a deal. # Output only. Tracks which parties (if any) have paused a deal.
+            &quot;dealServingMetadata&quot;: { # Message captures metadata about the serving status of a deal. # Output only. Metadata about the serving status of this deal.
+              &quot;dealPauseStatus&quot;: { # Tracks which parties (if any) have paused a deal. # Output only. Tracks which parties (if any) have paused a deal.
                   # The deal is considered paused if either hasBuyerPaused or
                   # hasSellPaused is true.
-                "hasSellerPaused": True or False, # True, if the seller has paused the deal unilaterally.
-                "buyerPauseReason": "A String", # The buyer's reason for pausing, if the buyer paused the deal.
-                "sellerPauseReason": "A String", # The seller's reason for pausing, if the seller paused the deal.
-                "hasBuyerPaused": True or False, # True, if the buyer has paused the deal unilaterally.
-                "firstPausedBy": "A String", # The role of the person who first paused this deal.
+                &quot;firstPausedBy&quot;: &quot;A String&quot;, # The role of the person who first paused this deal.
+                &quot;sellerPauseReason&quot;: &quot;A String&quot;, # The seller&#x27;s reason for pausing, if the seller paused the deal.
+                &quot;hasSellerPaused&quot;: True or False, # True, if the seller has paused the deal unilaterally.
+                &quot;buyerPauseReason&quot;: &quot;A String&quot;, # The buyer&#x27;s reason for pausing, if the buyer paused the deal.
+                &quot;hasBuyerPaused&quot;: True or False, # True, if the buyer has paused the deal unilaterally.
               },
             },
-            "isSetupComplete": True or False, # Output only. True, if the buyside inventory setup is complete for this
-                # deal.
+            &quot;description&quot;: &quot;A String&quot;, # Description for the deal terms.
           },
         ],
-        "updateTime": "A String", # Output only. The time when the proposal was last revised.
-        "proposalState": "A String", # Output only. The current state of the proposal.
-        "proposalRevision": "A String", # Output only. The revision number for the proposal.
+        &quot;proposalRevision&quot;: &quot;A String&quot;, # Output only. The revision number for the proposal.
             # Each update to the proposal or the deal causes the proposal revision number
             # to auto-increment. The buyer keeps track of the last revision number they
             # know of and pass it in when making an update. If the head revision number
             # on the server has since incremented, then an ABORTED error is returned
             # during the update operation to let the buyer know that a subsequent update
             # was made.
-        "buyerPrivateData": { # Buyers are allowed to store certain types of private data in a proposal/deal. # Private data for buyer. (hidden from seller).
-          "referenceId": "A String", # A buyer or seller specified reference ID. This can be queried in the list
-              # operations (max-length: 1024 unicode code units).
-        },
-        "privateAuctionId": "A String", # Output only. Private auction ID if this proposal is a private auction
-            # proposal.
-        "notes": [ # Output only. The notes associated with this proposal.
-          { # A proposal may be associated to several notes.
-            "note": "A String", # The actual note to attach.
-                # (max-length: 1024 unicode code units)
-                #
-                # Note: This field may be set only when creating the resource. Modifying
-                # this field while updating the resource will result in an error.
-            "creatorRole": "A String", # Output only. The role of the person (buyer/seller) creating the note.
-            "proposalRevision": "A String", # Output only. The revision number of the proposal when the note is created.
-            "createTime": "A String", # Output only. The timestamp for when this note was created.
-            "noteId": "A String", # Output only. The unique ID for the note.
-          },
-        ],
-        "originatorRole": "A String", # Output only. Indicates whether the buyer/seller created the proposal.
-        "billedBuyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # Output only. Reference to the buyer that will get billed for this proposal.
-            # Authorized Buyers account ID.
-          "accountId": "A String", # Authorized Buyers account ID of the buyer.
-        },
-        "seller": { # Represents a seller of inventory. Each seller is identified by a unique # Reference to the seller on the proposal.
+        &quot;seller&quot;: { # Represents a seller of inventory. Each seller is identified by a unique # Reference to the seller on the proposal.
             #
             # Note: This field may be set only when creating the resource. Modifying
             # this field while updating the resource will result in an error.
             # Ad Manager account ID.
-          "subAccountId": "A String", # Optional sub-account ID for the seller.
-          "accountId": "A String", # The unique ID for the seller. The seller fills in this field.
+          &quot;subAccountId&quot;: &quot;A String&quot;, # Optional sub-account ID for the seller.
+          &quot;accountId&quot;: &quot;A String&quot;, # The unique ID for the seller. The seller fills in this field.
               # The seller account ID is then available to buyer in the product.
         },
-        "sellerContacts": [ # Output only. Contact information for the seller.
-          { # Contains information on how a buyer or seller can be reached.
-            "email": "A String", # Email address for the contact.
-            "name": "A String", # The name of the contact.
-          },
-        ],
-        "proposalId": "A String", # Output only. The unique ID of the proposal.
-        "isRenegotiating": True or False, # Output only. True if the proposal is being renegotiated.
-        "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # Reference to the buyer on the proposal.
-            #
-            # Note: This field may be set only when creating the resource. Modifying
-            # this field while updating the resource will result in an error.
-            # Authorized Buyers account ID.
-          "accountId": "A String", # Authorized Buyers account ID of the buyer.
-        },
-        "isSetupComplete": True or False, # Output only. True, if the buyside inventory setup is complete for this
-            # proposal.
-        "displayName": "A String", # The name for the proposal.
-        "lastUpdaterOrCommentorRole": "A String", # Output only. The role of the last user that either updated the proposal or
-            # left a comment.
-        "buyerContacts": [ # Contact information for the buyer.
-          { # Contains information on how a buyer or seller can be reached.
-            "email": "A String", # Email address for the contact.
-            "name": "A String", # The name of the contact.
-          },
-        ],
       },
     ],
   }</pre>
@@ -4575,7 +4575,7 @@
   previous_response: The response from the request for the previous page. (required)
 
 Returns:
-  A request object that you can call 'execute()' on to request the next
+  A request object that you can call &#x27;execute()&#x27; on to request the next
   page. Returns None if there are no more items in the collection.
     </pre>
 </div>
@@ -4598,8 +4598,8 @@
     The object takes the form of:
 
 { # Request message to pause serving for an already-finalized proposal.
-    "reason": "A String", # The reason why the proposal is being paused.
-        # This human readable message will be displayed in the seller's UI.
+    &quot;reason&quot;: &quot;A String&quot;, # The reason why the proposal is being paused.
+        # This human readable message will be displayed in the seller&#x27;s UI.
         # (Max length: 1000 unicode code units.)
   }
 
@@ -4622,55 +4622,508 @@
       # Auction or Preferred Deals deals through the API.
       #
       # Fields are updatable unless noted otherwise.
-    "deals": [ # The deals associated with this proposal. For Private Auction proposals
+    &quot;buyer&quot;: { # Represents a buyer of inventory. Each buyer is identified by a unique # Reference to the buyer on the proposal.
+        #
+        # Note: This field may be set only when creating the resource. Modifying
+        # this field while updating the resource will result in an error.
+        # Authorized Buyers account ID.
+      &quot;accountId&quot;: &quot;A String&quot;, # Authorized Buyers account ID of the buyer.
+    },
+    &quot;isRenegotiating&quot;: True or False, # Output only. True if the proposal is being renegotiated.
+    &quot;notes&quot;: [ # Output only. The notes associated with this proposal.
+      { # A proposal may be associated to several notes.
+        &quot;note&quot;: &quot;A String&quot;, # The actual note to attach.
+            # (max-length: 1024 unicode code units)
+            #
+            # Note: This field may be set only when creating the resource. Modifying
+            # this field while updating the resource will result in an error.
+        &quot;proposalRevision&quot;: &quot;A String&quot;, # Output only. The revision number of the proposal when the note is created.
+        &quot;noteId&quot;: &quot;A String&quot;, # Output only. The unique ID for the note.
+        &quot;createTime&quot;: &quot;A String&quot;, # Output only. The timestamp for when this note was created.
+        &quot;creatorRole&quot;: &quot;A String&quot;, # Output only. The role of the person (buyer/seller) creating the note.
+      },
+    ],
+    &quot;isSetupComplete&quot;: True or False, # Output only. True, if the buyside inventory setup is complete for this
+        # proposal.
+    &quot;proposalState&quot;: &quot;A String&quot;, # Output only. The current state of the proposal.
+    &quot;sellerContacts&quot;: [ # Output only. Contact information for the seller.
+      { # Contains information on how a buyer or seller can be reached.
+        &quot;email&quot;: &quot;A String&quot;, # Email address for the contact.
+        &quot;name&quot;: &quot;A String&quot;, # The name of the contact.
+      },
+    ],
+    &quot;privateAuctionId&quot;: &quot;A String&quot;, # Output only. Private auction ID if this proposal is a private auction
+        # proposal.
+    &quot;originatorRole&quot;: &quot;A String&quot;, # Output only. Indicates whether the buyer/seller created the proposal.
+    &quot;lastUpdaterOrCommentorRole&quot;: &quot;A String&quot;, # Output only. The role of the last user that either updated the proposal or
+        # left a comment.
+    &quot;buyerPrivateData&quot;: { # Buyers are allowed to store certain types of private data in a proposal/deal. # Private data for buyer. (hidden from seller).
+      &quot;referenceId&quot;: &quot;A String&quot;, # A buyer or seller specified reference ID. This can be queried in the list
+          # operations (max-length: 1024 unicode code units).
+    },
+    &quot;displayName&quot;: &quot;A String&quot;, # The name for the proposal.
+    &quot;buyerContacts&quot;: [ # Contact information for the buyer.
+      { # Contains information on how a buyer or seller can be reached.
+        &quot;email&quot;: &quot;A String&quot;, # Email address for the contact.
+        &quot;name&quot;: &quot;A String&quot;, # The name of the contact.
+      },
+    ],
+    &quot;billedBuyer&quot;: { # Represents a buyer of inventory. Each buyer is identified by a unique # Output only. Reference to the buyer that will get billed for this proposal.
+        # Authorized Buyers account ID.
+      &quot;accountId&quot;: &quot;A String&quot;, # Authorized Buyers account ID of the buyer.
+    },
+    &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time when the proposal was last revised.
+    &quot;proposalId&quot;: &quot;A String&quot;, # Output only. The unique ID of the proposal.
+    &quot;deals&quot;: [ # The deals associated with this proposal. For Private Auction proposals
         # (whose deals have NonGuaranteedAuctionTerms), there will only be one deal.
       { # A deal represents a segment of inventory for displaying ads on.
           # A proposal can contain multiple deals. A deal contains the terms and
           # targeting information that is used for serving.
-        "updateTime": "A String", # Output only. The time when the deal was last updated.
-        "createProductRevision": "A String", # Optional revision number of the product that the deal was created from.
+        &quot;programmaticCreativeSource&quot;: &quot;A String&quot;, # Output only. Specifies the creative source for programmatic deals.
+            # PUBLISHER means creative is provided by seller and ADVERTISER means
+            # creative is provided by buyer.
+        &quot;buyerPrivateData&quot;: { # Buyers are allowed to store certain types of private data in a proposal/deal. # Buyer private data (hidden from seller).
+          &quot;referenceId&quot;: &quot;A String&quot;, # A buyer or seller specified reference ID. This can be queried in the list
+              # operations (max-length: 1024 unicode code units).
+        },
+        &quot;displayName&quot;: &quot;A String&quot;, # The name of the deal.
+        &quot;webPropertyCode&quot;: &quot;A String&quot;, # The web property code for the seller copied over from the product.
+        &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time when the deal was last updated.
+        &quot;targetingCriterion&quot;: [ # The shared targeting visible to buyers and sellers. Each shared
+            # targeting entity is AND&#x27;d together.
+          { # Advertisers can target different attributes of an ad slot. For example,
+              # they can choose to show ads only if the user is in the U.S. Such
+              # targeting criteria can be specified as part of Shared Targeting.
+            &quot;exclusions&quot;: [ # The list of values to exclude from targeting. Each value is AND&#x27;d
+                # together.
+              { # A polymorphic targeting value used as part of Shared Targeting.
+                &quot;creativeSizeValue&quot;: { # Specifies the size of the creative. # The creative size value to include/exclude.
+                    # Filled in when key = GOOG_CREATIVE_SIZE
+                  &quot;size&quot;: { # Message depicting the size of the creative. The units of width and # For regular or video creative size type, specifies the size
+                      # of the creative
+                      # height depend on the type of the targeting.
+                    &quot;height&quot;: 42, # The height of the creative.
+                    &quot;width&quot;: 42, # The width of the creative
+                  },
+                  &quot;allowedFormats&quot;: [ # What formats are allowed by the publisher.
+                      # If this repeated field is empty then all formats are allowed.
+                      # For example, if this field contains AllowedFormatType.AUDIO then the
+                      # publisher only allows an audio ad (without any video).
+                    &quot;A String&quot;,
+                  ],
+                  &quot;companionSizes&quot;: [ # For video creatives specifies the sizes of companion ads (if present).
+                      # Companion sizes may be filled in only when creative_size_type = VIDEO
+                    { # Message depicting the size of the creative. The units of width and
+                        # height depend on the type of the targeting.
+                      &quot;height&quot;: 42, # The height of the creative.
+                      &quot;width&quot;: 42, # The width of the creative
+                    },
+                  ],
+                  &quot;skippableAdType&quot;: &quot;A String&quot;, # The type of skippable ad for this creative. It will have a value only if
+                      # creative_size_type = CreativeSizeType.VIDEO.
+                  &quot;creativeSizeType&quot;: &quot;A String&quot;, # The creative size type.
+                  &quot;nativeTemplate&quot;: &quot;A String&quot;, # Output only. The native template for this creative. It will have a value
+                      # only if creative_size_type = CreativeSizeType.NATIVE.
+                },
+                &quot;stringValue&quot;: &quot;A String&quot;, # The string value to include/exclude.
+                &quot;longValue&quot;: &quot;A String&quot;, # The long value to include/exclude.
+                &quot;dayPartTargetingValue&quot;: { # Specifies the day part targeting criteria. # The daypart targeting to include / exclude.
+                    # Filled in when the key is GOOG_DAYPART_TARGETING.
+                    # The definition of this targeting is derived from the structure
+                    # used by Ad Manager.
+                  &quot;timeZoneType&quot;: &quot;A String&quot;, # The timezone to use for interpreting the day part targeting.
+                  &quot;dayParts&quot;: [ # A list of day part targeting criterion.
+                    { # Daypart targeting message that specifies if the ad can be shown
+                        # only during certain parts of a day/week.
+                      &quot;startTime&quot;: { # Represents a time of day. The date and time zone are either not significant # The starting time of day for the ad to show (minute level granularity).
+                          # The start time is inclusive.
+                          # This field is not available for filtering in PQL queries.
+                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                          # types are google.type.Date and `google.protobuf.Timestamp`.
+                        &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;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;dayOfWeek&quot;: &quot;A String&quot;, # The day of the week to target. If unspecified, applicable to all days.
+                      &quot;endTime&quot;: { # Represents a time of day. The date and time zone are either not significant # The ending time of the day for the ad to show (minute level
+                          # granularity). The end time is exclusive. This field is not available
+                          # for filtering in PQL queries.
+                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                          # types are google.type.Date and `google.protobuf.Timestamp`.
+                        &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;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;key&quot;: &quot;A String&quot;, # The key representing the shared targeting criterion.
+                # Targeting criteria defined by Google ad servers will begin with GOOG_.
+                # Third parties may define their own keys.
+                # A list of permissible keys along with the acceptable values will be
+                # provided as part of the external documentation.
+            &quot;inclusions&quot;: [ # The list of value to include as part of the targeting. Each value is OR&#x27;d
+                # together.
+              { # A polymorphic targeting value used as part of Shared Targeting.
+                &quot;creativeSizeValue&quot;: { # Specifies the size of the creative. # The creative size value to include/exclude.
+                    # Filled in when key = GOOG_CREATIVE_SIZE
+                  &quot;size&quot;: { # Message depicting the size of the creative. The units of width and # For regular or video creative size type, specifies the size
+                      # of the creative
+                      # height depend on the type of the targeting.
+                    &quot;height&quot;: 42, # The height of the creative.
+                    &quot;width&quot;: 42, # The width of the creative
+                  },
+                  &quot;allowedFormats&quot;: [ # What formats are allowed by the publisher.
+                      # If this repeated field is empty then all formats are allowed.
+                      # For example, if this field contains AllowedFormatType.AUDIO then the
+                      # publisher only allows an audio ad (without any video).
+                    &quot;A String&quot;,
+                  ],
+                  &quot;companionSizes&quot;: [ # For video creatives specifies the sizes of companion ads (if present).
+                      # Companion sizes may be filled in only when creative_size_type = VIDEO
+                    { # Message depicting the size of the creative. The units of width and
+                        # height depend on the type of the targeting.
+                      &quot;height&quot;: 42, # The height of the creative.
+                      &quot;width&quot;: 42, # The width of the creative
+                    },
+                  ],
+                  &quot;skippableAdType&quot;: &quot;A String&quot;, # The type of skippable ad for this creative. It will have a value only if
+                      # creative_size_type = CreativeSizeType.VIDEO.
+                  &quot;creativeSizeType&quot;: &quot;A String&quot;, # The creative size type.
+                  &quot;nativeTemplate&quot;: &quot;A String&quot;, # Output only. The native template for this creative. It will have a value
+                      # only if creative_size_type = CreativeSizeType.NATIVE.
+                },
+                &quot;stringValue&quot;: &quot;A String&quot;, # The string value to include/exclude.
+                &quot;longValue&quot;: &quot;A String&quot;, # The long value to include/exclude.
+                &quot;dayPartTargetingValue&quot;: { # Specifies the day part targeting criteria. # The daypart targeting to include / exclude.
+                    # Filled in when the key is GOOG_DAYPART_TARGETING.
+                    # The definition of this targeting is derived from the structure
+                    # used by Ad Manager.
+                  &quot;timeZoneType&quot;: &quot;A String&quot;, # The timezone to use for interpreting the day part targeting.
+                  &quot;dayParts&quot;: [ # A list of day part targeting criterion.
+                    { # Daypart targeting message that specifies if the ad can be shown
+                        # only during certain parts of a day/week.
+                      &quot;startTime&quot;: { # Represents a time of day. The date and time zone are either not significant # The starting time of day for the ad to show (minute level granularity).
+                          # The start time is inclusive.
+                          # This field is not available for filtering in PQL queries.
+                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                          # types are google.type.Date and `google.protobuf.Timestamp`.
+                        &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;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;dayOfWeek&quot;: &quot;A String&quot;, # The day of the week to target. If unspecified, applicable to all days.
+                      &quot;endTime&quot;: { # Represents a time of day. The date and time zone are either not significant # The ending time of the day for the ad to show (minute level
+                          # granularity). The end time is exclusive. This field is not available
+                          # for filtering in PQL queries.
+                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                          # types are google.type.Date and `google.protobuf.Timestamp`.
+                        &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;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;dealId&quot;: &quot;A String&quot;, # Output only. A unique deal ID for the deal (server-assigned).
+        &quot;proposalId&quot;: &quot;A String&quot;, # Output only. ID of the proposal that this deal is part of.
+        &quot;availableEndTime&quot;: &quot;A String&quot;, # Proposed flight end time of the deal.
+            # This will generally be stored in a granularity of a second.
+            # A value is not required for Private Auction deals or Preferred Deals.
+        &quot;syndicationProduct&quot;: &quot;A String&quot;, # The syndication product associated with the deal.
+            #
+            # Note: This field may be set only when creating the resource. Modifying
+            # this field while updating the resource will result in an error.
+        &quot;createProductId&quot;: &quot;A String&quot;, # The product ID from which this deal was created.
+            #
+            # Note: This field may be set only when creating the resource. Modifying
+            # this field while updating the resource will result in an error.
+        &quot;creativeSafeFrameCompatibility&quot;: &quot;A String&quot;, # Output only. Specifies whether the creative is safeFrame compatible.
+        &quot;isSetupComplete&quot;: True or False, # Output only. True, if the buyside inventory setup is complete for this
+            # deal.
+        &quot;createProductRevision&quot;: &quot;A String&quot;, # Optional revision number of the product that the deal was created from.
             # If present on create, and the server `product_revision` has advanced sinced
             # the passed-in `create_product_revision`, an `ABORTED` error will be
             # returned.
             #
             # Note: This field may be set only when creating the resource. Modifying
             # this field while updating the resource will result in an error.
-        "programmaticCreativeSource": "A String", # Output only. Specifies the creative source for programmatic deals.
-            # PUBLISHER means creative is provided by seller and ADVERTISER means
-            # creative is provided by buyer.
-        "availableStartTime": "A String", # Optional proposed flight start time of the deal.
+        &quot;sellerContacts&quot;: [ # Output only. Seller contact information for the deal.
+          { # Contains information on how a buyer or seller can be reached.
+            &quot;email&quot;: &quot;A String&quot;, # Email address for the contact.
+            &quot;name&quot;: &quot;A String&quot;, # The name of the contact.
+          },
+        ],
+        &quot;availableStartTime&quot;: &quot;A String&quot;, # Optional proposed flight start time of the deal.
             # This will generally be stored in the granularity of one second since deal
             # serving starts at seconds boundary. Any time specified with more
             # granularity (e.g., in milliseconds) will be truncated towards the start of
             # time in seconds.
-        "availableEndTime": "A String", # Proposed flight end time of the deal.
-            # This will generally be stored in a granularity of a second.
-            # A value is not required for Private Auction deals or Preferred Deals.
-        "externalDealId": "A String", # Output only. The external deal ID assigned to this deal once the deal is
-            # finalized. This is the deal ID that shows up in serving/reporting etc.
-        "targeting": { # Targeting represents different criteria that can be used by advertisers to # Output only. Specifies the subset of inventory targeted by the deal.
+        &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time of the deal creation.
+        &quot;dealTerms&quot;: { # The deal terms specify the details of a Product/deal. They specify things # The negotiable terms of the deal.
+            # like price per buyer, the type of pricing model (e.g., fixed price, auction)
+            # and expected impressions from the publisher.
+          &quot;description&quot;: &quot;A String&quot;, # Publisher provided description for the terms.
+          &quot;nonGuaranteedFixedPriceTerms&quot;: { # Terms for Preferred Deals. Note that Preferred Deals cannot be created via # The terms for non-guaranteed fixed price deals.
+              # the API at this time, but can be returned in a get or list request.
+            &quot;fixedPrices&quot;: [ # Fixed price for the specified buyer.
+              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
+                  # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
+                  # a particular buyer or buyer/advertiser pair, we look for the most specific
+                  # matching rule - we first look for a rule matching the buyer and advertiser,
+                  # next a rule with the buyer but an empty advertiser list, and otherwise look
+                  # for a matching rule where no buyer is set.
+                &quot;price&quot;: { # Represents a price and a pricing type for a product / deal. # The specified price.
+                  &quot;amount&quot;: { # Represents an amount of money with its currency type. # The actual price with currency specified.
+                    &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+                    &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;pricingType&quot;: &quot;A String&quot;, # The pricing type for the deal/product. (default: CPM)
+                },
+                &quot;advertiserIds&quot;: [ # The list of advertisers for this price when associated with this buyer.
+                    # If empty, all advertisers with this buyer pay this price.
+                  &quot;A String&quot;,
+                ],
+                &quot;buyer&quot;: { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
+                    # (if the
+                    # advertisers match, and there&#x27;s no more specific rule matching the buyer).
+                    # Authorized Buyers account ID.
+                  &quot;accountId&quot;: &quot;A String&quot;, # Authorized Buyers account ID of the buyer.
+                },
+              },
+            ],
+          },
+          &quot;estimatedImpressionsPerDay&quot;: &quot;A String&quot;, # Non-binding estimate of the impressions served per day.
+              # Can be set by buyer or seller.
+          &quot;nonGuaranteedAuctionTerms&quot;: { # Terms for Private Auctions. Note that Private Auctions can be created only # The terms for non-guaranteed auction deals.
+              # by the seller, but they can be returned in a get or list request.
+            &quot;autoOptimizePrivateAuction&quot;: True or False, # True if open auction buyers are allowed to compete with invited buyers
+                # in this private auction.
+            &quot;reservePricesPerBuyer&quot;: [ # Reserve price for the specified buyer.
+              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
+                  # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
+                  # a particular buyer or buyer/advertiser pair, we look for the most specific
+                  # matching rule - we first look for a rule matching the buyer and advertiser,
+                  # next a rule with the buyer but an empty advertiser list, and otherwise look
+                  # for a matching rule where no buyer is set.
+                &quot;price&quot;: { # Represents a price and a pricing type for a product / deal. # The specified price.
+                  &quot;amount&quot;: { # Represents an amount of money with its currency type. # The actual price with currency specified.
+                    &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+                    &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;pricingType&quot;: &quot;A String&quot;, # The pricing type for the deal/product. (default: CPM)
+                },
+                &quot;advertiserIds&quot;: [ # The list of advertisers for this price when associated with this buyer.
+                    # If empty, all advertisers with this buyer pay this price.
+                  &quot;A String&quot;,
+                ],
+                &quot;buyer&quot;: { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
+                    # (if the
+                    # advertisers match, and there&#x27;s no more specific rule matching the buyer).
+                    # Authorized Buyers account ID.
+                  &quot;accountId&quot;: &quot;A String&quot;, # Authorized Buyers account ID of the buyer.
+                },
+              },
+            ],
+          },
+          &quot;estimatedGrossSpend&quot;: { # Represents a price and a pricing type for a product / deal. # Non-binding estimate of the estimated gross spend for this deal.
+              # Can be set by buyer or seller.
+            &quot;amount&quot;: { # Represents an amount of money with its currency type. # The actual price with currency specified.
+              &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+              &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;pricingType&quot;: &quot;A String&quot;, # The pricing type for the deal/product. (default: CPM)
+          },
+          &quot;brandingType&quot;: &quot;A String&quot;, # Visibility of the URL in bid requests. (default: BRANDED)
+          &quot;sellerTimeZone&quot;: &quot;A String&quot;, # The time zone name. For deals with Cost Per Day billing, defines the
+              # time zone used to mark the boundaries of a day. It should be an
+              # IANA TZ name, such as &quot;America/Los_Angeles&quot;. For more information,
+              # see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones.
+          &quot;guaranteedFixedPriceTerms&quot;: { # Terms for Programmatic Guaranteed Deals. # The terms for guaranteed fixed price deals.
+            &quot;guaranteedImpressions&quot;: &quot;A String&quot;, # Guaranteed impressions as a percentage. This is the percentage
+                # of guaranteed looks that the buyer is guaranteeing to buy.
+            &quot;minimumDailyLooks&quot;: &quot;A String&quot;, # Daily minimum looks for CPD deal types.
+            &quot;guaranteedLooks&quot;: &quot;A String&quot;, # Count of guaranteed looks. Required for deal, optional for product.
+            &quot;fixedPrices&quot;: [ # Fixed price for the specified buyer.
+              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
+                  # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
+                  # a particular buyer or buyer/advertiser pair, we look for the most specific
+                  # matching rule - we first look for a rule matching the buyer and advertiser,
+                  # next a rule with the buyer but an empty advertiser list, and otherwise look
+                  # for a matching rule where no buyer is set.
+                &quot;price&quot;: { # Represents a price and a pricing type for a product / deal. # The specified price.
+                  &quot;amount&quot;: { # Represents an amount of money with its currency type. # The actual price with currency specified.
+                    &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+                    &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;pricingType&quot;: &quot;A String&quot;, # The pricing type for the deal/product. (default: CPM)
+                },
+                &quot;advertiserIds&quot;: [ # The list of advertisers for this price when associated with this buyer.
+                    # If empty, all advertisers with this buyer pay this price.
+                  &quot;A String&quot;,
+                ],
+                &quot;buyer&quot;: { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
+                    # (if the
+                    # advertisers match, and there&#x27;s no more specific rule matching the buyer).
+                    # Authorized Buyers account ID.
+                  &quot;accountId&quot;: &quot;A String&quot;, # Authorized Buyers account ID of the buyer.
+                },
+              },
+            ],
+          },
+        },
+        &quot;targeting&quot;: { # Targeting represents different criteria that can be used by advertisers to # Output only. Specifies the subset of inventory targeted by the deal.
             # target ad inventory. For example, they can choose to target ad requests only
             # if the user is in the US.
             # Multiple types of targeting are always applied as a logical AND, unless noted
             # otherwise.
-          "placementTargeting": { # Represents targeting about where the ads can appear, e.g., certain sites or # Placement targeting information, e.g., URL, mobile applications.
-              # mobile applications.
-              # Different placement targeting types will be logically OR'ed.
-            "urlTargeting": { # Represents a list of targeted and excluded URLs (e.g., google.com). # URLs to be included/excluded.
-                # For Private Auction and AdX Preferred Deals, URLs are either included or
-                # excluded.
-                # For Programmatic Guaranteed and Preferred Deals, this doesn't
-                # apply.
-              "excludedUrls": [ # A list of URLs to be excluded.
-                "A String",
+          &quot;geoTargeting&quot;: { # Generic targeting used for targeting dimensions that contains a list of # Geo criteria IDs to be included/excluded.
+              # included and excluded numeric IDs.
+            &quot;targetedCriteriaIds&quot;: [ # A list of numeric IDs to be included.
+              &quot;A String&quot;,
+            ],
+            &quot;excludedCriteriaIds&quot;: [ # A list of numeric IDs to be excluded.
+              &quot;A String&quot;,
+            ],
+          },
+          &quot;inventorySizeTargeting&quot;: { # Represents the size of an ad unit that can be targeted on an ad # Inventory sizes to be included/excluded.
+              # request. It only applies to Private Auction, AdX Preferred Deals and
+              # Auction Packages. This targeting does not apply to Programmatic Guaranteed
+              # and Preferred Deals in Ad Manager.
+            &quot;targetedInventorySizes&quot;: [ # A list of inventory sizes to be included.
+              { # Represents size of a single ad slot, or a creative.
+                &quot;width&quot;: &quot;A String&quot;, # The width of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+                &quot;sizeType&quot;: &quot;A String&quot;, # The size type of the ad slot.
+                &quot;height&quot;: &quot;A String&quot;, # The height of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+              },
+            ],
+            &quot;excludedInventorySizes&quot;: [ # A list of inventory sizes to be excluded.
+              { # Represents size of a single ad slot, or a creative.
+                &quot;width&quot;: &quot;A String&quot;, # The width of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+                &quot;sizeType&quot;: &quot;A String&quot;, # The size type of the ad slot.
+                &quot;height&quot;: &quot;A String&quot;, # The height of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+              },
+            ],
+          },
+          &quot;videoTargeting&quot;: { # Represents targeting information about video. # Video targeting information.
+            &quot;targetedPositionTypes&quot;: [ # A list of video positions to be included.
+                # When the included list is present, the excluded list must be empty.
+                # When the excluded list is present, the included list must be empty.
+              &quot;A String&quot;,
+            ],
+            &quot;excludedPositionTypes&quot;: [ # A list of video positions to be excluded.
+                # Position types can either be included or excluded (XOR).
+              &quot;A String&quot;,
+            ],
+          },
+          &quot;technologyTargeting&quot;: { # Represents targeting about various types of technology. # Technology targeting information, e.g., operating system, device category.
+            &quot;deviceCapabilityTargeting&quot;: { # Generic targeting used for targeting dimensions that contains a list of # IDs of device capabilities to be included/excluded.
+                # included and excluded numeric IDs.
+              &quot;targetedCriteriaIds&quot;: [ # A list of numeric IDs to be included.
+                &quot;A String&quot;,
               ],
-              "targetedUrls": [ # A list of URLs to be included.
-                "A String",
+              &quot;excludedCriteriaIds&quot;: [ # A list of numeric IDs to be excluded.
+                &quot;A String&quot;,
               ],
             },
-            "mobileApplicationTargeting": { # Mobile application targeting settings. # Mobile application targeting information in a deal.
-                # This doesn't apply to Auction Packages.
-              "firstPartyTargeting": { # Represents a list of targeted and excluded mobile application IDs that # Publisher owned apps to be targeted or excluded by the publisher to
+            &quot;operatingSystemTargeting&quot;: { # Represents targeting information for operating systems. # Operating system related targeting information.
+              &quot;operatingSystemCriteria&quot;: { # Generic targeting used for targeting dimensions that contains a list of # IDs of operating systems to be included/excluded.
+                  # included and excluded numeric IDs.
+                &quot;targetedCriteriaIds&quot;: [ # A list of numeric IDs to be included.
+                  &quot;A String&quot;,
+                ],
+                &quot;excludedCriteriaIds&quot;: [ # A list of numeric IDs to be excluded.
+                  &quot;A String&quot;,
+                ],
+              },
+              &quot;operatingSystemVersionCriteria&quot;: { # Generic targeting used for targeting dimensions that contains a list of # IDs of operating system versions to be included/excluded.
+                  # included and excluded numeric IDs.
+                &quot;targetedCriteriaIds&quot;: [ # A list of numeric IDs to be included.
+                  &quot;A String&quot;,
+                ],
+                &quot;excludedCriteriaIds&quot;: [ # A list of numeric IDs to be excluded.
+                  &quot;A String&quot;,
+                ],
+              },
+            },
+            &quot;deviceCategoryTargeting&quot;: { # Generic targeting used for targeting dimensions that contains a list of # IDs of device categories to be included/excluded.
+                # included and excluded numeric IDs.
+              &quot;targetedCriteriaIds&quot;: [ # A list of numeric IDs to be included.
+                &quot;A String&quot;,
+              ],
+              &quot;excludedCriteriaIds&quot;: [ # A list of numeric IDs to be excluded.
+                &quot;A String&quot;,
+              ],
+            },
+          },
+          &quot;placementTargeting&quot;: { # Represents targeting about where the ads can appear, e.g., certain sites or # Placement targeting information, e.g., URL, mobile applications.
+              # mobile applications.
+              # Different placement targeting types will be logically OR&#x27;ed.
+            &quot;urlTargeting&quot;: { # Represents a list of targeted and excluded URLs (e.g., google.com). # URLs to be included/excluded.
+                # For Private Auction and AdX Preferred Deals, URLs are either included or
+                # excluded.
+                # For Programmatic Guaranteed and Preferred Deals, this doesn&#x27;t
+                # apply.
+              &quot;targetedUrls&quot;: [ # A list of URLs to be included.
+                &quot;A String&quot;,
+              ],
+              &quot;excludedUrls&quot;: [ # A list of URLs to be excluded.
+                &quot;A String&quot;,
+              ],
+            },
+            &quot;mobileApplicationTargeting&quot;: { # Mobile application targeting settings. # Mobile application targeting information in a deal.
+                # This doesn&#x27;t apply to Auction Packages.
+              &quot;firstPartyTargeting&quot;: { # Represents a list of targeted and excluded mobile application IDs that # Publisher owned apps to be targeted or excluded by the publisher to
                   # display the ads in.
                   # publishers own.
                   # Mobile application IDs are from App Store and Google Play Store.
@@ -4678,546 +5131,93 @@
                   # Google Play Store URL.
                   # iOS App ID (which is a number) can be found at the end of iTunes store URL.
                   # First party mobile applications is either included or excluded.
-                "excludedAppIds": [ # A list of application IDs to be excluded.
-                  "A String",
+                &quot;targetedAppIds&quot;: [ # A list of application IDs to be included.
+                  &quot;A String&quot;,
                 ],
-                "targetedAppIds": [ # A list of application IDs to be included.
-                  "A String",
+                &quot;excludedAppIds&quot;: [ # A list of application IDs to be excluded.
+                  &quot;A String&quot;,
                 ],
               },
             },
           },
-          "geoTargeting": { # Generic targeting used for targeting dimensions that contains a list of # Geo criteria IDs to be included/excluded.
-              # included and excluded numeric IDs.
-            "targetedCriteriaIds": [ # A list of numeric IDs to be included.
-              "A String",
-            ],
-            "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
-              "A String",
-            ],
-          },
-          "videoTargeting": { # Represents targeting information about video. # Video targeting information.
-            "excludedPositionTypes": [ # A list of video positions to be excluded.
-                # Position types can either be included or excluded (XOR).
-              "A String",
-            ],
-            "targetedPositionTypes": [ # A list of video positions to be included.
-                # When the included list is present, the excluded list must be empty.
-                # When the excluded list is present, the included list must be empty.
-              "A String",
-            ],
-          },
-          "technologyTargeting": { # Represents targeting about various types of technology. # Technology targeting information, e.g., operating system, device category.
-            "deviceCategoryTargeting": { # Generic targeting used for targeting dimensions that contains a list of # IDs of device categories to be included/excluded.
-                # included and excluded numeric IDs.
-              "targetedCriteriaIds": [ # A list of numeric IDs to be included.
-                "A String",
-              ],
-              "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
-                "A String",
-              ],
-            },
-            "operatingSystemTargeting": { # Represents targeting information for operating systems. # Operating system related targeting information.
-              "operatingSystemCriteria": { # Generic targeting used for targeting dimensions that contains a list of # IDs of operating systems to be included/excluded.
-                  # included and excluded numeric IDs.
-                "targetedCriteriaIds": [ # A list of numeric IDs to be included.
-                  "A String",
-                ],
-                "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
-                  "A String",
-                ],
-              },
-              "operatingSystemVersionCriteria": { # Generic targeting used for targeting dimensions that contains a list of # IDs of operating system versions to be included/excluded.
-                  # included and excluded numeric IDs.
-                "targetedCriteriaIds": [ # A list of numeric IDs to be included.
-                  "A String",
-                ],
-                "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
-                  "A String",
-                ],
-              },
-            },
-            "deviceCapabilityTargeting": { # Generic targeting used for targeting dimensions that contains a list of # IDs of device capabilities to be included/excluded.
-                # included and excluded numeric IDs.
-              "targetedCriteriaIds": [ # A list of numeric IDs to be included.
-                "A String",
-              ],
-              "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
-                "A String",
-              ],
-            },
-          },
-          "inventorySizeTargeting": { # Represents the size of an ad unit that can be targeted on an ad # Inventory sizes to be included/excluded.
-              # request. It only applies to Private Auction, AdX Preferred Deals and
-              # Auction Packages. This targeting does not apply to Programmatic Guaranteed
-              # and Preferred Deals in Ad Manager.
-            "targetedInventorySizes": [ # A list of inventory sizes to be included.
-              { # Represents size of a single ad slot, or a creative.
-                "width": "A String", # The width of the ad slot in pixels.
-                    # This field will be present only when size type is `PIXEL`.
-                "sizeType": "A String", # The size type of the ad slot.
-                "height": "A String", # The height of the ad slot in pixels.
-                    # This field will be present only when size type is `PIXEL`.
-              },
-            ],
-            "excludedInventorySizes": [ # A list of inventory sizes to be excluded.
-              { # Represents size of a single ad slot, or a creative.
-                "width": "A String", # The width of the ad slot in pixels.
-                    # This field will be present only when size type is `PIXEL`.
-                "sizeType": "A String", # The size type of the ad slot.
-                "height": "A String", # The height of the ad slot in pixels.
-                    # This field will be present only when size type is `PIXEL`.
-              },
-            ],
-          },
         },
-        "createTime": "A String", # Output only. The time of the deal creation.
-        "webPropertyCode": "A String", # The web property code for the seller copied over from the product.
-        "proposalId": "A String", # Output only. ID of the proposal that this deal is part of.
-        "deliveryControl": { # Message contains details about how the deals will be paced. # The set of fields around delivery control that are interesting for a buyer
+        &quot;creativePreApprovalPolicy&quot;: &quot;A String&quot;, # Output only. Specifies the creative pre-approval policy.
+        &quot;deliveryControl&quot;: { # Message contains details about how the deals will be paced. # The set of fields around delivery control that are interesting for a buyer
             # to see but are non-negotiable. These are set by the publisher.
-          "frequencyCaps": [ # Output only. Specifies any frequency caps.
+          &quot;deliveryRateType&quot;: &quot;A String&quot;, # Output only. Specifies how the impression delivery will be paced.
+          &quot;frequencyCaps&quot;: [ # Output only. Specifies any frequency caps.
             { # Frequency cap.
-              "numTimeUnits": 42, # The amount of time, in the units specified by time_unit_type. Defines the
+              &quot;numTimeUnits&quot;: 42, # The amount of time, in the units specified by time_unit_type. Defines the
                   # amount of time over which impressions per user are counted and capped.
-              "timeUnitType": "A String", # The time unit. Along with num_time_units defines the amount of time over
-                  # which impressions per user are counted and capped.
-              "maxImpressions": 42, # The maximum number of impressions that can be served to a user within the
+              &quot;maxImpressions&quot;: 42, # The maximum number of impressions that can be served to a user within the
                   # specified time period.
+              &quot;timeUnitType&quot;: &quot;A String&quot;, # The time unit. Along with num_time_units defines the amount of time over
+                  # which impressions per user are counted and capped.
             },
           ],
-          "creativeBlockingLevel": "A String", # Output only. Specified the creative blocking levels to be applied.
-          "deliveryRateType": "A String", # Output only. Specifies how the impression delivery will be paced.
+          &quot;creativeBlockingLevel&quot;: &quot;A String&quot;, # Output only. Specified the creative blocking levels to be applied.
         },
-        "description": "A String", # Description for the deal terms.
-        "dealId": "A String", # Output only. A unique deal ID for the deal (server-assigned).
-        "creativeSafeFrameCompatibility": "A String", # Output only. Specifies whether the creative is safeFrame compatible.
-        "creativePreApprovalPolicy": "A String", # Output only. Specifies the creative pre-approval policy.
-        "creativeRestrictions": { # Represents creative restrictions associated to Programmatic Guaranteed/ # Output only. Restricitions about the creatives associated with the deal
+        &quot;externalDealId&quot;: &quot;A String&quot;, # Output only. The external deal ID assigned to this deal once the deal is
+            # finalized. This is the deal ID that shows up in serving/reporting etc.
+        &quot;creativeRestrictions&quot;: { # Represents creative restrictions associated to Programmatic Guaranteed/ # Output only. Restricitions about the creatives associated with the deal
             # (i.e., size) This is available for Programmatic Guaranteed/Preferred Deals
             # in Ad Manager.
             # Preferred Deal in Ad Manager.
-            # This doesn't apply to Private Auction and AdX Preferred Deals.
-          "creativeFormat": "A String", # The format of the environment that the creatives will be displayed in.
-          "creativeSpecifications": [
+            # This doesn&#x27;t apply to Private Auction and AdX Preferred Deals.
+          &quot;creativeFormat&quot;: &quot;A String&quot;, # The format of the environment that the creatives will be displayed in.
+          &quot;creativeSpecifications&quot;: [
             { # Represents information for a creative that is associated with a Programmatic
                 # Guaranteed/Preferred Deal in Ad Manager.
-              "creativeSize": { # Represents size of a single ad slot, or a creative. # The size of the creative.
-                "width": "A String", # The width of the ad slot in pixels.
+              &quot;creativeSize&quot;: { # Represents size of a single ad slot, or a creative. # The size of the creative.
+                &quot;width&quot;: &quot;A String&quot;, # The width of the ad slot in pixels.
                     # This field will be present only when size type is `PIXEL`.
-                "sizeType": "A String", # The size type of the ad slot.
-                "height": "A String", # The height of the ad slot in pixels.
+                &quot;sizeType&quot;: &quot;A String&quot;, # The size type of the ad slot.
+                &quot;height&quot;: &quot;A String&quot;, # The height of the ad slot in pixels.
                     # This field will be present only when size type is `PIXEL`.
               },
-              "creativeCompanionSizes": [ # Companion sizes may be filled in only when this is a video creative.
+              &quot;creativeCompanionSizes&quot;: [ # Companion sizes may be filled in only when this is a video creative.
                 { # Represents size of a single ad slot, or a creative.
-                  "width": "A String", # The width of the ad slot in pixels.
+                  &quot;width&quot;: &quot;A String&quot;, # The width of the ad slot in pixels.
                       # This field will be present only when size type is `PIXEL`.
-                  "sizeType": "A String", # The size type of the ad slot.
-                  "height": "A String", # The height of the ad slot in pixels.
+                  &quot;sizeType&quot;: &quot;A String&quot;, # The size type of the ad slot.
+                  &quot;height&quot;: &quot;A String&quot;, # The height of the ad slot in pixels.
                       # This field will be present only when size type is `PIXEL`.
                 },
               ],
             },
           ],
-          "skippableAdType": "A String", # Skippable video ads allow viewers to skip ads after 5 seconds.
+          &quot;skippableAdType&quot;: &quot;A String&quot;, # Skippable video ads allow viewers to skip ads after 5 seconds.
         },
-        "createProductId": "A String", # The product ID from which this deal was created.
-            #
-            # Note: This field may be set only when creating the resource. Modifying
-            # this field while updating the resource will result in an error.
-        "dealTerms": { # The deal terms specify the details of a Product/deal. They specify things # The negotiable terms of the deal.
-            # like price per buyer, the type of pricing model (e.g., fixed price, auction)
-            # and expected impressions from the publisher.
-          "brandingType": "A String", # Visibility of the URL in bid requests. (default: BRANDED)
-          "estimatedGrossSpend": { # Represents a price and a pricing type for a product / deal. # Non-binding estimate of the estimated gross spend for this deal.
-              # Can be set by buyer or seller.
-            "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
-            "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
-              "nanos": 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.
-              "units": "A String", # The whole units of the amount.
-                  # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-              "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-            },
-          },
-          "sellerTimeZone": "A String", # The time zone name. For deals with Cost Per Day billing, defines the
-              # time zone used to mark the boundaries of a day. It should be an
-              # IANA TZ name, such as "America/Los_Angeles". For more information,
-              # see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones.
-          "estimatedImpressionsPerDay": "A String", # Non-binding estimate of the impressions served per day.
-              # Can be set by buyer or seller.
-          "nonGuaranteedFixedPriceTerms": { # Terms for Preferred Deals. Note that Preferred Deals cannot be created via # The terms for non-guaranteed fixed price deals.
-              # the API at this time, but can be returned in a get or list request.
-            "fixedPrices": [ # Fixed price for the specified buyer.
-              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
-                  # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
-                  # a particular buyer or buyer/advertiser pair, we look for the most specific
-                  # matching rule - we first look for a rule matching the buyer and advertiser,
-                  # next a rule with the buyer but an empty advertiser list, and otherwise look
-                  # for a matching rule where no buyer is set.
-                "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
-                    # (if the
-                    # advertisers match, and there's no more specific rule matching the buyer).
-                    # Authorized Buyers account ID.
-                  "accountId": "A String", # Authorized Buyers account ID of the buyer.
-                },
-                "advertiserIds": [ # The list of advertisers for this price when associated with this buyer.
-                    # If empty, all advertisers with this buyer pay this price.
-                  "A String",
-                ],
-                "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
-                  "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
-                  "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
-                    "nanos": 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.
-                    "units": "A String", # The whole units of the amount.
-                        # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-                    "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-                  },
-                },
-              },
-            ],
-          },
-          "guaranteedFixedPriceTerms": { # Terms for Programmatic Guaranteed Deals. # The terms for guaranteed fixed price deals.
-            "guaranteedImpressions": "A String", # Guaranteed impressions as a percentage. This is the percentage
-                # of guaranteed looks that the buyer is guaranteeing to buy.
-            "fixedPrices": [ # Fixed price for the specified buyer.
-              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
-                  # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
-                  # a particular buyer or buyer/advertiser pair, we look for the most specific
-                  # matching rule - we first look for a rule matching the buyer and advertiser,
-                  # next a rule with the buyer but an empty advertiser list, and otherwise look
-                  # for a matching rule where no buyer is set.
-                "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
-                    # (if the
-                    # advertisers match, and there's no more specific rule matching the buyer).
-                    # Authorized Buyers account ID.
-                  "accountId": "A String", # Authorized Buyers account ID of the buyer.
-                },
-                "advertiserIds": [ # The list of advertisers for this price when associated with this buyer.
-                    # If empty, all advertisers with this buyer pay this price.
-                  "A String",
-                ],
-                "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
-                  "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
-                  "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
-                    "nanos": 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.
-                    "units": "A String", # The whole units of the amount.
-                        # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-                    "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-                  },
-                },
-              },
-            ],
-            "minimumDailyLooks": "A String", # Daily minimum looks for CPD deal types.
-            "guaranteedLooks": "A String", # Count of guaranteed looks. Required for deal, optional for product.
-          },
-          "nonGuaranteedAuctionTerms": { # Terms for Private Auctions. Note that Private Auctions can be created only # The terms for non-guaranteed auction deals.
-              # by the seller, but they can be returned in a get or list request.
-            "reservePricesPerBuyer": [ # Reserve price for the specified buyer.
-              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
-                  # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
-                  # a particular buyer or buyer/advertiser pair, we look for the most specific
-                  # matching rule - we first look for a rule matching the buyer and advertiser,
-                  # next a rule with the buyer but an empty advertiser list, and otherwise look
-                  # for a matching rule where no buyer is set.
-                "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
-                    # (if the
-                    # advertisers match, and there's no more specific rule matching the buyer).
-                    # Authorized Buyers account ID.
-                  "accountId": "A String", # Authorized Buyers account ID of the buyer.
-                },
-                "advertiserIds": [ # The list of advertisers for this price when associated with this buyer.
-                    # If empty, all advertisers with this buyer pay this price.
-                  "A String",
-                ],
-                "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
-                  "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
-                  "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
-                    "nanos": 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.
-                    "units": "A String", # The whole units of the amount.
-                        # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-                    "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-                  },
-                },
-              },
-            ],
-            "autoOptimizePrivateAuction": True or False, # True if open auction buyers are allowed to compete with invited buyers
-                # in this private auction.
-          },
-          "description": "A String", # Publisher provided description for the terms.
-        },
-        "sellerContacts": [ # Output only. Seller contact information for the deal.
-          { # Contains information on how a buyer or seller can be reached.
-            "email": "A String", # Email address for the contact.
-            "name": "A String", # The name of the contact.
-          },
-        ],
-        "displayName": "A String", # The name of the deal.
-        "buyerPrivateData": { # Buyers are allowed to store certain types of private data in a proposal/deal. # Buyer private data (hidden from seller).
-          "referenceId": "A String", # A buyer or seller specified reference ID. This can be queried in the list
-              # operations (max-length: 1024 unicode code units).
-        },
-        "syndicationProduct": "A String", # The syndication product associated with the deal.
-            #
-            # Note: This field may be set only when creating the resource. Modifying
-            # this field while updating the resource will result in an error.
-        "targetingCriterion": [ # The shared targeting visible to buyers and sellers. Each shared
-            # targeting entity is AND'd together.
-          { # Advertisers can target different attributes of an ad slot. For example,
-              # they can choose to show ads only if the user is in the U.S. Such
-              # targeting criteria can be specified as part of Shared Targeting.
-            "inclusions": [ # The list of value to include as part of the targeting. Each value is OR'd
-                # together.
-              { # A polymorphic targeting value used as part of Shared Targeting.
-                "stringValue": "A String", # The string value to include/exclude.
-                "longValue": "A String", # The long value to include/exclude.
-                "dayPartTargetingValue": { # Specifies the day part targeting criteria. # The daypart targeting to include / exclude.
-                    # Filled in when the key is GOOG_DAYPART_TARGETING.
-                    # The definition of this targeting is derived from the structure
-                    # used by Ad Manager.
-                  "dayParts": [ # A list of day part targeting criterion.
-                    { # Daypart targeting message that specifies if the ad can be shown
-                        # only during certain parts of a day/week.
-                      "dayOfWeek": "A String", # The day of the week to target. If unspecified, applicable to all days.
-                      "endTime": { # Represents a time of day. The date and time zone are either not significant # The ending time of the day for the ad to show (minute level
-                          # granularity). The end time is exclusive. This field is not available
-                          # for filtering in PQL queries.
-                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
-                          # types are google.type.Date and `google.protobuf.Timestamp`.
-                        "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
-                            # to allow the value "24:00:00" for scenarios like business closing time.
-                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                        "seconds": 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.
-                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                      },
-                      "startTime": { # Represents a time of day. The date and time zone are either not significant # The starting time of day for the ad to show (minute level granularity).
-                          # The start time is inclusive.
-                          # This field is not available for filtering in PQL queries.
-                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
-                          # types are google.type.Date and `google.protobuf.Timestamp`.
-                        "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
-                            # to allow the value "24:00:00" for scenarios like business closing time.
-                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                        "seconds": 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.
-                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                      },
-                    },
-                  ],
-                  "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
-                },
-                "creativeSizeValue": { # Specifies the size of the creative. # The creative size value to include/exclude.
-                    # Filled in when key = GOOG_CREATIVE_SIZE
-                  "companionSizes": [ # For video creatives specifies the sizes of companion ads (if present).
-                      # Companion sizes may be filled in only when creative_size_type = VIDEO
-                    { # Message depicting the size of the creative. The units of width and
-                        # height depend on the type of the targeting.
-                      "width": 42, # The width of the creative
-                      "height": 42, # The height of the creative.
-                    },
-                  ],
-                  "nativeTemplate": "A String", # Output only. The native template for this creative. It will have a value
-                      # only if creative_size_type = CreativeSizeType.NATIVE.
-                  "allowedFormats": [ # What formats are allowed by the publisher.
-                      # If this repeated field is empty then all formats are allowed.
-                      # For example, if this field contains AllowedFormatType.AUDIO then the
-                      # publisher only allows an audio ad (without any video).
-                    "A String",
-                  ],
-                  "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if
-                      # creative_size_type = CreativeSizeType.VIDEO.
-                  "creativeSizeType": "A String", # The creative size type.
-                  "size": { # Message depicting the size of the creative. The units of width and # For regular or video creative size type, specifies the size
-                      # of the creative
-                      # height depend on the type of the targeting.
-                    "width": 42, # The width of the creative
-                    "height": 42, # The height of the creative.
-                  },
-                },
-              },
-            ],
-            "exclusions": [ # The list of values to exclude from targeting. Each value is AND'd
-                # together.
-              { # A polymorphic targeting value used as part of Shared Targeting.
-                "stringValue": "A String", # The string value to include/exclude.
-                "longValue": "A String", # The long value to include/exclude.
-                "dayPartTargetingValue": { # Specifies the day part targeting criteria. # The daypart targeting to include / exclude.
-                    # Filled in when the key is GOOG_DAYPART_TARGETING.
-                    # The definition of this targeting is derived from the structure
-                    # used by Ad Manager.
-                  "dayParts": [ # A list of day part targeting criterion.
-                    { # Daypart targeting message that specifies if the ad can be shown
-                        # only during certain parts of a day/week.
-                      "dayOfWeek": "A String", # The day of the week to target. If unspecified, applicable to all days.
-                      "endTime": { # Represents a time of day. The date and time zone are either not significant # The ending time of the day for the ad to show (minute level
-                          # granularity). The end time is exclusive. This field is not available
-                          # for filtering in PQL queries.
-                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
-                          # types are google.type.Date and `google.protobuf.Timestamp`.
-                        "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
-                            # to allow the value "24:00:00" for scenarios like business closing time.
-                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                        "seconds": 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.
-                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                      },
-                      "startTime": { # Represents a time of day. The date and time zone are either not significant # The starting time of day for the ad to show (minute level granularity).
-                          # The start time is inclusive.
-                          # This field is not available for filtering in PQL queries.
-                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
-                          # types are google.type.Date and `google.protobuf.Timestamp`.
-                        "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
-                            # to allow the value "24:00:00" for scenarios like business closing time.
-                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                        "seconds": 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.
-                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                      },
-                    },
-                  ],
-                  "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
-                },
-                "creativeSizeValue": { # Specifies the size of the creative. # The creative size value to include/exclude.
-                    # Filled in when key = GOOG_CREATIVE_SIZE
-                  "companionSizes": [ # For video creatives specifies the sizes of companion ads (if present).
-                      # Companion sizes may be filled in only when creative_size_type = VIDEO
-                    { # Message depicting the size of the creative. The units of width and
-                        # height depend on the type of the targeting.
-                      "width": 42, # The width of the creative
-                      "height": 42, # The height of the creative.
-                    },
-                  ],
-                  "nativeTemplate": "A String", # Output only. The native template for this creative. It will have a value
-                      # only if creative_size_type = CreativeSizeType.NATIVE.
-                  "allowedFormats": [ # What formats are allowed by the publisher.
-                      # If this repeated field is empty then all formats are allowed.
-                      # For example, if this field contains AllowedFormatType.AUDIO then the
-                      # publisher only allows an audio ad (without any video).
-                    "A String",
-                  ],
-                  "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if
-                      # creative_size_type = CreativeSizeType.VIDEO.
-                  "creativeSizeType": "A String", # The creative size type.
-                  "size": { # Message depicting the size of the creative. The units of width and # For regular or video creative size type, specifies the size
-                      # of the creative
-                      # height depend on the type of the targeting.
-                    "width": 42, # The width of the creative
-                    "height": 42, # The height of the creative.
-                  },
-                },
-              },
-            ],
-            "key": "A String", # The key representing the shared targeting criterion.
-                # Targeting criteria defined by Google ad servers will begin with GOOG_.
-                # Third parties may define their own keys.
-                # A list of permissible keys along with the acceptable values will be
-                # provided as part of the external documentation.
-          },
-        ],
-        "dealServingMetadata": { # Message captures metadata about the serving status of a deal. # Output only. Metadata about the serving status of this deal.
-          "dealPauseStatus": { # Tracks which parties (if any) have paused a deal. # Output only. Tracks which parties (if any) have paused a deal.
+        &quot;dealServingMetadata&quot;: { # Message captures metadata about the serving status of a deal. # Output only. Metadata about the serving status of this deal.
+          &quot;dealPauseStatus&quot;: { # Tracks which parties (if any) have paused a deal. # Output only. Tracks which parties (if any) have paused a deal.
               # The deal is considered paused if either hasBuyerPaused or
               # hasSellPaused is true.
-            "hasSellerPaused": True or False, # True, if the seller has paused the deal unilaterally.
-            "buyerPauseReason": "A String", # The buyer's reason for pausing, if the buyer paused the deal.
-            "sellerPauseReason": "A String", # The seller's reason for pausing, if the seller paused the deal.
-            "hasBuyerPaused": True or False, # True, if the buyer has paused the deal unilaterally.
-            "firstPausedBy": "A String", # The role of the person who first paused this deal.
+            &quot;firstPausedBy&quot;: &quot;A String&quot;, # The role of the person who first paused this deal.
+            &quot;sellerPauseReason&quot;: &quot;A String&quot;, # The seller&#x27;s reason for pausing, if the seller paused the deal.
+            &quot;hasSellerPaused&quot;: True or False, # True, if the seller has paused the deal unilaterally.
+            &quot;buyerPauseReason&quot;: &quot;A String&quot;, # The buyer&#x27;s reason for pausing, if the buyer paused the deal.
+            &quot;hasBuyerPaused&quot;: True or False, # True, if the buyer has paused the deal unilaterally.
           },
         },
-        "isSetupComplete": True or False, # Output only. True, if the buyside inventory setup is complete for this
-            # deal.
+        &quot;description&quot;: &quot;A String&quot;, # Description for the deal terms.
       },
     ],
-    "updateTime": "A String", # Output only. The time when the proposal was last revised.
-    "proposalState": "A String", # Output only. The current state of the proposal.
-    "proposalRevision": "A String", # Output only. The revision number for the proposal.
+    &quot;proposalRevision&quot;: &quot;A String&quot;, # Output only. The revision number for the proposal.
         # Each update to the proposal or the deal causes the proposal revision number
         # to auto-increment. The buyer keeps track of the last revision number they
         # know of and pass it in when making an update. If the head revision number
         # on the server has since incremented, then an ABORTED error is returned
         # during the update operation to let the buyer know that a subsequent update
         # was made.
-    "buyerPrivateData": { # Buyers are allowed to store certain types of private data in a proposal/deal. # Private data for buyer. (hidden from seller).
-      "referenceId": "A String", # A buyer or seller specified reference ID. This can be queried in the list
-          # operations (max-length: 1024 unicode code units).
-    },
-    "privateAuctionId": "A String", # Output only. Private auction ID if this proposal is a private auction
-        # proposal.
-    "notes": [ # Output only. The notes associated with this proposal.
-      { # A proposal may be associated to several notes.
-        "note": "A String", # The actual note to attach.
-            # (max-length: 1024 unicode code units)
-            #
-            # Note: This field may be set only when creating the resource. Modifying
-            # this field while updating the resource will result in an error.
-        "creatorRole": "A String", # Output only. The role of the person (buyer/seller) creating the note.
-        "proposalRevision": "A String", # Output only. The revision number of the proposal when the note is created.
-        "createTime": "A String", # Output only. The timestamp for when this note was created.
-        "noteId": "A String", # Output only. The unique ID for the note.
-      },
-    ],
-    "originatorRole": "A String", # Output only. Indicates whether the buyer/seller created the proposal.
-    "billedBuyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # Output only. Reference to the buyer that will get billed for this proposal.
-        # Authorized Buyers account ID.
-      "accountId": "A String", # Authorized Buyers account ID of the buyer.
-    },
-    "seller": { # Represents a seller of inventory. Each seller is identified by a unique # Reference to the seller on the proposal.
+    &quot;seller&quot;: { # Represents a seller of inventory. Each seller is identified by a unique # Reference to the seller on the proposal.
         #
         # Note: This field may be set only when creating the resource. Modifying
         # this field while updating the resource will result in an error.
         # Ad Manager account ID.
-      "subAccountId": "A String", # Optional sub-account ID for the seller.
-      "accountId": "A String", # The unique ID for the seller. The seller fills in this field.
+      &quot;subAccountId&quot;: &quot;A String&quot;, # Optional sub-account ID for the seller.
+      &quot;accountId&quot;: &quot;A String&quot;, # The unique ID for the seller. The seller fills in this field.
           # The seller account ID is then available to buyer in the product.
     },
-    "sellerContacts": [ # Output only. Contact information for the seller.
-      { # Contains information on how a buyer or seller can be reached.
-        "email": "A String", # Email address for the contact.
-        "name": "A String", # The name of the contact.
-      },
-    ],
-    "proposalId": "A String", # Output only. The unique ID of the proposal.
-    "isRenegotiating": True or False, # Output only. True if the proposal is being renegotiated.
-    "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # Reference to the buyer on the proposal.
-        #
-        # Note: This field may be set only when creating the resource. Modifying
-        # this field while updating the resource will result in an error.
-        # Authorized Buyers account ID.
-      "accountId": "A String", # Authorized Buyers account ID of the buyer.
-    },
-    "isSetupComplete": True or False, # Output only. True, if the buyside inventory setup is complete for this
-        # proposal.
-    "displayName": "A String", # The name for the proposal.
-    "lastUpdaterOrCommentorRole": "A String", # Output only. The role of the last user that either updated the proposal or
-        # left a comment.
-    "buyerContacts": [ # Contact information for the buyer.
-      { # Contains information on how a buyer or seller can be reached.
-        "email": "A String", # Email address for the contact.
-        "name": "A String", # The name of the contact.
-      },
-    ],
   }</pre>
 </div>
 
@@ -5264,55 +5264,508 @@
       # Auction or Preferred Deals deals through the API.
       #
       # Fields are updatable unless noted otherwise.
-    "deals": [ # The deals associated with this proposal. For Private Auction proposals
+    &quot;buyer&quot;: { # Represents a buyer of inventory. Each buyer is identified by a unique # Reference to the buyer on the proposal.
+        #
+        # Note: This field may be set only when creating the resource. Modifying
+        # this field while updating the resource will result in an error.
+        # Authorized Buyers account ID.
+      &quot;accountId&quot;: &quot;A String&quot;, # Authorized Buyers account ID of the buyer.
+    },
+    &quot;isRenegotiating&quot;: True or False, # Output only. True if the proposal is being renegotiated.
+    &quot;notes&quot;: [ # Output only. The notes associated with this proposal.
+      { # A proposal may be associated to several notes.
+        &quot;note&quot;: &quot;A String&quot;, # The actual note to attach.
+            # (max-length: 1024 unicode code units)
+            #
+            # Note: This field may be set only when creating the resource. Modifying
+            # this field while updating the resource will result in an error.
+        &quot;proposalRevision&quot;: &quot;A String&quot;, # Output only. The revision number of the proposal when the note is created.
+        &quot;noteId&quot;: &quot;A String&quot;, # Output only. The unique ID for the note.
+        &quot;createTime&quot;: &quot;A String&quot;, # Output only. The timestamp for when this note was created.
+        &quot;creatorRole&quot;: &quot;A String&quot;, # Output only. The role of the person (buyer/seller) creating the note.
+      },
+    ],
+    &quot;isSetupComplete&quot;: True or False, # Output only. True, if the buyside inventory setup is complete for this
+        # proposal.
+    &quot;proposalState&quot;: &quot;A String&quot;, # Output only. The current state of the proposal.
+    &quot;sellerContacts&quot;: [ # Output only. Contact information for the seller.
+      { # Contains information on how a buyer or seller can be reached.
+        &quot;email&quot;: &quot;A String&quot;, # Email address for the contact.
+        &quot;name&quot;: &quot;A String&quot;, # The name of the contact.
+      },
+    ],
+    &quot;privateAuctionId&quot;: &quot;A String&quot;, # Output only. Private auction ID if this proposal is a private auction
+        # proposal.
+    &quot;originatorRole&quot;: &quot;A String&quot;, # Output only. Indicates whether the buyer/seller created the proposal.
+    &quot;lastUpdaterOrCommentorRole&quot;: &quot;A String&quot;, # Output only. The role of the last user that either updated the proposal or
+        # left a comment.
+    &quot;buyerPrivateData&quot;: { # Buyers are allowed to store certain types of private data in a proposal/deal. # Private data for buyer. (hidden from seller).
+      &quot;referenceId&quot;: &quot;A String&quot;, # A buyer or seller specified reference ID. This can be queried in the list
+          # operations (max-length: 1024 unicode code units).
+    },
+    &quot;displayName&quot;: &quot;A String&quot;, # The name for the proposal.
+    &quot;buyerContacts&quot;: [ # Contact information for the buyer.
+      { # Contains information on how a buyer or seller can be reached.
+        &quot;email&quot;: &quot;A String&quot;, # Email address for the contact.
+        &quot;name&quot;: &quot;A String&quot;, # The name of the contact.
+      },
+    ],
+    &quot;billedBuyer&quot;: { # Represents a buyer of inventory. Each buyer is identified by a unique # Output only. Reference to the buyer that will get billed for this proposal.
+        # Authorized Buyers account ID.
+      &quot;accountId&quot;: &quot;A String&quot;, # Authorized Buyers account ID of the buyer.
+    },
+    &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time when the proposal was last revised.
+    &quot;proposalId&quot;: &quot;A String&quot;, # Output only. The unique ID of the proposal.
+    &quot;deals&quot;: [ # The deals associated with this proposal. For Private Auction proposals
         # (whose deals have NonGuaranteedAuctionTerms), there will only be one deal.
       { # A deal represents a segment of inventory for displaying ads on.
           # A proposal can contain multiple deals. A deal contains the terms and
           # targeting information that is used for serving.
-        "updateTime": "A String", # Output only. The time when the deal was last updated.
-        "createProductRevision": "A String", # Optional revision number of the product that the deal was created from.
+        &quot;programmaticCreativeSource&quot;: &quot;A String&quot;, # Output only. Specifies the creative source for programmatic deals.
+            # PUBLISHER means creative is provided by seller and ADVERTISER means
+            # creative is provided by buyer.
+        &quot;buyerPrivateData&quot;: { # Buyers are allowed to store certain types of private data in a proposal/deal. # Buyer private data (hidden from seller).
+          &quot;referenceId&quot;: &quot;A String&quot;, # A buyer or seller specified reference ID. This can be queried in the list
+              # operations (max-length: 1024 unicode code units).
+        },
+        &quot;displayName&quot;: &quot;A String&quot;, # The name of the deal.
+        &quot;webPropertyCode&quot;: &quot;A String&quot;, # The web property code for the seller copied over from the product.
+        &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time when the deal was last updated.
+        &quot;targetingCriterion&quot;: [ # The shared targeting visible to buyers and sellers. Each shared
+            # targeting entity is AND&#x27;d together.
+          { # Advertisers can target different attributes of an ad slot. For example,
+              # they can choose to show ads only if the user is in the U.S. Such
+              # targeting criteria can be specified as part of Shared Targeting.
+            &quot;exclusions&quot;: [ # The list of values to exclude from targeting. Each value is AND&#x27;d
+                # together.
+              { # A polymorphic targeting value used as part of Shared Targeting.
+                &quot;creativeSizeValue&quot;: { # Specifies the size of the creative. # The creative size value to include/exclude.
+                    # Filled in when key = GOOG_CREATIVE_SIZE
+                  &quot;size&quot;: { # Message depicting the size of the creative. The units of width and # For regular or video creative size type, specifies the size
+                      # of the creative
+                      # height depend on the type of the targeting.
+                    &quot;height&quot;: 42, # The height of the creative.
+                    &quot;width&quot;: 42, # The width of the creative
+                  },
+                  &quot;allowedFormats&quot;: [ # What formats are allowed by the publisher.
+                      # If this repeated field is empty then all formats are allowed.
+                      # For example, if this field contains AllowedFormatType.AUDIO then the
+                      # publisher only allows an audio ad (without any video).
+                    &quot;A String&quot;,
+                  ],
+                  &quot;companionSizes&quot;: [ # For video creatives specifies the sizes of companion ads (if present).
+                      # Companion sizes may be filled in only when creative_size_type = VIDEO
+                    { # Message depicting the size of the creative. The units of width and
+                        # height depend on the type of the targeting.
+                      &quot;height&quot;: 42, # The height of the creative.
+                      &quot;width&quot;: 42, # The width of the creative
+                    },
+                  ],
+                  &quot;skippableAdType&quot;: &quot;A String&quot;, # The type of skippable ad for this creative. It will have a value only if
+                      # creative_size_type = CreativeSizeType.VIDEO.
+                  &quot;creativeSizeType&quot;: &quot;A String&quot;, # The creative size type.
+                  &quot;nativeTemplate&quot;: &quot;A String&quot;, # Output only. The native template for this creative. It will have a value
+                      # only if creative_size_type = CreativeSizeType.NATIVE.
+                },
+                &quot;stringValue&quot;: &quot;A String&quot;, # The string value to include/exclude.
+                &quot;longValue&quot;: &quot;A String&quot;, # The long value to include/exclude.
+                &quot;dayPartTargetingValue&quot;: { # Specifies the day part targeting criteria. # The daypart targeting to include / exclude.
+                    # Filled in when the key is GOOG_DAYPART_TARGETING.
+                    # The definition of this targeting is derived from the structure
+                    # used by Ad Manager.
+                  &quot;timeZoneType&quot;: &quot;A String&quot;, # The timezone to use for interpreting the day part targeting.
+                  &quot;dayParts&quot;: [ # A list of day part targeting criterion.
+                    { # Daypart targeting message that specifies if the ad can be shown
+                        # only during certain parts of a day/week.
+                      &quot;startTime&quot;: { # Represents a time of day. The date and time zone are either not significant # The starting time of day for the ad to show (minute level granularity).
+                          # The start time is inclusive.
+                          # This field is not available for filtering in PQL queries.
+                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                          # types are google.type.Date and `google.protobuf.Timestamp`.
+                        &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;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;dayOfWeek&quot;: &quot;A String&quot;, # The day of the week to target. If unspecified, applicable to all days.
+                      &quot;endTime&quot;: { # Represents a time of day. The date and time zone are either not significant # The ending time of the day for the ad to show (minute level
+                          # granularity). The end time is exclusive. This field is not available
+                          # for filtering in PQL queries.
+                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                          # types are google.type.Date and `google.protobuf.Timestamp`.
+                        &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;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;key&quot;: &quot;A String&quot;, # The key representing the shared targeting criterion.
+                # Targeting criteria defined by Google ad servers will begin with GOOG_.
+                # Third parties may define their own keys.
+                # A list of permissible keys along with the acceptable values will be
+                # provided as part of the external documentation.
+            &quot;inclusions&quot;: [ # The list of value to include as part of the targeting. Each value is OR&#x27;d
+                # together.
+              { # A polymorphic targeting value used as part of Shared Targeting.
+                &quot;creativeSizeValue&quot;: { # Specifies the size of the creative. # The creative size value to include/exclude.
+                    # Filled in when key = GOOG_CREATIVE_SIZE
+                  &quot;size&quot;: { # Message depicting the size of the creative. The units of width and # For regular or video creative size type, specifies the size
+                      # of the creative
+                      # height depend on the type of the targeting.
+                    &quot;height&quot;: 42, # The height of the creative.
+                    &quot;width&quot;: 42, # The width of the creative
+                  },
+                  &quot;allowedFormats&quot;: [ # What formats are allowed by the publisher.
+                      # If this repeated field is empty then all formats are allowed.
+                      # For example, if this field contains AllowedFormatType.AUDIO then the
+                      # publisher only allows an audio ad (without any video).
+                    &quot;A String&quot;,
+                  ],
+                  &quot;companionSizes&quot;: [ # For video creatives specifies the sizes of companion ads (if present).
+                      # Companion sizes may be filled in only when creative_size_type = VIDEO
+                    { # Message depicting the size of the creative. The units of width and
+                        # height depend on the type of the targeting.
+                      &quot;height&quot;: 42, # The height of the creative.
+                      &quot;width&quot;: 42, # The width of the creative
+                    },
+                  ],
+                  &quot;skippableAdType&quot;: &quot;A String&quot;, # The type of skippable ad for this creative. It will have a value only if
+                      # creative_size_type = CreativeSizeType.VIDEO.
+                  &quot;creativeSizeType&quot;: &quot;A String&quot;, # The creative size type.
+                  &quot;nativeTemplate&quot;: &quot;A String&quot;, # Output only. The native template for this creative. It will have a value
+                      # only if creative_size_type = CreativeSizeType.NATIVE.
+                },
+                &quot;stringValue&quot;: &quot;A String&quot;, # The string value to include/exclude.
+                &quot;longValue&quot;: &quot;A String&quot;, # The long value to include/exclude.
+                &quot;dayPartTargetingValue&quot;: { # Specifies the day part targeting criteria. # The daypart targeting to include / exclude.
+                    # Filled in when the key is GOOG_DAYPART_TARGETING.
+                    # The definition of this targeting is derived from the structure
+                    # used by Ad Manager.
+                  &quot;timeZoneType&quot;: &quot;A String&quot;, # The timezone to use for interpreting the day part targeting.
+                  &quot;dayParts&quot;: [ # A list of day part targeting criterion.
+                    { # Daypart targeting message that specifies if the ad can be shown
+                        # only during certain parts of a day/week.
+                      &quot;startTime&quot;: { # Represents a time of day. The date and time zone are either not significant # The starting time of day for the ad to show (minute level granularity).
+                          # The start time is inclusive.
+                          # This field is not available for filtering in PQL queries.
+                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                          # types are google.type.Date and `google.protobuf.Timestamp`.
+                        &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;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;dayOfWeek&quot;: &quot;A String&quot;, # The day of the week to target. If unspecified, applicable to all days.
+                      &quot;endTime&quot;: { # Represents a time of day. The date and time zone are either not significant # The ending time of the day for the ad to show (minute level
+                          # granularity). The end time is exclusive. This field is not available
+                          # for filtering in PQL queries.
+                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                          # types are google.type.Date and `google.protobuf.Timestamp`.
+                        &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;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;dealId&quot;: &quot;A String&quot;, # Output only. A unique deal ID for the deal (server-assigned).
+        &quot;proposalId&quot;: &quot;A String&quot;, # Output only. ID of the proposal that this deal is part of.
+        &quot;availableEndTime&quot;: &quot;A String&quot;, # Proposed flight end time of the deal.
+            # This will generally be stored in a granularity of a second.
+            # A value is not required for Private Auction deals or Preferred Deals.
+        &quot;syndicationProduct&quot;: &quot;A String&quot;, # The syndication product associated with the deal.
+            #
+            # Note: This field may be set only when creating the resource. Modifying
+            # this field while updating the resource will result in an error.
+        &quot;createProductId&quot;: &quot;A String&quot;, # The product ID from which this deal was created.
+            #
+            # Note: This field may be set only when creating the resource. Modifying
+            # this field while updating the resource will result in an error.
+        &quot;creativeSafeFrameCompatibility&quot;: &quot;A String&quot;, # Output only. Specifies whether the creative is safeFrame compatible.
+        &quot;isSetupComplete&quot;: True or False, # Output only. True, if the buyside inventory setup is complete for this
+            # deal.
+        &quot;createProductRevision&quot;: &quot;A String&quot;, # Optional revision number of the product that the deal was created from.
             # If present on create, and the server `product_revision` has advanced sinced
             # the passed-in `create_product_revision`, an `ABORTED` error will be
             # returned.
             #
             # Note: This field may be set only when creating the resource. Modifying
             # this field while updating the resource will result in an error.
-        "programmaticCreativeSource": "A String", # Output only. Specifies the creative source for programmatic deals.
-            # PUBLISHER means creative is provided by seller and ADVERTISER means
-            # creative is provided by buyer.
-        "availableStartTime": "A String", # Optional proposed flight start time of the deal.
+        &quot;sellerContacts&quot;: [ # Output only. Seller contact information for the deal.
+          { # Contains information on how a buyer or seller can be reached.
+            &quot;email&quot;: &quot;A String&quot;, # Email address for the contact.
+            &quot;name&quot;: &quot;A String&quot;, # The name of the contact.
+          },
+        ],
+        &quot;availableStartTime&quot;: &quot;A String&quot;, # Optional proposed flight start time of the deal.
             # This will generally be stored in the granularity of one second since deal
             # serving starts at seconds boundary. Any time specified with more
             # granularity (e.g., in milliseconds) will be truncated towards the start of
             # time in seconds.
-        "availableEndTime": "A String", # Proposed flight end time of the deal.
-            # This will generally be stored in a granularity of a second.
-            # A value is not required for Private Auction deals or Preferred Deals.
-        "externalDealId": "A String", # Output only. The external deal ID assigned to this deal once the deal is
-            # finalized. This is the deal ID that shows up in serving/reporting etc.
-        "targeting": { # Targeting represents different criteria that can be used by advertisers to # Output only. Specifies the subset of inventory targeted by the deal.
+        &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time of the deal creation.
+        &quot;dealTerms&quot;: { # The deal terms specify the details of a Product/deal. They specify things # The negotiable terms of the deal.
+            # like price per buyer, the type of pricing model (e.g., fixed price, auction)
+            # and expected impressions from the publisher.
+          &quot;description&quot;: &quot;A String&quot;, # Publisher provided description for the terms.
+          &quot;nonGuaranteedFixedPriceTerms&quot;: { # Terms for Preferred Deals. Note that Preferred Deals cannot be created via # The terms for non-guaranteed fixed price deals.
+              # the API at this time, but can be returned in a get or list request.
+            &quot;fixedPrices&quot;: [ # Fixed price for the specified buyer.
+              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
+                  # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
+                  # a particular buyer or buyer/advertiser pair, we look for the most specific
+                  # matching rule - we first look for a rule matching the buyer and advertiser,
+                  # next a rule with the buyer but an empty advertiser list, and otherwise look
+                  # for a matching rule where no buyer is set.
+                &quot;price&quot;: { # Represents a price and a pricing type for a product / deal. # The specified price.
+                  &quot;amount&quot;: { # Represents an amount of money with its currency type. # The actual price with currency specified.
+                    &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+                    &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;pricingType&quot;: &quot;A String&quot;, # The pricing type for the deal/product. (default: CPM)
+                },
+                &quot;advertiserIds&quot;: [ # The list of advertisers for this price when associated with this buyer.
+                    # If empty, all advertisers with this buyer pay this price.
+                  &quot;A String&quot;,
+                ],
+                &quot;buyer&quot;: { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
+                    # (if the
+                    # advertisers match, and there&#x27;s no more specific rule matching the buyer).
+                    # Authorized Buyers account ID.
+                  &quot;accountId&quot;: &quot;A String&quot;, # Authorized Buyers account ID of the buyer.
+                },
+              },
+            ],
+          },
+          &quot;estimatedImpressionsPerDay&quot;: &quot;A String&quot;, # Non-binding estimate of the impressions served per day.
+              # Can be set by buyer or seller.
+          &quot;nonGuaranteedAuctionTerms&quot;: { # Terms for Private Auctions. Note that Private Auctions can be created only # The terms for non-guaranteed auction deals.
+              # by the seller, but they can be returned in a get or list request.
+            &quot;autoOptimizePrivateAuction&quot;: True or False, # True if open auction buyers are allowed to compete with invited buyers
+                # in this private auction.
+            &quot;reservePricesPerBuyer&quot;: [ # Reserve price for the specified buyer.
+              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
+                  # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
+                  # a particular buyer or buyer/advertiser pair, we look for the most specific
+                  # matching rule - we first look for a rule matching the buyer and advertiser,
+                  # next a rule with the buyer but an empty advertiser list, and otherwise look
+                  # for a matching rule where no buyer is set.
+                &quot;price&quot;: { # Represents a price and a pricing type for a product / deal. # The specified price.
+                  &quot;amount&quot;: { # Represents an amount of money with its currency type. # The actual price with currency specified.
+                    &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+                    &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;pricingType&quot;: &quot;A String&quot;, # The pricing type for the deal/product. (default: CPM)
+                },
+                &quot;advertiserIds&quot;: [ # The list of advertisers for this price when associated with this buyer.
+                    # If empty, all advertisers with this buyer pay this price.
+                  &quot;A String&quot;,
+                ],
+                &quot;buyer&quot;: { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
+                    # (if the
+                    # advertisers match, and there&#x27;s no more specific rule matching the buyer).
+                    # Authorized Buyers account ID.
+                  &quot;accountId&quot;: &quot;A String&quot;, # Authorized Buyers account ID of the buyer.
+                },
+              },
+            ],
+          },
+          &quot;estimatedGrossSpend&quot;: { # Represents a price and a pricing type for a product / deal. # Non-binding estimate of the estimated gross spend for this deal.
+              # Can be set by buyer or seller.
+            &quot;amount&quot;: { # Represents an amount of money with its currency type. # The actual price with currency specified.
+              &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+              &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;pricingType&quot;: &quot;A String&quot;, # The pricing type for the deal/product. (default: CPM)
+          },
+          &quot;brandingType&quot;: &quot;A String&quot;, # Visibility of the URL in bid requests. (default: BRANDED)
+          &quot;sellerTimeZone&quot;: &quot;A String&quot;, # The time zone name. For deals with Cost Per Day billing, defines the
+              # time zone used to mark the boundaries of a day. It should be an
+              # IANA TZ name, such as &quot;America/Los_Angeles&quot;. For more information,
+              # see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones.
+          &quot;guaranteedFixedPriceTerms&quot;: { # Terms for Programmatic Guaranteed Deals. # The terms for guaranteed fixed price deals.
+            &quot;guaranteedImpressions&quot;: &quot;A String&quot;, # Guaranteed impressions as a percentage. This is the percentage
+                # of guaranteed looks that the buyer is guaranteeing to buy.
+            &quot;minimumDailyLooks&quot;: &quot;A String&quot;, # Daily minimum looks for CPD deal types.
+            &quot;guaranteedLooks&quot;: &quot;A String&quot;, # Count of guaranteed looks. Required for deal, optional for product.
+            &quot;fixedPrices&quot;: [ # Fixed price for the specified buyer.
+              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
+                  # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
+                  # a particular buyer or buyer/advertiser pair, we look for the most specific
+                  # matching rule - we first look for a rule matching the buyer and advertiser,
+                  # next a rule with the buyer but an empty advertiser list, and otherwise look
+                  # for a matching rule where no buyer is set.
+                &quot;price&quot;: { # Represents a price and a pricing type for a product / deal. # The specified price.
+                  &quot;amount&quot;: { # Represents an amount of money with its currency type. # The actual price with currency specified.
+                    &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+                    &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;pricingType&quot;: &quot;A String&quot;, # The pricing type for the deal/product. (default: CPM)
+                },
+                &quot;advertiserIds&quot;: [ # The list of advertisers for this price when associated with this buyer.
+                    # If empty, all advertisers with this buyer pay this price.
+                  &quot;A String&quot;,
+                ],
+                &quot;buyer&quot;: { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
+                    # (if the
+                    # advertisers match, and there&#x27;s no more specific rule matching the buyer).
+                    # Authorized Buyers account ID.
+                  &quot;accountId&quot;: &quot;A String&quot;, # Authorized Buyers account ID of the buyer.
+                },
+              },
+            ],
+          },
+        },
+        &quot;targeting&quot;: { # Targeting represents different criteria that can be used by advertisers to # Output only. Specifies the subset of inventory targeted by the deal.
             # target ad inventory. For example, they can choose to target ad requests only
             # if the user is in the US.
             # Multiple types of targeting are always applied as a logical AND, unless noted
             # otherwise.
-          "placementTargeting": { # Represents targeting about where the ads can appear, e.g., certain sites or # Placement targeting information, e.g., URL, mobile applications.
-              # mobile applications.
-              # Different placement targeting types will be logically OR'ed.
-            "urlTargeting": { # Represents a list of targeted and excluded URLs (e.g., google.com). # URLs to be included/excluded.
-                # For Private Auction and AdX Preferred Deals, URLs are either included or
-                # excluded.
-                # For Programmatic Guaranteed and Preferred Deals, this doesn't
-                # apply.
-              "excludedUrls": [ # A list of URLs to be excluded.
-                "A String",
+          &quot;geoTargeting&quot;: { # Generic targeting used for targeting dimensions that contains a list of # Geo criteria IDs to be included/excluded.
+              # included and excluded numeric IDs.
+            &quot;targetedCriteriaIds&quot;: [ # A list of numeric IDs to be included.
+              &quot;A String&quot;,
+            ],
+            &quot;excludedCriteriaIds&quot;: [ # A list of numeric IDs to be excluded.
+              &quot;A String&quot;,
+            ],
+          },
+          &quot;inventorySizeTargeting&quot;: { # Represents the size of an ad unit that can be targeted on an ad # Inventory sizes to be included/excluded.
+              # request. It only applies to Private Auction, AdX Preferred Deals and
+              # Auction Packages. This targeting does not apply to Programmatic Guaranteed
+              # and Preferred Deals in Ad Manager.
+            &quot;targetedInventorySizes&quot;: [ # A list of inventory sizes to be included.
+              { # Represents size of a single ad slot, or a creative.
+                &quot;width&quot;: &quot;A String&quot;, # The width of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+                &quot;sizeType&quot;: &quot;A String&quot;, # The size type of the ad slot.
+                &quot;height&quot;: &quot;A String&quot;, # The height of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+              },
+            ],
+            &quot;excludedInventorySizes&quot;: [ # A list of inventory sizes to be excluded.
+              { # Represents size of a single ad slot, or a creative.
+                &quot;width&quot;: &quot;A String&quot;, # The width of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+                &quot;sizeType&quot;: &quot;A String&quot;, # The size type of the ad slot.
+                &quot;height&quot;: &quot;A String&quot;, # The height of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+              },
+            ],
+          },
+          &quot;videoTargeting&quot;: { # Represents targeting information about video. # Video targeting information.
+            &quot;targetedPositionTypes&quot;: [ # A list of video positions to be included.
+                # When the included list is present, the excluded list must be empty.
+                # When the excluded list is present, the included list must be empty.
+              &quot;A String&quot;,
+            ],
+            &quot;excludedPositionTypes&quot;: [ # A list of video positions to be excluded.
+                # Position types can either be included or excluded (XOR).
+              &quot;A String&quot;,
+            ],
+          },
+          &quot;technologyTargeting&quot;: { # Represents targeting about various types of technology. # Technology targeting information, e.g., operating system, device category.
+            &quot;deviceCapabilityTargeting&quot;: { # Generic targeting used for targeting dimensions that contains a list of # IDs of device capabilities to be included/excluded.
+                # included and excluded numeric IDs.
+              &quot;targetedCriteriaIds&quot;: [ # A list of numeric IDs to be included.
+                &quot;A String&quot;,
               ],
-              "targetedUrls": [ # A list of URLs to be included.
-                "A String",
+              &quot;excludedCriteriaIds&quot;: [ # A list of numeric IDs to be excluded.
+                &quot;A String&quot;,
               ],
             },
-            "mobileApplicationTargeting": { # Mobile application targeting settings. # Mobile application targeting information in a deal.
-                # This doesn't apply to Auction Packages.
-              "firstPartyTargeting": { # Represents a list of targeted and excluded mobile application IDs that # Publisher owned apps to be targeted or excluded by the publisher to
+            &quot;operatingSystemTargeting&quot;: { # Represents targeting information for operating systems. # Operating system related targeting information.
+              &quot;operatingSystemCriteria&quot;: { # Generic targeting used for targeting dimensions that contains a list of # IDs of operating systems to be included/excluded.
+                  # included and excluded numeric IDs.
+                &quot;targetedCriteriaIds&quot;: [ # A list of numeric IDs to be included.
+                  &quot;A String&quot;,
+                ],
+                &quot;excludedCriteriaIds&quot;: [ # A list of numeric IDs to be excluded.
+                  &quot;A String&quot;,
+                ],
+              },
+              &quot;operatingSystemVersionCriteria&quot;: { # Generic targeting used for targeting dimensions that contains a list of # IDs of operating system versions to be included/excluded.
+                  # included and excluded numeric IDs.
+                &quot;targetedCriteriaIds&quot;: [ # A list of numeric IDs to be included.
+                  &quot;A String&quot;,
+                ],
+                &quot;excludedCriteriaIds&quot;: [ # A list of numeric IDs to be excluded.
+                  &quot;A String&quot;,
+                ],
+              },
+            },
+            &quot;deviceCategoryTargeting&quot;: { # Generic targeting used for targeting dimensions that contains a list of # IDs of device categories to be included/excluded.
+                # included and excluded numeric IDs.
+              &quot;targetedCriteriaIds&quot;: [ # A list of numeric IDs to be included.
+                &quot;A String&quot;,
+              ],
+              &quot;excludedCriteriaIds&quot;: [ # A list of numeric IDs to be excluded.
+                &quot;A String&quot;,
+              ],
+            },
+          },
+          &quot;placementTargeting&quot;: { # Represents targeting about where the ads can appear, e.g., certain sites or # Placement targeting information, e.g., URL, mobile applications.
+              # mobile applications.
+              # Different placement targeting types will be logically OR&#x27;ed.
+            &quot;urlTargeting&quot;: { # Represents a list of targeted and excluded URLs (e.g., google.com). # URLs to be included/excluded.
+                # For Private Auction and AdX Preferred Deals, URLs are either included or
+                # excluded.
+                # For Programmatic Guaranteed and Preferred Deals, this doesn&#x27;t
+                # apply.
+              &quot;targetedUrls&quot;: [ # A list of URLs to be included.
+                &quot;A String&quot;,
+              ],
+              &quot;excludedUrls&quot;: [ # A list of URLs to be excluded.
+                &quot;A String&quot;,
+              ],
+            },
+            &quot;mobileApplicationTargeting&quot;: { # Mobile application targeting settings. # Mobile application targeting information in a deal.
+                # This doesn&#x27;t apply to Auction Packages.
+              &quot;firstPartyTargeting&quot;: { # Represents a list of targeted and excluded mobile application IDs that # Publisher owned apps to be targeted or excluded by the publisher to
                   # display the ads in.
                   # publishers own.
                   # Mobile application IDs are from App Store and Google Play Store.
@@ -5320,546 +5773,93 @@
                   # Google Play Store URL.
                   # iOS App ID (which is a number) can be found at the end of iTunes store URL.
                   # First party mobile applications is either included or excluded.
-                "excludedAppIds": [ # A list of application IDs to be excluded.
-                  "A String",
+                &quot;targetedAppIds&quot;: [ # A list of application IDs to be included.
+                  &quot;A String&quot;,
                 ],
-                "targetedAppIds": [ # A list of application IDs to be included.
-                  "A String",
+                &quot;excludedAppIds&quot;: [ # A list of application IDs to be excluded.
+                  &quot;A String&quot;,
                 ],
               },
             },
           },
-          "geoTargeting": { # Generic targeting used for targeting dimensions that contains a list of # Geo criteria IDs to be included/excluded.
-              # included and excluded numeric IDs.
-            "targetedCriteriaIds": [ # A list of numeric IDs to be included.
-              "A String",
-            ],
-            "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
-              "A String",
-            ],
-          },
-          "videoTargeting": { # Represents targeting information about video. # Video targeting information.
-            "excludedPositionTypes": [ # A list of video positions to be excluded.
-                # Position types can either be included or excluded (XOR).
-              "A String",
-            ],
-            "targetedPositionTypes": [ # A list of video positions to be included.
-                # When the included list is present, the excluded list must be empty.
-                # When the excluded list is present, the included list must be empty.
-              "A String",
-            ],
-          },
-          "technologyTargeting": { # Represents targeting about various types of technology. # Technology targeting information, e.g., operating system, device category.
-            "deviceCategoryTargeting": { # Generic targeting used for targeting dimensions that contains a list of # IDs of device categories to be included/excluded.
-                # included and excluded numeric IDs.
-              "targetedCriteriaIds": [ # A list of numeric IDs to be included.
-                "A String",
-              ],
-              "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
-                "A String",
-              ],
-            },
-            "operatingSystemTargeting": { # Represents targeting information for operating systems. # Operating system related targeting information.
-              "operatingSystemCriteria": { # Generic targeting used for targeting dimensions that contains a list of # IDs of operating systems to be included/excluded.
-                  # included and excluded numeric IDs.
-                "targetedCriteriaIds": [ # A list of numeric IDs to be included.
-                  "A String",
-                ],
-                "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
-                  "A String",
-                ],
-              },
-              "operatingSystemVersionCriteria": { # Generic targeting used for targeting dimensions that contains a list of # IDs of operating system versions to be included/excluded.
-                  # included and excluded numeric IDs.
-                "targetedCriteriaIds": [ # A list of numeric IDs to be included.
-                  "A String",
-                ],
-                "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
-                  "A String",
-                ],
-              },
-            },
-            "deviceCapabilityTargeting": { # Generic targeting used for targeting dimensions that contains a list of # IDs of device capabilities to be included/excluded.
-                # included and excluded numeric IDs.
-              "targetedCriteriaIds": [ # A list of numeric IDs to be included.
-                "A String",
-              ],
-              "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
-                "A String",
-              ],
-            },
-          },
-          "inventorySizeTargeting": { # Represents the size of an ad unit that can be targeted on an ad # Inventory sizes to be included/excluded.
-              # request. It only applies to Private Auction, AdX Preferred Deals and
-              # Auction Packages. This targeting does not apply to Programmatic Guaranteed
-              # and Preferred Deals in Ad Manager.
-            "targetedInventorySizes": [ # A list of inventory sizes to be included.
-              { # Represents size of a single ad slot, or a creative.
-                "width": "A String", # The width of the ad slot in pixels.
-                    # This field will be present only when size type is `PIXEL`.
-                "sizeType": "A String", # The size type of the ad slot.
-                "height": "A String", # The height of the ad slot in pixels.
-                    # This field will be present only when size type is `PIXEL`.
-              },
-            ],
-            "excludedInventorySizes": [ # A list of inventory sizes to be excluded.
-              { # Represents size of a single ad slot, or a creative.
-                "width": "A String", # The width of the ad slot in pixels.
-                    # This field will be present only when size type is `PIXEL`.
-                "sizeType": "A String", # The size type of the ad slot.
-                "height": "A String", # The height of the ad slot in pixels.
-                    # This field will be present only when size type is `PIXEL`.
-              },
-            ],
-          },
         },
-        "createTime": "A String", # Output only. The time of the deal creation.
-        "webPropertyCode": "A String", # The web property code for the seller copied over from the product.
-        "proposalId": "A String", # Output only. ID of the proposal that this deal is part of.
-        "deliveryControl": { # Message contains details about how the deals will be paced. # The set of fields around delivery control that are interesting for a buyer
+        &quot;creativePreApprovalPolicy&quot;: &quot;A String&quot;, # Output only. Specifies the creative pre-approval policy.
+        &quot;deliveryControl&quot;: { # Message contains details about how the deals will be paced. # The set of fields around delivery control that are interesting for a buyer
             # to see but are non-negotiable. These are set by the publisher.
-          "frequencyCaps": [ # Output only. Specifies any frequency caps.
+          &quot;deliveryRateType&quot;: &quot;A String&quot;, # Output only. Specifies how the impression delivery will be paced.
+          &quot;frequencyCaps&quot;: [ # Output only. Specifies any frequency caps.
             { # Frequency cap.
-              "numTimeUnits": 42, # The amount of time, in the units specified by time_unit_type. Defines the
+              &quot;numTimeUnits&quot;: 42, # The amount of time, in the units specified by time_unit_type. Defines the
                   # amount of time over which impressions per user are counted and capped.
-              "timeUnitType": "A String", # The time unit. Along with num_time_units defines the amount of time over
-                  # which impressions per user are counted and capped.
-              "maxImpressions": 42, # The maximum number of impressions that can be served to a user within the
+              &quot;maxImpressions&quot;: 42, # The maximum number of impressions that can be served to a user within the
                   # specified time period.
+              &quot;timeUnitType&quot;: &quot;A String&quot;, # The time unit. Along with num_time_units defines the amount of time over
+                  # which impressions per user are counted and capped.
             },
           ],
-          "creativeBlockingLevel": "A String", # Output only. Specified the creative blocking levels to be applied.
-          "deliveryRateType": "A String", # Output only. Specifies how the impression delivery will be paced.
+          &quot;creativeBlockingLevel&quot;: &quot;A String&quot;, # Output only. Specified the creative blocking levels to be applied.
         },
-        "description": "A String", # Description for the deal terms.
-        "dealId": "A String", # Output only. A unique deal ID for the deal (server-assigned).
-        "creativeSafeFrameCompatibility": "A String", # Output only. Specifies whether the creative is safeFrame compatible.
-        "creativePreApprovalPolicy": "A String", # Output only. Specifies the creative pre-approval policy.
-        "creativeRestrictions": { # Represents creative restrictions associated to Programmatic Guaranteed/ # Output only. Restricitions about the creatives associated with the deal
+        &quot;externalDealId&quot;: &quot;A String&quot;, # Output only. The external deal ID assigned to this deal once the deal is
+            # finalized. This is the deal ID that shows up in serving/reporting etc.
+        &quot;creativeRestrictions&quot;: { # Represents creative restrictions associated to Programmatic Guaranteed/ # Output only. Restricitions about the creatives associated with the deal
             # (i.e., size) This is available for Programmatic Guaranteed/Preferred Deals
             # in Ad Manager.
             # Preferred Deal in Ad Manager.
-            # This doesn't apply to Private Auction and AdX Preferred Deals.
-          "creativeFormat": "A String", # The format of the environment that the creatives will be displayed in.
-          "creativeSpecifications": [
+            # This doesn&#x27;t apply to Private Auction and AdX Preferred Deals.
+          &quot;creativeFormat&quot;: &quot;A String&quot;, # The format of the environment that the creatives will be displayed in.
+          &quot;creativeSpecifications&quot;: [
             { # Represents information for a creative that is associated with a Programmatic
                 # Guaranteed/Preferred Deal in Ad Manager.
-              "creativeSize": { # Represents size of a single ad slot, or a creative. # The size of the creative.
-                "width": "A String", # The width of the ad slot in pixels.
+              &quot;creativeSize&quot;: { # Represents size of a single ad slot, or a creative. # The size of the creative.
+                &quot;width&quot;: &quot;A String&quot;, # The width of the ad slot in pixels.
                     # This field will be present only when size type is `PIXEL`.
-                "sizeType": "A String", # The size type of the ad slot.
-                "height": "A String", # The height of the ad slot in pixels.
+                &quot;sizeType&quot;: &quot;A String&quot;, # The size type of the ad slot.
+                &quot;height&quot;: &quot;A String&quot;, # The height of the ad slot in pixels.
                     # This field will be present only when size type is `PIXEL`.
               },
-              "creativeCompanionSizes": [ # Companion sizes may be filled in only when this is a video creative.
+              &quot;creativeCompanionSizes&quot;: [ # Companion sizes may be filled in only when this is a video creative.
                 { # Represents size of a single ad slot, or a creative.
-                  "width": "A String", # The width of the ad slot in pixels.
+                  &quot;width&quot;: &quot;A String&quot;, # The width of the ad slot in pixels.
                       # This field will be present only when size type is `PIXEL`.
-                  "sizeType": "A String", # The size type of the ad slot.
-                  "height": "A String", # The height of the ad slot in pixels.
+                  &quot;sizeType&quot;: &quot;A String&quot;, # The size type of the ad slot.
+                  &quot;height&quot;: &quot;A String&quot;, # The height of the ad slot in pixels.
                       # This field will be present only when size type is `PIXEL`.
                 },
               ],
             },
           ],
-          "skippableAdType": "A String", # Skippable video ads allow viewers to skip ads after 5 seconds.
+          &quot;skippableAdType&quot;: &quot;A String&quot;, # Skippable video ads allow viewers to skip ads after 5 seconds.
         },
-        "createProductId": "A String", # The product ID from which this deal was created.
-            #
-            # Note: This field may be set only when creating the resource. Modifying
-            # this field while updating the resource will result in an error.
-        "dealTerms": { # The deal terms specify the details of a Product/deal. They specify things # The negotiable terms of the deal.
-            # like price per buyer, the type of pricing model (e.g., fixed price, auction)
-            # and expected impressions from the publisher.
-          "brandingType": "A String", # Visibility of the URL in bid requests. (default: BRANDED)
-          "estimatedGrossSpend": { # Represents a price and a pricing type for a product / deal. # Non-binding estimate of the estimated gross spend for this deal.
-              # Can be set by buyer or seller.
-            "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
-            "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
-              "nanos": 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.
-              "units": "A String", # The whole units of the amount.
-                  # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-              "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-            },
-          },
-          "sellerTimeZone": "A String", # The time zone name. For deals with Cost Per Day billing, defines the
-              # time zone used to mark the boundaries of a day. It should be an
-              # IANA TZ name, such as "America/Los_Angeles". For more information,
-              # see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones.
-          "estimatedImpressionsPerDay": "A String", # Non-binding estimate of the impressions served per day.
-              # Can be set by buyer or seller.
-          "nonGuaranteedFixedPriceTerms": { # Terms for Preferred Deals. Note that Preferred Deals cannot be created via # The terms for non-guaranteed fixed price deals.
-              # the API at this time, but can be returned in a get or list request.
-            "fixedPrices": [ # Fixed price for the specified buyer.
-              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
-                  # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
-                  # a particular buyer or buyer/advertiser pair, we look for the most specific
-                  # matching rule - we first look for a rule matching the buyer and advertiser,
-                  # next a rule with the buyer but an empty advertiser list, and otherwise look
-                  # for a matching rule where no buyer is set.
-                "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
-                    # (if the
-                    # advertisers match, and there's no more specific rule matching the buyer).
-                    # Authorized Buyers account ID.
-                  "accountId": "A String", # Authorized Buyers account ID of the buyer.
-                },
-                "advertiserIds": [ # The list of advertisers for this price when associated with this buyer.
-                    # If empty, all advertisers with this buyer pay this price.
-                  "A String",
-                ],
-                "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
-                  "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
-                  "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
-                    "nanos": 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.
-                    "units": "A String", # The whole units of the amount.
-                        # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-                    "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-                  },
-                },
-              },
-            ],
-          },
-          "guaranteedFixedPriceTerms": { # Terms for Programmatic Guaranteed Deals. # The terms for guaranteed fixed price deals.
-            "guaranteedImpressions": "A String", # Guaranteed impressions as a percentage. This is the percentage
-                # of guaranteed looks that the buyer is guaranteeing to buy.
-            "fixedPrices": [ # Fixed price for the specified buyer.
-              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
-                  # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
-                  # a particular buyer or buyer/advertiser pair, we look for the most specific
-                  # matching rule - we first look for a rule matching the buyer and advertiser,
-                  # next a rule with the buyer but an empty advertiser list, and otherwise look
-                  # for a matching rule where no buyer is set.
-                "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
-                    # (if the
-                    # advertisers match, and there's no more specific rule matching the buyer).
-                    # Authorized Buyers account ID.
-                  "accountId": "A String", # Authorized Buyers account ID of the buyer.
-                },
-                "advertiserIds": [ # The list of advertisers for this price when associated with this buyer.
-                    # If empty, all advertisers with this buyer pay this price.
-                  "A String",
-                ],
-                "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
-                  "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
-                  "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
-                    "nanos": 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.
-                    "units": "A String", # The whole units of the amount.
-                        # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-                    "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-                  },
-                },
-              },
-            ],
-            "minimumDailyLooks": "A String", # Daily minimum looks for CPD deal types.
-            "guaranteedLooks": "A String", # Count of guaranteed looks. Required for deal, optional for product.
-          },
-          "nonGuaranteedAuctionTerms": { # Terms for Private Auctions. Note that Private Auctions can be created only # The terms for non-guaranteed auction deals.
-              # by the seller, but they can be returned in a get or list request.
-            "reservePricesPerBuyer": [ # Reserve price for the specified buyer.
-              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
-                  # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
-                  # a particular buyer or buyer/advertiser pair, we look for the most specific
-                  # matching rule - we first look for a rule matching the buyer and advertiser,
-                  # next a rule with the buyer but an empty advertiser list, and otherwise look
-                  # for a matching rule where no buyer is set.
-                "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
-                    # (if the
-                    # advertisers match, and there's no more specific rule matching the buyer).
-                    # Authorized Buyers account ID.
-                  "accountId": "A String", # Authorized Buyers account ID of the buyer.
-                },
-                "advertiserIds": [ # The list of advertisers for this price when associated with this buyer.
-                    # If empty, all advertisers with this buyer pay this price.
-                  "A String",
-                ],
-                "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
-                  "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
-                  "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
-                    "nanos": 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.
-                    "units": "A String", # The whole units of the amount.
-                        # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-                    "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-                  },
-                },
-              },
-            ],
-            "autoOptimizePrivateAuction": True or False, # True if open auction buyers are allowed to compete with invited buyers
-                # in this private auction.
-          },
-          "description": "A String", # Publisher provided description for the terms.
-        },
-        "sellerContacts": [ # Output only. Seller contact information for the deal.
-          { # Contains information on how a buyer or seller can be reached.
-            "email": "A String", # Email address for the contact.
-            "name": "A String", # The name of the contact.
-          },
-        ],
-        "displayName": "A String", # The name of the deal.
-        "buyerPrivateData": { # Buyers are allowed to store certain types of private data in a proposal/deal. # Buyer private data (hidden from seller).
-          "referenceId": "A String", # A buyer or seller specified reference ID. This can be queried in the list
-              # operations (max-length: 1024 unicode code units).
-        },
-        "syndicationProduct": "A String", # The syndication product associated with the deal.
-            #
-            # Note: This field may be set only when creating the resource. Modifying
-            # this field while updating the resource will result in an error.
-        "targetingCriterion": [ # The shared targeting visible to buyers and sellers. Each shared
-            # targeting entity is AND'd together.
-          { # Advertisers can target different attributes of an ad slot. For example,
-              # they can choose to show ads only if the user is in the U.S. Such
-              # targeting criteria can be specified as part of Shared Targeting.
-            "inclusions": [ # The list of value to include as part of the targeting. Each value is OR'd
-                # together.
-              { # A polymorphic targeting value used as part of Shared Targeting.
-                "stringValue": "A String", # The string value to include/exclude.
-                "longValue": "A String", # The long value to include/exclude.
-                "dayPartTargetingValue": { # Specifies the day part targeting criteria. # The daypart targeting to include / exclude.
-                    # Filled in when the key is GOOG_DAYPART_TARGETING.
-                    # The definition of this targeting is derived from the structure
-                    # used by Ad Manager.
-                  "dayParts": [ # A list of day part targeting criterion.
-                    { # Daypart targeting message that specifies if the ad can be shown
-                        # only during certain parts of a day/week.
-                      "dayOfWeek": "A String", # The day of the week to target. If unspecified, applicable to all days.
-                      "endTime": { # Represents a time of day. The date and time zone are either not significant # The ending time of the day for the ad to show (minute level
-                          # granularity). The end time is exclusive. This field is not available
-                          # for filtering in PQL queries.
-                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
-                          # types are google.type.Date and `google.protobuf.Timestamp`.
-                        "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
-                            # to allow the value "24:00:00" for scenarios like business closing time.
-                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                        "seconds": 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.
-                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                      },
-                      "startTime": { # Represents a time of day. The date and time zone are either not significant # The starting time of day for the ad to show (minute level granularity).
-                          # The start time is inclusive.
-                          # This field is not available for filtering in PQL queries.
-                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
-                          # types are google.type.Date and `google.protobuf.Timestamp`.
-                        "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
-                            # to allow the value "24:00:00" for scenarios like business closing time.
-                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                        "seconds": 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.
-                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                      },
-                    },
-                  ],
-                  "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
-                },
-                "creativeSizeValue": { # Specifies the size of the creative. # The creative size value to include/exclude.
-                    # Filled in when key = GOOG_CREATIVE_SIZE
-                  "companionSizes": [ # For video creatives specifies the sizes of companion ads (if present).
-                      # Companion sizes may be filled in only when creative_size_type = VIDEO
-                    { # Message depicting the size of the creative. The units of width and
-                        # height depend on the type of the targeting.
-                      "width": 42, # The width of the creative
-                      "height": 42, # The height of the creative.
-                    },
-                  ],
-                  "nativeTemplate": "A String", # Output only. The native template for this creative. It will have a value
-                      # only if creative_size_type = CreativeSizeType.NATIVE.
-                  "allowedFormats": [ # What formats are allowed by the publisher.
-                      # If this repeated field is empty then all formats are allowed.
-                      # For example, if this field contains AllowedFormatType.AUDIO then the
-                      # publisher only allows an audio ad (without any video).
-                    "A String",
-                  ],
-                  "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if
-                      # creative_size_type = CreativeSizeType.VIDEO.
-                  "creativeSizeType": "A String", # The creative size type.
-                  "size": { # Message depicting the size of the creative. The units of width and # For regular or video creative size type, specifies the size
-                      # of the creative
-                      # height depend on the type of the targeting.
-                    "width": 42, # The width of the creative
-                    "height": 42, # The height of the creative.
-                  },
-                },
-              },
-            ],
-            "exclusions": [ # The list of values to exclude from targeting. Each value is AND'd
-                # together.
-              { # A polymorphic targeting value used as part of Shared Targeting.
-                "stringValue": "A String", # The string value to include/exclude.
-                "longValue": "A String", # The long value to include/exclude.
-                "dayPartTargetingValue": { # Specifies the day part targeting criteria. # The daypart targeting to include / exclude.
-                    # Filled in when the key is GOOG_DAYPART_TARGETING.
-                    # The definition of this targeting is derived from the structure
-                    # used by Ad Manager.
-                  "dayParts": [ # A list of day part targeting criterion.
-                    { # Daypart targeting message that specifies if the ad can be shown
-                        # only during certain parts of a day/week.
-                      "dayOfWeek": "A String", # The day of the week to target. If unspecified, applicable to all days.
-                      "endTime": { # Represents a time of day. The date and time zone are either not significant # The ending time of the day for the ad to show (minute level
-                          # granularity). The end time is exclusive. This field is not available
-                          # for filtering in PQL queries.
-                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
-                          # types are google.type.Date and `google.protobuf.Timestamp`.
-                        "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
-                            # to allow the value "24:00:00" for scenarios like business closing time.
-                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                        "seconds": 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.
-                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                      },
-                      "startTime": { # Represents a time of day. The date and time zone are either not significant # The starting time of day for the ad to show (minute level granularity).
-                          # The start time is inclusive.
-                          # This field is not available for filtering in PQL queries.
-                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
-                          # types are google.type.Date and `google.protobuf.Timestamp`.
-                        "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
-                            # to allow the value "24:00:00" for scenarios like business closing time.
-                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                        "seconds": 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.
-                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                      },
-                    },
-                  ],
-                  "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
-                },
-                "creativeSizeValue": { # Specifies the size of the creative. # The creative size value to include/exclude.
-                    # Filled in when key = GOOG_CREATIVE_SIZE
-                  "companionSizes": [ # For video creatives specifies the sizes of companion ads (if present).
-                      # Companion sizes may be filled in only when creative_size_type = VIDEO
-                    { # Message depicting the size of the creative. The units of width and
-                        # height depend on the type of the targeting.
-                      "width": 42, # The width of the creative
-                      "height": 42, # The height of the creative.
-                    },
-                  ],
-                  "nativeTemplate": "A String", # Output only. The native template for this creative. It will have a value
-                      # only if creative_size_type = CreativeSizeType.NATIVE.
-                  "allowedFormats": [ # What formats are allowed by the publisher.
-                      # If this repeated field is empty then all formats are allowed.
-                      # For example, if this field contains AllowedFormatType.AUDIO then the
-                      # publisher only allows an audio ad (without any video).
-                    "A String",
-                  ],
-                  "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if
-                      # creative_size_type = CreativeSizeType.VIDEO.
-                  "creativeSizeType": "A String", # The creative size type.
-                  "size": { # Message depicting the size of the creative. The units of width and # For regular or video creative size type, specifies the size
-                      # of the creative
-                      # height depend on the type of the targeting.
-                    "width": 42, # The width of the creative
-                    "height": 42, # The height of the creative.
-                  },
-                },
-              },
-            ],
-            "key": "A String", # The key representing the shared targeting criterion.
-                # Targeting criteria defined by Google ad servers will begin with GOOG_.
-                # Third parties may define their own keys.
-                # A list of permissible keys along with the acceptable values will be
-                # provided as part of the external documentation.
-          },
-        ],
-        "dealServingMetadata": { # Message captures metadata about the serving status of a deal. # Output only. Metadata about the serving status of this deal.
-          "dealPauseStatus": { # Tracks which parties (if any) have paused a deal. # Output only. Tracks which parties (if any) have paused a deal.
+        &quot;dealServingMetadata&quot;: { # Message captures metadata about the serving status of a deal. # Output only. Metadata about the serving status of this deal.
+          &quot;dealPauseStatus&quot;: { # Tracks which parties (if any) have paused a deal. # Output only. Tracks which parties (if any) have paused a deal.
               # The deal is considered paused if either hasBuyerPaused or
               # hasSellPaused is true.
-            "hasSellerPaused": True or False, # True, if the seller has paused the deal unilaterally.
-            "buyerPauseReason": "A String", # The buyer's reason for pausing, if the buyer paused the deal.
-            "sellerPauseReason": "A String", # The seller's reason for pausing, if the seller paused the deal.
-            "hasBuyerPaused": True or False, # True, if the buyer has paused the deal unilaterally.
-            "firstPausedBy": "A String", # The role of the person who first paused this deal.
+            &quot;firstPausedBy&quot;: &quot;A String&quot;, # The role of the person who first paused this deal.
+            &quot;sellerPauseReason&quot;: &quot;A String&quot;, # The seller&#x27;s reason for pausing, if the seller paused the deal.
+            &quot;hasSellerPaused&quot;: True or False, # True, if the seller has paused the deal unilaterally.
+            &quot;buyerPauseReason&quot;: &quot;A String&quot;, # The buyer&#x27;s reason for pausing, if the buyer paused the deal.
+            &quot;hasBuyerPaused&quot;: True or False, # True, if the buyer has paused the deal unilaterally.
           },
         },
-        "isSetupComplete": True or False, # Output only. True, if the buyside inventory setup is complete for this
-            # deal.
+        &quot;description&quot;: &quot;A String&quot;, # Description for the deal terms.
       },
     ],
-    "updateTime": "A String", # Output only. The time when the proposal was last revised.
-    "proposalState": "A String", # Output only. The current state of the proposal.
-    "proposalRevision": "A String", # Output only. The revision number for the proposal.
+    &quot;proposalRevision&quot;: &quot;A String&quot;, # Output only. The revision number for the proposal.
         # Each update to the proposal or the deal causes the proposal revision number
         # to auto-increment. The buyer keeps track of the last revision number they
         # know of and pass it in when making an update. If the head revision number
         # on the server has since incremented, then an ABORTED error is returned
         # during the update operation to let the buyer know that a subsequent update
         # was made.
-    "buyerPrivateData": { # Buyers are allowed to store certain types of private data in a proposal/deal. # Private data for buyer. (hidden from seller).
-      "referenceId": "A String", # A buyer or seller specified reference ID. This can be queried in the list
-          # operations (max-length: 1024 unicode code units).
-    },
-    "privateAuctionId": "A String", # Output only. Private auction ID if this proposal is a private auction
-        # proposal.
-    "notes": [ # Output only. The notes associated with this proposal.
-      { # A proposal may be associated to several notes.
-        "note": "A String", # The actual note to attach.
-            # (max-length: 1024 unicode code units)
-            #
-            # Note: This field may be set only when creating the resource. Modifying
-            # this field while updating the resource will result in an error.
-        "creatorRole": "A String", # Output only. The role of the person (buyer/seller) creating the note.
-        "proposalRevision": "A String", # Output only. The revision number of the proposal when the note is created.
-        "createTime": "A String", # Output only. The timestamp for when this note was created.
-        "noteId": "A String", # Output only. The unique ID for the note.
-      },
-    ],
-    "originatorRole": "A String", # Output only. Indicates whether the buyer/seller created the proposal.
-    "billedBuyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # Output only. Reference to the buyer that will get billed for this proposal.
-        # Authorized Buyers account ID.
-      "accountId": "A String", # Authorized Buyers account ID of the buyer.
-    },
-    "seller": { # Represents a seller of inventory. Each seller is identified by a unique # Reference to the seller on the proposal.
+    &quot;seller&quot;: { # Represents a seller of inventory. Each seller is identified by a unique # Reference to the seller on the proposal.
         #
         # Note: This field may be set only when creating the resource. Modifying
         # this field while updating the resource will result in an error.
         # Ad Manager account ID.
-      "subAccountId": "A String", # Optional sub-account ID for the seller.
-      "accountId": "A String", # The unique ID for the seller. The seller fills in this field.
+      &quot;subAccountId&quot;: &quot;A String&quot;, # Optional sub-account ID for the seller.
+      &quot;accountId&quot;: &quot;A String&quot;, # The unique ID for the seller. The seller fills in this field.
           # The seller account ID is then available to buyer in the product.
     },
-    "sellerContacts": [ # Output only. Contact information for the seller.
-      { # Contains information on how a buyer or seller can be reached.
-        "email": "A String", # Email address for the contact.
-        "name": "A String", # The name of the contact.
-      },
-    ],
-    "proposalId": "A String", # Output only. The unique ID of the proposal.
-    "isRenegotiating": True or False, # Output only. True if the proposal is being renegotiated.
-    "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # Reference to the buyer on the proposal.
-        #
-        # Note: This field may be set only when creating the resource. Modifying
-        # this field while updating the resource will result in an error.
-        # Authorized Buyers account ID.
-      "accountId": "A String", # Authorized Buyers account ID of the buyer.
-    },
-    "isSetupComplete": True or False, # Output only. True, if the buyside inventory setup is complete for this
-        # proposal.
-    "displayName": "A String", # The name for the proposal.
-    "lastUpdaterOrCommentorRole": "A String", # Output only. The role of the last user that either updated the proposal or
-        # left a comment.
-    "buyerContacts": [ # Contact information for the buyer.
-      { # Contains information on how a buyer or seller can be reached.
-        "email": "A String", # Email address for the contact.
-        "name": "A String", # The name of the contact.
-      },
-    ],
   }</pre>
 </div>
 
@@ -5896,55 +5896,508 @@
     # Auction or Preferred Deals deals through the API.
     # 
     # Fields are updatable unless noted otherwise.
-  "deals": [ # The deals associated with this proposal. For Private Auction proposals
+  &quot;buyer&quot;: { # Represents a buyer of inventory. Each buyer is identified by a unique # Reference to the buyer on the proposal.
+      # 
+      # Note: This field may be set only when creating the resource. Modifying
+      # this field while updating the resource will result in an error.
+      # Authorized Buyers account ID.
+    &quot;accountId&quot;: &quot;A String&quot;, # Authorized Buyers account ID of the buyer.
+  },
+  &quot;isRenegotiating&quot;: True or False, # Output only. True if the proposal is being renegotiated.
+  &quot;notes&quot;: [ # Output only. The notes associated with this proposal.
+    { # A proposal may be associated to several notes.
+      &quot;note&quot;: &quot;A String&quot;, # The actual note to attach.
+          # (max-length: 1024 unicode code units)
+          #
+          # Note: This field may be set only when creating the resource. Modifying
+          # this field while updating the resource will result in an error.
+      &quot;proposalRevision&quot;: &quot;A String&quot;, # Output only. The revision number of the proposal when the note is created.
+      &quot;noteId&quot;: &quot;A String&quot;, # Output only. The unique ID for the note.
+      &quot;createTime&quot;: &quot;A String&quot;, # Output only. The timestamp for when this note was created.
+      &quot;creatorRole&quot;: &quot;A String&quot;, # Output only. The role of the person (buyer/seller) creating the note.
+    },
+  ],
+  &quot;isSetupComplete&quot;: True or False, # Output only. True, if the buyside inventory setup is complete for this
+      # proposal.
+  &quot;proposalState&quot;: &quot;A String&quot;, # Output only. The current state of the proposal.
+  &quot;sellerContacts&quot;: [ # Output only. Contact information for the seller.
+    { # Contains information on how a buyer or seller can be reached.
+      &quot;email&quot;: &quot;A String&quot;, # Email address for the contact.
+      &quot;name&quot;: &quot;A String&quot;, # The name of the contact.
+    },
+  ],
+  &quot;privateAuctionId&quot;: &quot;A String&quot;, # Output only. Private auction ID if this proposal is a private auction
+      # proposal.
+  &quot;originatorRole&quot;: &quot;A String&quot;, # Output only. Indicates whether the buyer/seller created the proposal.
+  &quot;lastUpdaterOrCommentorRole&quot;: &quot;A String&quot;, # Output only. The role of the last user that either updated the proposal or
+      # left a comment.
+  &quot;buyerPrivateData&quot;: { # Buyers are allowed to store certain types of private data in a proposal/deal. # Private data for buyer. (hidden from seller).
+    &quot;referenceId&quot;: &quot;A String&quot;, # A buyer or seller specified reference ID. This can be queried in the list
+        # operations (max-length: 1024 unicode code units).
+  },
+  &quot;displayName&quot;: &quot;A String&quot;, # The name for the proposal.
+  &quot;buyerContacts&quot;: [ # Contact information for the buyer.
+    { # Contains information on how a buyer or seller can be reached.
+      &quot;email&quot;: &quot;A String&quot;, # Email address for the contact.
+      &quot;name&quot;: &quot;A String&quot;, # The name of the contact.
+    },
+  ],
+  &quot;billedBuyer&quot;: { # Represents a buyer of inventory. Each buyer is identified by a unique # Output only. Reference to the buyer that will get billed for this proposal.
+      # Authorized Buyers account ID.
+    &quot;accountId&quot;: &quot;A String&quot;, # Authorized Buyers account ID of the buyer.
+  },
+  &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time when the proposal was last revised.
+  &quot;proposalId&quot;: &quot;A String&quot;, # Output only. The unique ID of the proposal.
+  &quot;deals&quot;: [ # The deals associated with this proposal. For Private Auction proposals
       # (whose deals have NonGuaranteedAuctionTerms), there will only be one deal.
     { # A deal represents a segment of inventory for displaying ads on.
         # A proposal can contain multiple deals. A deal contains the terms and
         # targeting information that is used for serving.
-      "updateTime": "A String", # Output only. The time when the deal was last updated.
-      "createProductRevision": "A String", # Optional revision number of the product that the deal was created from.
+      &quot;programmaticCreativeSource&quot;: &quot;A String&quot;, # Output only. Specifies the creative source for programmatic deals.
+          # PUBLISHER means creative is provided by seller and ADVERTISER means
+          # creative is provided by buyer.
+      &quot;buyerPrivateData&quot;: { # Buyers are allowed to store certain types of private data in a proposal/deal. # Buyer private data (hidden from seller).
+        &quot;referenceId&quot;: &quot;A String&quot;, # A buyer or seller specified reference ID. This can be queried in the list
+            # operations (max-length: 1024 unicode code units).
+      },
+      &quot;displayName&quot;: &quot;A String&quot;, # The name of the deal.
+      &quot;webPropertyCode&quot;: &quot;A String&quot;, # The web property code for the seller copied over from the product.
+      &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time when the deal was last updated.
+      &quot;targetingCriterion&quot;: [ # The shared targeting visible to buyers and sellers. Each shared
+          # targeting entity is AND&#x27;d together.
+        { # Advertisers can target different attributes of an ad slot. For example,
+            # they can choose to show ads only if the user is in the U.S. Such
+            # targeting criteria can be specified as part of Shared Targeting.
+          &quot;exclusions&quot;: [ # The list of values to exclude from targeting. Each value is AND&#x27;d
+              # together.
+            { # A polymorphic targeting value used as part of Shared Targeting.
+              &quot;creativeSizeValue&quot;: { # Specifies the size of the creative. # The creative size value to include/exclude.
+                  # Filled in when key = GOOG_CREATIVE_SIZE
+                &quot;size&quot;: { # Message depicting the size of the creative. The units of width and # For regular or video creative size type, specifies the size
+                    # of the creative
+                    # height depend on the type of the targeting.
+                  &quot;height&quot;: 42, # The height of the creative.
+                  &quot;width&quot;: 42, # The width of the creative
+                },
+                &quot;allowedFormats&quot;: [ # What formats are allowed by the publisher.
+                    # If this repeated field is empty then all formats are allowed.
+                    # For example, if this field contains AllowedFormatType.AUDIO then the
+                    # publisher only allows an audio ad (without any video).
+                  &quot;A String&quot;,
+                ],
+                &quot;companionSizes&quot;: [ # For video creatives specifies the sizes of companion ads (if present).
+                    # Companion sizes may be filled in only when creative_size_type = VIDEO
+                  { # Message depicting the size of the creative. The units of width and
+                      # height depend on the type of the targeting.
+                    &quot;height&quot;: 42, # The height of the creative.
+                    &quot;width&quot;: 42, # The width of the creative
+                  },
+                ],
+                &quot;skippableAdType&quot;: &quot;A String&quot;, # The type of skippable ad for this creative. It will have a value only if
+                    # creative_size_type = CreativeSizeType.VIDEO.
+                &quot;creativeSizeType&quot;: &quot;A String&quot;, # The creative size type.
+                &quot;nativeTemplate&quot;: &quot;A String&quot;, # Output only. The native template for this creative. It will have a value
+                    # only if creative_size_type = CreativeSizeType.NATIVE.
+              },
+              &quot;stringValue&quot;: &quot;A String&quot;, # The string value to include/exclude.
+              &quot;longValue&quot;: &quot;A String&quot;, # The long value to include/exclude.
+              &quot;dayPartTargetingValue&quot;: { # Specifies the day part targeting criteria. # The daypart targeting to include / exclude.
+                  # Filled in when the key is GOOG_DAYPART_TARGETING.
+                  # The definition of this targeting is derived from the structure
+                  # used by Ad Manager.
+                &quot;timeZoneType&quot;: &quot;A String&quot;, # The timezone to use for interpreting the day part targeting.
+                &quot;dayParts&quot;: [ # A list of day part targeting criterion.
+                  { # Daypart targeting message that specifies if the ad can be shown
+                      # only during certain parts of a day/week.
+                    &quot;startTime&quot;: { # Represents a time of day. The date and time zone are either not significant # The starting time of day for the ad to show (minute level granularity).
+                        # The start time is inclusive.
+                        # This field is not available for filtering in PQL queries.
+                        # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                        # types are google.type.Date and `google.protobuf.Timestamp`.
+                      &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;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;dayOfWeek&quot;: &quot;A String&quot;, # The day of the week to target. If unspecified, applicable to all days.
+                    &quot;endTime&quot;: { # Represents a time of day. The date and time zone are either not significant # The ending time of the day for the ad to show (minute level
+                        # granularity). The end time is exclusive. This field is not available
+                        # for filtering in PQL queries.
+                        # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                        # types are google.type.Date and `google.protobuf.Timestamp`.
+                      &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;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;key&quot;: &quot;A String&quot;, # The key representing the shared targeting criterion.
+              # Targeting criteria defined by Google ad servers will begin with GOOG_.
+              # Third parties may define their own keys.
+              # A list of permissible keys along with the acceptable values will be
+              # provided as part of the external documentation.
+          &quot;inclusions&quot;: [ # The list of value to include as part of the targeting. Each value is OR&#x27;d
+              # together.
+            { # A polymorphic targeting value used as part of Shared Targeting.
+              &quot;creativeSizeValue&quot;: { # Specifies the size of the creative. # The creative size value to include/exclude.
+                  # Filled in when key = GOOG_CREATIVE_SIZE
+                &quot;size&quot;: { # Message depicting the size of the creative. The units of width and # For regular or video creative size type, specifies the size
+                    # of the creative
+                    # height depend on the type of the targeting.
+                  &quot;height&quot;: 42, # The height of the creative.
+                  &quot;width&quot;: 42, # The width of the creative
+                },
+                &quot;allowedFormats&quot;: [ # What formats are allowed by the publisher.
+                    # If this repeated field is empty then all formats are allowed.
+                    # For example, if this field contains AllowedFormatType.AUDIO then the
+                    # publisher only allows an audio ad (without any video).
+                  &quot;A String&quot;,
+                ],
+                &quot;companionSizes&quot;: [ # For video creatives specifies the sizes of companion ads (if present).
+                    # Companion sizes may be filled in only when creative_size_type = VIDEO
+                  { # Message depicting the size of the creative. The units of width and
+                      # height depend on the type of the targeting.
+                    &quot;height&quot;: 42, # The height of the creative.
+                    &quot;width&quot;: 42, # The width of the creative
+                  },
+                ],
+                &quot;skippableAdType&quot;: &quot;A String&quot;, # The type of skippable ad for this creative. It will have a value only if
+                    # creative_size_type = CreativeSizeType.VIDEO.
+                &quot;creativeSizeType&quot;: &quot;A String&quot;, # The creative size type.
+                &quot;nativeTemplate&quot;: &quot;A String&quot;, # Output only. The native template for this creative. It will have a value
+                    # only if creative_size_type = CreativeSizeType.NATIVE.
+              },
+              &quot;stringValue&quot;: &quot;A String&quot;, # The string value to include/exclude.
+              &quot;longValue&quot;: &quot;A String&quot;, # The long value to include/exclude.
+              &quot;dayPartTargetingValue&quot;: { # Specifies the day part targeting criteria. # The daypart targeting to include / exclude.
+                  # Filled in when the key is GOOG_DAYPART_TARGETING.
+                  # The definition of this targeting is derived from the structure
+                  # used by Ad Manager.
+                &quot;timeZoneType&quot;: &quot;A String&quot;, # The timezone to use for interpreting the day part targeting.
+                &quot;dayParts&quot;: [ # A list of day part targeting criterion.
+                  { # Daypart targeting message that specifies if the ad can be shown
+                      # only during certain parts of a day/week.
+                    &quot;startTime&quot;: { # Represents a time of day. The date and time zone are either not significant # The starting time of day for the ad to show (minute level granularity).
+                        # The start time is inclusive.
+                        # This field is not available for filtering in PQL queries.
+                        # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                        # types are google.type.Date and `google.protobuf.Timestamp`.
+                      &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;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;dayOfWeek&quot;: &quot;A String&quot;, # The day of the week to target. If unspecified, applicable to all days.
+                    &quot;endTime&quot;: { # Represents a time of day. The date and time zone are either not significant # The ending time of the day for the ad to show (minute level
+                        # granularity). The end time is exclusive. This field is not available
+                        # for filtering in PQL queries.
+                        # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                        # types are google.type.Date and `google.protobuf.Timestamp`.
+                      &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;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;dealId&quot;: &quot;A String&quot;, # Output only. A unique deal ID for the deal (server-assigned).
+      &quot;proposalId&quot;: &quot;A String&quot;, # Output only. ID of the proposal that this deal is part of.
+      &quot;availableEndTime&quot;: &quot;A String&quot;, # Proposed flight end time of the deal.
+          # This will generally be stored in a granularity of a second.
+          # A value is not required for Private Auction deals or Preferred Deals.
+      &quot;syndicationProduct&quot;: &quot;A String&quot;, # The syndication product associated with the deal.
+          #
+          # Note: This field may be set only when creating the resource. Modifying
+          # this field while updating the resource will result in an error.
+      &quot;createProductId&quot;: &quot;A String&quot;, # The product ID from which this deal was created.
+          #
+          # Note: This field may be set only when creating the resource. Modifying
+          # this field while updating the resource will result in an error.
+      &quot;creativeSafeFrameCompatibility&quot;: &quot;A String&quot;, # Output only. Specifies whether the creative is safeFrame compatible.
+      &quot;isSetupComplete&quot;: True or False, # Output only. True, if the buyside inventory setup is complete for this
+          # deal.
+      &quot;createProductRevision&quot;: &quot;A String&quot;, # Optional revision number of the product that the deal was created from.
           # If present on create, and the server `product_revision` has advanced sinced
           # the passed-in `create_product_revision`, an `ABORTED` error will be
           # returned.
           #
           # Note: This field may be set only when creating the resource. Modifying
           # this field while updating the resource will result in an error.
-      "programmaticCreativeSource": "A String", # Output only. Specifies the creative source for programmatic deals.
-          # PUBLISHER means creative is provided by seller and ADVERTISER means
-          # creative is provided by buyer.
-      "availableStartTime": "A String", # Optional proposed flight start time of the deal.
+      &quot;sellerContacts&quot;: [ # Output only. Seller contact information for the deal.
+        { # Contains information on how a buyer or seller can be reached.
+          &quot;email&quot;: &quot;A String&quot;, # Email address for the contact.
+          &quot;name&quot;: &quot;A String&quot;, # The name of the contact.
+        },
+      ],
+      &quot;availableStartTime&quot;: &quot;A String&quot;, # Optional proposed flight start time of the deal.
           # This will generally be stored in the granularity of one second since deal
           # serving starts at seconds boundary. Any time specified with more
           # granularity (e.g., in milliseconds) will be truncated towards the start of
           # time in seconds.
-      "availableEndTime": "A String", # Proposed flight end time of the deal.
-          # This will generally be stored in a granularity of a second.
-          # A value is not required for Private Auction deals or Preferred Deals.
-      "externalDealId": "A String", # Output only. The external deal ID assigned to this deal once the deal is
-          # finalized. This is the deal ID that shows up in serving/reporting etc.
-      "targeting": { # Targeting represents different criteria that can be used by advertisers to # Output only. Specifies the subset of inventory targeted by the deal.
+      &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time of the deal creation.
+      &quot;dealTerms&quot;: { # The deal terms specify the details of a Product/deal. They specify things # The negotiable terms of the deal.
+          # like price per buyer, the type of pricing model (e.g., fixed price, auction)
+          # and expected impressions from the publisher.
+        &quot;description&quot;: &quot;A String&quot;, # Publisher provided description for the terms.
+        &quot;nonGuaranteedFixedPriceTerms&quot;: { # Terms for Preferred Deals. Note that Preferred Deals cannot be created via # The terms for non-guaranteed fixed price deals.
+            # the API at this time, but can be returned in a get or list request.
+          &quot;fixedPrices&quot;: [ # Fixed price for the specified buyer.
+            { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
+                # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
+                # a particular buyer or buyer/advertiser pair, we look for the most specific
+                # matching rule - we first look for a rule matching the buyer and advertiser,
+                # next a rule with the buyer but an empty advertiser list, and otherwise look
+                # for a matching rule where no buyer is set.
+              &quot;price&quot;: { # Represents a price and a pricing type for a product / deal. # The specified price.
+                &quot;amount&quot;: { # Represents an amount of money with its currency type. # The actual price with currency specified.
+                  &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+                  &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;pricingType&quot;: &quot;A String&quot;, # The pricing type for the deal/product. (default: CPM)
+              },
+              &quot;advertiserIds&quot;: [ # The list of advertisers for this price when associated with this buyer.
+                  # If empty, all advertisers with this buyer pay this price.
+                &quot;A String&quot;,
+              ],
+              &quot;buyer&quot;: { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
+                  # (if the
+                  # advertisers match, and there&#x27;s no more specific rule matching the buyer).
+                  # Authorized Buyers account ID.
+                &quot;accountId&quot;: &quot;A String&quot;, # Authorized Buyers account ID of the buyer.
+              },
+            },
+          ],
+        },
+        &quot;estimatedImpressionsPerDay&quot;: &quot;A String&quot;, # Non-binding estimate of the impressions served per day.
+            # Can be set by buyer or seller.
+        &quot;nonGuaranteedAuctionTerms&quot;: { # Terms for Private Auctions. Note that Private Auctions can be created only # The terms for non-guaranteed auction deals.
+            # by the seller, but they can be returned in a get or list request.
+          &quot;autoOptimizePrivateAuction&quot;: True or False, # True if open auction buyers are allowed to compete with invited buyers
+              # in this private auction.
+          &quot;reservePricesPerBuyer&quot;: [ # Reserve price for the specified buyer.
+            { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
+                # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
+                # a particular buyer or buyer/advertiser pair, we look for the most specific
+                # matching rule - we first look for a rule matching the buyer and advertiser,
+                # next a rule with the buyer but an empty advertiser list, and otherwise look
+                # for a matching rule where no buyer is set.
+              &quot;price&quot;: { # Represents a price and a pricing type for a product / deal. # The specified price.
+                &quot;amount&quot;: { # Represents an amount of money with its currency type. # The actual price with currency specified.
+                  &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+                  &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;pricingType&quot;: &quot;A String&quot;, # The pricing type for the deal/product. (default: CPM)
+              },
+              &quot;advertiserIds&quot;: [ # The list of advertisers for this price when associated with this buyer.
+                  # If empty, all advertisers with this buyer pay this price.
+                &quot;A String&quot;,
+              ],
+              &quot;buyer&quot;: { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
+                  # (if the
+                  # advertisers match, and there&#x27;s no more specific rule matching the buyer).
+                  # Authorized Buyers account ID.
+                &quot;accountId&quot;: &quot;A String&quot;, # Authorized Buyers account ID of the buyer.
+              },
+            },
+          ],
+        },
+        &quot;estimatedGrossSpend&quot;: { # Represents a price and a pricing type for a product / deal. # Non-binding estimate of the estimated gross spend for this deal.
+            # Can be set by buyer or seller.
+          &quot;amount&quot;: { # Represents an amount of money with its currency type. # The actual price with currency specified.
+            &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+            &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;pricingType&quot;: &quot;A String&quot;, # The pricing type for the deal/product. (default: CPM)
+        },
+        &quot;brandingType&quot;: &quot;A String&quot;, # Visibility of the URL in bid requests. (default: BRANDED)
+        &quot;sellerTimeZone&quot;: &quot;A String&quot;, # The time zone name. For deals with Cost Per Day billing, defines the
+            # time zone used to mark the boundaries of a day. It should be an
+            # IANA TZ name, such as &quot;America/Los_Angeles&quot;. For more information,
+            # see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones.
+        &quot;guaranteedFixedPriceTerms&quot;: { # Terms for Programmatic Guaranteed Deals. # The terms for guaranteed fixed price deals.
+          &quot;guaranteedImpressions&quot;: &quot;A String&quot;, # Guaranteed impressions as a percentage. This is the percentage
+              # of guaranteed looks that the buyer is guaranteeing to buy.
+          &quot;minimumDailyLooks&quot;: &quot;A String&quot;, # Daily minimum looks for CPD deal types.
+          &quot;guaranteedLooks&quot;: &quot;A String&quot;, # Count of guaranteed looks. Required for deal, optional for product.
+          &quot;fixedPrices&quot;: [ # Fixed price for the specified buyer.
+            { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
+                # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
+                # a particular buyer or buyer/advertiser pair, we look for the most specific
+                # matching rule - we first look for a rule matching the buyer and advertiser,
+                # next a rule with the buyer but an empty advertiser list, and otherwise look
+                # for a matching rule where no buyer is set.
+              &quot;price&quot;: { # Represents a price and a pricing type for a product / deal. # The specified price.
+                &quot;amount&quot;: { # Represents an amount of money with its currency type. # The actual price with currency specified.
+                  &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+                  &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;pricingType&quot;: &quot;A String&quot;, # The pricing type for the deal/product. (default: CPM)
+              },
+              &quot;advertiserIds&quot;: [ # The list of advertisers for this price when associated with this buyer.
+                  # If empty, all advertisers with this buyer pay this price.
+                &quot;A String&quot;,
+              ],
+              &quot;buyer&quot;: { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
+                  # (if the
+                  # advertisers match, and there&#x27;s no more specific rule matching the buyer).
+                  # Authorized Buyers account ID.
+                &quot;accountId&quot;: &quot;A String&quot;, # Authorized Buyers account ID of the buyer.
+              },
+            },
+          ],
+        },
+      },
+      &quot;targeting&quot;: { # Targeting represents different criteria that can be used by advertisers to # Output only. Specifies the subset of inventory targeted by the deal.
           # target ad inventory. For example, they can choose to target ad requests only
           # if the user is in the US.
           # Multiple types of targeting are always applied as a logical AND, unless noted
           # otherwise.
-        "placementTargeting": { # Represents targeting about where the ads can appear, e.g., certain sites or # Placement targeting information, e.g., URL, mobile applications.
-            # mobile applications.
-            # Different placement targeting types will be logically OR'ed.
-          "urlTargeting": { # Represents a list of targeted and excluded URLs (e.g., google.com). # URLs to be included/excluded.
-              # For Private Auction and AdX Preferred Deals, URLs are either included or
-              # excluded.
-              # For Programmatic Guaranteed and Preferred Deals, this doesn't
-              # apply.
-            "excludedUrls": [ # A list of URLs to be excluded.
-              "A String",
+        &quot;geoTargeting&quot;: { # Generic targeting used for targeting dimensions that contains a list of # Geo criteria IDs to be included/excluded.
+            # included and excluded numeric IDs.
+          &quot;targetedCriteriaIds&quot;: [ # A list of numeric IDs to be included.
+            &quot;A String&quot;,
+          ],
+          &quot;excludedCriteriaIds&quot;: [ # A list of numeric IDs to be excluded.
+            &quot;A String&quot;,
+          ],
+        },
+        &quot;inventorySizeTargeting&quot;: { # Represents the size of an ad unit that can be targeted on an ad # Inventory sizes to be included/excluded.
+            # request. It only applies to Private Auction, AdX Preferred Deals and
+            # Auction Packages. This targeting does not apply to Programmatic Guaranteed
+            # and Preferred Deals in Ad Manager.
+          &quot;targetedInventorySizes&quot;: [ # A list of inventory sizes to be included.
+            { # Represents size of a single ad slot, or a creative.
+              &quot;width&quot;: &quot;A String&quot;, # The width of the ad slot in pixels.
+                  # This field will be present only when size type is `PIXEL`.
+              &quot;sizeType&quot;: &quot;A String&quot;, # The size type of the ad slot.
+              &quot;height&quot;: &quot;A String&quot;, # The height of the ad slot in pixels.
+                  # This field will be present only when size type is `PIXEL`.
+            },
+          ],
+          &quot;excludedInventorySizes&quot;: [ # A list of inventory sizes to be excluded.
+            { # Represents size of a single ad slot, or a creative.
+              &quot;width&quot;: &quot;A String&quot;, # The width of the ad slot in pixels.
+                  # This field will be present only when size type is `PIXEL`.
+              &quot;sizeType&quot;: &quot;A String&quot;, # The size type of the ad slot.
+              &quot;height&quot;: &quot;A String&quot;, # The height of the ad slot in pixels.
+                  # This field will be present only when size type is `PIXEL`.
+            },
+          ],
+        },
+        &quot;videoTargeting&quot;: { # Represents targeting information about video. # Video targeting information.
+          &quot;targetedPositionTypes&quot;: [ # A list of video positions to be included.
+              # When the included list is present, the excluded list must be empty.
+              # When the excluded list is present, the included list must be empty.
+            &quot;A String&quot;,
+          ],
+          &quot;excludedPositionTypes&quot;: [ # A list of video positions to be excluded.
+              # Position types can either be included or excluded (XOR).
+            &quot;A String&quot;,
+          ],
+        },
+        &quot;technologyTargeting&quot;: { # Represents targeting about various types of technology. # Technology targeting information, e.g., operating system, device category.
+          &quot;deviceCapabilityTargeting&quot;: { # Generic targeting used for targeting dimensions that contains a list of # IDs of device capabilities to be included/excluded.
+              # included and excluded numeric IDs.
+            &quot;targetedCriteriaIds&quot;: [ # A list of numeric IDs to be included.
+              &quot;A String&quot;,
             ],
-            "targetedUrls": [ # A list of URLs to be included.
-              "A String",
+            &quot;excludedCriteriaIds&quot;: [ # A list of numeric IDs to be excluded.
+              &quot;A String&quot;,
             ],
           },
-          "mobileApplicationTargeting": { # Mobile application targeting settings. # Mobile application targeting information in a deal.
-              # This doesn't apply to Auction Packages.
-            "firstPartyTargeting": { # Represents a list of targeted and excluded mobile application IDs that # Publisher owned apps to be targeted or excluded by the publisher to
+          &quot;operatingSystemTargeting&quot;: { # Represents targeting information for operating systems. # Operating system related targeting information.
+            &quot;operatingSystemCriteria&quot;: { # Generic targeting used for targeting dimensions that contains a list of # IDs of operating systems to be included/excluded.
+                # included and excluded numeric IDs.
+              &quot;targetedCriteriaIds&quot;: [ # A list of numeric IDs to be included.
+                &quot;A String&quot;,
+              ],
+              &quot;excludedCriteriaIds&quot;: [ # A list of numeric IDs to be excluded.
+                &quot;A String&quot;,
+              ],
+            },
+            &quot;operatingSystemVersionCriteria&quot;: { # Generic targeting used for targeting dimensions that contains a list of # IDs of operating system versions to be included/excluded.
+                # included and excluded numeric IDs.
+              &quot;targetedCriteriaIds&quot;: [ # A list of numeric IDs to be included.
+                &quot;A String&quot;,
+              ],
+              &quot;excludedCriteriaIds&quot;: [ # A list of numeric IDs to be excluded.
+                &quot;A String&quot;,
+              ],
+            },
+          },
+          &quot;deviceCategoryTargeting&quot;: { # Generic targeting used for targeting dimensions that contains a list of # IDs of device categories to be included/excluded.
+              # included and excluded numeric IDs.
+            &quot;targetedCriteriaIds&quot;: [ # A list of numeric IDs to be included.
+              &quot;A String&quot;,
+            ],
+            &quot;excludedCriteriaIds&quot;: [ # A list of numeric IDs to be excluded.
+              &quot;A String&quot;,
+            ],
+          },
+        },
+        &quot;placementTargeting&quot;: { # Represents targeting about where the ads can appear, e.g., certain sites or # Placement targeting information, e.g., URL, mobile applications.
+            # mobile applications.
+            # Different placement targeting types will be logically OR&#x27;ed.
+          &quot;urlTargeting&quot;: { # Represents a list of targeted and excluded URLs (e.g., google.com). # URLs to be included/excluded.
+              # For Private Auction and AdX Preferred Deals, URLs are either included or
+              # excluded.
+              # For Programmatic Guaranteed and Preferred Deals, this doesn&#x27;t
+              # apply.
+            &quot;targetedUrls&quot;: [ # A list of URLs to be included.
+              &quot;A String&quot;,
+            ],
+            &quot;excludedUrls&quot;: [ # A list of URLs to be excluded.
+              &quot;A String&quot;,
+            ],
+          },
+          &quot;mobileApplicationTargeting&quot;: { # Mobile application targeting settings. # Mobile application targeting information in a deal.
+              # This doesn&#x27;t apply to Auction Packages.
+            &quot;firstPartyTargeting&quot;: { # Represents a list of targeted and excluded mobile application IDs that # Publisher owned apps to be targeted or excluded by the publisher to
                 # display the ads in.
                 # publishers own.
                 # Mobile application IDs are from App Store and Google Play Store.
@@ -5952,546 +6405,93 @@
                 # Google Play Store URL.
                 # iOS App ID (which is a number) can be found at the end of iTunes store URL.
                 # First party mobile applications is either included or excluded.
-              "excludedAppIds": [ # A list of application IDs to be excluded.
-                "A String",
+              &quot;targetedAppIds&quot;: [ # A list of application IDs to be included.
+                &quot;A String&quot;,
               ],
-              "targetedAppIds": [ # A list of application IDs to be included.
-                "A String",
+              &quot;excludedAppIds&quot;: [ # A list of application IDs to be excluded.
+                &quot;A String&quot;,
               ],
             },
           },
         },
-        "geoTargeting": { # Generic targeting used for targeting dimensions that contains a list of # Geo criteria IDs to be included/excluded.
-            # included and excluded numeric IDs.
-          "targetedCriteriaIds": [ # A list of numeric IDs to be included.
-            "A String",
-          ],
-          "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
-            "A String",
-          ],
-        },
-        "videoTargeting": { # Represents targeting information about video. # Video targeting information.
-          "excludedPositionTypes": [ # A list of video positions to be excluded.
-              # Position types can either be included or excluded (XOR).
-            "A String",
-          ],
-          "targetedPositionTypes": [ # A list of video positions to be included.
-              # When the included list is present, the excluded list must be empty.
-              # When the excluded list is present, the included list must be empty.
-            "A String",
-          ],
-        },
-        "technologyTargeting": { # Represents targeting about various types of technology. # Technology targeting information, e.g., operating system, device category.
-          "deviceCategoryTargeting": { # Generic targeting used for targeting dimensions that contains a list of # IDs of device categories to be included/excluded.
-              # included and excluded numeric IDs.
-            "targetedCriteriaIds": [ # A list of numeric IDs to be included.
-              "A String",
-            ],
-            "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
-              "A String",
-            ],
-          },
-          "operatingSystemTargeting": { # Represents targeting information for operating systems. # Operating system related targeting information.
-            "operatingSystemCriteria": { # Generic targeting used for targeting dimensions that contains a list of # IDs of operating systems to be included/excluded.
-                # included and excluded numeric IDs.
-              "targetedCriteriaIds": [ # A list of numeric IDs to be included.
-                "A String",
-              ],
-              "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
-                "A String",
-              ],
-            },
-            "operatingSystemVersionCriteria": { # Generic targeting used for targeting dimensions that contains a list of # IDs of operating system versions to be included/excluded.
-                # included and excluded numeric IDs.
-              "targetedCriteriaIds": [ # A list of numeric IDs to be included.
-                "A String",
-              ],
-              "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
-                "A String",
-              ],
-            },
-          },
-          "deviceCapabilityTargeting": { # Generic targeting used for targeting dimensions that contains a list of # IDs of device capabilities to be included/excluded.
-              # included and excluded numeric IDs.
-            "targetedCriteriaIds": [ # A list of numeric IDs to be included.
-              "A String",
-            ],
-            "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
-              "A String",
-            ],
-          },
-        },
-        "inventorySizeTargeting": { # Represents the size of an ad unit that can be targeted on an ad # Inventory sizes to be included/excluded.
-            # request. It only applies to Private Auction, AdX Preferred Deals and
-            # Auction Packages. This targeting does not apply to Programmatic Guaranteed
-            # and Preferred Deals in Ad Manager.
-          "targetedInventorySizes": [ # A list of inventory sizes to be included.
-            { # Represents size of a single ad slot, or a creative.
-              "width": "A String", # The width of the ad slot in pixels.
-                  # This field will be present only when size type is `PIXEL`.
-              "sizeType": "A String", # The size type of the ad slot.
-              "height": "A String", # The height of the ad slot in pixels.
-                  # This field will be present only when size type is `PIXEL`.
-            },
-          ],
-          "excludedInventorySizes": [ # A list of inventory sizes to be excluded.
-            { # Represents size of a single ad slot, or a creative.
-              "width": "A String", # The width of the ad slot in pixels.
-                  # This field will be present only when size type is `PIXEL`.
-              "sizeType": "A String", # The size type of the ad slot.
-              "height": "A String", # The height of the ad slot in pixels.
-                  # This field will be present only when size type is `PIXEL`.
-            },
-          ],
-        },
       },
-      "createTime": "A String", # Output only. The time of the deal creation.
-      "webPropertyCode": "A String", # The web property code for the seller copied over from the product.
-      "proposalId": "A String", # Output only. ID of the proposal that this deal is part of.
-      "deliveryControl": { # Message contains details about how the deals will be paced. # The set of fields around delivery control that are interesting for a buyer
+      &quot;creativePreApprovalPolicy&quot;: &quot;A String&quot;, # Output only. Specifies the creative pre-approval policy.
+      &quot;deliveryControl&quot;: { # Message contains details about how the deals will be paced. # The set of fields around delivery control that are interesting for a buyer
           # to see but are non-negotiable. These are set by the publisher.
-        "frequencyCaps": [ # Output only. Specifies any frequency caps.
+        &quot;deliveryRateType&quot;: &quot;A String&quot;, # Output only. Specifies how the impression delivery will be paced.
+        &quot;frequencyCaps&quot;: [ # Output only. Specifies any frequency caps.
           { # Frequency cap.
-            "numTimeUnits": 42, # The amount of time, in the units specified by time_unit_type. Defines the
+            &quot;numTimeUnits&quot;: 42, # The amount of time, in the units specified by time_unit_type. Defines the
                 # amount of time over which impressions per user are counted and capped.
-            "timeUnitType": "A String", # The time unit. Along with num_time_units defines the amount of time over
-                # which impressions per user are counted and capped.
-            "maxImpressions": 42, # The maximum number of impressions that can be served to a user within the
+            &quot;maxImpressions&quot;: 42, # The maximum number of impressions that can be served to a user within the
                 # specified time period.
+            &quot;timeUnitType&quot;: &quot;A String&quot;, # The time unit. Along with num_time_units defines the amount of time over
+                # which impressions per user are counted and capped.
           },
         ],
-        "creativeBlockingLevel": "A String", # Output only. Specified the creative blocking levels to be applied.
-        "deliveryRateType": "A String", # Output only. Specifies how the impression delivery will be paced.
+        &quot;creativeBlockingLevel&quot;: &quot;A String&quot;, # Output only. Specified the creative blocking levels to be applied.
       },
-      "description": "A String", # Description for the deal terms.
-      "dealId": "A String", # Output only. A unique deal ID for the deal (server-assigned).
-      "creativeSafeFrameCompatibility": "A String", # Output only. Specifies whether the creative is safeFrame compatible.
-      "creativePreApprovalPolicy": "A String", # Output only. Specifies the creative pre-approval policy.
-      "creativeRestrictions": { # Represents creative restrictions associated to Programmatic Guaranteed/ # Output only. Restricitions about the creatives associated with the deal
+      &quot;externalDealId&quot;: &quot;A String&quot;, # Output only. The external deal ID assigned to this deal once the deal is
+          # finalized. This is the deal ID that shows up in serving/reporting etc.
+      &quot;creativeRestrictions&quot;: { # Represents creative restrictions associated to Programmatic Guaranteed/ # Output only. Restricitions about the creatives associated with the deal
           # (i.e., size) This is available for Programmatic Guaranteed/Preferred Deals
           # in Ad Manager.
           # Preferred Deal in Ad Manager.
-          # This doesn't apply to Private Auction and AdX Preferred Deals.
-        "creativeFormat": "A String", # The format of the environment that the creatives will be displayed in.
-        "creativeSpecifications": [
+          # This doesn&#x27;t apply to Private Auction and AdX Preferred Deals.
+        &quot;creativeFormat&quot;: &quot;A String&quot;, # The format of the environment that the creatives will be displayed in.
+        &quot;creativeSpecifications&quot;: [
           { # Represents information for a creative that is associated with a Programmatic
               # Guaranteed/Preferred Deal in Ad Manager.
-            "creativeSize": { # Represents size of a single ad slot, or a creative. # The size of the creative.
-              "width": "A String", # The width of the ad slot in pixels.
+            &quot;creativeSize&quot;: { # Represents size of a single ad slot, or a creative. # The size of the creative.
+              &quot;width&quot;: &quot;A String&quot;, # The width of the ad slot in pixels.
                   # This field will be present only when size type is `PIXEL`.
-              "sizeType": "A String", # The size type of the ad slot.
-              "height": "A String", # The height of the ad slot in pixels.
+              &quot;sizeType&quot;: &quot;A String&quot;, # The size type of the ad slot.
+              &quot;height&quot;: &quot;A String&quot;, # The height of the ad slot in pixels.
                   # This field will be present only when size type is `PIXEL`.
             },
-            "creativeCompanionSizes": [ # Companion sizes may be filled in only when this is a video creative.
+            &quot;creativeCompanionSizes&quot;: [ # Companion sizes may be filled in only when this is a video creative.
               { # Represents size of a single ad slot, or a creative.
-                "width": "A String", # The width of the ad slot in pixels.
+                &quot;width&quot;: &quot;A String&quot;, # The width of the ad slot in pixels.
                     # This field will be present only when size type is `PIXEL`.
-                "sizeType": "A String", # The size type of the ad slot.
-                "height": "A String", # The height of the ad slot in pixels.
+                &quot;sizeType&quot;: &quot;A String&quot;, # The size type of the ad slot.
+                &quot;height&quot;: &quot;A String&quot;, # The height of the ad slot in pixels.
                     # This field will be present only when size type is `PIXEL`.
               },
             ],
           },
         ],
-        "skippableAdType": "A String", # Skippable video ads allow viewers to skip ads after 5 seconds.
+        &quot;skippableAdType&quot;: &quot;A String&quot;, # Skippable video ads allow viewers to skip ads after 5 seconds.
       },
-      "createProductId": "A String", # The product ID from which this deal was created.
-          #
-          # Note: This field may be set only when creating the resource. Modifying
-          # this field while updating the resource will result in an error.
-      "dealTerms": { # The deal terms specify the details of a Product/deal. They specify things # The negotiable terms of the deal.
-          # like price per buyer, the type of pricing model (e.g., fixed price, auction)
-          # and expected impressions from the publisher.
-        "brandingType": "A String", # Visibility of the URL in bid requests. (default: BRANDED)
-        "estimatedGrossSpend": { # Represents a price and a pricing type for a product / deal. # Non-binding estimate of the estimated gross spend for this deal.
-            # Can be set by buyer or seller.
-          "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
-          "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
-            "nanos": 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.
-            "units": "A String", # The whole units of the amount.
-                # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-            "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-          },
-        },
-        "sellerTimeZone": "A String", # The time zone name. For deals with Cost Per Day billing, defines the
-            # time zone used to mark the boundaries of a day. It should be an
-            # IANA TZ name, such as "America/Los_Angeles". For more information,
-            # see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones.
-        "estimatedImpressionsPerDay": "A String", # Non-binding estimate of the impressions served per day.
-            # Can be set by buyer or seller.
-        "nonGuaranteedFixedPriceTerms": { # Terms for Preferred Deals. Note that Preferred Deals cannot be created via # The terms for non-guaranteed fixed price deals.
-            # the API at this time, but can be returned in a get or list request.
-          "fixedPrices": [ # Fixed price for the specified buyer.
-            { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
-                # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
-                # a particular buyer or buyer/advertiser pair, we look for the most specific
-                # matching rule - we first look for a rule matching the buyer and advertiser,
-                # next a rule with the buyer but an empty advertiser list, and otherwise look
-                # for a matching rule where no buyer is set.
-              "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
-                  # (if the
-                  # advertisers match, and there's no more specific rule matching the buyer).
-                  # Authorized Buyers account ID.
-                "accountId": "A String", # Authorized Buyers account ID of the buyer.
-              },
-              "advertiserIds": [ # The list of advertisers for this price when associated with this buyer.
-                  # If empty, all advertisers with this buyer pay this price.
-                "A String",
-              ],
-              "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
-                "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
-                "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
-                  "nanos": 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.
-                  "units": "A String", # The whole units of the amount.
-                      # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-                  "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-                },
-              },
-            },
-          ],
-        },
-        "guaranteedFixedPriceTerms": { # Terms for Programmatic Guaranteed Deals. # The terms for guaranteed fixed price deals.
-          "guaranteedImpressions": "A String", # Guaranteed impressions as a percentage. This is the percentage
-              # of guaranteed looks that the buyer is guaranteeing to buy.
-          "fixedPrices": [ # Fixed price for the specified buyer.
-            { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
-                # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
-                # a particular buyer or buyer/advertiser pair, we look for the most specific
-                # matching rule - we first look for a rule matching the buyer and advertiser,
-                # next a rule with the buyer but an empty advertiser list, and otherwise look
-                # for a matching rule where no buyer is set.
-              "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
-                  # (if the
-                  # advertisers match, and there's no more specific rule matching the buyer).
-                  # Authorized Buyers account ID.
-                "accountId": "A String", # Authorized Buyers account ID of the buyer.
-              },
-              "advertiserIds": [ # The list of advertisers for this price when associated with this buyer.
-                  # If empty, all advertisers with this buyer pay this price.
-                "A String",
-              ],
-              "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
-                "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
-                "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
-                  "nanos": 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.
-                  "units": "A String", # The whole units of the amount.
-                      # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-                  "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-                },
-              },
-            },
-          ],
-          "minimumDailyLooks": "A String", # Daily minimum looks for CPD deal types.
-          "guaranteedLooks": "A String", # Count of guaranteed looks. Required for deal, optional for product.
-        },
-        "nonGuaranteedAuctionTerms": { # Terms for Private Auctions. Note that Private Auctions can be created only # The terms for non-guaranteed auction deals.
-            # by the seller, but they can be returned in a get or list request.
-          "reservePricesPerBuyer": [ # Reserve price for the specified buyer.
-            { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
-                # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
-                # a particular buyer or buyer/advertiser pair, we look for the most specific
-                # matching rule - we first look for a rule matching the buyer and advertiser,
-                # next a rule with the buyer but an empty advertiser list, and otherwise look
-                # for a matching rule where no buyer is set.
-              "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
-                  # (if the
-                  # advertisers match, and there's no more specific rule matching the buyer).
-                  # Authorized Buyers account ID.
-                "accountId": "A String", # Authorized Buyers account ID of the buyer.
-              },
-              "advertiserIds": [ # The list of advertisers for this price when associated with this buyer.
-                  # If empty, all advertisers with this buyer pay this price.
-                "A String",
-              ],
-              "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
-                "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
-                "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
-                  "nanos": 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.
-                  "units": "A String", # The whole units of the amount.
-                      # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-                  "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-                },
-              },
-            },
-          ],
-          "autoOptimizePrivateAuction": True or False, # True if open auction buyers are allowed to compete with invited buyers
-              # in this private auction.
-        },
-        "description": "A String", # Publisher provided description for the terms.
-      },
-      "sellerContacts": [ # Output only. Seller contact information for the deal.
-        { # Contains information on how a buyer or seller can be reached.
-          "email": "A String", # Email address for the contact.
-          "name": "A String", # The name of the contact.
-        },
-      ],
-      "displayName": "A String", # The name of the deal.
-      "buyerPrivateData": { # Buyers are allowed to store certain types of private data in a proposal/deal. # Buyer private data (hidden from seller).
-        "referenceId": "A String", # A buyer or seller specified reference ID. This can be queried in the list
-            # operations (max-length: 1024 unicode code units).
-      },
-      "syndicationProduct": "A String", # The syndication product associated with the deal.
-          #
-          # Note: This field may be set only when creating the resource. Modifying
-          # this field while updating the resource will result in an error.
-      "targetingCriterion": [ # The shared targeting visible to buyers and sellers. Each shared
-          # targeting entity is AND'd together.
-        { # Advertisers can target different attributes of an ad slot. For example,
-            # they can choose to show ads only if the user is in the U.S. Such
-            # targeting criteria can be specified as part of Shared Targeting.
-          "inclusions": [ # The list of value to include as part of the targeting. Each value is OR'd
-              # together.
-            { # A polymorphic targeting value used as part of Shared Targeting.
-              "stringValue": "A String", # The string value to include/exclude.
-              "longValue": "A String", # The long value to include/exclude.
-              "dayPartTargetingValue": { # Specifies the day part targeting criteria. # The daypart targeting to include / exclude.
-                  # Filled in when the key is GOOG_DAYPART_TARGETING.
-                  # The definition of this targeting is derived from the structure
-                  # used by Ad Manager.
-                "dayParts": [ # A list of day part targeting criterion.
-                  { # Daypart targeting message that specifies if the ad can be shown
-                      # only during certain parts of a day/week.
-                    "dayOfWeek": "A String", # The day of the week to target. If unspecified, applicable to all days.
-                    "endTime": { # Represents a time of day. The date and time zone are either not significant # The ending time of the day for the ad to show (minute level
-                        # granularity). The end time is exclusive. This field is not available
-                        # for filtering in PQL queries.
-                        # or are specified elsewhere. An API may choose to allow leap seconds. Related
-                        # types are google.type.Date and `google.protobuf.Timestamp`.
-                      "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
-                          # to allow the value "24:00:00" for scenarios like business closing time.
-                      "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                      "seconds": 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.
-                      "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                    },
-                    "startTime": { # Represents a time of day. The date and time zone are either not significant # The starting time of day for the ad to show (minute level granularity).
-                        # The start time is inclusive.
-                        # This field is not available for filtering in PQL queries.
-                        # or are specified elsewhere. An API may choose to allow leap seconds. Related
-                        # types are google.type.Date and `google.protobuf.Timestamp`.
-                      "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
-                          # to allow the value "24:00:00" for scenarios like business closing time.
-                      "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                      "seconds": 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.
-                      "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                    },
-                  },
-                ],
-                "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
-              },
-              "creativeSizeValue": { # Specifies the size of the creative. # The creative size value to include/exclude.
-                  # Filled in when key = GOOG_CREATIVE_SIZE
-                "companionSizes": [ # For video creatives specifies the sizes of companion ads (if present).
-                    # Companion sizes may be filled in only when creative_size_type = VIDEO
-                  { # Message depicting the size of the creative. The units of width and
-                      # height depend on the type of the targeting.
-                    "width": 42, # The width of the creative
-                    "height": 42, # The height of the creative.
-                  },
-                ],
-                "nativeTemplate": "A String", # Output only. The native template for this creative. It will have a value
-                    # only if creative_size_type = CreativeSizeType.NATIVE.
-                "allowedFormats": [ # What formats are allowed by the publisher.
-                    # If this repeated field is empty then all formats are allowed.
-                    # For example, if this field contains AllowedFormatType.AUDIO then the
-                    # publisher only allows an audio ad (without any video).
-                  "A String",
-                ],
-                "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if
-                    # creative_size_type = CreativeSizeType.VIDEO.
-                "creativeSizeType": "A String", # The creative size type.
-                "size": { # Message depicting the size of the creative. The units of width and # For regular or video creative size type, specifies the size
-                    # of the creative
-                    # height depend on the type of the targeting.
-                  "width": 42, # The width of the creative
-                  "height": 42, # The height of the creative.
-                },
-              },
-            },
-          ],
-          "exclusions": [ # The list of values to exclude from targeting. Each value is AND'd
-              # together.
-            { # A polymorphic targeting value used as part of Shared Targeting.
-              "stringValue": "A String", # The string value to include/exclude.
-              "longValue": "A String", # The long value to include/exclude.
-              "dayPartTargetingValue": { # Specifies the day part targeting criteria. # The daypart targeting to include / exclude.
-                  # Filled in when the key is GOOG_DAYPART_TARGETING.
-                  # The definition of this targeting is derived from the structure
-                  # used by Ad Manager.
-                "dayParts": [ # A list of day part targeting criterion.
-                  { # Daypart targeting message that specifies if the ad can be shown
-                      # only during certain parts of a day/week.
-                    "dayOfWeek": "A String", # The day of the week to target. If unspecified, applicable to all days.
-                    "endTime": { # Represents a time of day. The date and time zone are either not significant # The ending time of the day for the ad to show (minute level
-                        # granularity). The end time is exclusive. This field is not available
-                        # for filtering in PQL queries.
-                        # or are specified elsewhere. An API may choose to allow leap seconds. Related
-                        # types are google.type.Date and `google.protobuf.Timestamp`.
-                      "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
-                          # to allow the value "24:00:00" for scenarios like business closing time.
-                      "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                      "seconds": 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.
-                      "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                    },
-                    "startTime": { # Represents a time of day. The date and time zone are either not significant # The starting time of day for the ad to show (minute level granularity).
-                        # The start time is inclusive.
-                        # This field is not available for filtering in PQL queries.
-                        # or are specified elsewhere. An API may choose to allow leap seconds. Related
-                        # types are google.type.Date and `google.protobuf.Timestamp`.
-                      "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
-                          # to allow the value "24:00:00" for scenarios like business closing time.
-                      "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                      "seconds": 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.
-                      "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                    },
-                  },
-                ],
-                "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
-              },
-              "creativeSizeValue": { # Specifies the size of the creative. # The creative size value to include/exclude.
-                  # Filled in when key = GOOG_CREATIVE_SIZE
-                "companionSizes": [ # For video creatives specifies the sizes of companion ads (if present).
-                    # Companion sizes may be filled in only when creative_size_type = VIDEO
-                  { # Message depicting the size of the creative. The units of width and
-                      # height depend on the type of the targeting.
-                    "width": 42, # The width of the creative
-                    "height": 42, # The height of the creative.
-                  },
-                ],
-                "nativeTemplate": "A String", # Output only. The native template for this creative. It will have a value
-                    # only if creative_size_type = CreativeSizeType.NATIVE.
-                "allowedFormats": [ # What formats are allowed by the publisher.
-                    # If this repeated field is empty then all formats are allowed.
-                    # For example, if this field contains AllowedFormatType.AUDIO then the
-                    # publisher only allows an audio ad (without any video).
-                  "A String",
-                ],
-                "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if
-                    # creative_size_type = CreativeSizeType.VIDEO.
-                "creativeSizeType": "A String", # The creative size type.
-                "size": { # Message depicting the size of the creative. The units of width and # For regular or video creative size type, specifies the size
-                    # of the creative
-                    # height depend on the type of the targeting.
-                  "width": 42, # The width of the creative
-                  "height": 42, # The height of the creative.
-                },
-              },
-            },
-          ],
-          "key": "A String", # The key representing the shared targeting criterion.
-              # Targeting criteria defined by Google ad servers will begin with GOOG_.
-              # Third parties may define their own keys.
-              # A list of permissible keys along with the acceptable values will be
-              # provided as part of the external documentation.
-        },
-      ],
-      "dealServingMetadata": { # Message captures metadata about the serving status of a deal. # Output only. Metadata about the serving status of this deal.
-        "dealPauseStatus": { # Tracks which parties (if any) have paused a deal. # Output only. Tracks which parties (if any) have paused a deal.
+      &quot;dealServingMetadata&quot;: { # Message captures metadata about the serving status of a deal. # Output only. Metadata about the serving status of this deal.
+        &quot;dealPauseStatus&quot;: { # Tracks which parties (if any) have paused a deal. # Output only. Tracks which parties (if any) have paused a deal.
             # The deal is considered paused if either hasBuyerPaused or
             # hasSellPaused is true.
-          "hasSellerPaused": True or False, # True, if the seller has paused the deal unilaterally.
-          "buyerPauseReason": "A String", # The buyer's reason for pausing, if the buyer paused the deal.
-          "sellerPauseReason": "A String", # The seller's reason for pausing, if the seller paused the deal.
-          "hasBuyerPaused": True or False, # True, if the buyer has paused the deal unilaterally.
-          "firstPausedBy": "A String", # The role of the person who first paused this deal.
+          &quot;firstPausedBy&quot;: &quot;A String&quot;, # The role of the person who first paused this deal.
+          &quot;sellerPauseReason&quot;: &quot;A String&quot;, # The seller&#x27;s reason for pausing, if the seller paused the deal.
+          &quot;hasSellerPaused&quot;: True or False, # True, if the seller has paused the deal unilaterally.
+          &quot;buyerPauseReason&quot;: &quot;A String&quot;, # The buyer&#x27;s reason for pausing, if the buyer paused the deal.
+          &quot;hasBuyerPaused&quot;: True or False, # True, if the buyer has paused the deal unilaterally.
         },
       },
-      "isSetupComplete": True or False, # Output only. True, if the buyside inventory setup is complete for this
-          # deal.
+      &quot;description&quot;: &quot;A String&quot;, # Description for the deal terms.
     },
   ],
-  "updateTime": "A String", # Output only. The time when the proposal was last revised.
-  "proposalState": "A String", # Output only. The current state of the proposal.
-  "proposalRevision": "A String", # Output only. The revision number for the proposal.
+  &quot;proposalRevision&quot;: &quot;A String&quot;, # Output only. The revision number for the proposal.
       # Each update to the proposal or the deal causes the proposal revision number
       # to auto-increment. The buyer keeps track of the last revision number they
       # know of and pass it in when making an update. If the head revision number
       # on the server has since incremented, then an ABORTED error is returned
       # during the update operation to let the buyer know that a subsequent update
       # was made.
-  "buyerPrivateData": { # Buyers are allowed to store certain types of private data in a proposal/deal. # Private data for buyer. (hidden from seller).
-    "referenceId": "A String", # A buyer or seller specified reference ID. This can be queried in the list
-        # operations (max-length: 1024 unicode code units).
-  },
-  "privateAuctionId": "A String", # Output only. Private auction ID if this proposal is a private auction
-      # proposal.
-  "notes": [ # Output only. The notes associated with this proposal.
-    { # A proposal may be associated to several notes.
-      "note": "A String", # The actual note to attach.
-          # (max-length: 1024 unicode code units)
-          #
-          # Note: This field may be set only when creating the resource. Modifying
-          # this field while updating the resource will result in an error.
-      "creatorRole": "A String", # Output only. The role of the person (buyer/seller) creating the note.
-      "proposalRevision": "A String", # Output only. The revision number of the proposal when the note is created.
-      "createTime": "A String", # Output only. The timestamp for when this note was created.
-      "noteId": "A String", # Output only. The unique ID for the note.
-    },
-  ],
-  "originatorRole": "A String", # Output only. Indicates whether the buyer/seller created the proposal.
-  "billedBuyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # Output only. Reference to the buyer that will get billed for this proposal.
-      # Authorized Buyers account ID.
-    "accountId": "A String", # Authorized Buyers account ID of the buyer.
-  },
-  "seller": { # Represents a seller of inventory. Each seller is identified by a unique # Reference to the seller on the proposal.
+  &quot;seller&quot;: { # Represents a seller of inventory. Each seller is identified by a unique # Reference to the seller on the proposal.
       # 
       # Note: This field may be set only when creating the resource. Modifying
       # this field while updating the resource will result in an error.
       # Ad Manager account ID.
-    "subAccountId": "A String", # Optional sub-account ID for the seller.
-    "accountId": "A String", # The unique ID for the seller. The seller fills in this field.
+    &quot;subAccountId&quot;: &quot;A String&quot;, # Optional sub-account ID for the seller.
+    &quot;accountId&quot;: &quot;A String&quot;, # The unique ID for the seller. The seller fills in this field.
         # The seller account ID is then available to buyer in the product.
   },
-  "sellerContacts": [ # Output only. Contact information for the seller.
-    { # Contains information on how a buyer or seller can be reached.
-      "email": "A String", # Email address for the contact.
-      "name": "A String", # The name of the contact.
-    },
-  ],
-  "proposalId": "A String", # Output only. The unique ID of the proposal.
-  "isRenegotiating": True or False, # Output only. True if the proposal is being renegotiated.
-  "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # Reference to the buyer on the proposal.
-      # 
-      # Note: This field may be set only when creating the resource. Modifying
-      # this field while updating the resource will result in an error.
-      # Authorized Buyers account ID.
-    "accountId": "A String", # Authorized Buyers account ID of the buyer.
-  },
-  "isSetupComplete": True or False, # Output only. True, if the buyside inventory setup is complete for this
-      # proposal.
-  "displayName": "A String", # The name for the proposal.
-  "lastUpdaterOrCommentorRole": "A String", # Output only. The role of the last user that either updated the proposal or
-      # left a comment.
-  "buyerContacts": [ # Contact information for the buyer.
-    { # Contains information on how a buyer or seller can be reached.
-      "email": "A String", # Email address for the contact.
-      "name": "A String", # The name of the contact.
-    },
-  ],
 }
 
   x__xgafv: string, V1 error format.
@@ -6513,55 +6513,508 @@
       # Auction or Preferred Deals deals through the API.
       #
       # Fields are updatable unless noted otherwise.
-    "deals": [ # The deals associated with this proposal. For Private Auction proposals
+    &quot;buyer&quot;: { # Represents a buyer of inventory. Each buyer is identified by a unique # Reference to the buyer on the proposal.
+        #
+        # Note: This field may be set only when creating the resource. Modifying
+        # this field while updating the resource will result in an error.
+        # Authorized Buyers account ID.
+      &quot;accountId&quot;: &quot;A String&quot;, # Authorized Buyers account ID of the buyer.
+    },
+    &quot;isRenegotiating&quot;: True or False, # Output only. True if the proposal is being renegotiated.
+    &quot;notes&quot;: [ # Output only. The notes associated with this proposal.
+      { # A proposal may be associated to several notes.
+        &quot;note&quot;: &quot;A String&quot;, # The actual note to attach.
+            # (max-length: 1024 unicode code units)
+            #
+            # Note: This field may be set only when creating the resource. Modifying
+            # this field while updating the resource will result in an error.
+        &quot;proposalRevision&quot;: &quot;A String&quot;, # Output only. The revision number of the proposal when the note is created.
+        &quot;noteId&quot;: &quot;A String&quot;, # Output only. The unique ID for the note.
+        &quot;createTime&quot;: &quot;A String&quot;, # Output only. The timestamp for when this note was created.
+        &quot;creatorRole&quot;: &quot;A String&quot;, # Output only. The role of the person (buyer/seller) creating the note.
+      },
+    ],
+    &quot;isSetupComplete&quot;: True or False, # Output only. True, if the buyside inventory setup is complete for this
+        # proposal.
+    &quot;proposalState&quot;: &quot;A String&quot;, # Output only. The current state of the proposal.
+    &quot;sellerContacts&quot;: [ # Output only. Contact information for the seller.
+      { # Contains information on how a buyer or seller can be reached.
+        &quot;email&quot;: &quot;A String&quot;, # Email address for the contact.
+        &quot;name&quot;: &quot;A String&quot;, # The name of the contact.
+      },
+    ],
+    &quot;privateAuctionId&quot;: &quot;A String&quot;, # Output only. Private auction ID if this proposal is a private auction
+        # proposal.
+    &quot;originatorRole&quot;: &quot;A String&quot;, # Output only. Indicates whether the buyer/seller created the proposal.
+    &quot;lastUpdaterOrCommentorRole&quot;: &quot;A String&quot;, # Output only. The role of the last user that either updated the proposal or
+        # left a comment.
+    &quot;buyerPrivateData&quot;: { # Buyers are allowed to store certain types of private data in a proposal/deal. # Private data for buyer. (hidden from seller).
+      &quot;referenceId&quot;: &quot;A String&quot;, # A buyer or seller specified reference ID. This can be queried in the list
+          # operations (max-length: 1024 unicode code units).
+    },
+    &quot;displayName&quot;: &quot;A String&quot;, # The name for the proposal.
+    &quot;buyerContacts&quot;: [ # Contact information for the buyer.
+      { # Contains information on how a buyer or seller can be reached.
+        &quot;email&quot;: &quot;A String&quot;, # Email address for the contact.
+        &quot;name&quot;: &quot;A String&quot;, # The name of the contact.
+      },
+    ],
+    &quot;billedBuyer&quot;: { # Represents a buyer of inventory. Each buyer is identified by a unique # Output only. Reference to the buyer that will get billed for this proposal.
+        # Authorized Buyers account ID.
+      &quot;accountId&quot;: &quot;A String&quot;, # Authorized Buyers account ID of the buyer.
+    },
+    &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time when the proposal was last revised.
+    &quot;proposalId&quot;: &quot;A String&quot;, # Output only. The unique ID of the proposal.
+    &quot;deals&quot;: [ # The deals associated with this proposal. For Private Auction proposals
         # (whose deals have NonGuaranteedAuctionTerms), there will only be one deal.
       { # A deal represents a segment of inventory for displaying ads on.
           # A proposal can contain multiple deals. A deal contains the terms and
           # targeting information that is used for serving.
-        "updateTime": "A String", # Output only. The time when the deal was last updated.
-        "createProductRevision": "A String", # Optional revision number of the product that the deal was created from.
+        &quot;programmaticCreativeSource&quot;: &quot;A String&quot;, # Output only. Specifies the creative source for programmatic deals.
+            # PUBLISHER means creative is provided by seller and ADVERTISER means
+            # creative is provided by buyer.
+        &quot;buyerPrivateData&quot;: { # Buyers are allowed to store certain types of private data in a proposal/deal. # Buyer private data (hidden from seller).
+          &quot;referenceId&quot;: &quot;A String&quot;, # A buyer or seller specified reference ID. This can be queried in the list
+              # operations (max-length: 1024 unicode code units).
+        },
+        &quot;displayName&quot;: &quot;A String&quot;, # The name of the deal.
+        &quot;webPropertyCode&quot;: &quot;A String&quot;, # The web property code for the seller copied over from the product.
+        &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time when the deal was last updated.
+        &quot;targetingCriterion&quot;: [ # The shared targeting visible to buyers and sellers. Each shared
+            # targeting entity is AND&#x27;d together.
+          { # Advertisers can target different attributes of an ad slot. For example,
+              # they can choose to show ads only if the user is in the U.S. Such
+              # targeting criteria can be specified as part of Shared Targeting.
+            &quot;exclusions&quot;: [ # The list of values to exclude from targeting. Each value is AND&#x27;d
+                # together.
+              { # A polymorphic targeting value used as part of Shared Targeting.
+                &quot;creativeSizeValue&quot;: { # Specifies the size of the creative. # The creative size value to include/exclude.
+                    # Filled in when key = GOOG_CREATIVE_SIZE
+                  &quot;size&quot;: { # Message depicting the size of the creative. The units of width and # For regular or video creative size type, specifies the size
+                      # of the creative
+                      # height depend on the type of the targeting.
+                    &quot;height&quot;: 42, # The height of the creative.
+                    &quot;width&quot;: 42, # The width of the creative
+                  },
+                  &quot;allowedFormats&quot;: [ # What formats are allowed by the publisher.
+                      # If this repeated field is empty then all formats are allowed.
+                      # For example, if this field contains AllowedFormatType.AUDIO then the
+                      # publisher only allows an audio ad (without any video).
+                    &quot;A String&quot;,
+                  ],
+                  &quot;companionSizes&quot;: [ # For video creatives specifies the sizes of companion ads (if present).
+                      # Companion sizes may be filled in only when creative_size_type = VIDEO
+                    { # Message depicting the size of the creative. The units of width and
+                        # height depend on the type of the targeting.
+                      &quot;height&quot;: 42, # The height of the creative.
+                      &quot;width&quot;: 42, # The width of the creative
+                    },
+                  ],
+                  &quot;skippableAdType&quot;: &quot;A String&quot;, # The type of skippable ad for this creative. It will have a value only if
+                      # creative_size_type = CreativeSizeType.VIDEO.
+                  &quot;creativeSizeType&quot;: &quot;A String&quot;, # The creative size type.
+                  &quot;nativeTemplate&quot;: &quot;A String&quot;, # Output only. The native template for this creative. It will have a value
+                      # only if creative_size_type = CreativeSizeType.NATIVE.
+                },
+                &quot;stringValue&quot;: &quot;A String&quot;, # The string value to include/exclude.
+                &quot;longValue&quot;: &quot;A String&quot;, # The long value to include/exclude.
+                &quot;dayPartTargetingValue&quot;: { # Specifies the day part targeting criteria. # The daypart targeting to include / exclude.
+                    # Filled in when the key is GOOG_DAYPART_TARGETING.
+                    # The definition of this targeting is derived from the structure
+                    # used by Ad Manager.
+                  &quot;timeZoneType&quot;: &quot;A String&quot;, # The timezone to use for interpreting the day part targeting.
+                  &quot;dayParts&quot;: [ # A list of day part targeting criterion.
+                    { # Daypart targeting message that specifies if the ad can be shown
+                        # only during certain parts of a day/week.
+                      &quot;startTime&quot;: { # Represents a time of day. The date and time zone are either not significant # The starting time of day for the ad to show (minute level granularity).
+                          # The start time is inclusive.
+                          # This field is not available for filtering in PQL queries.
+                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                          # types are google.type.Date and `google.protobuf.Timestamp`.
+                        &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;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;dayOfWeek&quot;: &quot;A String&quot;, # The day of the week to target. If unspecified, applicable to all days.
+                      &quot;endTime&quot;: { # Represents a time of day. The date and time zone are either not significant # The ending time of the day for the ad to show (minute level
+                          # granularity). The end time is exclusive. This field is not available
+                          # for filtering in PQL queries.
+                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                          # types are google.type.Date and `google.protobuf.Timestamp`.
+                        &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;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;key&quot;: &quot;A String&quot;, # The key representing the shared targeting criterion.
+                # Targeting criteria defined by Google ad servers will begin with GOOG_.
+                # Third parties may define their own keys.
+                # A list of permissible keys along with the acceptable values will be
+                # provided as part of the external documentation.
+            &quot;inclusions&quot;: [ # The list of value to include as part of the targeting. Each value is OR&#x27;d
+                # together.
+              { # A polymorphic targeting value used as part of Shared Targeting.
+                &quot;creativeSizeValue&quot;: { # Specifies the size of the creative. # The creative size value to include/exclude.
+                    # Filled in when key = GOOG_CREATIVE_SIZE
+                  &quot;size&quot;: { # Message depicting the size of the creative. The units of width and # For regular or video creative size type, specifies the size
+                      # of the creative
+                      # height depend on the type of the targeting.
+                    &quot;height&quot;: 42, # The height of the creative.
+                    &quot;width&quot;: 42, # The width of the creative
+                  },
+                  &quot;allowedFormats&quot;: [ # What formats are allowed by the publisher.
+                      # If this repeated field is empty then all formats are allowed.
+                      # For example, if this field contains AllowedFormatType.AUDIO then the
+                      # publisher only allows an audio ad (without any video).
+                    &quot;A String&quot;,
+                  ],
+                  &quot;companionSizes&quot;: [ # For video creatives specifies the sizes of companion ads (if present).
+                      # Companion sizes may be filled in only when creative_size_type = VIDEO
+                    { # Message depicting the size of the creative. The units of width and
+                        # height depend on the type of the targeting.
+                      &quot;height&quot;: 42, # The height of the creative.
+                      &quot;width&quot;: 42, # The width of the creative
+                    },
+                  ],
+                  &quot;skippableAdType&quot;: &quot;A String&quot;, # The type of skippable ad for this creative. It will have a value only if
+                      # creative_size_type = CreativeSizeType.VIDEO.
+                  &quot;creativeSizeType&quot;: &quot;A String&quot;, # The creative size type.
+                  &quot;nativeTemplate&quot;: &quot;A String&quot;, # Output only. The native template for this creative. It will have a value
+                      # only if creative_size_type = CreativeSizeType.NATIVE.
+                },
+                &quot;stringValue&quot;: &quot;A String&quot;, # The string value to include/exclude.
+                &quot;longValue&quot;: &quot;A String&quot;, # The long value to include/exclude.
+                &quot;dayPartTargetingValue&quot;: { # Specifies the day part targeting criteria. # The daypart targeting to include / exclude.
+                    # Filled in when the key is GOOG_DAYPART_TARGETING.
+                    # The definition of this targeting is derived from the structure
+                    # used by Ad Manager.
+                  &quot;timeZoneType&quot;: &quot;A String&quot;, # The timezone to use for interpreting the day part targeting.
+                  &quot;dayParts&quot;: [ # A list of day part targeting criterion.
+                    { # Daypart targeting message that specifies if the ad can be shown
+                        # only during certain parts of a day/week.
+                      &quot;startTime&quot;: { # Represents a time of day. The date and time zone are either not significant # The starting time of day for the ad to show (minute level granularity).
+                          # The start time is inclusive.
+                          # This field is not available for filtering in PQL queries.
+                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                          # types are google.type.Date and `google.protobuf.Timestamp`.
+                        &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;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;dayOfWeek&quot;: &quot;A String&quot;, # The day of the week to target. If unspecified, applicable to all days.
+                      &quot;endTime&quot;: { # Represents a time of day. The date and time zone are either not significant # The ending time of the day for the ad to show (minute level
+                          # granularity). The end time is exclusive. This field is not available
+                          # for filtering in PQL queries.
+                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                          # types are google.type.Date and `google.protobuf.Timestamp`.
+                        &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;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;dealId&quot;: &quot;A String&quot;, # Output only. A unique deal ID for the deal (server-assigned).
+        &quot;proposalId&quot;: &quot;A String&quot;, # Output only. ID of the proposal that this deal is part of.
+        &quot;availableEndTime&quot;: &quot;A String&quot;, # Proposed flight end time of the deal.
+            # This will generally be stored in a granularity of a second.
+            # A value is not required for Private Auction deals or Preferred Deals.
+        &quot;syndicationProduct&quot;: &quot;A String&quot;, # The syndication product associated with the deal.
+            #
+            # Note: This field may be set only when creating the resource. Modifying
+            # this field while updating the resource will result in an error.
+        &quot;createProductId&quot;: &quot;A String&quot;, # The product ID from which this deal was created.
+            #
+            # Note: This field may be set only when creating the resource. Modifying
+            # this field while updating the resource will result in an error.
+        &quot;creativeSafeFrameCompatibility&quot;: &quot;A String&quot;, # Output only. Specifies whether the creative is safeFrame compatible.
+        &quot;isSetupComplete&quot;: True or False, # Output only. True, if the buyside inventory setup is complete for this
+            # deal.
+        &quot;createProductRevision&quot;: &quot;A String&quot;, # Optional revision number of the product that the deal was created from.
             # If present on create, and the server `product_revision` has advanced sinced
             # the passed-in `create_product_revision`, an `ABORTED` error will be
             # returned.
             #
             # Note: This field may be set only when creating the resource. Modifying
             # this field while updating the resource will result in an error.
-        "programmaticCreativeSource": "A String", # Output only. Specifies the creative source for programmatic deals.
-            # PUBLISHER means creative is provided by seller and ADVERTISER means
-            # creative is provided by buyer.
-        "availableStartTime": "A String", # Optional proposed flight start time of the deal.
+        &quot;sellerContacts&quot;: [ # Output only. Seller contact information for the deal.
+          { # Contains information on how a buyer or seller can be reached.
+            &quot;email&quot;: &quot;A String&quot;, # Email address for the contact.
+            &quot;name&quot;: &quot;A String&quot;, # The name of the contact.
+          },
+        ],
+        &quot;availableStartTime&quot;: &quot;A String&quot;, # Optional proposed flight start time of the deal.
             # This will generally be stored in the granularity of one second since deal
             # serving starts at seconds boundary. Any time specified with more
             # granularity (e.g., in milliseconds) will be truncated towards the start of
             # time in seconds.
-        "availableEndTime": "A String", # Proposed flight end time of the deal.
-            # This will generally be stored in a granularity of a second.
-            # A value is not required for Private Auction deals or Preferred Deals.
-        "externalDealId": "A String", # Output only. The external deal ID assigned to this deal once the deal is
-            # finalized. This is the deal ID that shows up in serving/reporting etc.
-        "targeting": { # Targeting represents different criteria that can be used by advertisers to # Output only. Specifies the subset of inventory targeted by the deal.
+        &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time of the deal creation.
+        &quot;dealTerms&quot;: { # The deal terms specify the details of a Product/deal. They specify things # The negotiable terms of the deal.
+            # like price per buyer, the type of pricing model (e.g., fixed price, auction)
+            # and expected impressions from the publisher.
+          &quot;description&quot;: &quot;A String&quot;, # Publisher provided description for the terms.
+          &quot;nonGuaranteedFixedPriceTerms&quot;: { # Terms for Preferred Deals. Note that Preferred Deals cannot be created via # The terms for non-guaranteed fixed price deals.
+              # the API at this time, but can be returned in a get or list request.
+            &quot;fixedPrices&quot;: [ # Fixed price for the specified buyer.
+              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
+                  # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
+                  # a particular buyer or buyer/advertiser pair, we look for the most specific
+                  # matching rule - we first look for a rule matching the buyer and advertiser,
+                  # next a rule with the buyer but an empty advertiser list, and otherwise look
+                  # for a matching rule where no buyer is set.
+                &quot;price&quot;: { # Represents a price and a pricing type for a product / deal. # The specified price.
+                  &quot;amount&quot;: { # Represents an amount of money with its currency type. # The actual price with currency specified.
+                    &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+                    &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;pricingType&quot;: &quot;A String&quot;, # The pricing type for the deal/product. (default: CPM)
+                },
+                &quot;advertiserIds&quot;: [ # The list of advertisers for this price when associated with this buyer.
+                    # If empty, all advertisers with this buyer pay this price.
+                  &quot;A String&quot;,
+                ],
+                &quot;buyer&quot;: { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
+                    # (if the
+                    # advertisers match, and there&#x27;s no more specific rule matching the buyer).
+                    # Authorized Buyers account ID.
+                  &quot;accountId&quot;: &quot;A String&quot;, # Authorized Buyers account ID of the buyer.
+                },
+              },
+            ],
+          },
+          &quot;estimatedImpressionsPerDay&quot;: &quot;A String&quot;, # Non-binding estimate of the impressions served per day.
+              # Can be set by buyer or seller.
+          &quot;nonGuaranteedAuctionTerms&quot;: { # Terms for Private Auctions. Note that Private Auctions can be created only # The terms for non-guaranteed auction deals.
+              # by the seller, but they can be returned in a get or list request.
+            &quot;autoOptimizePrivateAuction&quot;: True or False, # True if open auction buyers are allowed to compete with invited buyers
+                # in this private auction.
+            &quot;reservePricesPerBuyer&quot;: [ # Reserve price for the specified buyer.
+              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
+                  # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
+                  # a particular buyer or buyer/advertiser pair, we look for the most specific
+                  # matching rule - we first look for a rule matching the buyer and advertiser,
+                  # next a rule with the buyer but an empty advertiser list, and otherwise look
+                  # for a matching rule where no buyer is set.
+                &quot;price&quot;: { # Represents a price and a pricing type for a product / deal. # The specified price.
+                  &quot;amount&quot;: { # Represents an amount of money with its currency type. # The actual price with currency specified.
+                    &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+                    &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;pricingType&quot;: &quot;A String&quot;, # The pricing type for the deal/product. (default: CPM)
+                },
+                &quot;advertiserIds&quot;: [ # The list of advertisers for this price when associated with this buyer.
+                    # If empty, all advertisers with this buyer pay this price.
+                  &quot;A String&quot;,
+                ],
+                &quot;buyer&quot;: { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
+                    # (if the
+                    # advertisers match, and there&#x27;s no more specific rule matching the buyer).
+                    # Authorized Buyers account ID.
+                  &quot;accountId&quot;: &quot;A String&quot;, # Authorized Buyers account ID of the buyer.
+                },
+              },
+            ],
+          },
+          &quot;estimatedGrossSpend&quot;: { # Represents a price and a pricing type for a product / deal. # Non-binding estimate of the estimated gross spend for this deal.
+              # Can be set by buyer or seller.
+            &quot;amount&quot;: { # Represents an amount of money with its currency type. # The actual price with currency specified.
+              &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+              &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;pricingType&quot;: &quot;A String&quot;, # The pricing type for the deal/product. (default: CPM)
+          },
+          &quot;brandingType&quot;: &quot;A String&quot;, # Visibility of the URL in bid requests. (default: BRANDED)
+          &quot;sellerTimeZone&quot;: &quot;A String&quot;, # The time zone name. For deals with Cost Per Day billing, defines the
+              # time zone used to mark the boundaries of a day. It should be an
+              # IANA TZ name, such as &quot;America/Los_Angeles&quot;. For more information,
+              # see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones.
+          &quot;guaranteedFixedPriceTerms&quot;: { # Terms for Programmatic Guaranteed Deals. # The terms for guaranteed fixed price deals.
+            &quot;guaranteedImpressions&quot;: &quot;A String&quot;, # Guaranteed impressions as a percentage. This is the percentage
+                # of guaranteed looks that the buyer is guaranteeing to buy.
+            &quot;minimumDailyLooks&quot;: &quot;A String&quot;, # Daily minimum looks for CPD deal types.
+            &quot;guaranteedLooks&quot;: &quot;A String&quot;, # Count of guaranteed looks. Required for deal, optional for product.
+            &quot;fixedPrices&quot;: [ # Fixed price for the specified buyer.
+              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
+                  # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
+                  # a particular buyer or buyer/advertiser pair, we look for the most specific
+                  # matching rule - we first look for a rule matching the buyer and advertiser,
+                  # next a rule with the buyer but an empty advertiser list, and otherwise look
+                  # for a matching rule where no buyer is set.
+                &quot;price&quot;: { # Represents a price and a pricing type for a product / deal. # The specified price.
+                  &quot;amount&quot;: { # Represents an amount of money with its currency type. # The actual price with currency specified.
+                    &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+                    &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;pricingType&quot;: &quot;A String&quot;, # The pricing type for the deal/product. (default: CPM)
+                },
+                &quot;advertiserIds&quot;: [ # The list of advertisers for this price when associated with this buyer.
+                    # If empty, all advertisers with this buyer pay this price.
+                  &quot;A String&quot;,
+                ],
+                &quot;buyer&quot;: { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
+                    # (if the
+                    # advertisers match, and there&#x27;s no more specific rule matching the buyer).
+                    # Authorized Buyers account ID.
+                  &quot;accountId&quot;: &quot;A String&quot;, # Authorized Buyers account ID of the buyer.
+                },
+              },
+            ],
+          },
+        },
+        &quot;targeting&quot;: { # Targeting represents different criteria that can be used by advertisers to # Output only. Specifies the subset of inventory targeted by the deal.
             # target ad inventory. For example, they can choose to target ad requests only
             # if the user is in the US.
             # Multiple types of targeting are always applied as a logical AND, unless noted
             # otherwise.
-          "placementTargeting": { # Represents targeting about where the ads can appear, e.g., certain sites or # Placement targeting information, e.g., URL, mobile applications.
-              # mobile applications.
-              # Different placement targeting types will be logically OR'ed.
-            "urlTargeting": { # Represents a list of targeted and excluded URLs (e.g., google.com). # URLs to be included/excluded.
-                # For Private Auction and AdX Preferred Deals, URLs are either included or
-                # excluded.
-                # For Programmatic Guaranteed and Preferred Deals, this doesn't
-                # apply.
-              "excludedUrls": [ # A list of URLs to be excluded.
-                "A String",
+          &quot;geoTargeting&quot;: { # Generic targeting used for targeting dimensions that contains a list of # Geo criteria IDs to be included/excluded.
+              # included and excluded numeric IDs.
+            &quot;targetedCriteriaIds&quot;: [ # A list of numeric IDs to be included.
+              &quot;A String&quot;,
+            ],
+            &quot;excludedCriteriaIds&quot;: [ # A list of numeric IDs to be excluded.
+              &quot;A String&quot;,
+            ],
+          },
+          &quot;inventorySizeTargeting&quot;: { # Represents the size of an ad unit that can be targeted on an ad # Inventory sizes to be included/excluded.
+              # request. It only applies to Private Auction, AdX Preferred Deals and
+              # Auction Packages. This targeting does not apply to Programmatic Guaranteed
+              # and Preferred Deals in Ad Manager.
+            &quot;targetedInventorySizes&quot;: [ # A list of inventory sizes to be included.
+              { # Represents size of a single ad slot, or a creative.
+                &quot;width&quot;: &quot;A String&quot;, # The width of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+                &quot;sizeType&quot;: &quot;A String&quot;, # The size type of the ad slot.
+                &quot;height&quot;: &quot;A String&quot;, # The height of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+              },
+            ],
+            &quot;excludedInventorySizes&quot;: [ # A list of inventory sizes to be excluded.
+              { # Represents size of a single ad slot, or a creative.
+                &quot;width&quot;: &quot;A String&quot;, # The width of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+                &quot;sizeType&quot;: &quot;A String&quot;, # The size type of the ad slot.
+                &quot;height&quot;: &quot;A String&quot;, # The height of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+              },
+            ],
+          },
+          &quot;videoTargeting&quot;: { # Represents targeting information about video. # Video targeting information.
+            &quot;targetedPositionTypes&quot;: [ # A list of video positions to be included.
+                # When the included list is present, the excluded list must be empty.
+                # When the excluded list is present, the included list must be empty.
+              &quot;A String&quot;,
+            ],
+            &quot;excludedPositionTypes&quot;: [ # A list of video positions to be excluded.
+                # Position types can either be included or excluded (XOR).
+              &quot;A String&quot;,
+            ],
+          },
+          &quot;technologyTargeting&quot;: { # Represents targeting about various types of technology. # Technology targeting information, e.g., operating system, device category.
+            &quot;deviceCapabilityTargeting&quot;: { # Generic targeting used for targeting dimensions that contains a list of # IDs of device capabilities to be included/excluded.
+                # included and excluded numeric IDs.
+              &quot;targetedCriteriaIds&quot;: [ # A list of numeric IDs to be included.
+                &quot;A String&quot;,
               ],
-              "targetedUrls": [ # A list of URLs to be included.
-                "A String",
+              &quot;excludedCriteriaIds&quot;: [ # A list of numeric IDs to be excluded.
+                &quot;A String&quot;,
               ],
             },
-            "mobileApplicationTargeting": { # Mobile application targeting settings. # Mobile application targeting information in a deal.
-                # This doesn't apply to Auction Packages.
-              "firstPartyTargeting": { # Represents a list of targeted and excluded mobile application IDs that # Publisher owned apps to be targeted or excluded by the publisher to
+            &quot;operatingSystemTargeting&quot;: { # Represents targeting information for operating systems. # Operating system related targeting information.
+              &quot;operatingSystemCriteria&quot;: { # Generic targeting used for targeting dimensions that contains a list of # IDs of operating systems to be included/excluded.
+                  # included and excluded numeric IDs.
+                &quot;targetedCriteriaIds&quot;: [ # A list of numeric IDs to be included.
+                  &quot;A String&quot;,
+                ],
+                &quot;excludedCriteriaIds&quot;: [ # A list of numeric IDs to be excluded.
+                  &quot;A String&quot;,
+                ],
+              },
+              &quot;operatingSystemVersionCriteria&quot;: { # Generic targeting used for targeting dimensions that contains a list of # IDs of operating system versions to be included/excluded.
+                  # included and excluded numeric IDs.
+                &quot;targetedCriteriaIds&quot;: [ # A list of numeric IDs to be included.
+                  &quot;A String&quot;,
+                ],
+                &quot;excludedCriteriaIds&quot;: [ # A list of numeric IDs to be excluded.
+                  &quot;A String&quot;,
+                ],
+              },
+            },
+            &quot;deviceCategoryTargeting&quot;: { # Generic targeting used for targeting dimensions that contains a list of # IDs of device categories to be included/excluded.
+                # included and excluded numeric IDs.
+              &quot;targetedCriteriaIds&quot;: [ # A list of numeric IDs to be included.
+                &quot;A String&quot;,
+              ],
+              &quot;excludedCriteriaIds&quot;: [ # A list of numeric IDs to be excluded.
+                &quot;A String&quot;,
+              ],
+            },
+          },
+          &quot;placementTargeting&quot;: { # Represents targeting about where the ads can appear, e.g., certain sites or # Placement targeting information, e.g., URL, mobile applications.
+              # mobile applications.
+              # Different placement targeting types will be logically OR&#x27;ed.
+            &quot;urlTargeting&quot;: { # Represents a list of targeted and excluded URLs (e.g., google.com). # URLs to be included/excluded.
+                # For Private Auction and AdX Preferred Deals, URLs are either included or
+                # excluded.
+                # For Programmatic Guaranteed and Preferred Deals, this doesn&#x27;t
+                # apply.
+              &quot;targetedUrls&quot;: [ # A list of URLs to be included.
+                &quot;A String&quot;,
+              ],
+              &quot;excludedUrls&quot;: [ # A list of URLs to be excluded.
+                &quot;A String&quot;,
+              ],
+            },
+            &quot;mobileApplicationTargeting&quot;: { # Mobile application targeting settings. # Mobile application targeting information in a deal.
+                # This doesn&#x27;t apply to Auction Packages.
+              &quot;firstPartyTargeting&quot;: { # Represents a list of targeted and excluded mobile application IDs that # Publisher owned apps to be targeted or excluded by the publisher to
                   # display the ads in.
                   # publishers own.
                   # Mobile application IDs are from App Store and Google Play Store.
@@ -6569,546 +7022,93 @@
                   # Google Play Store URL.
                   # iOS App ID (which is a number) can be found at the end of iTunes store URL.
                   # First party mobile applications is either included or excluded.
-                "excludedAppIds": [ # A list of application IDs to be excluded.
-                  "A String",
+                &quot;targetedAppIds&quot;: [ # A list of application IDs to be included.
+                  &quot;A String&quot;,
                 ],
-                "targetedAppIds": [ # A list of application IDs to be included.
-                  "A String",
+                &quot;excludedAppIds&quot;: [ # A list of application IDs to be excluded.
+                  &quot;A String&quot;,
                 ],
               },
             },
           },
-          "geoTargeting": { # Generic targeting used for targeting dimensions that contains a list of # Geo criteria IDs to be included/excluded.
-              # included and excluded numeric IDs.
-            "targetedCriteriaIds": [ # A list of numeric IDs to be included.
-              "A String",
-            ],
-            "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
-              "A String",
-            ],
-          },
-          "videoTargeting": { # Represents targeting information about video. # Video targeting information.
-            "excludedPositionTypes": [ # A list of video positions to be excluded.
-                # Position types can either be included or excluded (XOR).
-              "A String",
-            ],
-            "targetedPositionTypes": [ # A list of video positions to be included.
-                # When the included list is present, the excluded list must be empty.
-                # When the excluded list is present, the included list must be empty.
-              "A String",
-            ],
-          },
-          "technologyTargeting": { # Represents targeting about various types of technology. # Technology targeting information, e.g., operating system, device category.
-            "deviceCategoryTargeting": { # Generic targeting used for targeting dimensions that contains a list of # IDs of device categories to be included/excluded.
-                # included and excluded numeric IDs.
-              "targetedCriteriaIds": [ # A list of numeric IDs to be included.
-                "A String",
-              ],
-              "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
-                "A String",
-              ],
-            },
-            "operatingSystemTargeting": { # Represents targeting information for operating systems. # Operating system related targeting information.
-              "operatingSystemCriteria": { # Generic targeting used for targeting dimensions that contains a list of # IDs of operating systems to be included/excluded.
-                  # included and excluded numeric IDs.
-                "targetedCriteriaIds": [ # A list of numeric IDs to be included.
-                  "A String",
-                ],
-                "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
-                  "A String",
-                ],
-              },
-              "operatingSystemVersionCriteria": { # Generic targeting used for targeting dimensions that contains a list of # IDs of operating system versions to be included/excluded.
-                  # included and excluded numeric IDs.
-                "targetedCriteriaIds": [ # A list of numeric IDs to be included.
-                  "A String",
-                ],
-                "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
-                  "A String",
-                ],
-              },
-            },
-            "deviceCapabilityTargeting": { # Generic targeting used for targeting dimensions that contains a list of # IDs of device capabilities to be included/excluded.
-                # included and excluded numeric IDs.
-              "targetedCriteriaIds": [ # A list of numeric IDs to be included.
-                "A String",
-              ],
-              "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
-                "A String",
-              ],
-            },
-          },
-          "inventorySizeTargeting": { # Represents the size of an ad unit that can be targeted on an ad # Inventory sizes to be included/excluded.
-              # request. It only applies to Private Auction, AdX Preferred Deals and
-              # Auction Packages. This targeting does not apply to Programmatic Guaranteed
-              # and Preferred Deals in Ad Manager.
-            "targetedInventorySizes": [ # A list of inventory sizes to be included.
-              { # Represents size of a single ad slot, or a creative.
-                "width": "A String", # The width of the ad slot in pixels.
-                    # This field will be present only when size type is `PIXEL`.
-                "sizeType": "A String", # The size type of the ad slot.
-                "height": "A String", # The height of the ad slot in pixels.
-                    # This field will be present only when size type is `PIXEL`.
-              },
-            ],
-            "excludedInventorySizes": [ # A list of inventory sizes to be excluded.
-              { # Represents size of a single ad slot, or a creative.
-                "width": "A String", # The width of the ad slot in pixels.
-                    # This field will be present only when size type is `PIXEL`.
-                "sizeType": "A String", # The size type of the ad slot.
-                "height": "A String", # The height of the ad slot in pixels.
-                    # This field will be present only when size type is `PIXEL`.
-              },
-            ],
-          },
         },
-        "createTime": "A String", # Output only. The time of the deal creation.
-        "webPropertyCode": "A String", # The web property code for the seller copied over from the product.
-        "proposalId": "A String", # Output only. ID of the proposal that this deal is part of.
-        "deliveryControl": { # Message contains details about how the deals will be paced. # The set of fields around delivery control that are interesting for a buyer
+        &quot;creativePreApprovalPolicy&quot;: &quot;A String&quot;, # Output only. Specifies the creative pre-approval policy.
+        &quot;deliveryControl&quot;: { # Message contains details about how the deals will be paced. # The set of fields around delivery control that are interesting for a buyer
             # to see but are non-negotiable. These are set by the publisher.
-          "frequencyCaps": [ # Output only. Specifies any frequency caps.
+          &quot;deliveryRateType&quot;: &quot;A String&quot;, # Output only. Specifies how the impression delivery will be paced.
+          &quot;frequencyCaps&quot;: [ # Output only. Specifies any frequency caps.
             { # Frequency cap.
-              "numTimeUnits": 42, # The amount of time, in the units specified by time_unit_type. Defines the
+              &quot;numTimeUnits&quot;: 42, # The amount of time, in the units specified by time_unit_type. Defines the
                   # amount of time over which impressions per user are counted and capped.
-              "timeUnitType": "A String", # The time unit. Along with num_time_units defines the amount of time over
-                  # which impressions per user are counted and capped.
-              "maxImpressions": 42, # The maximum number of impressions that can be served to a user within the
+              &quot;maxImpressions&quot;: 42, # The maximum number of impressions that can be served to a user within the
                   # specified time period.
+              &quot;timeUnitType&quot;: &quot;A String&quot;, # The time unit. Along with num_time_units defines the amount of time over
+                  # which impressions per user are counted and capped.
             },
           ],
-          "creativeBlockingLevel": "A String", # Output only. Specified the creative blocking levels to be applied.
-          "deliveryRateType": "A String", # Output only. Specifies how the impression delivery will be paced.
+          &quot;creativeBlockingLevel&quot;: &quot;A String&quot;, # Output only. Specified the creative blocking levels to be applied.
         },
-        "description": "A String", # Description for the deal terms.
-        "dealId": "A String", # Output only. A unique deal ID for the deal (server-assigned).
-        "creativeSafeFrameCompatibility": "A String", # Output only. Specifies whether the creative is safeFrame compatible.
-        "creativePreApprovalPolicy": "A String", # Output only. Specifies the creative pre-approval policy.
-        "creativeRestrictions": { # Represents creative restrictions associated to Programmatic Guaranteed/ # Output only. Restricitions about the creatives associated with the deal
+        &quot;externalDealId&quot;: &quot;A String&quot;, # Output only. The external deal ID assigned to this deal once the deal is
+            # finalized. This is the deal ID that shows up in serving/reporting etc.
+        &quot;creativeRestrictions&quot;: { # Represents creative restrictions associated to Programmatic Guaranteed/ # Output only. Restricitions about the creatives associated with the deal
             # (i.e., size) This is available for Programmatic Guaranteed/Preferred Deals
             # in Ad Manager.
             # Preferred Deal in Ad Manager.
-            # This doesn't apply to Private Auction and AdX Preferred Deals.
-          "creativeFormat": "A String", # The format of the environment that the creatives will be displayed in.
-          "creativeSpecifications": [
+            # This doesn&#x27;t apply to Private Auction and AdX Preferred Deals.
+          &quot;creativeFormat&quot;: &quot;A String&quot;, # The format of the environment that the creatives will be displayed in.
+          &quot;creativeSpecifications&quot;: [
             { # Represents information for a creative that is associated with a Programmatic
                 # Guaranteed/Preferred Deal in Ad Manager.
-              "creativeSize": { # Represents size of a single ad slot, or a creative. # The size of the creative.
-                "width": "A String", # The width of the ad slot in pixels.
+              &quot;creativeSize&quot;: { # Represents size of a single ad slot, or a creative. # The size of the creative.
+                &quot;width&quot;: &quot;A String&quot;, # The width of the ad slot in pixels.
                     # This field will be present only when size type is `PIXEL`.
-                "sizeType": "A String", # The size type of the ad slot.
-                "height": "A String", # The height of the ad slot in pixels.
+                &quot;sizeType&quot;: &quot;A String&quot;, # The size type of the ad slot.
+                &quot;height&quot;: &quot;A String&quot;, # The height of the ad slot in pixels.
                     # This field will be present only when size type is `PIXEL`.
               },
-              "creativeCompanionSizes": [ # Companion sizes may be filled in only when this is a video creative.
+              &quot;creativeCompanionSizes&quot;: [ # Companion sizes may be filled in only when this is a video creative.
                 { # Represents size of a single ad slot, or a creative.
-                  "width": "A String", # The width of the ad slot in pixels.
+                  &quot;width&quot;: &quot;A String&quot;, # The width of the ad slot in pixels.
                       # This field will be present only when size type is `PIXEL`.
-                  "sizeType": "A String", # The size type of the ad slot.
-                  "height": "A String", # The height of the ad slot in pixels.
+                  &quot;sizeType&quot;: &quot;A String&quot;, # The size type of the ad slot.
+                  &quot;height&quot;: &quot;A String&quot;, # The height of the ad slot in pixels.
                       # This field will be present only when size type is `PIXEL`.
                 },
               ],
             },
           ],
-          "skippableAdType": "A String", # Skippable video ads allow viewers to skip ads after 5 seconds.
+          &quot;skippableAdType&quot;: &quot;A String&quot;, # Skippable video ads allow viewers to skip ads after 5 seconds.
         },
-        "createProductId": "A String", # The product ID from which this deal was created.
-            #
-            # Note: This field may be set only when creating the resource. Modifying
-            # this field while updating the resource will result in an error.
-        "dealTerms": { # The deal terms specify the details of a Product/deal. They specify things # The negotiable terms of the deal.
-            # like price per buyer, the type of pricing model (e.g., fixed price, auction)
-            # and expected impressions from the publisher.
-          "brandingType": "A String", # Visibility of the URL in bid requests. (default: BRANDED)
-          "estimatedGrossSpend": { # Represents a price and a pricing type for a product / deal. # Non-binding estimate of the estimated gross spend for this deal.
-              # Can be set by buyer or seller.
-            "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
-            "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
-              "nanos": 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.
-              "units": "A String", # The whole units of the amount.
-                  # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-              "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-            },
-          },
-          "sellerTimeZone": "A String", # The time zone name. For deals with Cost Per Day billing, defines the
-              # time zone used to mark the boundaries of a day. It should be an
-              # IANA TZ name, such as "America/Los_Angeles". For more information,
-              # see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones.
-          "estimatedImpressionsPerDay": "A String", # Non-binding estimate of the impressions served per day.
-              # Can be set by buyer or seller.
-          "nonGuaranteedFixedPriceTerms": { # Terms for Preferred Deals. Note that Preferred Deals cannot be created via # The terms for non-guaranteed fixed price deals.
-              # the API at this time, but can be returned in a get or list request.
-            "fixedPrices": [ # Fixed price for the specified buyer.
-              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
-                  # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
-                  # a particular buyer or buyer/advertiser pair, we look for the most specific
-                  # matching rule - we first look for a rule matching the buyer and advertiser,
-                  # next a rule with the buyer but an empty advertiser list, and otherwise look
-                  # for a matching rule where no buyer is set.
-                "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
-                    # (if the
-                    # advertisers match, and there's no more specific rule matching the buyer).
-                    # Authorized Buyers account ID.
-                  "accountId": "A String", # Authorized Buyers account ID of the buyer.
-                },
-                "advertiserIds": [ # The list of advertisers for this price when associated with this buyer.
-                    # If empty, all advertisers with this buyer pay this price.
-                  "A String",
-                ],
-                "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
-                  "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
-                  "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
-                    "nanos": 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.
-                    "units": "A String", # The whole units of the amount.
-                        # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-                    "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-                  },
-                },
-              },
-            ],
-          },
-          "guaranteedFixedPriceTerms": { # Terms for Programmatic Guaranteed Deals. # The terms for guaranteed fixed price deals.
-            "guaranteedImpressions": "A String", # Guaranteed impressions as a percentage. This is the percentage
-                # of guaranteed looks that the buyer is guaranteeing to buy.
-            "fixedPrices": [ # Fixed price for the specified buyer.
-              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
-                  # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
-                  # a particular buyer or buyer/advertiser pair, we look for the most specific
-                  # matching rule - we first look for a rule matching the buyer and advertiser,
-                  # next a rule with the buyer but an empty advertiser list, and otherwise look
-                  # for a matching rule where no buyer is set.
-                "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
-                    # (if the
-                    # advertisers match, and there's no more specific rule matching the buyer).
-                    # Authorized Buyers account ID.
-                  "accountId": "A String", # Authorized Buyers account ID of the buyer.
-                },
-                "advertiserIds": [ # The list of advertisers for this price when associated with this buyer.
-                    # If empty, all advertisers with this buyer pay this price.
-                  "A String",
-                ],
-                "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
-                  "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
-                  "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
-                    "nanos": 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.
-                    "units": "A String", # The whole units of the amount.
-                        # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-                    "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-                  },
-                },
-              },
-            ],
-            "minimumDailyLooks": "A String", # Daily minimum looks for CPD deal types.
-            "guaranteedLooks": "A String", # Count of guaranteed looks. Required for deal, optional for product.
-          },
-          "nonGuaranteedAuctionTerms": { # Terms for Private Auctions. Note that Private Auctions can be created only # The terms for non-guaranteed auction deals.
-              # by the seller, but they can be returned in a get or list request.
-            "reservePricesPerBuyer": [ # Reserve price for the specified buyer.
-              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
-                  # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
-                  # a particular buyer or buyer/advertiser pair, we look for the most specific
-                  # matching rule - we first look for a rule matching the buyer and advertiser,
-                  # next a rule with the buyer but an empty advertiser list, and otherwise look
-                  # for a matching rule where no buyer is set.
-                "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
-                    # (if the
-                    # advertisers match, and there's no more specific rule matching the buyer).
-                    # Authorized Buyers account ID.
-                  "accountId": "A String", # Authorized Buyers account ID of the buyer.
-                },
-                "advertiserIds": [ # The list of advertisers for this price when associated with this buyer.
-                    # If empty, all advertisers with this buyer pay this price.
-                  "A String",
-                ],
-                "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
-                  "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
-                  "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
-                    "nanos": 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.
-                    "units": "A String", # The whole units of the amount.
-                        # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-                    "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
-                  },
-                },
-              },
-            ],
-            "autoOptimizePrivateAuction": True or False, # True if open auction buyers are allowed to compete with invited buyers
-                # in this private auction.
-          },
-          "description": "A String", # Publisher provided description for the terms.
-        },
-        "sellerContacts": [ # Output only. Seller contact information for the deal.
-          { # Contains information on how a buyer or seller can be reached.
-            "email": "A String", # Email address for the contact.
-            "name": "A String", # The name of the contact.
-          },
-        ],
-        "displayName": "A String", # The name of the deal.
-        "buyerPrivateData": { # Buyers are allowed to store certain types of private data in a proposal/deal. # Buyer private data (hidden from seller).
-          "referenceId": "A String", # A buyer or seller specified reference ID. This can be queried in the list
-              # operations (max-length: 1024 unicode code units).
-        },
-        "syndicationProduct": "A String", # The syndication product associated with the deal.
-            #
-            # Note: This field may be set only when creating the resource. Modifying
-            # this field while updating the resource will result in an error.
-        "targetingCriterion": [ # The shared targeting visible to buyers and sellers. Each shared
-            # targeting entity is AND'd together.
-          { # Advertisers can target different attributes of an ad slot. For example,
-              # they can choose to show ads only if the user is in the U.S. Such
-              # targeting criteria can be specified as part of Shared Targeting.
-            "inclusions": [ # The list of value to include as part of the targeting. Each value is OR'd
-                # together.
-              { # A polymorphic targeting value used as part of Shared Targeting.
-                "stringValue": "A String", # The string value to include/exclude.
-                "longValue": "A String", # The long value to include/exclude.
-                "dayPartTargetingValue": { # Specifies the day part targeting criteria. # The daypart targeting to include / exclude.
-                    # Filled in when the key is GOOG_DAYPART_TARGETING.
-                    # The definition of this targeting is derived from the structure
-                    # used by Ad Manager.
-                  "dayParts": [ # A list of day part targeting criterion.
-                    { # Daypart targeting message that specifies if the ad can be shown
-                        # only during certain parts of a day/week.
-                      "dayOfWeek": "A String", # The day of the week to target. If unspecified, applicable to all days.
-                      "endTime": { # Represents a time of day. The date and time zone are either not significant # The ending time of the day for the ad to show (minute level
-                          # granularity). The end time is exclusive. This field is not available
-                          # for filtering in PQL queries.
-                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
-                          # types are google.type.Date and `google.protobuf.Timestamp`.
-                        "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
-                            # to allow the value "24:00:00" for scenarios like business closing time.
-                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                        "seconds": 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.
-                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                      },
-                      "startTime": { # Represents a time of day. The date and time zone are either not significant # The starting time of day for the ad to show (minute level granularity).
-                          # The start time is inclusive.
-                          # This field is not available for filtering in PQL queries.
-                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
-                          # types are google.type.Date and `google.protobuf.Timestamp`.
-                        "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
-                            # to allow the value "24:00:00" for scenarios like business closing time.
-                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                        "seconds": 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.
-                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                      },
-                    },
-                  ],
-                  "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
-                },
-                "creativeSizeValue": { # Specifies the size of the creative. # The creative size value to include/exclude.
-                    # Filled in when key = GOOG_CREATIVE_SIZE
-                  "companionSizes": [ # For video creatives specifies the sizes of companion ads (if present).
-                      # Companion sizes may be filled in only when creative_size_type = VIDEO
-                    { # Message depicting the size of the creative. The units of width and
-                        # height depend on the type of the targeting.
-                      "width": 42, # The width of the creative
-                      "height": 42, # The height of the creative.
-                    },
-                  ],
-                  "nativeTemplate": "A String", # Output only. The native template for this creative. It will have a value
-                      # only if creative_size_type = CreativeSizeType.NATIVE.
-                  "allowedFormats": [ # What formats are allowed by the publisher.
-                      # If this repeated field is empty then all formats are allowed.
-                      # For example, if this field contains AllowedFormatType.AUDIO then the
-                      # publisher only allows an audio ad (without any video).
-                    "A String",
-                  ],
-                  "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if
-                      # creative_size_type = CreativeSizeType.VIDEO.
-                  "creativeSizeType": "A String", # The creative size type.
-                  "size": { # Message depicting the size of the creative. The units of width and # For regular or video creative size type, specifies the size
-                      # of the creative
-                      # height depend on the type of the targeting.
-                    "width": 42, # The width of the creative
-                    "height": 42, # The height of the creative.
-                  },
-                },
-              },
-            ],
-            "exclusions": [ # The list of values to exclude from targeting. Each value is AND'd
-                # together.
-              { # A polymorphic targeting value used as part of Shared Targeting.
-                "stringValue": "A String", # The string value to include/exclude.
-                "longValue": "A String", # The long value to include/exclude.
-                "dayPartTargetingValue": { # Specifies the day part targeting criteria. # The daypart targeting to include / exclude.
-                    # Filled in when the key is GOOG_DAYPART_TARGETING.
-                    # The definition of this targeting is derived from the structure
-                    # used by Ad Manager.
-                  "dayParts": [ # A list of day part targeting criterion.
-                    { # Daypart targeting message that specifies if the ad can be shown
-                        # only during certain parts of a day/week.
-                      "dayOfWeek": "A String", # The day of the week to target. If unspecified, applicable to all days.
-                      "endTime": { # Represents a time of day. The date and time zone are either not significant # The ending time of the day for the ad to show (minute level
-                          # granularity). The end time is exclusive. This field is not available
-                          # for filtering in PQL queries.
-                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
-                          # types are google.type.Date and `google.protobuf.Timestamp`.
-                        "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
-                            # to allow the value "24:00:00" for scenarios like business closing time.
-                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                        "seconds": 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.
-                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                      },
-                      "startTime": { # Represents a time of day. The date and time zone are either not significant # The starting time of day for the ad to show (minute level granularity).
-                          # The start time is inclusive.
-                          # This field is not available for filtering in PQL queries.
-                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
-                          # types are google.type.Date and `google.protobuf.Timestamp`.
-                        "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
-                            # to allow the value "24:00:00" for scenarios like business closing time.
-                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                        "seconds": 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.
-                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                      },
-                    },
-                  ],
-                  "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
-                },
-                "creativeSizeValue": { # Specifies the size of the creative. # The creative size value to include/exclude.
-                    # Filled in when key = GOOG_CREATIVE_SIZE
-                  "companionSizes": [ # For video creatives specifies the sizes of companion ads (if present).
-                      # Companion sizes may be filled in only when creative_size_type = VIDEO
-                    { # Message depicting the size of the creative. The units of width and
-                        # height depend on the type of the targeting.
-                      "width": 42, # The width of the creative
-                      "height": 42, # The height of the creative.
-                    },
-                  ],
-                  "nativeTemplate": "A String", # Output only. The native template for this creative. It will have a value
-                      # only if creative_size_type = CreativeSizeType.NATIVE.
-                  "allowedFormats": [ # What formats are allowed by the publisher.
-                      # If this repeated field is empty then all formats are allowed.
-                      # For example, if this field contains AllowedFormatType.AUDIO then the
-                      # publisher only allows an audio ad (without any video).
-                    "A String",
-                  ],
-                  "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if
-                      # creative_size_type = CreativeSizeType.VIDEO.
-                  "creativeSizeType": "A String", # The creative size type.
-                  "size": { # Message depicting the size of the creative. The units of width and # For regular or video creative size type, specifies the size
-                      # of the creative
-                      # height depend on the type of the targeting.
-                    "width": 42, # The width of the creative
-                    "height": 42, # The height of the creative.
-                  },
-                },
-              },
-            ],
-            "key": "A String", # The key representing the shared targeting criterion.
-                # Targeting criteria defined by Google ad servers will begin with GOOG_.
-                # Third parties may define their own keys.
-                # A list of permissible keys along with the acceptable values will be
-                # provided as part of the external documentation.
-          },
-        ],
-        "dealServingMetadata": { # Message captures metadata about the serving status of a deal. # Output only. Metadata about the serving status of this deal.
-          "dealPauseStatus": { # Tracks which parties (if any) have paused a deal. # Output only. Tracks which parties (if any) have paused a deal.
+        &quot;dealServingMetadata&quot;: { # Message captures metadata about the serving status of a deal. # Output only. Metadata about the serving status of this deal.
+          &quot;dealPauseStatus&quot;: { # Tracks which parties (if any) have paused a deal. # Output only. Tracks which parties (if any) have paused a deal.
               # The deal is considered paused if either hasBuyerPaused or
               # hasSellPaused is true.
-            "hasSellerPaused": True or False, # True, if the seller has paused the deal unilaterally.
-            "buyerPauseReason": "A String", # The buyer's reason for pausing, if the buyer paused the deal.
-            "sellerPauseReason": "A String", # The seller's reason for pausing, if the seller paused the deal.
-            "hasBuyerPaused": True or False, # True, if the buyer has paused the deal unilaterally.
-            "firstPausedBy": "A String", # The role of the person who first paused this deal.
+            &quot;firstPausedBy&quot;: &quot;A String&quot;, # The role of the person who first paused this deal.
+            &quot;sellerPauseReason&quot;: &quot;A String&quot;, # The seller&#x27;s reason for pausing, if the seller paused the deal.
+            &quot;hasSellerPaused&quot;: True or False, # True, if the seller has paused the deal unilaterally.
+            &quot;buyerPauseReason&quot;: &quot;A String&quot;, # The buyer&#x27;s reason for pausing, if the buyer paused the deal.
+            &quot;hasBuyerPaused&quot;: True or False, # True, if the buyer has paused the deal unilaterally.
           },
         },
-        "isSetupComplete": True or False, # Output only. True, if the buyside inventory setup is complete for this
-            # deal.
+        &quot;description&quot;: &quot;A String&quot;, # Description for the deal terms.
       },
     ],
-    "updateTime": "A String", # Output only. The time when the proposal was last revised.
-    "proposalState": "A String", # Output only. The current state of the proposal.
-    "proposalRevision": "A String", # Output only. The revision number for the proposal.
+    &quot;proposalRevision&quot;: &quot;A String&quot;, # Output only. The revision number for the proposal.
         # Each update to the proposal or the deal causes the proposal revision number
         # to auto-increment. The buyer keeps track of the last revision number they
         # know of and pass it in when making an update. If the head revision number
         # on the server has since incremented, then an ABORTED error is returned
         # during the update operation to let the buyer know that a subsequent update
         # was made.
-    "buyerPrivateData": { # Buyers are allowed to store certain types of private data in a proposal/deal. # Private data for buyer. (hidden from seller).
-      "referenceId": "A String", # A buyer or seller specified reference ID. This can be queried in the list
-          # operations (max-length: 1024 unicode code units).
-    },
-    "privateAuctionId": "A String", # Output only. Private auction ID if this proposal is a private auction
-        # proposal.
-    "notes": [ # Output only. The notes associated with this proposal.
-      { # A proposal may be associated to several notes.
-        "note": "A String", # The actual note to attach.
-            # (max-length: 1024 unicode code units)
-            #
-            # Note: This field may be set only when creating the resource. Modifying
-            # this field while updating the resource will result in an error.
-        "creatorRole": "A String", # Output only. The role of the person (buyer/seller) creating the note.
-        "proposalRevision": "A String", # Output only. The revision number of the proposal when the note is created.
-        "createTime": "A String", # Output only. The timestamp for when this note was created.
-        "noteId": "A String", # Output only. The unique ID for the note.
-      },
-    ],
-    "originatorRole": "A String", # Output only. Indicates whether the buyer/seller created the proposal.
-    "billedBuyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # Output only. Reference to the buyer that will get billed for this proposal.
-        # Authorized Buyers account ID.
-      "accountId": "A String", # Authorized Buyers account ID of the buyer.
-    },
-    "seller": { # Represents a seller of inventory. Each seller is identified by a unique # Reference to the seller on the proposal.
+    &quot;seller&quot;: { # Represents a seller of inventory. Each seller is identified by a unique # Reference to the seller on the proposal.
         #
         # Note: This field may be set only when creating the resource. Modifying
         # this field while updating the resource will result in an error.
         # Ad Manager account ID.
-      "subAccountId": "A String", # Optional sub-account ID for the seller.
-      "accountId": "A String", # The unique ID for the seller. The seller fills in this field.
+      &quot;subAccountId&quot;: &quot;A String&quot;, # Optional sub-account ID for the seller.
+      &quot;accountId&quot;: &quot;A String&quot;, # The unique ID for the seller. The seller fills in this field.
           # The seller account ID is then available to buyer in the product.
     },
-    "sellerContacts": [ # Output only. Contact information for the seller.
-      { # Contains information on how a buyer or seller can be reached.
-        "email": "A String", # Email address for the contact.
-        "name": "A String", # The name of the contact.
-      },
-    ],
-    "proposalId": "A String", # Output only. The unique ID of the proposal.
-    "isRenegotiating": True or False, # Output only. True if the proposal is being renegotiated.
-    "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # Reference to the buyer on the proposal.
-        #
-        # Note: This field may be set only when creating the resource. Modifying
-        # this field while updating the resource will result in an error.
-        # Authorized Buyers account ID.
-      "accountId": "A String", # Authorized Buyers account ID of the buyer.
-    },
-    "isSetupComplete": True or False, # Output only. True, if the buyside inventory setup is complete for this
-        # proposal.
-    "displayName": "A String", # The name for the proposal.
-    "lastUpdaterOrCommentorRole": "A String", # Output only. The role of the last user that either updated the proposal or
-        # left a comment.
-    "buyerContacts": [ # Contact information for the buyer.
-      { # Contains information on how a buyer or seller can be reached.
-        "email": "A String", # Email address for the contact.
-        "name": "A String", # The name of the contact.
-      },
-    ],
   }</pre>
 </div>