chore: regens API reference docs (#889)

diff --git a/docs/dyn/adexchangebuyer2_v2beta1.accounts.proposals.html b/docs/dyn/adexchangebuyer2_v2beta1.accounts.proposals.html
index aff4cb1..867343f 100644
--- a/docs/dyn/adexchangebuyer2_v2beta1.accounts.proposals.html
+++ b/docs/dyn/adexchangebuyer2_v2beta1.accounts.proposals.html
@@ -75,10 +75,10 @@
 <h1><a href="adexchangebuyer2_v2beta1.html">Ad Exchange Buyer API II</a> . <a href="adexchangebuyer2_v2beta1.accounts.html">accounts</a> . <a href="adexchangebuyer2_v2beta1.accounts.proposals.html">proposals</a></h1>
 <h2>Instance Methods</h2>
 <p class="toc_element">
-  <code><a href="#accept">accept(accountId, proposalId, body, x__xgafv=None)</a></code></p>
+  <code><a href="#accept">accept(accountId, proposalId, body=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Mark the proposal as accepted at the given revision number. If the number</p>
 <p class="toc_element">
-  <code><a href="#addNote">addNote(accountId, proposalId, body, x__xgafv=None)</a></code></p>
+  <code><a href="#addNote">addNote(accountId, proposalId, body=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Create a new note and attach it to the proposal. The note is assigned</p>
 <p class="toc_element">
   <code><a href="#cancelNegotiation">cancelNegotiation(accountId, proposalId, body=None, x__xgafv=None)</a></code></p>
@@ -87,7 +87,7 @@
   <code><a href="#completeSetup">completeSetup(accountId, proposalId, body=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Update the given proposal to indicate that setup has been completed.</p>
 <p class="toc_element">
-  <code><a href="#create">create(accountId, body, x__xgafv=None)</a></code></p>
+  <code><a href="#create">create(accountId, body=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Create the given proposal. Each created proposal and any deals it contains</p>
 <p class="toc_element">
   <code><a href="#get">get(accountId, proposalId, x__xgafv=None)</a></code></p>
@@ -99,17 +99,17 @@
   <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
 <p class="firstline">Retrieves the next page of results.</p>
 <p class="toc_element">
-  <code><a href="#pause">pause(accountId, proposalId, body, x__xgafv=None)</a></code></p>
+  <code><a href="#pause">pause(accountId, proposalId, body=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Update the given proposal to pause serving.</p>
 <p class="toc_element">
   <code><a href="#resume">resume(accountId, proposalId, body=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Update the given proposal to resume serving.</p>
 <p class="toc_element">
-  <code><a href="#update">update(accountId, proposalId, body, x__xgafv=None)</a></code></p>
+  <code><a href="#update">update(accountId, proposalId, body=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Update the given proposal at the client known revision number. If the</p>
 <h3>Method Details</h3>
 <div class="method">
-    <code class="details" id="accept">accept(accountId, proposalId, body, x__xgafv=None)</code>
+    <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
 be returned. This call updates the proposal_state from `PROPOSED` to
@@ -118,7 +118,7 @@
 Args:
   accountId: string, Account ID of the buyer. (required)
   proposalId: string, The ID of the proposal to accept. (required)
-  body: object, The request body. (required)
+  body: object, The request body.
     The object takes the form of:
 
 { # Request to accept a proposal.
@@ -144,41 +144,6 @@
       # Auction or Preferred Deals deals through the API.
       #
       # Fields are updatable unless noted otherwise.
-    "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.
-      },
-    ],
-    "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.
-        # 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.
-    "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.
-    },
-    "originatorRole": "A String", # Output only. Indicates whether the buyer/seller created the proposal.
-    "seller": { # 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.
-          # The seller account ID is then available to buyer in the product.
-    },
     "deals": [ # 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.
@@ -192,12 +157,9 @@
             #
             # Note: This field may be set only when creating the resource. Modifying
             # this field while updating the resource will result in an error.
-        "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.
-          },
-        ],
+        "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.
             # This will generally be stored in the granularity of one second since deal
             # serving starts at seconds boundary. Any time specified with more
@@ -206,40 +168,56 @@
         "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.
-        "creativeRestrictions": { # 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.
-          "skippableAdType": "A String", # Skippable video ads allow viewers to skip ads after 5 seconds.
-          "creativeSpecifications": [
-            { # 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.
-                    # 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`.
-              },
-              "creativeCompanionSizes": [ # 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.
-                      # 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`.
-                },
-              ],
-            },
-          ],
-        },
+        "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.
             # 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",
+              ],
+              "targetedUrls": [ # A list of URLs to be included.
+                "A String",
+              ],
+            },
+            "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
+                  # display the ads in.
+                  # publishers own.
+                  # Mobile application IDs are from App Store and Google Play Store.
+                  # Android App ID, for example, com.google.android.apps.maps, can be found in
+                  # 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",
+                ],
+                "targetedAppIds": [ # A list of application IDs to be included.
+                  "A String",
+                ],
+              },
+            },
+          },
+          "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).
@@ -291,49 +269,6 @@
               ],
             },
           },
-          "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",
-            ],
-          },
-          "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",
-              ],
-              "targetedUrls": [ # A list of URLs to be included.
-                "A String",
-              ],
-            },
-            "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
-                  # display the ads in.
-                  # publishers own.
-                  # Mobile application IDs are from App Store and Google Play Store.
-                  # Android App ID, for example, com.google.android.apps.maps, can be found in
-                  # 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",
-                ],
-                "targetedAppIds": [ # A list of application IDs to be included.
-                  "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
@@ -358,10 +293,7 @@
             ],
           },
         },
-        "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.
+        "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
@@ -383,51 +315,57 @@
         "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.
-        "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.
-        "createTime": "A String", # Output only. The time of the deal creation.
+        "creativeRestrictions": { # 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": [
+            { # 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.
+                    # 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`.
+              },
+              "creativeCompanionSizes": [ # 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.
+                      # 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`.
+                },
+              ],
+            },
+          ],
+          "skippableAdType": "A String", # 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.
-          "description": "A String", # Publisher provided description for the terms.
-          "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.
+          "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
@@ -471,20 +409,44 @@
               },
             ],
           },
-          "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.
-            },
+          "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.
@@ -524,11 +486,14 @@
             "autoOptimizePrivateAuction": True or False, # True if open auction buyers are allowed to compete with invited buyers
                 # in this private auction.
           },
-          "brandingType": "A String", # Visibility of the URL in bid requests. (default: BRANDED)
+          "description": "A String", # Publisher provided description for the terms.
         },
-        "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.
+        "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
@@ -548,6 +513,42 @@
               { # 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).
@@ -576,42 +577,6 @@
                     "height": 42, # The height of the creative.
                   },
                 },
-                "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`.
-                        "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.
-                        "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.
-                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                      },
-                      "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`.
-                        "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.
-                        "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.
-                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                      },
-                    },
-                  ],
-                  "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
-                },
               },
             ],
             "exclusions": [ # The list of values to exclude from targeting. Each value is AND'd
@@ -619,6 +584,42 @@
               { # 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).
@@ -647,42 +648,6 @@
                     "height": 42, # The height of the creative.
                   },
                 },
-                "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`.
-                        "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.
-                        "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.
-                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                      },
-                      "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`.
-                        "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.
-                        "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.
-                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                      },
-                    },
-                  ],
-                  "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
-                },
               },
             ],
             "key": "A String", # The key representing the shared targeting criterion.
@@ -707,17 +672,20 @@
             # deal.
       },
     ],
-    "proposalId": "A String", # Output only. The unique ID of the proposal.
-    "displayName": "A String", # The name for 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.
+    "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.
+        # 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).
     },
-    "isSetupComplete": True or False, # Output only. True, if the buyside inventory setup is complete for this
+    "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.
@@ -732,6 +700,38 @@
         "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.
+        #
+        # 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.
+          # 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.
@@ -744,7 +744,7 @@
 </div>
 
 <div class="method">
-    <code class="details" id="addNote">addNote(accountId, proposalId, body, x__xgafv=None)</code>
+    <code class="details" id="addNote">addNote(accountId, proposalId, body=None, x__xgafv=None)</code>
   <pre>Create a new note and attach it to the proposal. The note is assigned
 a unique ID by the server.
 The proposal revision number will not increase when associated with a
@@ -753,7 +753,7 @@
 Args:
   accountId: string, Account ID of the buyer. (required)
   proposalId: string, The ID of the proposal to attach the note to. (required)
-  body: object, The request body. (required)
+  body: object, The request body.
     The object takes the form of:
 
 { # Request message for adding a note to a given proposal.
@@ -825,41 +825,6 @@
       # Auction or Preferred Deals deals through the API.
       #
       # Fields are updatable unless noted otherwise.
-    "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.
-      },
-    ],
-    "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.
-        # 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.
-    "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.
-    },
-    "originatorRole": "A String", # Output only. Indicates whether the buyer/seller created the proposal.
-    "seller": { # 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.
-          # The seller account ID is then available to buyer in the product.
-    },
     "deals": [ # 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.
@@ -873,12 +838,9 @@
             #
             # Note: This field may be set only when creating the resource. Modifying
             # this field while updating the resource will result in an error.
-        "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.
-          },
-        ],
+        "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.
             # This will generally be stored in the granularity of one second since deal
             # serving starts at seconds boundary. Any time specified with more
@@ -887,40 +849,56 @@
         "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.
-        "creativeRestrictions": { # 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.
-          "skippableAdType": "A String", # Skippable video ads allow viewers to skip ads after 5 seconds.
-          "creativeSpecifications": [
-            { # 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.
-                    # 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`.
-              },
-              "creativeCompanionSizes": [ # 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.
-                      # 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`.
-                },
-              ],
-            },
-          ],
-        },
+        "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.
             # 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",
+              ],
+              "targetedUrls": [ # A list of URLs to be included.
+                "A String",
+              ],
+            },
+            "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
+                  # display the ads in.
+                  # publishers own.
+                  # Mobile application IDs are from App Store and Google Play Store.
+                  # Android App ID, for example, com.google.android.apps.maps, can be found in
+                  # 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",
+                ],
+                "targetedAppIds": [ # A list of application IDs to be included.
+                  "A String",
+                ],
+              },
+            },
+          },
+          "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).
@@ -972,49 +950,6 @@
               ],
             },
           },
-          "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",
-            ],
-          },
-          "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",
-              ],
-              "targetedUrls": [ # A list of URLs to be included.
-                "A String",
-              ],
-            },
-            "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
-                  # display the ads in.
-                  # publishers own.
-                  # Mobile application IDs are from App Store and Google Play Store.
-                  # Android App ID, for example, com.google.android.apps.maps, can be found in
-                  # 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",
-                ],
-                "targetedAppIds": [ # A list of application IDs to be included.
-                  "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
@@ -1039,10 +974,7 @@
             ],
           },
         },
-        "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.
+        "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
@@ -1064,51 +996,57 @@
         "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.
-        "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.
-        "createTime": "A String", # Output only. The time of the deal creation.
+        "creativeRestrictions": { # 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": [
+            { # 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.
+                    # 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`.
+              },
+              "creativeCompanionSizes": [ # 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.
+                      # 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`.
+                },
+              ],
+            },
+          ],
+          "skippableAdType": "A String", # 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.
-          "description": "A String", # Publisher provided description for the terms.
-          "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.
+          "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
@@ -1152,20 +1090,44 @@
               },
             ],
           },
-          "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.
-            },
+          "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.
@@ -1205,11 +1167,14 @@
             "autoOptimizePrivateAuction": True or False, # True if open auction buyers are allowed to compete with invited buyers
                 # in this private auction.
           },
-          "brandingType": "A String", # Visibility of the URL in bid requests. (default: BRANDED)
+          "description": "A String", # Publisher provided description for the terms.
         },
-        "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.
+        "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
@@ -1229,6 +1194,42 @@
               { # 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).
@@ -1257,42 +1258,6 @@
                     "height": 42, # The height of the creative.
                   },
                 },
-                "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`.
-                        "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.
-                        "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.
-                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                      },
-                      "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`.
-                        "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.
-                        "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.
-                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                      },
-                    },
-                  ],
-                  "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
-                },
               },
             ],
             "exclusions": [ # The list of values to exclude from targeting. Each value is AND'd
@@ -1300,6 +1265,42 @@
               { # 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).
@@ -1328,42 +1329,6 @@
                     "height": 42, # The height of the creative.
                   },
                 },
-                "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`.
-                        "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.
-                        "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.
-                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                      },
-                      "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`.
-                        "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.
-                        "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.
-                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                      },
-                    },
-                  ],
-                  "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
-                },
               },
             ],
             "key": "A String", # The key representing the shared targeting criterion.
@@ -1388,17 +1353,20 @@
             # deal.
       },
     ],
-    "proposalId": "A String", # Output only. The unique ID of the proposal.
-    "displayName": "A String", # The name for 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.
+    "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.
+        # 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).
     },
-    "isSetupComplete": True or False, # Output only. True, if the buyside inventory setup is complete for this
+    "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.
@@ -1413,6 +1381,38 @@
         "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.
+        #
+        # 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.
+          # 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.
@@ -1461,41 +1461,6 @@
       # Auction or Preferred Deals deals through the API.
       #
       # Fields are updatable unless noted otherwise.
-    "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.
-      },
-    ],
-    "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.
-        # 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.
-    "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.
-    },
-    "originatorRole": "A String", # Output only. Indicates whether the buyer/seller created the proposal.
-    "seller": { # 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.
-          # The seller account ID is then available to buyer in the product.
-    },
     "deals": [ # 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.
@@ -1509,12 +1474,9 @@
             #
             # Note: This field may be set only when creating the resource. Modifying
             # this field while updating the resource will result in an error.
-        "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.
-          },
-        ],
+        "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.
             # This will generally be stored in the granularity of one second since deal
             # serving starts at seconds boundary. Any time specified with more
@@ -1523,40 +1485,56 @@
         "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.
-        "creativeRestrictions": { # 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.
-          "skippableAdType": "A String", # Skippable video ads allow viewers to skip ads after 5 seconds.
-          "creativeSpecifications": [
-            { # 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.
-                    # 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`.
-              },
-              "creativeCompanionSizes": [ # 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.
-                      # 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`.
-                },
-              ],
-            },
-          ],
-        },
+        "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.
             # 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",
+              ],
+              "targetedUrls": [ # A list of URLs to be included.
+                "A String",
+              ],
+            },
+            "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
+                  # display the ads in.
+                  # publishers own.
+                  # Mobile application IDs are from App Store and Google Play Store.
+                  # Android App ID, for example, com.google.android.apps.maps, can be found in
+                  # 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",
+                ],
+                "targetedAppIds": [ # A list of application IDs to be included.
+                  "A String",
+                ],
+              },
+            },
+          },
+          "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).
@@ -1608,49 +1586,6 @@
               ],
             },
           },
-          "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",
-            ],
-          },
-          "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",
-              ],
-              "targetedUrls": [ # A list of URLs to be included.
-                "A String",
-              ],
-            },
-            "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
-                  # display the ads in.
-                  # publishers own.
-                  # Mobile application IDs are from App Store and Google Play Store.
-                  # Android App ID, for example, com.google.android.apps.maps, can be found in
-                  # 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",
-                ],
-                "targetedAppIds": [ # A list of application IDs to be included.
-                  "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
@@ -1675,10 +1610,7 @@
             ],
           },
         },
-        "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.
+        "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
@@ -1700,51 +1632,57 @@
         "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.
-        "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.
-        "createTime": "A String", # Output only. The time of the deal creation.
+        "creativeRestrictions": { # 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": [
+            { # 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.
+                    # 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`.
+              },
+              "creativeCompanionSizes": [ # 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.
+                      # 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`.
+                },
+              ],
+            },
+          ],
+          "skippableAdType": "A String", # 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.
-          "description": "A String", # Publisher provided description for the terms.
-          "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.
+          "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
@@ -1788,20 +1726,44 @@
               },
             ],
           },
-          "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.
-            },
+          "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.
@@ -1841,11 +1803,14 @@
             "autoOptimizePrivateAuction": True or False, # True if open auction buyers are allowed to compete with invited buyers
                 # in this private auction.
           },
-          "brandingType": "A String", # Visibility of the URL in bid requests. (default: BRANDED)
+          "description": "A String", # Publisher provided description for the terms.
         },
-        "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.
+        "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
@@ -1865,6 +1830,42 @@
               { # 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).
@@ -1893,42 +1894,6 @@
                     "height": 42, # The height of the creative.
                   },
                 },
-                "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`.
-                        "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.
-                        "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.
-                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                      },
-                      "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`.
-                        "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.
-                        "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.
-                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                      },
-                    },
-                  ],
-                  "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
-                },
               },
             ],
             "exclusions": [ # The list of values to exclude from targeting. Each value is AND'd
@@ -1936,6 +1901,42 @@
               { # 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).
@@ -1964,42 +1965,6 @@
                     "height": 42, # The height of the creative.
                   },
                 },
-                "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`.
-                        "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.
-                        "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.
-                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                      },
-                      "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`.
-                        "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.
-                        "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.
-                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                      },
-                    },
-                  ],
-                  "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
-                },
               },
             ],
             "key": "A String", # The key representing the shared targeting criterion.
@@ -2024,17 +1989,20 @@
             # deal.
       },
     ],
-    "proposalId": "A String", # Output only. The unique ID of the proposal.
-    "displayName": "A String", # The name for 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.
+    "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.
+        # 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).
     },
-    "isSetupComplete": True or False, # Output only. True, if the buyside inventory setup is complete for this
+    "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.
@@ -2049,6 +2017,38 @@
         "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.
+        #
+        # 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.
+          # 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.
@@ -2061,13 +2061,13 @@
 </div>
 
 <div class="method">
-    <code class="details" id="create">create(accountId, body, x__xgafv=None)</code>
+    <code class="details" id="create">create(accountId, body=None, x__xgafv=None)</code>
   <pre>Create the given proposal. Each created proposal and any deals it contains
 are assigned a unique ID by the server.
 
 Args:
   accountId: string, Account ID of the buyer. (required)
-  body: object, The request body. (required)
+  body: object, The request body.
     The object takes the form of:
 
 { # Note: this resource requires whitelisting for access. Please contact your
@@ -2081,41 +2081,6 @@
     # Auction or Preferred Deals deals through the API.
     # 
     # Fields are updatable unless noted otherwise.
-  "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.
-    },
-  ],
-  "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.
-      # 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.
-  "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.
-  },
-  "originatorRole": "A String", # Output only. Indicates whether the buyer/seller created the proposal.
-  "seller": { # 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.
-        # The seller account ID is then available to buyer in the product.
-  },
   "deals": [ # 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.
@@ -2129,12 +2094,9 @@
           #
           # Note: This field may be set only when creating the resource. Modifying
           # this field while updating the resource will result in an error.
-      "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.
-        },
-      ],
+      "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.
           # This will generally be stored in the granularity of one second since deal
           # serving starts at seconds boundary. Any time specified with more
@@ -2143,40 +2105,56 @@
       "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.
-      "creativeRestrictions": { # 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.
-        "skippableAdType": "A String", # Skippable video ads allow viewers to skip ads after 5 seconds.
-        "creativeSpecifications": [
-          { # 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.
-                  # 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`.
-            },
-            "creativeCompanionSizes": [ # 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.
-                    # 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`.
-              },
-            ],
-          },
-        ],
-      },
+      "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.
           # 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",
+            ],
+            "targetedUrls": [ # A list of URLs to be included.
+              "A String",
+            ],
+          },
+          "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
+                # display the ads in.
+                # publishers own.
+                # Mobile application IDs are from App Store and Google Play Store.
+                # Android App ID, for example, com.google.android.apps.maps, can be found in
+                # 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",
+              ],
+              "targetedAppIds": [ # A list of application IDs to be included.
+                "A String",
+              ],
+            },
+          },
+        },
+        "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).
@@ -2228,49 +2206,6 @@
             ],
           },
         },
-        "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",
-          ],
-        },
-        "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",
-            ],
-            "targetedUrls": [ # A list of URLs to be included.
-              "A String",
-            ],
-          },
-          "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
-                # display the ads in.
-                # publishers own.
-                # Mobile application IDs are from App Store and Google Play Store.
-                # Android App ID, for example, com.google.android.apps.maps, can be found in
-                # 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",
-              ],
-              "targetedAppIds": [ # A list of application IDs to be included.
-                "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
@@ -2295,10 +2230,7 @@
           ],
         },
       },
-      "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.
+      "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
@@ -2320,51 +2252,57 @@
       "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.
-      "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.
-      "createTime": "A String", # Output only. The time of the deal creation.
+      "creativeRestrictions": { # 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": [
+          { # 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.
+                  # 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`.
+            },
+            "creativeCompanionSizes": [ # 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.
+                    # 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`.
+              },
+            ],
+          },
+        ],
+        "skippableAdType": "A String", # 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.
-        "description": "A String", # Publisher provided description for the terms.
-        "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.
+        "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
@@ -2408,20 +2346,44 @@
             },
           ],
         },
-        "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.
-          },
+        "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.
@@ -2461,11 +2423,14 @@
           "autoOptimizePrivateAuction": True or False, # True if open auction buyers are allowed to compete with invited buyers
               # in this private auction.
         },
-        "brandingType": "A String", # Visibility of the URL in bid requests. (default: BRANDED)
+        "description": "A String", # Publisher provided description for the terms.
       },
-      "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.
+      "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
@@ -2485,6 +2450,42 @@
             { # 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).
@@ -2513,42 +2514,6 @@
                   "height": 42, # The height of the creative.
                 },
               },
-              "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`.
-                      "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.
-                      "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.
-                      "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                      "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                    },
-                    "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`.
-                      "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.
-                      "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.
-                      "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                      "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                    },
-                  },
-                ],
-                "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
-              },
             },
           ],
           "exclusions": [ # The list of values to exclude from targeting. Each value is AND'd
@@ -2556,6 +2521,42 @@
             { # 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).
@@ -2584,42 +2585,6 @@
                   "height": 42, # The height of the creative.
                 },
               },
-              "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`.
-                      "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.
-                      "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.
-                      "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                      "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                    },
-                    "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`.
-                      "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.
-                      "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.
-                      "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                      "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                    },
-                  },
-                ],
-                "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
-              },
             },
           ],
           "key": "A String", # The key representing the shared targeting criterion.
@@ -2644,17 +2609,20 @@
           # deal.
     },
   ],
-  "proposalId": "A String", # Output only. The unique ID of the proposal.
-  "displayName": "A String", # The name for 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.
+  "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.
+      # 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).
   },
-  "isSetupComplete": True or False, # Output only. True, if the buyside inventory setup is complete for this
+  "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.
@@ -2669,6 +2637,38 @@
       "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.
+      # 
+      # 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.
+        # 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.
@@ -2698,41 +2698,6 @@
       # Auction or Preferred Deals deals through the API.
       #
       # Fields are updatable unless noted otherwise.
-    "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.
-      },
-    ],
-    "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.
-        # 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.
-    "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.
-    },
-    "originatorRole": "A String", # Output only. Indicates whether the buyer/seller created the proposal.
-    "seller": { # 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.
-          # The seller account ID is then available to buyer in the product.
-    },
     "deals": [ # 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.
@@ -2746,12 +2711,9 @@
             #
             # Note: This field may be set only when creating the resource. Modifying
             # this field while updating the resource will result in an error.
-        "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.
-          },
-        ],
+        "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.
             # This will generally be stored in the granularity of one second since deal
             # serving starts at seconds boundary. Any time specified with more
@@ -2760,40 +2722,56 @@
         "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.
-        "creativeRestrictions": { # 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.
-          "skippableAdType": "A String", # Skippable video ads allow viewers to skip ads after 5 seconds.
-          "creativeSpecifications": [
-            { # 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.
-                    # 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`.
-              },
-              "creativeCompanionSizes": [ # 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.
-                      # 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`.
-                },
-              ],
-            },
-          ],
-        },
+        "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.
             # 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",
+              ],
+              "targetedUrls": [ # A list of URLs to be included.
+                "A String",
+              ],
+            },
+            "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
+                  # display the ads in.
+                  # publishers own.
+                  # Mobile application IDs are from App Store and Google Play Store.
+                  # Android App ID, for example, com.google.android.apps.maps, can be found in
+                  # 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",
+                ],
+                "targetedAppIds": [ # A list of application IDs to be included.
+                  "A String",
+                ],
+              },
+            },
+          },
+          "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).
@@ -2845,49 +2823,6 @@
               ],
             },
           },
-          "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",
-            ],
-          },
-          "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",
-              ],
-              "targetedUrls": [ # A list of URLs to be included.
-                "A String",
-              ],
-            },
-            "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
-                  # display the ads in.
-                  # publishers own.
-                  # Mobile application IDs are from App Store and Google Play Store.
-                  # Android App ID, for example, com.google.android.apps.maps, can be found in
-                  # 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",
-                ],
-                "targetedAppIds": [ # A list of application IDs to be included.
-                  "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
@@ -2912,10 +2847,7 @@
             ],
           },
         },
-        "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.
+        "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
@@ -2937,51 +2869,57 @@
         "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.
-        "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.
-        "createTime": "A String", # Output only. The time of the deal creation.
+        "creativeRestrictions": { # 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": [
+            { # 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.
+                    # 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`.
+              },
+              "creativeCompanionSizes": [ # 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.
+                      # 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`.
+                },
+              ],
+            },
+          ],
+          "skippableAdType": "A String", # 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.
-          "description": "A String", # Publisher provided description for the terms.
-          "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.
+          "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
@@ -3025,20 +2963,44 @@
               },
             ],
           },
-          "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.
-            },
+          "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.
@@ -3078,11 +3040,14 @@
             "autoOptimizePrivateAuction": True or False, # True if open auction buyers are allowed to compete with invited buyers
                 # in this private auction.
           },
-          "brandingType": "A String", # Visibility of the URL in bid requests. (default: BRANDED)
+          "description": "A String", # Publisher provided description for the terms.
         },
-        "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.
+        "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
@@ -3102,6 +3067,42 @@
               { # 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).
@@ -3130,42 +3131,6 @@
                     "height": 42, # The height of the creative.
                   },
                 },
-                "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`.
-                        "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.
-                        "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.
-                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                      },
-                      "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`.
-                        "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.
-                        "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.
-                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                      },
-                    },
-                  ],
-                  "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
-                },
               },
             ],
             "exclusions": [ # The list of values to exclude from targeting. Each value is AND'd
@@ -3173,6 +3138,42 @@
               { # 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).
@@ -3201,42 +3202,6 @@
                     "height": 42, # The height of the creative.
                   },
                 },
-                "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`.
-                        "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.
-                        "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.
-                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                      },
-                      "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`.
-                        "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.
-                        "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.
-                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                      },
-                    },
-                  ],
-                  "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
-                },
               },
             ],
             "key": "A String", # The key representing the shared targeting criterion.
@@ -3261,17 +3226,20 @@
             # deal.
       },
     ],
-    "proposalId": "A String", # Output only. The unique ID of the proposal.
-    "displayName": "A String", # The name for 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.
+    "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.
+        # 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).
     },
-    "isSetupComplete": True or False, # Output only. True, if the buyside inventory setup is complete for this
+    "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.
@@ -3286,6 +3254,38 @@
         "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.
+        #
+        # 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.
+          # 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.
@@ -3324,41 +3324,6 @@
       # Auction or Preferred Deals deals through the API.
       #
       # Fields are updatable unless noted otherwise.
-    "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.
-      },
-    ],
-    "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.
-        # 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.
-    "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.
-    },
-    "originatorRole": "A String", # Output only. Indicates whether the buyer/seller created the proposal.
-    "seller": { # 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.
-          # The seller account ID is then available to buyer in the product.
-    },
     "deals": [ # 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.
@@ -3372,12 +3337,9 @@
             #
             # Note: This field may be set only when creating the resource. Modifying
             # this field while updating the resource will result in an error.
-        "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.
-          },
-        ],
+        "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.
             # This will generally be stored in the granularity of one second since deal
             # serving starts at seconds boundary. Any time specified with more
@@ -3386,40 +3348,56 @@
         "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.
-        "creativeRestrictions": { # 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.
-          "skippableAdType": "A String", # Skippable video ads allow viewers to skip ads after 5 seconds.
-          "creativeSpecifications": [
-            { # 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.
-                    # 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`.
-              },
-              "creativeCompanionSizes": [ # 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.
-                      # 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`.
-                },
-              ],
-            },
-          ],
-        },
+        "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.
             # 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",
+              ],
+              "targetedUrls": [ # A list of URLs to be included.
+                "A String",
+              ],
+            },
+            "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
+                  # display the ads in.
+                  # publishers own.
+                  # Mobile application IDs are from App Store and Google Play Store.
+                  # Android App ID, for example, com.google.android.apps.maps, can be found in
+                  # 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",
+                ],
+                "targetedAppIds": [ # A list of application IDs to be included.
+                  "A String",
+                ],
+              },
+            },
+          },
+          "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).
@@ -3471,49 +3449,6 @@
               ],
             },
           },
-          "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",
-            ],
-          },
-          "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",
-              ],
-              "targetedUrls": [ # A list of URLs to be included.
-                "A String",
-              ],
-            },
-            "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
-                  # display the ads in.
-                  # publishers own.
-                  # Mobile application IDs are from App Store and Google Play Store.
-                  # Android App ID, for example, com.google.android.apps.maps, can be found in
-                  # 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",
-                ],
-                "targetedAppIds": [ # A list of application IDs to be included.
-                  "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
@@ -3538,10 +3473,7 @@
             ],
           },
         },
-        "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.
+        "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
@@ -3563,51 +3495,57 @@
         "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.
-        "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.
-        "createTime": "A String", # Output only. The time of the deal creation.
+        "creativeRestrictions": { # 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": [
+            { # 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.
+                    # 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`.
+              },
+              "creativeCompanionSizes": [ # 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.
+                      # 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`.
+                },
+              ],
+            },
+          ],
+          "skippableAdType": "A String", # 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.
-          "description": "A String", # Publisher provided description for the terms.
-          "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.
+          "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
@@ -3651,20 +3589,44 @@
               },
             ],
           },
-          "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.
-            },
+          "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.
@@ -3704,11 +3666,14 @@
             "autoOptimizePrivateAuction": True or False, # True if open auction buyers are allowed to compete with invited buyers
                 # in this private auction.
           },
-          "brandingType": "A String", # Visibility of the URL in bid requests. (default: BRANDED)
+          "description": "A String", # Publisher provided description for the terms.
         },
-        "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.
+        "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
@@ -3728,6 +3693,42 @@
               { # 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).
@@ -3756,42 +3757,6 @@
                     "height": 42, # The height of the creative.
                   },
                 },
-                "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`.
-                        "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.
-                        "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.
-                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                      },
-                      "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`.
-                        "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.
-                        "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.
-                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                      },
-                    },
-                  ],
-                  "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
-                },
               },
             ],
             "exclusions": [ # The list of values to exclude from targeting. Each value is AND'd
@@ -3799,6 +3764,42 @@
               { # 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).
@@ -3827,42 +3828,6 @@
                     "height": 42, # The height of the creative.
                   },
                 },
-                "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`.
-                        "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.
-                        "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.
-                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                      },
-                      "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`.
-                        "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.
-                        "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.
-                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                      },
-                    },
-                  ],
-                  "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
-                },
               },
             ],
             "key": "A String", # The key representing the shared targeting criterion.
@@ -3887,17 +3852,20 @@
             # deal.
       },
     ],
-    "proposalId": "A String", # Output only. The unique ID of the proposal.
-    "displayName": "A String", # The name for 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.
+    "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.
+        # 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).
     },
-    "isSetupComplete": True or False, # Output only. True, if the buyside inventory setup is complete for this
+    "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.
@@ -3912,6 +3880,38 @@
         "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.
+        #
+        # 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.
+          # 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.
@@ -3965,41 +3965,6 @@
           # Auction or Preferred Deals deals through the API.
           #
           # Fields are updatable unless noted otherwise.
-        "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.
-          },
-        ],
-        "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.
-            # 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.
-        "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.
-        },
-        "originatorRole": "A String", # Output only. Indicates whether the buyer/seller created the proposal.
-        "seller": { # 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.
-              # The seller account ID is then available to buyer in the product.
-        },
         "deals": [ # 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.
@@ -4013,12 +3978,9 @@
                 #
                 # Note: This field may be set only when creating the resource. Modifying
                 # this field while updating the resource will result in an error.
-            "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.
-              },
-            ],
+            "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.
                 # This will generally be stored in the granularity of one second since deal
                 # serving starts at seconds boundary. Any time specified with more
@@ -4027,40 +3989,56 @@
             "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.
-            "creativeRestrictions": { # 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.
-              "skippableAdType": "A String", # Skippable video ads allow viewers to skip ads after 5 seconds.
-              "creativeSpecifications": [
-                { # 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.
-                        # 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`.
-                  },
-                  "creativeCompanionSizes": [ # 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.
-                          # 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`.
-                    },
-                  ],
-                },
-              ],
-            },
+            "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.
                 # 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",
+                  ],
+                  "targetedUrls": [ # A list of URLs to be included.
+                    "A String",
+                  ],
+                },
+                "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
+                      # display the ads in.
+                      # publishers own.
+                      # Mobile application IDs are from App Store and Google Play Store.
+                      # Android App ID, for example, com.google.android.apps.maps, can be found in
+                      # 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",
+                    ],
+                    "targetedAppIds": [ # A list of application IDs to be included.
+                      "A String",
+                    ],
+                  },
+                },
+              },
+              "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).
@@ -4112,49 +4090,6 @@
                   ],
                 },
               },
-              "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",
-                ],
-              },
-              "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",
-                  ],
-                  "targetedUrls": [ # A list of URLs to be included.
-                    "A String",
-                  ],
-                },
-                "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
-                      # display the ads in.
-                      # publishers own.
-                      # Mobile application IDs are from App Store and Google Play Store.
-                      # Android App ID, for example, com.google.android.apps.maps, can be found in
-                      # 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",
-                    ],
-                    "targetedAppIds": [ # A list of application IDs to be included.
-                      "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
@@ -4179,10 +4114,7 @@
                 ],
               },
             },
-            "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.
+            "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
@@ -4204,51 +4136,57 @@
             "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.
-            "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.
-            "createTime": "A String", # Output only. The time of the deal creation.
+            "creativeRestrictions": { # 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": [
+                { # 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.
+                        # 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`.
+                  },
+                  "creativeCompanionSizes": [ # 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.
+                          # 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`.
+                    },
+                  ],
+                },
+              ],
+              "skippableAdType": "A String", # 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.
-              "description": "A String", # Publisher provided description for the terms.
-              "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.
+              "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
@@ -4292,20 +4230,44 @@
                   },
                 ],
               },
-              "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.
-                },
+              "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.
@@ -4345,11 +4307,14 @@
                 "autoOptimizePrivateAuction": True or False, # True if open auction buyers are allowed to compete with invited buyers
                     # in this private auction.
               },
-              "brandingType": "A String", # Visibility of the URL in bid requests. (default: BRANDED)
+              "description": "A String", # Publisher provided description for the terms.
             },
-            "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.
+            "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
@@ -4369,6 +4334,42 @@
                   { # 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).
@@ -4397,42 +4398,6 @@
                         "height": 42, # The height of the creative.
                       },
                     },
-                    "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`.
-                            "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.
-                            "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.
-                            "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                            "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                          },
-                          "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`.
-                            "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.
-                            "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.
-                            "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                            "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                          },
-                        },
-                      ],
-                      "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
-                    },
                   },
                 ],
                 "exclusions": [ # The list of values to exclude from targeting. Each value is AND'd
@@ -4440,6 +4405,42 @@
                   { # 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).
@@ -4468,42 +4469,6 @@
                         "height": 42, # The height of the creative.
                       },
                     },
-                    "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`.
-                            "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.
-                            "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.
-                            "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                            "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                          },
-                          "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`.
-                            "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.
-                            "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.
-                            "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                            "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                          },
-                        },
-                      ],
-                      "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
-                    },
                   },
                 ],
                 "key": "A String", # The key representing the shared targeting criterion.
@@ -4528,17 +4493,20 @@
                 # deal.
           },
         ],
-        "proposalId": "A String", # Output only. The unique ID of the proposal.
-        "displayName": "A String", # The name for 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.
+        "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.
+            # 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).
         },
-        "isSetupComplete": True or False, # Output only. True, if the buyside inventory setup is complete for this
+        "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.
@@ -4553,6 +4521,38 @@
             "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.
+            #
+            # 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.
+              # 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.
@@ -4581,7 +4581,7 @@
 </div>
 
 <div class="method">
-    <code class="details" id="pause">pause(accountId, proposalId, body, x__xgafv=None)</code>
+    <code class="details" id="pause">pause(accountId, proposalId, body=None, x__xgafv=None)</code>
   <pre>Update the given proposal to pause serving.
 This method will set the
 `DealServingMetadata.DealPauseStatus.has_buyer_paused` bit to true for all
@@ -4594,7 +4594,7 @@
 Args:
   accountId: string, Account ID of the buyer. (required)
   proposalId: string, The ID of the proposal to pause. (required)
-  body: object, The request body. (required)
+  body: object, The request body.
     The object takes the form of:
 
 { # Request message to pause serving for an already-finalized proposal.
@@ -4622,41 +4622,6 @@
       # Auction or Preferred Deals deals through the API.
       #
       # Fields are updatable unless noted otherwise.
-    "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.
-      },
-    ],
-    "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.
-        # 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.
-    "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.
-    },
-    "originatorRole": "A String", # Output only. Indicates whether the buyer/seller created the proposal.
-    "seller": { # 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.
-          # The seller account ID is then available to buyer in the product.
-    },
     "deals": [ # 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.
@@ -4670,12 +4635,9 @@
             #
             # Note: This field may be set only when creating the resource. Modifying
             # this field while updating the resource will result in an error.
-        "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.
-          },
-        ],
+        "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.
             # This will generally be stored in the granularity of one second since deal
             # serving starts at seconds boundary. Any time specified with more
@@ -4684,40 +4646,56 @@
         "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.
-        "creativeRestrictions": { # 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.
-          "skippableAdType": "A String", # Skippable video ads allow viewers to skip ads after 5 seconds.
-          "creativeSpecifications": [
-            { # 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.
-                    # 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`.
-              },
-              "creativeCompanionSizes": [ # 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.
-                      # 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`.
-                },
-              ],
-            },
-          ],
-        },
+        "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.
             # 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",
+              ],
+              "targetedUrls": [ # A list of URLs to be included.
+                "A String",
+              ],
+            },
+            "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
+                  # display the ads in.
+                  # publishers own.
+                  # Mobile application IDs are from App Store and Google Play Store.
+                  # Android App ID, for example, com.google.android.apps.maps, can be found in
+                  # 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",
+                ],
+                "targetedAppIds": [ # A list of application IDs to be included.
+                  "A String",
+                ],
+              },
+            },
+          },
+          "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).
@@ -4769,49 +4747,6 @@
               ],
             },
           },
-          "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",
-            ],
-          },
-          "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",
-              ],
-              "targetedUrls": [ # A list of URLs to be included.
-                "A String",
-              ],
-            },
-            "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
-                  # display the ads in.
-                  # publishers own.
-                  # Mobile application IDs are from App Store and Google Play Store.
-                  # Android App ID, for example, com.google.android.apps.maps, can be found in
-                  # 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",
-                ],
-                "targetedAppIds": [ # A list of application IDs to be included.
-                  "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
@@ -4836,10 +4771,7 @@
             ],
           },
         },
-        "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.
+        "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
@@ -4861,51 +4793,57 @@
         "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.
-        "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.
-        "createTime": "A String", # Output only. The time of the deal creation.
+        "creativeRestrictions": { # 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": [
+            { # 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.
+                    # 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`.
+              },
+              "creativeCompanionSizes": [ # 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.
+                      # 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`.
+                },
+              ],
+            },
+          ],
+          "skippableAdType": "A String", # 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.
-          "description": "A String", # Publisher provided description for the terms.
-          "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.
+          "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
@@ -4949,20 +4887,44 @@
               },
             ],
           },
-          "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.
-            },
+          "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.
@@ -5002,11 +4964,14 @@
             "autoOptimizePrivateAuction": True or False, # True if open auction buyers are allowed to compete with invited buyers
                 # in this private auction.
           },
-          "brandingType": "A String", # Visibility of the URL in bid requests. (default: BRANDED)
+          "description": "A String", # Publisher provided description for the terms.
         },
-        "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.
+        "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
@@ -5026,6 +4991,42 @@
               { # 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).
@@ -5054,42 +5055,6 @@
                     "height": 42, # The height of the creative.
                   },
                 },
-                "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`.
-                        "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.
-                        "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.
-                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                      },
-                      "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`.
-                        "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.
-                        "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.
-                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                      },
-                    },
-                  ],
-                  "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
-                },
               },
             ],
             "exclusions": [ # The list of values to exclude from targeting. Each value is AND'd
@@ -5097,6 +5062,42 @@
               { # 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).
@@ -5125,42 +5126,6 @@
                     "height": 42, # The height of the creative.
                   },
                 },
-                "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`.
-                        "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.
-                        "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.
-                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                      },
-                      "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`.
-                        "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.
-                        "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.
-                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                      },
-                    },
-                  ],
-                  "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
-                },
               },
             ],
             "key": "A String", # The key representing the shared targeting criterion.
@@ -5185,17 +5150,20 @@
             # deal.
       },
     ],
-    "proposalId": "A String", # Output only. The unique ID of the proposal.
-    "displayName": "A String", # The name for 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.
+    "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.
+        # 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).
     },
-    "isSetupComplete": True or False, # Output only. True, if the buyside inventory setup is complete for this
+    "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.
@@ -5210,6 +5178,38 @@
         "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.
+        #
+        # 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.
+          # 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.
@@ -5264,41 +5264,6 @@
       # Auction or Preferred Deals deals through the API.
       #
       # Fields are updatable unless noted otherwise.
-    "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.
-      },
-    ],
-    "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.
-        # 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.
-    "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.
-    },
-    "originatorRole": "A String", # Output only. Indicates whether the buyer/seller created the proposal.
-    "seller": { # 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.
-          # The seller account ID is then available to buyer in the product.
-    },
     "deals": [ # 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.
@@ -5312,12 +5277,9 @@
             #
             # Note: This field may be set only when creating the resource. Modifying
             # this field while updating the resource will result in an error.
-        "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.
-          },
-        ],
+        "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.
             # This will generally be stored in the granularity of one second since deal
             # serving starts at seconds boundary. Any time specified with more
@@ -5326,40 +5288,56 @@
         "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.
-        "creativeRestrictions": { # 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.
-          "skippableAdType": "A String", # Skippable video ads allow viewers to skip ads after 5 seconds.
-          "creativeSpecifications": [
-            { # 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.
-                    # 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`.
-              },
-              "creativeCompanionSizes": [ # 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.
-                      # 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`.
-                },
-              ],
-            },
-          ],
-        },
+        "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.
             # 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",
+              ],
+              "targetedUrls": [ # A list of URLs to be included.
+                "A String",
+              ],
+            },
+            "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
+                  # display the ads in.
+                  # publishers own.
+                  # Mobile application IDs are from App Store and Google Play Store.
+                  # Android App ID, for example, com.google.android.apps.maps, can be found in
+                  # 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",
+                ],
+                "targetedAppIds": [ # A list of application IDs to be included.
+                  "A String",
+                ],
+              },
+            },
+          },
+          "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).
@@ -5411,49 +5389,6 @@
               ],
             },
           },
-          "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",
-            ],
-          },
-          "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",
-              ],
-              "targetedUrls": [ # A list of URLs to be included.
-                "A String",
-              ],
-            },
-            "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
-                  # display the ads in.
-                  # publishers own.
-                  # Mobile application IDs are from App Store and Google Play Store.
-                  # Android App ID, for example, com.google.android.apps.maps, can be found in
-                  # 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",
-                ],
-                "targetedAppIds": [ # A list of application IDs to be included.
-                  "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
@@ -5478,10 +5413,7 @@
             ],
           },
         },
-        "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.
+        "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
@@ -5503,51 +5435,57 @@
         "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.
-        "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.
-        "createTime": "A String", # Output only. The time of the deal creation.
+        "creativeRestrictions": { # 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": [
+            { # 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.
+                    # 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`.
+              },
+              "creativeCompanionSizes": [ # 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.
+                      # 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`.
+                },
+              ],
+            },
+          ],
+          "skippableAdType": "A String", # 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.
-          "description": "A String", # Publisher provided description for the terms.
-          "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.
+          "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
@@ -5591,20 +5529,44 @@
               },
             ],
           },
-          "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.
-            },
+          "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.
@@ -5644,11 +5606,14 @@
             "autoOptimizePrivateAuction": True or False, # True if open auction buyers are allowed to compete with invited buyers
                 # in this private auction.
           },
-          "brandingType": "A String", # Visibility of the URL in bid requests. (default: BRANDED)
+          "description": "A String", # Publisher provided description for the terms.
         },
-        "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.
+        "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
@@ -5668,6 +5633,42 @@
               { # 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).
@@ -5696,42 +5697,6 @@
                     "height": 42, # The height of the creative.
                   },
                 },
-                "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`.
-                        "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.
-                        "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.
-                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                      },
-                      "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`.
-                        "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.
-                        "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.
-                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                      },
-                    },
-                  ],
-                  "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
-                },
               },
             ],
             "exclusions": [ # The list of values to exclude from targeting. Each value is AND'd
@@ -5739,6 +5704,42 @@
               { # 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).
@@ -5767,42 +5768,6 @@
                     "height": 42, # The height of the creative.
                   },
                 },
-                "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`.
-                        "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.
-                        "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.
-                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                      },
-                      "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`.
-                        "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.
-                        "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.
-                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                      },
-                    },
-                  ],
-                  "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
-                },
               },
             ],
             "key": "A String", # The key representing the shared targeting criterion.
@@ -5827,17 +5792,20 @@
             # deal.
       },
     ],
-    "proposalId": "A String", # Output only. The unique ID of the proposal.
-    "displayName": "A String", # The name for 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.
+    "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.
+        # 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).
     },
-    "isSetupComplete": True or False, # Output only. True, if the buyside inventory setup is complete for this
+    "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.
@@ -5852,6 +5820,38 @@
         "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.
+        #
+        # 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.
+          # 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.
@@ -5864,7 +5864,7 @@
 </div>
 
 <div class="method">
-    <code class="details" id="update">update(accountId, proposalId, body, x__xgafv=None)</code>
+    <code class="details" id="update">update(accountId, proposalId, body=None, x__xgafv=None)</code>
   <pre>Update the given proposal at the client known revision number. If the
 server revision has advanced since the passed-in
 `proposal.proposal_revision`, an `ABORTED` error message will be returned.
@@ -5882,7 +5882,7 @@
 Args:
   accountId: string, Account ID of the buyer. (required)
   proposalId: string, The unique ID of the proposal. (required)
-  body: object, The request body. (required)
+  body: object, The request body.
     The object takes the form of:
 
 { # Note: this resource requires whitelisting for access. Please contact your
@@ -5896,41 +5896,6 @@
     # Auction or Preferred Deals deals through the API.
     # 
     # Fields are updatable unless noted otherwise.
-  "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.
-    },
-  ],
-  "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.
-      # 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.
-  "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.
-  },
-  "originatorRole": "A String", # Output only. Indicates whether the buyer/seller created the proposal.
-  "seller": { # 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.
-        # The seller account ID is then available to buyer in the product.
-  },
   "deals": [ # 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.
@@ -5944,12 +5909,9 @@
           #
           # Note: This field may be set only when creating the resource. Modifying
           # this field while updating the resource will result in an error.
-      "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.
-        },
-      ],
+      "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.
           # This will generally be stored in the granularity of one second since deal
           # serving starts at seconds boundary. Any time specified with more
@@ -5958,40 +5920,56 @@
       "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.
-      "creativeRestrictions": { # 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.
-        "skippableAdType": "A String", # Skippable video ads allow viewers to skip ads after 5 seconds.
-        "creativeSpecifications": [
-          { # 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.
-                  # 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`.
-            },
-            "creativeCompanionSizes": [ # 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.
-                    # 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`.
-              },
-            ],
-          },
-        ],
-      },
+      "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.
           # 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",
+            ],
+            "targetedUrls": [ # A list of URLs to be included.
+              "A String",
+            ],
+          },
+          "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
+                # display the ads in.
+                # publishers own.
+                # Mobile application IDs are from App Store and Google Play Store.
+                # Android App ID, for example, com.google.android.apps.maps, can be found in
+                # 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",
+              ],
+              "targetedAppIds": [ # A list of application IDs to be included.
+                "A String",
+              ],
+            },
+          },
+        },
+        "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).
@@ -6043,49 +6021,6 @@
             ],
           },
         },
-        "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",
-          ],
-        },
-        "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",
-            ],
-            "targetedUrls": [ # A list of URLs to be included.
-              "A String",
-            ],
-          },
-          "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
-                # display the ads in.
-                # publishers own.
-                # Mobile application IDs are from App Store and Google Play Store.
-                # Android App ID, for example, com.google.android.apps.maps, can be found in
-                # 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",
-              ],
-              "targetedAppIds": [ # A list of application IDs to be included.
-                "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
@@ -6110,10 +6045,7 @@
           ],
         },
       },
-      "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.
+      "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
@@ -6135,51 +6067,57 @@
       "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.
-      "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.
-      "createTime": "A String", # Output only. The time of the deal creation.
+      "creativeRestrictions": { # 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": [
+          { # 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.
+                  # 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`.
+            },
+            "creativeCompanionSizes": [ # 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.
+                    # 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`.
+              },
+            ],
+          },
+        ],
+        "skippableAdType": "A String", # 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.
-        "description": "A String", # Publisher provided description for the terms.
-        "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.
+        "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
@@ -6223,20 +6161,44 @@
             },
           ],
         },
-        "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.
-          },
+        "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.
@@ -6276,11 +6238,14 @@
           "autoOptimizePrivateAuction": True or False, # True if open auction buyers are allowed to compete with invited buyers
               # in this private auction.
         },
-        "brandingType": "A String", # Visibility of the URL in bid requests. (default: BRANDED)
+        "description": "A String", # Publisher provided description for the terms.
       },
-      "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.
+      "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
@@ -6300,6 +6265,42 @@
             { # 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).
@@ -6328,42 +6329,6 @@
                   "height": 42, # The height of the creative.
                 },
               },
-              "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`.
-                      "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.
-                      "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.
-                      "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                      "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                    },
-                    "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`.
-                      "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.
-                      "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.
-                      "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                      "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                    },
-                  },
-                ],
-                "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
-              },
             },
           ],
           "exclusions": [ # The list of values to exclude from targeting. Each value is AND'd
@@ -6371,6 +6336,42 @@
             { # 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).
@@ -6399,42 +6400,6 @@
                   "height": 42, # The height of the creative.
                 },
               },
-              "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`.
-                      "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.
-                      "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.
-                      "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                      "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                    },
-                    "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`.
-                      "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.
-                      "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.
-                      "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                      "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                    },
-                  },
-                ],
-                "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
-              },
             },
           ],
           "key": "A String", # The key representing the shared targeting criterion.
@@ -6459,17 +6424,20 @@
           # deal.
     },
   ],
-  "proposalId": "A String", # Output only. The unique ID of the proposal.
-  "displayName": "A String", # The name for 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.
+  "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.
+      # 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).
   },
-  "isSetupComplete": True or False, # Output only. True, if the buyside inventory setup is complete for this
+  "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.
@@ -6484,6 +6452,38 @@
       "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.
+      # 
+      # 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.
+        # 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.
@@ -6513,41 +6513,6 @@
       # Auction or Preferred Deals deals through the API.
       #
       # Fields are updatable unless noted otherwise.
-    "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.
-      },
-    ],
-    "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.
-        # 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.
-    "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.
-    },
-    "originatorRole": "A String", # Output only. Indicates whether the buyer/seller created the proposal.
-    "seller": { # 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.
-          # The seller account ID is then available to buyer in the product.
-    },
     "deals": [ # 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.
@@ -6561,12 +6526,9 @@
             #
             # Note: This field may be set only when creating the resource. Modifying
             # this field while updating the resource will result in an error.
-        "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.
-          },
-        ],
+        "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.
             # This will generally be stored in the granularity of one second since deal
             # serving starts at seconds boundary. Any time specified with more
@@ -6575,40 +6537,56 @@
         "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.
-        "creativeRestrictions": { # 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.
-          "skippableAdType": "A String", # Skippable video ads allow viewers to skip ads after 5 seconds.
-          "creativeSpecifications": [
-            { # 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.
-                    # 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`.
-              },
-              "creativeCompanionSizes": [ # 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.
-                      # 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`.
-                },
-              ],
-            },
-          ],
-        },
+        "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.
             # 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",
+              ],
+              "targetedUrls": [ # A list of URLs to be included.
+                "A String",
+              ],
+            },
+            "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
+                  # display the ads in.
+                  # publishers own.
+                  # Mobile application IDs are from App Store and Google Play Store.
+                  # Android App ID, for example, com.google.android.apps.maps, can be found in
+                  # 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",
+                ],
+                "targetedAppIds": [ # A list of application IDs to be included.
+                  "A String",
+                ],
+              },
+            },
+          },
+          "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).
@@ -6660,49 +6638,6 @@
               ],
             },
           },
-          "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",
-            ],
-          },
-          "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",
-              ],
-              "targetedUrls": [ # A list of URLs to be included.
-                "A String",
-              ],
-            },
-            "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
-                  # display the ads in.
-                  # publishers own.
-                  # Mobile application IDs are from App Store and Google Play Store.
-                  # Android App ID, for example, com.google.android.apps.maps, can be found in
-                  # 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",
-                ],
-                "targetedAppIds": [ # A list of application IDs to be included.
-                  "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
@@ -6727,10 +6662,7 @@
             ],
           },
         },
-        "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.
+        "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
@@ -6752,51 +6684,57 @@
         "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.
-        "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.
-        "createTime": "A String", # Output only. The time of the deal creation.
+        "creativeRestrictions": { # 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": [
+            { # 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.
+                    # 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`.
+              },
+              "creativeCompanionSizes": [ # 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.
+                      # 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`.
+                },
+              ],
+            },
+          ],
+          "skippableAdType": "A String", # 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.
-          "description": "A String", # Publisher provided description for the terms.
-          "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.
+          "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
@@ -6840,20 +6778,44 @@
               },
             ],
           },
-          "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.
-            },
+          "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.
@@ -6893,11 +6855,14 @@
             "autoOptimizePrivateAuction": True or False, # True if open auction buyers are allowed to compete with invited buyers
                 # in this private auction.
           },
-          "brandingType": "A String", # Visibility of the URL in bid requests. (default: BRANDED)
+          "description": "A String", # Publisher provided description for the terms.
         },
-        "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.
+        "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
@@ -6917,6 +6882,42 @@
               { # 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).
@@ -6945,42 +6946,6 @@
                     "height": 42, # The height of the creative.
                   },
                 },
-                "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`.
-                        "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.
-                        "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.
-                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                      },
-                      "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`.
-                        "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.
-                        "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.
-                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                      },
-                    },
-                  ],
-                  "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
-                },
               },
             ],
             "exclusions": [ # The list of values to exclude from targeting. Each value is AND'd
@@ -6988,6 +6953,42 @@
               { # 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).
@@ -7016,42 +7017,6 @@
                     "height": 42, # The height of the creative.
                   },
                 },
-                "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`.
-                        "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.
-                        "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.
-                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                      },
-                      "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`.
-                        "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.
-                        "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.
-                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
-                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-                      },
-                    },
-                  ],
-                  "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
-                },
               },
             ],
             "key": "A String", # The key representing the shared targeting criterion.
@@ -7076,17 +7041,20 @@
             # deal.
       },
     ],
-    "proposalId": "A String", # Output only. The unique ID of the proposal.
-    "displayName": "A String", # The name for 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.
+    "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.
+        # 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).
     },
-    "isSetupComplete": True or False, # Output only. True, if the buyside inventory setup is complete for this
+    "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.
@@ -7101,6 +7069,38 @@
         "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.
+        #
+        # 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.
+          # 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.