diff --git a/docs/dyn/content_v2_1.orders.html b/docs/dyn/content_v2_1.orders.html
index 07efecd..bccf352 100644
--- a/docs/dyn/content_v2_1.orders.html
+++ b/docs/dyn/content_v2_1.orders.html
@@ -111,7 +111,7 @@
   <code><a href="#instorerefundlineitem">instorerefundlineitem(merchantId, orderId, body=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Deprecated. Notifies that item return and refund was handled directly by merchant outside of Google payments processing (e.g. cash refund done in store). Note: We recommend calling the returnrefundlineitem method to refund in-store returns. We will issue the refund directly to the customer. This helps to prevent possible differences arising between merchant and Google transaction records. We also recommend having the point of sale system communicate with Google to ensure that customers do not receive a double refund by first refunding via Google then via an in-store return.</p>
 <p class="toc_element">
-  <code><a href="#list">list(merchantId, placedDateStart=None, orderBy=None, placedDateEnd=None, maxResults=None, acknowledged=None, pageToken=None, statuses=None, x__xgafv=None)</a></code></p>
+  <code><a href="#list">list(merchantId, maxResults=None, acknowledged=None, orderBy=None, pageToken=None, placedDateEnd=None, placedDateStart=None, statuses=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Lists the orders in your Merchant Center account.</p>
 <p class="toc_element">
   <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
@@ -167,8 +167,8 @@
   An object of the form:
 
     {
-    &quot;kind&quot;: &quot;A String&quot;, # Identifies what kind of resource this is. Value: the fixed string &quot;content#ordersAcknowledgeResponse&quot;.
     &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;A String&quot;, # Identifies what kind of resource this is. Value: the fixed string &quot;content#ordersAcknowledgeResponse&quot;.
   }</pre>
 </div>
 
@@ -203,8 +203,8 @@
     The object takes the form of:
 
 {
-    &quot;reason&quot;: &quot;A String&quot;, # The reason for the cancellation. Acceptable values are: - &quot;`customerInitiatedCancel`&quot; - &quot;`invalidCoupon`&quot; - &quot;`malformedShippingAddress`&quot; - &quot;`noInventory`&quot; - &quot;`other`&quot; - &quot;`priceError`&quot; - &quot;`shippingPriceError`&quot; - &quot;`taxError`&quot; - &quot;`undeliverableShippingAddress`&quot; - &quot;`unsupportedPoBoxAddress`&quot;
     &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 cancellation. Acceptable values are: - &quot;`customerInitiatedCancel`&quot; - &quot;`invalidCoupon`&quot; - &quot;`malformedShippingAddress`&quot; - &quot;`noInventory`&quot; - &quot;`other`&quot; - &quot;`priceError`&quot; - &quot;`shippingPriceError`&quot; - &quot;`taxError`&quot; - &quot;`undeliverableShippingAddress`&quot; - &quot;`unsupportedPoBoxAddress`&quot;
     &quot;reasonText&quot;: &quot;A String&quot;, # The explanation of the reason.
   }
 
@@ -233,12 +233,12 @@
     The object takes the form of:
 
 {
-    &quot;productId&quot;: &quot;A String&quot;, # The ID of the product to cancel. This is the REST ID used in the products service. Either lineItemId or productId is required.
-    &quot;lineItemId&quot;: &quot;A String&quot;, # The ID of the line item to cancel. Either lineItemId or productId is required.
-    &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 cancellation. Acceptable values are: - &quot;`customerInitiatedCancel`&quot; - &quot;`invalidCoupon`&quot; - &quot;`malformedShippingAddress`&quot; - &quot;`noInventory`&quot; - &quot;`other`&quot; - &quot;`priceError`&quot; - &quot;`shippingPriceError`&quot; - &quot;`taxError`&quot; - &quot;`undeliverableShippingAddress`&quot; - &quot;`unsupportedPoBoxAddress`&quot;
     &quot;reasonText&quot;: &quot;A String&quot;, # The explanation of the reason.
     &quot;quantity&quot;: 42, # The quantity to cancel.
+    &quot;operationId&quot;: &quot;A String&quot;, # The ID of the operation. Unique across all operations for a given order.
+    &quot;productId&quot;: &quot;A String&quot;, # The ID of the product to cancel. This is the REST ID used in the products service. Either lineItemId or productId is required.
+    &quot;lineItemId&quot;: &quot;A String&quot;, # The ID of the line item to cancel. Either lineItemId or productId is required.
+    &quot;reason&quot;: &quot;A String&quot;, # The reason for the cancellation. Acceptable values are: - &quot;`customerInitiatedCancel`&quot; - &quot;`invalidCoupon`&quot; - &quot;`malformedShippingAddress`&quot; - &quot;`noInventory`&quot; - &quot;`other`&quot; - &quot;`priceError`&quot; - &quot;`shippingPriceError`&quot; - &quot;`taxError`&quot; - &quot;`undeliverableShippingAddress`&quot; - &quot;`unsupportedPoBoxAddress`&quot;
   }
 
   x__xgafv: string, V1 error format.
@@ -298,151 +298,151 @@
 
 {
     &quot;country&quot;: &quot;A String&quot;, # The CLDR territory code of the country of the test order to create. Affects the currency and addresses of orders created via `template_name`, or the addresses of orders created via `test_order`. Acceptable values are: - &quot;`US`&quot; - &quot;`FR`&quot; Defaults to `US`.
+    &quot;templateName&quot;: &quot;A String&quot;, # The test order template to use. Specify as an alternative to `testOrder` as a shortcut for retrieving a template and then creating an order using that template. Acceptable values are: - &quot;`template1`&quot; - &quot;`template1a`&quot; - &quot;`template1b`&quot; - &quot;`template2`&quot; - &quot;`template3`&quot;
     &quot;testOrder&quot;: { # The test order to create.
-      &quot;lineItems&quot;: [ # Required. Line items that are ordered. At least one line item must be provided.
-        {
-          &quot;returnInfo&quot;: { # Required. Details of the return policy for the line item.
-            &quot;daysToReturn&quot;: 42, # Required. How many days later the item can be returned.
-            &quot;isReturnable&quot;: True or False, # Required. Whether the item is returnable.
-            &quot;policyUrl&quot;: &quot;A String&quot;, # Required. URL of the item return policy.
-          },
-          &quot;product&quot;: { # Required. Product data from the time of the order placement.
-            &quot;brand&quot;: &quot;A String&quot;, # Required. Brand of the item.
-            &quot;mpn&quot;: &quot;A String&quot;, # Manufacturer Part Number (MPN) of the item. Optional.
-            &quot;targetCountry&quot;: &quot;A String&quot;, # Required. The CLDR territory // code of the target country of the product.
-            &quot;contentLanguage&quot;: &quot;A String&quot;, # Required. The two-letter ISO 639-1 language code for the item. Acceptable values are: - &quot;`en`&quot; - &quot;`fr`&quot;
-            &quot;itemGroupId&quot;: &quot;A String&quot;, # Shared identifier for all variants of the same product. Optional.
-            &quot;gtin&quot;: &quot;A String&quot;, # Global Trade Item Number (GTIN) of the item. Optional.
-            &quot;title&quot;: &quot;A String&quot;, # Required. The title of the product.
-            &quot;offerId&quot;: &quot;A String&quot;, # Required. An identifier of the item.
-            &quot;condition&quot;: &quot;A String&quot;, # Required. Condition or state of the item. Acceptable values are: - &quot;`new`&quot;
-            &quot;fees&quot;: [ # Fees for the item. Optional.
-              {
-                &quot;amount&quot;: { # Amount of the fee.
-                  &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
-                  &quot;currency&quot;: &quot;A String&quot;, # The currency of the price.
-                },
-                &quot;name&quot;: &quot;A String&quot;, # Name of the fee.
-              },
-            ],
-            &quot;variantAttributes&quot;: [ # Variant attributes for the item. Optional.
-              {
-                &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the variant.
-                &quot;value&quot;: &quot;A String&quot;, # The value for the dimension.
-              },
-            ],
-            &quot;imageLink&quot;: &quot;A String&quot;, # Required. URL of an image of the item.
-            &quot;price&quot;: { # Required. The price for the product. Tax is automatically calculated for orders where marketplace facilitator tax laws are applicable. Otherwise, tax settings from Merchant Center are applied.
-              &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
-              &quot;currency&quot;: &quot;A String&quot;, # The currency of the price.
-            },
-          },
-          &quot;shippingDetails&quot;: { # Required. Details of the requested shipping for the line item.
-            &quot;shipByDate&quot;: &quot;A String&quot;, # Required. The ship by date, in ISO 8601 format.
-            &quot;deliverByDate&quot;: &quot;A String&quot;, # Required. The delivery 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. Acceptable values are: - &quot;`delivery`&quot; - &quot;`pickup`&quot;
-            &quot;method&quot;: { # Required. Details of the shipping method.
-              &quot;carrier&quot;: &quot;A String&quot;, # The carrier for the shipping. Optional. See `shipments[].carrier` for a list of acceptable values.
-              &quot;methodName&quot;: &quot;A String&quot;, # Required. The name of the shipping method.
-              &quot;minDaysInTransit&quot;: 42, # Required. Minimum transit time.
-              &quot;maxDaysInTransit&quot;: 42, # Required. Maximum 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;quantityOrdered&quot;: 42, # Required. Number of items ordered.
-        },
-      ],
-      &quot;promotions&quot;: [ # Promotions associated with the order.
-        {
-          &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;quantity&quot;: 42, # The quantity of the associated product. Do not provide for `orders.createtestorder`.
-              &quot;offerId&quot;: &quot;A String&quot;, # Required. Offer ID of a product. Only for `orders.createtestorder`.
-              &quot;productId&quot;: &quot;A String&quot;, # `orders.createtestorder`.
-            },
-          ],
-          &quot;funder&quot;: &quot;A String&quot;, # Required. The party funding the promotion. Only `merchant` is supported for `orders.createtestorder`. Acceptable values are: - &quot;`google`&quot; - &quot;`merchant`&quot;
-          &quot;subtype&quot;: &quot;A String&quot;, # Required. The category of the promotion. Only `moneyOff` is supported for `orders.createtestorder`. Acceptable values are: - &quot;`buyMGetMoneyOff`&quot; - &quot;`buyMGetNMoneyOff`&quot; - &quot;`buyMGetNPercentOff`&quot; - &quot;`buyMGetPercentOff`&quot; - &quot;`freeGift`&quot; - &quot;`freeGiftWithItemId`&quot; - &quot;`freeGiftWithValue`&quot; - &quot;`freeShippingOvernight`&quot; - &quot;`freeShippingStandard`&quot; - &quot;`freeShippingTwoDay`&quot; - &quot;`moneyOff`&quot; - &quot;`percentOff`&quot; - &quot;`rewardPoints`&quot; - &quot;`salePrice`&quot;
-          &quot;type&quot;: &quot;A String&quot;, # Required. The scope of the promotion. Only `product` is supported for `orders.createtestorder`. Acceptable values are: - &quot;`product`&quot; - &quot;`shipping`&quot;
-          &quot;endTime&quot;: &quot;A String&quot;, # Promotion end time in ISO 8601 format. Date, time, and offset required, e.g., &quot;2020-01-02T09:00:00+01:00&quot; or &quot;2020-01-02T09:00:00Z&quot;.
-          &quot;startTime&quot;: &quot;A String&quot;, # Promotion start time in ISO 8601 format. Date, time, and offset required, e.g., &quot;2020-01-02T09:00:00+01:00&quot; or &quot;2020-01-02T09:00:00Z&quot;.
-          &quot;shortTitle&quot;: &quot;A String&quot;, # A short title of the promotion to be shown on the checkout page. Do not provide for `orders.createtestorder`.
-          &quot;taxValue&quot;: { # Estimated discount applied to tax (if allowed by law). Do not provide for `orders.createtestorder`.
-            &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
-            &quot;currency&quot;: &quot;A String&quot;, # The currency of the price.
-          },
-          &quot;title&quot;: &quot;A String&quot;, # Required. The title of the promotion.
-          &quot;merchantPromotionId&quot;: &quot;A String&quot;, # Required. This field is used to identify promotions within merchants&#x27; own systems.
-          &quot;priceValue&quot;: { # Estimated discount applied to price. Amount is pre-tax or post-tax depending on location of order.
-            &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
-            &quot;currency&quot;: &quot;A String&quot;, # The currency of the price.
-          },
-          &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;quantity&quot;: 42, # The quantity of the associated product. Do not provide for `orders.createtestorder`.
-              &quot;offerId&quot;: &quot;A String&quot;, # Required. Offer ID of a product. Only for `orders.createtestorder`.
-              &quot;productId&quot;: &quot;A String&quot;, # `orders.createtestorder`.
-            },
-          ],
-        },
-      ],
-      &quot;shippingOption&quot;: &quot;A String&quot;, # Required. The requested shipping option. Acceptable values are: - &quot;`economy`&quot; - &quot;`expedited`&quot; - &quot;`oneDay`&quot; - &quot;`sameDay`&quot; - &quot;`standard`&quot; - &quot;`twoDay`&quot;
       &quot;enableOrderinvoices&quot;: True or False, # Whether the orderinvoices service should support this order.
+      &quot;predefinedPickupDetails&quot;: &quot;A String&quot;, # Identifier of one of the predefined pickup details. Required for orders containing line items with shipping type `pickup`. Acceptable values are: - &quot;`dwight`&quot; - &quot;`jim`&quot; - &quot;`pam`&quot;
+      &quot;notificationMode&quot;: &quot;A String&quot;, # Restricted. Do not use.
+      &quot;predefinedEmail&quot;: &quot;A String&quot;, # Required. Email address of the customer. Acceptable values are: - &quot;`pog.dwight.schrute@gmail.com`&quot; - &quot;`pog.jim.halpert@gmail.com`&quot; - &quot;`penpog.pam.beesly@gmail.comding`&quot;
       &quot;pickupDetails&quot;: { # Overrides the predefined pickup details if provided.
+        &quot;pickupLocationAddress&quot;: { # Required. Pickup location address.
+          &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;postalCode&quot;: &quot;A String&quot;, # Postal Code or ZIP (e.g. &quot;94043&quot;).
+          &quot;locality&quot;: &quot;A String&quot;, # City, town or commune. May also include dependent localities or sublocalities (e.g. neighborhoods or suburbs).
+          &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;recipientName&quot;: &quot;A String&quot;, # Name of the recipient.
+          &quot;streetAddress&quot;: [ # Street-level part of the address.
+            &quot;A String&quot;,
+          ],
+          &quot;country&quot;: &quot;A String&quot;, # CLDR country code (e.g. &quot;US&quot;).
+          &quot;isPostOfficeBox&quot;: True or False, # Whether the address is a post office box.
+        },
         &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;pickupLocationAddress&quot;: { # Required. Pickup location address.
-          &quot;locality&quot;: &quot;A String&quot;, # City, town or commune. May also include dependent localities or sublocalities (e.g. neighborhoods or suburbs).
-          &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;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;streetAddress&quot;: [ # Street-level part of the address.
-            &quot;A String&quot;,
-          ],
-          &quot;country&quot;: &quot;A String&quot;, # CLDR country code (e.g. &quot;US&quot;).
-          &quot;isPostOfficeBox&quot;: True or False, # Whether the address is a post office box.
-          &quot;postalCode&quot;: &quot;A String&quot;, # Postal Code or ZIP (e.g. &quot;94043&quot;).
-        },
-        &quot;locationCode&quot;: &quot;A String&quot;, # Required. Code of the location defined by provider or merchant.
         &quot;pickupLocationType&quot;: &quot;A String&quot;, # Pickup location type. Acceptable values are: - &quot;`locker`&quot; - &quot;`store`&quot; - &quot;`curbside`&quot;
+        &quot;locationCode&quot;: &quot;A String&quot;, # Required. Code of the location defined by provider or merchant.
       },
-      &quot;predefinedEmail&quot;: &quot;A String&quot;, # Required. Email address of the customer. Acceptable values are: - &quot;`pog.dwight.schrute@gmail.com`&quot; - &quot;`pog.jim.halpert@gmail.com`&quot; - &quot;`penpog.pam.beesly@gmail.comding`&quot;
-      &quot;predefinedDeliveryAddress&quot;: &quot;A String&quot;, # Required. Identifier of one of the predefined delivery addresses for the delivery. Acceptable values are: - &quot;`dwight`&quot; - &quot;`jim`&quot; - &quot;`pam`&quot;
-      &quot;shippingCost&quot;: { # Required. The price of shipping for all items. Shipping tax is automatically calculated for orders where marketplace facilitator tax laws are applicable. Otherwise, tax settings from Merchant Center are applied. Note that shipping is not taxed in certain states.
-        &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
-        &quot;currency&quot;: &quot;A String&quot;, # The currency of the price.
-      },
-      &quot;notificationMode&quot;: &quot;A String&quot;, # Restricted. Do not use.
-      &quot;predefinedBillingAddress&quot;: &quot;A String&quot;, # Required. The billing address. Acceptable values are: - &quot;`dwight`&quot; - &quot;`jim`&quot; - &quot;`pam`&quot;
-      &quot;kind&quot;: &quot;A String&quot;, # Identifies what kind of resource this is. Value: the fixed string &quot;`content#testOrder`&quot;
-      &quot;predefinedPickupDetails&quot;: &quot;A String&quot;, # Identifier of one of the predefined pickup details. Required for orders containing line items with shipping type `pickup`. Acceptable values are: - &quot;`dwight`&quot; - &quot;`jim`&quot; - &quot;`pam`&quot;
       &quot;deliveryDetails&quot;: { # Overrides the predefined delivery details if provided.
         &quot;address&quot;: { # The delivery address
-          &quot;locality&quot;: &quot;A String&quot;, # City, town or commune. May also include dependent localities or sublocalities (e.g. neighborhoods or suburbs).
-          &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;postalCode&quot;: &quot;A String&quot;, # Postal Code or ZIP (e.g. &quot;94043&quot;).
+          &quot;locality&quot;: &quot;A String&quot;, # City, town or commune. May also include dependent localities or sublocalities (e.g. neighborhoods or suburbs).
           &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;recipientName&quot;: &quot;A String&quot;, # Name of the recipient.
           &quot;streetAddress&quot;: [ # Street-level part of the address.
             &quot;A String&quot;,
           ],
           &quot;country&quot;: &quot;A String&quot;, # CLDR country code (e.g. &quot;US&quot;).
           &quot;isPostOfficeBox&quot;: True or False, # Whether the address is a post office box.
-          &quot;postalCode&quot;: &quot;A String&quot;, # Postal Code or ZIP (e.g. &quot;94043&quot;).
         },
         &quot;phoneNumber&quot;: &quot;A String&quot;, # The phone number of the person receiving the delivery.
       },
+      &quot;promotions&quot;: [ # Promotions associated with the order.
+        {
+          &quot;priceValue&quot;: { # Estimated discount applied to price. Amount is pre-tax or post-tax depending on location of order.
+            &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;shortTitle&quot;: &quot;A String&quot;, # A short title of the promotion to be shown on the checkout page. Do not provide for `orders.createtestorder`.
+          &quot;endTime&quot;: &quot;A String&quot;, # Promotion end time in ISO 8601 format. Date, time, and offset required, e.g., &quot;2020-01-02T09:00:00+01:00&quot; or &quot;2020-01-02T09:00:00Z&quot;.
+          &quot;taxValue&quot;: { # Estimated discount applied to tax (if allowed by law). Do not provide for `orders.createtestorder`.
+            &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;title&quot;: &quot;A String&quot;, # Required. The title of the promotion.
+          &quot;merchantPromotionId&quot;: &quot;A String&quot;, # Required. This field is used to identify promotions within merchants&#x27; own systems.
+          &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;quantity&quot;: 42, # The quantity of the associated product. Do not provide for `orders.createtestorder`.
+              &quot;productId&quot;: &quot;A String&quot;, # `orders.createtestorder`.
+              &quot;offerId&quot;: &quot;A String&quot;, # Required. Offer ID of a product. Only for `orders.createtestorder`.
+            },
+          ],
+          &quot;funder&quot;: &quot;A String&quot;, # Required. The party funding the promotion. Only `merchant` is supported for `orders.createtestorder`. Acceptable values are: - &quot;`google`&quot; - &quot;`merchant`&quot;
+          &quot;startTime&quot;: &quot;A String&quot;, # Promotion start time in ISO 8601 format. Date, time, and offset required, e.g., &quot;2020-01-02T09:00:00+01:00&quot; or &quot;2020-01-02T09:00:00Z&quot;.
+          &quot;type&quot;: &quot;A String&quot;, # Required. The scope of the promotion. Only `product` is supported for `orders.createtestorder`. Acceptable values are: - &quot;`product`&quot; - &quot;`shipping`&quot;
+          &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;quantity&quot;: 42, # The quantity of the associated product. Do not provide for `orders.createtestorder`.
+              &quot;productId&quot;: &quot;A String&quot;, # `orders.createtestorder`.
+              &quot;offerId&quot;: &quot;A String&quot;, # Required. Offer ID of a product. Only for `orders.createtestorder`.
+            },
+          ],
+          &quot;subtype&quot;: &quot;A String&quot;, # Required. The category of the promotion. Only `moneyOff` is supported for `orders.createtestorder`. Acceptable values are: - &quot;`buyMGetMoneyOff`&quot; - &quot;`buyMGetNMoneyOff`&quot; - &quot;`buyMGetNPercentOff`&quot; - &quot;`buyMGetPercentOff`&quot; - &quot;`freeGift`&quot; - &quot;`freeGiftWithItemId`&quot; - &quot;`freeGiftWithValue`&quot; - &quot;`freeShippingOvernight`&quot; - &quot;`freeShippingStandard`&quot; - &quot;`freeShippingTwoDay`&quot; - &quot;`moneyOff`&quot; - &quot;`percentOff`&quot; - &quot;`rewardPoints`&quot; - &quot;`salePrice`&quot;
+        },
+      ],
+      &quot;shippingCost&quot;: { # Required. The price of shipping for all items. Shipping tax is automatically calculated for orders where marketplace facilitator tax laws are applicable. Otherwise, tax settings from Merchant Center are applied. Note that shipping is not taxed in certain states.
+        &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;predefinedBillingAddress&quot;: &quot;A String&quot;, # Required. The billing address. Acceptable values are: - &quot;`dwight`&quot; - &quot;`jim`&quot; - &quot;`pam`&quot;
+      &quot;kind&quot;: &quot;A String&quot;, # Identifies what kind of resource this is. Value: the fixed string &quot;`content#testOrder`&quot;
+      &quot;shippingOption&quot;: &quot;A String&quot;, # Required. The requested shipping option. Acceptable values are: - &quot;`economy`&quot; - &quot;`expedited`&quot; - &quot;`oneDay`&quot; - &quot;`sameDay`&quot; - &quot;`standard`&quot; - &quot;`twoDay`&quot;
+      &quot;predefinedDeliveryAddress&quot;: &quot;A String&quot;, # Required. Identifier of one of the predefined delivery addresses for the delivery. Acceptable values are: - &quot;`dwight`&quot; - &quot;`jim`&quot; - &quot;`pam`&quot;
+      &quot;lineItems&quot;: [ # Required. Line items that are ordered. At least one line item must be provided.
+        {
+          &quot;product&quot;: { # Required. Product data from the time of the order placement.
+            &quot;contentLanguage&quot;: &quot;A String&quot;, # Required. The two-letter ISO 639-1 language code for the item. Acceptable values are: - &quot;`en`&quot; - &quot;`fr`&quot;
+            &quot;mpn&quot;: &quot;A String&quot;, # Manufacturer Part Number (MPN) of the item. Optional.
+            &quot;title&quot;: &quot;A String&quot;, # Required. The title of the product.
+            &quot;price&quot;: { # Required. The price for the product. Tax is automatically calculated for orders where marketplace facilitator tax laws are applicable. Otherwise, tax settings from Merchant Center are applied.
+              &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;itemGroupId&quot;: &quot;A String&quot;, # Shared identifier for all variants of the same product. Optional.
+            &quot;condition&quot;: &quot;A String&quot;, # Required. Condition or state of the item. Acceptable values are: - &quot;`new`&quot;
+            &quot;variantAttributes&quot;: [ # Variant attributes for the item. Optional.
+              {
+                &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the variant.
+                &quot;value&quot;: &quot;A String&quot;, # The value for the dimension.
+              },
+            ],
+            &quot;offerId&quot;: &quot;A String&quot;, # Required. An identifier of the item.
+            &quot;brand&quot;: &quot;A String&quot;, # Required. Brand of the item.
+            &quot;gtin&quot;: &quot;A String&quot;, # Global Trade Item Number (GTIN) of the item. Optional.
+            &quot;imageLink&quot;: &quot;A String&quot;, # Required. URL of an image of the item.
+            &quot;fees&quot;: [ # Fees for the item. Optional.
+              {
+                &quot;amount&quot;: { # Amount of the fee.
+                  &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;name&quot;: &quot;A String&quot;, # Name of the fee.
+              },
+            ],
+            &quot;targetCountry&quot;: &quot;A String&quot;, # Required. The CLDR territory // code of the target country of the product.
+          },
+          &quot;quantityOrdered&quot;: 42, # Required. Number of items ordered.
+          &quot;returnInfo&quot;: { # Required. Details of the return policy for the line item.
+            &quot;isReturnable&quot;: True or False, # Required. Whether the item is returnable.
+            &quot;daysToReturn&quot;: 42, # Required. How many days later the item can be returned.
+            &quot;policyUrl&quot;: &quot;A String&quot;, # Required. URL of the item return policy.
+          },
+          &quot;shippingDetails&quot;: { # Required. Details of the requested shipping for the line item.
+            &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. Acceptable values are: - &quot;`delivery`&quot; - &quot;`pickup`&quot;
+            &quot;method&quot;: { # Required. Details of the shipping method.
+              &quot;carrier&quot;: &quot;A String&quot;, # The carrier for the shipping. Optional. See `shipments[].carrier` for a list of acceptable values.
+              &quot;methodName&quot;: &quot;A String&quot;, # Required. The name of the shipping method.
+              &quot;maxDaysInTransit&quot;: 42, # Required. Maximum transit time.
+              &quot;minDaysInTransit&quot;: 42, # Required. Minimum transit time.
+            },
+            &quot;deliverByDate&quot;: &quot;A String&quot;, # Required. The delivery by date, in ISO 8601 format.
+            &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;templateName&quot;: &quot;A String&quot;, # The test order template to use. Specify as an alternative to `testOrder` as a shortcut for retrieving a template and then creating an order using that template. Acceptable values are: - &quot;`template1`&quot; - &quot;`template1a`&quot; - &quot;`template1b`&quot; - &quot;`template2`&quot; - &quot;`template3`&quot;
   }
 
   x__xgafv: string, V1 error format.
@@ -472,8 +472,8 @@
 {
     &quot;items&quot;: [ # Returned items.
       {
-        &quot;quantity&quot;: 42, # Quantity that is returned.
         &quot;lineItemId&quot;: &quot;A String&quot;, # The ID of the line item to return.
+        &quot;quantity&quot;: 42, # Quantity that is returned.
       },
     ],
   }
@@ -508,54 +508,246 @@
   An object of the form:
 
     { # Order. Production access (all methods) requires the order manager role. Sandbox access does not.
-    &quot;merchantId&quot;: &quot;A String&quot;,
-    &quot;netPriceAmount&quot;: { # The net amount for the order (price part). For example, if an order was originally for $100 and a refund was issued for $20, the net amount will be $80.
-      &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
-      &quot;currency&quot;: &quot;A String&quot;, # The currency of the price.
-    },
-    &quot;taxCollector&quot;: &quot;A String&quot;, # The party responsible for collecting and remitting taxes. Acceptable values are: - &quot;`marketplaceFacilitator`&quot; - &quot;`merchant`&quot;
-    &quot;acknowledged&quot;: True or False, # Whether the order was acknowledged.
-    &quot;lineItems&quot;: [ # Line items that are ordered.
+    &quot;paymentStatus&quot;: &quot;A String&quot;, # The status of the payment. Acceptable values are: - &quot;`paymentCaptured`&quot; - &quot;`paymentRejected`&quot; - &quot;`paymentSecured`&quot; - &quot;`pendingAuthorization`&quot;
+    &quot;refunds&quot;: [ # Refunds for the order.
       {
-        &quot;quantityOrdered&quot;: 42, # Number of items ordered.
-        &quot;id&quot;: &quot;A String&quot;, # The ID of the line item.
-        &quot;cancellations&quot;: [ # Cancellations of the line item.
+        &quot;reasonText&quot;: &quot;A String&quot;, # The explanation of the reason.
+        &quot;actor&quot;: &quot;A String&quot;, # The actor that created the refund. Acceptable values are: - &quot;`customer`&quot; - &quot;`googleBot`&quot; - &quot;`googleCustomerService`&quot; - &quot;`googlePayments`&quot; - &quot;`googleSabre`&quot; - &quot;`merchant`&quot;
+        &quot;reason&quot;: &quot;A String&quot;, # The reason for the refund. Acceptable values are: - &quot;`adjustment`&quot; - &quot;`autoPostInternal`&quot; - &quot;`autoPostInvalidBillingAddress`&quot; - &quot;`autoPostNoInventory`&quot; - &quot;`autoPostPriceError`&quot; - &quot;`autoPostUndeliverableShippingAddress`&quot; - &quot;`couponAbuse`&quot; - &quot;`courtesyAdjustment`&quot; - &quot;`customerCanceled`&quot; - &quot;`customerDiscretionaryReturn`&quot; - &quot;`customerInitiatedMerchantCancel`&quot; - &quot;`customerSupportRequested`&quot; - &quot;`deliveredLateByCarrier`&quot; - &quot;`deliveredTooLate`&quot; - &quot;`expiredItem`&quot; - &quot;`failToPushOrderGoogleError`&quot; - &quot;`failToPushOrderMerchantError`&quot; - &quot;`failToPushOrderMerchantFulfillmentError`&quot; - &quot;`failToPushOrderToMerchant`&quot; - &quot;`failToPushOrderToMerchantOutOfStock`&quot; - &quot;`feeAdjustment`&quot; - &quot;`invalidCoupon`&quot; - &quot;`lateShipmentCredit`&quot; - &quot;`malformedShippingAddress`&quot; - &quot;`merchantDidNotShipOnTime`&quot; - &quot;`noInventory`&quot; - &quot;`orderTimeout`&quot; - &quot;`other`&quot; - &quot;`paymentAbuse`&quot; - &quot;`paymentDeclined`&quot; - &quot;`priceAdjustment`&quot; - &quot;`priceError`&quot; - &quot;`productArrivedDamaged`&quot; - &quot;`productNotAsDescribed`&quot; - &quot;`promoReallocation`&quot; - &quot;`qualityNotAsExpected`&quot; - &quot;`returnRefundAbuse`&quot; - &quot;`shippingCostAdjustment`&quot; - &quot;`shippingPriceError`&quot; - &quot;`taxAdjustment`&quot; - &quot;`taxError`&quot; - &quot;`undeliverableShippingAddress`&quot; - &quot;`unsupportedPoBoxAddress`&quot; - &quot;`wrongProductShipped`&quot;
+        &quot;amount&quot;: { # The amount that is refunded.
+          &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;creationDate&quot;: &quot;A String&quot;, # Date on which the item has been created, in ISO 8601 format.
+      },
+    ],
+    &quot;shippingCost&quot;: { # The total cost of shipping for all items.
+      &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;customer&quot;: { # The details of the customer who placed the order.
+      &quot;fullName&quot;: &quot;A String&quot;, # Full name of the customer.
+      &quot;invoiceReceivingEmail&quot;: &quot;A String&quot;, # Email address for the merchant to send value-added tax or invoice documentation of the order. Only the last document sent is made available to the customer. For more information, see About automated VAT invoicing for Buy on Google.
+      &quot;marketingRightsInfo&quot;: { # Customer&#x27;s marketing preferences. Contains the marketing opt-in information that is current at the time that the merchant call. User preference selections can change from one order to the next so preferences must be checked with every order.
+        &quot;explicitMarketingPreference&quot;: &quot;A String&quot;, # Last known customer selection regarding marketing preferences. In certain cases this selection might not be known, so this field would be empty. If a customer selected `granted` in their most recent order, they can be subscribed to marketing emails. Customers who have chosen `denied` must not be subscribed, or must be unsubscribed if already opted-in. Acceptable values are: - &quot;`denied`&quot; - &quot;`granted`&quot;
+        &quot;marketingEmailAddress&quot;: &quot;A String&quot;, # Email address that can be used for marketing purposes. The field may be empty even if `explicitMarketingPreference` is &#x27;granted&#x27;. This happens when retrieving an old order from the customer who deleted their account.
+        &quot;lastUpdatedTimestamp&quot;: &quot;A String&quot;, # Timestamp when last time marketing preference was updated. Could be empty, if user wasn&#x27;t offered a selection yet.
+      },
+      &quot;loyaltyInfo&quot;: { # Loyalty program information.
+        &quot;loyaltyNumber&quot;: &quot;A String&quot;, # The loyalty card/membership number.
+        &quot;name&quot;: &quot;A String&quot;, # Name of card/membership holder, this field will be populated when
+      },
+    },
+    &quot;id&quot;: &quot;A String&quot;, # The REST ID of the order. Globally unique.
+    &quot;kind&quot;: &quot;A String&quot;, # Identifies what kind of resource this is. Value: the fixed string &quot;`content#order`&quot;
+    &quot;billingAddress&quot;: { # The billing address.
+      &quot;isPostOfficeBox&quot;: True or False, # Whether the address is a post office box.
+      &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;recipientName&quot;: &quot;A String&quot;, # Name of the recipient.
+      &quot;postalCode&quot;: &quot;A String&quot;, # Postal Code or ZIP (e.g. &quot;94043&quot;).
+      &quot;country&quot;: &quot;A String&quot;, # CLDR country code (e.g. &quot;US&quot;).
+      &quot;streetAddress&quot;: [ # Street-level part of the address.
+        &quot;A String&quot;,
+      ],
+      &quot;locality&quot;: &quot;A String&quot;, # City, town or commune. May also include dependent localities or sublocalities (e.g. neighborhoods or suburbs).
+      &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;shipments&quot;: [ # Shipments of the order.
+      {
+        &quot;status&quot;: &quot;A String&quot;, # The status of the shipment. Acceptable values are: - &quot;`delivered`&quot; - &quot;`readyForPickup`&quot; - &quot;`shipped`&quot; - &quot;`undeliverable`&quot;
+        &quot;id&quot;: &quot;A String&quot;, # The ID of the shipment.
+        &quot;scheduledDeliveryDetails&quot;: { # Delivery details of the shipment if scheduling is needed.
+          &quot;scheduledDate&quot;: &quot;A String&quot;, # The date a shipment is scheduled for delivery, in ISO 8601 format.
+          &quot;carrierPhoneNumber&quot;: &quot;A String&quot;, # The phone number of the carrier fulfilling the delivery. The phone number is formatted as the international notation in ITU-T Recommendation E.123 (e.g., &quot;+41 44 668 1800&quot;).
+        },
+        &quot;creationDate&quot;: &quot;A String&quot;, # Date on which the shipment has been created, in ISO 8601 format.
+        &quot;carrier&quot;: &quot;A String&quot;, # The carrier handling the shipment. For supported carriers, Google includes the carrier name and tracking URL in emails to customers. For select supported carriers, Google also automatically updates the shipment status based on the provided shipment ID. *Note:* You can also use unsupported carriers, but emails to customers will not include the carrier name or tracking URL, and there will be no automatic order status updates. Supported carriers for US are: - &quot;`ups`&quot; (United Parcel Service) *automatic status updates* - &quot;`usps`&quot; (United States Postal Service) *automatic status updates* - &quot;`fedex`&quot; (FedEx) *automatic status updates * - &quot;`dhl`&quot; (DHL eCommerce) *automatic status updates* (US only) - &quot;`ontrac`&quot; (OnTrac) *automatic status updates * - &quot;`dhl express`&quot; (DHL Express) - &quot;`deliv`&quot; (Deliv) - &quot;`dynamex`&quot; (TForce) - &quot;`lasership`&quot; (LaserShip) - &quot;`mpx`&quot; (Military Parcel Xpress) - &quot;`uds`&quot; (United Delivery Service) - &quot;`efw`&quot; (Estes Forwarding Worldwide) - &quot;`jd logistics`&quot; (JD Logistics) - &quot;`yunexpress`&quot; (YunExpress) - &quot;`china post`&quot; (China Post) - &quot;`china ems`&quot; (China Post Express Mail Service) - &quot;`singapore post`&quot; (Singapore Post) - &quot;`pos malaysia`&quot; (Pos Malaysia) - &quot;`postnl`&quot; (PostNL) - &quot;`ptt`&quot; (PTT Turkish Post) - &quot;`eub`&quot; (ePacket) - &quot;`chukou1`&quot; (Chukou1 Logistics) - &quot;`bestex`&quot; (Best Express) - &quot;`canada post`&quot; (Canada Post) - &quot;`purolator`&quot; (Purolator) - &quot;`canpar`&quot; (Canpar) - &quot;`india post`&quot; (India Post) - &quot;`blue dart`&quot; (Blue Dart) - &quot;`delhivery`&quot; (Delhivery) - &quot;`dtdc`&quot; (DTDC) - &quot;`tpc india`&quot; (TPC India) Supported carriers for FR are: - &quot;`la poste`&quot; (La Poste) *automatic status updates * - &quot;`colissimo`&quot; (Colissimo by La Poste) *automatic status updates* - &quot;`ups`&quot; (United Parcel Service) *automatic status updates * - &quot;`chronopost`&quot; (Chronopost by La Poste) - &quot;`gls`&quot; (General Logistics Systems France) - &quot;`dpd`&quot; (DPD Group by GeoPost) - &quot;`bpost`&quot; (Belgian Post Group) - &quot;`colis prive`&quot; (Colis Privé) - &quot;`boxtal`&quot; (Boxtal) - &quot;`geodis`&quot; (GEODIS) - &quot;`tnt`&quot; (TNT) - &quot;`db schenker`&quot; (DB Schenker) - &quot;`aramex`&quot; (Aramex)
+        &quot;deliveryDate&quot;: &quot;A String&quot;, # Date on which the shipment has been delivered, in ISO 8601 format. Present only if `status` is `delivered`
+        &quot;lineItems&quot;: [ # The line items that are shipped.
           {
-            &quot;reason&quot;: &quot;A String&quot;, # The reason for the cancellation. Orders that are canceled with a noInventory reason will lead to the removal of the product from Buy on Google until you make an update to that product. This will not affect your Shopping ads. Acceptable values are: - &quot;`autoPostInternal`&quot; - &quot;`autoPostInvalidBillingAddress`&quot; - &quot;`autoPostNoInventory`&quot; - &quot;`autoPostPriceError`&quot; - &quot;`autoPostUndeliverableShippingAddress`&quot; - &quot;`couponAbuse`&quot; - &quot;`customerCanceled`&quot; - &quot;`customerInitiatedCancel`&quot; - &quot;`customerSupportRequested`&quot; - &quot;`failToPushOrderGoogleError`&quot; - &quot;`failToPushOrderMerchantError`&quot; - &quot;`failToPushOrderMerchantFulfillmentError`&quot; - &quot;`failToPushOrderToMerchant`&quot; - &quot;`failToPushOrderToMerchantOutOfStock`&quot; - &quot;`invalidCoupon`&quot; - &quot;`malformedShippingAddress`&quot; - &quot;`merchantDidNotShipOnTime`&quot; - &quot;`noInventory`&quot; - &quot;`orderTimeout`&quot; - &quot;`other`&quot; - &quot;`paymentAbuse`&quot; - &quot;`paymentDeclined`&quot; - &quot;`priceError`&quot; - &quot;`returnRefundAbuse`&quot; - &quot;`shippingPriceError`&quot; - &quot;`taxError`&quot; - &quot;`undeliverableShippingAddress`&quot; - &quot;`unsupportedPoBoxAddress`&quot;
-            &quot;actor&quot;: &quot;A String&quot;, # The actor that created the cancellation. Acceptable values are: - &quot;`customer`&quot; - &quot;`googleBot`&quot; - &quot;`googleCustomerService`&quot; - &quot;`googlePayments`&quot; - &quot;`googleSabre`&quot; - &quot;`merchant`&quot;
-            &quot;quantity&quot;: 42, # The quantity that was canceled.
-            &quot;reasonText&quot;: &quot;A String&quot;, # The explanation of the reason.
-            &quot;creationDate&quot;: &quot;A String&quot;, # Date on which the cancellation has been created, in ISO 8601 format.
+            &quot;productId&quot;: &quot;A String&quot;, # The ID of the product to ship. This is the REST ID used in the products service. Either lineItemId or productId is required.
+            &quot;lineItemId&quot;: &quot;A String&quot;, # The ID of the line item that is shipped. This value is assigned by Google when an order is created. Either lineItemId or productId is required.
+            &quot;quantity&quot;: 42, # The quantity that is shipped.
           },
         ],
+        &quot;shipmentGroupId&quot;: &quot;A String&quot;, # The shipment group ID of the shipment. This is set in shiplineitems request.
+        &quot;trackingId&quot;: &quot;A String&quot;, # The tracking ID for the shipment.
+      },
+    ],
+    &quot;merchantOrderId&quot;: &quot;A String&quot;, # Merchant-provided ID of the order.
+    &quot;deliveryDetails&quot;: { # Delivery details for shipments of type `delivery`.
+      &quot;phoneNumber&quot;: &quot;A String&quot;, # The phone number of the person receiving the delivery.
+      &quot;address&quot;: { # The delivery address
+        &quot;isPostOfficeBox&quot;: True or False, # Whether the address is a post office box.
+        &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;recipientName&quot;: &quot;A String&quot;, # Name of the recipient.
+        &quot;postalCode&quot;: &quot;A String&quot;, # Postal Code or ZIP (e.g. &quot;94043&quot;).
+        &quot;country&quot;: &quot;A String&quot;, # CLDR country code (e.g. &quot;US&quot;).
+        &quot;streetAddress&quot;: [ # Street-level part of the address.
+          &quot;A String&quot;,
+        ],
+        &quot;locality&quot;: &quot;A String&quot;, # City, town or commune. May also include dependent localities or sublocalities (e.g. neighborhoods or suburbs).
+        &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;netPriceAmount&quot;: { # The net amount for the order (price part). For example, if an order was originally for $100 and a refund was issued for $20, the net amount will be $80.
+      &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;annotations&quot;: [ # List of key-value pairs that are attached to a given order.
+      {
+        &quot;value&quot;: &quot;A String&quot;, # Value for additional google provided (as key-value pairs) annotation.
+        &quot;key&quot;: &quot;A String&quot;, # Key for additional google provided (as key-value pairs) annotation.
+      },
+    ],
+    &quot;status&quot;: &quot;A String&quot;, # The status of the order. Acceptable values are: - &quot;`canceled`&quot; - &quot;`delivered`&quot; - &quot;`inProgress`&quot; - &quot;`partiallyDelivered`&quot; - &quot;`partiallyReturned`&quot; - &quot;`partiallyShipped`&quot; - &quot;`pendingShipment`&quot; - &quot;`returned`&quot; - &quot;`shipped`&quot;
+    &quot;pickupDetails&quot;: { # Pickup details for shipments of type `pickup`.
+      &quot;address&quot;: { # Address of the pickup location where the shipment should be sent. Note that `recipientName` in the address is the name of the business at the pickup location.
+        &quot;isPostOfficeBox&quot;: True or False, # Whether the address is a post office box.
+        &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;recipientName&quot;: &quot;A String&quot;, # Name of the recipient.
+        &quot;postalCode&quot;: &quot;A String&quot;, # Postal Code or ZIP (e.g. &quot;94043&quot;).
+        &quot;country&quot;: &quot;A String&quot;, # CLDR country code (e.g. &quot;US&quot;).
+        &quot;streetAddress&quot;: [ # Street-level part of the address.
+          &quot;A String&quot;,
+        ],
+        &quot;locality&quot;: &quot;A String&quot;, # City, town or commune. May also include dependent localities or sublocalities (e.g. neighborhoods or suburbs).
+        &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;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;locationId&quot;: &quot;A String&quot;, # ID of the pickup location.
+      &quot;collectors&quot;: [ # Collectors authorized to pick up shipment from the pickup location.
+        {
+          &quot;phoneNumber&quot;: &quot;A String&quot;, # Phone number of the person picking up the shipment.
+          &quot;name&quot;: &quot;A String&quot;, # Name of the person picking up the shipment.
+        },
+      ],
+    },
+    &quot;promotions&quot;: [ # Promotions associated with the order. To determine which promotions apply to which products, check the `Promotions[].appliedItems[].lineItemId` field against the `LineItems[].id` field for each promotion. If a promotion is applied to more than 1 offerId, divide the discount value by the number of affected offers to determine how much discount to apply to each offerId. Examples: 1. To calculate price paid by the customer for a single line item including the discount: For each promotion, subtract the `LineItems[].adjustments[].priceAdjustment.value` amount from the `LineItems[].Price.value`. 2. To calculate price paid by the customer for a single line item including the discount in case of multiple quantity: For each promotion, divide the `LineItems[].adjustments[].priceAdjustment.value` by the quantity of products then subtract the resulting value from the `LineItems[].Product.Price.value` for each quantity item. Only 1 promotion can be applied to an offerId in a given order. To refund an item which had a promotion applied to it, make sure to refund the amount after first subtracting the promotion discount from the item price. More details about the program are here.
+      {
+        &quot;priceValue&quot;: { # Estimated discount applied to price. Amount is pre-tax or post-tax depending on location of order.
+          &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;shortTitle&quot;: &quot;A String&quot;, # A short title of the promotion to be shown on the checkout page. Do not provide for `orders.createtestorder`.
+        &quot;endTime&quot;: &quot;A String&quot;, # Promotion end time in ISO 8601 format. Date, time, and offset required, e.g., &quot;2020-01-02T09:00:00+01:00&quot; or &quot;2020-01-02T09:00:00Z&quot;.
+        &quot;taxValue&quot;: { # Estimated discount applied to tax (if allowed by law). Do not provide for `orders.createtestorder`.
+          &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;title&quot;: &quot;A String&quot;, # Required. The title of the promotion.
+        &quot;merchantPromotionId&quot;: &quot;A String&quot;, # Required. This field is used to identify promotions within merchants&#x27; own systems.
+        &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;quantity&quot;: 42, # The quantity of the associated product. Do not provide for `orders.createtestorder`.
+            &quot;productId&quot;: &quot;A String&quot;, # `orders.createtestorder`.
+            &quot;offerId&quot;: &quot;A String&quot;, # Required. Offer ID of a product. Only for `orders.createtestorder`.
+          },
+        ],
+        &quot;funder&quot;: &quot;A String&quot;, # Required. The party funding the promotion. Only `merchant` is supported for `orders.createtestorder`. Acceptable values are: - &quot;`google`&quot; - &quot;`merchant`&quot;
+        &quot;startTime&quot;: &quot;A String&quot;, # Promotion start time in ISO 8601 format. Date, time, and offset required, e.g., &quot;2020-01-02T09:00:00+01:00&quot; or &quot;2020-01-02T09:00:00Z&quot;.
+        &quot;type&quot;: &quot;A String&quot;, # Required. The scope of the promotion. Only `product` is supported for `orders.createtestorder`. Acceptable values are: - &quot;`product`&quot; - &quot;`shipping`&quot;
+        &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;quantity&quot;: 42, # The quantity of the associated product. Do not provide for `orders.createtestorder`.
+            &quot;productId&quot;: &quot;A String&quot;, # `orders.createtestorder`.
+            &quot;offerId&quot;: &quot;A String&quot;, # Required. Offer ID of a product. Only for `orders.createtestorder`.
+          },
+        ],
+        &quot;subtype&quot;: &quot;A String&quot;, # Required. The category of the promotion. Only `moneyOff` is supported for `orders.createtestorder`. Acceptable values are: - &quot;`buyMGetMoneyOff`&quot; - &quot;`buyMGetNMoneyOff`&quot; - &quot;`buyMGetNPercentOff`&quot; - &quot;`buyMGetPercentOff`&quot; - &quot;`freeGift`&quot; - &quot;`freeGiftWithItemId`&quot; - &quot;`freeGiftWithValue`&quot; - &quot;`freeShippingOvernight`&quot; - &quot;`freeShippingStandard`&quot; - &quot;`freeShippingTwoDay`&quot; - &quot;`moneyOff`&quot; - &quot;`percentOff`&quot; - &quot;`rewardPoints`&quot; - &quot;`salePrice`&quot;
+      },
+    ],
+    &quot;netTaxAmount&quot;: { # The net amount for the order (tax part). Note that in certain cases due to taxable base adjustment `netTaxAmount` might not match to a sum of tax field across all lineItems and refunds.
+      &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;placedDate&quot;: &quot;A String&quot;, # The date when the order was placed, in ISO 8601 format.
+    &quot;merchantId&quot;: &quot;A String&quot;,
+    &quot;lineItems&quot;: [ # Line items that are ordered.
+      {
+        &quot;adjustments&quot;: [ # Price and tax adjustments applied on the line item.
+          {
+            &quot;priceAdjustment&quot;: { # Adjustment for total price of the line item.
+              &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;type&quot;: &quot;A String&quot;, # Type of this adjustment. Acceptable values are: - &quot;`promotion`&quot;
+            &quot;taxAdjustment&quot;: { # Adjustment for total tax of the line item.
+              &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;quantityPending&quot;: 42, # Number of items pending.
+        &quot;cancellations&quot;: [ # Cancellations of the line item.
+          {
+            &quot;actor&quot;: &quot;A String&quot;, # The actor that created the cancellation. Acceptable values are: - &quot;`customer`&quot; - &quot;`googleBot`&quot; - &quot;`googleCustomerService`&quot; - &quot;`googlePayments`&quot; - &quot;`googleSabre`&quot; - &quot;`merchant`&quot;
+            &quot;creationDate&quot;: &quot;A String&quot;, # Date on which the cancellation has been created, in ISO 8601 format.
+            &quot;reasonText&quot;: &quot;A String&quot;, # The explanation of the reason.
+            &quot;quantity&quot;: 42, # The quantity that was canceled.
+            &quot;reason&quot;: &quot;A String&quot;, # The reason for the cancellation. Orders that are canceled with a noInventory reason will lead to the removal of the product from Buy on Google until you make an update to that product. This will not affect your Shopping ads. Acceptable values are: - &quot;`autoPostInternal`&quot; - &quot;`autoPostInvalidBillingAddress`&quot; - &quot;`autoPostNoInventory`&quot; - &quot;`autoPostPriceError`&quot; - &quot;`autoPostUndeliverableShippingAddress`&quot; - &quot;`couponAbuse`&quot; - &quot;`customerCanceled`&quot; - &quot;`customerInitiatedCancel`&quot; - &quot;`customerSupportRequested`&quot; - &quot;`failToPushOrderGoogleError`&quot; - &quot;`failToPushOrderMerchantError`&quot; - &quot;`failToPushOrderMerchantFulfillmentError`&quot; - &quot;`failToPushOrderToMerchant`&quot; - &quot;`failToPushOrderToMerchantOutOfStock`&quot; - &quot;`invalidCoupon`&quot; - &quot;`malformedShippingAddress`&quot; - &quot;`merchantDidNotShipOnTime`&quot; - &quot;`noInventory`&quot; - &quot;`orderTimeout`&quot; - &quot;`other`&quot; - &quot;`paymentAbuse`&quot; - &quot;`paymentDeclined`&quot; - &quot;`priceError`&quot; - &quot;`returnRefundAbuse`&quot; - &quot;`shippingPriceError`&quot; - &quot;`taxError`&quot; - &quot;`undeliverableShippingAddress`&quot; - &quot;`unsupportedPoBoxAddress`&quot;
+          },
+        ],
+        &quot;price&quot;: { # Total price for the line item. For example, if two items for $10 are purchased, the total price will be $20.
+          &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;returnInfo&quot;: { # Details of the return policy for the line item.
+          &quot;isReturnable&quot;: True or False, # Required. Whether the item is returnable.
+          &quot;daysToReturn&quot;: 42, # Required. How many days later the item can be returned.
+          &quot;policyUrl&quot;: &quot;A String&quot;, # Required. URL of the item return policy.
+        },
+        &quot;quantityUndeliverable&quot;: 42, # Number of items undeliverable.
+        &quot;tax&quot;: { # Total tax amount for the line item. For example, if two items are purchased, and each have a cost tax of $2, the total tax amount will be $4.
+          &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;quantityReturned&quot;: 42, # Number of items returned.
+        &quot;quantityShipped&quot;: 42, # Number of items shipped.
+        &quot;quantityReadyForPickup&quot;: 42, # Number of items ready for pickup.
+        &quot;quantityOrdered&quot;: 42, # Number of items ordered.
         &quot;annotations&quot;: [ # Annotations that are attached to the line item.
           {
             &quot;value&quot;: &quot;A String&quot;, # Value for additional merchant provided (as key-value pairs) annotation about the line item.
             &quot;key&quot;: &quot;A String&quot;, # Key for additional merchant provided (as key-value pairs) annotation about the line item.
           },
         ],
-        &quot;quantityDelivered&quot;: 42, # Number of items delivered.
-        &quot;quantityUndeliverable&quot;: 42, # Number of items undeliverable.
         &quot;quantityCanceled&quot;: 42, # Number of items canceled.
-        &quot;quantityShipped&quot;: 42, # Number of items shipped.
-        &quot;returns&quot;: [ # Returns of the line item.
-          {
-            &quot;reason&quot;: &quot;A String&quot;, # The reason for the return. Acceptable values are: - &quot;`customerDiscretionaryReturn`&quot; - &quot;`customerInitiatedMerchantCancel`&quot; - &quot;`deliveredTooLate`&quot; - &quot;`expiredItem`&quot; - &quot;`invalidCoupon`&quot; - &quot;`malformedShippingAddress`&quot; - &quot;`other`&quot; - &quot;`productArrivedDamaged`&quot; - &quot;`productNotAsDescribed`&quot; - &quot;`qualityNotAsExpected`&quot; - &quot;`undeliverableShippingAddress`&quot; - &quot;`unsupportedPoBoxAddress`&quot; - &quot;`wrongProductShipped`&quot;
-            &quot;actor&quot;: &quot;A String&quot;, # The actor that created the refund. Acceptable values are: - &quot;`customer`&quot; - &quot;`googleBot`&quot; - &quot;`googleCustomerService`&quot; - &quot;`googlePayments`&quot; - &quot;`googleSabre`&quot; - &quot;`merchant`&quot;
-            &quot;creationDate&quot;: &quot;A String&quot;, # Date on which the item has been created, in ISO 8601 format.
-            &quot;reasonText&quot;: &quot;A String&quot;, # The explanation of the reason.
-            &quot;quantity&quot;: 42, # Quantity that is returned.
+        &quot;shippingDetails&quot;: { # Details of the requested shipping for the line item.
+          &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. Acceptable values are: - &quot;`delivery`&quot; - &quot;`pickup`&quot;
+          &quot;method&quot;: { # Required. Details of the shipping method.
+            &quot;carrier&quot;: &quot;A String&quot;, # The carrier for the shipping. Optional. See `shipments[].carrier` for a list of acceptable values.
+            &quot;methodName&quot;: &quot;A String&quot;, # Required. The name of the shipping method.
+            &quot;maxDaysInTransit&quot;: 42, # Required. Maximum transit time.
+            &quot;minDaysInTransit&quot;: 42, # Required. Minimum transit time.
           },
-        ],
-        &quot;quantityReadyForPickup&quot;: 42, # Number of items ready for pickup.
-        &quot;price&quot;: { # Total price for the line item. For example, if two items for $10 are purchased, the total price will be $20.
-          &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
-          &quot;currency&quot;: &quot;A String&quot;, # The currency of the price.
+          &quot;deliverByDate&quot;: &quot;A String&quot;, # Required. The delivery by date, in ISO 8601 format.
+          &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;quantityPending&quot;: 42, # Number of items pending.
         &quot;product&quot;: { # Product data as seen by customer from the time of the order placement. Note that certain attributes values (e.g. title or gtin) might be reformatted and no longer match values submitted via product feed.
-          &quot;id&quot;: &quot;A String&quot;, # The REST ID of the product.
+          &quot;shownImage&quot;: &quot;A String&quot;, # URL to the cached image shown to the user when order was placed.
+          &quot;mpn&quot;: &quot;A String&quot;, # Manufacturer Part Number (MPN) of the item.
           &quot;targetCountry&quot;: &quot;A String&quot;, # The CLDR territory // code of the target country of the product.
+          &quot;gtin&quot;: &quot;A String&quot;, # Global Trade Item Number (GTIN) of the item.
+          &quot;itemGroupId&quot;: &quot;A String&quot;, # Shared identifier for all variants of the same product.
+          &quot;offerId&quot;: &quot;A String&quot;, # An identifier of the item.
+          &quot;condition&quot;: &quot;A String&quot;, # Condition or state of the item. Acceptable values are: - &quot;`new`&quot; - &quot;`refurbished`&quot; - &quot;`used`&quot;
+          &quot;contentLanguage&quot;: &quot;A String&quot;, # The two-letter ISO 639-1 language code for the item.
+          &quot;price&quot;: { # Price of the item.
+            &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;id&quot;: &quot;A String&quot;, # The REST ID of the product.
+          &quot;brand&quot;: &quot;A String&quot;, # Brand of the item.
           &quot;variantAttributes&quot;: [ # Variant attributes for the item. These are dimensions of the product, such as color, gender, material, pattern, and size. You can find a comprehensive list of variant attributes here.
             {
               &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the variant.
@@ -565,226 +757,34 @@
           &quot;fees&quot;: [ # Associated fees at order creation time.
             {
               &quot;amount&quot;: { # Amount of the fee.
-                &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
                 &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;name&quot;: &quot;A String&quot;, # Name of the fee.
             },
           ],
           &quot;imageLink&quot;: &quot;A String&quot;, # URL of an image of the item.
           &quot;title&quot;: &quot;A String&quot;, # The title of the product.
-          &quot;shownImage&quot;: &quot;A String&quot;, # URL to the cached image shown to the user when order was placed.
-          &quot;price&quot;: { # Price of the item.
-            &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
-            &quot;currency&quot;: &quot;A String&quot;, # The currency of the price.
-          },
-          &quot;condition&quot;: &quot;A String&quot;, # Condition or state of the item. Acceptable values are: - &quot;`new`&quot; - &quot;`refurbished`&quot; - &quot;`used`&quot;
-          &quot;gtin&quot;: &quot;A String&quot;, # Global Trade Item Number (GTIN) of the item.
-          &quot;itemGroupId&quot;: &quot;A String&quot;, # Shared identifier for all variants of the same product.
-          &quot;contentLanguage&quot;: &quot;A String&quot;, # The two-letter ISO 639-1 language code for the item.
-          &quot;offerId&quot;: &quot;A String&quot;, # An identifier of the item.
-          &quot;brand&quot;: &quot;A String&quot;, # Brand of the item.
-          &quot;mpn&quot;: &quot;A String&quot;, # Manufacturer Part Number (MPN) of the item.
         },
-        &quot;returnInfo&quot;: { # Details of the return policy for the line item.
-          &quot;daysToReturn&quot;: 42, # Required. How many days later the item can be returned.
-          &quot;isReturnable&quot;: True or False, # Required. Whether the item is returnable.
-          &quot;policyUrl&quot;: &quot;A String&quot;, # Required. URL of the item return policy.
-        },
-        &quot;adjustments&quot;: [ # Price and tax adjustments applied on the line item.
+        &quot;returns&quot;: [ # Returns of the line item.
           {
-            &quot;priceAdjustment&quot;: { # Adjustment for total price of the line item.
-              &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
-              &quot;currency&quot;: &quot;A String&quot;, # The currency of the price.
-            },
-            &quot;taxAdjustment&quot;: { # Adjustment for total tax of the line item.
-              &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
-              &quot;currency&quot;: &quot;A String&quot;, # The currency of the price.
-            },
-            &quot;type&quot;: &quot;A String&quot;, # Type of this adjustment. Acceptable values are: - &quot;`promotion`&quot;
+            &quot;reasonText&quot;: &quot;A String&quot;, # The explanation of the reason.
+            &quot;creationDate&quot;: &quot;A String&quot;, # Date on which the item has been created, in ISO 8601 format.
+            &quot;quantity&quot;: 42, # Quantity that is returned.
+            &quot;actor&quot;: &quot;A String&quot;, # The actor that created the refund. Acceptable values are: - &quot;`customer`&quot; - &quot;`googleBot`&quot; - &quot;`googleCustomerService`&quot; - &quot;`googlePayments`&quot; - &quot;`googleSabre`&quot; - &quot;`merchant`&quot;
+            &quot;reason&quot;: &quot;A String&quot;, # The reason for the return. Acceptable values are: - &quot;`customerDiscretionaryReturn`&quot; - &quot;`customerInitiatedMerchantCancel`&quot; - &quot;`deliveredTooLate`&quot; - &quot;`expiredItem`&quot; - &quot;`invalidCoupon`&quot; - &quot;`malformedShippingAddress`&quot; - &quot;`other`&quot; - &quot;`productArrivedDamaged`&quot; - &quot;`productNotAsDescribed`&quot; - &quot;`qualityNotAsExpected`&quot; - &quot;`undeliverableShippingAddress`&quot; - &quot;`unsupportedPoBoxAddress`&quot; - &quot;`wrongProductShipped`&quot;
           },
         ],
-        &quot;shippingDetails&quot;: { # Details of the requested shipping for the line item.
-          &quot;shipByDate&quot;: &quot;A String&quot;, # Required. The ship by date, in ISO 8601 format.
-          &quot;deliverByDate&quot;: &quot;A String&quot;, # Required. The delivery 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. Acceptable values are: - &quot;`delivery`&quot; - &quot;`pickup`&quot;
-          &quot;method&quot;: { # Required. Details of the shipping method.
-            &quot;carrier&quot;: &quot;A String&quot;, # The carrier for the shipping. Optional. See `shipments[].carrier` for a list of acceptable values.
-            &quot;methodName&quot;: &quot;A String&quot;, # Required. The name of the shipping method.
-            &quot;minDaysInTransit&quot;: 42, # Required. Minimum transit time.
-            &quot;maxDaysInTransit&quot;: 42, # Required. Maximum 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;tax&quot;: { # Total tax amount for the line item. For example, if two items are purchased, and each have a cost tax of $2, the total tax amount will be $4.
-          &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
-          &quot;currency&quot;: &quot;A String&quot;, # The currency of the price.
-        },
-        &quot;quantityReturned&quot;: 42, # Number of items returned.
+        &quot;quantityDelivered&quot;: 42, # Number of items delivered.
+        &quot;id&quot;: &quot;A String&quot;, # The ID of the line item.
       },
     ],
-    &quot;promotions&quot;: [ # Promotions associated with the order. To determine which promotions apply to which products, check the `Promotions[].appliedItems[].lineItemId` field against the `LineItems[].id` field for each promotion. If a promotion is applied to more than 1 offerId, divide the discount value by the number of affected offers to determine how much discount to apply to each offerId. Examples: 1. To calculate price paid by the customer for a single line item including the discount: For each promotion, subtract the `LineItems[].adjustments[].priceAdjustment.value` amount from the `LineItems[].Price.value`. 2. To calculate price paid by the customer for a single line item including the discount in case of multiple quantity: For each promotion, divide the `LineItems[].adjustments[].priceAdjustment.value` by the quantity of products then subtract the resulting value from the `LineItems[].Product.Price.value` for each quantity item. Only 1 promotion can be applied to an offerId in a given order. To refund an item which had a promotion applied to it, make sure to refund the amount after first subtracting the promotion discount from the item price. More details about the program are here.
-      {
-        &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;quantity&quot;: 42, # The quantity of the associated product. Do not provide for `orders.createtestorder`.
-            &quot;offerId&quot;: &quot;A String&quot;, # Required. Offer ID of a product. Only for `orders.createtestorder`.
-            &quot;productId&quot;: &quot;A String&quot;, # `orders.createtestorder`.
-          },
-        ],
-        &quot;funder&quot;: &quot;A String&quot;, # Required. The party funding the promotion. Only `merchant` is supported for `orders.createtestorder`. Acceptable values are: - &quot;`google`&quot; - &quot;`merchant`&quot;
-        &quot;subtype&quot;: &quot;A String&quot;, # Required. The category of the promotion. Only `moneyOff` is supported for `orders.createtestorder`. Acceptable values are: - &quot;`buyMGetMoneyOff`&quot; - &quot;`buyMGetNMoneyOff`&quot; - &quot;`buyMGetNPercentOff`&quot; - &quot;`buyMGetPercentOff`&quot; - &quot;`freeGift`&quot; - &quot;`freeGiftWithItemId`&quot; - &quot;`freeGiftWithValue`&quot; - &quot;`freeShippingOvernight`&quot; - &quot;`freeShippingStandard`&quot; - &quot;`freeShippingTwoDay`&quot; - &quot;`moneyOff`&quot; - &quot;`percentOff`&quot; - &quot;`rewardPoints`&quot; - &quot;`salePrice`&quot;
-        &quot;type&quot;: &quot;A String&quot;, # Required. The scope of the promotion. Only `product` is supported for `orders.createtestorder`. Acceptable values are: - &quot;`product`&quot; - &quot;`shipping`&quot;
-        &quot;endTime&quot;: &quot;A String&quot;, # Promotion end time in ISO 8601 format. Date, time, and offset required, e.g., &quot;2020-01-02T09:00:00+01:00&quot; or &quot;2020-01-02T09:00:00Z&quot;.
-        &quot;startTime&quot;: &quot;A String&quot;, # Promotion start time in ISO 8601 format. Date, time, and offset required, e.g., &quot;2020-01-02T09:00:00+01:00&quot; or &quot;2020-01-02T09:00:00Z&quot;.
-        &quot;shortTitle&quot;: &quot;A String&quot;, # A short title of the promotion to be shown on the checkout page. Do not provide for `orders.createtestorder`.
-        &quot;taxValue&quot;: { # Estimated discount applied to tax (if allowed by law). Do not provide for `orders.createtestorder`.
-          &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
-          &quot;currency&quot;: &quot;A String&quot;, # The currency of the price.
-        },
-        &quot;title&quot;: &quot;A String&quot;, # Required. The title of the promotion.
-        &quot;merchantPromotionId&quot;: &quot;A String&quot;, # Required. This field is used to identify promotions within merchants&#x27; own systems.
-        &quot;priceValue&quot;: { # Estimated discount applied to price. Amount is pre-tax or post-tax depending on location of order.
-          &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
-          &quot;currency&quot;: &quot;A String&quot;, # The currency of the price.
-        },
-        &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;quantity&quot;: 42, # The quantity of the associated product. Do not provide for `orders.createtestorder`.
-            &quot;offerId&quot;: &quot;A String&quot;, # Required. Offer ID of a product. Only for `orders.createtestorder`.
-            &quot;productId&quot;: &quot;A String&quot;, # `orders.createtestorder`.
-          },
-        ],
-      },
-    ],
-    &quot;kind&quot;: &quot;A String&quot;, # Identifies what kind of resource this is. Value: the fixed string &quot;`content#order`&quot;
-    &quot;netTaxAmount&quot;: { # The net amount for the order (tax part). Note that in certain cases due to taxable base adjustment `netTaxAmount` might not match to a sum of tax field across all lineItems and refunds.
-      &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
-      &quot;currency&quot;: &quot;A String&quot;, # The currency of the price.
-    },
-    &quot;annotations&quot;: [ # List of key-value pairs that are attached to a given order.
-      {
-        &quot;value&quot;: &quot;A String&quot;, # Value for additional google provided (as key-value pairs) annotation.
-        &quot;key&quot;: &quot;A String&quot;, # Key for additional google provided (as key-value pairs) annotation.
-      },
-    ],
-    &quot;placedDate&quot;: &quot;A String&quot;, # The date when the order was placed, in ISO 8601 format.
-    &quot;shipments&quot;: [ # Shipments of the order.
-      {
-        &quot;creationDate&quot;: &quot;A String&quot;, # Date on which the shipment has been created, in ISO 8601 format.
-        &quot;scheduledDeliveryDetails&quot;: { # Delivery details of the shipment if scheduling is needed.
-          &quot;scheduledDate&quot;: &quot;A String&quot;, # The date a shipment is scheduled for delivery, in ISO 8601 format.
-          &quot;carrierPhoneNumber&quot;: &quot;A String&quot;, # The phone number of the carrier fulfilling the delivery. The phone number is formatted as the international notation in ITU-T Recommendation E.123 (e.g., &quot;+41 44 668 1800&quot;).
-        },
-        &quot;id&quot;: &quot;A String&quot;, # The ID of the shipment.
-        &quot;lineItems&quot;: [ # The line items that are shipped.
-          {
-            &quot;quantity&quot;: 42, # The quantity that is shipped.
-            &quot;lineItemId&quot;: &quot;A String&quot;, # The ID of the line item that is shipped. This value is assigned by Google when an order is created. Either lineItemId or productId is required.
-            &quot;productId&quot;: &quot;A String&quot;, # The ID of the product to ship. This is the REST ID used in the products service. Either lineItemId or productId is required.
-          },
-        ],
-        &quot;trackingId&quot;: &quot;A String&quot;, # The tracking ID for the shipment.
-        &quot;carrier&quot;: &quot;A String&quot;, # The carrier handling the shipment. For supported carriers, Google includes the carrier name and tracking URL in emails to customers. For select supported carriers, Google also automatically updates the shipment status based on the provided shipment ID. *Note:* You can also use unsupported carriers, but emails to customers will not include the carrier name or tracking URL, and there will be no automatic order status updates. Supported carriers for US are: - &quot;`ups`&quot; (United Parcel Service) *automatic status updates* - &quot;`usps`&quot; (United States Postal Service) *automatic status updates* - &quot;`fedex`&quot; (FedEx) *automatic status updates * - &quot;`dhl`&quot; (DHL eCommerce) *automatic status updates* (US only) - &quot;`ontrac`&quot; (OnTrac) *automatic status updates * - &quot;`dhl express`&quot; (DHL Express) - &quot;`deliv`&quot; (Deliv) - &quot;`dynamex`&quot; (TForce) - &quot;`lasership`&quot; (LaserShip) - &quot;`mpx`&quot; (Military Parcel Xpress) - &quot;`uds`&quot; (United Delivery Service) - &quot;`efw`&quot; (Estes Forwarding Worldwide) - &quot;`jd logistics`&quot; (JD Logistics) - &quot;`yunexpress`&quot; (YunExpress) - &quot;`china post`&quot; (China Post) - &quot;`china ems`&quot; (China Post Express Mail Service) - &quot;`singapore post`&quot; (Singapore Post) - &quot;`pos malaysia`&quot; (Pos Malaysia) - &quot;`postnl`&quot; (PostNL) - &quot;`ptt`&quot; (PTT Turkish Post) - &quot;`eub`&quot; (ePacket) - &quot;`chukou1`&quot; (Chukou1 Logistics) - &quot;`bestex`&quot; (Best Express) - &quot;`canada post`&quot; (Canada Post) - &quot;`purolator`&quot; (Purolator) - &quot;`canpar`&quot; (Canpar) - &quot;`india post`&quot; (India Post) - &quot;`blue dart`&quot; (Blue Dart) - &quot;`delhivery`&quot; (Delhivery) - &quot;`dtdc`&quot; (DTDC) - &quot;`tpc india`&quot; (TPC India) Supported carriers for FR are: - &quot;`la poste`&quot; (La Poste) *automatic status updates * - &quot;`colissimo`&quot; (Colissimo by La Poste) *automatic status updates* - &quot;`ups`&quot; (United Parcel Service) *automatic status updates * - &quot;`chronopost`&quot; (Chronopost by La Poste) - &quot;`gls`&quot; (General Logistics Systems France) - &quot;`dpd`&quot; (DPD Group by GeoPost) - &quot;`bpost`&quot; (Belgian Post Group) - &quot;`colis prive`&quot; (Colis Privé) - &quot;`boxtal`&quot; (Boxtal) - &quot;`geodis`&quot; (GEODIS) - &quot;`tnt`&quot; (TNT) - &quot;`db schenker`&quot; (DB Schenker) - &quot;`aramex`&quot; (Aramex)
-        &quot;deliveryDate&quot;: &quot;A String&quot;, # Date on which the shipment has been delivered, in ISO 8601 format. Present only if `status` is `delivered`
-        &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. Acceptable values are: - &quot;`delivered`&quot; - &quot;`readyForPickup`&quot; - &quot;`shipped`&quot; - &quot;`undeliverable`&quot;
-      },
-    ],
-    &quot;id&quot;: &quot;A String&quot;, # The REST ID of the order. Globally unique.
-    &quot;refunds&quot;: [ # Refunds for the order.
-      {
-        &quot;amount&quot;: { # The amount that is refunded.
-          &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
-          &quot;currency&quot;: &quot;A String&quot;, # The currency of the price.
-        },
-        &quot;actor&quot;: &quot;A String&quot;, # The actor that created the refund. Acceptable values are: - &quot;`customer`&quot; - &quot;`googleBot`&quot; - &quot;`googleCustomerService`&quot; - &quot;`googlePayments`&quot; - &quot;`googleSabre`&quot; - &quot;`merchant`&quot;
-        &quot;reasonText&quot;: &quot;A String&quot;, # The explanation of the reason.
-        &quot;reason&quot;: &quot;A String&quot;, # The reason for the refund. Acceptable values are: - &quot;`adjustment`&quot; - &quot;`autoPostInternal`&quot; - &quot;`autoPostInvalidBillingAddress`&quot; - &quot;`autoPostNoInventory`&quot; - &quot;`autoPostPriceError`&quot; - &quot;`autoPostUndeliverableShippingAddress`&quot; - &quot;`couponAbuse`&quot; - &quot;`courtesyAdjustment`&quot; - &quot;`customerCanceled`&quot; - &quot;`customerDiscretionaryReturn`&quot; - &quot;`customerInitiatedMerchantCancel`&quot; - &quot;`customerSupportRequested`&quot; - &quot;`deliveredLateByCarrier`&quot; - &quot;`deliveredTooLate`&quot; - &quot;`expiredItem`&quot; - &quot;`failToPushOrderGoogleError`&quot; - &quot;`failToPushOrderMerchantError`&quot; - &quot;`failToPushOrderMerchantFulfillmentError`&quot; - &quot;`failToPushOrderToMerchant`&quot; - &quot;`failToPushOrderToMerchantOutOfStock`&quot; - &quot;`feeAdjustment`&quot; - &quot;`invalidCoupon`&quot; - &quot;`lateShipmentCredit`&quot; - &quot;`malformedShippingAddress`&quot; - &quot;`merchantDidNotShipOnTime`&quot; - &quot;`noInventory`&quot; - &quot;`orderTimeout`&quot; - &quot;`other`&quot; - &quot;`paymentAbuse`&quot; - &quot;`paymentDeclined`&quot; - &quot;`priceAdjustment`&quot; - &quot;`priceError`&quot; - &quot;`productArrivedDamaged`&quot; - &quot;`productNotAsDescribed`&quot; - &quot;`promoReallocation`&quot; - &quot;`qualityNotAsExpected`&quot; - &quot;`returnRefundAbuse`&quot; - &quot;`shippingCostAdjustment`&quot; - &quot;`shippingPriceError`&quot; - &quot;`taxAdjustment`&quot; - &quot;`taxError`&quot; - &quot;`undeliverableShippingAddress`&quot; - &quot;`unsupportedPoBoxAddress`&quot; - &quot;`wrongProductShipped`&quot;
-        &quot;creationDate&quot;: &quot;A String&quot;, # Date on which the item has been created, in ISO 8601 format.
-      },
-    ],
-    &quot;status&quot;: &quot;A String&quot;, # The status of the order. Acceptable values are: - &quot;`canceled`&quot; - &quot;`delivered`&quot; - &quot;`inProgress`&quot; - &quot;`partiallyDelivered`&quot; - &quot;`partiallyReturned`&quot; - &quot;`partiallyShipped`&quot; - &quot;`pendingShipment`&quot; - &quot;`returned`&quot; - &quot;`shipped`&quot;
-    &quot;merchantOrderId&quot;: &quot;A String&quot;, # Merchant-provided ID of the order.
-    &quot;deliveryDetails&quot;: { # Delivery details for shipments of type `delivery`.
-      &quot;address&quot;: { # The delivery address
-        &quot;recipientName&quot;: &quot;A String&quot;, # Name of the recipient.
-        &quot;country&quot;: &quot;A String&quot;, # CLDR country code (e.g. &quot;US&quot;).
-        &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;isPostOfficeBox&quot;: True or False, # Whether the address is a post office box.
-        &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;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;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;shippingCostTax&quot;: { # The tax for the total shipping cost.
-      &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
       &quot;currency&quot;: &quot;A String&quot;, # The currency of the price.
-    },
-    &quot;paymentStatus&quot;: &quot;A String&quot;, # The status of the payment. Acceptable values are: - &quot;`paymentCaptured`&quot; - &quot;`paymentRejected`&quot; - &quot;`paymentSecured`&quot; - &quot;`pendingAuthorization`&quot;
-    &quot;customer&quot;: { # The details of the customer who placed the order.
-      &quot;loyaltyInfo&quot;: { # Loyalty program information.
-        &quot;loyaltyNumber&quot;: &quot;A String&quot;, # The loyalty card/membership number.
-        &quot;name&quot;: &quot;A String&quot;, # Name of card/membership holder, this field will be populated when
-      },
-      &quot;fullName&quot;: &quot;A String&quot;, # Full name of the customer.
-      &quot;invoiceReceivingEmail&quot;: &quot;A String&quot;, # Email address for the merchant to send value-added tax or invoice documentation of the order. Only the last document sent is made available to the customer. For more information, see About automated VAT invoicing for Buy on Google.
-      &quot;marketingRightsInfo&quot;: { # Customer&#x27;s marketing preferences. Contains the marketing opt-in information that is current at the time that the merchant call. User preference selections can change from one order to the next so preferences must be checked with every order.
-        &quot;lastUpdatedTimestamp&quot;: &quot;A String&quot;, # Timestamp when last time marketing preference was updated. Could be empty, if user wasn&#x27;t offered a selection yet.
-        &quot;explicitMarketingPreference&quot;: &quot;A String&quot;, # Last known customer selection regarding marketing preferences. In certain cases this selection might not be known, so this field would be empty. If a customer selected `granted` in their most recent order, they can be subscribed to marketing emails. Customers who have chosen `denied` must not be subscribed, or must be unsubscribed if already opted-in. Acceptable values are: - &quot;`denied`&quot; - &quot;`granted`&quot;
-        &quot;marketingEmailAddress&quot;: &quot;A String&quot;, # Email address that can be used for marketing purposes. The field may be empty even if `explicitMarketingPreference` is &#x27;granted&#x27;. This happens when retrieving an old order from the customer who deleted their account.
-      },
-    },
-    &quot;shippingCost&quot;: { # The total cost of shipping for all items.
       &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
-      &quot;currency&quot;: &quot;A String&quot;, # The currency of the price.
     },
-    &quot;pickupDetails&quot;: { # Pickup details for shipments of type `pickup`.
-      &quot;address&quot;: { # Address of the pickup location where the shipment should be sent. Note that `recipientName` in the address is the name of the business at the pickup location.
-        &quot;recipientName&quot;: &quot;A String&quot;, # Name of the recipient.
-        &quot;country&quot;: &quot;A String&quot;, # CLDR country code (e.g. &quot;US&quot;).
-        &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;isPostOfficeBox&quot;: True or False, # Whether the address is a post office box.
-        &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;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;streetAddress&quot;: [ # Street-level part of the address.
-          &quot;A String&quot;,
-        ],
-      },
-      &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;collectors&quot;: [ # Collectors authorized to pick up shipment from the pickup location.
-        {
-          &quot;phoneNumber&quot;: &quot;A String&quot;, # Phone number of the person picking up the shipment.
-          &quot;name&quot;: &quot;A String&quot;, # Name of the person picking up the shipment.
-        },
-      ],
-    },
-    &quot;billingAddress&quot;: { # The billing address.
-      &quot;recipientName&quot;: &quot;A String&quot;, # Name of the recipient.
-      &quot;country&quot;: &quot;A String&quot;, # CLDR country code (e.g. &quot;US&quot;).
-      &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;isPostOfficeBox&quot;: True or False, # Whether the address is a post office box.
-      &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;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;streetAddress&quot;: [ # Street-level part of the address.
-        &quot;A String&quot;,
-      ],
-    },
+    &quot;taxCollector&quot;: &quot;A String&quot;, # The party responsible for collecting and remitting taxes. Acceptable values are: - &quot;`marketplaceFacilitator`&quot; - &quot;`merchant`&quot;
+    &quot;acknowledged&quot;: True or False, # Whether the order was acknowledged.
   }</pre>
 </div>
 
@@ -805,54 +805,246 @@
 
     {
     &quot;order&quot;: { # Order. Production access (all methods) requires the order manager role. Sandbox access does not. # The requested order.
-      &quot;merchantId&quot;: &quot;A String&quot;,
-      &quot;netPriceAmount&quot;: { # The net amount for the order (price part). For example, if an order was originally for $100 and a refund was issued for $20, the net amount will be $80.
-        &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
-        &quot;currency&quot;: &quot;A String&quot;, # The currency of the price.
-      },
-      &quot;taxCollector&quot;: &quot;A String&quot;, # The party responsible for collecting and remitting taxes. Acceptable values are: - &quot;`marketplaceFacilitator`&quot; - &quot;`merchant`&quot;
-      &quot;acknowledged&quot;: True or False, # Whether the order was acknowledged.
-      &quot;lineItems&quot;: [ # Line items that are ordered.
+      &quot;paymentStatus&quot;: &quot;A String&quot;, # The status of the payment. Acceptable values are: - &quot;`paymentCaptured`&quot; - &quot;`paymentRejected`&quot; - &quot;`paymentSecured`&quot; - &quot;`pendingAuthorization`&quot;
+      &quot;refunds&quot;: [ # Refunds for the order.
         {
-          &quot;quantityOrdered&quot;: 42, # Number of items ordered.
-          &quot;id&quot;: &quot;A String&quot;, # The ID of the line item.
-          &quot;cancellations&quot;: [ # Cancellations of the line item.
+          &quot;reasonText&quot;: &quot;A String&quot;, # The explanation of the reason.
+          &quot;actor&quot;: &quot;A String&quot;, # The actor that created the refund. Acceptable values are: - &quot;`customer`&quot; - &quot;`googleBot`&quot; - &quot;`googleCustomerService`&quot; - &quot;`googlePayments`&quot; - &quot;`googleSabre`&quot; - &quot;`merchant`&quot;
+          &quot;reason&quot;: &quot;A String&quot;, # The reason for the refund. Acceptable values are: - &quot;`adjustment`&quot; - &quot;`autoPostInternal`&quot; - &quot;`autoPostInvalidBillingAddress`&quot; - &quot;`autoPostNoInventory`&quot; - &quot;`autoPostPriceError`&quot; - &quot;`autoPostUndeliverableShippingAddress`&quot; - &quot;`couponAbuse`&quot; - &quot;`courtesyAdjustment`&quot; - &quot;`customerCanceled`&quot; - &quot;`customerDiscretionaryReturn`&quot; - &quot;`customerInitiatedMerchantCancel`&quot; - &quot;`customerSupportRequested`&quot; - &quot;`deliveredLateByCarrier`&quot; - &quot;`deliveredTooLate`&quot; - &quot;`expiredItem`&quot; - &quot;`failToPushOrderGoogleError`&quot; - &quot;`failToPushOrderMerchantError`&quot; - &quot;`failToPushOrderMerchantFulfillmentError`&quot; - &quot;`failToPushOrderToMerchant`&quot; - &quot;`failToPushOrderToMerchantOutOfStock`&quot; - &quot;`feeAdjustment`&quot; - &quot;`invalidCoupon`&quot; - &quot;`lateShipmentCredit`&quot; - &quot;`malformedShippingAddress`&quot; - &quot;`merchantDidNotShipOnTime`&quot; - &quot;`noInventory`&quot; - &quot;`orderTimeout`&quot; - &quot;`other`&quot; - &quot;`paymentAbuse`&quot; - &quot;`paymentDeclined`&quot; - &quot;`priceAdjustment`&quot; - &quot;`priceError`&quot; - &quot;`productArrivedDamaged`&quot; - &quot;`productNotAsDescribed`&quot; - &quot;`promoReallocation`&quot; - &quot;`qualityNotAsExpected`&quot; - &quot;`returnRefundAbuse`&quot; - &quot;`shippingCostAdjustment`&quot; - &quot;`shippingPriceError`&quot; - &quot;`taxAdjustment`&quot; - &quot;`taxError`&quot; - &quot;`undeliverableShippingAddress`&quot; - &quot;`unsupportedPoBoxAddress`&quot; - &quot;`wrongProductShipped`&quot;
+          &quot;amount&quot;: { # The amount that is refunded.
+            &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;creationDate&quot;: &quot;A String&quot;, # Date on which the item has been created, in ISO 8601 format.
+        },
+      ],
+      &quot;shippingCost&quot;: { # The total cost of shipping for all items.
+        &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;customer&quot;: { # The details of the customer who placed the order.
+        &quot;fullName&quot;: &quot;A String&quot;, # Full name of the customer.
+        &quot;invoiceReceivingEmail&quot;: &quot;A String&quot;, # Email address for the merchant to send value-added tax or invoice documentation of the order. Only the last document sent is made available to the customer. For more information, see About automated VAT invoicing for Buy on Google.
+        &quot;marketingRightsInfo&quot;: { # Customer&#x27;s marketing preferences. Contains the marketing opt-in information that is current at the time that the merchant call. User preference selections can change from one order to the next so preferences must be checked with every order.
+          &quot;explicitMarketingPreference&quot;: &quot;A String&quot;, # Last known customer selection regarding marketing preferences. In certain cases this selection might not be known, so this field would be empty. If a customer selected `granted` in their most recent order, they can be subscribed to marketing emails. Customers who have chosen `denied` must not be subscribed, or must be unsubscribed if already opted-in. Acceptable values are: - &quot;`denied`&quot; - &quot;`granted`&quot;
+          &quot;marketingEmailAddress&quot;: &quot;A String&quot;, # Email address that can be used for marketing purposes. The field may be empty even if `explicitMarketingPreference` is &#x27;granted&#x27;. This happens when retrieving an old order from the customer who deleted their account.
+          &quot;lastUpdatedTimestamp&quot;: &quot;A String&quot;, # Timestamp when last time marketing preference was updated. Could be empty, if user wasn&#x27;t offered a selection yet.
+        },
+        &quot;loyaltyInfo&quot;: { # Loyalty program information.
+          &quot;loyaltyNumber&quot;: &quot;A String&quot;, # The loyalty card/membership number.
+          &quot;name&quot;: &quot;A String&quot;, # Name of card/membership holder, this field will be populated when
+        },
+      },
+      &quot;id&quot;: &quot;A String&quot;, # The REST ID of the order. Globally unique.
+      &quot;kind&quot;: &quot;A String&quot;, # Identifies what kind of resource this is. Value: the fixed string &quot;`content#order`&quot;
+      &quot;billingAddress&quot;: { # The billing address.
+        &quot;isPostOfficeBox&quot;: True or False, # Whether the address is a post office box.
+        &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;recipientName&quot;: &quot;A String&quot;, # Name of the recipient.
+        &quot;postalCode&quot;: &quot;A String&quot;, # Postal Code or ZIP (e.g. &quot;94043&quot;).
+        &quot;country&quot;: &quot;A String&quot;, # CLDR country code (e.g. &quot;US&quot;).
+        &quot;streetAddress&quot;: [ # Street-level part of the address.
+          &quot;A String&quot;,
+        ],
+        &quot;locality&quot;: &quot;A String&quot;, # City, town or commune. May also include dependent localities or sublocalities (e.g. neighborhoods or suburbs).
+        &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;shipments&quot;: [ # Shipments of the order.
+        {
+          &quot;status&quot;: &quot;A String&quot;, # The status of the shipment. Acceptable values are: - &quot;`delivered`&quot; - &quot;`readyForPickup`&quot; - &quot;`shipped`&quot; - &quot;`undeliverable`&quot;
+          &quot;id&quot;: &quot;A String&quot;, # The ID of the shipment.
+          &quot;scheduledDeliveryDetails&quot;: { # Delivery details of the shipment if scheduling is needed.
+            &quot;scheduledDate&quot;: &quot;A String&quot;, # The date a shipment is scheduled for delivery, in ISO 8601 format.
+            &quot;carrierPhoneNumber&quot;: &quot;A String&quot;, # The phone number of the carrier fulfilling the delivery. The phone number is formatted as the international notation in ITU-T Recommendation E.123 (e.g., &quot;+41 44 668 1800&quot;).
+          },
+          &quot;creationDate&quot;: &quot;A String&quot;, # Date on which the shipment has been created, in ISO 8601 format.
+          &quot;carrier&quot;: &quot;A String&quot;, # The carrier handling the shipment. For supported carriers, Google includes the carrier name and tracking URL in emails to customers. For select supported carriers, Google also automatically updates the shipment status based on the provided shipment ID. *Note:* You can also use unsupported carriers, but emails to customers will not include the carrier name or tracking URL, and there will be no automatic order status updates. Supported carriers for US are: - &quot;`ups`&quot; (United Parcel Service) *automatic status updates* - &quot;`usps`&quot; (United States Postal Service) *automatic status updates* - &quot;`fedex`&quot; (FedEx) *automatic status updates * - &quot;`dhl`&quot; (DHL eCommerce) *automatic status updates* (US only) - &quot;`ontrac`&quot; (OnTrac) *automatic status updates * - &quot;`dhl express`&quot; (DHL Express) - &quot;`deliv`&quot; (Deliv) - &quot;`dynamex`&quot; (TForce) - &quot;`lasership`&quot; (LaserShip) - &quot;`mpx`&quot; (Military Parcel Xpress) - &quot;`uds`&quot; (United Delivery Service) - &quot;`efw`&quot; (Estes Forwarding Worldwide) - &quot;`jd logistics`&quot; (JD Logistics) - &quot;`yunexpress`&quot; (YunExpress) - &quot;`china post`&quot; (China Post) - &quot;`china ems`&quot; (China Post Express Mail Service) - &quot;`singapore post`&quot; (Singapore Post) - &quot;`pos malaysia`&quot; (Pos Malaysia) - &quot;`postnl`&quot; (PostNL) - &quot;`ptt`&quot; (PTT Turkish Post) - &quot;`eub`&quot; (ePacket) - &quot;`chukou1`&quot; (Chukou1 Logistics) - &quot;`bestex`&quot; (Best Express) - &quot;`canada post`&quot; (Canada Post) - &quot;`purolator`&quot; (Purolator) - &quot;`canpar`&quot; (Canpar) - &quot;`india post`&quot; (India Post) - &quot;`blue dart`&quot; (Blue Dart) - &quot;`delhivery`&quot; (Delhivery) - &quot;`dtdc`&quot; (DTDC) - &quot;`tpc india`&quot; (TPC India) Supported carriers for FR are: - &quot;`la poste`&quot; (La Poste) *automatic status updates * - &quot;`colissimo`&quot; (Colissimo by La Poste) *automatic status updates* - &quot;`ups`&quot; (United Parcel Service) *automatic status updates * - &quot;`chronopost`&quot; (Chronopost by La Poste) - &quot;`gls`&quot; (General Logistics Systems France) - &quot;`dpd`&quot; (DPD Group by GeoPost) - &quot;`bpost`&quot; (Belgian Post Group) - &quot;`colis prive`&quot; (Colis Privé) - &quot;`boxtal`&quot; (Boxtal) - &quot;`geodis`&quot; (GEODIS) - &quot;`tnt`&quot; (TNT) - &quot;`db schenker`&quot; (DB Schenker) - &quot;`aramex`&quot; (Aramex)
+          &quot;deliveryDate&quot;: &quot;A String&quot;, # Date on which the shipment has been delivered, in ISO 8601 format. Present only if `status` is `delivered`
+          &quot;lineItems&quot;: [ # The line items that are shipped.
             {
-              &quot;reason&quot;: &quot;A String&quot;, # The reason for the cancellation. Orders that are canceled with a noInventory reason will lead to the removal of the product from Buy on Google until you make an update to that product. This will not affect your Shopping ads. Acceptable values are: - &quot;`autoPostInternal`&quot; - &quot;`autoPostInvalidBillingAddress`&quot; - &quot;`autoPostNoInventory`&quot; - &quot;`autoPostPriceError`&quot; - &quot;`autoPostUndeliverableShippingAddress`&quot; - &quot;`couponAbuse`&quot; - &quot;`customerCanceled`&quot; - &quot;`customerInitiatedCancel`&quot; - &quot;`customerSupportRequested`&quot; - &quot;`failToPushOrderGoogleError`&quot; - &quot;`failToPushOrderMerchantError`&quot; - &quot;`failToPushOrderMerchantFulfillmentError`&quot; - &quot;`failToPushOrderToMerchant`&quot; - &quot;`failToPushOrderToMerchantOutOfStock`&quot; - &quot;`invalidCoupon`&quot; - &quot;`malformedShippingAddress`&quot; - &quot;`merchantDidNotShipOnTime`&quot; - &quot;`noInventory`&quot; - &quot;`orderTimeout`&quot; - &quot;`other`&quot; - &quot;`paymentAbuse`&quot; - &quot;`paymentDeclined`&quot; - &quot;`priceError`&quot; - &quot;`returnRefundAbuse`&quot; - &quot;`shippingPriceError`&quot; - &quot;`taxError`&quot; - &quot;`undeliverableShippingAddress`&quot; - &quot;`unsupportedPoBoxAddress`&quot;
-              &quot;actor&quot;: &quot;A String&quot;, # The actor that created the cancellation. Acceptable values are: - &quot;`customer`&quot; - &quot;`googleBot`&quot; - &quot;`googleCustomerService`&quot; - &quot;`googlePayments`&quot; - &quot;`googleSabre`&quot; - &quot;`merchant`&quot;
-              &quot;quantity&quot;: 42, # The quantity that was canceled.
-              &quot;reasonText&quot;: &quot;A String&quot;, # The explanation of the reason.
-              &quot;creationDate&quot;: &quot;A String&quot;, # Date on which the cancellation has been created, in ISO 8601 format.
+              &quot;productId&quot;: &quot;A String&quot;, # The ID of the product to ship. This is the REST ID used in the products service. Either lineItemId or productId is required.
+              &quot;lineItemId&quot;: &quot;A String&quot;, # The ID of the line item that is shipped. This value is assigned by Google when an order is created. Either lineItemId or productId is required.
+              &quot;quantity&quot;: 42, # The quantity that is shipped.
             },
           ],
+          &quot;shipmentGroupId&quot;: &quot;A String&quot;, # The shipment group ID of the shipment. This is set in shiplineitems request.
+          &quot;trackingId&quot;: &quot;A String&quot;, # The tracking ID for the shipment.
+        },
+      ],
+      &quot;merchantOrderId&quot;: &quot;A String&quot;, # Merchant-provided ID of the order.
+      &quot;deliveryDetails&quot;: { # Delivery details for shipments of type `delivery`.
+        &quot;phoneNumber&quot;: &quot;A String&quot;, # The phone number of the person receiving the delivery.
+        &quot;address&quot;: { # The delivery address
+          &quot;isPostOfficeBox&quot;: True or False, # Whether the address is a post office box.
+          &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;recipientName&quot;: &quot;A String&quot;, # Name of the recipient.
+          &quot;postalCode&quot;: &quot;A String&quot;, # Postal Code or ZIP (e.g. &quot;94043&quot;).
+          &quot;country&quot;: &quot;A String&quot;, # CLDR country code (e.g. &quot;US&quot;).
+          &quot;streetAddress&quot;: [ # Street-level part of the address.
+            &quot;A String&quot;,
+          ],
+          &quot;locality&quot;: &quot;A String&quot;, # City, town or commune. May also include dependent localities or sublocalities (e.g. neighborhoods or suburbs).
+          &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;netPriceAmount&quot;: { # The net amount for the order (price part). For example, if an order was originally for $100 and a refund was issued for $20, the net amount will be $80.
+        &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;annotations&quot;: [ # List of key-value pairs that are attached to a given order.
+        {
+          &quot;value&quot;: &quot;A String&quot;, # Value for additional google provided (as key-value pairs) annotation.
+          &quot;key&quot;: &quot;A String&quot;, # Key for additional google provided (as key-value pairs) annotation.
+        },
+      ],
+      &quot;status&quot;: &quot;A String&quot;, # The status of the order. Acceptable values are: - &quot;`canceled`&quot; - &quot;`delivered`&quot; - &quot;`inProgress`&quot; - &quot;`partiallyDelivered`&quot; - &quot;`partiallyReturned`&quot; - &quot;`partiallyShipped`&quot; - &quot;`pendingShipment`&quot; - &quot;`returned`&quot; - &quot;`shipped`&quot;
+      &quot;pickupDetails&quot;: { # Pickup details for shipments of type `pickup`.
+        &quot;address&quot;: { # Address of the pickup location where the shipment should be sent. Note that `recipientName` in the address is the name of the business at the pickup location.
+          &quot;isPostOfficeBox&quot;: True or False, # Whether the address is a post office box.
+          &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;recipientName&quot;: &quot;A String&quot;, # Name of the recipient.
+          &quot;postalCode&quot;: &quot;A String&quot;, # Postal Code or ZIP (e.g. &quot;94043&quot;).
+          &quot;country&quot;: &quot;A String&quot;, # CLDR country code (e.g. &quot;US&quot;).
+          &quot;streetAddress&quot;: [ # Street-level part of the address.
+            &quot;A String&quot;,
+          ],
+          &quot;locality&quot;: &quot;A String&quot;, # City, town or commune. May also include dependent localities or sublocalities (e.g. neighborhoods or suburbs).
+          &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;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;locationId&quot;: &quot;A String&quot;, # ID of the pickup location.
+        &quot;collectors&quot;: [ # Collectors authorized to pick up shipment from the pickup location.
+          {
+            &quot;phoneNumber&quot;: &quot;A String&quot;, # Phone number of the person picking up the shipment.
+            &quot;name&quot;: &quot;A String&quot;, # Name of the person picking up the shipment.
+          },
+        ],
+      },
+      &quot;promotions&quot;: [ # Promotions associated with the order. To determine which promotions apply to which products, check the `Promotions[].appliedItems[].lineItemId` field against the `LineItems[].id` field for each promotion. If a promotion is applied to more than 1 offerId, divide the discount value by the number of affected offers to determine how much discount to apply to each offerId. Examples: 1. To calculate price paid by the customer for a single line item including the discount: For each promotion, subtract the `LineItems[].adjustments[].priceAdjustment.value` amount from the `LineItems[].Price.value`. 2. To calculate price paid by the customer for a single line item including the discount in case of multiple quantity: For each promotion, divide the `LineItems[].adjustments[].priceAdjustment.value` by the quantity of products then subtract the resulting value from the `LineItems[].Product.Price.value` for each quantity item. Only 1 promotion can be applied to an offerId in a given order. To refund an item which had a promotion applied to it, make sure to refund the amount after first subtracting the promotion discount from the item price. More details about the program are here.
+        {
+          &quot;priceValue&quot;: { # Estimated discount applied to price. Amount is pre-tax or post-tax depending on location of order.
+            &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;shortTitle&quot;: &quot;A String&quot;, # A short title of the promotion to be shown on the checkout page. Do not provide for `orders.createtestorder`.
+          &quot;endTime&quot;: &quot;A String&quot;, # Promotion end time in ISO 8601 format. Date, time, and offset required, e.g., &quot;2020-01-02T09:00:00+01:00&quot; or &quot;2020-01-02T09:00:00Z&quot;.
+          &quot;taxValue&quot;: { # Estimated discount applied to tax (if allowed by law). Do not provide for `orders.createtestorder`.
+            &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;title&quot;: &quot;A String&quot;, # Required. The title of the promotion.
+          &quot;merchantPromotionId&quot;: &quot;A String&quot;, # Required. This field is used to identify promotions within merchants&#x27; own systems.
+          &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;quantity&quot;: 42, # The quantity of the associated product. Do not provide for `orders.createtestorder`.
+              &quot;productId&quot;: &quot;A String&quot;, # `orders.createtestorder`.
+              &quot;offerId&quot;: &quot;A String&quot;, # Required. Offer ID of a product. Only for `orders.createtestorder`.
+            },
+          ],
+          &quot;funder&quot;: &quot;A String&quot;, # Required. The party funding the promotion. Only `merchant` is supported for `orders.createtestorder`. Acceptable values are: - &quot;`google`&quot; - &quot;`merchant`&quot;
+          &quot;startTime&quot;: &quot;A String&quot;, # Promotion start time in ISO 8601 format. Date, time, and offset required, e.g., &quot;2020-01-02T09:00:00+01:00&quot; or &quot;2020-01-02T09:00:00Z&quot;.
+          &quot;type&quot;: &quot;A String&quot;, # Required. The scope of the promotion. Only `product` is supported for `orders.createtestorder`. Acceptable values are: - &quot;`product`&quot; - &quot;`shipping`&quot;
+          &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;quantity&quot;: 42, # The quantity of the associated product. Do not provide for `orders.createtestorder`.
+              &quot;productId&quot;: &quot;A String&quot;, # `orders.createtestorder`.
+              &quot;offerId&quot;: &quot;A String&quot;, # Required. Offer ID of a product. Only for `orders.createtestorder`.
+            },
+          ],
+          &quot;subtype&quot;: &quot;A String&quot;, # Required. The category of the promotion. Only `moneyOff` is supported for `orders.createtestorder`. Acceptable values are: - &quot;`buyMGetMoneyOff`&quot; - &quot;`buyMGetNMoneyOff`&quot; - &quot;`buyMGetNPercentOff`&quot; - &quot;`buyMGetPercentOff`&quot; - &quot;`freeGift`&quot; - &quot;`freeGiftWithItemId`&quot; - &quot;`freeGiftWithValue`&quot; - &quot;`freeShippingOvernight`&quot; - &quot;`freeShippingStandard`&quot; - &quot;`freeShippingTwoDay`&quot; - &quot;`moneyOff`&quot; - &quot;`percentOff`&quot; - &quot;`rewardPoints`&quot; - &quot;`salePrice`&quot;
+        },
+      ],
+      &quot;netTaxAmount&quot;: { # The net amount for the order (tax part). Note that in certain cases due to taxable base adjustment `netTaxAmount` might not match to a sum of tax field across all lineItems and refunds.
+        &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;placedDate&quot;: &quot;A String&quot;, # The date when the order was placed, in ISO 8601 format.
+      &quot;merchantId&quot;: &quot;A String&quot;,
+      &quot;lineItems&quot;: [ # Line items that are ordered.
+        {
+          &quot;adjustments&quot;: [ # Price and tax adjustments applied on the line item.
+            {
+              &quot;priceAdjustment&quot;: { # Adjustment for total price of the line item.
+                &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;type&quot;: &quot;A String&quot;, # Type of this adjustment. Acceptable values are: - &quot;`promotion`&quot;
+              &quot;taxAdjustment&quot;: { # Adjustment for total tax of the line item.
+                &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;quantityPending&quot;: 42, # Number of items pending.
+          &quot;cancellations&quot;: [ # Cancellations of the line item.
+            {
+              &quot;actor&quot;: &quot;A String&quot;, # The actor that created the cancellation. Acceptable values are: - &quot;`customer`&quot; - &quot;`googleBot`&quot; - &quot;`googleCustomerService`&quot; - &quot;`googlePayments`&quot; - &quot;`googleSabre`&quot; - &quot;`merchant`&quot;
+              &quot;creationDate&quot;: &quot;A String&quot;, # Date on which the cancellation has been created, in ISO 8601 format.
+              &quot;reasonText&quot;: &quot;A String&quot;, # The explanation of the reason.
+              &quot;quantity&quot;: 42, # The quantity that was canceled.
+              &quot;reason&quot;: &quot;A String&quot;, # The reason for the cancellation. Orders that are canceled with a noInventory reason will lead to the removal of the product from Buy on Google until you make an update to that product. This will not affect your Shopping ads. Acceptable values are: - &quot;`autoPostInternal`&quot; - &quot;`autoPostInvalidBillingAddress`&quot; - &quot;`autoPostNoInventory`&quot; - &quot;`autoPostPriceError`&quot; - &quot;`autoPostUndeliverableShippingAddress`&quot; - &quot;`couponAbuse`&quot; - &quot;`customerCanceled`&quot; - &quot;`customerInitiatedCancel`&quot; - &quot;`customerSupportRequested`&quot; - &quot;`failToPushOrderGoogleError`&quot; - &quot;`failToPushOrderMerchantError`&quot; - &quot;`failToPushOrderMerchantFulfillmentError`&quot; - &quot;`failToPushOrderToMerchant`&quot; - &quot;`failToPushOrderToMerchantOutOfStock`&quot; - &quot;`invalidCoupon`&quot; - &quot;`malformedShippingAddress`&quot; - &quot;`merchantDidNotShipOnTime`&quot; - &quot;`noInventory`&quot; - &quot;`orderTimeout`&quot; - &quot;`other`&quot; - &quot;`paymentAbuse`&quot; - &quot;`paymentDeclined`&quot; - &quot;`priceError`&quot; - &quot;`returnRefundAbuse`&quot; - &quot;`shippingPriceError`&quot; - &quot;`taxError`&quot; - &quot;`undeliverableShippingAddress`&quot; - &quot;`unsupportedPoBoxAddress`&quot;
+            },
+          ],
+          &quot;price&quot;: { # Total price for the line item. For example, if two items for $10 are purchased, the total price will be $20.
+            &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;returnInfo&quot;: { # Details of the return policy for the line item.
+            &quot;isReturnable&quot;: True or False, # Required. Whether the item is returnable.
+            &quot;daysToReturn&quot;: 42, # Required. How many days later the item can be returned.
+            &quot;policyUrl&quot;: &quot;A String&quot;, # Required. URL of the item return policy.
+          },
+          &quot;quantityUndeliverable&quot;: 42, # Number of items undeliverable.
+          &quot;tax&quot;: { # Total tax amount for the line item. For example, if two items are purchased, and each have a cost tax of $2, the total tax amount will be $4.
+            &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;quantityReturned&quot;: 42, # Number of items returned.
+          &quot;quantityShipped&quot;: 42, # Number of items shipped.
+          &quot;quantityReadyForPickup&quot;: 42, # Number of items ready for pickup.
+          &quot;quantityOrdered&quot;: 42, # Number of items ordered.
           &quot;annotations&quot;: [ # Annotations that are attached to the line item.
             {
               &quot;value&quot;: &quot;A String&quot;, # Value for additional merchant provided (as key-value pairs) annotation about the line item.
               &quot;key&quot;: &quot;A String&quot;, # Key for additional merchant provided (as key-value pairs) annotation about the line item.
             },
           ],
-          &quot;quantityDelivered&quot;: 42, # Number of items delivered.
-          &quot;quantityUndeliverable&quot;: 42, # Number of items undeliverable.
           &quot;quantityCanceled&quot;: 42, # Number of items canceled.
-          &quot;quantityShipped&quot;: 42, # Number of items shipped.
-          &quot;returns&quot;: [ # Returns of the line item.
-            {
-              &quot;reason&quot;: &quot;A String&quot;, # The reason for the return. Acceptable values are: - &quot;`customerDiscretionaryReturn`&quot; - &quot;`customerInitiatedMerchantCancel`&quot; - &quot;`deliveredTooLate`&quot; - &quot;`expiredItem`&quot; - &quot;`invalidCoupon`&quot; - &quot;`malformedShippingAddress`&quot; - &quot;`other`&quot; - &quot;`productArrivedDamaged`&quot; - &quot;`productNotAsDescribed`&quot; - &quot;`qualityNotAsExpected`&quot; - &quot;`undeliverableShippingAddress`&quot; - &quot;`unsupportedPoBoxAddress`&quot; - &quot;`wrongProductShipped`&quot;
-              &quot;actor&quot;: &quot;A String&quot;, # The actor that created the refund. Acceptable values are: - &quot;`customer`&quot; - &quot;`googleBot`&quot; - &quot;`googleCustomerService`&quot; - &quot;`googlePayments`&quot; - &quot;`googleSabre`&quot; - &quot;`merchant`&quot;
-              &quot;creationDate&quot;: &quot;A String&quot;, # Date on which the item has been created, in ISO 8601 format.
-              &quot;reasonText&quot;: &quot;A String&quot;, # The explanation of the reason.
-              &quot;quantity&quot;: 42, # Quantity that is returned.
+          &quot;shippingDetails&quot;: { # Details of the requested shipping for the line item.
+            &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. Acceptable values are: - &quot;`delivery`&quot; - &quot;`pickup`&quot;
+            &quot;method&quot;: { # Required. Details of the shipping method.
+              &quot;carrier&quot;: &quot;A String&quot;, # The carrier for the shipping. Optional. See `shipments[].carrier` for a list of acceptable values.
+              &quot;methodName&quot;: &quot;A String&quot;, # Required. The name of the shipping method.
+              &quot;maxDaysInTransit&quot;: 42, # Required. Maximum transit time.
+              &quot;minDaysInTransit&quot;: 42, # Required. Minimum transit time.
             },
-          ],
-          &quot;quantityReadyForPickup&quot;: 42, # Number of items ready for pickup.
-          &quot;price&quot;: { # Total price for the line item. For example, if two items for $10 are purchased, the total price will be $20.
-            &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
-            &quot;currency&quot;: &quot;A String&quot;, # The currency of the price.
+            &quot;deliverByDate&quot;: &quot;A String&quot;, # Required. The delivery by date, in ISO 8601 format.
+            &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;quantityPending&quot;: 42, # Number of items pending.
           &quot;product&quot;: { # Product data as seen by customer from the time of the order placement. Note that certain attributes values (e.g. title or gtin) might be reformatted and no longer match values submitted via product feed.
-            &quot;id&quot;: &quot;A String&quot;, # The REST ID of the product.
+            &quot;shownImage&quot;: &quot;A String&quot;, # URL to the cached image shown to the user when order was placed.
+            &quot;mpn&quot;: &quot;A String&quot;, # Manufacturer Part Number (MPN) of the item.
             &quot;targetCountry&quot;: &quot;A String&quot;, # The CLDR territory // code of the target country of the product.
+            &quot;gtin&quot;: &quot;A String&quot;, # Global Trade Item Number (GTIN) of the item.
+            &quot;itemGroupId&quot;: &quot;A String&quot;, # Shared identifier for all variants of the same product.
+            &quot;offerId&quot;: &quot;A String&quot;, # An identifier of the item.
+            &quot;condition&quot;: &quot;A String&quot;, # Condition or state of the item. Acceptable values are: - &quot;`new`&quot; - &quot;`refurbished`&quot; - &quot;`used`&quot;
+            &quot;contentLanguage&quot;: &quot;A String&quot;, # The two-letter ISO 639-1 language code for the item.
+            &quot;price&quot;: { # Price of the item.
+              &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;id&quot;: &quot;A String&quot;, # The REST ID of the product.
+            &quot;brand&quot;: &quot;A String&quot;, # Brand of the item.
             &quot;variantAttributes&quot;: [ # Variant attributes for the item. These are dimensions of the product, such as color, gender, material, pattern, and size. You can find a comprehensive list of variant attributes here.
               {
                 &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the variant.
@@ -862,226 +1054,34 @@
             &quot;fees&quot;: [ # Associated fees at order creation time.
               {
                 &quot;amount&quot;: { # Amount of the fee.
-                  &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
                   &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;name&quot;: &quot;A String&quot;, # Name of the fee.
               },
             ],
             &quot;imageLink&quot;: &quot;A String&quot;, # URL of an image of the item.
             &quot;title&quot;: &quot;A String&quot;, # The title of the product.
-            &quot;shownImage&quot;: &quot;A String&quot;, # URL to the cached image shown to the user when order was placed.
-            &quot;price&quot;: { # Price of the item.
-              &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
-              &quot;currency&quot;: &quot;A String&quot;, # The currency of the price.
-            },
-            &quot;condition&quot;: &quot;A String&quot;, # Condition or state of the item. Acceptable values are: - &quot;`new`&quot; - &quot;`refurbished`&quot; - &quot;`used`&quot;
-            &quot;gtin&quot;: &quot;A String&quot;, # Global Trade Item Number (GTIN) of the item.
-            &quot;itemGroupId&quot;: &quot;A String&quot;, # Shared identifier for all variants of the same product.
-            &quot;contentLanguage&quot;: &quot;A String&quot;, # The two-letter ISO 639-1 language code for the item.
-            &quot;offerId&quot;: &quot;A String&quot;, # An identifier of the item.
-            &quot;brand&quot;: &quot;A String&quot;, # Brand of the item.
-            &quot;mpn&quot;: &quot;A String&quot;, # Manufacturer Part Number (MPN) of the item.
           },
-          &quot;returnInfo&quot;: { # Details of the return policy for the line item.
-            &quot;daysToReturn&quot;: 42, # Required. How many days later the item can be returned.
-            &quot;isReturnable&quot;: True or False, # Required. Whether the item is returnable.
-            &quot;policyUrl&quot;: &quot;A String&quot;, # Required. URL of the item return policy.
-          },
-          &quot;adjustments&quot;: [ # Price and tax adjustments applied on the line item.
+          &quot;returns&quot;: [ # Returns of the line item.
             {
-              &quot;priceAdjustment&quot;: { # Adjustment for total price of the line item.
-                &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
-                &quot;currency&quot;: &quot;A String&quot;, # The currency of the price.
-              },
-              &quot;taxAdjustment&quot;: { # Adjustment for total tax of the line item.
-                &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
-                &quot;currency&quot;: &quot;A String&quot;, # The currency of the price.
-              },
-              &quot;type&quot;: &quot;A String&quot;, # Type of this adjustment. Acceptable values are: - &quot;`promotion`&quot;
+              &quot;reasonText&quot;: &quot;A String&quot;, # The explanation of the reason.
+              &quot;creationDate&quot;: &quot;A String&quot;, # Date on which the item has been created, in ISO 8601 format.
+              &quot;quantity&quot;: 42, # Quantity that is returned.
+              &quot;actor&quot;: &quot;A String&quot;, # The actor that created the refund. Acceptable values are: - &quot;`customer`&quot; - &quot;`googleBot`&quot; - &quot;`googleCustomerService`&quot; - &quot;`googlePayments`&quot; - &quot;`googleSabre`&quot; - &quot;`merchant`&quot;
+              &quot;reason&quot;: &quot;A String&quot;, # The reason for the return. Acceptable values are: - &quot;`customerDiscretionaryReturn`&quot; - &quot;`customerInitiatedMerchantCancel`&quot; - &quot;`deliveredTooLate`&quot; - &quot;`expiredItem`&quot; - &quot;`invalidCoupon`&quot; - &quot;`malformedShippingAddress`&quot; - &quot;`other`&quot; - &quot;`productArrivedDamaged`&quot; - &quot;`productNotAsDescribed`&quot; - &quot;`qualityNotAsExpected`&quot; - &quot;`undeliverableShippingAddress`&quot; - &quot;`unsupportedPoBoxAddress`&quot; - &quot;`wrongProductShipped`&quot;
             },
           ],
-          &quot;shippingDetails&quot;: { # Details of the requested shipping for the line item.
-            &quot;shipByDate&quot;: &quot;A String&quot;, # Required. The ship by date, in ISO 8601 format.
-            &quot;deliverByDate&quot;: &quot;A String&quot;, # Required. The delivery 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. Acceptable values are: - &quot;`delivery`&quot; - &quot;`pickup`&quot;
-            &quot;method&quot;: { # Required. Details of the shipping method.
-              &quot;carrier&quot;: &quot;A String&quot;, # The carrier for the shipping. Optional. See `shipments[].carrier` for a list of acceptable values.
-              &quot;methodName&quot;: &quot;A String&quot;, # Required. The name of the shipping method.
-              &quot;minDaysInTransit&quot;: 42, # Required. Minimum transit time.
-              &quot;maxDaysInTransit&quot;: 42, # Required. Maximum 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;tax&quot;: { # Total tax amount for the line item. For example, if two items are purchased, and each have a cost tax of $2, the total tax amount will be $4.
-            &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
-            &quot;currency&quot;: &quot;A String&quot;, # The currency of the price.
-          },
-          &quot;quantityReturned&quot;: 42, # Number of items returned.
+          &quot;quantityDelivered&quot;: 42, # Number of items delivered.
+          &quot;id&quot;: &quot;A String&quot;, # The ID of the line item.
         },
       ],
-      &quot;promotions&quot;: [ # Promotions associated with the order. To determine which promotions apply to which products, check the `Promotions[].appliedItems[].lineItemId` field against the `LineItems[].id` field for each promotion. If a promotion is applied to more than 1 offerId, divide the discount value by the number of affected offers to determine how much discount to apply to each offerId. Examples: 1. To calculate price paid by the customer for a single line item including the discount: For each promotion, subtract the `LineItems[].adjustments[].priceAdjustment.value` amount from the `LineItems[].Price.value`. 2. To calculate price paid by the customer for a single line item including the discount in case of multiple quantity: For each promotion, divide the `LineItems[].adjustments[].priceAdjustment.value` by the quantity of products then subtract the resulting value from the `LineItems[].Product.Price.value` for each quantity item. Only 1 promotion can be applied to an offerId in a given order. To refund an item which had a promotion applied to it, make sure to refund the amount after first subtracting the promotion discount from the item price. More details about the program are here.
-        {
-          &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;quantity&quot;: 42, # The quantity of the associated product. Do not provide for `orders.createtestorder`.
-              &quot;offerId&quot;: &quot;A String&quot;, # Required. Offer ID of a product. Only for `orders.createtestorder`.
-              &quot;productId&quot;: &quot;A String&quot;, # `orders.createtestorder`.
-            },
-          ],
-          &quot;funder&quot;: &quot;A String&quot;, # Required. The party funding the promotion. Only `merchant` is supported for `orders.createtestorder`. Acceptable values are: - &quot;`google`&quot; - &quot;`merchant`&quot;
-          &quot;subtype&quot;: &quot;A String&quot;, # Required. The category of the promotion. Only `moneyOff` is supported for `orders.createtestorder`. Acceptable values are: - &quot;`buyMGetMoneyOff`&quot; - &quot;`buyMGetNMoneyOff`&quot; - &quot;`buyMGetNPercentOff`&quot; - &quot;`buyMGetPercentOff`&quot; - &quot;`freeGift`&quot; - &quot;`freeGiftWithItemId`&quot; - &quot;`freeGiftWithValue`&quot; - &quot;`freeShippingOvernight`&quot; - &quot;`freeShippingStandard`&quot; - &quot;`freeShippingTwoDay`&quot; - &quot;`moneyOff`&quot; - &quot;`percentOff`&quot; - &quot;`rewardPoints`&quot; - &quot;`salePrice`&quot;
-          &quot;type&quot;: &quot;A String&quot;, # Required. The scope of the promotion. Only `product` is supported for `orders.createtestorder`. Acceptable values are: - &quot;`product`&quot; - &quot;`shipping`&quot;
-          &quot;endTime&quot;: &quot;A String&quot;, # Promotion end time in ISO 8601 format. Date, time, and offset required, e.g., &quot;2020-01-02T09:00:00+01:00&quot; or &quot;2020-01-02T09:00:00Z&quot;.
-          &quot;startTime&quot;: &quot;A String&quot;, # Promotion start time in ISO 8601 format. Date, time, and offset required, e.g., &quot;2020-01-02T09:00:00+01:00&quot; or &quot;2020-01-02T09:00:00Z&quot;.
-          &quot;shortTitle&quot;: &quot;A String&quot;, # A short title of the promotion to be shown on the checkout page. Do not provide for `orders.createtestorder`.
-          &quot;taxValue&quot;: { # Estimated discount applied to tax (if allowed by law). Do not provide for `orders.createtestorder`.
-            &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
-            &quot;currency&quot;: &quot;A String&quot;, # The currency of the price.
-          },
-          &quot;title&quot;: &quot;A String&quot;, # Required. The title of the promotion.
-          &quot;merchantPromotionId&quot;: &quot;A String&quot;, # Required. This field is used to identify promotions within merchants&#x27; own systems.
-          &quot;priceValue&quot;: { # Estimated discount applied to price. Amount is pre-tax or post-tax depending on location of order.
-            &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
-            &quot;currency&quot;: &quot;A String&quot;, # The currency of the price.
-          },
-          &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;quantity&quot;: 42, # The quantity of the associated product. Do not provide for `orders.createtestorder`.
-              &quot;offerId&quot;: &quot;A String&quot;, # Required. Offer ID of a product. Only for `orders.createtestorder`.
-              &quot;productId&quot;: &quot;A String&quot;, # `orders.createtestorder`.
-            },
-          ],
-        },
-      ],
-      &quot;kind&quot;: &quot;A String&quot;, # Identifies what kind of resource this is. Value: the fixed string &quot;`content#order`&quot;
-      &quot;netTaxAmount&quot;: { # The net amount for the order (tax part). Note that in certain cases due to taxable base adjustment `netTaxAmount` might not match to a sum of tax field across all lineItems and refunds.
-        &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
-        &quot;currency&quot;: &quot;A String&quot;, # The currency of the price.
-      },
-      &quot;annotations&quot;: [ # List of key-value pairs that are attached to a given order.
-        {
-          &quot;value&quot;: &quot;A String&quot;, # Value for additional google provided (as key-value pairs) annotation.
-          &quot;key&quot;: &quot;A String&quot;, # Key for additional google provided (as key-value pairs) annotation.
-        },
-      ],
-      &quot;placedDate&quot;: &quot;A String&quot;, # The date when the order was placed, in ISO 8601 format.
-      &quot;shipments&quot;: [ # Shipments of the order.
-        {
-          &quot;creationDate&quot;: &quot;A String&quot;, # Date on which the shipment has been created, in ISO 8601 format.
-          &quot;scheduledDeliveryDetails&quot;: { # Delivery details of the shipment if scheduling is needed.
-            &quot;scheduledDate&quot;: &quot;A String&quot;, # The date a shipment is scheduled for delivery, in ISO 8601 format.
-            &quot;carrierPhoneNumber&quot;: &quot;A String&quot;, # The phone number of the carrier fulfilling the delivery. The phone number is formatted as the international notation in ITU-T Recommendation E.123 (e.g., &quot;+41 44 668 1800&quot;).
-          },
-          &quot;id&quot;: &quot;A String&quot;, # The ID of the shipment.
-          &quot;lineItems&quot;: [ # The line items that are shipped.
-            {
-              &quot;quantity&quot;: 42, # The quantity that is shipped.
-              &quot;lineItemId&quot;: &quot;A String&quot;, # The ID of the line item that is shipped. This value is assigned by Google when an order is created. Either lineItemId or productId is required.
-              &quot;productId&quot;: &quot;A String&quot;, # The ID of the product to ship. This is the REST ID used in the products service. Either lineItemId or productId is required.
-            },
-          ],
-          &quot;trackingId&quot;: &quot;A String&quot;, # The tracking ID for the shipment.
-          &quot;carrier&quot;: &quot;A String&quot;, # The carrier handling the shipment. For supported carriers, Google includes the carrier name and tracking URL in emails to customers. For select supported carriers, Google also automatically updates the shipment status based on the provided shipment ID. *Note:* You can also use unsupported carriers, but emails to customers will not include the carrier name or tracking URL, and there will be no automatic order status updates. Supported carriers for US are: - &quot;`ups`&quot; (United Parcel Service) *automatic status updates* - &quot;`usps`&quot; (United States Postal Service) *automatic status updates* - &quot;`fedex`&quot; (FedEx) *automatic status updates * - &quot;`dhl`&quot; (DHL eCommerce) *automatic status updates* (US only) - &quot;`ontrac`&quot; (OnTrac) *automatic status updates * - &quot;`dhl express`&quot; (DHL Express) - &quot;`deliv`&quot; (Deliv) - &quot;`dynamex`&quot; (TForce) - &quot;`lasership`&quot; (LaserShip) - &quot;`mpx`&quot; (Military Parcel Xpress) - &quot;`uds`&quot; (United Delivery Service) - &quot;`efw`&quot; (Estes Forwarding Worldwide) - &quot;`jd logistics`&quot; (JD Logistics) - &quot;`yunexpress`&quot; (YunExpress) - &quot;`china post`&quot; (China Post) - &quot;`china ems`&quot; (China Post Express Mail Service) - &quot;`singapore post`&quot; (Singapore Post) - &quot;`pos malaysia`&quot; (Pos Malaysia) - &quot;`postnl`&quot; (PostNL) - &quot;`ptt`&quot; (PTT Turkish Post) - &quot;`eub`&quot; (ePacket) - &quot;`chukou1`&quot; (Chukou1 Logistics) - &quot;`bestex`&quot; (Best Express) - &quot;`canada post`&quot; (Canada Post) - &quot;`purolator`&quot; (Purolator) - &quot;`canpar`&quot; (Canpar) - &quot;`india post`&quot; (India Post) - &quot;`blue dart`&quot; (Blue Dart) - &quot;`delhivery`&quot; (Delhivery) - &quot;`dtdc`&quot; (DTDC) - &quot;`tpc india`&quot; (TPC India) Supported carriers for FR are: - &quot;`la poste`&quot; (La Poste) *automatic status updates * - &quot;`colissimo`&quot; (Colissimo by La Poste) *automatic status updates* - &quot;`ups`&quot; (United Parcel Service) *automatic status updates * - &quot;`chronopost`&quot; (Chronopost by La Poste) - &quot;`gls`&quot; (General Logistics Systems France) - &quot;`dpd`&quot; (DPD Group by GeoPost) - &quot;`bpost`&quot; (Belgian Post Group) - &quot;`colis prive`&quot; (Colis Privé) - &quot;`boxtal`&quot; (Boxtal) - &quot;`geodis`&quot; (GEODIS) - &quot;`tnt`&quot; (TNT) - &quot;`db schenker`&quot; (DB Schenker) - &quot;`aramex`&quot; (Aramex)
-          &quot;deliveryDate&quot;: &quot;A String&quot;, # Date on which the shipment has been delivered, in ISO 8601 format. Present only if `status` is `delivered`
-          &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. Acceptable values are: - &quot;`delivered`&quot; - &quot;`readyForPickup`&quot; - &quot;`shipped`&quot; - &quot;`undeliverable`&quot;
-        },
-      ],
-      &quot;id&quot;: &quot;A String&quot;, # The REST ID of the order. Globally unique.
-      &quot;refunds&quot;: [ # Refunds for the order.
-        {
-          &quot;amount&quot;: { # The amount that is refunded.
-            &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
-            &quot;currency&quot;: &quot;A String&quot;, # The currency of the price.
-          },
-          &quot;actor&quot;: &quot;A String&quot;, # The actor that created the refund. Acceptable values are: - &quot;`customer`&quot; - &quot;`googleBot`&quot; - &quot;`googleCustomerService`&quot; - &quot;`googlePayments`&quot; - &quot;`googleSabre`&quot; - &quot;`merchant`&quot;
-          &quot;reasonText&quot;: &quot;A String&quot;, # The explanation of the reason.
-          &quot;reason&quot;: &quot;A String&quot;, # The reason for the refund. Acceptable values are: - &quot;`adjustment`&quot; - &quot;`autoPostInternal`&quot; - &quot;`autoPostInvalidBillingAddress`&quot; - &quot;`autoPostNoInventory`&quot; - &quot;`autoPostPriceError`&quot; - &quot;`autoPostUndeliverableShippingAddress`&quot; - &quot;`couponAbuse`&quot; - &quot;`courtesyAdjustment`&quot; - &quot;`customerCanceled`&quot; - &quot;`customerDiscretionaryReturn`&quot; - &quot;`customerInitiatedMerchantCancel`&quot; - &quot;`customerSupportRequested`&quot; - &quot;`deliveredLateByCarrier`&quot; - &quot;`deliveredTooLate`&quot; - &quot;`expiredItem`&quot; - &quot;`failToPushOrderGoogleError`&quot; - &quot;`failToPushOrderMerchantError`&quot; - &quot;`failToPushOrderMerchantFulfillmentError`&quot; - &quot;`failToPushOrderToMerchant`&quot; - &quot;`failToPushOrderToMerchantOutOfStock`&quot; - &quot;`feeAdjustment`&quot; - &quot;`invalidCoupon`&quot; - &quot;`lateShipmentCredit`&quot; - &quot;`malformedShippingAddress`&quot; - &quot;`merchantDidNotShipOnTime`&quot; - &quot;`noInventory`&quot; - &quot;`orderTimeout`&quot; - &quot;`other`&quot; - &quot;`paymentAbuse`&quot; - &quot;`paymentDeclined`&quot; - &quot;`priceAdjustment`&quot; - &quot;`priceError`&quot; - &quot;`productArrivedDamaged`&quot; - &quot;`productNotAsDescribed`&quot; - &quot;`promoReallocation`&quot; - &quot;`qualityNotAsExpected`&quot; - &quot;`returnRefundAbuse`&quot; - &quot;`shippingCostAdjustment`&quot; - &quot;`shippingPriceError`&quot; - &quot;`taxAdjustment`&quot; - &quot;`taxError`&quot; - &quot;`undeliverableShippingAddress`&quot; - &quot;`unsupportedPoBoxAddress`&quot; - &quot;`wrongProductShipped`&quot;
-          &quot;creationDate&quot;: &quot;A String&quot;, # Date on which the item has been created, in ISO 8601 format.
-        },
-      ],
-      &quot;status&quot;: &quot;A String&quot;, # The status of the order. Acceptable values are: - &quot;`canceled`&quot; - &quot;`delivered`&quot; - &quot;`inProgress`&quot; - &quot;`partiallyDelivered`&quot; - &quot;`partiallyReturned`&quot; - &quot;`partiallyShipped`&quot; - &quot;`pendingShipment`&quot; - &quot;`returned`&quot; - &quot;`shipped`&quot;
-      &quot;merchantOrderId&quot;: &quot;A String&quot;, # Merchant-provided ID of the order.
-      &quot;deliveryDetails&quot;: { # Delivery details for shipments of type `delivery`.
-        &quot;address&quot;: { # The delivery address
-          &quot;recipientName&quot;: &quot;A String&quot;, # Name of the recipient.
-          &quot;country&quot;: &quot;A String&quot;, # CLDR country code (e.g. &quot;US&quot;).
-          &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;isPostOfficeBox&quot;: True or False, # Whether the address is a post office box.
-          &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;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;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;shippingCostTax&quot;: { # The tax for the total shipping cost.
-        &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
         &quot;currency&quot;: &quot;A String&quot;, # The currency of the price.
-      },
-      &quot;paymentStatus&quot;: &quot;A String&quot;, # The status of the payment. Acceptable values are: - &quot;`paymentCaptured`&quot; - &quot;`paymentRejected`&quot; - &quot;`paymentSecured`&quot; - &quot;`pendingAuthorization`&quot;
-      &quot;customer&quot;: { # The details of the customer who placed the order.
-        &quot;loyaltyInfo&quot;: { # Loyalty program information.
-          &quot;loyaltyNumber&quot;: &quot;A String&quot;, # The loyalty card/membership number.
-          &quot;name&quot;: &quot;A String&quot;, # Name of card/membership holder, this field will be populated when
-        },
-        &quot;fullName&quot;: &quot;A String&quot;, # Full name of the customer.
-        &quot;invoiceReceivingEmail&quot;: &quot;A String&quot;, # Email address for the merchant to send value-added tax or invoice documentation of the order. Only the last document sent is made available to the customer. For more information, see About automated VAT invoicing for Buy on Google.
-        &quot;marketingRightsInfo&quot;: { # Customer&#x27;s marketing preferences. Contains the marketing opt-in information that is current at the time that the merchant call. User preference selections can change from one order to the next so preferences must be checked with every order.
-          &quot;lastUpdatedTimestamp&quot;: &quot;A String&quot;, # Timestamp when last time marketing preference was updated. Could be empty, if user wasn&#x27;t offered a selection yet.
-          &quot;explicitMarketingPreference&quot;: &quot;A String&quot;, # Last known customer selection regarding marketing preferences. In certain cases this selection might not be known, so this field would be empty. If a customer selected `granted` in their most recent order, they can be subscribed to marketing emails. Customers who have chosen `denied` must not be subscribed, or must be unsubscribed if already opted-in. Acceptable values are: - &quot;`denied`&quot; - &quot;`granted`&quot;
-          &quot;marketingEmailAddress&quot;: &quot;A String&quot;, # Email address that can be used for marketing purposes. The field may be empty even if `explicitMarketingPreference` is &#x27;granted&#x27;. This happens when retrieving an old order from the customer who deleted their account.
-        },
-      },
-      &quot;shippingCost&quot;: { # The total cost of shipping for all items.
         &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
-        &quot;currency&quot;: &quot;A String&quot;, # The currency of the price.
       },
-      &quot;pickupDetails&quot;: { # Pickup details for shipments of type `pickup`.
-        &quot;address&quot;: { # Address of the pickup location where the shipment should be sent. Note that `recipientName` in the address is the name of the business at the pickup location.
-          &quot;recipientName&quot;: &quot;A String&quot;, # Name of the recipient.
-          &quot;country&quot;: &quot;A String&quot;, # CLDR country code (e.g. &quot;US&quot;).
-          &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;isPostOfficeBox&quot;: True or False, # Whether the address is a post office box.
-          &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;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;streetAddress&quot;: [ # Street-level part of the address.
-            &quot;A String&quot;,
-          ],
-        },
-        &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;collectors&quot;: [ # Collectors authorized to pick up shipment from the pickup location.
-          {
-            &quot;phoneNumber&quot;: &quot;A String&quot;, # Phone number of the person picking up the shipment.
-            &quot;name&quot;: &quot;A String&quot;, # Name of the person picking up the shipment.
-          },
-        ],
-      },
-      &quot;billingAddress&quot;: { # The billing address.
-        &quot;recipientName&quot;: &quot;A String&quot;, # Name of the recipient.
-        &quot;country&quot;: &quot;A String&quot;, # CLDR country code (e.g. &quot;US&quot;).
-        &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;isPostOfficeBox&quot;: True or False, # Whether the address is a post office box.
-        &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;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;streetAddress&quot;: [ # Street-level part of the address.
-          &quot;A String&quot;,
-        ],
-      },
+      &quot;taxCollector&quot;: &quot;A String&quot;, # The party responsible for collecting and remitting taxes. Acceptable values are: - &quot;`marketplaceFacilitator`&quot; - &quot;`merchant`&quot;
+      &quot;acknowledged&quot;: True or False, # Whether the order was acknowledged.
     },
     &quot;kind&quot;: &quot;A String&quot;, # Identifies what kind of resource this is. Value: the fixed string &quot;content#ordersGetByMerchantOrderIdResponse&quot;.
   }</pre>
@@ -1111,151 +1111,151 @@
   An object of the form:
 
     {
+    &quot;kind&quot;: &quot;A String&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;lineItems&quot;: [ # Required. Line items that are ordered. At least one line item must be provided.
-        {
-          &quot;returnInfo&quot;: { # Required. Details of the return policy for the line item.
-            &quot;daysToReturn&quot;: 42, # Required. How many days later the item can be returned.
-            &quot;isReturnable&quot;: True or False, # Required. Whether the item is returnable.
-            &quot;policyUrl&quot;: &quot;A String&quot;, # Required. URL of the item return policy.
-          },
-          &quot;product&quot;: { # Required. Product data from the time of the order placement.
-            &quot;brand&quot;: &quot;A String&quot;, # Required. Brand of the item.
-            &quot;mpn&quot;: &quot;A String&quot;, # Manufacturer Part Number (MPN) of the item. Optional.
-            &quot;targetCountry&quot;: &quot;A String&quot;, # Required. The CLDR territory // code of the target country of the product.
-            &quot;contentLanguage&quot;: &quot;A String&quot;, # Required. The two-letter ISO 639-1 language code for the item. Acceptable values are: - &quot;`en`&quot; - &quot;`fr`&quot;
-            &quot;itemGroupId&quot;: &quot;A String&quot;, # Shared identifier for all variants of the same product. Optional.
-            &quot;gtin&quot;: &quot;A String&quot;, # Global Trade Item Number (GTIN) of the item. Optional.
-            &quot;title&quot;: &quot;A String&quot;, # Required. The title of the product.
-            &quot;offerId&quot;: &quot;A String&quot;, # Required. An identifier of the item.
-            &quot;condition&quot;: &quot;A String&quot;, # Required. Condition or state of the item. Acceptable values are: - &quot;`new`&quot;
-            &quot;fees&quot;: [ # Fees for the item. Optional.
-              {
-                &quot;amount&quot;: { # Amount of the fee.
-                  &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
-                  &quot;currency&quot;: &quot;A String&quot;, # The currency of the price.
-                },
-                &quot;name&quot;: &quot;A String&quot;, # Name of the fee.
-              },
-            ],
-            &quot;variantAttributes&quot;: [ # Variant attributes for the item. Optional.
-              {
-                &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the variant.
-                &quot;value&quot;: &quot;A String&quot;, # The value for the dimension.
-              },
-            ],
-            &quot;imageLink&quot;: &quot;A String&quot;, # Required. URL of an image of the item.
-            &quot;price&quot;: { # Required. The price for the product. Tax is automatically calculated for orders where marketplace facilitator tax laws are applicable. Otherwise, tax settings from Merchant Center are applied.
-              &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
-              &quot;currency&quot;: &quot;A String&quot;, # The currency of the price.
-            },
-          },
-          &quot;shippingDetails&quot;: { # Required. Details of the requested shipping for the line item.
-            &quot;shipByDate&quot;: &quot;A String&quot;, # Required. The ship by date, in ISO 8601 format.
-            &quot;deliverByDate&quot;: &quot;A String&quot;, # Required. The delivery 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. Acceptable values are: - &quot;`delivery`&quot; - &quot;`pickup`&quot;
-            &quot;method&quot;: { # Required. Details of the shipping method.
-              &quot;carrier&quot;: &quot;A String&quot;, # The carrier for the shipping. Optional. See `shipments[].carrier` for a list of acceptable values.
-              &quot;methodName&quot;: &quot;A String&quot;, # Required. The name of the shipping method.
-              &quot;minDaysInTransit&quot;: 42, # Required. Minimum transit time.
-              &quot;maxDaysInTransit&quot;: 42, # Required. Maximum 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;quantityOrdered&quot;: 42, # Required. Number of items ordered.
-        },
-      ],
-      &quot;promotions&quot;: [ # Promotions associated with the order.
-        {
-          &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;quantity&quot;: 42, # The quantity of the associated product. Do not provide for `orders.createtestorder`.
-              &quot;offerId&quot;: &quot;A String&quot;, # Required. Offer ID of a product. Only for `orders.createtestorder`.
-              &quot;productId&quot;: &quot;A String&quot;, # `orders.createtestorder`.
-            },
-          ],
-          &quot;funder&quot;: &quot;A String&quot;, # Required. The party funding the promotion. Only `merchant` is supported for `orders.createtestorder`. Acceptable values are: - &quot;`google`&quot; - &quot;`merchant`&quot;
-          &quot;subtype&quot;: &quot;A String&quot;, # Required. The category of the promotion. Only `moneyOff` is supported for `orders.createtestorder`. Acceptable values are: - &quot;`buyMGetMoneyOff`&quot; - &quot;`buyMGetNMoneyOff`&quot; - &quot;`buyMGetNPercentOff`&quot; - &quot;`buyMGetPercentOff`&quot; - &quot;`freeGift`&quot; - &quot;`freeGiftWithItemId`&quot; - &quot;`freeGiftWithValue`&quot; - &quot;`freeShippingOvernight`&quot; - &quot;`freeShippingStandard`&quot; - &quot;`freeShippingTwoDay`&quot; - &quot;`moneyOff`&quot; - &quot;`percentOff`&quot; - &quot;`rewardPoints`&quot; - &quot;`salePrice`&quot;
-          &quot;type&quot;: &quot;A String&quot;, # Required. The scope of the promotion. Only `product` is supported for `orders.createtestorder`. Acceptable values are: - &quot;`product`&quot; - &quot;`shipping`&quot;
-          &quot;endTime&quot;: &quot;A String&quot;, # Promotion end time in ISO 8601 format. Date, time, and offset required, e.g., &quot;2020-01-02T09:00:00+01:00&quot; or &quot;2020-01-02T09:00:00Z&quot;.
-          &quot;startTime&quot;: &quot;A String&quot;, # Promotion start time in ISO 8601 format. Date, time, and offset required, e.g., &quot;2020-01-02T09:00:00+01:00&quot; or &quot;2020-01-02T09:00:00Z&quot;.
-          &quot;shortTitle&quot;: &quot;A String&quot;, # A short title of the promotion to be shown on the checkout page. Do not provide for `orders.createtestorder`.
-          &quot;taxValue&quot;: { # Estimated discount applied to tax (if allowed by law). Do not provide for `orders.createtestorder`.
-            &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
-            &quot;currency&quot;: &quot;A String&quot;, # The currency of the price.
-          },
-          &quot;title&quot;: &quot;A String&quot;, # Required. The title of the promotion.
-          &quot;merchantPromotionId&quot;: &quot;A String&quot;, # Required. This field is used to identify promotions within merchants&#x27; own systems.
-          &quot;priceValue&quot;: { # Estimated discount applied to price. Amount is pre-tax or post-tax depending on location of order.
-            &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
-            &quot;currency&quot;: &quot;A String&quot;, # The currency of the price.
-          },
-          &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;quantity&quot;: 42, # The quantity of the associated product. Do not provide for `orders.createtestorder`.
-              &quot;offerId&quot;: &quot;A String&quot;, # Required. Offer ID of a product. Only for `orders.createtestorder`.
-              &quot;productId&quot;: &quot;A String&quot;, # `orders.createtestorder`.
-            },
-          ],
-        },
-      ],
-      &quot;shippingOption&quot;: &quot;A String&quot;, # Required. The requested shipping option. Acceptable values are: - &quot;`economy`&quot; - &quot;`expedited`&quot; - &quot;`oneDay`&quot; - &quot;`sameDay`&quot; - &quot;`standard`&quot; - &quot;`twoDay`&quot;
       &quot;enableOrderinvoices&quot;: True or False, # Whether the orderinvoices service should support this order.
+      &quot;predefinedPickupDetails&quot;: &quot;A String&quot;, # Identifier of one of the predefined pickup details. Required for orders containing line items with shipping type `pickup`. Acceptable values are: - &quot;`dwight`&quot; - &quot;`jim`&quot; - &quot;`pam`&quot;
+      &quot;notificationMode&quot;: &quot;A String&quot;, # Restricted. Do not use.
+      &quot;predefinedEmail&quot;: &quot;A String&quot;, # Required. Email address of the customer. Acceptable values are: - &quot;`pog.dwight.schrute@gmail.com`&quot; - &quot;`pog.jim.halpert@gmail.com`&quot; - &quot;`penpog.pam.beesly@gmail.comding`&quot;
       &quot;pickupDetails&quot;: { # Overrides the predefined pickup details if provided.
+        &quot;pickupLocationAddress&quot;: { # Required. Pickup location address.
+          &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;postalCode&quot;: &quot;A String&quot;, # Postal Code or ZIP (e.g. &quot;94043&quot;).
+          &quot;locality&quot;: &quot;A String&quot;, # City, town or commune. May also include dependent localities or sublocalities (e.g. neighborhoods or suburbs).
+          &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;recipientName&quot;: &quot;A String&quot;, # Name of the recipient.
+          &quot;streetAddress&quot;: [ # Street-level part of the address.
+            &quot;A String&quot;,
+          ],
+          &quot;country&quot;: &quot;A String&quot;, # CLDR country code (e.g. &quot;US&quot;).
+          &quot;isPostOfficeBox&quot;: True or False, # Whether the address is a post office box.
+        },
         &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;pickupLocationAddress&quot;: { # Required. Pickup location address.
-          &quot;locality&quot;: &quot;A String&quot;, # City, town or commune. May also include dependent localities or sublocalities (e.g. neighborhoods or suburbs).
-          &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;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;streetAddress&quot;: [ # Street-level part of the address.
-            &quot;A String&quot;,
-          ],
-          &quot;country&quot;: &quot;A String&quot;, # CLDR country code (e.g. &quot;US&quot;).
-          &quot;isPostOfficeBox&quot;: True or False, # Whether the address is a post office box.
-          &quot;postalCode&quot;: &quot;A String&quot;, # Postal Code or ZIP (e.g. &quot;94043&quot;).
-        },
-        &quot;locationCode&quot;: &quot;A String&quot;, # Required. Code of the location defined by provider or merchant.
         &quot;pickupLocationType&quot;: &quot;A String&quot;, # Pickup location type. Acceptable values are: - &quot;`locker`&quot; - &quot;`store`&quot; - &quot;`curbside`&quot;
+        &quot;locationCode&quot;: &quot;A String&quot;, # Required. Code of the location defined by provider or merchant.
       },
-      &quot;predefinedEmail&quot;: &quot;A String&quot;, # Required. Email address of the customer. Acceptable values are: - &quot;`pog.dwight.schrute@gmail.com`&quot; - &quot;`pog.jim.halpert@gmail.com`&quot; - &quot;`penpog.pam.beesly@gmail.comding`&quot;
-      &quot;predefinedDeliveryAddress&quot;: &quot;A String&quot;, # Required. Identifier of one of the predefined delivery addresses for the delivery. Acceptable values are: - &quot;`dwight`&quot; - &quot;`jim`&quot; - &quot;`pam`&quot;
-      &quot;shippingCost&quot;: { # Required. The price of shipping for all items. Shipping tax is automatically calculated for orders where marketplace facilitator tax laws are applicable. Otherwise, tax settings from Merchant Center are applied. Note that shipping is not taxed in certain states.
-        &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
-        &quot;currency&quot;: &quot;A String&quot;, # The currency of the price.
-      },
-      &quot;notificationMode&quot;: &quot;A String&quot;, # Restricted. Do not use.
-      &quot;predefinedBillingAddress&quot;: &quot;A String&quot;, # Required. The billing address. Acceptable values are: - &quot;`dwight`&quot; - &quot;`jim`&quot; - &quot;`pam`&quot;
-      &quot;kind&quot;: &quot;A String&quot;, # Identifies what kind of resource this is. Value: the fixed string &quot;`content#testOrder`&quot;
-      &quot;predefinedPickupDetails&quot;: &quot;A String&quot;, # Identifier of one of the predefined pickup details. Required for orders containing line items with shipping type `pickup`. Acceptable values are: - &quot;`dwight`&quot; - &quot;`jim`&quot; - &quot;`pam`&quot;
       &quot;deliveryDetails&quot;: { # Overrides the predefined delivery details if provided.
         &quot;address&quot;: { # The delivery address
-          &quot;locality&quot;: &quot;A String&quot;, # City, town or commune. May also include dependent localities or sublocalities (e.g. neighborhoods or suburbs).
-          &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;postalCode&quot;: &quot;A String&quot;, # Postal Code or ZIP (e.g. &quot;94043&quot;).
+          &quot;locality&quot;: &quot;A String&quot;, # City, town or commune. May also include dependent localities or sublocalities (e.g. neighborhoods or suburbs).
           &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;recipientName&quot;: &quot;A String&quot;, # Name of the recipient.
           &quot;streetAddress&quot;: [ # Street-level part of the address.
             &quot;A String&quot;,
           ],
           &quot;country&quot;: &quot;A String&quot;, # CLDR country code (e.g. &quot;US&quot;).
           &quot;isPostOfficeBox&quot;: True or False, # Whether the address is a post office box.
-          &quot;postalCode&quot;: &quot;A String&quot;, # Postal Code or ZIP (e.g. &quot;94043&quot;).
         },
         &quot;phoneNumber&quot;: &quot;A String&quot;, # The phone number of the person receiving the delivery.
       },
+      &quot;promotions&quot;: [ # Promotions associated with the order.
+        {
+          &quot;priceValue&quot;: { # Estimated discount applied to price. Amount is pre-tax or post-tax depending on location of order.
+            &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;shortTitle&quot;: &quot;A String&quot;, # A short title of the promotion to be shown on the checkout page. Do not provide for `orders.createtestorder`.
+          &quot;endTime&quot;: &quot;A String&quot;, # Promotion end time in ISO 8601 format. Date, time, and offset required, e.g., &quot;2020-01-02T09:00:00+01:00&quot; or &quot;2020-01-02T09:00:00Z&quot;.
+          &quot;taxValue&quot;: { # Estimated discount applied to tax (if allowed by law). Do not provide for `orders.createtestorder`.
+            &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;title&quot;: &quot;A String&quot;, # Required. The title of the promotion.
+          &quot;merchantPromotionId&quot;: &quot;A String&quot;, # Required. This field is used to identify promotions within merchants&#x27; own systems.
+          &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;quantity&quot;: 42, # The quantity of the associated product. Do not provide for `orders.createtestorder`.
+              &quot;productId&quot;: &quot;A String&quot;, # `orders.createtestorder`.
+              &quot;offerId&quot;: &quot;A String&quot;, # Required. Offer ID of a product. Only for `orders.createtestorder`.
+            },
+          ],
+          &quot;funder&quot;: &quot;A String&quot;, # Required. The party funding the promotion. Only `merchant` is supported for `orders.createtestorder`. Acceptable values are: - &quot;`google`&quot; - &quot;`merchant`&quot;
+          &quot;startTime&quot;: &quot;A String&quot;, # Promotion start time in ISO 8601 format. Date, time, and offset required, e.g., &quot;2020-01-02T09:00:00+01:00&quot; or &quot;2020-01-02T09:00:00Z&quot;.
+          &quot;type&quot;: &quot;A String&quot;, # Required. The scope of the promotion. Only `product` is supported for `orders.createtestorder`. Acceptable values are: - &quot;`product`&quot; - &quot;`shipping`&quot;
+          &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;quantity&quot;: 42, # The quantity of the associated product. Do not provide for `orders.createtestorder`.
+              &quot;productId&quot;: &quot;A String&quot;, # `orders.createtestorder`.
+              &quot;offerId&quot;: &quot;A String&quot;, # Required. Offer ID of a product. Only for `orders.createtestorder`.
+            },
+          ],
+          &quot;subtype&quot;: &quot;A String&quot;, # Required. The category of the promotion. Only `moneyOff` is supported for `orders.createtestorder`. Acceptable values are: - &quot;`buyMGetMoneyOff`&quot; - &quot;`buyMGetNMoneyOff`&quot; - &quot;`buyMGetNPercentOff`&quot; - &quot;`buyMGetPercentOff`&quot; - &quot;`freeGift`&quot; - &quot;`freeGiftWithItemId`&quot; - &quot;`freeGiftWithValue`&quot; - &quot;`freeShippingOvernight`&quot; - &quot;`freeShippingStandard`&quot; - &quot;`freeShippingTwoDay`&quot; - &quot;`moneyOff`&quot; - &quot;`percentOff`&quot; - &quot;`rewardPoints`&quot; - &quot;`salePrice`&quot;
+        },
+      ],
+      &quot;shippingCost&quot;: { # Required. The price of shipping for all items. Shipping tax is automatically calculated for orders where marketplace facilitator tax laws are applicable. Otherwise, tax settings from Merchant Center are applied. Note that shipping is not taxed in certain states.
+        &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;predefinedBillingAddress&quot;: &quot;A String&quot;, # Required. The billing address. Acceptable values are: - &quot;`dwight`&quot; - &quot;`jim`&quot; - &quot;`pam`&quot;
+      &quot;kind&quot;: &quot;A String&quot;, # Identifies what kind of resource this is. Value: the fixed string &quot;`content#testOrder`&quot;
+      &quot;shippingOption&quot;: &quot;A String&quot;, # Required. The requested shipping option. Acceptable values are: - &quot;`economy`&quot; - &quot;`expedited`&quot; - &quot;`oneDay`&quot; - &quot;`sameDay`&quot; - &quot;`standard`&quot; - &quot;`twoDay`&quot;
+      &quot;predefinedDeliveryAddress&quot;: &quot;A String&quot;, # Required. Identifier of one of the predefined delivery addresses for the delivery. Acceptable values are: - &quot;`dwight`&quot; - &quot;`jim`&quot; - &quot;`pam`&quot;
+      &quot;lineItems&quot;: [ # Required. Line items that are ordered. At least one line item must be provided.
+        {
+          &quot;product&quot;: { # Required. Product data from the time of the order placement.
+            &quot;contentLanguage&quot;: &quot;A String&quot;, # Required. The two-letter ISO 639-1 language code for the item. Acceptable values are: - &quot;`en`&quot; - &quot;`fr`&quot;
+            &quot;mpn&quot;: &quot;A String&quot;, # Manufacturer Part Number (MPN) of the item. Optional.
+            &quot;title&quot;: &quot;A String&quot;, # Required. The title of the product.
+            &quot;price&quot;: { # Required. The price for the product. Tax is automatically calculated for orders where marketplace facilitator tax laws are applicable. Otherwise, tax settings from Merchant Center are applied.
+              &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;itemGroupId&quot;: &quot;A String&quot;, # Shared identifier for all variants of the same product. Optional.
+            &quot;condition&quot;: &quot;A String&quot;, # Required. Condition or state of the item. Acceptable values are: - &quot;`new`&quot;
+            &quot;variantAttributes&quot;: [ # Variant attributes for the item. Optional.
+              {
+                &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the variant.
+                &quot;value&quot;: &quot;A String&quot;, # The value for the dimension.
+              },
+            ],
+            &quot;offerId&quot;: &quot;A String&quot;, # Required. An identifier of the item.
+            &quot;brand&quot;: &quot;A String&quot;, # Required. Brand of the item.
+            &quot;gtin&quot;: &quot;A String&quot;, # Global Trade Item Number (GTIN) of the item. Optional.
+            &quot;imageLink&quot;: &quot;A String&quot;, # Required. URL of an image of the item.
+            &quot;fees&quot;: [ # Fees for the item. Optional.
+              {
+                &quot;amount&quot;: { # Amount of the fee.
+                  &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;name&quot;: &quot;A String&quot;, # Name of the fee.
+              },
+            ],
+            &quot;targetCountry&quot;: &quot;A String&quot;, # Required. The CLDR territory // code of the target country of the product.
+          },
+          &quot;quantityOrdered&quot;: 42, # Required. Number of items ordered.
+          &quot;returnInfo&quot;: { # Required. Details of the return policy for the line item.
+            &quot;isReturnable&quot;: True or False, # Required. Whether the item is returnable.
+            &quot;daysToReturn&quot;: 42, # Required. How many days later the item can be returned.
+            &quot;policyUrl&quot;: &quot;A String&quot;, # Required. URL of the item return policy.
+          },
+          &quot;shippingDetails&quot;: { # Required. Details of the requested shipping for the line item.
+            &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. Acceptable values are: - &quot;`delivery`&quot; - &quot;`pickup`&quot;
+            &quot;method&quot;: { # Required. Details of the shipping method.
+              &quot;carrier&quot;: &quot;A String&quot;, # The carrier for the shipping. Optional. See `shipments[].carrier` for a list of acceptable values.
+              &quot;methodName&quot;: &quot;A String&quot;, # Required. The name of the shipping method.
+              &quot;maxDaysInTransit&quot;: 42, # Required. Maximum transit time.
+              &quot;minDaysInTransit&quot;: 42, # Required. Minimum transit time.
+            },
+            &quot;deliverByDate&quot;: &quot;A String&quot;, # Required. The delivery by date, in ISO 8601 format.
+            &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;kind&quot;: &quot;A String&quot;, # Identifies what kind of resource this is. Value: the fixed string &quot;content#ordersGetTestOrderTemplateResponse&quot;.
   }</pre>
 </div>
 
@@ -1270,20 +1270,20 @@
     The object takes the form of:
 
 {
-    &quot;productId&quot;: &quot;A String&quot;, # The ID of the product to return. This is the REST ID used in the products service. Either lineItemId or productId is required.
-    &quot;operationId&quot;: &quot;A String&quot;, # The ID of the operation. Unique across all operations for a given order.
-    &quot;quantity&quot;: 42, # The quantity to return and refund.
-    &quot;lineItemId&quot;: &quot;A String&quot;, # The ID of the line item to return. Either lineItemId or productId is required.
-    &quot;taxAmount&quot;: { # The amount of tax to be refunded. Required.
-      &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
-      &quot;currency&quot;: &quot;A String&quot;, # The currency of the price.
-    },
     &quot;reason&quot;: &quot;A String&quot;, # The reason for the return. Acceptable values are: - &quot;`customerDiscretionaryReturn`&quot; - &quot;`customerInitiatedMerchantCancel`&quot; - &quot;`deliveredTooLate`&quot; - &quot;`expiredItem`&quot; - &quot;`invalidCoupon`&quot; - &quot;`malformedShippingAddress`&quot; - &quot;`other`&quot; - &quot;`productArrivedDamaged`&quot; - &quot;`productNotAsDescribed`&quot; - &quot;`qualityNotAsExpected`&quot; - &quot;`undeliverableShippingAddress`&quot; - &quot;`unsupportedPoBoxAddress`&quot; - &quot;`wrongProductShipped`&quot;
-    &quot;reasonText&quot;: &quot;A String&quot;, # The explanation of the reason.
     &quot;priceAmount&quot;: { # The amount to be refunded. This may be pre-tax or post-tax depending on the location of the order. Required.
-      &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
       &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;: { # The amount of tax to be refunded. Required.
+      &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;productId&quot;: &quot;A String&quot;, # The ID of the product to return. This is the REST ID used in the products service. Either lineItemId or productId is required.
+    &quot;lineItemId&quot;: &quot;A String&quot;, # The ID of the line item to return. Either lineItemId or productId is required.
+    &quot;operationId&quot;: &quot;A String&quot;, # The ID of the operation. Unique across all operations for a given order.
+    &quot;reasonText&quot;: &quot;A String&quot;, # The explanation of the reason.
+    &quot;quantity&quot;: 42, # The quantity to return and refund.
   }
 
   x__xgafv: string, V1 error format.
@@ -1301,17 +1301,17 @@
 </div>
 
 <div class="method">
-    <code class="details" id="list">list(merchantId, placedDateStart=None, orderBy=None, placedDateEnd=None, maxResults=None, acknowledged=None, pageToken=None, statuses=None, x__xgafv=None)</code>
+    <code class="details" id="list">list(merchantId, maxResults=None, acknowledged=None, orderBy=None, pageToken=None, placedDateEnd=None, placedDateStart=None, statuses=None, x__xgafv=None)</code>
   <pre>Lists the orders in your Merchant Center account.
 
 Args:
   merchantId: string, The ID of the account that manages the order. This cannot be a multi-client account. (required)
-  placedDateStart: string, Obtains orders placed after this date (inclusively), in ISO 8601 format.
-  orderBy: string, Order results by placement date in descending or ascending order. Acceptable values are: - placedDateAsc - placedDateDesc 
-  placedDateEnd: string, Obtains orders placed before this date (exclusively), in ISO 8601 format.
   maxResults: integer, The maximum number of orders to return in the response, used for paging. The default value is 25 orders per page, and the maximum allowed value is 250 orders per page.
   acknowledged: boolean, Obtains orders that match the acknowledgement status. When set to true, obtains orders that have been acknowledged. When false, obtains orders that have not been acknowledged. We recommend using this filter set to `false`, in conjunction with the `acknowledge` call, such that only un-acknowledged orders are returned. 
+  orderBy: string, Order results by placement date in descending or ascending order. Acceptable values are: - placedDateAsc - placedDateDesc 
   pageToken: string, The token returned by the previous request.
+  placedDateEnd: string, Obtains orders placed before this date (exclusively), in ISO 8601 format.
+  placedDateStart: string, Obtains orders placed after this date (inclusively), in ISO 8601 format.
   statuses: string, Obtains orders that match any of the specified statuses. Please note that `active` is a shortcut for `pendingShipment` and `partiallyShipped`, and `completed` is a shortcut for `shipped`, `partiallyDelivered`, `delivered`, `partiallyReturned`, `returned`, and `canceled`. (repeated)
     Allowed values
       ACTIVE - 
@@ -1334,56 +1334,250 @@
   An object of the form:
 
     {
+    &quot;nextPageToken&quot;: &quot;A String&quot;, # The token for the retrieval of the next page of orders.
+    &quot;kind&quot;: &quot;A String&quot;, # Identifies what kind of resource this is. Value: the fixed string &quot;content#ordersListResponse&quot;.
     &quot;resources&quot;: [
       { # Order. Production access (all methods) requires the order manager role. Sandbox access does not.
-        &quot;merchantId&quot;: &quot;A String&quot;,
-        &quot;netPriceAmount&quot;: { # The net amount for the order (price part). For example, if an order was originally for $100 and a refund was issued for $20, the net amount will be $80.
-          &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
-          &quot;currency&quot;: &quot;A String&quot;, # The currency of the price.
-        },
-        &quot;taxCollector&quot;: &quot;A String&quot;, # The party responsible for collecting and remitting taxes. Acceptable values are: - &quot;`marketplaceFacilitator`&quot; - &quot;`merchant`&quot;
-        &quot;acknowledged&quot;: True or False, # Whether the order was acknowledged.
-        &quot;lineItems&quot;: [ # Line items that are ordered.
+        &quot;paymentStatus&quot;: &quot;A String&quot;, # The status of the payment. Acceptable values are: - &quot;`paymentCaptured`&quot; - &quot;`paymentRejected`&quot; - &quot;`paymentSecured`&quot; - &quot;`pendingAuthorization`&quot;
+        &quot;refunds&quot;: [ # Refunds for the order.
           {
-            &quot;quantityOrdered&quot;: 42, # Number of items ordered.
-            &quot;id&quot;: &quot;A String&quot;, # The ID of the line item.
-            &quot;cancellations&quot;: [ # Cancellations of the line item.
+            &quot;reasonText&quot;: &quot;A String&quot;, # The explanation of the reason.
+            &quot;actor&quot;: &quot;A String&quot;, # The actor that created the refund. Acceptable values are: - &quot;`customer`&quot; - &quot;`googleBot`&quot; - &quot;`googleCustomerService`&quot; - &quot;`googlePayments`&quot; - &quot;`googleSabre`&quot; - &quot;`merchant`&quot;
+            &quot;reason&quot;: &quot;A String&quot;, # The reason for the refund. Acceptable values are: - &quot;`adjustment`&quot; - &quot;`autoPostInternal`&quot; - &quot;`autoPostInvalidBillingAddress`&quot; - &quot;`autoPostNoInventory`&quot; - &quot;`autoPostPriceError`&quot; - &quot;`autoPostUndeliverableShippingAddress`&quot; - &quot;`couponAbuse`&quot; - &quot;`courtesyAdjustment`&quot; - &quot;`customerCanceled`&quot; - &quot;`customerDiscretionaryReturn`&quot; - &quot;`customerInitiatedMerchantCancel`&quot; - &quot;`customerSupportRequested`&quot; - &quot;`deliveredLateByCarrier`&quot; - &quot;`deliveredTooLate`&quot; - &quot;`expiredItem`&quot; - &quot;`failToPushOrderGoogleError`&quot; - &quot;`failToPushOrderMerchantError`&quot; - &quot;`failToPushOrderMerchantFulfillmentError`&quot; - &quot;`failToPushOrderToMerchant`&quot; - &quot;`failToPushOrderToMerchantOutOfStock`&quot; - &quot;`feeAdjustment`&quot; - &quot;`invalidCoupon`&quot; - &quot;`lateShipmentCredit`&quot; - &quot;`malformedShippingAddress`&quot; - &quot;`merchantDidNotShipOnTime`&quot; - &quot;`noInventory`&quot; - &quot;`orderTimeout`&quot; - &quot;`other`&quot; - &quot;`paymentAbuse`&quot; - &quot;`paymentDeclined`&quot; - &quot;`priceAdjustment`&quot; - &quot;`priceError`&quot; - &quot;`productArrivedDamaged`&quot; - &quot;`productNotAsDescribed`&quot; - &quot;`promoReallocation`&quot; - &quot;`qualityNotAsExpected`&quot; - &quot;`returnRefundAbuse`&quot; - &quot;`shippingCostAdjustment`&quot; - &quot;`shippingPriceError`&quot; - &quot;`taxAdjustment`&quot; - &quot;`taxError`&quot; - &quot;`undeliverableShippingAddress`&quot; - &quot;`unsupportedPoBoxAddress`&quot; - &quot;`wrongProductShipped`&quot;
+            &quot;amount&quot;: { # The amount that is refunded.
+              &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;creationDate&quot;: &quot;A String&quot;, # Date on which the item has been created, in ISO 8601 format.
+          },
+        ],
+        &quot;shippingCost&quot;: { # The total cost of shipping for all items.
+          &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;customer&quot;: { # The details of the customer who placed the order.
+          &quot;fullName&quot;: &quot;A String&quot;, # Full name of the customer.
+          &quot;invoiceReceivingEmail&quot;: &quot;A String&quot;, # Email address for the merchant to send value-added tax or invoice documentation of the order. Only the last document sent is made available to the customer. For more information, see About automated VAT invoicing for Buy on Google.
+          &quot;marketingRightsInfo&quot;: { # Customer&#x27;s marketing preferences. Contains the marketing opt-in information that is current at the time that the merchant call. User preference selections can change from one order to the next so preferences must be checked with every order.
+            &quot;explicitMarketingPreference&quot;: &quot;A String&quot;, # Last known customer selection regarding marketing preferences. In certain cases this selection might not be known, so this field would be empty. If a customer selected `granted` in their most recent order, they can be subscribed to marketing emails. Customers who have chosen `denied` must not be subscribed, or must be unsubscribed if already opted-in. Acceptable values are: - &quot;`denied`&quot; - &quot;`granted`&quot;
+            &quot;marketingEmailAddress&quot;: &quot;A String&quot;, # Email address that can be used for marketing purposes. The field may be empty even if `explicitMarketingPreference` is &#x27;granted&#x27;. This happens when retrieving an old order from the customer who deleted their account.
+            &quot;lastUpdatedTimestamp&quot;: &quot;A String&quot;, # Timestamp when last time marketing preference was updated. Could be empty, if user wasn&#x27;t offered a selection yet.
+          },
+          &quot;loyaltyInfo&quot;: { # Loyalty program information.
+            &quot;loyaltyNumber&quot;: &quot;A String&quot;, # The loyalty card/membership number.
+            &quot;name&quot;: &quot;A String&quot;, # Name of card/membership holder, this field will be populated when
+          },
+        },
+        &quot;id&quot;: &quot;A String&quot;, # The REST ID of the order. Globally unique.
+        &quot;kind&quot;: &quot;A String&quot;, # Identifies what kind of resource this is. Value: the fixed string &quot;`content#order`&quot;
+        &quot;billingAddress&quot;: { # The billing address.
+          &quot;isPostOfficeBox&quot;: True or False, # Whether the address is a post office box.
+          &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;recipientName&quot;: &quot;A String&quot;, # Name of the recipient.
+          &quot;postalCode&quot;: &quot;A String&quot;, # Postal Code or ZIP (e.g. &quot;94043&quot;).
+          &quot;country&quot;: &quot;A String&quot;, # CLDR country code (e.g. &quot;US&quot;).
+          &quot;streetAddress&quot;: [ # Street-level part of the address.
+            &quot;A String&quot;,
+          ],
+          &quot;locality&quot;: &quot;A String&quot;, # City, town or commune. May also include dependent localities or sublocalities (e.g. neighborhoods or suburbs).
+          &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;shipments&quot;: [ # Shipments of the order.
+          {
+            &quot;status&quot;: &quot;A String&quot;, # The status of the shipment. Acceptable values are: - &quot;`delivered`&quot; - &quot;`readyForPickup`&quot; - &quot;`shipped`&quot; - &quot;`undeliverable`&quot;
+            &quot;id&quot;: &quot;A String&quot;, # The ID of the shipment.
+            &quot;scheduledDeliveryDetails&quot;: { # Delivery details of the shipment if scheduling is needed.
+              &quot;scheduledDate&quot;: &quot;A String&quot;, # The date a shipment is scheduled for delivery, in ISO 8601 format.
+              &quot;carrierPhoneNumber&quot;: &quot;A String&quot;, # The phone number of the carrier fulfilling the delivery. The phone number is formatted as the international notation in ITU-T Recommendation E.123 (e.g., &quot;+41 44 668 1800&quot;).
+            },
+            &quot;creationDate&quot;: &quot;A String&quot;, # Date on which the shipment has been created, in ISO 8601 format.
+            &quot;carrier&quot;: &quot;A String&quot;, # The carrier handling the shipment. For supported carriers, Google includes the carrier name and tracking URL in emails to customers. For select supported carriers, Google also automatically updates the shipment status based on the provided shipment ID. *Note:* You can also use unsupported carriers, but emails to customers will not include the carrier name or tracking URL, and there will be no automatic order status updates. Supported carriers for US are: - &quot;`ups`&quot; (United Parcel Service) *automatic status updates* - &quot;`usps`&quot; (United States Postal Service) *automatic status updates* - &quot;`fedex`&quot; (FedEx) *automatic status updates * - &quot;`dhl`&quot; (DHL eCommerce) *automatic status updates* (US only) - &quot;`ontrac`&quot; (OnTrac) *automatic status updates * - &quot;`dhl express`&quot; (DHL Express) - &quot;`deliv`&quot; (Deliv) - &quot;`dynamex`&quot; (TForce) - &quot;`lasership`&quot; (LaserShip) - &quot;`mpx`&quot; (Military Parcel Xpress) - &quot;`uds`&quot; (United Delivery Service) - &quot;`efw`&quot; (Estes Forwarding Worldwide) - &quot;`jd logistics`&quot; (JD Logistics) - &quot;`yunexpress`&quot; (YunExpress) - &quot;`china post`&quot; (China Post) - &quot;`china ems`&quot; (China Post Express Mail Service) - &quot;`singapore post`&quot; (Singapore Post) - &quot;`pos malaysia`&quot; (Pos Malaysia) - &quot;`postnl`&quot; (PostNL) - &quot;`ptt`&quot; (PTT Turkish Post) - &quot;`eub`&quot; (ePacket) - &quot;`chukou1`&quot; (Chukou1 Logistics) - &quot;`bestex`&quot; (Best Express) - &quot;`canada post`&quot; (Canada Post) - &quot;`purolator`&quot; (Purolator) - &quot;`canpar`&quot; (Canpar) - &quot;`india post`&quot; (India Post) - &quot;`blue dart`&quot; (Blue Dart) - &quot;`delhivery`&quot; (Delhivery) - &quot;`dtdc`&quot; (DTDC) - &quot;`tpc india`&quot; (TPC India) Supported carriers for FR are: - &quot;`la poste`&quot; (La Poste) *automatic status updates * - &quot;`colissimo`&quot; (Colissimo by La Poste) *automatic status updates* - &quot;`ups`&quot; (United Parcel Service) *automatic status updates * - &quot;`chronopost`&quot; (Chronopost by La Poste) - &quot;`gls`&quot; (General Logistics Systems France) - &quot;`dpd`&quot; (DPD Group by GeoPost) - &quot;`bpost`&quot; (Belgian Post Group) - &quot;`colis prive`&quot; (Colis Privé) - &quot;`boxtal`&quot; (Boxtal) - &quot;`geodis`&quot; (GEODIS) - &quot;`tnt`&quot; (TNT) - &quot;`db schenker`&quot; (DB Schenker) - &quot;`aramex`&quot; (Aramex)
+            &quot;deliveryDate&quot;: &quot;A String&quot;, # Date on which the shipment has been delivered, in ISO 8601 format. Present only if `status` is `delivered`
+            &quot;lineItems&quot;: [ # The line items that are shipped.
               {
-                &quot;reason&quot;: &quot;A String&quot;, # The reason for the cancellation. Orders that are canceled with a noInventory reason will lead to the removal of the product from Buy on Google until you make an update to that product. This will not affect your Shopping ads. Acceptable values are: - &quot;`autoPostInternal`&quot; - &quot;`autoPostInvalidBillingAddress`&quot; - &quot;`autoPostNoInventory`&quot; - &quot;`autoPostPriceError`&quot; - &quot;`autoPostUndeliverableShippingAddress`&quot; - &quot;`couponAbuse`&quot; - &quot;`customerCanceled`&quot; - &quot;`customerInitiatedCancel`&quot; - &quot;`customerSupportRequested`&quot; - &quot;`failToPushOrderGoogleError`&quot; - &quot;`failToPushOrderMerchantError`&quot; - &quot;`failToPushOrderMerchantFulfillmentError`&quot; - &quot;`failToPushOrderToMerchant`&quot; - &quot;`failToPushOrderToMerchantOutOfStock`&quot; - &quot;`invalidCoupon`&quot; - &quot;`malformedShippingAddress`&quot; - &quot;`merchantDidNotShipOnTime`&quot; - &quot;`noInventory`&quot; - &quot;`orderTimeout`&quot; - &quot;`other`&quot; - &quot;`paymentAbuse`&quot; - &quot;`paymentDeclined`&quot; - &quot;`priceError`&quot; - &quot;`returnRefundAbuse`&quot; - &quot;`shippingPriceError`&quot; - &quot;`taxError`&quot; - &quot;`undeliverableShippingAddress`&quot; - &quot;`unsupportedPoBoxAddress`&quot;
-                &quot;actor&quot;: &quot;A String&quot;, # The actor that created the cancellation. Acceptable values are: - &quot;`customer`&quot; - &quot;`googleBot`&quot; - &quot;`googleCustomerService`&quot; - &quot;`googlePayments`&quot; - &quot;`googleSabre`&quot; - &quot;`merchant`&quot;
-                &quot;quantity&quot;: 42, # The quantity that was canceled.
-                &quot;reasonText&quot;: &quot;A String&quot;, # The explanation of the reason.
-                &quot;creationDate&quot;: &quot;A String&quot;, # Date on which the cancellation has been created, in ISO 8601 format.
+                &quot;productId&quot;: &quot;A String&quot;, # The ID of the product to ship. This is the REST ID used in the products service. Either lineItemId or productId is required.
+                &quot;lineItemId&quot;: &quot;A String&quot;, # The ID of the line item that is shipped. This value is assigned by Google when an order is created. Either lineItemId or productId is required.
+                &quot;quantity&quot;: 42, # The quantity that is shipped.
               },
             ],
+            &quot;shipmentGroupId&quot;: &quot;A String&quot;, # The shipment group ID of the shipment. This is set in shiplineitems request.
+            &quot;trackingId&quot;: &quot;A String&quot;, # The tracking ID for the shipment.
+          },
+        ],
+        &quot;merchantOrderId&quot;: &quot;A String&quot;, # Merchant-provided ID of the order.
+        &quot;deliveryDetails&quot;: { # Delivery details for shipments of type `delivery`.
+          &quot;phoneNumber&quot;: &quot;A String&quot;, # The phone number of the person receiving the delivery.
+          &quot;address&quot;: { # The delivery address
+            &quot;isPostOfficeBox&quot;: True or False, # Whether the address is a post office box.
+            &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;recipientName&quot;: &quot;A String&quot;, # Name of the recipient.
+            &quot;postalCode&quot;: &quot;A String&quot;, # Postal Code or ZIP (e.g. &quot;94043&quot;).
+            &quot;country&quot;: &quot;A String&quot;, # CLDR country code (e.g. &quot;US&quot;).
+            &quot;streetAddress&quot;: [ # Street-level part of the address.
+              &quot;A String&quot;,
+            ],
+            &quot;locality&quot;: &quot;A String&quot;, # City, town or commune. May also include dependent localities or sublocalities (e.g. neighborhoods or suburbs).
+            &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;netPriceAmount&quot;: { # The net amount for the order (price part). For example, if an order was originally for $100 and a refund was issued for $20, the net amount will be $80.
+          &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;annotations&quot;: [ # List of key-value pairs that are attached to a given order.
+          {
+            &quot;value&quot;: &quot;A String&quot;, # Value for additional google provided (as key-value pairs) annotation.
+            &quot;key&quot;: &quot;A String&quot;, # Key for additional google provided (as key-value pairs) annotation.
+          },
+        ],
+        &quot;status&quot;: &quot;A String&quot;, # The status of the order. Acceptable values are: - &quot;`canceled`&quot; - &quot;`delivered`&quot; - &quot;`inProgress`&quot; - &quot;`partiallyDelivered`&quot; - &quot;`partiallyReturned`&quot; - &quot;`partiallyShipped`&quot; - &quot;`pendingShipment`&quot; - &quot;`returned`&quot; - &quot;`shipped`&quot;
+        &quot;pickupDetails&quot;: { # Pickup details for shipments of type `pickup`.
+          &quot;address&quot;: { # Address of the pickup location where the shipment should be sent. Note that `recipientName` in the address is the name of the business at the pickup location.
+            &quot;isPostOfficeBox&quot;: True or False, # Whether the address is a post office box.
+            &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;recipientName&quot;: &quot;A String&quot;, # Name of the recipient.
+            &quot;postalCode&quot;: &quot;A String&quot;, # Postal Code or ZIP (e.g. &quot;94043&quot;).
+            &quot;country&quot;: &quot;A String&quot;, # CLDR country code (e.g. &quot;US&quot;).
+            &quot;streetAddress&quot;: [ # Street-level part of the address.
+              &quot;A String&quot;,
+            ],
+            &quot;locality&quot;: &quot;A String&quot;, # City, town or commune. May also include dependent localities or sublocalities (e.g. neighborhoods or suburbs).
+            &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;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;locationId&quot;: &quot;A String&quot;, # ID of the pickup location.
+          &quot;collectors&quot;: [ # Collectors authorized to pick up shipment from the pickup location.
+            {
+              &quot;phoneNumber&quot;: &quot;A String&quot;, # Phone number of the person picking up the shipment.
+              &quot;name&quot;: &quot;A String&quot;, # Name of the person picking up the shipment.
+            },
+          ],
+        },
+        &quot;promotions&quot;: [ # Promotions associated with the order. To determine which promotions apply to which products, check the `Promotions[].appliedItems[].lineItemId` field against the `LineItems[].id` field for each promotion. If a promotion is applied to more than 1 offerId, divide the discount value by the number of affected offers to determine how much discount to apply to each offerId. Examples: 1. To calculate price paid by the customer for a single line item including the discount: For each promotion, subtract the `LineItems[].adjustments[].priceAdjustment.value` amount from the `LineItems[].Price.value`. 2. To calculate price paid by the customer for a single line item including the discount in case of multiple quantity: For each promotion, divide the `LineItems[].adjustments[].priceAdjustment.value` by the quantity of products then subtract the resulting value from the `LineItems[].Product.Price.value` for each quantity item. Only 1 promotion can be applied to an offerId in a given order. To refund an item which had a promotion applied to it, make sure to refund the amount after first subtracting the promotion discount from the item price. More details about the program are here.
+          {
+            &quot;priceValue&quot;: { # Estimated discount applied to price. Amount is pre-tax or post-tax depending on location of order.
+              &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;shortTitle&quot;: &quot;A String&quot;, # A short title of the promotion to be shown on the checkout page. Do not provide for `orders.createtestorder`.
+            &quot;endTime&quot;: &quot;A String&quot;, # Promotion end time in ISO 8601 format. Date, time, and offset required, e.g., &quot;2020-01-02T09:00:00+01:00&quot; or &quot;2020-01-02T09:00:00Z&quot;.
+            &quot;taxValue&quot;: { # Estimated discount applied to tax (if allowed by law). Do not provide for `orders.createtestorder`.
+              &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;title&quot;: &quot;A String&quot;, # Required. The title of the promotion.
+            &quot;merchantPromotionId&quot;: &quot;A String&quot;, # Required. This field is used to identify promotions within merchants&#x27; own systems.
+            &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;quantity&quot;: 42, # The quantity of the associated product. Do not provide for `orders.createtestorder`.
+                &quot;productId&quot;: &quot;A String&quot;, # `orders.createtestorder`.
+                &quot;offerId&quot;: &quot;A String&quot;, # Required. Offer ID of a product. Only for `orders.createtestorder`.
+              },
+            ],
+            &quot;funder&quot;: &quot;A String&quot;, # Required. The party funding the promotion. Only `merchant` is supported for `orders.createtestorder`. Acceptable values are: - &quot;`google`&quot; - &quot;`merchant`&quot;
+            &quot;startTime&quot;: &quot;A String&quot;, # Promotion start time in ISO 8601 format. Date, time, and offset required, e.g., &quot;2020-01-02T09:00:00+01:00&quot; or &quot;2020-01-02T09:00:00Z&quot;.
+            &quot;type&quot;: &quot;A String&quot;, # Required. The scope of the promotion. Only `product` is supported for `orders.createtestorder`. Acceptable values are: - &quot;`product`&quot; - &quot;`shipping`&quot;
+            &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;quantity&quot;: 42, # The quantity of the associated product. Do not provide for `orders.createtestorder`.
+                &quot;productId&quot;: &quot;A String&quot;, # `orders.createtestorder`.
+                &quot;offerId&quot;: &quot;A String&quot;, # Required. Offer ID of a product. Only for `orders.createtestorder`.
+              },
+            ],
+            &quot;subtype&quot;: &quot;A String&quot;, # Required. The category of the promotion. Only `moneyOff` is supported for `orders.createtestorder`. Acceptable values are: - &quot;`buyMGetMoneyOff`&quot; - &quot;`buyMGetNMoneyOff`&quot; - &quot;`buyMGetNPercentOff`&quot; - &quot;`buyMGetPercentOff`&quot; - &quot;`freeGift`&quot; - &quot;`freeGiftWithItemId`&quot; - &quot;`freeGiftWithValue`&quot; - &quot;`freeShippingOvernight`&quot; - &quot;`freeShippingStandard`&quot; - &quot;`freeShippingTwoDay`&quot; - &quot;`moneyOff`&quot; - &quot;`percentOff`&quot; - &quot;`rewardPoints`&quot; - &quot;`salePrice`&quot;
+          },
+        ],
+        &quot;netTaxAmount&quot;: { # The net amount for the order (tax part). Note that in certain cases due to taxable base adjustment `netTaxAmount` might not match to a sum of tax field across all lineItems and refunds.
+          &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;placedDate&quot;: &quot;A String&quot;, # The date when the order was placed, in ISO 8601 format.
+        &quot;merchantId&quot;: &quot;A String&quot;,
+        &quot;lineItems&quot;: [ # Line items that are ordered.
+          {
+            &quot;adjustments&quot;: [ # Price and tax adjustments applied on the line item.
+              {
+                &quot;priceAdjustment&quot;: { # Adjustment for total price of the line item.
+                  &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;type&quot;: &quot;A String&quot;, # Type of this adjustment. Acceptable values are: - &quot;`promotion`&quot;
+                &quot;taxAdjustment&quot;: { # Adjustment for total tax of the line item.
+                  &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;quantityPending&quot;: 42, # Number of items pending.
+            &quot;cancellations&quot;: [ # Cancellations of the line item.
+              {
+                &quot;actor&quot;: &quot;A String&quot;, # The actor that created the cancellation. Acceptable values are: - &quot;`customer`&quot; - &quot;`googleBot`&quot; - &quot;`googleCustomerService`&quot; - &quot;`googlePayments`&quot; - &quot;`googleSabre`&quot; - &quot;`merchant`&quot;
+                &quot;creationDate&quot;: &quot;A String&quot;, # Date on which the cancellation has been created, in ISO 8601 format.
+                &quot;reasonText&quot;: &quot;A String&quot;, # The explanation of the reason.
+                &quot;quantity&quot;: 42, # The quantity that was canceled.
+                &quot;reason&quot;: &quot;A String&quot;, # The reason for the cancellation. Orders that are canceled with a noInventory reason will lead to the removal of the product from Buy on Google until you make an update to that product. This will not affect your Shopping ads. Acceptable values are: - &quot;`autoPostInternal`&quot; - &quot;`autoPostInvalidBillingAddress`&quot; - &quot;`autoPostNoInventory`&quot; - &quot;`autoPostPriceError`&quot; - &quot;`autoPostUndeliverableShippingAddress`&quot; - &quot;`couponAbuse`&quot; - &quot;`customerCanceled`&quot; - &quot;`customerInitiatedCancel`&quot; - &quot;`customerSupportRequested`&quot; - &quot;`failToPushOrderGoogleError`&quot; - &quot;`failToPushOrderMerchantError`&quot; - &quot;`failToPushOrderMerchantFulfillmentError`&quot; - &quot;`failToPushOrderToMerchant`&quot; - &quot;`failToPushOrderToMerchantOutOfStock`&quot; - &quot;`invalidCoupon`&quot; - &quot;`malformedShippingAddress`&quot; - &quot;`merchantDidNotShipOnTime`&quot; - &quot;`noInventory`&quot; - &quot;`orderTimeout`&quot; - &quot;`other`&quot; - &quot;`paymentAbuse`&quot; - &quot;`paymentDeclined`&quot; - &quot;`priceError`&quot; - &quot;`returnRefundAbuse`&quot; - &quot;`shippingPriceError`&quot; - &quot;`taxError`&quot; - &quot;`undeliverableShippingAddress`&quot; - &quot;`unsupportedPoBoxAddress`&quot;
+              },
+            ],
+            &quot;price&quot;: { # Total price for the line item. For example, if two items for $10 are purchased, the total price will be $20.
+              &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;returnInfo&quot;: { # Details of the return policy for the line item.
+              &quot;isReturnable&quot;: True or False, # Required. Whether the item is returnable.
+              &quot;daysToReturn&quot;: 42, # Required. How many days later the item can be returned.
+              &quot;policyUrl&quot;: &quot;A String&quot;, # Required. URL of the item return policy.
+            },
+            &quot;quantityUndeliverable&quot;: 42, # Number of items undeliverable.
+            &quot;tax&quot;: { # Total tax amount for the line item. For example, if two items are purchased, and each have a cost tax of $2, the total tax amount will be $4.
+              &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;quantityReturned&quot;: 42, # Number of items returned.
+            &quot;quantityShipped&quot;: 42, # Number of items shipped.
+            &quot;quantityReadyForPickup&quot;: 42, # Number of items ready for pickup.
+            &quot;quantityOrdered&quot;: 42, # Number of items ordered.
             &quot;annotations&quot;: [ # Annotations that are attached to the line item.
               {
                 &quot;value&quot;: &quot;A String&quot;, # Value for additional merchant provided (as key-value pairs) annotation about the line item.
                 &quot;key&quot;: &quot;A String&quot;, # Key for additional merchant provided (as key-value pairs) annotation about the line item.
               },
             ],
-            &quot;quantityDelivered&quot;: 42, # Number of items delivered.
-            &quot;quantityUndeliverable&quot;: 42, # Number of items undeliverable.
             &quot;quantityCanceled&quot;: 42, # Number of items canceled.
-            &quot;quantityShipped&quot;: 42, # Number of items shipped.
-            &quot;returns&quot;: [ # Returns of the line item.
-              {
-                &quot;reason&quot;: &quot;A String&quot;, # The reason for the return. Acceptable values are: - &quot;`customerDiscretionaryReturn`&quot; - &quot;`customerInitiatedMerchantCancel`&quot; - &quot;`deliveredTooLate`&quot; - &quot;`expiredItem`&quot; - &quot;`invalidCoupon`&quot; - &quot;`malformedShippingAddress`&quot; - &quot;`other`&quot; - &quot;`productArrivedDamaged`&quot; - &quot;`productNotAsDescribed`&quot; - &quot;`qualityNotAsExpected`&quot; - &quot;`undeliverableShippingAddress`&quot; - &quot;`unsupportedPoBoxAddress`&quot; - &quot;`wrongProductShipped`&quot;
-                &quot;actor&quot;: &quot;A String&quot;, # The actor that created the refund. Acceptable values are: - &quot;`customer`&quot; - &quot;`googleBot`&quot; - &quot;`googleCustomerService`&quot; - &quot;`googlePayments`&quot; - &quot;`googleSabre`&quot; - &quot;`merchant`&quot;
-                &quot;creationDate&quot;: &quot;A String&quot;, # Date on which the item has been created, in ISO 8601 format.
-                &quot;reasonText&quot;: &quot;A String&quot;, # The explanation of the reason.
-                &quot;quantity&quot;: 42, # Quantity that is returned.
+            &quot;shippingDetails&quot;: { # Details of the requested shipping for the line item.
+              &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. Acceptable values are: - &quot;`delivery`&quot; - &quot;`pickup`&quot;
+              &quot;method&quot;: { # Required. Details of the shipping method.
+                &quot;carrier&quot;: &quot;A String&quot;, # The carrier for the shipping. Optional. See `shipments[].carrier` for a list of acceptable values.
+                &quot;methodName&quot;: &quot;A String&quot;, # Required. The name of the shipping method.
+                &quot;maxDaysInTransit&quot;: 42, # Required. Maximum transit time.
+                &quot;minDaysInTransit&quot;: 42, # Required. Minimum transit time.
               },
-            ],
-            &quot;quantityReadyForPickup&quot;: 42, # Number of items ready for pickup.
-            &quot;price&quot;: { # Total price for the line item. For example, if two items for $10 are purchased, the total price will be $20.
-              &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
-              &quot;currency&quot;: &quot;A String&quot;, # The currency of the price.
+              &quot;deliverByDate&quot;: &quot;A String&quot;, # Required. The delivery by date, in ISO 8601 format.
+              &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;quantityPending&quot;: 42, # Number of items pending.
             &quot;product&quot;: { # Product data as seen by customer from the time of the order placement. Note that certain attributes values (e.g. title or gtin) might be reformatted and no longer match values submitted via product feed.
-              &quot;id&quot;: &quot;A String&quot;, # The REST ID of the product.
+              &quot;shownImage&quot;: &quot;A String&quot;, # URL to the cached image shown to the user when order was placed.
+              &quot;mpn&quot;: &quot;A String&quot;, # Manufacturer Part Number (MPN) of the item.
               &quot;targetCountry&quot;: &quot;A String&quot;, # The CLDR territory // code of the target country of the product.
+              &quot;gtin&quot;: &quot;A String&quot;, # Global Trade Item Number (GTIN) of the item.
+              &quot;itemGroupId&quot;: &quot;A String&quot;, # Shared identifier for all variants of the same product.
+              &quot;offerId&quot;: &quot;A String&quot;, # An identifier of the item.
+              &quot;condition&quot;: &quot;A String&quot;, # Condition or state of the item. Acceptable values are: - &quot;`new`&quot; - &quot;`refurbished`&quot; - &quot;`used`&quot;
+              &quot;contentLanguage&quot;: &quot;A String&quot;, # The two-letter ISO 639-1 language code for the item.
+              &quot;price&quot;: { # Price of the item.
+                &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;id&quot;: &quot;A String&quot;, # The REST ID of the product.
+              &quot;brand&quot;: &quot;A String&quot;, # Brand of the item.
               &quot;variantAttributes&quot;: [ # Variant attributes for the item. These are dimensions of the product, such as color, gender, material, pattern, and size. You can find a comprehensive list of variant attributes here.
                 {
                   &quot;dimension&quot;: &quot;A String&quot;, # The dimension of the variant.
@@ -1393,230 +1587,36 @@
               &quot;fees&quot;: [ # Associated fees at order creation time.
                 {
                   &quot;amount&quot;: { # Amount of the fee.
-                    &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
                     &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;name&quot;: &quot;A String&quot;, # Name of the fee.
                 },
               ],
               &quot;imageLink&quot;: &quot;A String&quot;, # URL of an image of the item.
               &quot;title&quot;: &quot;A String&quot;, # The title of the product.
-              &quot;shownImage&quot;: &quot;A String&quot;, # URL to the cached image shown to the user when order was placed.
-              &quot;price&quot;: { # Price of the item.
-                &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
-                &quot;currency&quot;: &quot;A String&quot;, # The currency of the price.
-              },
-              &quot;condition&quot;: &quot;A String&quot;, # Condition or state of the item. Acceptable values are: - &quot;`new`&quot; - &quot;`refurbished`&quot; - &quot;`used`&quot;
-              &quot;gtin&quot;: &quot;A String&quot;, # Global Trade Item Number (GTIN) of the item.
-              &quot;itemGroupId&quot;: &quot;A String&quot;, # Shared identifier for all variants of the same product.
-              &quot;contentLanguage&quot;: &quot;A String&quot;, # The two-letter ISO 639-1 language code for the item.
-              &quot;offerId&quot;: &quot;A String&quot;, # An identifier of the item.
-              &quot;brand&quot;: &quot;A String&quot;, # Brand of the item.
-              &quot;mpn&quot;: &quot;A String&quot;, # Manufacturer Part Number (MPN) of the item.
             },
-            &quot;returnInfo&quot;: { # Details of the return policy for the line item.
-              &quot;daysToReturn&quot;: 42, # Required. How many days later the item can be returned.
-              &quot;isReturnable&quot;: True or False, # Required. Whether the item is returnable.
-              &quot;policyUrl&quot;: &quot;A String&quot;, # Required. URL of the item return policy.
-            },
-            &quot;adjustments&quot;: [ # Price and tax adjustments applied on the line item.
+            &quot;returns&quot;: [ # Returns of the line item.
               {
-                &quot;priceAdjustment&quot;: { # Adjustment for total price of the line item.
-                  &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
-                  &quot;currency&quot;: &quot;A String&quot;, # The currency of the price.
-                },
-                &quot;taxAdjustment&quot;: { # Adjustment for total tax of the line item.
-                  &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
-                  &quot;currency&quot;: &quot;A String&quot;, # The currency of the price.
-                },
-                &quot;type&quot;: &quot;A String&quot;, # Type of this adjustment. Acceptable values are: - &quot;`promotion`&quot;
+                &quot;reasonText&quot;: &quot;A String&quot;, # The explanation of the reason.
+                &quot;creationDate&quot;: &quot;A String&quot;, # Date on which the item has been created, in ISO 8601 format.
+                &quot;quantity&quot;: 42, # Quantity that is returned.
+                &quot;actor&quot;: &quot;A String&quot;, # The actor that created the refund. Acceptable values are: - &quot;`customer`&quot; - &quot;`googleBot`&quot; - &quot;`googleCustomerService`&quot; - &quot;`googlePayments`&quot; - &quot;`googleSabre`&quot; - &quot;`merchant`&quot;
+                &quot;reason&quot;: &quot;A String&quot;, # The reason for the return. Acceptable values are: - &quot;`customerDiscretionaryReturn`&quot; - &quot;`customerInitiatedMerchantCancel`&quot; - &quot;`deliveredTooLate`&quot; - &quot;`expiredItem`&quot; - &quot;`invalidCoupon`&quot; - &quot;`malformedShippingAddress`&quot; - &quot;`other`&quot; - &quot;`productArrivedDamaged`&quot; - &quot;`productNotAsDescribed`&quot; - &quot;`qualityNotAsExpected`&quot; - &quot;`undeliverableShippingAddress`&quot; - &quot;`unsupportedPoBoxAddress`&quot; - &quot;`wrongProductShipped`&quot;
               },
             ],
-            &quot;shippingDetails&quot;: { # Details of the requested shipping for the line item.
-              &quot;shipByDate&quot;: &quot;A String&quot;, # Required. The ship by date, in ISO 8601 format.
-              &quot;deliverByDate&quot;: &quot;A String&quot;, # Required. The delivery 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. Acceptable values are: - &quot;`delivery`&quot; - &quot;`pickup`&quot;
-              &quot;method&quot;: { # Required. Details of the shipping method.
-                &quot;carrier&quot;: &quot;A String&quot;, # The carrier for the shipping. Optional. See `shipments[].carrier` for a list of acceptable values.
-                &quot;methodName&quot;: &quot;A String&quot;, # Required. The name of the shipping method.
-                &quot;minDaysInTransit&quot;: 42, # Required. Minimum transit time.
-                &quot;maxDaysInTransit&quot;: 42, # Required. Maximum 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;tax&quot;: { # Total tax amount for the line item. For example, if two items are purchased, and each have a cost tax of $2, the total tax amount will be $4.
-              &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
-              &quot;currency&quot;: &quot;A String&quot;, # The currency of the price.
-            },
-            &quot;quantityReturned&quot;: 42, # Number of items returned.
+            &quot;quantityDelivered&quot;: 42, # Number of items delivered.
+            &quot;id&quot;: &quot;A String&quot;, # The ID of the line item.
           },
         ],
-        &quot;promotions&quot;: [ # Promotions associated with the order. To determine which promotions apply to which products, check the `Promotions[].appliedItems[].lineItemId` field against the `LineItems[].id` field for each promotion. If a promotion is applied to more than 1 offerId, divide the discount value by the number of affected offers to determine how much discount to apply to each offerId. Examples: 1. To calculate price paid by the customer for a single line item including the discount: For each promotion, subtract the `LineItems[].adjustments[].priceAdjustment.value` amount from the `LineItems[].Price.value`. 2. To calculate price paid by the customer for a single line item including the discount in case of multiple quantity: For each promotion, divide the `LineItems[].adjustments[].priceAdjustment.value` by the quantity of products then subtract the resulting value from the `LineItems[].Product.Price.value` for each quantity item. Only 1 promotion can be applied to an offerId in a given order. To refund an item which had a promotion applied to it, make sure to refund the amount after first subtracting the promotion discount from the item price. More details about the program are here.
-          {
-            &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;quantity&quot;: 42, # The quantity of the associated product. Do not provide for `orders.createtestorder`.
-                &quot;offerId&quot;: &quot;A String&quot;, # Required. Offer ID of a product. Only for `orders.createtestorder`.
-                &quot;productId&quot;: &quot;A String&quot;, # `orders.createtestorder`.
-              },
-            ],
-            &quot;funder&quot;: &quot;A String&quot;, # Required. The party funding the promotion. Only `merchant` is supported for `orders.createtestorder`. Acceptable values are: - &quot;`google`&quot; - &quot;`merchant`&quot;
-            &quot;subtype&quot;: &quot;A String&quot;, # Required. The category of the promotion. Only `moneyOff` is supported for `orders.createtestorder`. Acceptable values are: - &quot;`buyMGetMoneyOff`&quot; - &quot;`buyMGetNMoneyOff`&quot; - &quot;`buyMGetNPercentOff`&quot; - &quot;`buyMGetPercentOff`&quot; - &quot;`freeGift`&quot; - &quot;`freeGiftWithItemId`&quot; - &quot;`freeGiftWithValue`&quot; - &quot;`freeShippingOvernight`&quot; - &quot;`freeShippingStandard`&quot; - &quot;`freeShippingTwoDay`&quot; - &quot;`moneyOff`&quot; - &quot;`percentOff`&quot; - &quot;`rewardPoints`&quot; - &quot;`salePrice`&quot;
-            &quot;type&quot;: &quot;A String&quot;, # Required. The scope of the promotion. Only `product` is supported for `orders.createtestorder`. Acceptable values are: - &quot;`product`&quot; - &quot;`shipping`&quot;
-            &quot;endTime&quot;: &quot;A String&quot;, # Promotion end time in ISO 8601 format. Date, time, and offset required, e.g., &quot;2020-01-02T09:00:00+01:00&quot; or &quot;2020-01-02T09:00:00Z&quot;.
-            &quot;startTime&quot;: &quot;A String&quot;, # Promotion start time in ISO 8601 format. Date, time, and offset required, e.g., &quot;2020-01-02T09:00:00+01:00&quot; or &quot;2020-01-02T09:00:00Z&quot;.
-            &quot;shortTitle&quot;: &quot;A String&quot;, # A short title of the promotion to be shown on the checkout page. Do not provide for `orders.createtestorder`.
-            &quot;taxValue&quot;: { # Estimated discount applied to tax (if allowed by law). Do not provide for `orders.createtestorder`.
-              &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
-              &quot;currency&quot;: &quot;A String&quot;, # The currency of the price.
-            },
-            &quot;title&quot;: &quot;A String&quot;, # Required. The title of the promotion.
-            &quot;merchantPromotionId&quot;: &quot;A String&quot;, # Required. This field is used to identify promotions within merchants&#x27; own systems.
-            &quot;priceValue&quot;: { # Estimated discount applied to price. Amount is pre-tax or post-tax depending on location of order.
-              &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
-              &quot;currency&quot;: &quot;A String&quot;, # The currency of the price.
-            },
-            &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;quantity&quot;: 42, # The quantity of the associated product. Do not provide for `orders.createtestorder`.
-                &quot;offerId&quot;: &quot;A String&quot;, # Required. Offer ID of a product. Only for `orders.createtestorder`.
-                &quot;productId&quot;: &quot;A String&quot;, # `orders.createtestorder`.
-              },
-            ],
-          },
-        ],
-        &quot;kind&quot;: &quot;A String&quot;, # Identifies what kind of resource this is. Value: the fixed string &quot;`content#order`&quot;
-        &quot;netTaxAmount&quot;: { # The net amount for the order (tax part). Note that in certain cases due to taxable base adjustment `netTaxAmount` might not match to a sum of tax field across all lineItems and refunds.
-          &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
-          &quot;currency&quot;: &quot;A String&quot;, # The currency of the price.
-        },
-        &quot;annotations&quot;: [ # List of key-value pairs that are attached to a given order.
-          {
-            &quot;value&quot;: &quot;A String&quot;, # Value for additional google provided (as key-value pairs) annotation.
-            &quot;key&quot;: &quot;A String&quot;, # Key for additional google provided (as key-value pairs) annotation.
-          },
-        ],
-        &quot;placedDate&quot;: &quot;A String&quot;, # The date when the order was placed, in ISO 8601 format.
-        &quot;shipments&quot;: [ # Shipments of the order.
-          {
-            &quot;creationDate&quot;: &quot;A String&quot;, # Date on which the shipment has been created, in ISO 8601 format.
-            &quot;scheduledDeliveryDetails&quot;: { # Delivery details of the shipment if scheduling is needed.
-              &quot;scheduledDate&quot;: &quot;A String&quot;, # The date a shipment is scheduled for delivery, in ISO 8601 format.
-              &quot;carrierPhoneNumber&quot;: &quot;A String&quot;, # The phone number of the carrier fulfilling the delivery. The phone number is formatted as the international notation in ITU-T Recommendation E.123 (e.g., &quot;+41 44 668 1800&quot;).
-            },
-            &quot;id&quot;: &quot;A String&quot;, # The ID of the shipment.
-            &quot;lineItems&quot;: [ # The line items that are shipped.
-              {
-                &quot;quantity&quot;: 42, # The quantity that is shipped.
-                &quot;lineItemId&quot;: &quot;A String&quot;, # The ID of the line item that is shipped. This value is assigned by Google when an order is created. Either lineItemId or productId is required.
-                &quot;productId&quot;: &quot;A String&quot;, # The ID of the product to ship. This is the REST ID used in the products service. Either lineItemId or productId is required.
-              },
-            ],
-            &quot;trackingId&quot;: &quot;A String&quot;, # The tracking ID for the shipment.
-            &quot;carrier&quot;: &quot;A String&quot;, # The carrier handling the shipment. For supported carriers, Google includes the carrier name and tracking URL in emails to customers. For select supported carriers, Google also automatically updates the shipment status based on the provided shipment ID. *Note:* You can also use unsupported carriers, but emails to customers will not include the carrier name or tracking URL, and there will be no automatic order status updates. Supported carriers for US are: - &quot;`ups`&quot; (United Parcel Service) *automatic status updates* - &quot;`usps`&quot; (United States Postal Service) *automatic status updates* - &quot;`fedex`&quot; (FedEx) *automatic status updates * - &quot;`dhl`&quot; (DHL eCommerce) *automatic status updates* (US only) - &quot;`ontrac`&quot; (OnTrac) *automatic status updates * - &quot;`dhl express`&quot; (DHL Express) - &quot;`deliv`&quot; (Deliv) - &quot;`dynamex`&quot; (TForce) - &quot;`lasership`&quot; (LaserShip) - &quot;`mpx`&quot; (Military Parcel Xpress) - &quot;`uds`&quot; (United Delivery Service) - &quot;`efw`&quot; (Estes Forwarding Worldwide) - &quot;`jd logistics`&quot; (JD Logistics) - &quot;`yunexpress`&quot; (YunExpress) - &quot;`china post`&quot; (China Post) - &quot;`china ems`&quot; (China Post Express Mail Service) - &quot;`singapore post`&quot; (Singapore Post) - &quot;`pos malaysia`&quot; (Pos Malaysia) - &quot;`postnl`&quot; (PostNL) - &quot;`ptt`&quot; (PTT Turkish Post) - &quot;`eub`&quot; (ePacket) - &quot;`chukou1`&quot; (Chukou1 Logistics) - &quot;`bestex`&quot; (Best Express) - &quot;`canada post`&quot; (Canada Post) - &quot;`purolator`&quot; (Purolator) - &quot;`canpar`&quot; (Canpar) - &quot;`india post`&quot; (India Post) - &quot;`blue dart`&quot; (Blue Dart) - &quot;`delhivery`&quot; (Delhivery) - &quot;`dtdc`&quot; (DTDC) - &quot;`tpc india`&quot; (TPC India) Supported carriers for FR are: - &quot;`la poste`&quot; (La Poste) *automatic status updates * - &quot;`colissimo`&quot; (Colissimo by La Poste) *automatic status updates* - &quot;`ups`&quot; (United Parcel Service) *automatic status updates * - &quot;`chronopost`&quot; (Chronopost by La Poste) - &quot;`gls`&quot; (General Logistics Systems France) - &quot;`dpd`&quot; (DPD Group by GeoPost) - &quot;`bpost`&quot; (Belgian Post Group) - &quot;`colis prive`&quot; (Colis Privé) - &quot;`boxtal`&quot; (Boxtal) - &quot;`geodis`&quot; (GEODIS) - &quot;`tnt`&quot; (TNT) - &quot;`db schenker`&quot; (DB Schenker) - &quot;`aramex`&quot; (Aramex)
-            &quot;deliveryDate&quot;: &quot;A String&quot;, # Date on which the shipment has been delivered, in ISO 8601 format. Present only if `status` is `delivered`
-            &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. Acceptable values are: - &quot;`delivered`&quot; - &quot;`readyForPickup`&quot; - &quot;`shipped`&quot; - &quot;`undeliverable`&quot;
-          },
-        ],
-        &quot;id&quot;: &quot;A String&quot;, # The REST ID of the order. Globally unique.
-        &quot;refunds&quot;: [ # Refunds for the order.
-          {
-            &quot;amount&quot;: { # The amount that is refunded.
-              &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
-              &quot;currency&quot;: &quot;A String&quot;, # The currency of the price.
-            },
-            &quot;actor&quot;: &quot;A String&quot;, # The actor that created the refund. Acceptable values are: - &quot;`customer`&quot; - &quot;`googleBot`&quot; - &quot;`googleCustomerService`&quot; - &quot;`googlePayments`&quot; - &quot;`googleSabre`&quot; - &quot;`merchant`&quot;
-            &quot;reasonText&quot;: &quot;A String&quot;, # The explanation of the reason.
-            &quot;reason&quot;: &quot;A String&quot;, # The reason for the refund. Acceptable values are: - &quot;`adjustment`&quot; - &quot;`autoPostInternal`&quot; - &quot;`autoPostInvalidBillingAddress`&quot; - &quot;`autoPostNoInventory`&quot; - &quot;`autoPostPriceError`&quot; - &quot;`autoPostUndeliverableShippingAddress`&quot; - &quot;`couponAbuse`&quot; - &quot;`courtesyAdjustment`&quot; - &quot;`customerCanceled`&quot; - &quot;`customerDiscretionaryReturn`&quot; - &quot;`customerInitiatedMerchantCancel`&quot; - &quot;`customerSupportRequested`&quot; - &quot;`deliveredLateByCarrier`&quot; - &quot;`deliveredTooLate`&quot; - &quot;`expiredItem`&quot; - &quot;`failToPushOrderGoogleError`&quot; - &quot;`failToPushOrderMerchantError`&quot; - &quot;`failToPushOrderMerchantFulfillmentError`&quot; - &quot;`failToPushOrderToMerchant`&quot; - &quot;`failToPushOrderToMerchantOutOfStock`&quot; - &quot;`feeAdjustment`&quot; - &quot;`invalidCoupon`&quot; - &quot;`lateShipmentCredit`&quot; - &quot;`malformedShippingAddress`&quot; - &quot;`merchantDidNotShipOnTime`&quot; - &quot;`noInventory`&quot; - &quot;`orderTimeout`&quot; - &quot;`other`&quot; - &quot;`paymentAbuse`&quot; - &quot;`paymentDeclined`&quot; - &quot;`priceAdjustment`&quot; - &quot;`priceError`&quot; - &quot;`productArrivedDamaged`&quot; - &quot;`productNotAsDescribed`&quot; - &quot;`promoReallocation`&quot; - &quot;`qualityNotAsExpected`&quot; - &quot;`returnRefundAbuse`&quot; - &quot;`shippingCostAdjustment`&quot; - &quot;`shippingPriceError`&quot; - &quot;`taxAdjustment`&quot; - &quot;`taxError`&quot; - &quot;`undeliverableShippingAddress`&quot; - &quot;`unsupportedPoBoxAddress`&quot; - &quot;`wrongProductShipped`&quot;
-            &quot;creationDate&quot;: &quot;A String&quot;, # Date on which the item has been created, in ISO 8601 format.
-          },
-        ],
-        &quot;status&quot;: &quot;A String&quot;, # The status of the order. Acceptable values are: - &quot;`canceled`&quot; - &quot;`delivered`&quot; - &quot;`inProgress`&quot; - &quot;`partiallyDelivered`&quot; - &quot;`partiallyReturned`&quot; - &quot;`partiallyShipped`&quot; - &quot;`pendingShipment`&quot; - &quot;`returned`&quot; - &quot;`shipped`&quot;
-        &quot;merchantOrderId&quot;: &quot;A String&quot;, # Merchant-provided ID of the order.
-        &quot;deliveryDetails&quot;: { # Delivery details for shipments of type `delivery`.
-          &quot;address&quot;: { # The delivery address
-            &quot;recipientName&quot;: &quot;A String&quot;, # Name of the recipient.
-            &quot;country&quot;: &quot;A String&quot;, # CLDR country code (e.g. &quot;US&quot;).
-            &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;isPostOfficeBox&quot;: True or False, # Whether the address is a post office box.
-            &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;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;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;shippingCostTax&quot;: { # The tax for the total shipping cost.
-          &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
           &quot;currency&quot;: &quot;A String&quot;, # The currency of the price.
-        },
-        &quot;paymentStatus&quot;: &quot;A String&quot;, # The status of the payment. Acceptable values are: - &quot;`paymentCaptured`&quot; - &quot;`paymentRejected`&quot; - &quot;`paymentSecured`&quot; - &quot;`pendingAuthorization`&quot;
-        &quot;customer&quot;: { # The details of the customer who placed the order.
-          &quot;loyaltyInfo&quot;: { # Loyalty program information.
-            &quot;loyaltyNumber&quot;: &quot;A String&quot;, # The loyalty card/membership number.
-            &quot;name&quot;: &quot;A String&quot;, # Name of card/membership holder, this field will be populated when
-          },
-          &quot;fullName&quot;: &quot;A String&quot;, # Full name of the customer.
-          &quot;invoiceReceivingEmail&quot;: &quot;A String&quot;, # Email address for the merchant to send value-added tax or invoice documentation of the order. Only the last document sent is made available to the customer. For more information, see About automated VAT invoicing for Buy on Google.
-          &quot;marketingRightsInfo&quot;: { # Customer&#x27;s marketing preferences. Contains the marketing opt-in information that is current at the time that the merchant call. User preference selections can change from one order to the next so preferences must be checked with every order.
-            &quot;lastUpdatedTimestamp&quot;: &quot;A String&quot;, # Timestamp when last time marketing preference was updated. Could be empty, if user wasn&#x27;t offered a selection yet.
-            &quot;explicitMarketingPreference&quot;: &quot;A String&quot;, # Last known customer selection regarding marketing preferences. In certain cases this selection might not be known, so this field would be empty. If a customer selected `granted` in their most recent order, they can be subscribed to marketing emails. Customers who have chosen `denied` must not be subscribed, or must be unsubscribed if already opted-in. Acceptable values are: - &quot;`denied`&quot; - &quot;`granted`&quot;
-            &quot;marketingEmailAddress&quot;: &quot;A String&quot;, # Email address that can be used for marketing purposes. The field may be empty even if `explicitMarketingPreference` is &#x27;granted&#x27;. This happens when retrieving an old order from the customer who deleted their account.
-          },
-        },
-        &quot;shippingCost&quot;: { # The total cost of shipping for all items.
           &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
-          &quot;currency&quot;: &quot;A String&quot;, # The currency of the price.
         },
-        &quot;pickupDetails&quot;: { # Pickup details for shipments of type `pickup`.
-          &quot;address&quot;: { # Address of the pickup location where the shipment should be sent. Note that `recipientName` in the address is the name of the business at the pickup location.
-            &quot;recipientName&quot;: &quot;A String&quot;, # Name of the recipient.
-            &quot;country&quot;: &quot;A String&quot;, # CLDR country code (e.g. &quot;US&quot;).
-            &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;isPostOfficeBox&quot;: True or False, # Whether the address is a post office box.
-            &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;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;streetAddress&quot;: [ # Street-level part of the address.
-              &quot;A String&quot;,
-            ],
-          },
-          &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;collectors&quot;: [ # Collectors authorized to pick up shipment from the pickup location.
-            {
-              &quot;phoneNumber&quot;: &quot;A String&quot;, # Phone number of the person picking up the shipment.
-              &quot;name&quot;: &quot;A String&quot;, # Name of the person picking up the shipment.
-            },
-          ],
-        },
-        &quot;billingAddress&quot;: { # The billing address.
-          &quot;recipientName&quot;: &quot;A String&quot;, # Name of the recipient.
-          &quot;country&quot;: &quot;A String&quot;, # CLDR country code (e.g. &quot;US&quot;).
-          &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;isPostOfficeBox&quot;: True or False, # Whether the address is a post office box.
-          &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;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;streetAddress&quot;: [ # Street-level part of the address.
-            &quot;A String&quot;,
-          ],
-        },
+        &quot;taxCollector&quot;: &quot;A String&quot;, # The party responsible for collecting and remitting taxes. Acceptable values are: - &quot;`marketplaceFacilitator`&quot; - &quot;`merchant`&quot;
+        &quot;acknowledged&quot;: True or False, # Whether the order was acknowledged.
       },
     ],
-    &quot;nextPageToken&quot;: &quot;A String&quot;, # The token for the retrieval of the next page of orders.
-    &quot;kind&quot;: &quot;A String&quot;, # Identifies what kind of resource this is. Value: the fixed string &quot;content#ordersListResponse&quot;.
   }</pre>
 </div>
 
@@ -1645,34 +1645,34 @@
     The object takes the form of:
 
 {
-    &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;items&quot;: [ # The items that are refunded. Either Item or Shipping must be provided in the request.
-      {
-        &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;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;value&quot;: &quot;A String&quot;, # The price represented as a number.
-            &quot;currency&quot;: &quot;A String&quot;, # The currency of the price.
-          },
-          &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;value&quot;: &quot;A String&quot;, # The price represented as a number.
-            &quot;currency&quot;: &quot;A String&quot;, # The currency of the price.
-          },
-        },
-        &quot;quantity&quot;: 42, # The number of products that are refunded.
-        &quot;lineItemId&quot;: &quot;A String&quot;, # The ID of the line item. Either lineItemId or productId is required.
-        &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;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;value&quot;: &quot;A String&quot;, # The price represented as a number.
         &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.
     },
     &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;items&quot;: [ # The items that are refunded. Either Item or Shipping must be provided in the request.
+      {
+        &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;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;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;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;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;quantity&quot;: 42, # The number of products that are refunded.
+      },
+    ],
+    &quot;reasonText&quot;: &quot;A String&quot;, # The explanation of the reason.
   }
 
   x__xgafv: string, V1 error format.
@@ -1700,20 +1700,20 @@
     The object takes the form of:
 
 {
-    &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;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;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;value&quot;: &quot;A String&quot;, # The price represented as a number.
-        &quot;currency&quot;: &quot;A String&quot;, # The currency of the price.
-      },
       &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;value&quot;: &quot;A String&quot;, # The price represented as a number.
         &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;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;reasonText&quot;: &quot;A String&quot;, # The explanation of the reason.
-    &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;reason&quot;: &quot;A String&quot;, # The reason for the refund. Acceptable values are: - &quot;`courtesyAdjustment`&quot; - &quot;`other`&quot;
+    &quot;operationId&quot;: &quot;A String&quot;, # The ID of the operation. Unique across all operations for a given order.
   }
 
   x__xgafv: string, V1 error format.
@@ -1725,8 +1725,8 @@
   An object of the form:
 
     {
-    &quot;kind&quot;: &quot;A String&quot;, # Identifies what kind of resource this is. Value: the fixed string &quot;content#ordersRefundOrderResponse&quot;.
     &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;A String&quot;, # Identifies what kind of resource this is. Value: the fixed string &quot;content#ordersRefundOrderResponse&quot;.
   }</pre>
 </div>
 
@@ -1741,12 +1741,12 @@
     The object takes the form of:
 
 {
+    &quot;productId&quot;: &quot;A String&quot;, # The ID of the product to return. This is the REST ID used in the products service. Either lineItemId or productId is required.
+    &quot;quantity&quot;: 42, # The quantity to return and refund.
+    &quot;reason&quot;: &quot;A String&quot;, # The reason for the return. Acceptable values are: - &quot;`damagedOrUsed`&quot; - &quot;`missingComponent`&quot; - &quot;`notEligible`&quot; - &quot;`other`&quot; - &quot;`outOfReturnWindow`&quot;
     &quot;reasonText&quot;: &quot;A String&quot;, # The explanation of the reason.
     &quot;lineItemId&quot;: &quot;A String&quot;, # The ID of the line item to return. Either lineItemId or productId is required.
-    &quot;quantity&quot;: 42, # The quantity to return and refund.
     &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 return. Acceptable values are: - &quot;`damagedOrUsed`&quot; - &quot;`missingComponent`&quot; - &quot;`notEligible`&quot; - &quot;`other`&quot; - &quot;`outOfReturnWindow`&quot;
-    &quot;productId&quot;: &quot;A String&quot;, # The ID of the product to return. This is the REST ID used in the products service. Either lineItemId or productId is required.
   }
 
   x__xgafv: string, V1 error format.
@@ -1758,8 +1758,8 @@
   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;A String&quot;, # Identifies what kind of resource this is. Value: the fixed string &quot;content#ordersRejectReturnLineItemResponse&quot;.
+    &quot;executionStatus&quot;: &quot;A String&quot;, # The status of the execution. Acceptable values are: - &quot;`duplicate`&quot; - &quot;`executed`&quot;
   }</pre>
 </div>
 
@@ -1774,20 +1774,20 @@
     The object takes the form of:
 
 {
-    &quot;reason&quot;: &quot;A String&quot;, # The reason for the return. Acceptable values are: - &quot;`customerDiscretionaryReturn`&quot; - &quot;`customerInitiatedMerchantCancel`&quot; - &quot;`deliveredTooLate`&quot; - &quot;`expiredItem`&quot; - &quot;`invalidCoupon`&quot; - &quot;`malformedShippingAddress`&quot; - &quot;`other`&quot; - &quot;`productArrivedDamaged`&quot; - &quot;`productNotAsDescribed`&quot; - &quot;`qualityNotAsExpected`&quot; - &quot;`undeliverableShippingAddress`&quot; - &quot;`unsupportedPoBoxAddress`&quot; - &quot;`wrongProductShipped`&quot;
-    &quot;operationId&quot;: &quot;A String&quot;, # The ID of the operation. Unique across all operations for a given order.
+    &quot;reasonText&quot;: &quot;A String&quot;, # The explanation of the reason.
     &quot;priceAmount&quot;: { # The amount to be refunded. This may be pre-tax or post-tax depending on the location of the order. If omitted, refundless return is assumed.
-      &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
       &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;lineItemId&quot;: &quot;A String&quot;, # The ID of the line item to return. Either lineItemId or productId is required.
     &quot;taxAmount&quot;: { # The amount of tax to be refunded. Optional, but if filled, then priceAmount must be set. Calculated automatically if not provided.
-      &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
       &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;productId&quot;: &quot;A String&quot;, # The ID of the product to return. This is the REST ID used in the products service. Either lineItemId or productId is required.
+    &quot;lineItemId&quot;: &quot;A String&quot;, # The ID of the line item to return. Either lineItemId or productId is required.
     &quot;quantity&quot;: 42, # The quantity to return and refund.
-    &quot;reasonText&quot;: &quot;A String&quot;, # The explanation of the reason.
+    &quot;reason&quot;: &quot;A String&quot;, # The reason for the return. Acceptable values are: - &quot;`customerDiscretionaryReturn`&quot; - &quot;`customerInitiatedMerchantCancel`&quot; - &quot;`deliveredTooLate`&quot; - &quot;`expiredItem`&quot; - &quot;`invalidCoupon`&quot; - &quot;`malformedShippingAddress`&quot; - &quot;`other`&quot; - &quot;`productArrivedDamaged`&quot; - &quot;`productNotAsDescribed`&quot; - &quot;`qualityNotAsExpected`&quot; - &quot;`undeliverableShippingAddress`&quot; - &quot;`unsupportedPoBoxAddress`&quot; - &quot;`wrongProductShipped`&quot;
+    &quot;operationId&quot;: &quot;A String&quot;, # The ID of the operation. Unique across all operations for a given order.
   }
 
   x__xgafv: string, V1 error format.
@@ -1799,8 +1799,8 @@
   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;A String&quot;, # Identifies what kind of resource this is. Value: the fixed string &quot;content#ordersReturnRefundLineItemResponse&quot;.
+    &quot;executionStatus&quot;: &quot;A String&quot;, # The status of the execution. Acceptable values are: - &quot;`duplicate`&quot; - &quot;`executed`&quot;
   }</pre>
 </div>
 
@@ -1815,15 +1815,15 @@
     The object takes the form of:
 
 {
+    &quot;productId&quot;: &quot;A String&quot;, # The ID of the product to set metadata. This is the REST ID used in the products service. Either lineItemId or productId is required.
+    &quot;lineItemId&quot;: &quot;A String&quot;, # The ID of the line item to set metadata. Either lineItemId or productId is required.
+    &quot;operationId&quot;: &quot;A String&quot;, # The ID of the operation. Unique across all operations for a given order.
     &quot;annotations&quot;: [
       {
         &quot;value&quot;: &quot;A String&quot;, # Value for additional merchant provided (as key-value pairs) annotation about the line item.
         &quot;key&quot;: &quot;A String&quot;, # Key for additional merchant provided (as key-value pairs) annotation about the line item.
       },
     ],
-    &quot;operationId&quot;: &quot;A String&quot;, # The ID of the operation. Unique across all operations for a given order.
-    &quot;lineItemId&quot;: &quot;A String&quot;, # The ID of the line item to set metadata. Either lineItemId or productId is required.
-    &quot;productId&quot;: &quot;A String&quot;, # The ID of the product to set metadata. This is the REST ID used in the products service. Either lineItemId or productId is required.
   }
 
   x__xgafv: string, V1 error format.
@@ -1835,8 +1835,8 @@
   An object of the form:
 
     {
-    &quot;kind&quot;: &quot;A String&quot;, # Identifies what kind of resource this is. Value: the fixed string &quot;content#ordersSetLineItemMetadataResponse&quot;.
     &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;A String&quot;, # Identifies what kind of resource this is. Value: the fixed string &quot;content#ordersSetLineItemMetadataResponse&quot;.
   }</pre>
 </div>
 
@@ -1851,22 +1851,22 @@
     The object takes the form of:
 
 {
+    &quot;operationId&quot;: &quot;A String&quot;, # The ID of the operation. Unique across all operations for a given order.
     &quot;lineItems&quot;: [ # Line items to ship.
       {
-        &quot;quantity&quot;: 42, # The quantity that is shipped.
-        &quot;lineItemId&quot;: &quot;A String&quot;, # The ID of the line item that is shipped. This value is assigned by Google when an order is created. Either lineItemId or productId is required.
         &quot;productId&quot;: &quot;A String&quot;, # The ID of the product to ship. This is the REST ID used in the products service. Either lineItemId or productId is required.
+        &quot;lineItemId&quot;: &quot;A String&quot;, # The ID of the line item that is shipped. This value is assigned by Google when an order is created. Either lineItemId or productId is required.
+        &quot;quantity&quot;: 42, # The quantity that is shipped.
       },
     ],
-    &quot;operationId&quot;: &quot;A String&quot;, # The ID of the operation. Unique across all operations for a given order.
-    &quot;shipmentGroupId&quot;: &quot;A String&quot;, # ID of the shipment group. Required for orders that use the orderinvoices service.
     &quot;shipmentInfos&quot;: [ # Shipment information. This field is repeated because a single line item can be shipped in several packages (and have several tracking IDs).
       {
+        &quot;carrier&quot;: &quot;A String&quot;, # The carrier handling the shipment. See `shipments[].carrier` in the Orders resource representation for a list of acceptable values.
         &quot;trackingId&quot;: &quot;A String&quot;, # The tracking ID for the shipment.
         &quot;shipmentId&quot;: &quot;A String&quot;, # Required. The ID of the shipment. This is assigned by the merchant and is unique to each shipment.
-        &quot;carrier&quot;: &quot;A String&quot;, # The carrier handling the shipment. See `shipments[].carrier` in the Orders resource representation for a list of acceptable values.
       },
     ],
+    &quot;shipmentGroupId&quot;: &quot;A String&quot;, # ID of the shipment group. Required for orders that use the orderinvoices service.
   }
 
   x__xgafv: string, V1 error format.
@@ -1895,10 +1895,10 @@
 
 {
     &quot;productId&quot;: &quot;A String&quot;, # The ID of the product to set metadata. This is the REST ID used in the products service. Either lineItemId or productId is required.
-    &quot;shipByDate&quot;: &quot;A String&quot;, # Updated ship by date, in ISO 8601 format. If not specified only deliver by date is updated. Provided date should be within 1 year timeframe and can not be a date in the past.
     &quot;lineItemId&quot;: &quot;A String&quot;, # The ID of the line item to set metadata. Either lineItemId or productId is required.
-    &quot;deliverByDate&quot;: &quot;A String&quot;, # Updated delivery by date, in ISO 8601 format. If not specified only ship by date is updated. Provided date should be within 1 year timeframe and can not be a date in the past.
     &quot;operationId&quot;: &quot;A String&quot;, # The ID of the operation. Unique across all operations for a given order.
+    &quot;shipByDate&quot;: &quot;A String&quot;, # Updated ship by date, in ISO 8601 format. If not specified only deliver by date is updated. Provided date should be within 1 year timeframe and can not be a date in the past.
+    &quot;deliverByDate&quot;: &quot;A String&quot;, # Updated delivery by date, in ISO 8601 format. If not specified only ship by date is updated. Provided date should be within 1 year timeframe and can not be a date in the past.
   }
 
   x__xgafv: string, V1 error format.
@@ -1939,8 +1939,8 @@
   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;A String&quot;, # Identifies what kind of resource this is. Value: the fixed string &quot;content#ordersUpdateMerchantOrderIdResponse&quot;.
+    &quot;executionStatus&quot;: &quot;A String&quot;, # The status of the execution. Acceptable values are: - &quot;`duplicate`&quot; - &quot;`executed`&quot;
   }</pre>
 </div>
 
@@ -1955,15 +1955,15 @@
     The object takes the form of:
 
 {
-    &quot;shipmentId&quot;: &quot;A String&quot;, # The ID of the shipment.
-    &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`.
-    &quot;trackingId&quot;: &quot;A String&quot;, # The tracking ID for the shipment. Not updated if missing.
-    &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;operationId&quot;: &quot;A String&quot;, # The ID of the operation. Unique across all operations for a given order.
+    &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`.
     &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;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;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;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;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;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.
   }
 
   x__xgafv: string, V1 error format.
