Regen all docs. (#700)

* Stop recursing if discovery == {}

* Generate docs with 'make docs'.
diff --git a/docs/dyn/content_v2.shippingsettings.html b/docs/dyn/content_v2.shippingsettings.html
index 36f9c84..a9c29c8 100644
--- a/docs/dyn/content_v2.shippingsettings.html
+++ b/docs/dyn/content_v2.shippingsettings.html
@@ -79,22 +79,25 @@
 <p class="firstline">Retrieves and updates the shipping settings of multiple accounts in a single request.</p>
 <p class="toc_element">
   <code><a href="#get">get(merchantId, accountId)</a></code></p>
-<p class="firstline">Retrieves the shipping settings of the account. This method can only be called for accounts to which the managing account has access: either the managing account itself or sub-accounts if the managing account is a multi-client account.</p>
+<p class="firstline">Retrieves the shipping settings of the account.</p>
 <p class="toc_element">
   <code><a href="#getsupportedcarriers">getsupportedcarriers(merchantId)</a></code></p>
 <p class="firstline">Retrieves supported carriers and carrier services for an account.</p>
 <p class="toc_element">
+  <code><a href="#getsupportedholidays">getsupportedholidays(merchantId)</a></code></p>
+<p class="firstline">Retrieves supported holidays for an account.</p>
+<p class="toc_element">
   <code><a href="#list">list(merchantId, pageToken=None, maxResults=None)</a></code></p>
-<p class="firstline">Lists the shipping settings of the sub-accounts in your Merchant Center account. This method can only be called for multi-client accounts.</p>
+<p class="firstline">Lists the shipping settings of the sub-accounts in your Merchant Center account.</p>
 <p class="toc_element">
   <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
 <p class="firstline">Retrieves the next page of results.</p>
 <p class="toc_element">
   <code><a href="#patch">patch(merchantId, accountId, body, dryRun=None)</a></code></p>
-<p class="firstline">Updates the shipping settings of the account. This method can only be called for accounts to which the managing account has access: either the managing account itself or sub-accounts if the managing account is a multi-client account. This method supports patch semantics.</p>
+<p class="firstline">Updates the shipping settings of the account. This method supports patch semantics.</p>
 <p class="toc_element">
   <code><a href="#update">update(merchantId, accountId, body, dryRun=None)</a></code></p>
-<p class="firstline">Updates the shipping settings of the account. This method can only be called for accounts to which the managing account has access: either the managing account itself or sub-accounts if the managing account is a multi-client account.</p>
+<p class="firstline">Updates the shipping settings of the account.</p>
 <h3>Method Details</h3>
 <div class="method">
     <code class="details" id="custombatch">custombatch(body, dryRun=None)</code>
@@ -110,120 +113,60 @@
         "batchId": 42, # An entry ID, unique within the batch request.
         "method": "A String",
         "merchantId": "A String", # The ID of the managing account.
-        "shippingSettings": { # The merchant account's shipping settings. # The account shipping settings to update. Only defined if the method is update.
+        "shippingSettings": { # The merchant account's shipping settings. All methods except getsupportedcarriers and getsupportedholidays require the admin role. # The account shipping settings to update. Only defined if the method is update.
           "services": [ # The target account's list of services. Optional.
             {
               "name": "A String", # Free-form name of the service. Must be unique within target account. Required.
               "deliveryTime": { # Time spent in various aspects from order to the delivery of the product. Required.
-                "maxTransitTimeInDays": 42, # Maximum number of business days that is spent in transit. 0 means same day delivery, 1 means next day delivery. Must be greater than or equal to minTransitTimeInDays. Required.
-                "minTransitTimeInDays": 42, # Minimum number of business days that is spent in transit. 0 means same day delivery, 1 means next day delivery. Required.
+                "maxHandlingTimeInDays": 42, # Maximum number of business days spent before an order is shipped. 0 means same day shipped, 1 means next day shipped. Must be greater than or equal to minHandlingTimeInDays.
+                "transitTimeTable": { # Transit time table, number of business days spent in transit based on row and column dimensions. Either {min,max}transitTimeInDays or transitTimeTable can be set, but not both.
+                  "rows": [
+                    {
+                      "values": [
+                        {
+                          "maxTransitTimeInDays": 42, # Must be greater than or equal to minTransitTimeInDays.
+                          "minTransitTimeInDays": 42, # Transit time range (min-max) in business days. 0 means same day delivery, 1 means next day delivery.
+                        },
+                      ],
+                    },
+                  ],
+                  "postalCodeGroupNames": [ # A list of postal group names. The last value can be "all other locations". Example: ["zone 1", "zone 2", "all other locations"]. The referred postal code groups must match the delivery country of the service.
+                    "A String",
+                  ],
+                  "transitTimeLabels": [ # A list of transit time labels. The last value can be "all other labels". Example: ["food", "electronics", "all other labels"].
+                    "A String",
+                  ],
+                },
+                "minHandlingTimeInDays": 42, # Minimum number of business days spent before an order is shipped. 0 means same day shipped, 1 means next day shipped.
+                "cutoffTime": { # Business days cutoff time definition. If not configured the cutoff time will be defaulted to 8AM PST.
+                  "timezone": "A String", # Timezone identifier for the cutoff time. A list of identifiers can be found in  the AdWords API documentation. E.g. "Europe/Zurich". Required.
+                  "minute": 42, # Minute of the cutoff time until which an order has to be placed to be processed in the same day. Required.
+                  "hour": 42, # Hour of the cutoff time until which an order has to be placed to be processed in the same day. Required.
+                },
+                "maxTransitTimeInDays": 42, # Maximum number of business days that is spent in transit. 0 means same day delivery, 1 means next day delivery. Must be greater than or equal to minTransitTimeInDays.
+                "minTransitTimeInDays": 42, # Minimum number of business days that is spent in transit. 0 means same day delivery, 1 means next day delivery. Either {min,max}transitTimeInDays or transitTimeTable must be set, but not both.
+                "holidayCutoffs": [ # Holiday cutoff definitions. If configured, they specify order cutoff times for holiday-specific shipping.
+                  {
+                    "visibleFromDate": "A String", # Date on which the deadline will become visible to consumers in ISO 8601 format. E.g. "2016-10-31" for 31st October 2016. Required.
+                    "deadlineHour": 42, # Hour of the day on the deadline date until which the order has to be placed to qualify for the delivery guarantee. Possible values are: 0 (midnight), 1, ..., 12 (noon), 13, ..., 23. Required.
+                    "holidayId": "A String", # Unique identifier for the holiday. Required.
+                    "deadlineDate": "A String", # Date of the order deadline, in ISO 8601 format. E.g. "2016-11-29" for 29th November 2016. Required.
+                    "deadlineTimezone": "A String", # Timezone identifier for the deadline hour. A list of identifiers can be found in  the AdWords API documentation. E.g. "Europe/Zurich". Required.
+                  },
+                ],
               },
+              "eligibility": "A String", # Eligibility for this service.
               "deliveryCountry": "A String", # The CLDR territory code of the country to which the service applies. Required.
               "rateGroups": [ # Shipping rate group definitions. Only the last one is allowed to have an empty applicableShippingLabels, which means "everything else". The other applicableShippingLabels must not overlap.
                 {
                   "applicableShippingLabels": [ # A list of shipping labels defining the products to which this rate group applies to. This is a disjunction: only one of the labels has to match for the rate group to apply. May only be empty for the last rate group of a service. Required.
                     "A String",
                   ],
-                  "carrierRates": [ # A list of carrier rates that can be referred to by mainTable or singleValue.
-                    {
-                      "name": "A String", # Name of the carrier rate. Must be unique per rate group. Required.
-                      "originPostalCode": "A String", # Shipping origin for this carrier rate. Required.
-                      "flatAdjustment": { # Additive shipping rate modifier. Can be negative. For example { "value": "1", "currency" : "USD" } adds $1 to the rate, { "value": "-3", "currency" : "USD" } removes $3 from the rate. Optional.
-                        "currency": "A String", # The currency of the price.
-                        "value": "A String", # The price represented as a number.
-                      },
-                      "percentageAdjustment": "A String", # Multiplicative shipping rate modifier as a number in decimal notation. Can be negative. For example "5.4" increases the rate by 5.4%, "-3" decreases the rate by 3%. Optional.
-                      "carrierName": "A String", # Carrier service, such as "UPS" or "Fedex". The list of supported carriers can be retrieved via the getSupportedCarriers method. Required.
-                      "carrierService": "A String", # Carrier service, such as "ground" or "2 days". The list of supported services for a carrier can be retrieved via the getSupportedCarriers method. Required.
-                    },
-                  ],
-                  "singleValue": { # The single value of a rate group or the value of a rate group table's cell. Exactly one of noShipping, flatRate, pricePercentage, carrierRateName, subtableName must be set. # The value of the rate group (e.g. flat rate $10). Can only be set if mainTable and subtables are not set.
-                    "carrierRateName": "A String", # The name of a carrier rate referring to a carrier rate defined in the same rate group. Can only be set if all other fields are not set.
-                    "noShipping": True or False, # If true, then the product can't ship. Must be true when set, can only be set if all other fields are not set.
-                    "pricePercentage": "A String", # A percentage of the price represented as a number in decimal notation (e.g., "5.4"). Can only be set if all other fields are not set.
-                    "subtableName": "A String", # The name of a subtable. Can only be set in table cells (i.e., not for single values), and only if all other fields are not set.
-                    "flatRate": { # A flat rate. Can only be set if all other fields are not set.
-                      "currency": "A String", # The currency of the price.
-                      "value": "A String", # The price represented as a number.
-                    },
-                  },
-                  "mainTable": { # A table defining the rate group, when singleValue is not expressive enough. Can only be set if singleValue is not set.
-                    "rowHeaders": { # A non-empty list of row or column headers for a table. Exactly one of prices, weights, numItems, postalCodeGroupNames, or locations must be set. # Headers of the table's rows. Required.
-                      "prices": [ # be "infinity". For example [{"value": "10", "currency": "USD"}, {"value": "500", "currency": "USD"}, {"value": "infinity", "currency": "USD"}] represents the headers "<= $10", " $500". All prices within a service must have the same currency. Must be non-empty. Can only be set if all other fields are not set.
-                        {
-                          "currency": "A String", # The currency of the price.
-                          "value": "A String", # The price represented as a number.
-                        },
-                      ],
-                      "postalCodeGroupNames": [ # A list of postal group names. The last value can be "all other locations". Example: ["zone 1", "zone 2", "all other locations"]. The referred postal code groups must match the delivery country of the service. Must be non-empty. Can only be set if all other fields are not set.
-                        "A String",
-                      ],
-                      "weights": [ # be "infinity". For example [{"value": "10", "unit": "kg"}, {"value": "50", "unit": "kg"}, {"value": "infinity", "unit": "kg"}] represents the headers "<= 10kg", " 50kg". All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
-                        {
-                          "value": "A String", # The weight represented as a number.
-                          "unit": "A String", # The weight unit.
-                        },
-                      ],
-                      "locations": [ # A list of location ID sets. Must be non-empty. Can only be set if all other fields are not set.
-                        {
-                          "locationIds": [ # A non-empty list of location IDs. They must all be of the same location type (e.g., state).
-                            "A String",
-                          ],
-                        },
-                      ],
-                      "numberOfItems": [ # A list of inclusive number of items upper bounds. The last value can be "infinity". For example ["10", "50", "infinity"] represents the headers "<= 10 items", " 50 items". Must be non-empty. Can only be set if all other fields are not set.
-                        "A String",
-                      ],
-                    },
-                    "rows": [ # The list of rows that constitute the table. Must have the same length as rowHeaders. Required.
-                      {
-                        "cells": [ # The list of cells that constitute the row. Must have the same length as columnHeaders for two-dimensional tables, a length of 1 for one-dimensional tables. Required.
-                          { # The single value of a rate group or the value of a rate group table's cell. Exactly one of noShipping, flatRate, pricePercentage, carrierRateName, subtableName must be set.
-                            "carrierRateName": "A String", # The name of a carrier rate referring to a carrier rate defined in the same rate group. Can only be set if all other fields are not set.
-                            "noShipping": True or False, # If true, then the product can't ship. Must be true when set, can only be set if all other fields are not set.
-                            "pricePercentage": "A String", # A percentage of the price represented as a number in decimal notation (e.g., "5.4"). Can only be set if all other fields are not set.
-                            "subtableName": "A String", # The name of a subtable. Can only be set in table cells (i.e., not for single values), and only if all other fields are not set.
-                            "flatRate": { # A flat rate. Can only be set if all other fields are not set.
-                              "currency": "A String", # The currency of the price.
-                              "value": "A String", # The price represented as a number.
-                            },
-                          },
-                        ],
-                      },
-                    ],
-                    "columnHeaders": { # A non-empty list of row or column headers for a table. Exactly one of prices, weights, numItems, postalCodeGroupNames, or locations must be set. # Headers of the table's columns. Optional: if not set then the table has only one dimension.
-                      "prices": [ # be "infinity". For example [{"value": "10", "currency": "USD"}, {"value": "500", "currency": "USD"}, {"value": "infinity", "currency": "USD"}] represents the headers "<= $10", " $500". All prices within a service must have the same currency. Must be non-empty. Can only be set if all other fields are not set.
-                        {
-                          "currency": "A String", # The currency of the price.
-                          "value": "A String", # The price represented as a number.
-                        },
-                      ],
-                      "postalCodeGroupNames": [ # A list of postal group names. The last value can be "all other locations". Example: ["zone 1", "zone 2", "all other locations"]. The referred postal code groups must match the delivery country of the service. Must be non-empty. Can only be set if all other fields are not set.
-                        "A String",
-                      ],
-                      "weights": [ # be "infinity". For example [{"value": "10", "unit": "kg"}, {"value": "50", "unit": "kg"}, {"value": "infinity", "unit": "kg"}] represents the headers "<= 10kg", " 50kg". All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
-                        {
-                          "value": "A String", # The weight represented as a number.
-                          "unit": "A String", # The weight unit.
-                        },
-                      ],
-                      "locations": [ # A list of location ID sets. Must be non-empty. Can only be set if all other fields are not set.
-                        {
-                          "locationIds": [ # A non-empty list of location IDs. They must all be of the same location type (e.g., state).
-                            "A String",
-                          ],
-                        },
-                      ],
-                      "numberOfItems": [ # A list of inclusive number of items upper bounds. The last value can be "infinity". For example ["10", "50", "infinity"] represents the headers "<= 10 items", " 50 items". Must be non-empty. Can only be set if all other fields are not set.
-                        "A String",
-                      ],
-                    },
-                    "name": "A String", # Name of the table. Required for subtables, ignored for the main table.
-                  },
+                  "name": "A String", # Name of the rate group. Optional. If set has to be unique within shipping service.
                   "subtables": [ # A list of subtables referred to by mainTable. Can only be set if mainTable is set.
                     {
-                      "rowHeaders": { # A non-empty list of row or column headers for a table. Exactly one of prices, weights, numItems, postalCodeGroupNames, or locations must be set. # Headers of the table's rows. Required.
-                        "prices": [ # be "infinity". For example [{"value": "10", "currency": "USD"}, {"value": "500", "currency": "USD"}, {"value": "infinity", "currency": "USD"}] represents the headers "<= $10", " $500". All prices within a service must have the same currency. Must be non-empty. Can only be set if all other fields are not set.
+                      "rowHeaders": { # A non-empty list of row or column headers for a table. Exactly one of prices, weights, numItems, postalCodeGroupNames, or location must be set. # Headers of the table's rows. Required.
+                        "prices": [ # A list of inclusive order price upper bounds. The last price's value can be "infinity". For example [{"value": "10", "currency": "USD"}, {"value": "500", "currency": "USD"}, {"value": "infinity", "currency": "USD"}] represents the headers "<= $10", " $500". All prices within a service must have the same currency. Must be non-empty. Can only be set if all other fields are not set.
                           {
                             "currency": "A String", # The currency of the price.
                             "value": "A String", # The price represented as a number.
@@ -232,7 +175,7 @@
                         "postalCodeGroupNames": [ # A list of postal group names. The last value can be "all other locations". Example: ["zone 1", "zone 2", "all other locations"]. The referred postal code groups must match the delivery country of the service. Must be non-empty. Can only be set if all other fields are not set.
                           "A String",
                         ],
-                        "weights": [ # be "infinity". For example [{"value": "10", "unit": "kg"}, {"value": "50", "unit": "kg"}, {"value": "infinity", "unit": "kg"}] represents the headers "<= 10kg", " 50kg". All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
+                        "weights": [ # A list of inclusive order weight upper bounds. The last weight's value can be "infinity". For example [{"value": "10", "unit": "kg"}, {"value": "50", "unit": "kg"}, {"value": "infinity", "unit": "kg"}] represents the headers "<= 10kg", " 50kg". All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
                           {
                             "value": "A String", # The weight represented as a number.
                             "unit": "A String", # The weight unit.
@@ -265,8 +208,8 @@
                           ],
                         },
                       ],
-                      "columnHeaders": { # A non-empty list of row or column headers for a table. Exactly one of prices, weights, numItems, postalCodeGroupNames, or locations must be set. # Headers of the table's columns. Optional: if not set then the table has only one dimension.
-                        "prices": [ # be "infinity". For example [{"value": "10", "currency": "USD"}, {"value": "500", "currency": "USD"}, {"value": "infinity", "currency": "USD"}] represents the headers "<= $10", " $500". All prices within a service must have the same currency. Must be non-empty. Can only be set if all other fields are not set.
+                      "columnHeaders": { # A non-empty list of row or column headers for a table. Exactly one of prices, weights, numItems, postalCodeGroupNames, or location must be set. # Headers of the table's columns. Optional: if not set then the table has only one dimension.
+                        "prices": [ # A list of inclusive order price upper bounds. The last price's value can be "infinity". For example [{"value": "10", "currency": "USD"}, {"value": "500", "currency": "USD"}, {"value": "infinity", "currency": "USD"}] represents the headers "<= $10", " $500". All prices within a service must have the same currency. Must be non-empty. Can only be set if all other fields are not set.
                           {
                             "currency": "A String", # The currency of the price.
                             "value": "A String", # The price represented as a number.
@@ -275,7 +218,7 @@
                         "postalCodeGroupNames": [ # A list of postal group names. The last value can be "all other locations". Example: ["zone 1", "zone 2", "all other locations"]. The referred postal code groups must match the delivery country of the service. Must be non-empty. Can only be set if all other fields are not set.
                           "A String",
                         ],
-                        "weights": [ # be "infinity". For example [{"value": "10", "unit": "kg"}, {"value": "50", "unit": "kg"}, {"value": "infinity", "unit": "kg"}] represents the headers "<= 10kg", " 50kg". All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
+                        "weights": [ # A list of inclusive order weight upper bounds. The last weight's value can be "infinity". For example [{"value": "10", "unit": "kg"}, {"value": "50", "unit": "kg"}, {"value": "infinity", "unit": "kg"}] represents the headers "<= 10kg", " 50kg". All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
                           {
                             "value": "A String", # The weight represented as a number.
                             "unit": "A String", # The weight unit.
@@ -295,10 +238,110 @@
                       "name": "A String", # Name of the table. Required for subtables, ignored for the main table.
                     },
                   ],
+                  "carrierRates": [ # A list of carrier rates that can be referred to by mainTable or singleValue.
+                    {
+                      "name": "A String", # Name of the carrier rate. Must be unique per rate group. Required.
+                      "originPostalCode": "A String", # Shipping origin for this carrier rate. Required.
+                      "flatAdjustment": { # Additive shipping rate modifier. Can be negative. For example { "value": "1", "currency" : "USD" } adds $1 to the rate, { "value": "-3", "currency" : "USD" } removes $3 from the rate. Optional.
+                        "currency": "A String", # The currency of the price.
+                        "value": "A String", # The price represented as a number.
+                      },
+                      "percentageAdjustment": "A String", # Multiplicative shipping rate modifier as a number in decimal notation. Can be negative. For example "5.4" increases the rate by 5.4%, "-3" decreases the rate by 3%. Optional.
+                      "carrierName": "A String", # Carrier service, such as "UPS" or "Fedex". The list of supported carriers can be retrieved via the getSupportedCarriers method. Required.
+                      "carrierService": "A String", # Carrier service, such as "ground" or "2 days". The list of supported services for a carrier can be retrieved via the getSupportedCarriers method. Required.
+                    },
+                  ],
+                  "mainTable": { # A table defining the rate group, when singleValue is not expressive enough. Can only be set if singleValue is not set.
+                    "rowHeaders": { # A non-empty list of row or column headers for a table. Exactly one of prices, weights, numItems, postalCodeGroupNames, or location must be set. # Headers of the table's rows. Required.
+                      "prices": [ # A list of inclusive order price upper bounds. The last price's value can be "infinity". For example [{"value": "10", "currency": "USD"}, {"value": "500", "currency": "USD"}, {"value": "infinity", "currency": "USD"}] represents the headers "<= $10", " $500". All prices within a service must have the same currency. Must be non-empty. Can only be set if all other fields are not set.
+                        {
+                          "currency": "A String", # The currency of the price.
+                          "value": "A String", # The price represented as a number.
+                        },
+                      ],
+                      "postalCodeGroupNames": [ # A list of postal group names. The last value can be "all other locations". Example: ["zone 1", "zone 2", "all other locations"]. The referred postal code groups must match the delivery country of the service. Must be non-empty. Can only be set if all other fields are not set.
+                        "A String",
+                      ],
+                      "weights": [ # A list of inclusive order weight upper bounds. The last weight's value can be "infinity". For example [{"value": "10", "unit": "kg"}, {"value": "50", "unit": "kg"}, {"value": "infinity", "unit": "kg"}] represents the headers "<= 10kg", " 50kg". All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
+                        {
+                          "value": "A String", # The weight represented as a number.
+                          "unit": "A String", # The weight unit.
+                        },
+                      ],
+                      "locations": [ # A list of location ID sets. Must be non-empty. Can only be set if all other fields are not set.
+                        {
+                          "locationIds": [ # A non-empty list of location IDs. They must all be of the same location type (e.g., state).
+                            "A String",
+                          ],
+                        },
+                      ],
+                      "numberOfItems": [ # A list of inclusive number of items upper bounds. The last value can be "infinity". For example ["10", "50", "infinity"] represents the headers "<= 10 items", " 50 items". Must be non-empty. Can only be set if all other fields are not set.
+                        "A String",
+                      ],
+                    },
+                    "rows": [ # The list of rows that constitute the table. Must have the same length as rowHeaders. Required.
+                      {
+                        "cells": [ # The list of cells that constitute the row. Must have the same length as columnHeaders for two-dimensional tables, a length of 1 for one-dimensional tables. Required.
+                          { # The single value of a rate group or the value of a rate group table's cell. Exactly one of noShipping, flatRate, pricePercentage, carrierRateName, subtableName must be set.
+                            "carrierRateName": "A String", # The name of a carrier rate referring to a carrier rate defined in the same rate group. Can only be set if all other fields are not set.
+                            "noShipping": True or False, # If true, then the product can't ship. Must be true when set, can only be set if all other fields are not set.
+                            "pricePercentage": "A String", # A percentage of the price represented as a number in decimal notation (e.g., "5.4"). Can only be set if all other fields are not set.
+                            "subtableName": "A String", # The name of a subtable. Can only be set in table cells (i.e., not for single values), and only if all other fields are not set.
+                            "flatRate": { # A flat rate. Can only be set if all other fields are not set.
+                              "currency": "A String", # The currency of the price.
+                              "value": "A String", # The price represented as a number.
+                            },
+                          },
+                        ],
+                      },
+                    ],
+                    "columnHeaders": { # A non-empty list of row or column headers for a table. Exactly one of prices, weights, numItems, postalCodeGroupNames, or location must be set. # Headers of the table's columns. Optional: if not set then the table has only one dimension.
+                      "prices": [ # A list of inclusive order price upper bounds. The last price's value can be "infinity". For example [{"value": "10", "currency": "USD"}, {"value": "500", "currency": "USD"}, {"value": "infinity", "currency": "USD"}] represents the headers "<= $10", " $500". All prices within a service must have the same currency. Must be non-empty. Can only be set if all other fields are not set.
+                        {
+                          "currency": "A String", # The currency of the price.
+                          "value": "A String", # The price represented as a number.
+                        },
+                      ],
+                      "postalCodeGroupNames": [ # A list of postal group names. The last value can be "all other locations". Example: ["zone 1", "zone 2", "all other locations"]. The referred postal code groups must match the delivery country of the service. Must be non-empty. Can only be set if all other fields are not set.
+                        "A String",
+                      ],
+                      "weights": [ # A list of inclusive order weight upper bounds. The last weight's value can be "infinity". For example [{"value": "10", "unit": "kg"}, {"value": "50", "unit": "kg"}, {"value": "infinity", "unit": "kg"}] represents the headers "<= 10kg", " 50kg". All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
+                        {
+                          "value": "A String", # The weight represented as a number.
+                          "unit": "A String", # The weight unit.
+                        },
+                      ],
+                      "locations": [ # A list of location ID sets. Must be non-empty. Can only be set if all other fields are not set.
+                        {
+                          "locationIds": [ # A non-empty list of location IDs. They must all be of the same location type (e.g., state).
+                            "A String",
+                          ],
+                        },
+                      ],
+                      "numberOfItems": [ # A list of inclusive number of items upper bounds. The last value can be "infinity". For example ["10", "50", "infinity"] represents the headers "<= 10 items", " 50 items". Must be non-empty. Can only be set if all other fields are not set.
+                        "A String",
+                      ],
+                    },
+                    "name": "A String", # Name of the table. Required for subtables, ignored for the main table.
+                  },
+                  "singleValue": { # The single value of a rate group or the value of a rate group table's cell. Exactly one of noShipping, flatRate, pricePercentage, carrierRateName, subtableName must be set. # The value of the rate group (e.g. flat rate $10). Can only be set if mainTable and subtables are not set.
+                    "carrierRateName": "A String", # The name of a carrier rate referring to a carrier rate defined in the same rate group. Can only be set if all other fields are not set.
+                    "noShipping": True or False, # If true, then the product can't ship. Must be true when set, can only be set if all other fields are not set.
+                    "pricePercentage": "A String", # A percentage of the price represented as a number in decimal notation (e.g., "5.4"). Can only be set if all other fields are not set.
+                    "subtableName": "A String", # The name of a subtable. Can only be set in table cells (i.e., not for single values), and only if all other fields are not set.
+                    "flatRate": { # A flat rate. Can only be set if all other fields are not set.
+                      "currency": "A String", # The currency of the price.
+                      "value": "A String", # The price represented as a number.
+                    },
+                  },
                 },
               ],
               "currency": "A String", # The CLDR code of the currency to which this service applies. Must match that of the prices in rate groups.
               "active": True or False, # A boolean exposing the active status of the shipping service. Required.
+              "minimumOrderValue": { # Minimum order value for this service. If set, indicates that customers will have to spend at least this amount. All prices within a service must have the same currency.
+                "currency": "A String", # The currency of the price.
+                "value": "A String", # The price represented as a number.
+              },
             },
           ],
           "postalCodeGroups": [ # A list of postal code groups that can be referred to in services. Optional.
@@ -320,7 +363,7 @@
     ],
   }
 
-  dryRun: boolean, Flag to run the request in dry-run mode.
+  dryRun: boolean, Flag to simulate a request like in a live environment. If set to true, dry-run mode checks the validity of the request and returns errors (if any).
 
 Returns:
   An object of the form:
@@ -342,120 +385,60 @@
             },
           ],
         },
-        "shippingSettings": { # The merchant account's shipping settings. # The retrieved or updated account shipping settings.
+        "shippingSettings": { # The merchant account's shipping settings. All methods except getsupportedcarriers and getsupportedholidays require the admin role. # The retrieved or updated account shipping settings.
           "services": [ # The target account's list of services. Optional.
             {
               "name": "A String", # Free-form name of the service. Must be unique within target account. Required.
               "deliveryTime": { # Time spent in various aspects from order to the delivery of the product. Required.
-                "maxTransitTimeInDays": 42, # Maximum number of business days that is spent in transit. 0 means same day delivery, 1 means next day delivery. Must be greater than or equal to minTransitTimeInDays. Required.
-                "minTransitTimeInDays": 42, # Minimum number of business days that is spent in transit. 0 means same day delivery, 1 means next day delivery. Required.
+                "maxHandlingTimeInDays": 42, # Maximum number of business days spent before an order is shipped. 0 means same day shipped, 1 means next day shipped. Must be greater than or equal to minHandlingTimeInDays.
+                "transitTimeTable": { # Transit time table, number of business days spent in transit based on row and column dimensions. Either {min,max}transitTimeInDays or transitTimeTable can be set, but not both.
+                  "rows": [
+                    {
+                      "values": [
+                        {
+                          "maxTransitTimeInDays": 42, # Must be greater than or equal to minTransitTimeInDays.
+                          "minTransitTimeInDays": 42, # Transit time range (min-max) in business days. 0 means same day delivery, 1 means next day delivery.
+                        },
+                      ],
+                    },
+                  ],
+                  "postalCodeGroupNames": [ # A list of postal group names. The last value can be "all other locations". Example: ["zone 1", "zone 2", "all other locations"]. The referred postal code groups must match the delivery country of the service.
+                    "A String",
+                  ],
+                  "transitTimeLabels": [ # A list of transit time labels. The last value can be "all other labels". Example: ["food", "electronics", "all other labels"].
+                    "A String",
+                  ],
+                },
+                "minHandlingTimeInDays": 42, # Minimum number of business days spent before an order is shipped. 0 means same day shipped, 1 means next day shipped.
+                "cutoffTime": { # Business days cutoff time definition. If not configured the cutoff time will be defaulted to 8AM PST.
+                  "timezone": "A String", # Timezone identifier for the cutoff time. A list of identifiers can be found in  the AdWords API documentation. E.g. "Europe/Zurich". Required.
+                  "minute": 42, # Minute of the cutoff time until which an order has to be placed to be processed in the same day. Required.
+                  "hour": 42, # Hour of the cutoff time until which an order has to be placed to be processed in the same day. Required.
+                },
+                "maxTransitTimeInDays": 42, # Maximum number of business days that is spent in transit. 0 means same day delivery, 1 means next day delivery. Must be greater than or equal to minTransitTimeInDays.
+                "minTransitTimeInDays": 42, # Minimum number of business days that is spent in transit. 0 means same day delivery, 1 means next day delivery. Either {min,max}transitTimeInDays or transitTimeTable must be set, but not both.
+                "holidayCutoffs": [ # Holiday cutoff definitions. If configured, they specify order cutoff times for holiday-specific shipping.
+                  {
+                    "visibleFromDate": "A String", # Date on which the deadline will become visible to consumers in ISO 8601 format. E.g. "2016-10-31" for 31st October 2016. Required.
+                    "deadlineHour": 42, # Hour of the day on the deadline date until which the order has to be placed to qualify for the delivery guarantee. Possible values are: 0 (midnight), 1, ..., 12 (noon), 13, ..., 23. Required.
+                    "holidayId": "A String", # Unique identifier for the holiday. Required.
+                    "deadlineDate": "A String", # Date of the order deadline, in ISO 8601 format. E.g. "2016-11-29" for 29th November 2016. Required.
+                    "deadlineTimezone": "A String", # Timezone identifier for the deadline hour. A list of identifiers can be found in  the AdWords API documentation. E.g. "Europe/Zurich". Required.
+                  },
+                ],
               },
+              "eligibility": "A String", # Eligibility for this service.
               "deliveryCountry": "A String", # The CLDR territory code of the country to which the service applies. Required.
               "rateGroups": [ # Shipping rate group definitions. Only the last one is allowed to have an empty applicableShippingLabels, which means "everything else". The other applicableShippingLabels must not overlap.
                 {
                   "applicableShippingLabels": [ # A list of shipping labels defining the products to which this rate group applies to. This is a disjunction: only one of the labels has to match for the rate group to apply. May only be empty for the last rate group of a service. Required.
                     "A String",
                   ],
-                  "carrierRates": [ # A list of carrier rates that can be referred to by mainTable or singleValue.
-                    {
-                      "name": "A String", # Name of the carrier rate. Must be unique per rate group. Required.
-                      "originPostalCode": "A String", # Shipping origin for this carrier rate. Required.
-                      "flatAdjustment": { # Additive shipping rate modifier. Can be negative. For example { "value": "1", "currency" : "USD" } adds $1 to the rate, { "value": "-3", "currency" : "USD" } removes $3 from the rate. Optional.
-                        "currency": "A String", # The currency of the price.
-                        "value": "A String", # The price represented as a number.
-                      },
-                      "percentageAdjustment": "A String", # Multiplicative shipping rate modifier as a number in decimal notation. Can be negative. For example "5.4" increases the rate by 5.4%, "-3" decreases the rate by 3%. Optional.
-                      "carrierName": "A String", # Carrier service, such as "UPS" or "Fedex". The list of supported carriers can be retrieved via the getSupportedCarriers method. Required.
-                      "carrierService": "A String", # Carrier service, such as "ground" or "2 days". The list of supported services for a carrier can be retrieved via the getSupportedCarriers method. Required.
-                    },
-                  ],
-                  "singleValue": { # The single value of a rate group or the value of a rate group table's cell. Exactly one of noShipping, flatRate, pricePercentage, carrierRateName, subtableName must be set. # The value of the rate group (e.g. flat rate $10). Can only be set if mainTable and subtables are not set.
-                    "carrierRateName": "A String", # The name of a carrier rate referring to a carrier rate defined in the same rate group. Can only be set if all other fields are not set.
-                    "noShipping": True or False, # If true, then the product can't ship. Must be true when set, can only be set if all other fields are not set.
-                    "pricePercentage": "A String", # A percentage of the price represented as a number in decimal notation (e.g., "5.4"). Can only be set if all other fields are not set.
-                    "subtableName": "A String", # The name of a subtable. Can only be set in table cells (i.e., not for single values), and only if all other fields are not set.
-                    "flatRate": { # A flat rate. Can only be set if all other fields are not set.
-                      "currency": "A String", # The currency of the price.
-                      "value": "A String", # The price represented as a number.
-                    },
-                  },
-                  "mainTable": { # A table defining the rate group, when singleValue is not expressive enough. Can only be set if singleValue is not set.
-                    "rowHeaders": { # A non-empty list of row or column headers for a table. Exactly one of prices, weights, numItems, postalCodeGroupNames, or locations must be set. # Headers of the table's rows. Required.
-                      "prices": [ # be "infinity". For example [{"value": "10", "currency": "USD"}, {"value": "500", "currency": "USD"}, {"value": "infinity", "currency": "USD"}] represents the headers "<= $10", " $500". All prices within a service must have the same currency. Must be non-empty. Can only be set if all other fields are not set.
-                        {
-                          "currency": "A String", # The currency of the price.
-                          "value": "A String", # The price represented as a number.
-                        },
-                      ],
-                      "postalCodeGroupNames": [ # A list of postal group names. The last value can be "all other locations". Example: ["zone 1", "zone 2", "all other locations"]. The referred postal code groups must match the delivery country of the service. Must be non-empty. Can only be set if all other fields are not set.
-                        "A String",
-                      ],
-                      "weights": [ # be "infinity". For example [{"value": "10", "unit": "kg"}, {"value": "50", "unit": "kg"}, {"value": "infinity", "unit": "kg"}] represents the headers "<= 10kg", " 50kg". All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
-                        {
-                          "value": "A String", # The weight represented as a number.
-                          "unit": "A String", # The weight unit.
-                        },
-                      ],
-                      "locations": [ # A list of location ID sets. Must be non-empty. Can only be set if all other fields are not set.
-                        {
-                          "locationIds": [ # A non-empty list of location IDs. They must all be of the same location type (e.g., state).
-                            "A String",
-                          ],
-                        },
-                      ],
-                      "numberOfItems": [ # A list of inclusive number of items upper bounds. The last value can be "infinity". For example ["10", "50", "infinity"] represents the headers "<= 10 items", " 50 items". Must be non-empty. Can only be set if all other fields are not set.
-                        "A String",
-                      ],
-                    },
-                    "rows": [ # The list of rows that constitute the table. Must have the same length as rowHeaders. Required.
-                      {
-                        "cells": [ # The list of cells that constitute the row. Must have the same length as columnHeaders for two-dimensional tables, a length of 1 for one-dimensional tables. Required.
-                          { # The single value of a rate group or the value of a rate group table's cell. Exactly one of noShipping, flatRate, pricePercentage, carrierRateName, subtableName must be set.
-                            "carrierRateName": "A String", # The name of a carrier rate referring to a carrier rate defined in the same rate group. Can only be set if all other fields are not set.
-                            "noShipping": True or False, # If true, then the product can't ship. Must be true when set, can only be set if all other fields are not set.
-                            "pricePercentage": "A String", # A percentage of the price represented as a number in decimal notation (e.g., "5.4"). Can only be set if all other fields are not set.
-                            "subtableName": "A String", # The name of a subtable. Can only be set in table cells (i.e., not for single values), and only if all other fields are not set.
-                            "flatRate": { # A flat rate. Can only be set if all other fields are not set.
-                              "currency": "A String", # The currency of the price.
-                              "value": "A String", # The price represented as a number.
-                            },
-                          },
-                        ],
-                      },
-                    ],
-                    "columnHeaders": { # A non-empty list of row or column headers for a table. Exactly one of prices, weights, numItems, postalCodeGroupNames, or locations must be set. # Headers of the table's columns. Optional: if not set then the table has only one dimension.
-                      "prices": [ # be "infinity". For example [{"value": "10", "currency": "USD"}, {"value": "500", "currency": "USD"}, {"value": "infinity", "currency": "USD"}] represents the headers "<= $10", " $500". All prices within a service must have the same currency. Must be non-empty. Can only be set if all other fields are not set.
-                        {
-                          "currency": "A String", # The currency of the price.
-                          "value": "A String", # The price represented as a number.
-                        },
-                      ],
-                      "postalCodeGroupNames": [ # A list of postal group names. The last value can be "all other locations". Example: ["zone 1", "zone 2", "all other locations"]. The referred postal code groups must match the delivery country of the service. Must be non-empty. Can only be set if all other fields are not set.
-                        "A String",
-                      ],
-                      "weights": [ # be "infinity". For example [{"value": "10", "unit": "kg"}, {"value": "50", "unit": "kg"}, {"value": "infinity", "unit": "kg"}] represents the headers "<= 10kg", " 50kg". All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
-                        {
-                          "value": "A String", # The weight represented as a number.
-                          "unit": "A String", # The weight unit.
-                        },
-                      ],
-                      "locations": [ # A list of location ID sets. Must be non-empty. Can only be set if all other fields are not set.
-                        {
-                          "locationIds": [ # A non-empty list of location IDs. They must all be of the same location type (e.g., state).
-                            "A String",
-                          ],
-                        },
-                      ],
-                      "numberOfItems": [ # A list of inclusive number of items upper bounds. The last value can be "infinity". For example ["10", "50", "infinity"] represents the headers "<= 10 items", " 50 items". Must be non-empty. Can only be set if all other fields are not set.
-                        "A String",
-                      ],
-                    },
-                    "name": "A String", # Name of the table. Required for subtables, ignored for the main table.
-                  },
+                  "name": "A String", # Name of the rate group. Optional. If set has to be unique within shipping service.
                   "subtables": [ # A list of subtables referred to by mainTable. Can only be set if mainTable is set.
                     {
-                      "rowHeaders": { # A non-empty list of row or column headers for a table. Exactly one of prices, weights, numItems, postalCodeGroupNames, or locations must be set. # Headers of the table's rows. Required.
-                        "prices": [ # be "infinity". For example [{"value": "10", "currency": "USD"}, {"value": "500", "currency": "USD"}, {"value": "infinity", "currency": "USD"}] represents the headers "<= $10", " $500". All prices within a service must have the same currency. Must be non-empty. Can only be set if all other fields are not set.
+                      "rowHeaders": { # A non-empty list of row or column headers for a table. Exactly one of prices, weights, numItems, postalCodeGroupNames, or location must be set. # Headers of the table's rows. Required.
+                        "prices": [ # A list of inclusive order price upper bounds. The last price's value can be "infinity". For example [{"value": "10", "currency": "USD"}, {"value": "500", "currency": "USD"}, {"value": "infinity", "currency": "USD"}] represents the headers "<= $10", " $500". All prices within a service must have the same currency. Must be non-empty. Can only be set if all other fields are not set.
                           {
                             "currency": "A String", # The currency of the price.
                             "value": "A String", # The price represented as a number.
@@ -464,7 +447,7 @@
                         "postalCodeGroupNames": [ # A list of postal group names. The last value can be "all other locations". Example: ["zone 1", "zone 2", "all other locations"]. The referred postal code groups must match the delivery country of the service. Must be non-empty. Can only be set if all other fields are not set.
                           "A String",
                         ],
-                        "weights": [ # be "infinity". For example [{"value": "10", "unit": "kg"}, {"value": "50", "unit": "kg"}, {"value": "infinity", "unit": "kg"}] represents the headers "<= 10kg", " 50kg". All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
+                        "weights": [ # A list of inclusive order weight upper bounds. The last weight's value can be "infinity". For example [{"value": "10", "unit": "kg"}, {"value": "50", "unit": "kg"}, {"value": "infinity", "unit": "kg"}] represents the headers "<= 10kg", " 50kg". All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
                           {
                             "value": "A String", # The weight represented as a number.
                             "unit": "A String", # The weight unit.
@@ -497,8 +480,8 @@
                           ],
                         },
                       ],
-                      "columnHeaders": { # A non-empty list of row or column headers for a table. Exactly one of prices, weights, numItems, postalCodeGroupNames, or locations must be set. # Headers of the table's columns. Optional: if not set then the table has only one dimension.
-                        "prices": [ # be "infinity". For example [{"value": "10", "currency": "USD"}, {"value": "500", "currency": "USD"}, {"value": "infinity", "currency": "USD"}] represents the headers "<= $10", " $500". All prices within a service must have the same currency. Must be non-empty. Can only be set if all other fields are not set.
+                      "columnHeaders": { # A non-empty list of row or column headers for a table. Exactly one of prices, weights, numItems, postalCodeGroupNames, or location must be set. # Headers of the table's columns. Optional: if not set then the table has only one dimension.
+                        "prices": [ # A list of inclusive order price upper bounds. The last price's value can be "infinity". For example [{"value": "10", "currency": "USD"}, {"value": "500", "currency": "USD"}, {"value": "infinity", "currency": "USD"}] represents the headers "<= $10", " $500". All prices within a service must have the same currency. Must be non-empty. Can only be set if all other fields are not set.
                           {
                             "currency": "A String", # The currency of the price.
                             "value": "A String", # The price represented as a number.
@@ -507,7 +490,7 @@
                         "postalCodeGroupNames": [ # A list of postal group names. The last value can be "all other locations". Example: ["zone 1", "zone 2", "all other locations"]. The referred postal code groups must match the delivery country of the service. Must be non-empty. Can only be set if all other fields are not set.
                           "A String",
                         ],
-                        "weights": [ # be "infinity". For example [{"value": "10", "unit": "kg"}, {"value": "50", "unit": "kg"}, {"value": "infinity", "unit": "kg"}] represents the headers "<= 10kg", " 50kg". All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
+                        "weights": [ # A list of inclusive order weight upper bounds. The last weight's value can be "infinity". For example [{"value": "10", "unit": "kg"}, {"value": "50", "unit": "kg"}, {"value": "infinity", "unit": "kg"}] represents the headers "<= 10kg", " 50kg". All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
                           {
                             "value": "A String", # The weight represented as a number.
                             "unit": "A String", # The weight unit.
@@ -527,10 +510,110 @@
                       "name": "A String", # Name of the table. Required for subtables, ignored for the main table.
                     },
                   ],
+                  "carrierRates": [ # A list of carrier rates that can be referred to by mainTable or singleValue.
+                    {
+                      "name": "A String", # Name of the carrier rate. Must be unique per rate group. Required.
+                      "originPostalCode": "A String", # Shipping origin for this carrier rate. Required.
+                      "flatAdjustment": { # Additive shipping rate modifier. Can be negative. For example { "value": "1", "currency" : "USD" } adds $1 to the rate, { "value": "-3", "currency" : "USD" } removes $3 from the rate. Optional.
+                        "currency": "A String", # The currency of the price.
+                        "value": "A String", # The price represented as a number.
+                      },
+                      "percentageAdjustment": "A String", # Multiplicative shipping rate modifier as a number in decimal notation. Can be negative. For example "5.4" increases the rate by 5.4%, "-3" decreases the rate by 3%. Optional.
+                      "carrierName": "A String", # Carrier service, such as "UPS" or "Fedex". The list of supported carriers can be retrieved via the getSupportedCarriers method. Required.
+                      "carrierService": "A String", # Carrier service, such as "ground" or "2 days". The list of supported services for a carrier can be retrieved via the getSupportedCarriers method. Required.
+                    },
+                  ],
+                  "mainTable": { # A table defining the rate group, when singleValue is not expressive enough. Can only be set if singleValue is not set.
+                    "rowHeaders": { # A non-empty list of row or column headers for a table. Exactly one of prices, weights, numItems, postalCodeGroupNames, or location must be set. # Headers of the table's rows. Required.
+                      "prices": [ # A list of inclusive order price upper bounds. The last price's value can be "infinity". For example [{"value": "10", "currency": "USD"}, {"value": "500", "currency": "USD"}, {"value": "infinity", "currency": "USD"}] represents the headers "<= $10", " $500". All prices within a service must have the same currency. Must be non-empty. Can only be set if all other fields are not set.
+                        {
+                          "currency": "A String", # The currency of the price.
+                          "value": "A String", # The price represented as a number.
+                        },
+                      ],
+                      "postalCodeGroupNames": [ # A list of postal group names. The last value can be "all other locations". Example: ["zone 1", "zone 2", "all other locations"]. The referred postal code groups must match the delivery country of the service. Must be non-empty. Can only be set if all other fields are not set.
+                        "A String",
+                      ],
+                      "weights": [ # A list of inclusive order weight upper bounds. The last weight's value can be "infinity". For example [{"value": "10", "unit": "kg"}, {"value": "50", "unit": "kg"}, {"value": "infinity", "unit": "kg"}] represents the headers "<= 10kg", " 50kg". All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
+                        {
+                          "value": "A String", # The weight represented as a number.
+                          "unit": "A String", # The weight unit.
+                        },
+                      ],
+                      "locations": [ # A list of location ID sets. Must be non-empty. Can only be set if all other fields are not set.
+                        {
+                          "locationIds": [ # A non-empty list of location IDs. They must all be of the same location type (e.g., state).
+                            "A String",
+                          ],
+                        },
+                      ],
+                      "numberOfItems": [ # A list of inclusive number of items upper bounds. The last value can be "infinity". For example ["10", "50", "infinity"] represents the headers "<= 10 items", " 50 items". Must be non-empty. Can only be set if all other fields are not set.
+                        "A String",
+                      ],
+                    },
+                    "rows": [ # The list of rows that constitute the table. Must have the same length as rowHeaders. Required.
+                      {
+                        "cells": [ # The list of cells that constitute the row. Must have the same length as columnHeaders for two-dimensional tables, a length of 1 for one-dimensional tables. Required.
+                          { # The single value of a rate group or the value of a rate group table's cell. Exactly one of noShipping, flatRate, pricePercentage, carrierRateName, subtableName must be set.
+                            "carrierRateName": "A String", # The name of a carrier rate referring to a carrier rate defined in the same rate group. Can only be set if all other fields are not set.
+                            "noShipping": True or False, # If true, then the product can't ship. Must be true when set, can only be set if all other fields are not set.
+                            "pricePercentage": "A String", # A percentage of the price represented as a number in decimal notation (e.g., "5.4"). Can only be set if all other fields are not set.
+                            "subtableName": "A String", # The name of a subtable. Can only be set in table cells (i.e., not for single values), and only if all other fields are not set.
+                            "flatRate": { # A flat rate. Can only be set if all other fields are not set.
+                              "currency": "A String", # The currency of the price.
+                              "value": "A String", # The price represented as a number.
+                            },
+                          },
+                        ],
+                      },
+                    ],
+                    "columnHeaders": { # A non-empty list of row or column headers for a table. Exactly one of prices, weights, numItems, postalCodeGroupNames, or location must be set. # Headers of the table's columns. Optional: if not set then the table has only one dimension.
+                      "prices": [ # A list of inclusive order price upper bounds. The last price's value can be "infinity". For example [{"value": "10", "currency": "USD"}, {"value": "500", "currency": "USD"}, {"value": "infinity", "currency": "USD"}] represents the headers "<= $10", " $500". All prices within a service must have the same currency. Must be non-empty. Can only be set if all other fields are not set.
+                        {
+                          "currency": "A String", # The currency of the price.
+                          "value": "A String", # The price represented as a number.
+                        },
+                      ],
+                      "postalCodeGroupNames": [ # A list of postal group names. The last value can be "all other locations". Example: ["zone 1", "zone 2", "all other locations"]. The referred postal code groups must match the delivery country of the service. Must be non-empty. Can only be set if all other fields are not set.
+                        "A String",
+                      ],
+                      "weights": [ # A list of inclusive order weight upper bounds. The last weight's value can be "infinity". For example [{"value": "10", "unit": "kg"}, {"value": "50", "unit": "kg"}, {"value": "infinity", "unit": "kg"}] represents the headers "<= 10kg", " 50kg". All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
+                        {
+                          "value": "A String", # The weight represented as a number.
+                          "unit": "A String", # The weight unit.
+                        },
+                      ],
+                      "locations": [ # A list of location ID sets. Must be non-empty. Can only be set if all other fields are not set.
+                        {
+                          "locationIds": [ # A non-empty list of location IDs. They must all be of the same location type (e.g., state).
+                            "A String",
+                          ],
+                        },
+                      ],
+                      "numberOfItems": [ # A list of inclusive number of items upper bounds. The last value can be "infinity". For example ["10", "50", "infinity"] represents the headers "<= 10 items", " 50 items". Must be non-empty. Can only be set if all other fields are not set.
+                        "A String",
+                      ],
+                    },
+                    "name": "A String", # Name of the table. Required for subtables, ignored for the main table.
+                  },
+                  "singleValue": { # The single value of a rate group or the value of a rate group table's cell. Exactly one of noShipping, flatRate, pricePercentage, carrierRateName, subtableName must be set. # The value of the rate group (e.g. flat rate $10). Can only be set if mainTable and subtables are not set.
+                    "carrierRateName": "A String", # The name of a carrier rate referring to a carrier rate defined in the same rate group. Can only be set if all other fields are not set.
+                    "noShipping": True or False, # If true, then the product can't ship. Must be true when set, can only be set if all other fields are not set.
+                    "pricePercentage": "A String", # A percentage of the price represented as a number in decimal notation (e.g., "5.4"). Can only be set if all other fields are not set.
+                    "subtableName": "A String", # The name of a subtable. Can only be set in table cells (i.e., not for single values), and only if all other fields are not set.
+                    "flatRate": { # A flat rate. Can only be set if all other fields are not set.
+                      "currency": "A String", # The currency of the price.
+                      "value": "A String", # The price represented as a number.
+                    },
+                  },
                 },
               ],
               "currency": "A String", # The CLDR code of the currency to which this service applies. Must match that of the prices in rate groups.
               "active": True or False, # A boolean exposing the active status of the shipping service. Required.
+              "minimumOrderValue": { # Minimum order value for this service. If set, indicates that customers will have to spend at least this amount. All prices within a service must have the same currency.
+                "currency": "A String", # The currency of the price.
+                "value": "A String", # The price represented as a number.
+              },
             },
           ],
           "postalCodeGroups": [ # A list of postal code groups that can be referred to in services. Optional.
@@ -554,129 +637,69 @@
 
 <div class="method">
     <code class="details" id="get">get(merchantId, accountId)</code>
-  <pre>Retrieves the shipping settings of the account. This method can only be called for accounts to which the managing account has access: either the managing account itself or sub-accounts if the managing account is a multi-client account.
+  <pre>Retrieves the shipping settings of the account.
 
 Args:
-  merchantId: string, The ID of the managing account. (required)
+  merchantId: string, The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and accountId must be the ID of a sub-account of this account. (required)
   accountId: string, The ID of the account for which to get/update shipping settings. (required)
 
 Returns:
   An object of the form:
 
-    { # The merchant account's shipping settings.
+    { # The merchant account's shipping settings. All methods except getsupportedcarriers and getsupportedholidays require the admin role.
     "services": [ # The target account's list of services. Optional.
       {
         "name": "A String", # Free-form name of the service. Must be unique within target account. Required.
         "deliveryTime": { # Time spent in various aspects from order to the delivery of the product. Required.
-          "maxTransitTimeInDays": 42, # Maximum number of business days that is spent in transit. 0 means same day delivery, 1 means next day delivery. Must be greater than or equal to minTransitTimeInDays. Required.
-          "minTransitTimeInDays": 42, # Minimum number of business days that is spent in transit. 0 means same day delivery, 1 means next day delivery. Required.
+          "maxHandlingTimeInDays": 42, # Maximum number of business days spent before an order is shipped. 0 means same day shipped, 1 means next day shipped. Must be greater than or equal to minHandlingTimeInDays.
+          "transitTimeTable": { # Transit time table, number of business days spent in transit based on row and column dimensions. Either {min,max}transitTimeInDays or transitTimeTable can be set, but not both.
+            "rows": [
+              {
+                "values": [
+                  {
+                    "maxTransitTimeInDays": 42, # Must be greater than or equal to minTransitTimeInDays.
+                    "minTransitTimeInDays": 42, # Transit time range (min-max) in business days. 0 means same day delivery, 1 means next day delivery.
+                  },
+                ],
+              },
+            ],
+            "postalCodeGroupNames": [ # A list of postal group names. The last value can be "all other locations". Example: ["zone 1", "zone 2", "all other locations"]. The referred postal code groups must match the delivery country of the service.
+              "A String",
+            ],
+            "transitTimeLabels": [ # A list of transit time labels. The last value can be "all other labels". Example: ["food", "electronics", "all other labels"].
+              "A String",
+            ],
+          },
+          "minHandlingTimeInDays": 42, # Minimum number of business days spent before an order is shipped. 0 means same day shipped, 1 means next day shipped.
+          "cutoffTime": { # Business days cutoff time definition. If not configured the cutoff time will be defaulted to 8AM PST.
+            "timezone": "A String", # Timezone identifier for the cutoff time. A list of identifiers can be found in  the AdWords API documentation. E.g. "Europe/Zurich". Required.
+            "minute": 42, # Minute of the cutoff time until which an order has to be placed to be processed in the same day. Required.
+            "hour": 42, # Hour of the cutoff time until which an order has to be placed to be processed in the same day. Required.
+          },
+          "maxTransitTimeInDays": 42, # Maximum number of business days that is spent in transit. 0 means same day delivery, 1 means next day delivery. Must be greater than or equal to minTransitTimeInDays.
+          "minTransitTimeInDays": 42, # Minimum number of business days that is spent in transit. 0 means same day delivery, 1 means next day delivery. Either {min,max}transitTimeInDays or transitTimeTable must be set, but not both.
+          "holidayCutoffs": [ # Holiday cutoff definitions. If configured, they specify order cutoff times for holiday-specific shipping.
+            {
+              "visibleFromDate": "A String", # Date on which the deadline will become visible to consumers in ISO 8601 format. E.g. "2016-10-31" for 31st October 2016. Required.
+              "deadlineHour": 42, # Hour of the day on the deadline date until which the order has to be placed to qualify for the delivery guarantee. Possible values are: 0 (midnight), 1, ..., 12 (noon), 13, ..., 23. Required.
+              "holidayId": "A String", # Unique identifier for the holiday. Required.
+              "deadlineDate": "A String", # Date of the order deadline, in ISO 8601 format. E.g. "2016-11-29" for 29th November 2016. Required.
+              "deadlineTimezone": "A String", # Timezone identifier for the deadline hour. A list of identifiers can be found in  the AdWords API documentation. E.g. "Europe/Zurich". Required.
+            },
+          ],
         },
+        "eligibility": "A String", # Eligibility for this service.
         "deliveryCountry": "A String", # The CLDR territory code of the country to which the service applies. Required.
         "rateGroups": [ # Shipping rate group definitions. Only the last one is allowed to have an empty applicableShippingLabels, which means "everything else". The other applicableShippingLabels must not overlap.
           {
             "applicableShippingLabels": [ # A list of shipping labels defining the products to which this rate group applies to. This is a disjunction: only one of the labels has to match for the rate group to apply. May only be empty for the last rate group of a service. Required.
               "A String",
             ],
-            "carrierRates": [ # A list of carrier rates that can be referred to by mainTable or singleValue.
-              {
-                "name": "A String", # Name of the carrier rate. Must be unique per rate group. Required.
-                "originPostalCode": "A String", # Shipping origin for this carrier rate. Required.
-                "flatAdjustment": { # Additive shipping rate modifier. Can be negative. For example { "value": "1", "currency" : "USD" } adds $1 to the rate, { "value": "-3", "currency" : "USD" } removes $3 from the rate. Optional.
-                  "currency": "A String", # The currency of the price.
-                  "value": "A String", # The price represented as a number.
-                },
-                "percentageAdjustment": "A String", # Multiplicative shipping rate modifier as a number in decimal notation. Can be negative. For example "5.4" increases the rate by 5.4%, "-3" decreases the rate by 3%. Optional.
-                "carrierName": "A String", # Carrier service, such as "UPS" or "Fedex". The list of supported carriers can be retrieved via the getSupportedCarriers method. Required.
-                "carrierService": "A String", # Carrier service, such as "ground" or "2 days". The list of supported services for a carrier can be retrieved via the getSupportedCarriers method. Required.
-              },
-            ],
-            "singleValue": { # The single value of a rate group or the value of a rate group table's cell. Exactly one of noShipping, flatRate, pricePercentage, carrierRateName, subtableName must be set. # The value of the rate group (e.g. flat rate $10). Can only be set if mainTable and subtables are not set.
-              "carrierRateName": "A String", # The name of a carrier rate referring to a carrier rate defined in the same rate group. Can only be set if all other fields are not set.
-              "noShipping": True or False, # If true, then the product can't ship. Must be true when set, can only be set if all other fields are not set.
-              "pricePercentage": "A String", # A percentage of the price represented as a number in decimal notation (e.g., "5.4"). Can only be set if all other fields are not set.
-              "subtableName": "A String", # The name of a subtable. Can only be set in table cells (i.e., not for single values), and only if all other fields are not set.
-              "flatRate": { # A flat rate. Can only be set if all other fields are not set.
-                "currency": "A String", # The currency of the price.
-                "value": "A String", # The price represented as a number.
-              },
-            },
-            "mainTable": { # A table defining the rate group, when singleValue is not expressive enough. Can only be set if singleValue is not set.
-              "rowHeaders": { # A non-empty list of row or column headers for a table. Exactly one of prices, weights, numItems, postalCodeGroupNames, or locations must be set. # Headers of the table's rows. Required.
-                "prices": [ # be "infinity". For example [{"value": "10", "currency": "USD"}, {"value": "500", "currency": "USD"}, {"value": "infinity", "currency": "USD"}] represents the headers "<= $10", " $500". All prices within a service must have the same currency. Must be non-empty. Can only be set if all other fields are not set.
-                  {
-                    "currency": "A String", # The currency of the price.
-                    "value": "A String", # The price represented as a number.
-                  },
-                ],
-                "postalCodeGroupNames": [ # A list of postal group names. The last value can be "all other locations". Example: ["zone 1", "zone 2", "all other locations"]. The referred postal code groups must match the delivery country of the service. Must be non-empty. Can only be set if all other fields are not set.
-                  "A String",
-                ],
-                "weights": [ # be "infinity". For example [{"value": "10", "unit": "kg"}, {"value": "50", "unit": "kg"}, {"value": "infinity", "unit": "kg"}] represents the headers "<= 10kg", " 50kg". All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
-                  {
-                    "value": "A String", # The weight represented as a number.
-                    "unit": "A String", # The weight unit.
-                  },
-                ],
-                "locations": [ # A list of location ID sets. Must be non-empty. Can only be set if all other fields are not set.
-                  {
-                    "locationIds": [ # A non-empty list of location IDs. They must all be of the same location type (e.g., state).
-                      "A String",
-                    ],
-                  },
-                ],
-                "numberOfItems": [ # A list of inclusive number of items upper bounds. The last value can be "infinity". For example ["10", "50", "infinity"] represents the headers "<= 10 items", " 50 items". Must be non-empty. Can only be set if all other fields are not set.
-                  "A String",
-                ],
-              },
-              "rows": [ # The list of rows that constitute the table. Must have the same length as rowHeaders. Required.
-                {
-                  "cells": [ # The list of cells that constitute the row. Must have the same length as columnHeaders for two-dimensional tables, a length of 1 for one-dimensional tables. Required.
-                    { # The single value of a rate group or the value of a rate group table's cell. Exactly one of noShipping, flatRate, pricePercentage, carrierRateName, subtableName must be set.
-                      "carrierRateName": "A String", # The name of a carrier rate referring to a carrier rate defined in the same rate group. Can only be set if all other fields are not set.
-                      "noShipping": True or False, # If true, then the product can't ship. Must be true when set, can only be set if all other fields are not set.
-                      "pricePercentage": "A String", # A percentage of the price represented as a number in decimal notation (e.g., "5.4"). Can only be set if all other fields are not set.
-                      "subtableName": "A String", # The name of a subtable. Can only be set in table cells (i.e., not for single values), and only if all other fields are not set.
-                      "flatRate": { # A flat rate. Can only be set if all other fields are not set.
-                        "currency": "A String", # The currency of the price.
-                        "value": "A String", # The price represented as a number.
-                      },
-                    },
-                  ],
-                },
-              ],
-              "columnHeaders": { # A non-empty list of row or column headers for a table. Exactly one of prices, weights, numItems, postalCodeGroupNames, or locations must be set. # Headers of the table's columns. Optional: if not set then the table has only one dimension.
-                "prices": [ # be "infinity". For example [{"value": "10", "currency": "USD"}, {"value": "500", "currency": "USD"}, {"value": "infinity", "currency": "USD"}] represents the headers "<= $10", " $500". All prices within a service must have the same currency. Must be non-empty. Can only be set if all other fields are not set.
-                  {
-                    "currency": "A String", # The currency of the price.
-                    "value": "A String", # The price represented as a number.
-                  },
-                ],
-                "postalCodeGroupNames": [ # A list of postal group names. The last value can be "all other locations". Example: ["zone 1", "zone 2", "all other locations"]. The referred postal code groups must match the delivery country of the service. Must be non-empty. Can only be set if all other fields are not set.
-                  "A String",
-                ],
-                "weights": [ # be "infinity". For example [{"value": "10", "unit": "kg"}, {"value": "50", "unit": "kg"}, {"value": "infinity", "unit": "kg"}] represents the headers "<= 10kg", " 50kg". All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
-                  {
-                    "value": "A String", # The weight represented as a number.
-                    "unit": "A String", # The weight unit.
-                  },
-                ],
-                "locations": [ # A list of location ID sets. Must be non-empty. Can only be set if all other fields are not set.
-                  {
-                    "locationIds": [ # A non-empty list of location IDs. They must all be of the same location type (e.g., state).
-                      "A String",
-                    ],
-                  },
-                ],
-                "numberOfItems": [ # A list of inclusive number of items upper bounds. The last value can be "infinity". For example ["10", "50", "infinity"] represents the headers "<= 10 items", " 50 items". Must be non-empty. Can only be set if all other fields are not set.
-                  "A String",
-                ],
-              },
-              "name": "A String", # Name of the table. Required for subtables, ignored for the main table.
-            },
+            "name": "A String", # Name of the rate group. Optional. If set has to be unique within shipping service.
             "subtables": [ # A list of subtables referred to by mainTable. Can only be set if mainTable is set.
               {
-                "rowHeaders": { # A non-empty list of row or column headers for a table. Exactly one of prices, weights, numItems, postalCodeGroupNames, or locations must be set. # Headers of the table's rows. Required.
-                  "prices": [ # be "infinity". For example [{"value": "10", "currency": "USD"}, {"value": "500", "currency": "USD"}, {"value": "infinity", "currency": "USD"}] represents the headers "<= $10", " $500". All prices within a service must have the same currency. Must be non-empty. Can only be set if all other fields are not set.
+                "rowHeaders": { # A non-empty list of row or column headers for a table. Exactly one of prices, weights, numItems, postalCodeGroupNames, or location must be set. # Headers of the table's rows. Required.
+                  "prices": [ # A list of inclusive order price upper bounds. The last price's value can be "infinity". For example [{"value": "10", "currency": "USD"}, {"value": "500", "currency": "USD"}, {"value": "infinity", "currency": "USD"}] represents the headers "<= $10", " $500". All prices within a service must have the same currency. Must be non-empty. Can only be set if all other fields are not set.
                     {
                       "currency": "A String", # The currency of the price.
                       "value": "A String", # The price represented as a number.
@@ -685,7 +708,7 @@
                   "postalCodeGroupNames": [ # A list of postal group names. The last value can be "all other locations". Example: ["zone 1", "zone 2", "all other locations"]. The referred postal code groups must match the delivery country of the service. Must be non-empty. Can only be set if all other fields are not set.
                     "A String",
                   ],
-                  "weights": [ # be "infinity". For example [{"value": "10", "unit": "kg"}, {"value": "50", "unit": "kg"}, {"value": "infinity", "unit": "kg"}] represents the headers "<= 10kg", " 50kg". All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
+                  "weights": [ # A list of inclusive order weight upper bounds. The last weight's value can be "infinity". For example [{"value": "10", "unit": "kg"}, {"value": "50", "unit": "kg"}, {"value": "infinity", "unit": "kg"}] represents the headers "<= 10kg", " 50kg". All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
                     {
                       "value": "A String", # The weight represented as a number.
                       "unit": "A String", # The weight unit.
@@ -718,8 +741,8 @@
                     ],
                   },
                 ],
-                "columnHeaders": { # A non-empty list of row or column headers for a table. Exactly one of prices, weights, numItems, postalCodeGroupNames, or locations must be set. # Headers of the table's columns. Optional: if not set then the table has only one dimension.
-                  "prices": [ # be "infinity". For example [{"value": "10", "currency": "USD"}, {"value": "500", "currency": "USD"}, {"value": "infinity", "currency": "USD"}] represents the headers "<= $10", " $500". All prices within a service must have the same currency. Must be non-empty. Can only be set if all other fields are not set.
+                "columnHeaders": { # A non-empty list of row or column headers for a table. Exactly one of prices, weights, numItems, postalCodeGroupNames, or location must be set. # Headers of the table's columns. Optional: if not set then the table has only one dimension.
+                  "prices": [ # A list of inclusive order price upper bounds. The last price's value can be "infinity". For example [{"value": "10", "currency": "USD"}, {"value": "500", "currency": "USD"}, {"value": "infinity", "currency": "USD"}] represents the headers "<= $10", " $500". All prices within a service must have the same currency. Must be non-empty. Can only be set if all other fields are not set.
                     {
                       "currency": "A String", # The currency of the price.
                       "value": "A String", # The price represented as a number.
@@ -728,7 +751,7 @@
                   "postalCodeGroupNames": [ # A list of postal group names. The last value can be "all other locations". Example: ["zone 1", "zone 2", "all other locations"]. The referred postal code groups must match the delivery country of the service. Must be non-empty. Can only be set if all other fields are not set.
                     "A String",
                   ],
-                  "weights": [ # be "infinity". For example [{"value": "10", "unit": "kg"}, {"value": "50", "unit": "kg"}, {"value": "infinity", "unit": "kg"}] represents the headers "<= 10kg", " 50kg". All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
+                  "weights": [ # A list of inclusive order weight upper bounds. The last weight's value can be "infinity". For example [{"value": "10", "unit": "kg"}, {"value": "50", "unit": "kg"}, {"value": "infinity", "unit": "kg"}] represents the headers "<= 10kg", " 50kg". All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
                     {
                       "value": "A String", # The weight represented as a number.
                       "unit": "A String", # The weight unit.
@@ -748,10 +771,110 @@
                 "name": "A String", # Name of the table. Required for subtables, ignored for the main table.
               },
             ],
+            "carrierRates": [ # A list of carrier rates that can be referred to by mainTable or singleValue.
+              {
+                "name": "A String", # Name of the carrier rate. Must be unique per rate group. Required.
+                "originPostalCode": "A String", # Shipping origin for this carrier rate. Required.
+                "flatAdjustment": { # Additive shipping rate modifier. Can be negative. For example { "value": "1", "currency" : "USD" } adds $1 to the rate, { "value": "-3", "currency" : "USD" } removes $3 from the rate. Optional.
+                  "currency": "A String", # The currency of the price.
+                  "value": "A String", # The price represented as a number.
+                },
+                "percentageAdjustment": "A String", # Multiplicative shipping rate modifier as a number in decimal notation. Can be negative. For example "5.4" increases the rate by 5.4%, "-3" decreases the rate by 3%. Optional.
+                "carrierName": "A String", # Carrier service, such as "UPS" or "Fedex". The list of supported carriers can be retrieved via the getSupportedCarriers method. Required.
+                "carrierService": "A String", # Carrier service, such as "ground" or "2 days". The list of supported services for a carrier can be retrieved via the getSupportedCarriers method. Required.
+              },
+            ],
+            "mainTable": { # A table defining the rate group, when singleValue is not expressive enough. Can only be set if singleValue is not set.
+              "rowHeaders": { # A non-empty list of row or column headers for a table. Exactly one of prices, weights, numItems, postalCodeGroupNames, or location must be set. # Headers of the table's rows. Required.
+                "prices": [ # A list of inclusive order price upper bounds. The last price's value can be "infinity". For example [{"value": "10", "currency": "USD"}, {"value": "500", "currency": "USD"}, {"value": "infinity", "currency": "USD"}] represents the headers "<= $10", " $500". All prices within a service must have the same currency. Must be non-empty. Can only be set if all other fields are not set.
+                  {
+                    "currency": "A String", # The currency of the price.
+                    "value": "A String", # The price represented as a number.
+                  },
+                ],
+                "postalCodeGroupNames": [ # A list of postal group names. The last value can be "all other locations". Example: ["zone 1", "zone 2", "all other locations"]. The referred postal code groups must match the delivery country of the service. Must be non-empty. Can only be set if all other fields are not set.
+                  "A String",
+                ],
+                "weights": [ # A list of inclusive order weight upper bounds. The last weight's value can be "infinity". For example [{"value": "10", "unit": "kg"}, {"value": "50", "unit": "kg"}, {"value": "infinity", "unit": "kg"}] represents the headers "<= 10kg", " 50kg". All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
+                  {
+                    "value": "A String", # The weight represented as a number.
+                    "unit": "A String", # The weight unit.
+                  },
+                ],
+                "locations": [ # A list of location ID sets. Must be non-empty. Can only be set if all other fields are not set.
+                  {
+                    "locationIds": [ # A non-empty list of location IDs. They must all be of the same location type (e.g., state).
+                      "A String",
+                    ],
+                  },
+                ],
+                "numberOfItems": [ # A list of inclusive number of items upper bounds. The last value can be "infinity". For example ["10", "50", "infinity"] represents the headers "<= 10 items", " 50 items". Must be non-empty. Can only be set if all other fields are not set.
+                  "A String",
+                ],
+              },
+              "rows": [ # The list of rows that constitute the table. Must have the same length as rowHeaders. Required.
+                {
+                  "cells": [ # The list of cells that constitute the row. Must have the same length as columnHeaders for two-dimensional tables, a length of 1 for one-dimensional tables. Required.
+                    { # The single value of a rate group or the value of a rate group table's cell. Exactly one of noShipping, flatRate, pricePercentage, carrierRateName, subtableName must be set.
+                      "carrierRateName": "A String", # The name of a carrier rate referring to a carrier rate defined in the same rate group. Can only be set if all other fields are not set.
+                      "noShipping": True or False, # If true, then the product can't ship. Must be true when set, can only be set if all other fields are not set.
+                      "pricePercentage": "A String", # A percentage of the price represented as a number in decimal notation (e.g., "5.4"). Can only be set if all other fields are not set.
+                      "subtableName": "A String", # The name of a subtable. Can only be set in table cells (i.e., not for single values), and only if all other fields are not set.
+                      "flatRate": { # A flat rate. Can only be set if all other fields are not set.
+                        "currency": "A String", # The currency of the price.
+                        "value": "A String", # The price represented as a number.
+                      },
+                    },
+                  ],
+                },
+              ],
+              "columnHeaders": { # A non-empty list of row or column headers for a table. Exactly one of prices, weights, numItems, postalCodeGroupNames, or location must be set. # Headers of the table's columns. Optional: if not set then the table has only one dimension.
+                "prices": [ # A list of inclusive order price upper bounds. The last price's value can be "infinity". For example [{"value": "10", "currency": "USD"}, {"value": "500", "currency": "USD"}, {"value": "infinity", "currency": "USD"}] represents the headers "<= $10", " $500". All prices within a service must have the same currency. Must be non-empty. Can only be set if all other fields are not set.
+                  {
+                    "currency": "A String", # The currency of the price.
+                    "value": "A String", # The price represented as a number.
+                  },
+                ],
+                "postalCodeGroupNames": [ # A list of postal group names. The last value can be "all other locations". Example: ["zone 1", "zone 2", "all other locations"]. The referred postal code groups must match the delivery country of the service. Must be non-empty. Can only be set if all other fields are not set.
+                  "A String",
+                ],
+                "weights": [ # A list of inclusive order weight upper bounds. The last weight's value can be "infinity". For example [{"value": "10", "unit": "kg"}, {"value": "50", "unit": "kg"}, {"value": "infinity", "unit": "kg"}] represents the headers "<= 10kg", " 50kg". All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
+                  {
+                    "value": "A String", # The weight represented as a number.
+                    "unit": "A String", # The weight unit.
+                  },
+                ],
+                "locations": [ # A list of location ID sets. Must be non-empty. Can only be set if all other fields are not set.
+                  {
+                    "locationIds": [ # A non-empty list of location IDs. They must all be of the same location type (e.g., state).
+                      "A String",
+                    ],
+                  },
+                ],
+                "numberOfItems": [ # A list of inclusive number of items upper bounds. The last value can be "infinity". For example ["10", "50", "infinity"] represents the headers "<= 10 items", " 50 items". Must be non-empty. Can only be set if all other fields are not set.
+                  "A String",
+                ],
+              },
+              "name": "A String", # Name of the table. Required for subtables, ignored for the main table.
+            },
+            "singleValue": { # The single value of a rate group or the value of a rate group table's cell. Exactly one of noShipping, flatRate, pricePercentage, carrierRateName, subtableName must be set. # The value of the rate group (e.g. flat rate $10). Can only be set if mainTable and subtables are not set.
+              "carrierRateName": "A String", # The name of a carrier rate referring to a carrier rate defined in the same rate group. Can only be set if all other fields are not set.
+              "noShipping": True or False, # If true, then the product can't ship. Must be true when set, can only be set if all other fields are not set.
+              "pricePercentage": "A String", # A percentage of the price represented as a number in decimal notation (e.g., "5.4"). Can only be set if all other fields are not set.
+              "subtableName": "A String", # The name of a subtable. Can only be set in table cells (i.e., not for single values), and only if all other fields are not set.
+              "flatRate": { # A flat rate. Can only be set if all other fields are not set.
+                "currency": "A String", # The currency of the price.
+                "value": "A String", # The price represented as a number.
+              },
+            },
           },
         ],
         "currency": "A String", # The CLDR code of the currency to which this service applies. Must match that of the prices in rate groups.
         "active": True or False, # A boolean exposing the active status of the shipping service. Required.
+        "minimumOrderValue": { # Minimum order value for this service. If set, indicates that customers will have to spend at least this amount. All prices within a service must have the same currency.
+          "currency": "A String", # The currency of the price.
+          "value": "A String", # The price represented as a number.
+        },
       },
     ],
     "postalCodeGroups": [ # A list of postal code groups that can be referred to in services. Optional.
@@ -795,11 +918,36 @@
 </div>
 
 <div class="method">
-    <code class="details" id="list">list(merchantId, pageToken=None, maxResults=None)</code>
-  <pre>Lists the shipping settings of the sub-accounts in your Merchant Center account. This method can only be called for multi-client accounts.
+    <code class="details" id="getsupportedholidays">getsupportedholidays(merchantId)</code>
+  <pre>Retrieves supported holidays for an account.
 
 Args:
-  merchantId: string, The ID of the managing account. (required)
+  merchantId: string, The ID of the account for which to retrieve the supported holidays. (required)
+
+Returns:
+  An object of the form:
+
+    {
+    "kind": "content#shippingsettingsGetSupportedHolidaysResponse", # Identifies what kind of resource this is. Value: the fixed string "content#shippingsettingsGetSupportedHolidaysResponse".
+    "holidays": [ # A list of holidays applicable for delivery guarantees. May be empty.
+      {
+        "countryCode": "A String", # The CLDR territory code of the country in which the holiday is available. E.g. "US", "DE", "GB". A holiday cutoff can only be configured in a shipping settings service with matching delivery country. Always present.
+        "deliveryGuaranteeHour": "A String", # Hour of the day in the delivery location's timezone on the guaranteed delivery date by which the order has to arrive at the customer's. Possible values are: 0 (midnight), 1, ..., 12 (noon), 13, ..., 23. Always present.
+        "deliveryGuaranteeDate": "A String", # Date on which the order has to arrive at the customer's, in ISO 8601 format. E.g. "2016-12-24" for 24th December 2016. Always present.
+        "date": "A String", # Date of the holiday, in ISO 8601 format. E.g. "2016-12-25" for Christmas 2016. Always present.
+        "type": "A String", # The holiday type. Always present.
+        "id": "A String", # Unique identifier for the holiday to be used when configuring holiday cutoffs. Always present.
+      },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(merchantId, pageToken=None, maxResults=None)</code>
+  <pre>Lists the shipping settings of the sub-accounts in your Merchant Center account.
+
+Args:
+  merchantId: string, The ID of the managing account. This must be a multi-client account. (required)
   pageToken: string, The token returned by the previous request.
   maxResults: integer, The maximum number of shipping settings to return in the response, used for paging.
 
@@ -810,120 +958,60 @@
     "nextPageToken": "A String", # The token for the retrieval of the next page of shipping settings.
     "kind": "content#shippingsettingsListResponse", # Identifies what kind of resource this is. Value: the fixed string "content#shippingsettingsListResponse".
     "resources": [
-      { # The merchant account's shipping settings.
+      { # The merchant account's shipping settings. All methods except getsupportedcarriers and getsupportedholidays require the admin role.
         "services": [ # The target account's list of services. Optional.
           {
             "name": "A String", # Free-form name of the service. Must be unique within target account. Required.
             "deliveryTime": { # Time spent in various aspects from order to the delivery of the product. Required.
-              "maxTransitTimeInDays": 42, # Maximum number of business days that is spent in transit. 0 means same day delivery, 1 means next day delivery. Must be greater than or equal to minTransitTimeInDays. Required.
-              "minTransitTimeInDays": 42, # Minimum number of business days that is spent in transit. 0 means same day delivery, 1 means next day delivery. Required.
+              "maxHandlingTimeInDays": 42, # Maximum number of business days spent before an order is shipped. 0 means same day shipped, 1 means next day shipped. Must be greater than or equal to minHandlingTimeInDays.
+              "transitTimeTable": { # Transit time table, number of business days spent in transit based on row and column dimensions. Either {min,max}transitTimeInDays or transitTimeTable can be set, but not both.
+                "rows": [
+                  {
+                    "values": [
+                      {
+                        "maxTransitTimeInDays": 42, # Must be greater than or equal to minTransitTimeInDays.
+                        "minTransitTimeInDays": 42, # Transit time range (min-max) in business days. 0 means same day delivery, 1 means next day delivery.
+                      },
+                    ],
+                  },
+                ],
+                "postalCodeGroupNames": [ # A list of postal group names. The last value can be "all other locations". Example: ["zone 1", "zone 2", "all other locations"]. The referred postal code groups must match the delivery country of the service.
+                  "A String",
+                ],
+                "transitTimeLabels": [ # A list of transit time labels. The last value can be "all other labels". Example: ["food", "electronics", "all other labels"].
+                  "A String",
+                ],
+              },
+              "minHandlingTimeInDays": 42, # Minimum number of business days spent before an order is shipped. 0 means same day shipped, 1 means next day shipped.
+              "cutoffTime": { # Business days cutoff time definition. If not configured the cutoff time will be defaulted to 8AM PST.
+                "timezone": "A String", # Timezone identifier for the cutoff time. A list of identifiers can be found in  the AdWords API documentation. E.g. "Europe/Zurich". Required.
+                "minute": 42, # Minute of the cutoff time until which an order has to be placed to be processed in the same day. Required.
+                "hour": 42, # Hour of the cutoff time until which an order has to be placed to be processed in the same day. Required.
+              },
+              "maxTransitTimeInDays": 42, # Maximum number of business days that is spent in transit. 0 means same day delivery, 1 means next day delivery. Must be greater than or equal to minTransitTimeInDays.
+              "minTransitTimeInDays": 42, # Minimum number of business days that is spent in transit. 0 means same day delivery, 1 means next day delivery. Either {min,max}transitTimeInDays or transitTimeTable must be set, but not both.
+              "holidayCutoffs": [ # Holiday cutoff definitions. If configured, they specify order cutoff times for holiday-specific shipping.
+                {
+                  "visibleFromDate": "A String", # Date on which the deadline will become visible to consumers in ISO 8601 format. E.g. "2016-10-31" for 31st October 2016. Required.
+                  "deadlineHour": 42, # Hour of the day on the deadline date until which the order has to be placed to qualify for the delivery guarantee. Possible values are: 0 (midnight), 1, ..., 12 (noon), 13, ..., 23. Required.
+                  "holidayId": "A String", # Unique identifier for the holiday. Required.
+                  "deadlineDate": "A String", # Date of the order deadline, in ISO 8601 format. E.g. "2016-11-29" for 29th November 2016. Required.
+                  "deadlineTimezone": "A String", # Timezone identifier for the deadline hour. A list of identifiers can be found in  the AdWords API documentation. E.g. "Europe/Zurich". Required.
+                },
+              ],
             },
+            "eligibility": "A String", # Eligibility for this service.
             "deliveryCountry": "A String", # The CLDR territory code of the country to which the service applies. Required.
             "rateGroups": [ # Shipping rate group definitions. Only the last one is allowed to have an empty applicableShippingLabels, which means "everything else". The other applicableShippingLabels must not overlap.
               {
                 "applicableShippingLabels": [ # A list of shipping labels defining the products to which this rate group applies to. This is a disjunction: only one of the labels has to match for the rate group to apply. May only be empty for the last rate group of a service. Required.
                   "A String",
                 ],
-                "carrierRates": [ # A list of carrier rates that can be referred to by mainTable or singleValue.
-                  {
-                    "name": "A String", # Name of the carrier rate. Must be unique per rate group. Required.
-                    "originPostalCode": "A String", # Shipping origin for this carrier rate. Required.
-                    "flatAdjustment": { # Additive shipping rate modifier. Can be negative. For example { "value": "1", "currency" : "USD" } adds $1 to the rate, { "value": "-3", "currency" : "USD" } removes $3 from the rate. Optional.
-                      "currency": "A String", # The currency of the price.
-                      "value": "A String", # The price represented as a number.
-                    },
-                    "percentageAdjustment": "A String", # Multiplicative shipping rate modifier as a number in decimal notation. Can be negative. For example "5.4" increases the rate by 5.4%, "-3" decreases the rate by 3%. Optional.
-                    "carrierName": "A String", # Carrier service, such as "UPS" or "Fedex". The list of supported carriers can be retrieved via the getSupportedCarriers method. Required.
-                    "carrierService": "A String", # Carrier service, such as "ground" or "2 days". The list of supported services for a carrier can be retrieved via the getSupportedCarriers method. Required.
-                  },
-                ],
-                "singleValue": { # The single value of a rate group or the value of a rate group table's cell. Exactly one of noShipping, flatRate, pricePercentage, carrierRateName, subtableName must be set. # The value of the rate group (e.g. flat rate $10). Can only be set if mainTable and subtables are not set.
-                  "carrierRateName": "A String", # The name of a carrier rate referring to a carrier rate defined in the same rate group. Can only be set if all other fields are not set.
-                  "noShipping": True or False, # If true, then the product can't ship. Must be true when set, can only be set if all other fields are not set.
-                  "pricePercentage": "A String", # A percentage of the price represented as a number in decimal notation (e.g., "5.4"). Can only be set if all other fields are not set.
-                  "subtableName": "A String", # The name of a subtable. Can only be set in table cells (i.e., not for single values), and only if all other fields are not set.
-                  "flatRate": { # A flat rate. Can only be set if all other fields are not set.
-                    "currency": "A String", # The currency of the price.
-                    "value": "A String", # The price represented as a number.
-                  },
-                },
-                "mainTable": { # A table defining the rate group, when singleValue is not expressive enough. Can only be set if singleValue is not set.
-                  "rowHeaders": { # A non-empty list of row or column headers for a table. Exactly one of prices, weights, numItems, postalCodeGroupNames, or locations must be set. # Headers of the table's rows. Required.
-                    "prices": [ # be "infinity". For example [{"value": "10", "currency": "USD"}, {"value": "500", "currency": "USD"}, {"value": "infinity", "currency": "USD"}] represents the headers "<= $10", " $500". All prices within a service must have the same currency. Must be non-empty. Can only be set if all other fields are not set.
-                      {
-                        "currency": "A String", # The currency of the price.
-                        "value": "A String", # The price represented as a number.
-                      },
-                    ],
-                    "postalCodeGroupNames": [ # A list of postal group names. The last value can be "all other locations". Example: ["zone 1", "zone 2", "all other locations"]. The referred postal code groups must match the delivery country of the service. Must be non-empty. Can only be set if all other fields are not set.
-                      "A String",
-                    ],
-                    "weights": [ # be "infinity". For example [{"value": "10", "unit": "kg"}, {"value": "50", "unit": "kg"}, {"value": "infinity", "unit": "kg"}] represents the headers "<= 10kg", " 50kg". All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
-                      {
-                        "value": "A String", # The weight represented as a number.
-                        "unit": "A String", # The weight unit.
-                      },
-                    ],
-                    "locations": [ # A list of location ID sets. Must be non-empty. Can only be set if all other fields are not set.
-                      {
-                        "locationIds": [ # A non-empty list of location IDs. They must all be of the same location type (e.g., state).
-                          "A String",
-                        ],
-                      },
-                    ],
-                    "numberOfItems": [ # A list of inclusive number of items upper bounds. The last value can be "infinity". For example ["10", "50", "infinity"] represents the headers "<= 10 items", " 50 items". Must be non-empty. Can only be set if all other fields are not set.
-                      "A String",
-                    ],
-                  },
-                  "rows": [ # The list of rows that constitute the table. Must have the same length as rowHeaders. Required.
-                    {
-                      "cells": [ # The list of cells that constitute the row. Must have the same length as columnHeaders for two-dimensional tables, a length of 1 for one-dimensional tables. Required.
-                        { # The single value of a rate group or the value of a rate group table's cell. Exactly one of noShipping, flatRate, pricePercentage, carrierRateName, subtableName must be set.
-                          "carrierRateName": "A String", # The name of a carrier rate referring to a carrier rate defined in the same rate group. Can only be set if all other fields are not set.
-                          "noShipping": True or False, # If true, then the product can't ship. Must be true when set, can only be set if all other fields are not set.
-                          "pricePercentage": "A String", # A percentage of the price represented as a number in decimal notation (e.g., "5.4"). Can only be set if all other fields are not set.
-                          "subtableName": "A String", # The name of a subtable. Can only be set in table cells (i.e., not for single values), and only if all other fields are not set.
-                          "flatRate": { # A flat rate. Can only be set if all other fields are not set.
-                            "currency": "A String", # The currency of the price.
-                            "value": "A String", # The price represented as a number.
-                          },
-                        },
-                      ],
-                    },
-                  ],
-                  "columnHeaders": { # A non-empty list of row or column headers for a table. Exactly one of prices, weights, numItems, postalCodeGroupNames, or locations must be set. # Headers of the table's columns. Optional: if not set then the table has only one dimension.
-                    "prices": [ # be "infinity". For example [{"value": "10", "currency": "USD"}, {"value": "500", "currency": "USD"}, {"value": "infinity", "currency": "USD"}] represents the headers "<= $10", " $500". All prices within a service must have the same currency. Must be non-empty. Can only be set if all other fields are not set.
-                      {
-                        "currency": "A String", # The currency of the price.
-                        "value": "A String", # The price represented as a number.
-                      },
-                    ],
-                    "postalCodeGroupNames": [ # A list of postal group names. The last value can be "all other locations". Example: ["zone 1", "zone 2", "all other locations"]. The referred postal code groups must match the delivery country of the service. Must be non-empty. Can only be set if all other fields are not set.
-                      "A String",
-                    ],
-                    "weights": [ # be "infinity". For example [{"value": "10", "unit": "kg"}, {"value": "50", "unit": "kg"}, {"value": "infinity", "unit": "kg"}] represents the headers "<= 10kg", " 50kg". All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
-                      {
-                        "value": "A String", # The weight represented as a number.
-                        "unit": "A String", # The weight unit.
-                      },
-                    ],
-                    "locations": [ # A list of location ID sets. Must be non-empty. Can only be set if all other fields are not set.
-                      {
-                        "locationIds": [ # A non-empty list of location IDs. They must all be of the same location type (e.g., state).
-                          "A String",
-                        ],
-                      },
-                    ],
-                    "numberOfItems": [ # A list of inclusive number of items upper bounds. The last value can be "infinity". For example ["10", "50", "infinity"] represents the headers "<= 10 items", " 50 items". Must be non-empty. Can only be set if all other fields are not set.
-                      "A String",
-                    ],
-                  },
-                  "name": "A String", # Name of the table. Required for subtables, ignored for the main table.
-                },
+                "name": "A String", # Name of the rate group. Optional. If set has to be unique within shipping service.
                 "subtables": [ # A list of subtables referred to by mainTable. Can only be set if mainTable is set.
                   {
-                    "rowHeaders": { # A non-empty list of row or column headers for a table. Exactly one of prices, weights, numItems, postalCodeGroupNames, or locations must be set. # Headers of the table's rows. Required.
-                      "prices": [ # be "infinity". For example [{"value": "10", "currency": "USD"}, {"value": "500", "currency": "USD"}, {"value": "infinity", "currency": "USD"}] represents the headers "<= $10", " $500". All prices within a service must have the same currency. Must be non-empty. Can only be set if all other fields are not set.
+                    "rowHeaders": { # A non-empty list of row or column headers for a table. Exactly one of prices, weights, numItems, postalCodeGroupNames, or location must be set. # Headers of the table's rows. Required.
+                      "prices": [ # A list of inclusive order price upper bounds. The last price's value can be "infinity". For example [{"value": "10", "currency": "USD"}, {"value": "500", "currency": "USD"}, {"value": "infinity", "currency": "USD"}] represents the headers "<= $10", " $500". All prices within a service must have the same currency. Must be non-empty. Can only be set if all other fields are not set.
                         {
                           "currency": "A String", # The currency of the price.
                           "value": "A String", # The price represented as a number.
@@ -932,7 +1020,7 @@
                       "postalCodeGroupNames": [ # A list of postal group names. The last value can be "all other locations". Example: ["zone 1", "zone 2", "all other locations"]. The referred postal code groups must match the delivery country of the service. Must be non-empty. Can only be set if all other fields are not set.
                         "A String",
                       ],
-                      "weights": [ # be "infinity". For example [{"value": "10", "unit": "kg"}, {"value": "50", "unit": "kg"}, {"value": "infinity", "unit": "kg"}] represents the headers "<= 10kg", " 50kg". All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
+                      "weights": [ # A list of inclusive order weight upper bounds. The last weight's value can be "infinity". For example [{"value": "10", "unit": "kg"}, {"value": "50", "unit": "kg"}, {"value": "infinity", "unit": "kg"}] represents the headers "<= 10kg", " 50kg". All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
                         {
                           "value": "A String", # The weight represented as a number.
                           "unit": "A String", # The weight unit.
@@ -965,8 +1053,8 @@
                         ],
                       },
                     ],
-                    "columnHeaders": { # A non-empty list of row or column headers for a table. Exactly one of prices, weights, numItems, postalCodeGroupNames, or locations must be set. # Headers of the table's columns. Optional: if not set then the table has only one dimension.
-                      "prices": [ # be "infinity". For example [{"value": "10", "currency": "USD"}, {"value": "500", "currency": "USD"}, {"value": "infinity", "currency": "USD"}] represents the headers "<= $10", " $500". All prices within a service must have the same currency. Must be non-empty. Can only be set if all other fields are not set.
+                    "columnHeaders": { # A non-empty list of row or column headers for a table. Exactly one of prices, weights, numItems, postalCodeGroupNames, or location must be set. # Headers of the table's columns. Optional: if not set then the table has only one dimension.
+                      "prices": [ # A list of inclusive order price upper bounds. The last price's value can be "infinity". For example [{"value": "10", "currency": "USD"}, {"value": "500", "currency": "USD"}, {"value": "infinity", "currency": "USD"}] represents the headers "<= $10", " $500". All prices within a service must have the same currency. Must be non-empty. Can only be set if all other fields are not set.
                         {
                           "currency": "A String", # The currency of the price.
                           "value": "A String", # The price represented as a number.
@@ -975,7 +1063,7 @@
                       "postalCodeGroupNames": [ # A list of postal group names. The last value can be "all other locations". Example: ["zone 1", "zone 2", "all other locations"]. The referred postal code groups must match the delivery country of the service. Must be non-empty. Can only be set if all other fields are not set.
                         "A String",
                       ],
-                      "weights": [ # be "infinity". For example [{"value": "10", "unit": "kg"}, {"value": "50", "unit": "kg"}, {"value": "infinity", "unit": "kg"}] represents the headers "<= 10kg", " 50kg". All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
+                      "weights": [ # A list of inclusive order weight upper bounds. The last weight's value can be "infinity". For example [{"value": "10", "unit": "kg"}, {"value": "50", "unit": "kg"}, {"value": "infinity", "unit": "kg"}] represents the headers "<= 10kg", " 50kg". All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
                         {
                           "value": "A String", # The weight represented as a number.
                           "unit": "A String", # The weight unit.
@@ -995,10 +1083,110 @@
                     "name": "A String", # Name of the table. Required for subtables, ignored for the main table.
                   },
                 ],
+                "carrierRates": [ # A list of carrier rates that can be referred to by mainTable or singleValue.
+                  {
+                    "name": "A String", # Name of the carrier rate. Must be unique per rate group. Required.
+                    "originPostalCode": "A String", # Shipping origin for this carrier rate. Required.
+                    "flatAdjustment": { # Additive shipping rate modifier. Can be negative. For example { "value": "1", "currency" : "USD" } adds $1 to the rate, { "value": "-3", "currency" : "USD" } removes $3 from the rate. Optional.
+                      "currency": "A String", # The currency of the price.
+                      "value": "A String", # The price represented as a number.
+                    },
+                    "percentageAdjustment": "A String", # Multiplicative shipping rate modifier as a number in decimal notation. Can be negative. For example "5.4" increases the rate by 5.4%, "-3" decreases the rate by 3%. Optional.
+                    "carrierName": "A String", # Carrier service, such as "UPS" or "Fedex". The list of supported carriers can be retrieved via the getSupportedCarriers method. Required.
+                    "carrierService": "A String", # Carrier service, such as "ground" or "2 days". The list of supported services for a carrier can be retrieved via the getSupportedCarriers method. Required.
+                  },
+                ],
+                "mainTable": { # A table defining the rate group, when singleValue is not expressive enough. Can only be set if singleValue is not set.
+                  "rowHeaders": { # A non-empty list of row or column headers for a table. Exactly one of prices, weights, numItems, postalCodeGroupNames, or location must be set. # Headers of the table's rows. Required.
+                    "prices": [ # A list of inclusive order price upper bounds. The last price's value can be "infinity". For example [{"value": "10", "currency": "USD"}, {"value": "500", "currency": "USD"}, {"value": "infinity", "currency": "USD"}] represents the headers "<= $10", " $500". All prices within a service must have the same currency. Must be non-empty. Can only be set if all other fields are not set.
+                      {
+                        "currency": "A String", # The currency of the price.
+                        "value": "A String", # The price represented as a number.
+                      },
+                    ],
+                    "postalCodeGroupNames": [ # A list of postal group names. The last value can be "all other locations". Example: ["zone 1", "zone 2", "all other locations"]. The referred postal code groups must match the delivery country of the service. Must be non-empty. Can only be set if all other fields are not set.
+                      "A String",
+                    ],
+                    "weights": [ # A list of inclusive order weight upper bounds. The last weight's value can be "infinity". For example [{"value": "10", "unit": "kg"}, {"value": "50", "unit": "kg"}, {"value": "infinity", "unit": "kg"}] represents the headers "<= 10kg", " 50kg". All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
+                      {
+                        "value": "A String", # The weight represented as a number.
+                        "unit": "A String", # The weight unit.
+                      },
+                    ],
+                    "locations": [ # A list of location ID sets. Must be non-empty. Can only be set if all other fields are not set.
+                      {
+                        "locationIds": [ # A non-empty list of location IDs. They must all be of the same location type (e.g., state).
+                          "A String",
+                        ],
+                      },
+                    ],
+                    "numberOfItems": [ # A list of inclusive number of items upper bounds. The last value can be "infinity". For example ["10", "50", "infinity"] represents the headers "<= 10 items", " 50 items". Must be non-empty. Can only be set if all other fields are not set.
+                      "A String",
+                    ],
+                  },
+                  "rows": [ # The list of rows that constitute the table. Must have the same length as rowHeaders. Required.
+                    {
+                      "cells": [ # The list of cells that constitute the row. Must have the same length as columnHeaders for two-dimensional tables, a length of 1 for one-dimensional tables. Required.
+                        { # The single value of a rate group or the value of a rate group table's cell. Exactly one of noShipping, flatRate, pricePercentage, carrierRateName, subtableName must be set.
+                          "carrierRateName": "A String", # The name of a carrier rate referring to a carrier rate defined in the same rate group. Can only be set if all other fields are not set.
+                          "noShipping": True or False, # If true, then the product can't ship. Must be true when set, can only be set if all other fields are not set.
+                          "pricePercentage": "A String", # A percentage of the price represented as a number in decimal notation (e.g., "5.4"). Can only be set if all other fields are not set.
+                          "subtableName": "A String", # The name of a subtable. Can only be set in table cells (i.e., not for single values), and only if all other fields are not set.
+                          "flatRate": { # A flat rate. Can only be set if all other fields are not set.
+                            "currency": "A String", # The currency of the price.
+                            "value": "A String", # The price represented as a number.
+                          },
+                        },
+                      ],
+                    },
+                  ],
+                  "columnHeaders": { # A non-empty list of row or column headers for a table. Exactly one of prices, weights, numItems, postalCodeGroupNames, or location must be set. # Headers of the table's columns. Optional: if not set then the table has only one dimension.
+                    "prices": [ # A list of inclusive order price upper bounds. The last price's value can be "infinity". For example [{"value": "10", "currency": "USD"}, {"value": "500", "currency": "USD"}, {"value": "infinity", "currency": "USD"}] represents the headers "<= $10", " $500". All prices within a service must have the same currency. Must be non-empty. Can only be set if all other fields are not set.
+                      {
+                        "currency": "A String", # The currency of the price.
+                        "value": "A String", # The price represented as a number.
+                      },
+                    ],
+                    "postalCodeGroupNames": [ # A list of postal group names. The last value can be "all other locations". Example: ["zone 1", "zone 2", "all other locations"]. The referred postal code groups must match the delivery country of the service. Must be non-empty. Can only be set if all other fields are not set.
+                      "A String",
+                    ],
+                    "weights": [ # A list of inclusive order weight upper bounds. The last weight's value can be "infinity". For example [{"value": "10", "unit": "kg"}, {"value": "50", "unit": "kg"}, {"value": "infinity", "unit": "kg"}] represents the headers "<= 10kg", " 50kg". All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
+                      {
+                        "value": "A String", # The weight represented as a number.
+                        "unit": "A String", # The weight unit.
+                      },
+                    ],
+                    "locations": [ # A list of location ID sets. Must be non-empty. Can only be set if all other fields are not set.
+                      {
+                        "locationIds": [ # A non-empty list of location IDs. They must all be of the same location type (e.g., state).
+                          "A String",
+                        ],
+                      },
+                    ],
+                    "numberOfItems": [ # A list of inclusive number of items upper bounds. The last value can be "infinity". For example ["10", "50", "infinity"] represents the headers "<= 10 items", " 50 items". Must be non-empty. Can only be set if all other fields are not set.
+                      "A String",
+                    ],
+                  },
+                  "name": "A String", # Name of the table. Required for subtables, ignored for the main table.
+                },
+                "singleValue": { # The single value of a rate group or the value of a rate group table's cell. Exactly one of noShipping, flatRate, pricePercentage, carrierRateName, subtableName must be set. # The value of the rate group (e.g. flat rate $10). Can only be set if mainTable and subtables are not set.
+                  "carrierRateName": "A String", # The name of a carrier rate referring to a carrier rate defined in the same rate group. Can only be set if all other fields are not set.
+                  "noShipping": True or False, # If true, then the product can't ship. Must be true when set, can only be set if all other fields are not set.
+                  "pricePercentage": "A String", # A percentage of the price represented as a number in decimal notation (e.g., "5.4"). Can only be set if all other fields are not set.
+                  "subtableName": "A String", # The name of a subtable. Can only be set in table cells (i.e., not for single values), and only if all other fields are not set.
+                  "flatRate": { # A flat rate. Can only be set if all other fields are not set.
+                    "currency": "A String", # The currency of the price.
+                    "value": "A String", # The price represented as a number.
+                  },
+                },
               },
             ],
             "currency": "A String", # The CLDR code of the currency to which this service applies. Must match that of the prices in rate groups.
             "active": True or False, # A boolean exposing the active status of the shipping service. Required.
+            "minimumOrderValue": { # Minimum order value for this service. If set, indicates that customers will have to spend at least this amount. All prices within a service must have the same currency.
+              "currency": "A String", # The currency of the price.
+              "value": "A String", # The price represented as a number.
+            },
           },
         ],
         "postalCodeGroups": [ # A list of postal code groups that can be referred to in services. Optional.
@@ -1035,28 +1223,139 @@
 
 <div class="method">
     <code class="details" id="patch">patch(merchantId, accountId, body, dryRun=None)</code>
-  <pre>Updates the shipping settings of the account. This method can only be called for accounts to which the managing account has access: either the managing account itself or sub-accounts if the managing account is a multi-client account. This method supports patch semantics.
+  <pre>Updates the shipping settings of the account. This method supports patch semantics.
 
 Args:
-  merchantId: string, The ID of the managing account. (required)
+  merchantId: string, The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and accountId must be the ID of a sub-account of this account. (required)
   accountId: string, The ID of the account for which to get/update shipping settings. (required)
   body: object, The request body. (required)
     The object takes the form of:
 
-{ # The merchant account's shipping settings.
+{ # The merchant account's shipping settings. All methods except getsupportedcarriers and getsupportedholidays require the admin role.
   "services": [ # The target account's list of services. Optional.
     {
       "name": "A String", # Free-form name of the service. Must be unique within target account. Required.
       "deliveryTime": { # Time spent in various aspects from order to the delivery of the product. Required.
-        "maxTransitTimeInDays": 42, # Maximum number of business days that is spent in transit. 0 means same day delivery, 1 means next day delivery. Must be greater than or equal to minTransitTimeInDays. Required.
-        "minTransitTimeInDays": 42, # Minimum number of business days that is spent in transit. 0 means same day delivery, 1 means next day delivery. Required.
+        "maxHandlingTimeInDays": 42, # Maximum number of business days spent before an order is shipped. 0 means same day shipped, 1 means next day shipped. Must be greater than or equal to minHandlingTimeInDays.
+        "transitTimeTable": { # Transit time table, number of business days spent in transit based on row and column dimensions. Either {min,max}transitTimeInDays or transitTimeTable can be set, but not both.
+          "rows": [
+            {
+              "values": [
+                {
+                  "maxTransitTimeInDays": 42, # Must be greater than or equal to minTransitTimeInDays.
+                  "minTransitTimeInDays": 42, # Transit time range (min-max) in business days. 0 means same day delivery, 1 means next day delivery.
+                },
+              ],
+            },
+          ],
+          "postalCodeGroupNames": [ # A list of postal group names. The last value can be "all other locations". Example: ["zone 1", "zone 2", "all other locations"]. The referred postal code groups must match the delivery country of the service.
+            "A String",
+          ],
+          "transitTimeLabels": [ # A list of transit time labels. The last value can be "all other labels". Example: ["food", "electronics", "all other labels"].
+            "A String",
+          ],
+        },
+        "minHandlingTimeInDays": 42, # Minimum number of business days spent before an order is shipped. 0 means same day shipped, 1 means next day shipped.
+        "cutoffTime": { # Business days cutoff time definition. If not configured the cutoff time will be defaulted to 8AM PST.
+          "timezone": "A String", # Timezone identifier for the cutoff time. A list of identifiers can be found in  the AdWords API documentation. E.g. "Europe/Zurich". Required.
+          "minute": 42, # Minute of the cutoff time until which an order has to be placed to be processed in the same day. Required.
+          "hour": 42, # Hour of the cutoff time until which an order has to be placed to be processed in the same day. Required.
+        },
+        "maxTransitTimeInDays": 42, # Maximum number of business days that is spent in transit. 0 means same day delivery, 1 means next day delivery. Must be greater than or equal to minTransitTimeInDays.
+        "minTransitTimeInDays": 42, # Minimum number of business days that is spent in transit. 0 means same day delivery, 1 means next day delivery. Either {min,max}transitTimeInDays or transitTimeTable must be set, but not both.
+        "holidayCutoffs": [ # Holiday cutoff definitions. If configured, they specify order cutoff times for holiday-specific shipping.
+          {
+            "visibleFromDate": "A String", # Date on which the deadline will become visible to consumers in ISO 8601 format. E.g. "2016-10-31" for 31st October 2016. Required.
+            "deadlineHour": 42, # Hour of the day on the deadline date until which the order has to be placed to qualify for the delivery guarantee. Possible values are: 0 (midnight), 1, ..., 12 (noon), 13, ..., 23. Required.
+            "holidayId": "A String", # Unique identifier for the holiday. Required.
+            "deadlineDate": "A String", # Date of the order deadline, in ISO 8601 format. E.g. "2016-11-29" for 29th November 2016. Required.
+            "deadlineTimezone": "A String", # Timezone identifier for the deadline hour. A list of identifiers can be found in  the AdWords API documentation. E.g. "Europe/Zurich". Required.
+          },
+        ],
       },
+      "eligibility": "A String", # Eligibility for this service.
       "deliveryCountry": "A String", # The CLDR territory code of the country to which the service applies. Required.
       "rateGroups": [ # Shipping rate group definitions. Only the last one is allowed to have an empty applicableShippingLabels, which means "everything else". The other applicableShippingLabels must not overlap.
         {
           "applicableShippingLabels": [ # A list of shipping labels defining the products to which this rate group applies to. This is a disjunction: only one of the labels has to match for the rate group to apply. May only be empty for the last rate group of a service. Required.
             "A String",
           ],
+          "name": "A String", # Name of the rate group. Optional. If set has to be unique within shipping service.
+          "subtables": [ # A list of subtables referred to by mainTable. Can only be set if mainTable is set.
+            {
+              "rowHeaders": { # A non-empty list of row or column headers for a table. Exactly one of prices, weights, numItems, postalCodeGroupNames, or location must be set. # Headers of the table's rows. Required.
+                "prices": [ # A list of inclusive order price upper bounds. The last price's value can be "infinity". For example [{"value": "10", "currency": "USD"}, {"value": "500", "currency": "USD"}, {"value": "infinity", "currency": "USD"}] represents the headers "<= $10", " $500". All prices within a service must have the same currency. Must be non-empty. Can only be set if all other fields are not set.
+                  {
+                    "currency": "A String", # The currency of the price.
+                    "value": "A String", # The price represented as a number.
+                  },
+                ],
+                "postalCodeGroupNames": [ # A list of postal group names. The last value can be "all other locations". Example: ["zone 1", "zone 2", "all other locations"]. The referred postal code groups must match the delivery country of the service. Must be non-empty. Can only be set if all other fields are not set.
+                  "A String",
+                ],
+                "weights": [ # A list of inclusive order weight upper bounds. The last weight's value can be "infinity". For example [{"value": "10", "unit": "kg"}, {"value": "50", "unit": "kg"}, {"value": "infinity", "unit": "kg"}] represents the headers "<= 10kg", " 50kg". All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
+                  {
+                    "value": "A String", # The weight represented as a number.
+                    "unit": "A String", # The weight unit.
+                  },
+                ],
+                "locations": [ # A list of location ID sets. Must be non-empty. Can only be set if all other fields are not set.
+                  {
+                    "locationIds": [ # A non-empty list of location IDs. They must all be of the same location type (e.g., state).
+                      "A String",
+                    ],
+                  },
+                ],
+                "numberOfItems": [ # A list of inclusive number of items upper bounds. The last value can be "infinity". For example ["10", "50", "infinity"] represents the headers "<= 10 items", " 50 items". Must be non-empty. Can only be set if all other fields are not set.
+                  "A String",
+                ],
+              },
+              "rows": [ # The list of rows that constitute the table. Must have the same length as rowHeaders. Required.
+                {
+                  "cells": [ # The list of cells that constitute the row. Must have the same length as columnHeaders for two-dimensional tables, a length of 1 for one-dimensional tables. Required.
+                    { # The single value of a rate group or the value of a rate group table's cell. Exactly one of noShipping, flatRate, pricePercentage, carrierRateName, subtableName must be set.
+                      "carrierRateName": "A String", # The name of a carrier rate referring to a carrier rate defined in the same rate group. Can only be set if all other fields are not set.
+                      "noShipping": True or False, # If true, then the product can't ship. Must be true when set, can only be set if all other fields are not set.
+                      "pricePercentage": "A String", # A percentage of the price represented as a number in decimal notation (e.g., "5.4"). Can only be set if all other fields are not set.
+                      "subtableName": "A String", # The name of a subtable. Can only be set in table cells (i.e., not for single values), and only if all other fields are not set.
+                      "flatRate": { # A flat rate. Can only be set if all other fields are not set.
+                        "currency": "A String", # The currency of the price.
+                        "value": "A String", # The price represented as a number.
+                      },
+                    },
+                  ],
+                },
+              ],
+              "columnHeaders": { # A non-empty list of row or column headers for a table. Exactly one of prices, weights, numItems, postalCodeGroupNames, or location must be set. # Headers of the table's columns. Optional: if not set then the table has only one dimension.
+                "prices": [ # A list of inclusive order price upper bounds. The last price's value can be "infinity". For example [{"value": "10", "currency": "USD"}, {"value": "500", "currency": "USD"}, {"value": "infinity", "currency": "USD"}] represents the headers "<= $10", " $500". All prices within a service must have the same currency. Must be non-empty. Can only be set if all other fields are not set.
+                  {
+                    "currency": "A String", # The currency of the price.
+                    "value": "A String", # The price represented as a number.
+                  },
+                ],
+                "postalCodeGroupNames": [ # A list of postal group names. The last value can be "all other locations". Example: ["zone 1", "zone 2", "all other locations"]. The referred postal code groups must match the delivery country of the service. Must be non-empty. Can only be set if all other fields are not set.
+                  "A String",
+                ],
+                "weights": [ # A list of inclusive order weight upper bounds. The last weight's value can be "infinity". For example [{"value": "10", "unit": "kg"}, {"value": "50", "unit": "kg"}, {"value": "infinity", "unit": "kg"}] represents the headers "<= 10kg", " 50kg". All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
+                  {
+                    "value": "A String", # The weight represented as a number.
+                    "unit": "A String", # The weight unit.
+                  },
+                ],
+                "locations": [ # A list of location ID sets. Must be non-empty. Can only be set if all other fields are not set.
+                  {
+                    "locationIds": [ # A non-empty list of location IDs. They must all be of the same location type (e.g., state).
+                      "A String",
+                    ],
+                  },
+                ],
+                "numberOfItems": [ # A list of inclusive number of items upper bounds. The last value can be "infinity". For example ["10", "50", "infinity"] represents the headers "<= 10 items", " 50 items". Must be non-empty. Can only be set if all other fields are not set.
+                  "A String",
+                ],
+              },
+              "name": "A String", # Name of the table. Required for subtables, ignored for the main table.
+            },
+          ],
           "carrierRates": [ # A list of carrier rates that can be referred to by mainTable or singleValue.
             {
               "name": "A String", # Name of the carrier rate. Must be unique per rate group. Required.
@@ -1070,19 +1369,9 @@
               "carrierService": "A String", # Carrier service, such as "ground" or "2 days". The list of supported services for a carrier can be retrieved via the getSupportedCarriers method. Required.
             },
           ],
-          "singleValue": { # The single value of a rate group or the value of a rate group table's cell. Exactly one of noShipping, flatRate, pricePercentage, carrierRateName, subtableName must be set. # The value of the rate group (e.g. flat rate $10). Can only be set if mainTable and subtables are not set.
-            "carrierRateName": "A String", # The name of a carrier rate referring to a carrier rate defined in the same rate group. Can only be set if all other fields are not set.
-            "noShipping": True or False, # If true, then the product can't ship. Must be true when set, can only be set if all other fields are not set.
-            "pricePercentage": "A String", # A percentage of the price represented as a number in decimal notation (e.g., "5.4"). Can only be set if all other fields are not set.
-            "subtableName": "A String", # The name of a subtable. Can only be set in table cells (i.e., not for single values), and only if all other fields are not set.
-            "flatRate": { # A flat rate. Can only be set if all other fields are not set.
-              "currency": "A String", # The currency of the price.
-              "value": "A String", # The price represented as a number.
-            },
-          },
           "mainTable": { # A table defining the rate group, when singleValue is not expressive enough. Can only be set if singleValue is not set.
-            "rowHeaders": { # A non-empty list of row or column headers for a table. Exactly one of prices, weights, numItems, postalCodeGroupNames, or locations must be set. # Headers of the table's rows. Required.
-              "prices": [ # be "infinity". For example [{"value": "10", "currency": "USD"}, {"value": "500", "currency": "USD"}, {"value": "infinity", "currency": "USD"}] represents the headers "<= $10", " $500". All prices within a service must have the same currency. Must be non-empty. Can only be set if all other fields are not set.
+            "rowHeaders": { # A non-empty list of row or column headers for a table. Exactly one of prices, weights, numItems, postalCodeGroupNames, or location must be set. # Headers of the table's rows. Required.
+              "prices": [ # A list of inclusive order price upper bounds. The last price's value can be "infinity". For example [{"value": "10", "currency": "USD"}, {"value": "500", "currency": "USD"}, {"value": "infinity", "currency": "USD"}] represents the headers "<= $10", " $500". All prices within a service must have the same currency. Must be non-empty. Can only be set if all other fields are not set.
                 {
                   "currency": "A String", # The currency of the price.
                   "value": "A String", # The price represented as a number.
@@ -1091,7 +1380,7 @@
               "postalCodeGroupNames": [ # A list of postal group names. The last value can be "all other locations". Example: ["zone 1", "zone 2", "all other locations"]. The referred postal code groups must match the delivery country of the service. Must be non-empty. Can only be set if all other fields are not set.
                 "A String",
               ],
-              "weights": [ # be "infinity". For example [{"value": "10", "unit": "kg"}, {"value": "50", "unit": "kg"}, {"value": "infinity", "unit": "kg"}] represents the headers "<= 10kg", " 50kg". All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
+              "weights": [ # A list of inclusive order weight upper bounds. The last weight's value can be "infinity". For example [{"value": "10", "unit": "kg"}, {"value": "50", "unit": "kg"}, {"value": "infinity", "unit": "kg"}] represents the headers "<= 10kg", " 50kg". All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
                 {
                   "value": "A String", # The weight represented as a number.
                   "unit": "A String", # The weight unit.
@@ -1124,8 +1413,8 @@
                 ],
               },
             ],
-            "columnHeaders": { # A non-empty list of row or column headers for a table. Exactly one of prices, weights, numItems, postalCodeGroupNames, or locations must be set. # Headers of the table's columns. Optional: if not set then the table has only one dimension.
-              "prices": [ # be "infinity". For example [{"value": "10", "currency": "USD"}, {"value": "500", "currency": "USD"}, {"value": "infinity", "currency": "USD"}] represents the headers "<= $10", " $500". All prices within a service must have the same currency. Must be non-empty. Can only be set if all other fields are not set.
+            "columnHeaders": { # A non-empty list of row or column headers for a table. Exactly one of prices, weights, numItems, postalCodeGroupNames, or location must be set. # Headers of the table's columns. Optional: if not set then the table has only one dimension.
+              "prices": [ # A list of inclusive order price upper bounds. The last price's value can be "infinity". For example [{"value": "10", "currency": "USD"}, {"value": "500", "currency": "USD"}, {"value": "infinity", "currency": "USD"}] represents the headers "<= $10", " $500". All prices within a service must have the same currency. Must be non-empty. Can only be set if all other fields are not set.
                 {
                   "currency": "A String", # The currency of the price.
                   "value": "A String", # The price represented as a number.
@@ -1134,7 +1423,7 @@
               "postalCodeGroupNames": [ # A list of postal group names. The last value can be "all other locations". Example: ["zone 1", "zone 2", "all other locations"]. The referred postal code groups must match the delivery country of the service. Must be non-empty. Can only be set if all other fields are not set.
                 "A String",
               ],
-              "weights": [ # be "infinity". For example [{"value": "10", "unit": "kg"}, {"value": "50", "unit": "kg"}, {"value": "infinity", "unit": "kg"}] represents the headers "<= 10kg", " 50kg". All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
+              "weights": [ # A list of inclusive order weight upper bounds. The last weight's value can be "infinity". For example [{"value": "10", "unit": "kg"}, {"value": "50", "unit": "kg"}, {"value": "infinity", "unit": "kg"}] represents the headers "<= 10kg", " 50kg". All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
                 {
                   "value": "A String", # The weight represented as a number.
                   "unit": "A String", # The weight unit.
@@ -1153,85 +1442,24 @@
             },
             "name": "A String", # Name of the table. Required for subtables, ignored for the main table.
           },
-          "subtables": [ # A list of subtables referred to by mainTable. Can only be set if mainTable is set.
-            {
-              "rowHeaders": { # A non-empty list of row or column headers for a table. Exactly one of prices, weights, numItems, postalCodeGroupNames, or locations must be set. # Headers of the table's rows. Required.
-                "prices": [ # be "infinity". For example [{"value": "10", "currency": "USD"}, {"value": "500", "currency": "USD"}, {"value": "infinity", "currency": "USD"}] represents the headers "<= $10", " $500". All prices within a service must have the same currency. Must be non-empty. Can only be set if all other fields are not set.
-                  {
-                    "currency": "A String", # The currency of the price.
-                    "value": "A String", # The price represented as a number.
-                  },
-                ],
-                "postalCodeGroupNames": [ # A list of postal group names. The last value can be "all other locations". Example: ["zone 1", "zone 2", "all other locations"]. The referred postal code groups must match the delivery country of the service. Must be non-empty. Can only be set if all other fields are not set.
-                  "A String",
-                ],
-                "weights": [ # be "infinity". For example [{"value": "10", "unit": "kg"}, {"value": "50", "unit": "kg"}, {"value": "infinity", "unit": "kg"}] represents the headers "<= 10kg", " 50kg". All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
-                  {
-                    "value": "A String", # The weight represented as a number.
-                    "unit": "A String", # The weight unit.
-                  },
-                ],
-                "locations": [ # A list of location ID sets. Must be non-empty. Can only be set if all other fields are not set.
-                  {
-                    "locationIds": [ # A non-empty list of location IDs. They must all be of the same location type (e.g., state).
-                      "A String",
-                    ],
-                  },
-                ],
-                "numberOfItems": [ # A list of inclusive number of items upper bounds. The last value can be "infinity". For example ["10", "50", "infinity"] represents the headers "<= 10 items", " 50 items". Must be non-empty. Can only be set if all other fields are not set.
-                  "A String",
-                ],
-              },
-              "rows": [ # The list of rows that constitute the table. Must have the same length as rowHeaders. Required.
-                {
-                  "cells": [ # The list of cells that constitute the row. Must have the same length as columnHeaders for two-dimensional tables, a length of 1 for one-dimensional tables. Required.
-                    { # The single value of a rate group or the value of a rate group table's cell. Exactly one of noShipping, flatRate, pricePercentage, carrierRateName, subtableName must be set.
-                      "carrierRateName": "A String", # The name of a carrier rate referring to a carrier rate defined in the same rate group. Can only be set if all other fields are not set.
-                      "noShipping": True or False, # If true, then the product can't ship. Must be true when set, can only be set if all other fields are not set.
-                      "pricePercentage": "A String", # A percentage of the price represented as a number in decimal notation (e.g., "5.4"). Can only be set if all other fields are not set.
-                      "subtableName": "A String", # The name of a subtable. Can only be set in table cells (i.e., not for single values), and only if all other fields are not set.
-                      "flatRate": { # A flat rate. Can only be set if all other fields are not set.
-                        "currency": "A String", # The currency of the price.
-                        "value": "A String", # The price represented as a number.
-                      },
-                    },
-                  ],
-                },
-              ],
-              "columnHeaders": { # A non-empty list of row or column headers for a table. Exactly one of prices, weights, numItems, postalCodeGroupNames, or locations must be set. # Headers of the table's columns. Optional: if not set then the table has only one dimension.
-                "prices": [ # be "infinity". For example [{"value": "10", "currency": "USD"}, {"value": "500", "currency": "USD"}, {"value": "infinity", "currency": "USD"}] represents the headers "<= $10", " $500". All prices within a service must have the same currency. Must be non-empty. Can only be set if all other fields are not set.
-                  {
-                    "currency": "A String", # The currency of the price.
-                    "value": "A String", # The price represented as a number.
-                  },
-                ],
-                "postalCodeGroupNames": [ # A list of postal group names. The last value can be "all other locations". Example: ["zone 1", "zone 2", "all other locations"]. The referred postal code groups must match the delivery country of the service. Must be non-empty. Can only be set if all other fields are not set.
-                  "A String",
-                ],
-                "weights": [ # be "infinity". For example [{"value": "10", "unit": "kg"}, {"value": "50", "unit": "kg"}, {"value": "infinity", "unit": "kg"}] represents the headers "<= 10kg", " 50kg". All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
-                  {
-                    "value": "A String", # The weight represented as a number.
-                    "unit": "A String", # The weight unit.
-                  },
-                ],
-                "locations": [ # A list of location ID sets. Must be non-empty. Can only be set if all other fields are not set.
-                  {
-                    "locationIds": [ # A non-empty list of location IDs. They must all be of the same location type (e.g., state).
-                      "A String",
-                    ],
-                  },
-                ],
-                "numberOfItems": [ # A list of inclusive number of items upper bounds. The last value can be "infinity". For example ["10", "50", "infinity"] represents the headers "<= 10 items", " 50 items". Must be non-empty. Can only be set if all other fields are not set.
-                  "A String",
-                ],
-              },
-              "name": "A String", # Name of the table. Required for subtables, ignored for the main table.
+          "singleValue": { # The single value of a rate group or the value of a rate group table's cell. Exactly one of noShipping, flatRate, pricePercentage, carrierRateName, subtableName must be set. # The value of the rate group (e.g. flat rate $10). Can only be set if mainTable and subtables are not set.
+            "carrierRateName": "A String", # The name of a carrier rate referring to a carrier rate defined in the same rate group. Can only be set if all other fields are not set.
+            "noShipping": True or False, # If true, then the product can't ship. Must be true when set, can only be set if all other fields are not set.
+            "pricePercentage": "A String", # A percentage of the price represented as a number in decimal notation (e.g., "5.4"). Can only be set if all other fields are not set.
+            "subtableName": "A String", # The name of a subtable. Can only be set in table cells (i.e., not for single values), and only if all other fields are not set.
+            "flatRate": { # A flat rate. Can only be set if all other fields are not set.
+              "currency": "A String", # The currency of the price.
+              "value": "A String", # The price represented as a number.
             },
-          ],
+          },
         },
       ],
       "currency": "A String", # The CLDR code of the currency to which this service applies. Must match that of the prices in rate groups.
       "active": True or False, # A boolean exposing the active status of the shipping service. Required.
+      "minimumOrderValue": { # Minimum order value for this service. If set, indicates that customers will have to spend at least this amount. All prices within a service must have the same currency.
+        "currency": "A String", # The currency of the price.
+        "value": "A String", # The price represented as a number.
+      },
     },
   ],
   "postalCodeGroups": [ # A list of postal code groups that can be referred to in services. Optional.
@@ -1249,125 +1477,65 @@
   "accountId": "A String", # The ID of the account to which these account shipping settings belong. Ignored upon update, always present in get request responses.
 }
 
-  dryRun: boolean, Flag to run the request in dry-run mode.
+  dryRun: boolean, Flag to simulate a request like in a live environment. If set to true, dry-run mode checks the validity of the request and returns errors (if any).
 
 Returns:
   An object of the form:
 
-    { # The merchant account's shipping settings.
+    { # The merchant account's shipping settings. All methods except getsupportedcarriers and getsupportedholidays require the admin role.
     "services": [ # The target account's list of services. Optional.
       {
         "name": "A String", # Free-form name of the service. Must be unique within target account. Required.
         "deliveryTime": { # Time spent in various aspects from order to the delivery of the product. Required.
-          "maxTransitTimeInDays": 42, # Maximum number of business days that is spent in transit. 0 means same day delivery, 1 means next day delivery. Must be greater than or equal to minTransitTimeInDays. Required.
-          "minTransitTimeInDays": 42, # Minimum number of business days that is spent in transit. 0 means same day delivery, 1 means next day delivery. Required.
+          "maxHandlingTimeInDays": 42, # Maximum number of business days spent before an order is shipped. 0 means same day shipped, 1 means next day shipped. Must be greater than or equal to minHandlingTimeInDays.
+          "transitTimeTable": { # Transit time table, number of business days spent in transit based on row and column dimensions. Either {min,max}transitTimeInDays or transitTimeTable can be set, but not both.
+            "rows": [
+              {
+                "values": [
+                  {
+                    "maxTransitTimeInDays": 42, # Must be greater than or equal to minTransitTimeInDays.
+                    "minTransitTimeInDays": 42, # Transit time range (min-max) in business days. 0 means same day delivery, 1 means next day delivery.
+                  },
+                ],
+              },
+            ],
+            "postalCodeGroupNames": [ # A list of postal group names. The last value can be "all other locations". Example: ["zone 1", "zone 2", "all other locations"]. The referred postal code groups must match the delivery country of the service.
+              "A String",
+            ],
+            "transitTimeLabels": [ # A list of transit time labels. The last value can be "all other labels". Example: ["food", "electronics", "all other labels"].
+              "A String",
+            ],
+          },
+          "minHandlingTimeInDays": 42, # Minimum number of business days spent before an order is shipped. 0 means same day shipped, 1 means next day shipped.
+          "cutoffTime": { # Business days cutoff time definition. If not configured the cutoff time will be defaulted to 8AM PST.
+            "timezone": "A String", # Timezone identifier for the cutoff time. A list of identifiers can be found in  the AdWords API documentation. E.g. "Europe/Zurich". Required.
+            "minute": 42, # Minute of the cutoff time until which an order has to be placed to be processed in the same day. Required.
+            "hour": 42, # Hour of the cutoff time until which an order has to be placed to be processed in the same day. Required.
+          },
+          "maxTransitTimeInDays": 42, # Maximum number of business days that is spent in transit. 0 means same day delivery, 1 means next day delivery. Must be greater than or equal to minTransitTimeInDays.
+          "minTransitTimeInDays": 42, # Minimum number of business days that is spent in transit. 0 means same day delivery, 1 means next day delivery. Either {min,max}transitTimeInDays or transitTimeTable must be set, but not both.
+          "holidayCutoffs": [ # Holiday cutoff definitions. If configured, they specify order cutoff times for holiday-specific shipping.
+            {
+              "visibleFromDate": "A String", # Date on which the deadline will become visible to consumers in ISO 8601 format. E.g. "2016-10-31" for 31st October 2016. Required.
+              "deadlineHour": 42, # Hour of the day on the deadline date until which the order has to be placed to qualify for the delivery guarantee. Possible values are: 0 (midnight), 1, ..., 12 (noon), 13, ..., 23. Required.
+              "holidayId": "A String", # Unique identifier for the holiday. Required.
+              "deadlineDate": "A String", # Date of the order deadline, in ISO 8601 format. E.g. "2016-11-29" for 29th November 2016. Required.
+              "deadlineTimezone": "A String", # Timezone identifier for the deadline hour. A list of identifiers can be found in  the AdWords API documentation. E.g. "Europe/Zurich". Required.
+            },
+          ],
         },
+        "eligibility": "A String", # Eligibility for this service.
         "deliveryCountry": "A String", # The CLDR territory code of the country to which the service applies. Required.
         "rateGroups": [ # Shipping rate group definitions. Only the last one is allowed to have an empty applicableShippingLabels, which means "everything else". The other applicableShippingLabels must not overlap.
           {
             "applicableShippingLabels": [ # A list of shipping labels defining the products to which this rate group applies to. This is a disjunction: only one of the labels has to match for the rate group to apply. May only be empty for the last rate group of a service. Required.
               "A String",
             ],
-            "carrierRates": [ # A list of carrier rates that can be referred to by mainTable or singleValue.
-              {
-                "name": "A String", # Name of the carrier rate. Must be unique per rate group. Required.
-                "originPostalCode": "A String", # Shipping origin for this carrier rate. Required.
-                "flatAdjustment": { # Additive shipping rate modifier. Can be negative. For example { "value": "1", "currency" : "USD" } adds $1 to the rate, { "value": "-3", "currency" : "USD" } removes $3 from the rate. Optional.
-                  "currency": "A String", # The currency of the price.
-                  "value": "A String", # The price represented as a number.
-                },
-                "percentageAdjustment": "A String", # Multiplicative shipping rate modifier as a number in decimal notation. Can be negative. For example "5.4" increases the rate by 5.4%, "-3" decreases the rate by 3%. Optional.
-                "carrierName": "A String", # Carrier service, such as "UPS" or "Fedex". The list of supported carriers can be retrieved via the getSupportedCarriers method. Required.
-                "carrierService": "A String", # Carrier service, such as "ground" or "2 days". The list of supported services for a carrier can be retrieved via the getSupportedCarriers method. Required.
-              },
-            ],
-            "singleValue": { # The single value of a rate group or the value of a rate group table's cell. Exactly one of noShipping, flatRate, pricePercentage, carrierRateName, subtableName must be set. # The value of the rate group (e.g. flat rate $10). Can only be set if mainTable and subtables are not set.
-              "carrierRateName": "A String", # The name of a carrier rate referring to a carrier rate defined in the same rate group. Can only be set if all other fields are not set.
-              "noShipping": True or False, # If true, then the product can't ship. Must be true when set, can only be set if all other fields are not set.
-              "pricePercentage": "A String", # A percentage of the price represented as a number in decimal notation (e.g., "5.4"). Can only be set if all other fields are not set.
-              "subtableName": "A String", # The name of a subtable. Can only be set in table cells (i.e., not for single values), and only if all other fields are not set.
-              "flatRate": { # A flat rate. Can only be set if all other fields are not set.
-                "currency": "A String", # The currency of the price.
-                "value": "A String", # The price represented as a number.
-              },
-            },
-            "mainTable": { # A table defining the rate group, when singleValue is not expressive enough. Can only be set if singleValue is not set.
-              "rowHeaders": { # A non-empty list of row or column headers for a table. Exactly one of prices, weights, numItems, postalCodeGroupNames, or locations must be set. # Headers of the table's rows. Required.
-                "prices": [ # be "infinity". For example [{"value": "10", "currency": "USD"}, {"value": "500", "currency": "USD"}, {"value": "infinity", "currency": "USD"}] represents the headers "<= $10", " $500". All prices within a service must have the same currency. Must be non-empty. Can only be set if all other fields are not set.
-                  {
-                    "currency": "A String", # The currency of the price.
-                    "value": "A String", # The price represented as a number.
-                  },
-                ],
-                "postalCodeGroupNames": [ # A list of postal group names. The last value can be "all other locations". Example: ["zone 1", "zone 2", "all other locations"]. The referred postal code groups must match the delivery country of the service. Must be non-empty. Can only be set if all other fields are not set.
-                  "A String",
-                ],
-                "weights": [ # be "infinity". For example [{"value": "10", "unit": "kg"}, {"value": "50", "unit": "kg"}, {"value": "infinity", "unit": "kg"}] represents the headers "<= 10kg", " 50kg". All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
-                  {
-                    "value": "A String", # The weight represented as a number.
-                    "unit": "A String", # The weight unit.
-                  },
-                ],
-                "locations": [ # A list of location ID sets. Must be non-empty. Can only be set if all other fields are not set.
-                  {
-                    "locationIds": [ # A non-empty list of location IDs. They must all be of the same location type (e.g., state).
-                      "A String",
-                    ],
-                  },
-                ],
-                "numberOfItems": [ # A list of inclusive number of items upper bounds. The last value can be "infinity". For example ["10", "50", "infinity"] represents the headers "<= 10 items", " 50 items". Must be non-empty. Can only be set if all other fields are not set.
-                  "A String",
-                ],
-              },
-              "rows": [ # The list of rows that constitute the table. Must have the same length as rowHeaders. Required.
-                {
-                  "cells": [ # The list of cells that constitute the row. Must have the same length as columnHeaders for two-dimensional tables, a length of 1 for one-dimensional tables. Required.
-                    { # The single value of a rate group or the value of a rate group table's cell. Exactly one of noShipping, flatRate, pricePercentage, carrierRateName, subtableName must be set.
-                      "carrierRateName": "A String", # The name of a carrier rate referring to a carrier rate defined in the same rate group. Can only be set if all other fields are not set.
-                      "noShipping": True or False, # If true, then the product can't ship. Must be true when set, can only be set if all other fields are not set.
-                      "pricePercentage": "A String", # A percentage of the price represented as a number in decimal notation (e.g., "5.4"). Can only be set if all other fields are not set.
-                      "subtableName": "A String", # The name of a subtable. Can only be set in table cells (i.e., not for single values), and only if all other fields are not set.
-                      "flatRate": { # A flat rate. Can only be set if all other fields are not set.
-                        "currency": "A String", # The currency of the price.
-                        "value": "A String", # The price represented as a number.
-                      },
-                    },
-                  ],
-                },
-              ],
-              "columnHeaders": { # A non-empty list of row or column headers for a table. Exactly one of prices, weights, numItems, postalCodeGroupNames, or locations must be set. # Headers of the table's columns. Optional: if not set then the table has only one dimension.
-                "prices": [ # be "infinity". For example [{"value": "10", "currency": "USD"}, {"value": "500", "currency": "USD"}, {"value": "infinity", "currency": "USD"}] represents the headers "<= $10", " $500". All prices within a service must have the same currency. Must be non-empty. Can only be set if all other fields are not set.
-                  {
-                    "currency": "A String", # The currency of the price.
-                    "value": "A String", # The price represented as a number.
-                  },
-                ],
-                "postalCodeGroupNames": [ # A list of postal group names. The last value can be "all other locations". Example: ["zone 1", "zone 2", "all other locations"]. The referred postal code groups must match the delivery country of the service. Must be non-empty. Can only be set if all other fields are not set.
-                  "A String",
-                ],
-                "weights": [ # be "infinity". For example [{"value": "10", "unit": "kg"}, {"value": "50", "unit": "kg"}, {"value": "infinity", "unit": "kg"}] represents the headers "<= 10kg", " 50kg". All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
-                  {
-                    "value": "A String", # The weight represented as a number.
-                    "unit": "A String", # The weight unit.
-                  },
-                ],
-                "locations": [ # A list of location ID sets. Must be non-empty. Can only be set if all other fields are not set.
-                  {
-                    "locationIds": [ # A non-empty list of location IDs. They must all be of the same location type (e.g., state).
-                      "A String",
-                    ],
-                  },
-                ],
-                "numberOfItems": [ # A list of inclusive number of items upper bounds. The last value can be "infinity". For example ["10", "50", "infinity"] represents the headers "<= 10 items", " 50 items". Must be non-empty. Can only be set if all other fields are not set.
-                  "A String",
-                ],
-              },
-              "name": "A String", # Name of the table. Required for subtables, ignored for the main table.
-            },
+            "name": "A String", # Name of the rate group. Optional. If set has to be unique within shipping service.
             "subtables": [ # A list of subtables referred to by mainTable. Can only be set if mainTable is set.
               {
-                "rowHeaders": { # A non-empty list of row or column headers for a table. Exactly one of prices, weights, numItems, postalCodeGroupNames, or locations must be set. # Headers of the table's rows. Required.
-                  "prices": [ # be "infinity". For example [{"value": "10", "currency": "USD"}, {"value": "500", "currency": "USD"}, {"value": "infinity", "currency": "USD"}] represents the headers "<= $10", " $500". All prices within a service must have the same currency. Must be non-empty. Can only be set if all other fields are not set.
+                "rowHeaders": { # A non-empty list of row or column headers for a table. Exactly one of prices, weights, numItems, postalCodeGroupNames, or location must be set. # Headers of the table's rows. Required.
+                  "prices": [ # A list of inclusive order price upper bounds. The last price's value can be "infinity". For example [{"value": "10", "currency": "USD"}, {"value": "500", "currency": "USD"}, {"value": "infinity", "currency": "USD"}] represents the headers "<= $10", " $500". All prices within a service must have the same currency. Must be non-empty. Can only be set if all other fields are not set.
                     {
                       "currency": "A String", # The currency of the price.
                       "value": "A String", # The price represented as a number.
@@ -1376,7 +1544,7 @@
                   "postalCodeGroupNames": [ # A list of postal group names. The last value can be "all other locations". Example: ["zone 1", "zone 2", "all other locations"]. The referred postal code groups must match the delivery country of the service. Must be non-empty. Can only be set if all other fields are not set.
                     "A String",
                   ],
-                  "weights": [ # be "infinity". For example [{"value": "10", "unit": "kg"}, {"value": "50", "unit": "kg"}, {"value": "infinity", "unit": "kg"}] represents the headers "<= 10kg", " 50kg". All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
+                  "weights": [ # A list of inclusive order weight upper bounds. The last weight's value can be "infinity". For example [{"value": "10", "unit": "kg"}, {"value": "50", "unit": "kg"}, {"value": "infinity", "unit": "kg"}] represents the headers "<= 10kg", " 50kg". All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
                     {
                       "value": "A String", # The weight represented as a number.
                       "unit": "A String", # The weight unit.
@@ -1409,8 +1577,8 @@
                     ],
                   },
                 ],
-                "columnHeaders": { # A non-empty list of row or column headers for a table. Exactly one of prices, weights, numItems, postalCodeGroupNames, or locations must be set. # Headers of the table's columns. Optional: if not set then the table has only one dimension.
-                  "prices": [ # be "infinity". For example [{"value": "10", "currency": "USD"}, {"value": "500", "currency": "USD"}, {"value": "infinity", "currency": "USD"}] represents the headers "<= $10", " $500". All prices within a service must have the same currency. Must be non-empty. Can only be set if all other fields are not set.
+                "columnHeaders": { # A non-empty list of row or column headers for a table. Exactly one of prices, weights, numItems, postalCodeGroupNames, or location must be set. # Headers of the table's columns. Optional: if not set then the table has only one dimension.
+                  "prices": [ # A list of inclusive order price upper bounds. The last price's value can be "infinity". For example [{"value": "10", "currency": "USD"}, {"value": "500", "currency": "USD"}, {"value": "infinity", "currency": "USD"}] represents the headers "<= $10", " $500". All prices within a service must have the same currency. Must be non-empty. Can only be set if all other fields are not set.
                     {
                       "currency": "A String", # The currency of the price.
                       "value": "A String", # The price represented as a number.
@@ -1419,7 +1587,7 @@
                   "postalCodeGroupNames": [ # A list of postal group names. The last value can be "all other locations". Example: ["zone 1", "zone 2", "all other locations"]. The referred postal code groups must match the delivery country of the service. Must be non-empty. Can only be set if all other fields are not set.
                     "A String",
                   ],
-                  "weights": [ # be "infinity". For example [{"value": "10", "unit": "kg"}, {"value": "50", "unit": "kg"}, {"value": "infinity", "unit": "kg"}] represents the headers "<= 10kg", " 50kg". All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
+                  "weights": [ # A list of inclusive order weight upper bounds. The last weight's value can be "infinity". For example [{"value": "10", "unit": "kg"}, {"value": "50", "unit": "kg"}, {"value": "infinity", "unit": "kg"}] represents the headers "<= 10kg", " 50kg". All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
                     {
                       "value": "A String", # The weight represented as a number.
                       "unit": "A String", # The weight unit.
@@ -1439,10 +1607,110 @@
                 "name": "A String", # Name of the table. Required for subtables, ignored for the main table.
               },
             ],
+            "carrierRates": [ # A list of carrier rates that can be referred to by mainTable or singleValue.
+              {
+                "name": "A String", # Name of the carrier rate. Must be unique per rate group. Required.
+                "originPostalCode": "A String", # Shipping origin for this carrier rate. Required.
+                "flatAdjustment": { # Additive shipping rate modifier. Can be negative. For example { "value": "1", "currency" : "USD" } adds $1 to the rate, { "value": "-3", "currency" : "USD" } removes $3 from the rate. Optional.
+                  "currency": "A String", # The currency of the price.
+                  "value": "A String", # The price represented as a number.
+                },
+                "percentageAdjustment": "A String", # Multiplicative shipping rate modifier as a number in decimal notation. Can be negative. For example "5.4" increases the rate by 5.4%, "-3" decreases the rate by 3%. Optional.
+                "carrierName": "A String", # Carrier service, such as "UPS" or "Fedex". The list of supported carriers can be retrieved via the getSupportedCarriers method. Required.
+                "carrierService": "A String", # Carrier service, such as "ground" or "2 days". The list of supported services for a carrier can be retrieved via the getSupportedCarriers method. Required.
+              },
+            ],
+            "mainTable": { # A table defining the rate group, when singleValue is not expressive enough. Can only be set if singleValue is not set.
+              "rowHeaders": { # A non-empty list of row or column headers for a table. Exactly one of prices, weights, numItems, postalCodeGroupNames, or location must be set. # Headers of the table's rows. Required.
+                "prices": [ # A list of inclusive order price upper bounds. The last price's value can be "infinity". For example [{"value": "10", "currency": "USD"}, {"value": "500", "currency": "USD"}, {"value": "infinity", "currency": "USD"}] represents the headers "<= $10", " $500". All prices within a service must have the same currency. Must be non-empty. Can only be set if all other fields are not set.
+                  {
+                    "currency": "A String", # The currency of the price.
+                    "value": "A String", # The price represented as a number.
+                  },
+                ],
+                "postalCodeGroupNames": [ # A list of postal group names. The last value can be "all other locations". Example: ["zone 1", "zone 2", "all other locations"]. The referred postal code groups must match the delivery country of the service. Must be non-empty. Can only be set if all other fields are not set.
+                  "A String",
+                ],
+                "weights": [ # A list of inclusive order weight upper bounds. The last weight's value can be "infinity". For example [{"value": "10", "unit": "kg"}, {"value": "50", "unit": "kg"}, {"value": "infinity", "unit": "kg"}] represents the headers "<= 10kg", " 50kg". All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
+                  {
+                    "value": "A String", # The weight represented as a number.
+                    "unit": "A String", # The weight unit.
+                  },
+                ],
+                "locations": [ # A list of location ID sets. Must be non-empty. Can only be set if all other fields are not set.
+                  {
+                    "locationIds": [ # A non-empty list of location IDs. They must all be of the same location type (e.g., state).
+                      "A String",
+                    ],
+                  },
+                ],
+                "numberOfItems": [ # A list of inclusive number of items upper bounds. The last value can be "infinity". For example ["10", "50", "infinity"] represents the headers "<= 10 items", " 50 items". Must be non-empty. Can only be set if all other fields are not set.
+                  "A String",
+                ],
+              },
+              "rows": [ # The list of rows that constitute the table. Must have the same length as rowHeaders. Required.
+                {
+                  "cells": [ # The list of cells that constitute the row. Must have the same length as columnHeaders for two-dimensional tables, a length of 1 for one-dimensional tables. Required.
+                    { # The single value of a rate group or the value of a rate group table's cell. Exactly one of noShipping, flatRate, pricePercentage, carrierRateName, subtableName must be set.
+                      "carrierRateName": "A String", # The name of a carrier rate referring to a carrier rate defined in the same rate group. Can only be set if all other fields are not set.
+                      "noShipping": True or False, # If true, then the product can't ship. Must be true when set, can only be set if all other fields are not set.
+                      "pricePercentage": "A String", # A percentage of the price represented as a number in decimal notation (e.g., "5.4"). Can only be set if all other fields are not set.
+                      "subtableName": "A String", # The name of a subtable. Can only be set in table cells (i.e., not for single values), and only if all other fields are not set.
+                      "flatRate": { # A flat rate. Can only be set if all other fields are not set.
+                        "currency": "A String", # The currency of the price.
+                        "value": "A String", # The price represented as a number.
+                      },
+                    },
+                  ],
+                },
+              ],
+              "columnHeaders": { # A non-empty list of row or column headers for a table. Exactly one of prices, weights, numItems, postalCodeGroupNames, or location must be set. # Headers of the table's columns. Optional: if not set then the table has only one dimension.
+                "prices": [ # A list of inclusive order price upper bounds. The last price's value can be "infinity". For example [{"value": "10", "currency": "USD"}, {"value": "500", "currency": "USD"}, {"value": "infinity", "currency": "USD"}] represents the headers "<= $10", " $500". All prices within a service must have the same currency. Must be non-empty. Can only be set if all other fields are not set.
+                  {
+                    "currency": "A String", # The currency of the price.
+                    "value": "A String", # The price represented as a number.
+                  },
+                ],
+                "postalCodeGroupNames": [ # A list of postal group names. The last value can be "all other locations". Example: ["zone 1", "zone 2", "all other locations"]. The referred postal code groups must match the delivery country of the service. Must be non-empty. Can only be set if all other fields are not set.
+                  "A String",
+                ],
+                "weights": [ # A list of inclusive order weight upper bounds. The last weight's value can be "infinity". For example [{"value": "10", "unit": "kg"}, {"value": "50", "unit": "kg"}, {"value": "infinity", "unit": "kg"}] represents the headers "<= 10kg", " 50kg". All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
+                  {
+                    "value": "A String", # The weight represented as a number.
+                    "unit": "A String", # The weight unit.
+                  },
+                ],
+                "locations": [ # A list of location ID sets. Must be non-empty. Can only be set if all other fields are not set.
+                  {
+                    "locationIds": [ # A non-empty list of location IDs. They must all be of the same location type (e.g., state).
+                      "A String",
+                    ],
+                  },
+                ],
+                "numberOfItems": [ # A list of inclusive number of items upper bounds. The last value can be "infinity". For example ["10", "50", "infinity"] represents the headers "<= 10 items", " 50 items". Must be non-empty. Can only be set if all other fields are not set.
+                  "A String",
+                ],
+              },
+              "name": "A String", # Name of the table. Required for subtables, ignored for the main table.
+            },
+            "singleValue": { # The single value of a rate group or the value of a rate group table's cell. Exactly one of noShipping, flatRate, pricePercentage, carrierRateName, subtableName must be set. # The value of the rate group (e.g. flat rate $10). Can only be set if mainTable and subtables are not set.
+              "carrierRateName": "A String", # The name of a carrier rate referring to a carrier rate defined in the same rate group. Can only be set if all other fields are not set.
+              "noShipping": True or False, # If true, then the product can't ship. Must be true when set, can only be set if all other fields are not set.
+              "pricePercentage": "A String", # A percentage of the price represented as a number in decimal notation (e.g., "5.4"). Can only be set if all other fields are not set.
+              "subtableName": "A String", # The name of a subtable. Can only be set in table cells (i.e., not for single values), and only if all other fields are not set.
+              "flatRate": { # A flat rate. Can only be set if all other fields are not set.
+                "currency": "A String", # The currency of the price.
+                "value": "A String", # The price represented as a number.
+              },
+            },
           },
         ],
         "currency": "A String", # The CLDR code of the currency to which this service applies. Must match that of the prices in rate groups.
         "active": True or False, # A boolean exposing the active status of the shipping service. Required.
+        "minimumOrderValue": { # Minimum order value for this service. If set, indicates that customers will have to spend at least this amount. All prices within a service must have the same currency.
+          "currency": "A String", # The currency of the price.
+          "value": "A String", # The price represented as a number.
+        },
       },
     ],
     "postalCodeGroups": [ # A list of postal code groups that can be referred to in services. Optional.
@@ -1463,28 +1731,139 @@
 
 <div class="method">
     <code class="details" id="update">update(merchantId, accountId, body, dryRun=None)</code>
-  <pre>Updates the shipping settings of the account. This method can only be called for accounts to which the managing account has access: either the managing account itself or sub-accounts if the managing account is a multi-client account.
+  <pre>Updates the shipping settings of the account.
 
 Args:
-  merchantId: string, The ID of the managing account. (required)
+  merchantId: string, The ID of the managing account. If this parameter is not the same as accountId, then this account must be a multi-client account and accountId must be the ID of a sub-account of this account. (required)
   accountId: string, The ID of the account for which to get/update shipping settings. (required)
   body: object, The request body. (required)
     The object takes the form of:
 
-{ # The merchant account's shipping settings.
+{ # The merchant account's shipping settings. All methods except getsupportedcarriers and getsupportedholidays require the admin role.
   "services": [ # The target account's list of services. Optional.
     {
       "name": "A String", # Free-form name of the service. Must be unique within target account. Required.
       "deliveryTime": { # Time spent in various aspects from order to the delivery of the product. Required.
-        "maxTransitTimeInDays": 42, # Maximum number of business days that is spent in transit. 0 means same day delivery, 1 means next day delivery. Must be greater than or equal to minTransitTimeInDays. Required.
-        "minTransitTimeInDays": 42, # Minimum number of business days that is spent in transit. 0 means same day delivery, 1 means next day delivery. Required.
+        "maxHandlingTimeInDays": 42, # Maximum number of business days spent before an order is shipped. 0 means same day shipped, 1 means next day shipped. Must be greater than or equal to minHandlingTimeInDays.
+        "transitTimeTable": { # Transit time table, number of business days spent in transit based on row and column dimensions. Either {min,max}transitTimeInDays or transitTimeTable can be set, but not both.
+          "rows": [
+            {
+              "values": [
+                {
+                  "maxTransitTimeInDays": 42, # Must be greater than or equal to minTransitTimeInDays.
+                  "minTransitTimeInDays": 42, # Transit time range (min-max) in business days. 0 means same day delivery, 1 means next day delivery.
+                },
+              ],
+            },
+          ],
+          "postalCodeGroupNames": [ # A list of postal group names. The last value can be "all other locations". Example: ["zone 1", "zone 2", "all other locations"]. The referred postal code groups must match the delivery country of the service.
+            "A String",
+          ],
+          "transitTimeLabels": [ # A list of transit time labels. The last value can be "all other labels". Example: ["food", "electronics", "all other labels"].
+            "A String",
+          ],
+        },
+        "minHandlingTimeInDays": 42, # Minimum number of business days spent before an order is shipped. 0 means same day shipped, 1 means next day shipped.
+        "cutoffTime": { # Business days cutoff time definition. If not configured the cutoff time will be defaulted to 8AM PST.
+          "timezone": "A String", # Timezone identifier for the cutoff time. A list of identifiers can be found in  the AdWords API documentation. E.g. "Europe/Zurich". Required.
+          "minute": 42, # Minute of the cutoff time until which an order has to be placed to be processed in the same day. Required.
+          "hour": 42, # Hour of the cutoff time until which an order has to be placed to be processed in the same day. Required.
+        },
+        "maxTransitTimeInDays": 42, # Maximum number of business days that is spent in transit. 0 means same day delivery, 1 means next day delivery. Must be greater than or equal to minTransitTimeInDays.
+        "minTransitTimeInDays": 42, # Minimum number of business days that is spent in transit. 0 means same day delivery, 1 means next day delivery. Either {min,max}transitTimeInDays or transitTimeTable must be set, but not both.
+        "holidayCutoffs": [ # Holiday cutoff definitions. If configured, they specify order cutoff times for holiday-specific shipping.
+          {
+            "visibleFromDate": "A String", # Date on which the deadline will become visible to consumers in ISO 8601 format. E.g. "2016-10-31" for 31st October 2016. Required.
+            "deadlineHour": 42, # Hour of the day on the deadline date until which the order has to be placed to qualify for the delivery guarantee. Possible values are: 0 (midnight), 1, ..., 12 (noon), 13, ..., 23. Required.
+            "holidayId": "A String", # Unique identifier for the holiday. Required.
+            "deadlineDate": "A String", # Date of the order deadline, in ISO 8601 format. E.g. "2016-11-29" for 29th November 2016. Required.
+            "deadlineTimezone": "A String", # Timezone identifier for the deadline hour. A list of identifiers can be found in  the AdWords API documentation. E.g. "Europe/Zurich". Required.
+          },
+        ],
       },
+      "eligibility": "A String", # Eligibility for this service.
       "deliveryCountry": "A String", # The CLDR territory code of the country to which the service applies. Required.
       "rateGroups": [ # Shipping rate group definitions. Only the last one is allowed to have an empty applicableShippingLabels, which means "everything else". The other applicableShippingLabels must not overlap.
         {
           "applicableShippingLabels": [ # A list of shipping labels defining the products to which this rate group applies to. This is a disjunction: only one of the labels has to match for the rate group to apply. May only be empty for the last rate group of a service. Required.
             "A String",
           ],
+          "name": "A String", # Name of the rate group. Optional. If set has to be unique within shipping service.
+          "subtables": [ # A list of subtables referred to by mainTable. Can only be set if mainTable is set.
+            {
+              "rowHeaders": { # A non-empty list of row or column headers for a table. Exactly one of prices, weights, numItems, postalCodeGroupNames, or location must be set. # Headers of the table's rows. Required.
+                "prices": [ # A list of inclusive order price upper bounds. The last price's value can be "infinity". For example [{"value": "10", "currency": "USD"}, {"value": "500", "currency": "USD"}, {"value": "infinity", "currency": "USD"}] represents the headers "<= $10", " $500". All prices within a service must have the same currency. Must be non-empty. Can only be set if all other fields are not set.
+                  {
+                    "currency": "A String", # The currency of the price.
+                    "value": "A String", # The price represented as a number.
+                  },
+                ],
+                "postalCodeGroupNames": [ # A list of postal group names. The last value can be "all other locations". Example: ["zone 1", "zone 2", "all other locations"]. The referred postal code groups must match the delivery country of the service. Must be non-empty. Can only be set if all other fields are not set.
+                  "A String",
+                ],
+                "weights": [ # A list of inclusive order weight upper bounds. The last weight's value can be "infinity". For example [{"value": "10", "unit": "kg"}, {"value": "50", "unit": "kg"}, {"value": "infinity", "unit": "kg"}] represents the headers "<= 10kg", " 50kg". All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
+                  {
+                    "value": "A String", # The weight represented as a number.
+                    "unit": "A String", # The weight unit.
+                  },
+                ],
+                "locations": [ # A list of location ID sets. Must be non-empty. Can only be set if all other fields are not set.
+                  {
+                    "locationIds": [ # A non-empty list of location IDs. They must all be of the same location type (e.g., state).
+                      "A String",
+                    ],
+                  },
+                ],
+                "numberOfItems": [ # A list of inclusive number of items upper bounds. The last value can be "infinity". For example ["10", "50", "infinity"] represents the headers "<= 10 items", " 50 items". Must be non-empty. Can only be set if all other fields are not set.
+                  "A String",
+                ],
+              },
+              "rows": [ # The list of rows that constitute the table. Must have the same length as rowHeaders. Required.
+                {
+                  "cells": [ # The list of cells that constitute the row. Must have the same length as columnHeaders for two-dimensional tables, a length of 1 for one-dimensional tables. Required.
+                    { # The single value of a rate group or the value of a rate group table's cell. Exactly one of noShipping, flatRate, pricePercentage, carrierRateName, subtableName must be set.
+                      "carrierRateName": "A String", # The name of a carrier rate referring to a carrier rate defined in the same rate group. Can only be set if all other fields are not set.
+                      "noShipping": True or False, # If true, then the product can't ship. Must be true when set, can only be set if all other fields are not set.
+                      "pricePercentage": "A String", # A percentage of the price represented as a number in decimal notation (e.g., "5.4"). Can only be set if all other fields are not set.
+                      "subtableName": "A String", # The name of a subtable. Can only be set in table cells (i.e., not for single values), and only if all other fields are not set.
+                      "flatRate": { # A flat rate. Can only be set if all other fields are not set.
+                        "currency": "A String", # The currency of the price.
+                        "value": "A String", # The price represented as a number.
+                      },
+                    },
+                  ],
+                },
+              ],
+              "columnHeaders": { # A non-empty list of row or column headers for a table. Exactly one of prices, weights, numItems, postalCodeGroupNames, or location must be set. # Headers of the table's columns. Optional: if not set then the table has only one dimension.
+                "prices": [ # A list of inclusive order price upper bounds. The last price's value can be "infinity". For example [{"value": "10", "currency": "USD"}, {"value": "500", "currency": "USD"}, {"value": "infinity", "currency": "USD"}] represents the headers "<= $10", " $500". All prices within a service must have the same currency. Must be non-empty. Can only be set if all other fields are not set.
+                  {
+                    "currency": "A String", # The currency of the price.
+                    "value": "A String", # The price represented as a number.
+                  },
+                ],
+                "postalCodeGroupNames": [ # A list of postal group names. The last value can be "all other locations". Example: ["zone 1", "zone 2", "all other locations"]. The referred postal code groups must match the delivery country of the service. Must be non-empty. Can only be set if all other fields are not set.
+                  "A String",
+                ],
+                "weights": [ # A list of inclusive order weight upper bounds. The last weight's value can be "infinity". For example [{"value": "10", "unit": "kg"}, {"value": "50", "unit": "kg"}, {"value": "infinity", "unit": "kg"}] represents the headers "<= 10kg", " 50kg". All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
+                  {
+                    "value": "A String", # The weight represented as a number.
+                    "unit": "A String", # The weight unit.
+                  },
+                ],
+                "locations": [ # A list of location ID sets. Must be non-empty. Can only be set if all other fields are not set.
+                  {
+                    "locationIds": [ # A non-empty list of location IDs. They must all be of the same location type (e.g., state).
+                      "A String",
+                    ],
+                  },
+                ],
+                "numberOfItems": [ # A list of inclusive number of items upper bounds. The last value can be "infinity". For example ["10", "50", "infinity"] represents the headers "<= 10 items", " 50 items". Must be non-empty. Can only be set if all other fields are not set.
+                  "A String",
+                ],
+              },
+              "name": "A String", # Name of the table. Required for subtables, ignored for the main table.
+            },
+          ],
           "carrierRates": [ # A list of carrier rates that can be referred to by mainTable or singleValue.
             {
               "name": "A String", # Name of the carrier rate. Must be unique per rate group. Required.
@@ -1498,19 +1877,9 @@
               "carrierService": "A String", # Carrier service, such as "ground" or "2 days". The list of supported services for a carrier can be retrieved via the getSupportedCarriers method. Required.
             },
           ],
-          "singleValue": { # The single value of a rate group or the value of a rate group table's cell. Exactly one of noShipping, flatRate, pricePercentage, carrierRateName, subtableName must be set. # The value of the rate group (e.g. flat rate $10). Can only be set if mainTable and subtables are not set.
-            "carrierRateName": "A String", # The name of a carrier rate referring to a carrier rate defined in the same rate group. Can only be set if all other fields are not set.
-            "noShipping": True or False, # If true, then the product can't ship. Must be true when set, can only be set if all other fields are not set.
-            "pricePercentage": "A String", # A percentage of the price represented as a number in decimal notation (e.g., "5.4"). Can only be set if all other fields are not set.
-            "subtableName": "A String", # The name of a subtable. Can only be set in table cells (i.e., not for single values), and only if all other fields are not set.
-            "flatRate": { # A flat rate. Can only be set if all other fields are not set.
-              "currency": "A String", # The currency of the price.
-              "value": "A String", # The price represented as a number.
-            },
-          },
           "mainTable": { # A table defining the rate group, when singleValue is not expressive enough. Can only be set if singleValue is not set.
-            "rowHeaders": { # A non-empty list of row or column headers for a table. Exactly one of prices, weights, numItems, postalCodeGroupNames, or locations must be set. # Headers of the table's rows. Required.
-              "prices": [ # be "infinity". For example [{"value": "10", "currency": "USD"}, {"value": "500", "currency": "USD"}, {"value": "infinity", "currency": "USD"}] represents the headers "<= $10", " $500". All prices within a service must have the same currency. Must be non-empty. Can only be set if all other fields are not set.
+            "rowHeaders": { # A non-empty list of row or column headers for a table. Exactly one of prices, weights, numItems, postalCodeGroupNames, or location must be set. # Headers of the table's rows. Required.
+              "prices": [ # A list of inclusive order price upper bounds. The last price's value can be "infinity". For example [{"value": "10", "currency": "USD"}, {"value": "500", "currency": "USD"}, {"value": "infinity", "currency": "USD"}] represents the headers "<= $10", " $500". All prices within a service must have the same currency. Must be non-empty. Can only be set if all other fields are not set.
                 {
                   "currency": "A String", # The currency of the price.
                   "value": "A String", # The price represented as a number.
@@ -1519,7 +1888,7 @@
               "postalCodeGroupNames": [ # A list of postal group names. The last value can be "all other locations". Example: ["zone 1", "zone 2", "all other locations"]. The referred postal code groups must match the delivery country of the service. Must be non-empty. Can only be set if all other fields are not set.
                 "A String",
               ],
-              "weights": [ # be "infinity". For example [{"value": "10", "unit": "kg"}, {"value": "50", "unit": "kg"}, {"value": "infinity", "unit": "kg"}] represents the headers "<= 10kg", " 50kg". All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
+              "weights": [ # A list of inclusive order weight upper bounds. The last weight's value can be "infinity". For example [{"value": "10", "unit": "kg"}, {"value": "50", "unit": "kg"}, {"value": "infinity", "unit": "kg"}] represents the headers "<= 10kg", " 50kg". All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
                 {
                   "value": "A String", # The weight represented as a number.
                   "unit": "A String", # The weight unit.
@@ -1552,8 +1921,8 @@
                 ],
               },
             ],
-            "columnHeaders": { # A non-empty list of row or column headers for a table. Exactly one of prices, weights, numItems, postalCodeGroupNames, or locations must be set. # Headers of the table's columns. Optional: if not set then the table has only one dimension.
-              "prices": [ # be "infinity". For example [{"value": "10", "currency": "USD"}, {"value": "500", "currency": "USD"}, {"value": "infinity", "currency": "USD"}] represents the headers "<= $10", " $500". All prices within a service must have the same currency. Must be non-empty. Can only be set if all other fields are not set.
+            "columnHeaders": { # A non-empty list of row or column headers for a table. Exactly one of prices, weights, numItems, postalCodeGroupNames, or location must be set. # Headers of the table's columns. Optional: if not set then the table has only one dimension.
+              "prices": [ # A list of inclusive order price upper bounds. The last price's value can be "infinity". For example [{"value": "10", "currency": "USD"}, {"value": "500", "currency": "USD"}, {"value": "infinity", "currency": "USD"}] represents the headers "<= $10", " $500". All prices within a service must have the same currency. Must be non-empty. Can only be set if all other fields are not set.
                 {
                   "currency": "A String", # The currency of the price.
                   "value": "A String", # The price represented as a number.
@@ -1562,7 +1931,7 @@
               "postalCodeGroupNames": [ # A list of postal group names. The last value can be "all other locations". Example: ["zone 1", "zone 2", "all other locations"]. The referred postal code groups must match the delivery country of the service. Must be non-empty. Can only be set if all other fields are not set.
                 "A String",
               ],
-              "weights": [ # be "infinity". For example [{"value": "10", "unit": "kg"}, {"value": "50", "unit": "kg"}, {"value": "infinity", "unit": "kg"}] represents the headers "<= 10kg", " 50kg". All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
+              "weights": [ # A list of inclusive order weight upper bounds. The last weight's value can be "infinity". For example [{"value": "10", "unit": "kg"}, {"value": "50", "unit": "kg"}, {"value": "infinity", "unit": "kg"}] represents the headers "<= 10kg", " 50kg". All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
                 {
                   "value": "A String", # The weight represented as a number.
                   "unit": "A String", # The weight unit.
@@ -1581,85 +1950,24 @@
             },
             "name": "A String", # Name of the table. Required for subtables, ignored for the main table.
           },
-          "subtables": [ # A list of subtables referred to by mainTable. Can only be set if mainTable is set.
-            {
-              "rowHeaders": { # A non-empty list of row or column headers for a table. Exactly one of prices, weights, numItems, postalCodeGroupNames, or locations must be set. # Headers of the table's rows. Required.
-                "prices": [ # be "infinity". For example [{"value": "10", "currency": "USD"}, {"value": "500", "currency": "USD"}, {"value": "infinity", "currency": "USD"}] represents the headers "<= $10", " $500". All prices within a service must have the same currency. Must be non-empty. Can only be set if all other fields are not set.
-                  {
-                    "currency": "A String", # The currency of the price.
-                    "value": "A String", # The price represented as a number.
-                  },
-                ],
-                "postalCodeGroupNames": [ # A list of postal group names. The last value can be "all other locations". Example: ["zone 1", "zone 2", "all other locations"]. The referred postal code groups must match the delivery country of the service. Must be non-empty. Can only be set if all other fields are not set.
-                  "A String",
-                ],
-                "weights": [ # be "infinity". For example [{"value": "10", "unit": "kg"}, {"value": "50", "unit": "kg"}, {"value": "infinity", "unit": "kg"}] represents the headers "<= 10kg", " 50kg". All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
-                  {
-                    "value": "A String", # The weight represented as a number.
-                    "unit": "A String", # The weight unit.
-                  },
-                ],
-                "locations": [ # A list of location ID sets. Must be non-empty. Can only be set if all other fields are not set.
-                  {
-                    "locationIds": [ # A non-empty list of location IDs. They must all be of the same location type (e.g., state).
-                      "A String",
-                    ],
-                  },
-                ],
-                "numberOfItems": [ # A list of inclusive number of items upper bounds. The last value can be "infinity". For example ["10", "50", "infinity"] represents the headers "<= 10 items", " 50 items". Must be non-empty. Can only be set if all other fields are not set.
-                  "A String",
-                ],
-              },
-              "rows": [ # The list of rows that constitute the table. Must have the same length as rowHeaders. Required.
-                {
-                  "cells": [ # The list of cells that constitute the row. Must have the same length as columnHeaders for two-dimensional tables, a length of 1 for one-dimensional tables. Required.
-                    { # The single value of a rate group or the value of a rate group table's cell. Exactly one of noShipping, flatRate, pricePercentage, carrierRateName, subtableName must be set.
-                      "carrierRateName": "A String", # The name of a carrier rate referring to a carrier rate defined in the same rate group. Can only be set if all other fields are not set.
-                      "noShipping": True or False, # If true, then the product can't ship. Must be true when set, can only be set if all other fields are not set.
-                      "pricePercentage": "A String", # A percentage of the price represented as a number in decimal notation (e.g., "5.4"). Can only be set if all other fields are not set.
-                      "subtableName": "A String", # The name of a subtable. Can only be set in table cells (i.e., not for single values), and only if all other fields are not set.
-                      "flatRate": { # A flat rate. Can only be set if all other fields are not set.
-                        "currency": "A String", # The currency of the price.
-                        "value": "A String", # The price represented as a number.
-                      },
-                    },
-                  ],
-                },
-              ],
-              "columnHeaders": { # A non-empty list of row or column headers for a table. Exactly one of prices, weights, numItems, postalCodeGroupNames, or locations must be set. # Headers of the table's columns. Optional: if not set then the table has only one dimension.
-                "prices": [ # be "infinity". For example [{"value": "10", "currency": "USD"}, {"value": "500", "currency": "USD"}, {"value": "infinity", "currency": "USD"}] represents the headers "<= $10", " $500". All prices within a service must have the same currency. Must be non-empty. Can only be set if all other fields are not set.
-                  {
-                    "currency": "A String", # The currency of the price.
-                    "value": "A String", # The price represented as a number.
-                  },
-                ],
-                "postalCodeGroupNames": [ # A list of postal group names. The last value can be "all other locations". Example: ["zone 1", "zone 2", "all other locations"]. The referred postal code groups must match the delivery country of the service. Must be non-empty. Can only be set if all other fields are not set.
-                  "A String",
-                ],
-                "weights": [ # be "infinity". For example [{"value": "10", "unit": "kg"}, {"value": "50", "unit": "kg"}, {"value": "infinity", "unit": "kg"}] represents the headers "<= 10kg", " 50kg". All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
-                  {
-                    "value": "A String", # The weight represented as a number.
-                    "unit": "A String", # The weight unit.
-                  },
-                ],
-                "locations": [ # A list of location ID sets. Must be non-empty. Can only be set if all other fields are not set.
-                  {
-                    "locationIds": [ # A non-empty list of location IDs. They must all be of the same location type (e.g., state).
-                      "A String",
-                    ],
-                  },
-                ],
-                "numberOfItems": [ # A list of inclusive number of items upper bounds. The last value can be "infinity". For example ["10", "50", "infinity"] represents the headers "<= 10 items", " 50 items". Must be non-empty. Can only be set if all other fields are not set.
-                  "A String",
-                ],
-              },
-              "name": "A String", # Name of the table. Required for subtables, ignored for the main table.
+          "singleValue": { # The single value of a rate group or the value of a rate group table's cell. Exactly one of noShipping, flatRate, pricePercentage, carrierRateName, subtableName must be set. # The value of the rate group (e.g. flat rate $10). Can only be set if mainTable and subtables are not set.
+            "carrierRateName": "A String", # The name of a carrier rate referring to a carrier rate defined in the same rate group. Can only be set if all other fields are not set.
+            "noShipping": True or False, # If true, then the product can't ship. Must be true when set, can only be set if all other fields are not set.
+            "pricePercentage": "A String", # A percentage of the price represented as a number in decimal notation (e.g., "5.4"). Can only be set if all other fields are not set.
+            "subtableName": "A String", # The name of a subtable. Can only be set in table cells (i.e., not for single values), and only if all other fields are not set.
+            "flatRate": { # A flat rate. Can only be set if all other fields are not set.
+              "currency": "A String", # The currency of the price.
+              "value": "A String", # The price represented as a number.
             },
-          ],
+          },
         },
       ],
       "currency": "A String", # The CLDR code of the currency to which this service applies. Must match that of the prices in rate groups.
       "active": True or False, # A boolean exposing the active status of the shipping service. Required.
+      "minimumOrderValue": { # Minimum order value for this service. If set, indicates that customers will have to spend at least this amount. All prices within a service must have the same currency.
+        "currency": "A String", # The currency of the price.
+        "value": "A String", # The price represented as a number.
+      },
     },
   ],
   "postalCodeGroups": [ # A list of postal code groups that can be referred to in services. Optional.
@@ -1677,125 +1985,65 @@
   "accountId": "A String", # The ID of the account to which these account shipping settings belong. Ignored upon update, always present in get request responses.
 }
 
-  dryRun: boolean, Flag to run the request in dry-run mode.
+  dryRun: boolean, Flag to simulate a request like in a live environment. If set to true, dry-run mode checks the validity of the request and returns errors (if any).
 
 Returns:
   An object of the form:
 
-    { # The merchant account's shipping settings.
+    { # The merchant account's shipping settings. All methods except getsupportedcarriers and getsupportedholidays require the admin role.
     "services": [ # The target account's list of services. Optional.
       {
         "name": "A String", # Free-form name of the service. Must be unique within target account. Required.
         "deliveryTime": { # Time spent in various aspects from order to the delivery of the product. Required.
-          "maxTransitTimeInDays": 42, # Maximum number of business days that is spent in transit. 0 means same day delivery, 1 means next day delivery. Must be greater than or equal to minTransitTimeInDays. Required.
-          "minTransitTimeInDays": 42, # Minimum number of business days that is spent in transit. 0 means same day delivery, 1 means next day delivery. Required.
+          "maxHandlingTimeInDays": 42, # Maximum number of business days spent before an order is shipped. 0 means same day shipped, 1 means next day shipped. Must be greater than or equal to minHandlingTimeInDays.
+          "transitTimeTable": { # Transit time table, number of business days spent in transit based on row and column dimensions. Either {min,max}transitTimeInDays or transitTimeTable can be set, but not both.
+            "rows": [
+              {
+                "values": [
+                  {
+                    "maxTransitTimeInDays": 42, # Must be greater than or equal to minTransitTimeInDays.
+                    "minTransitTimeInDays": 42, # Transit time range (min-max) in business days. 0 means same day delivery, 1 means next day delivery.
+                  },
+                ],
+              },
+            ],
+            "postalCodeGroupNames": [ # A list of postal group names. The last value can be "all other locations". Example: ["zone 1", "zone 2", "all other locations"]. The referred postal code groups must match the delivery country of the service.
+              "A String",
+            ],
+            "transitTimeLabels": [ # A list of transit time labels. The last value can be "all other labels". Example: ["food", "electronics", "all other labels"].
+              "A String",
+            ],
+          },
+          "minHandlingTimeInDays": 42, # Minimum number of business days spent before an order is shipped. 0 means same day shipped, 1 means next day shipped.
+          "cutoffTime": { # Business days cutoff time definition. If not configured the cutoff time will be defaulted to 8AM PST.
+            "timezone": "A String", # Timezone identifier for the cutoff time. A list of identifiers can be found in  the AdWords API documentation. E.g. "Europe/Zurich". Required.
+            "minute": 42, # Minute of the cutoff time until which an order has to be placed to be processed in the same day. Required.
+            "hour": 42, # Hour of the cutoff time until which an order has to be placed to be processed in the same day. Required.
+          },
+          "maxTransitTimeInDays": 42, # Maximum number of business days that is spent in transit. 0 means same day delivery, 1 means next day delivery. Must be greater than or equal to minTransitTimeInDays.
+          "minTransitTimeInDays": 42, # Minimum number of business days that is spent in transit. 0 means same day delivery, 1 means next day delivery. Either {min,max}transitTimeInDays or transitTimeTable must be set, but not both.
+          "holidayCutoffs": [ # Holiday cutoff definitions. If configured, they specify order cutoff times for holiday-specific shipping.
+            {
+              "visibleFromDate": "A String", # Date on which the deadline will become visible to consumers in ISO 8601 format. E.g. "2016-10-31" for 31st October 2016. Required.
+              "deadlineHour": 42, # Hour of the day on the deadline date until which the order has to be placed to qualify for the delivery guarantee. Possible values are: 0 (midnight), 1, ..., 12 (noon), 13, ..., 23. Required.
+              "holidayId": "A String", # Unique identifier for the holiday. Required.
+              "deadlineDate": "A String", # Date of the order deadline, in ISO 8601 format. E.g. "2016-11-29" for 29th November 2016. Required.
+              "deadlineTimezone": "A String", # Timezone identifier for the deadline hour. A list of identifiers can be found in  the AdWords API documentation. E.g. "Europe/Zurich". Required.
+            },
+          ],
         },
+        "eligibility": "A String", # Eligibility for this service.
         "deliveryCountry": "A String", # The CLDR territory code of the country to which the service applies. Required.
         "rateGroups": [ # Shipping rate group definitions. Only the last one is allowed to have an empty applicableShippingLabels, which means "everything else". The other applicableShippingLabels must not overlap.
           {
             "applicableShippingLabels": [ # A list of shipping labels defining the products to which this rate group applies to. This is a disjunction: only one of the labels has to match for the rate group to apply. May only be empty for the last rate group of a service. Required.
               "A String",
             ],
-            "carrierRates": [ # A list of carrier rates that can be referred to by mainTable or singleValue.
-              {
-                "name": "A String", # Name of the carrier rate. Must be unique per rate group. Required.
-                "originPostalCode": "A String", # Shipping origin for this carrier rate. Required.
-                "flatAdjustment": { # Additive shipping rate modifier. Can be negative. For example { "value": "1", "currency" : "USD" } adds $1 to the rate, { "value": "-3", "currency" : "USD" } removes $3 from the rate. Optional.
-                  "currency": "A String", # The currency of the price.
-                  "value": "A String", # The price represented as a number.
-                },
-                "percentageAdjustment": "A String", # Multiplicative shipping rate modifier as a number in decimal notation. Can be negative. For example "5.4" increases the rate by 5.4%, "-3" decreases the rate by 3%. Optional.
-                "carrierName": "A String", # Carrier service, such as "UPS" or "Fedex". The list of supported carriers can be retrieved via the getSupportedCarriers method. Required.
-                "carrierService": "A String", # Carrier service, such as "ground" or "2 days". The list of supported services for a carrier can be retrieved via the getSupportedCarriers method. Required.
-              },
-            ],
-            "singleValue": { # The single value of a rate group or the value of a rate group table's cell. Exactly one of noShipping, flatRate, pricePercentage, carrierRateName, subtableName must be set. # The value of the rate group (e.g. flat rate $10). Can only be set if mainTable and subtables are not set.
-              "carrierRateName": "A String", # The name of a carrier rate referring to a carrier rate defined in the same rate group. Can only be set if all other fields are not set.
-              "noShipping": True or False, # If true, then the product can't ship. Must be true when set, can only be set if all other fields are not set.
-              "pricePercentage": "A String", # A percentage of the price represented as a number in decimal notation (e.g., "5.4"). Can only be set if all other fields are not set.
-              "subtableName": "A String", # The name of a subtable. Can only be set in table cells (i.e., not for single values), and only if all other fields are not set.
-              "flatRate": { # A flat rate. Can only be set if all other fields are not set.
-                "currency": "A String", # The currency of the price.
-                "value": "A String", # The price represented as a number.
-              },
-            },
-            "mainTable": { # A table defining the rate group, when singleValue is not expressive enough. Can only be set if singleValue is not set.
-              "rowHeaders": { # A non-empty list of row or column headers for a table. Exactly one of prices, weights, numItems, postalCodeGroupNames, or locations must be set. # Headers of the table's rows. Required.
-                "prices": [ # be "infinity". For example [{"value": "10", "currency": "USD"}, {"value": "500", "currency": "USD"}, {"value": "infinity", "currency": "USD"}] represents the headers "<= $10", " $500". All prices within a service must have the same currency. Must be non-empty. Can only be set if all other fields are not set.
-                  {
-                    "currency": "A String", # The currency of the price.
-                    "value": "A String", # The price represented as a number.
-                  },
-                ],
-                "postalCodeGroupNames": [ # A list of postal group names. The last value can be "all other locations". Example: ["zone 1", "zone 2", "all other locations"]. The referred postal code groups must match the delivery country of the service. Must be non-empty. Can only be set if all other fields are not set.
-                  "A String",
-                ],
-                "weights": [ # be "infinity". For example [{"value": "10", "unit": "kg"}, {"value": "50", "unit": "kg"}, {"value": "infinity", "unit": "kg"}] represents the headers "<= 10kg", " 50kg". All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
-                  {
-                    "value": "A String", # The weight represented as a number.
-                    "unit": "A String", # The weight unit.
-                  },
-                ],
-                "locations": [ # A list of location ID sets. Must be non-empty. Can only be set if all other fields are not set.
-                  {
-                    "locationIds": [ # A non-empty list of location IDs. They must all be of the same location type (e.g., state).
-                      "A String",
-                    ],
-                  },
-                ],
-                "numberOfItems": [ # A list of inclusive number of items upper bounds. The last value can be "infinity". For example ["10", "50", "infinity"] represents the headers "<= 10 items", " 50 items". Must be non-empty. Can only be set if all other fields are not set.
-                  "A String",
-                ],
-              },
-              "rows": [ # The list of rows that constitute the table. Must have the same length as rowHeaders. Required.
-                {
-                  "cells": [ # The list of cells that constitute the row. Must have the same length as columnHeaders for two-dimensional tables, a length of 1 for one-dimensional tables. Required.
-                    { # The single value of a rate group or the value of a rate group table's cell. Exactly one of noShipping, flatRate, pricePercentage, carrierRateName, subtableName must be set.
-                      "carrierRateName": "A String", # The name of a carrier rate referring to a carrier rate defined in the same rate group. Can only be set if all other fields are not set.
-                      "noShipping": True or False, # If true, then the product can't ship. Must be true when set, can only be set if all other fields are not set.
-                      "pricePercentage": "A String", # A percentage of the price represented as a number in decimal notation (e.g., "5.4"). Can only be set if all other fields are not set.
-                      "subtableName": "A String", # The name of a subtable. Can only be set in table cells (i.e., not for single values), and only if all other fields are not set.
-                      "flatRate": { # A flat rate. Can only be set if all other fields are not set.
-                        "currency": "A String", # The currency of the price.
-                        "value": "A String", # The price represented as a number.
-                      },
-                    },
-                  ],
-                },
-              ],
-              "columnHeaders": { # A non-empty list of row or column headers for a table. Exactly one of prices, weights, numItems, postalCodeGroupNames, or locations must be set. # Headers of the table's columns. Optional: if not set then the table has only one dimension.
-                "prices": [ # be "infinity". For example [{"value": "10", "currency": "USD"}, {"value": "500", "currency": "USD"}, {"value": "infinity", "currency": "USD"}] represents the headers "<= $10", " $500". All prices within a service must have the same currency. Must be non-empty. Can only be set if all other fields are not set.
-                  {
-                    "currency": "A String", # The currency of the price.
-                    "value": "A String", # The price represented as a number.
-                  },
-                ],
-                "postalCodeGroupNames": [ # A list of postal group names. The last value can be "all other locations". Example: ["zone 1", "zone 2", "all other locations"]. The referred postal code groups must match the delivery country of the service. Must be non-empty. Can only be set if all other fields are not set.
-                  "A String",
-                ],
-                "weights": [ # be "infinity". For example [{"value": "10", "unit": "kg"}, {"value": "50", "unit": "kg"}, {"value": "infinity", "unit": "kg"}] represents the headers "<= 10kg", " 50kg". All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
-                  {
-                    "value": "A String", # The weight represented as a number.
-                    "unit": "A String", # The weight unit.
-                  },
-                ],
-                "locations": [ # A list of location ID sets. Must be non-empty. Can only be set if all other fields are not set.
-                  {
-                    "locationIds": [ # A non-empty list of location IDs. They must all be of the same location type (e.g., state).
-                      "A String",
-                    ],
-                  },
-                ],
-                "numberOfItems": [ # A list of inclusive number of items upper bounds. The last value can be "infinity". For example ["10", "50", "infinity"] represents the headers "<= 10 items", " 50 items". Must be non-empty. Can only be set if all other fields are not set.
-                  "A String",
-                ],
-              },
-              "name": "A String", # Name of the table. Required for subtables, ignored for the main table.
-            },
+            "name": "A String", # Name of the rate group. Optional. If set has to be unique within shipping service.
             "subtables": [ # A list of subtables referred to by mainTable. Can only be set if mainTable is set.
               {
-                "rowHeaders": { # A non-empty list of row or column headers for a table. Exactly one of prices, weights, numItems, postalCodeGroupNames, or locations must be set. # Headers of the table's rows. Required.
-                  "prices": [ # be "infinity". For example [{"value": "10", "currency": "USD"}, {"value": "500", "currency": "USD"}, {"value": "infinity", "currency": "USD"}] represents the headers "<= $10", " $500". All prices within a service must have the same currency. Must be non-empty. Can only be set if all other fields are not set.
+                "rowHeaders": { # A non-empty list of row or column headers for a table. Exactly one of prices, weights, numItems, postalCodeGroupNames, or location must be set. # Headers of the table's rows. Required.
+                  "prices": [ # A list of inclusive order price upper bounds. The last price's value can be "infinity". For example [{"value": "10", "currency": "USD"}, {"value": "500", "currency": "USD"}, {"value": "infinity", "currency": "USD"}] represents the headers "<= $10", " $500". All prices within a service must have the same currency. Must be non-empty. Can only be set if all other fields are not set.
                     {
                       "currency": "A String", # The currency of the price.
                       "value": "A String", # The price represented as a number.
@@ -1804,7 +2052,7 @@
                   "postalCodeGroupNames": [ # A list of postal group names. The last value can be "all other locations". Example: ["zone 1", "zone 2", "all other locations"]. The referred postal code groups must match the delivery country of the service. Must be non-empty. Can only be set if all other fields are not set.
                     "A String",
                   ],
-                  "weights": [ # be "infinity". For example [{"value": "10", "unit": "kg"}, {"value": "50", "unit": "kg"}, {"value": "infinity", "unit": "kg"}] represents the headers "<= 10kg", " 50kg". All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
+                  "weights": [ # A list of inclusive order weight upper bounds. The last weight's value can be "infinity". For example [{"value": "10", "unit": "kg"}, {"value": "50", "unit": "kg"}, {"value": "infinity", "unit": "kg"}] represents the headers "<= 10kg", " 50kg". All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
                     {
                       "value": "A String", # The weight represented as a number.
                       "unit": "A String", # The weight unit.
@@ -1837,8 +2085,8 @@
                     ],
                   },
                 ],
-                "columnHeaders": { # A non-empty list of row or column headers for a table. Exactly one of prices, weights, numItems, postalCodeGroupNames, or locations must be set. # Headers of the table's columns. Optional: if not set then the table has only one dimension.
-                  "prices": [ # be "infinity". For example [{"value": "10", "currency": "USD"}, {"value": "500", "currency": "USD"}, {"value": "infinity", "currency": "USD"}] represents the headers "<= $10", " $500". All prices within a service must have the same currency. Must be non-empty. Can only be set if all other fields are not set.
+                "columnHeaders": { # A non-empty list of row or column headers for a table. Exactly one of prices, weights, numItems, postalCodeGroupNames, or location must be set. # Headers of the table's columns. Optional: if not set then the table has only one dimension.
+                  "prices": [ # A list of inclusive order price upper bounds. The last price's value can be "infinity". For example [{"value": "10", "currency": "USD"}, {"value": "500", "currency": "USD"}, {"value": "infinity", "currency": "USD"}] represents the headers "<= $10", " $500". All prices within a service must have the same currency. Must be non-empty. Can only be set if all other fields are not set.
                     {
                       "currency": "A String", # The currency of the price.
                       "value": "A String", # The price represented as a number.
@@ -1847,7 +2095,7 @@
                   "postalCodeGroupNames": [ # A list of postal group names. The last value can be "all other locations". Example: ["zone 1", "zone 2", "all other locations"]. The referred postal code groups must match the delivery country of the service. Must be non-empty. Can only be set if all other fields are not set.
                     "A String",
                   ],
-                  "weights": [ # be "infinity". For example [{"value": "10", "unit": "kg"}, {"value": "50", "unit": "kg"}, {"value": "infinity", "unit": "kg"}] represents the headers "<= 10kg", " 50kg". All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
+                  "weights": [ # A list of inclusive order weight upper bounds. The last weight's value can be "infinity". For example [{"value": "10", "unit": "kg"}, {"value": "50", "unit": "kg"}, {"value": "infinity", "unit": "kg"}] represents the headers "<= 10kg", " 50kg". All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
                     {
                       "value": "A String", # The weight represented as a number.
                       "unit": "A String", # The weight unit.
@@ -1867,10 +2115,110 @@
                 "name": "A String", # Name of the table. Required for subtables, ignored for the main table.
               },
             ],
+            "carrierRates": [ # A list of carrier rates that can be referred to by mainTable or singleValue.
+              {
+                "name": "A String", # Name of the carrier rate. Must be unique per rate group. Required.
+                "originPostalCode": "A String", # Shipping origin for this carrier rate. Required.
+                "flatAdjustment": { # Additive shipping rate modifier. Can be negative. For example { "value": "1", "currency" : "USD" } adds $1 to the rate, { "value": "-3", "currency" : "USD" } removes $3 from the rate. Optional.
+                  "currency": "A String", # The currency of the price.
+                  "value": "A String", # The price represented as a number.
+                },
+                "percentageAdjustment": "A String", # Multiplicative shipping rate modifier as a number in decimal notation. Can be negative. For example "5.4" increases the rate by 5.4%, "-3" decreases the rate by 3%. Optional.
+                "carrierName": "A String", # Carrier service, such as "UPS" or "Fedex". The list of supported carriers can be retrieved via the getSupportedCarriers method. Required.
+                "carrierService": "A String", # Carrier service, such as "ground" or "2 days". The list of supported services for a carrier can be retrieved via the getSupportedCarriers method. Required.
+              },
+            ],
+            "mainTable": { # A table defining the rate group, when singleValue is not expressive enough. Can only be set if singleValue is not set.
+              "rowHeaders": { # A non-empty list of row or column headers for a table. Exactly one of prices, weights, numItems, postalCodeGroupNames, or location must be set. # Headers of the table's rows. Required.
+                "prices": [ # A list of inclusive order price upper bounds. The last price's value can be "infinity". For example [{"value": "10", "currency": "USD"}, {"value": "500", "currency": "USD"}, {"value": "infinity", "currency": "USD"}] represents the headers "<= $10", " $500". All prices within a service must have the same currency. Must be non-empty. Can only be set if all other fields are not set.
+                  {
+                    "currency": "A String", # The currency of the price.
+                    "value": "A String", # The price represented as a number.
+                  },
+                ],
+                "postalCodeGroupNames": [ # A list of postal group names. The last value can be "all other locations". Example: ["zone 1", "zone 2", "all other locations"]. The referred postal code groups must match the delivery country of the service. Must be non-empty. Can only be set if all other fields are not set.
+                  "A String",
+                ],
+                "weights": [ # A list of inclusive order weight upper bounds. The last weight's value can be "infinity". For example [{"value": "10", "unit": "kg"}, {"value": "50", "unit": "kg"}, {"value": "infinity", "unit": "kg"}] represents the headers "<= 10kg", " 50kg". All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
+                  {
+                    "value": "A String", # The weight represented as a number.
+                    "unit": "A String", # The weight unit.
+                  },
+                ],
+                "locations": [ # A list of location ID sets. Must be non-empty. Can only be set if all other fields are not set.
+                  {
+                    "locationIds": [ # A non-empty list of location IDs. They must all be of the same location type (e.g., state).
+                      "A String",
+                    ],
+                  },
+                ],
+                "numberOfItems": [ # A list of inclusive number of items upper bounds. The last value can be "infinity". For example ["10", "50", "infinity"] represents the headers "<= 10 items", " 50 items". Must be non-empty. Can only be set if all other fields are not set.
+                  "A String",
+                ],
+              },
+              "rows": [ # The list of rows that constitute the table. Must have the same length as rowHeaders. Required.
+                {
+                  "cells": [ # The list of cells that constitute the row. Must have the same length as columnHeaders for two-dimensional tables, a length of 1 for one-dimensional tables. Required.
+                    { # The single value of a rate group or the value of a rate group table's cell. Exactly one of noShipping, flatRate, pricePercentage, carrierRateName, subtableName must be set.
+                      "carrierRateName": "A String", # The name of a carrier rate referring to a carrier rate defined in the same rate group. Can only be set if all other fields are not set.
+                      "noShipping": True or False, # If true, then the product can't ship. Must be true when set, can only be set if all other fields are not set.
+                      "pricePercentage": "A String", # A percentage of the price represented as a number in decimal notation (e.g., "5.4"). Can only be set if all other fields are not set.
+                      "subtableName": "A String", # The name of a subtable. Can only be set in table cells (i.e., not for single values), and only if all other fields are not set.
+                      "flatRate": { # A flat rate. Can only be set if all other fields are not set.
+                        "currency": "A String", # The currency of the price.
+                        "value": "A String", # The price represented as a number.
+                      },
+                    },
+                  ],
+                },
+              ],
+              "columnHeaders": { # A non-empty list of row or column headers for a table. Exactly one of prices, weights, numItems, postalCodeGroupNames, or location must be set. # Headers of the table's columns. Optional: if not set then the table has only one dimension.
+                "prices": [ # A list of inclusive order price upper bounds. The last price's value can be "infinity". For example [{"value": "10", "currency": "USD"}, {"value": "500", "currency": "USD"}, {"value": "infinity", "currency": "USD"}] represents the headers "<= $10", " $500". All prices within a service must have the same currency. Must be non-empty. Can only be set if all other fields are not set.
+                  {
+                    "currency": "A String", # The currency of the price.
+                    "value": "A String", # The price represented as a number.
+                  },
+                ],
+                "postalCodeGroupNames": [ # A list of postal group names. The last value can be "all other locations". Example: ["zone 1", "zone 2", "all other locations"]. The referred postal code groups must match the delivery country of the service. Must be non-empty. Can only be set if all other fields are not set.
+                  "A String",
+                ],
+                "weights": [ # A list of inclusive order weight upper bounds. The last weight's value can be "infinity". For example [{"value": "10", "unit": "kg"}, {"value": "50", "unit": "kg"}, {"value": "infinity", "unit": "kg"}] represents the headers "<= 10kg", " 50kg". All weights within a service must have the same unit. Must be non-empty. Can only be set if all other fields are not set.
+                  {
+                    "value": "A String", # The weight represented as a number.
+                    "unit": "A String", # The weight unit.
+                  },
+                ],
+                "locations": [ # A list of location ID sets. Must be non-empty. Can only be set if all other fields are not set.
+                  {
+                    "locationIds": [ # A non-empty list of location IDs. They must all be of the same location type (e.g., state).
+                      "A String",
+                    ],
+                  },
+                ],
+                "numberOfItems": [ # A list of inclusive number of items upper bounds. The last value can be "infinity". For example ["10", "50", "infinity"] represents the headers "<= 10 items", " 50 items". Must be non-empty. Can only be set if all other fields are not set.
+                  "A String",
+                ],
+              },
+              "name": "A String", # Name of the table. Required for subtables, ignored for the main table.
+            },
+            "singleValue": { # The single value of a rate group or the value of a rate group table's cell. Exactly one of noShipping, flatRate, pricePercentage, carrierRateName, subtableName must be set. # The value of the rate group (e.g. flat rate $10). Can only be set if mainTable and subtables are not set.
+              "carrierRateName": "A String", # The name of a carrier rate referring to a carrier rate defined in the same rate group. Can only be set if all other fields are not set.
+              "noShipping": True or False, # If true, then the product can't ship. Must be true when set, can only be set if all other fields are not set.
+              "pricePercentage": "A String", # A percentage of the price represented as a number in decimal notation (e.g., "5.4"). Can only be set if all other fields are not set.
+              "subtableName": "A String", # The name of a subtable. Can only be set in table cells (i.e., not for single values), and only if all other fields are not set.
+              "flatRate": { # A flat rate. Can only be set if all other fields are not set.
+                "currency": "A String", # The currency of the price.
+                "value": "A String", # The price represented as a number.
+              },
+            },
           },
         ],
         "currency": "A String", # The CLDR code of the currency to which this service applies. Must match that of the prices in rate groups.
         "active": True or False, # A boolean exposing the active status of the shipping service. Required.
+        "minimumOrderValue": { # Minimum order value for this service. If set, indicates that customers will have to spend at least this amount. All prices within a service must have the same currency.
+          "currency": "A String", # The currency of the price.
+          "value": "A String", # The price represented as a number.
+        },
       },
     ],
     "postalCodeGroups": [ # A list of postal code groups that can be referred to in services. Optional.