docs: update generated docs (#981)

diff --git a/docs/dyn/content_v2_1.orders.html b/docs/dyn/content_v2_1.orders.html
index a99ed2c..9fa445f 100644
--- a/docs/dyn/content_v2_1.orders.html
+++ b/docs/dyn/content_v2_1.orders.html
@@ -114,11 +114,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="#refunditem">refunditem(merchantId, orderId, body=None)</a></code></p>
+<p class="firstline">Issues a partial or total refund for items and shipment.</p>
+<p class="toc_element">
+  <code><a href="#refundorder">refundorder(merchantId, orderId, body=None)</a></code></p>
+<p class="firstline">Issues a partial or total refund for an order.</p>
+<p class="toc_element">
   <code><a href="#rejectreturnlineitem">rejectreturnlineitem(merchantId, orderId, body=None)</a></code></p>
 <p class="firstline">Rejects return on an line item.</p>
 <p class="toc_element">
   <code><a href="#returnrefundlineitem">returnrefundlineitem(merchantId, orderId, body=None)</a></code></p>
-<p class="firstline">Returns and refunds a line item. Note that this method can only be called on fully shipped orders.</p>
+<p class="firstline">Returns and refunds a line item. Note that this method can only be called on fully shipped orders. Please also note that the Orderreturns API is the preferred way to handle returns after you receive a return from a customer. You can use Orderreturns.list or Orderreturns.get to search for the return, and then use Orderreturns.processreturn to issue the refund. If the return cannot be found, then we recommend using this API to issue a refund.</p>
 <p class="toc_element">
   <code><a href="#setlineitemmetadata">setlineitemmetadata(merchantId, orderId, body=None)</a></code></p>
 <p class="firstline">Sets (or overrides if it already exists) merchant provided annotations in the form of key-value pairs. A common use case would be to supply us with additional structured information about a line item that cannot be provided via other methods. Submitted key-value pairs can be retrieved as part of the orders resource.</p>
@@ -318,6 +324,27 @@
         # - &quot;`template2`&quot;
         # - &quot;`template3`&quot;
     &quot;testOrder&quot;: { # The test order to create.
+      &quot;deliveryDetails&quot;: { # Overrides the predefined delivery details if provided.
+        &quot;address&quot;: { # The delivery address
+          &quot;country&quot;: &quot;A String&quot;, # CLDR country code (e.g. &quot;US&quot;).
+          &quot;fullAddress&quot;: [ # Strings representing the lines of the printed label for mailing the order, for example:
+              # John Smith
+              # 1600 Amphitheatre Parkway
+              # Mountain View, CA, 94043
+              # United States
+            &quot;A String&quot;,
+          ],
+          &quot;isPostOfficeBox&quot;: True or False, # Whether the address is a post office box.
+          &quot;locality&quot;: &quot;A String&quot;, # City, town or commune. May also include dependent localities or sublocalities (e.g. neighborhoods or suburbs).
+          &quot;postalCode&quot;: &quot;A String&quot;, # Postal Code or ZIP (e.g. &quot;94043&quot;).
+          &quot;recipientName&quot;: &quot;A String&quot;, # Name of the recipient.
+          &quot;region&quot;: &quot;A String&quot;, # Top-level administrative subdivision of the country. For example, a state like California (&quot;CA&quot;) or a province like Quebec (&quot;QC&quot;).
+          &quot;streetAddress&quot;: [ # Street-level part of the address.
+            &quot;A String&quot;,
+          ],
+        },
+        &quot;phoneNumber&quot;: &quot;A String&quot;, # The phone number of the person receiving the delivery.
+      },
       &quot;enableOrderinvoices&quot;: True or False, # Whether the orderinvoices service should support this order.
       &quot;kind&quot;: &quot;content#testOrder&quot;, # Identifies what kind of resource this is. Value: the fixed string &quot;`content#testOrder`&quot;
       &quot;lineItems&quot;: [ # Required. Line items that are ordered. At least one line item must be provided.
@@ -374,6 +401,7 @@
               &quot;methodName&quot;: &quot;A String&quot;, # Required. The name of the shipping method.
               &quot;minDaysInTransit&quot;: 42, # Required. Minimum transit time.
             },
+            &quot;pickupPromiseInMinutes&quot;: 42, # The promised time in minutes in which the order will be ready for pickup. This only applies to buy-online-pickup-in-store same-day order.
             &quot;shipByDate&quot;: &quot;A String&quot;, # Required. The ship by date, in ISO 8601 format.
             &quot;type&quot;: &quot;A String&quot;, # Type of shipment. Indicates whether `deliveryDetails` or `pickupDetails` is applicable for this shipment.
                 #
@@ -384,6 +412,39 @@
         },
       ],
       &quot;notificationMode&quot;: &quot;A String&quot;, # Restricted. Do not use.
+      &quot;pickupDetails&quot;: { # Overrides the predefined pickup details if provided.
+        &quot;locationCode&quot;: &quot;A String&quot;, # Required. Code of the location defined by provider or merchant.
+        &quot;pickupLocationAddress&quot;: { # Required. Pickup location address.
+          &quot;country&quot;: &quot;A String&quot;, # CLDR country code (e.g. &quot;US&quot;).
+          &quot;fullAddress&quot;: [ # Strings representing the lines of the printed label for mailing the order, for example:
+              # John Smith
+              # 1600 Amphitheatre Parkway
+              # Mountain View, CA, 94043
+              # United States
+            &quot;A String&quot;,
+          ],
+          &quot;isPostOfficeBox&quot;: True or False, # Whether the address is a post office box.
+          &quot;locality&quot;: &quot;A String&quot;, # City, town or commune. May also include dependent localities or sublocalities (e.g. neighborhoods or suburbs).
+          &quot;postalCode&quot;: &quot;A String&quot;, # Postal Code or ZIP (e.g. &quot;94043&quot;).
+          &quot;recipientName&quot;: &quot;A String&quot;, # Name of the recipient.
+          &quot;region&quot;: &quot;A String&quot;, # Top-level administrative subdivision of the country. For example, a state like California (&quot;CA&quot;) or a province like Quebec (&quot;QC&quot;).
+          &quot;streetAddress&quot;: [ # Street-level part of the address.
+            &quot;A String&quot;,
+          ],
+        },
+        &quot;pickupLocationType&quot;: &quot;A String&quot;, # Pickup location type.
+            #
+            # Acceptable values are:
+            # - &quot;`locker`&quot;
+            # - &quot;`store`&quot;
+            # - &quot;`curbside`&quot;
+        &quot;pickupPersons&quot;: [ # Required. all pickup persons set by users.
+          {
+            &quot;name&quot;: &quot;A String&quot;, # Required. Full name of the pickup person.
+            &quot;phoneNumber&quot;: &quot;A String&quot;, # Required. The phone number of the person picking up the items.
+          },
+        ],
+      },
       &quot;predefinedBillingAddress&quot;: &quot;A String&quot;, # Required. The billing address.
           #
           # Acceptable values are:
@@ -410,7 +471,7 @@
           # - &quot;`pam`&quot;
       &quot;promotions&quot;: [ # Promotions associated with the order.
         {
-          &quot;applicableItems&quot;: [ # Items which this promotion may be applied to. If empty, there are no restrictions on applicable items and quantity.
+          &quot;applicableItems&quot;: [ # Items that this promotion may be applied to. If empty, there are no restrictions on applicable items and quantity. This field will also be empty for shipping promotions because shipping is not tied to any specific item.
             {
               &quot;lineItemId&quot;: &quot;A String&quot;, # The line item ID of a product. Do not provide for `orders.createtestorder`.
               &quot;offerId&quot;: &quot;A String&quot;, # Required. Offer ID of a product. Only for `orders.createtestorder`.
@@ -418,7 +479,7 @@
               &quot;quantity&quot;: 42, # The quantity of the associated product. Do not provide for `orders.createtestorder`.
             },
           ],
-          &quot;appliedItems&quot;: [ # Items which this promotion have been applied to. Do not provide for `orders.createtestorder`.
+          &quot;appliedItems&quot;: [ # Items that this promotion have been applied to. Do not provide for `orders.createtestorder`. This field will be empty for shipping promotions because shipping is not tied to any specific item.
             {
               &quot;lineItemId&quot;: &quot;A String&quot;, # The line item ID of a product. Do not provide for `orders.createtestorder`.
               &quot;offerId&quot;: &quot;A String&quot;, # Required. Offer ID of a product. Only for `orders.createtestorder`.
@@ -536,6 +597,12 @@
 
     { # Order. Production access (all methods) requires the order manager role. Sandbox access does not. (== resource_for v2.orders ==) (== resource_for v2.1.orders ==)
     &quot;acknowledged&quot;: True or False, # Whether the order was acknowledged.
+    &quot;annotations&quot;: [ # List of key-value pairs that are attached to a given order.
+      {
+        &quot;key&quot;: &quot;A String&quot;, # Key for additional google provided (as key-value pairs) annotation.
+        &quot;value&quot;: &quot;A String&quot;, # Value for additional google provided (as key-value pairs) annotation.
+      },
+    ],
     &quot;billingAddress&quot;: { # The billing address.
       &quot;country&quot;: &quot;A String&quot;, # CLDR country code (e.g. &quot;US&quot;).
       &quot;fullAddress&quot;: [ # Strings representing the lines of the printed label for mailing the order, for example:
@@ -761,6 +828,7 @@
             &quot;methodName&quot;: &quot;A String&quot;, # Required. The name of the shipping method.
             &quot;minDaysInTransit&quot;: 42, # Required. Minimum transit time.
           },
+          &quot;pickupPromiseInMinutes&quot;: 42, # The promised time in minutes in which the order will be ready for pickup. This only applies to buy-online-pickup-in-store same-day order.
           &quot;shipByDate&quot;: &quot;A String&quot;, # Required. The ship by date, in ISO 8601 format.
           &quot;type&quot;: &quot;A String&quot;, # Type of shipment. Indicates whether `deliveryDetails` or `pickupDetails` is applicable for this shipment.
               #
@@ -817,6 +885,14 @@
         },
       ],
       &quot;locationId&quot;: &quot;A String&quot;, # ID of the pickup location.
+      &quot;pickupType&quot;: &quot;A String&quot;, # The pickup type of this order.
+          #
+          # Acceptable values are:
+          # - &quot;`merchantStore`&quot;
+          # - &quot;`merchantStoreCurbside`&quot;
+          # - &quot;`merchantStoreLocker`&quot;
+          # - &quot;`thirdPartyPickupPoint`&quot;
+          # - &quot;`thirdPartyLocker`&quot;
     },
     &quot;placedDate&quot;: &quot;A String&quot;, # The date when the order was placed, in ISO 8601 format.
     &quot;promotions&quot;: [ # Promotions associated with the order.
@@ -831,7 +907,7 @@
         #
         # More details about the program are here.
       {
-        &quot;applicableItems&quot;: [ # Items which this promotion may be applied to. If empty, there are no restrictions on applicable items and quantity.
+        &quot;applicableItems&quot;: [ # Items that this promotion may be applied to. If empty, there are no restrictions on applicable items and quantity. This field will also be empty for shipping promotions because shipping is not tied to any specific item.
           {
             &quot;lineItemId&quot;: &quot;A String&quot;, # The line item ID of a product. Do not provide for `orders.createtestorder`.
             &quot;offerId&quot;: &quot;A String&quot;, # Required. Offer ID of a product. Only for `orders.createtestorder`.
@@ -839,7 +915,7 @@
             &quot;quantity&quot;: 42, # The quantity of the associated product. Do not provide for `orders.createtestorder`.
           },
         ],
-        &quot;appliedItems&quot;: [ # Items which this promotion have been applied to. Do not provide for `orders.createtestorder`.
+        &quot;appliedItems&quot;: [ # Items that this promotion have been applied to. Do not provide for `orders.createtestorder`. This field will be empty for shipping promotions because shipping is not tied to any specific item.
           {
             &quot;lineItemId&quot;: &quot;A String&quot;, # The line item ID of a product. Do not provide for `orders.createtestorder`.
             &quot;offerId&quot;: &quot;A String&quot;, # Required. Offer ID of a product. Only for `orders.createtestorder`.
@@ -1007,6 +1083,10 @@
             &quot;quantity&quot;: 42, # The quantity that is shipped.
           },
         ],
+        &quot;scheduledDeliveryDetails&quot;: { # Delivery details of the shipment if scheduling is needed.
+          &quot;carrierPhoneNumber&quot;: &quot;A String&quot;, # The phone number of the carrier fulfilling the delivery.
+          &quot;scheduledDate&quot;: &quot;A String&quot;, # The date a shipment is scheduled for delivery, in ISO 8601 format.
+        },
         &quot;shipmentGroupId&quot;: &quot;A String&quot;, # The shipment group ID of the shipment. This is set in shiplineitems request.
         &quot;status&quot;: &quot;A String&quot;, # The status of the shipment.
             #
@@ -1061,6 +1141,12 @@
     &quot;kind&quot;: &quot;content#ordersGetByMerchantOrderIdResponse&quot;, # Identifies what kind of resource this is. Value: the fixed string &quot;content#ordersGetByMerchantOrderIdResponse&quot;.
     &quot;order&quot;: { # Order. Production access (all methods) requires the order manager role. Sandbox access does not. (== resource_for v2.orders ==) (== resource_for v2.1.orders ==) # The requested order.
       &quot;acknowledged&quot;: True or False, # Whether the order was acknowledged.
+      &quot;annotations&quot;: [ # List of key-value pairs that are attached to a given order.
+        {
+          &quot;key&quot;: &quot;A String&quot;, # Key for additional google provided (as key-value pairs) annotation.
+          &quot;value&quot;: &quot;A String&quot;, # Value for additional google provided (as key-value pairs) annotation.
+        },
+      ],
       &quot;billingAddress&quot;: { # The billing address.
         &quot;country&quot;: &quot;A String&quot;, # CLDR country code (e.g. &quot;US&quot;).
         &quot;fullAddress&quot;: [ # Strings representing the lines of the printed label for mailing the order, for example:
@@ -1286,6 +1372,7 @@
               &quot;methodName&quot;: &quot;A String&quot;, # Required. The name of the shipping method.
               &quot;minDaysInTransit&quot;: 42, # Required. Minimum transit time.
             },
+            &quot;pickupPromiseInMinutes&quot;: 42, # The promised time in minutes in which the order will be ready for pickup. This only applies to buy-online-pickup-in-store same-day order.
             &quot;shipByDate&quot;: &quot;A String&quot;, # Required. The ship by date, in ISO 8601 format.
             &quot;type&quot;: &quot;A String&quot;, # Type of shipment. Indicates whether `deliveryDetails` or `pickupDetails` is applicable for this shipment.
                 #
@@ -1342,6 +1429,14 @@
           },
         ],
         &quot;locationId&quot;: &quot;A String&quot;, # ID of the pickup location.
+        &quot;pickupType&quot;: &quot;A String&quot;, # The pickup type of this order.
+            #
+            # Acceptable values are:
+            # - &quot;`merchantStore`&quot;
+            # - &quot;`merchantStoreCurbside`&quot;
+            # - &quot;`merchantStoreLocker`&quot;
+            # - &quot;`thirdPartyPickupPoint`&quot;
+            # - &quot;`thirdPartyLocker`&quot;
       },
       &quot;placedDate&quot;: &quot;A String&quot;, # The date when the order was placed, in ISO 8601 format.
       &quot;promotions&quot;: [ # Promotions associated with the order.
@@ -1356,7 +1451,7 @@
           #
           # More details about the program are here.
         {
-          &quot;applicableItems&quot;: [ # Items which this promotion may be applied to. If empty, there are no restrictions on applicable items and quantity.
+          &quot;applicableItems&quot;: [ # Items that this promotion may be applied to. If empty, there are no restrictions on applicable items and quantity. This field will also be empty for shipping promotions because shipping is not tied to any specific item.
             {
               &quot;lineItemId&quot;: &quot;A String&quot;, # The line item ID of a product. Do not provide for `orders.createtestorder`.
               &quot;offerId&quot;: &quot;A String&quot;, # Required. Offer ID of a product. Only for `orders.createtestorder`.
@@ -1364,7 +1459,7 @@
               &quot;quantity&quot;: 42, # The quantity of the associated product. Do not provide for `orders.createtestorder`.
             },
           ],
-          &quot;appliedItems&quot;: [ # Items which this promotion have been applied to. Do not provide for `orders.createtestorder`.
+          &quot;appliedItems&quot;: [ # Items that this promotion have been applied to. Do not provide for `orders.createtestorder`. This field will be empty for shipping promotions because shipping is not tied to any specific item.
             {
               &quot;lineItemId&quot;: &quot;A String&quot;, # The line item ID of a product. Do not provide for `orders.createtestorder`.
               &quot;offerId&quot;: &quot;A String&quot;, # Required. Offer ID of a product. Only for `orders.createtestorder`.
@@ -1532,6 +1627,10 @@
               &quot;quantity&quot;: 42, # The quantity that is shipped.
             },
           ],
+          &quot;scheduledDeliveryDetails&quot;: { # Delivery details of the shipment if scheduling is needed.
+            &quot;carrierPhoneNumber&quot;: &quot;A String&quot;, # The phone number of the carrier fulfilling the delivery.
+            &quot;scheduledDate&quot;: &quot;A String&quot;, # The date a shipment is scheduled for delivery, in ISO 8601 format.
+          },
           &quot;shipmentGroupId&quot;: &quot;A String&quot;, # The shipment group ID of the shipment. This is set in shiplineitems request.
           &quot;status&quot;: &quot;A String&quot;, # The status of the shipment.
               #
@@ -1585,6 +1684,7 @@
       template1b - 
       template2 - 
       template3 - 
+      template4 - 
   country: string, The country of the template to retrieve. Defaults to `US`.
 
 Returns:
@@ -1593,6 +1693,27 @@
     {
     &quot;kind&quot;: &quot;content#ordersGetTestOrderTemplateResponse&quot;, # Identifies what kind of resource this is. Value: the fixed string &quot;content#ordersGetTestOrderTemplateResponse&quot;.
     &quot;template&quot;: { # The requested test order template.
+      &quot;deliveryDetails&quot;: { # Overrides the predefined delivery details if provided.
+        &quot;address&quot;: { # The delivery address
+          &quot;country&quot;: &quot;A String&quot;, # CLDR country code (e.g. &quot;US&quot;).
+          &quot;fullAddress&quot;: [ # Strings representing the lines of the printed label for mailing the order, for example:
+              # John Smith
+              # 1600 Amphitheatre Parkway
+              # Mountain View, CA, 94043
+              # United States
+            &quot;A String&quot;,
+          ],
+          &quot;isPostOfficeBox&quot;: True or False, # Whether the address is a post office box.
+          &quot;locality&quot;: &quot;A String&quot;, # City, town or commune. May also include dependent localities or sublocalities (e.g. neighborhoods or suburbs).
+          &quot;postalCode&quot;: &quot;A String&quot;, # Postal Code or ZIP (e.g. &quot;94043&quot;).
+          &quot;recipientName&quot;: &quot;A String&quot;, # Name of the recipient.
+          &quot;region&quot;: &quot;A String&quot;, # Top-level administrative subdivision of the country. For example, a state like California (&quot;CA&quot;) or a province like Quebec (&quot;QC&quot;).
+          &quot;streetAddress&quot;: [ # Street-level part of the address.
+            &quot;A String&quot;,
+          ],
+        },
+        &quot;phoneNumber&quot;: &quot;A String&quot;, # The phone number of the person receiving the delivery.
+      },
       &quot;enableOrderinvoices&quot;: True or False, # Whether the orderinvoices service should support this order.
       &quot;kind&quot;: &quot;content#testOrder&quot;, # Identifies what kind of resource this is. Value: the fixed string &quot;`content#testOrder`&quot;
       &quot;lineItems&quot;: [ # Required. Line items that are ordered. At least one line item must be provided.
@@ -1649,6 +1770,7 @@
               &quot;methodName&quot;: &quot;A String&quot;, # Required. The name of the shipping method.
               &quot;minDaysInTransit&quot;: 42, # Required. Minimum transit time.
             },
+            &quot;pickupPromiseInMinutes&quot;: 42, # The promised time in minutes in which the order will be ready for pickup. This only applies to buy-online-pickup-in-store same-day order.
             &quot;shipByDate&quot;: &quot;A String&quot;, # Required. The ship by date, in ISO 8601 format.
             &quot;type&quot;: &quot;A String&quot;, # Type of shipment. Indicates whether `deliveryDetails` or `pickupDetails` is applicable for this shipment.
                 #
@@ -1659,6 +1781,39 @@
         },
       ],
       &quot;notificationMode&quot;: &quot;A String&quot;, # Restricted. Do not use.
+      &quot;pickupDetails&quot;: { # Overrides the predefined pickup details if provided.
+        &quot;locationCode&quot;: &quot;A String&quot;, # Required. Code of the location defined by provider or merchant.
+        &quot;pickupLocationAddress&quot;: { # Required. Pickup location address.
+          &quot;country&quot;: &quot;A String&quot;, # CLDR country code (e.g. &quot;US&quot;).
+          &quot;fullAddress&quot;: [ # Strings representing the lines of the printed label for mailing the order, for example:
+              # John Smith
+              # 1600 Amphitheatre Parkway
+              # Mountain View, CA, 94043
+              # United States
+            &quot;A String&quot;,
+          ],
+          &quot;isPostOfficeBox&quot;: True or False, # Whether the address is a post office box.
+          &quot;locality&quot;: &quot;A String&quot;, # City, town or commune. May also include dependent localities or sublocalities (e.g. neighborhoods or suburbs).
+          &quot;postalCode&quot;: &quot;A String&quot;, # Postal Code or ZIP (e.g. &quot;94043&quot;).
+          &quot;recipientName&quot;: &quot;A String&quot;, # Name of the recipient.
+          &quot;region&quot;: &quot;A String&quot;, # Top-level administrative subdivision of the country. For example, a state like California (&quot;CA&quot;) or a province like Quebec (&quot;QC&quot;).
+          &quot;streetAddress&quot;: [ # Street-level part of the address.
+            &quot;A String&quot;,
+          ],
+        },
+        &quot;pickupLocationType&quot;: &quot;A String&quot;, # Pickup location type.
+            #
+            # Acceptable values are:
+            # - &quot;`locker`&quot;
+            # - &quot;`store`&quot;
+            # - &quot;`curbside`&quot;
+        &quot;pickupPersons&quot;: [ # Required. all pickup persons set by users.
+          {
+            &quot;name&quot;: &quot;A String&quot;, # Required. Full name of the pickup person.
+            &quot;phoneNumber&quot;: &quot;A String&quot;, # Required. The phone number of the person picking up the items.
+          },
+        ],
+      },
       &quot;predefinedBillingAddress&quot;: &quot;A String&quot;, # Required. The billing address.
           #
           # Acceptable values are:
@@ -1685,7 +1840,7 @@
           # - &quot;`pam`&quot;
       &quot;promotions&quot;: [ # Promotions associated with the order.
         {
-          &quot;applicableItems&quot;: [ # Items which this promotion may be applied to. If empty, there are no restrictions on applicable items and quantity.
+          &quot;applicableItems&quot;: [ # Items that this promotion may be applied to. If empty, there are no restrictions on applicable items and quantity. This field will also be empty for shipping promotions because shipping is not tied to any specific item.
             {
               &quot;lineItemId&quot;: &quot;A String&quot;, # The line item ID of a product. Do not provide for `orders.createtestorder`.
               &quot;offerId&quot;: &quot;A String&quot;, # Required. Offer ID of a product. Only for `orders.createtestorder`.
@@ -1693,7 +1848,7 @@
               &quot;quantity&quot;: 42, # The quantity of the associated product. Do not provide for `orders.createtestorder`.
             },
           ],
-          &quot;appliedItems&quot;: [ # Items which this promotion have been applied to. Do not provide for `orders.createtestorder`.
+          &quot;appliedItems&quot;: [ # Items that this promotion have been applied to. Do not provide for `orders.createtestorder`. This field will be empty for shipping promotions because shipping is not tied to any specific item.
             {
               &quot;lineItemId&quot;: &quot;A String&quot;, # The line item ID of a product. Do not provide for `orders.createtestorder`.
               &quot;offerId&quot;: &quot;A String&quot;, # Required. Offer ID of a product. Only for `orders.createtestorder`.
@@ -1857,6 +2012,12 @@
     &quot;resources&quot;: [
       { # Order. Production access (all methods) requires the order manager role. Sandbox access does not. (== resource_for v2.orders ==) (== resource_for v2.1.orders ==)
         &quot;acknowledged&quot;: True or False, # Whether the order was acknowledged.
+        &quot;annotations&quot;: [ # List of key-value pairs that are attached to a given order.
+          {
+            &quot;key&quot;: &quot;A String&quot;, # Key for additional google provided (as key-value pairs) annotation.
+            &quot;value&quot;: &quot;A String&quot;, # Value for additional google provided (as key-value pairs) annotation.
+          },
+        ],
         &quot;billingAddress&quot;: { # The billing address.
           &quot;country&quot;: &quot;A String&quot;, # CLDR country code (e.g. &quot;US&quot;).
           &quot;fullAddress&quot;: [ # Strings representing the lines of the printed label for mailing the order, for example:
@@ -2082,6 +2243,7 @@
                 &quot;methodName&quot;: &quot;A String&quot;, # Required. The name of the shipping method.
                 &quot;minDaysInTransit&quot;: 42, # Required. Minimum transit time.
               },
+              &quot;pickupPromiseInMinutes&quot;: 42, # The promised time in minutes in which the order will be ready for pickup. This only applies to buy-online-pickup-in-store same-day order.
               &quot;shipByDate&quot;: &quot;A String&quot;, # Required. The ship by date, in ISO 8601 format.
               &quot;type&quot;: &quot;A String&quot;, # Type of shipment. Indicates whether `deliveryDetails` or `pickupDetails` is applicable for this shipment.
                   #
@@ -2138,6 +2300,14 @@
             },
           ],
           &quot;locationId&quot;: &quot;A String&quot;, # ID of the pickup location.
+          &quot;pickupType&quot;: &quot;A String&quot;, # The pickup type of this order.
+              #
+              # Acceptable values are:
+              # - &quot;`merchantStore`&quot;
+              # - &quot;`merchantStoreCurbside`&quot;
+              # - &quot;`merchantStoreLocker`&quot;
+              # - &quot;`thirdPartyPickupPoint`&quot;
+              # - &quot;`thirdPartyLocker`&quot;
         },
         &quot;placedDate&quot;: &quot;A String&quot;, # The date when the order was placed, in ISO 8601 format.
         &quot;promotions&quot;: [ # Promotions associated with the order.
@@ -2152,7 +2322,7 @@
             #
             # More details about the program are here.
           {
-            &quot;applicableItems&quot;: [ # Items which this promotion may be applied to. If empty, there are no restrictions on applicable items and quantity.
+            &quot;applicableItems&quot;: [ # Items that this promotion may be applied to. If empty, there are no restrictions on applicable items and quantity. This field will also be empty for shipping promotions because shipping is not tied to any specific item.
               {
                 &quot;lineItemId&quot;: &quot;A String&quot;, # The line item ID of a product. Do not provide for `orders.createtestorder`.
                 &quot;offerId&quot;: &quot;A String&quot;, # Required. Offer ID of a product. Only for `orders.createtestorder`.
@@ -2160,7 +2330,7 @@
                 &quot;quantity&quot;: 42, # The quantity of the associated product. Do not provide for `orders.createtestorder`.
               },
             ],
-            &quot;appliedItems&quot;: [ # Items which this promotion have been applied to. Do not provide for `orders.createtestorder`.
+            &quot;appliedItems&quot;: [ # Items that this promotion have been applied to. Do not provide for `orders.createtestorder`. This field will be empty for shipping promotions because shipping is not tied to any specific item.
               {
                 &quot;lineItemId&quot;: &quot;A String&quot;, # The line item ID of a product. Do not provide for `orders.createtestorder`.
                 &quot;offerId&quot;: &quot;A String&quot;, # Required. Offer ID of a product. Only for `orders.createtestorder`.
@@ -2328,6 +2498,10 @@
                 &quot;quantity&quot;: 42, # The quantity that is shipped.
               },
             ],
+            &quot;scheduledDeliveryDetails&quot;: { # Delivery details of the shipment if scheduling is needed.
+              &quot;carrierPhoneNumber&quot;: &quot;A String&quot;, # The phone number of the carrier fulfilling the delivery.
+              &quot;scheduledDate&quot;: &quot;A String&quot;, # The date a shipment is scheduled for delivery, in ISO 8601 format.
+            },
             &quot;shipmentGroupId&quot;: &quot;A String&quot;, # The shipment group ID of the shipment. This is set in shiplineitems request.
             &quot;status&quot;: &quot;A String&quot;, # The status of the shipment.
                 #
@@ -2384,6 +2558,122 @@
 </div>
 
 <div class="method">
+    <code class="details" id="refunditem">refunditem(merchantId, orderId, body=None)</code>
+  <pre>Issues a partial or total refund for items and shipment.
+
+Args:
+  merchantId: string, The ID of the account that manages the order. This cannot be a multi-client account. (required)
+  orderId: string, The ID of the order to refund. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{
+    &quot;items&quot;: [ # The items that are refunded. Either Item or Shipping must be provided in the request.
+      {
+        &quot;amount&quot;: { # The total amount that is refunded. (e.g. refunding $5 each for 2 products should be done by setting quantity to 2 and amount to 10$) In case of multiple refunds, this should be the amount you currently want to refund to the customer.
+          &quot;priceAmount&quot;: { # The pre-tax or post-tax price depends on the location of the order. - For countries (e.g. US) where price attribute excludes tax, this field corresponds to the pre-tax value. - For coutries (e.g. France) where price attribute includes tax, this field corresponds to the post-tax value .
+            &quot;currency&quot;: &quot;A String&quot;, # The currency of the price.
+            &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
+          },
+          &quot;taxAmount&quot;: { # Tax value, present only for countries where price attribute excludes tax (e.g. US). No tax is referenced as 0 value with the corresponding `currency`.
+            &quot;currency&quot;: &quot;A String&quot;, # The currency of the price.
+            &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
+          },
+        },
+        &quot;fullRefund&quot;: True or False, # If true, the full item will be refunded. If this is true, amount should not be provided and will be ignored.
+        &quot;lineItemId&quot;: &quot;A String&quot;, # The ID of the line item. Either lineItemId or productId is required.
+        &quot;productId&quot;: &quot;A String&quot;, # The ID of the product. This is the REST ID used in the products service. Either lineItemId or productId is required.
+        &quot;quantity&quot;: 42, # The number of products that are refunded.
+      },
+    ],
+    &quot;operationId&quot;: &quot;A String&quot;, # The ID of the operation. Unique across all operations for a given order.
+    &quot;reason&quot;: &quot;A String&quot;, # The reason for the refund.
+        # 
+        # Acceptable values are:
+        # - &quot;`shippingCostAdjustment`&quot;
+        # - &quot;`priceAdjustment`&quot;
+        # - &quot;`taxAdjustment`&quot;
+        # - &quot;`feeAdjustment`&quot;
+        # - &quot;`courtesyAdjustment`&quot;
+        # - &quot;`adjustment`&quot;
+        # - &quot;`customerCancelled`&quot;
+        # - &quot;`noInventory`&quot;
+        # - &quot;`productNotAsDescribed`&quot;
+        # - &quot;`undeliverableShippingAddress`&quot;
+        # - &quot;`wrongProductShipped`&quot;
+        # - &quot;`lateShipmentCredit`&quot;
+        # - &quot;`deliveredLateByCarrier`&quot;
+        # - &quot;`productArrivedDamaged`&quot;
+    &quot;reasonText&quot;: &quot;A String&quot;, # The explanation of the reason.
+    &quot;shipping&quot;: { # The refund on shipping. Optional, but either Item or Shipping must be provided in the request.
+      &quot;amount&quot;: { # The amount that is refunded. If this is not the first refund for the shipment, this should be the newly refunded amount.
+        &quot;currency&quot;: &quot;A String&quot;, # The currency of the price.
+        &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
+      },
+      &quot;fullRefund&quot;: True or False, # If set to true, all shipping costs for the order will be refunded. If this is true, amount should not be provided and will be ignored.
+    },
+  }
+
+
+Returns:
+  An object of the form:
+
+    {
+    &quot;executionStatus&quot;: &quot;A String&quot;, # The status of the execution.
+        #
+        # Acceptable values are:
+        # - &quot;`duplicate`&quot;
+        # - &quot;`executed`&quot;
+    &quot;kind&quot;: &quot;content#ordersRefundItemResponse&quot;, # Identifies what kind of resource this is. Value: the fixed string &quot;content#ordersRefundItemResponse&quot;.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="refundorder">refundorder(merchantId, orderId, body=None)</code>
+  <pre>Issues a partial or total refund for an order.
+
+Args:
+  merchantId: string, The ID of the account that manages the order. This cannot be a multi-client account. (required)
+  orderId: string, The ID of the order to refund. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{
+    &quot;amount&quot;: { # The amount that is refunded. If this is not the first refund for the order, this should be the newly refunded amount.
+      &quot;priceAmount&quot;: { # The pre-tax or post-tax price depends on the location of the order. - For countries (e.g. US) where price attribute excludes tax, this field corresponds to the pre-tax value. - For coutries (e.g. France) where price attribute includes tax, this field corresponds to the post-tax value .
+        &quot;currency&quot;: &quot;A String&quot;, # The currency of the price.
+        &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
+      },
+      &quot;taxAmount&quot;: { # Tax value, present only for countries where price attribute excludes tax (e.g. US). No tax is referenced as 0 value with the corresponding `currency`.
+        &quot;currency&quot;: &quot;A String&quot;, # The currency of the price.
+        &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
+      },
+    },
+    &quot;fullRefund&quot;: True or False, # If true, the full order will be refunded, including shipping. If this is true, amount should not be provided and will be ignored.
+    &quot;operationId&quot;: &quot;A String&quot;, # The ID of the operation. Unique across all operations for a given order.
+    &quot;reason&quot;: &quot;A String&quot;, # The reason for the refund.
+        # 
+        # Acceptable values are:
+        # - &quot;`courtesyAdjustment`&quot;
+        # - &quot;`other`&quot;
+    &quot;reasonText&quot;: &quot;A String&quot;, # The explanation of the reason.
+  }
+
+
+Returns:
+  An object of the form:
+
+    {
+    &quot;executionStatus&quot;: &quot;A String&quot;, # The status of the execution.
+        #
+        # Acceptable values are:
+        # - &quot;`duplicate`&quot;
+        # - &quot;`executed`&quot;
+    &quot;kind&quot;: &quot;content#ordersRefundOrderResponse&quot;, # Identifies what kind of resource this is. Value: the fixed string &quot;content#ordersRefundOrderResponse&quot;.
+  }</pre>
+</div>
+
+<div class="method">
     <code class="details" id="rejectreturnlineitem">rejectreturnlineitem(merchantId, orderId, body=None)</code>
   <pre>Rejects return on an line item.
 
@@ -2425,7 +2715,7 @@
 
 <div class="method">
     <code class="details" id="returnrefundlineitem">returnrefundlineitem(merchantId, orderId, body=None)</code>
-  <pre>Returns and refunds a line item. Note that this method can only be called on fully shipped orders.
+  <pre>Returns and refunds a line item. Note that this method can only be called on fully shipped orders. Please also note that the Orderreturns API is the preferred way to handle returns after you receive a return from a customer. You can use Orderreturns.list or Orderreturns.get to search for the return, and then use Orderreturns.processreturn to issue the refund. If the return cannot be found, then we recommend using this API to issue a refund.
 
 Args:
   merchantId: string, The ID of the account that manages the order. This cannot be a multi-client account. (required)
@@ -2636,14 +2926,18 @@
 {
     &quot;carrier&quot;: &quot;A String&quot;, # The carrier handling the shipment. Not updated if missing. See `shipments[].carrier` in the  Orders resource representation for a list of acceptable values.
     &quot;deliveryDate&quot;: &quot;A String&quot;, # Date on which the shipment has been delivered, in ISO 8601 format. Optional and can be provided only if `status` is `delivered`.
+    &quot;lastPickupDate&quot;: &quot;A String&quot;, # Date after which the pickup will expire, in ISO 8601 format. Required only when order is buy-online-pickup-in-store(BOPIS) and `status` is `ready for pickup`.
     &quot;operationId&quot;: &quot;A String&quot;, # The ID of the operation. Unique across all operations for a given order.
+    &quot;readyPickupDate&quot;: &quot;A String&quot;, # Date on which the shipment has been ready for pickup, in ISO 8601 format. Optional and can be provided only if `status` is `ready for pickup`.
     &quot;shipmentId&quot;: &quot;A String&quot;, # The ID of the shipment.
     &quot;status&quot;: &quot;A String&quot;, # New status for the shipment. Not updated if missing.
         # 
         # Acceptable values are:
         # - &quot;`delivered`&quot;
         # - &quot;`undeliverable`&quot;
+        # - &quot;`readyForPickup`&quot;
     &quot;trackingId&quot;: &quot;A String&quot;, # The tracking ID for the shipment. Not updated if missing.
+    &quot;undeliveredDate&quot;: &quot;A String&quot;, # Date on which the shipment has been undeliverable, in ISO 8601 format. Optional and can be provided only if `status` is `undeliverable`.
   }