-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Google Content API for Shopping SDK.
--   
--   Manages product items, inventory, and Merchant Center accounts for
--   Google Shopping.
--   
--   <i>Warning:</i> This is an experimental prototype/preview release
--   which is still under exploratory development and not intended for
--   public use, caveat emptor!
--   
--   This library is compatible with version <tt>v2</tt> of the API.
@package gogol-shopping-content
@version 0.3.0


module Network.Google.ShoppingContent.Types

-- | Default request referring to version <tt>v2</tt> of the Content API
--   for Shopping. This contains the host and root path used as a starting
--   point for constructing service requests.
shoppingContentService :: ServiceConfig

-- | Manage your product listings and accounts for Google Shopping
contentScope :: Proxy '["https://www.googleapis.com/auth/content"]
data OrdersAcknowledgeRequest

-- | Creates a value of <a>OrdersAcknowledgeRequest</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>oarOperationId</a></li>
--   </ul>
ordersAcknowledgeRequest :: OrdersAcknowledgeRequest

-- | The ID of the operation. Unique across all operations for a given
--   order.
oarOperationId :: Lens' OrdersAcknowledgeRequest (Maybe Text)

-- | The tax settings of a merchant account.
--   
--   <i>See:</i> <a>accountTax</a> smart constructor.
data AccountTax

-- | Creates a value of <a>AccountTax</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>atRules</a></li>
--   <li><a>atKind</a></li>
--   <li><a>atAccountId</a></li>
--   </ul>
accountTax :: AccountTax

-- | Tax rules. Updating the tax rules will enable US taxes (not
--   reversible). Defining no rules is equivalent to not charging tax at
--   all.
atRules :: Lens' AccountTax [AccountTaxTaxRule]

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#accountTax".
atKind :: Lens' AccountTax Text

-- | The ID of the account to which these account tax settings belong.
atAccountId :: Lens' AccountTax (Maybe Word64)
data OrdersUpdateMerchantOrderIdRequest

-- | Creates a value of <a>OrdersUpdateMerchantOrderIdRequest</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>oumoirMerchantOrderId</a></li>
--   <li><a>oumoirOperationId</a></li>
--   </ul>
ordersUpdateMerchantOrderIdRequest :: OrdersUpdateMerchantOrderIdRequest

-- | The merchant order id to be assigned to the order. Must be unique per
--   merchant.
oumoirMerchantOrderId :: Lens' OrdersUpdateMerchantOrderIdRequest (Maybe Text)

-- | The ID of the operation. Unique across all operations for a given
--   order.
oumoirOperationId :: Lens' OrdersUpdateMerchantOrderIdRequest (Maybe Text)
data OrdersAdvanceTestOrderResponse

-- | Creates a value of <a>OrdersAdvanceTestOrderResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>oatorKind</a></li>
--   </ul>
ordersAdvanceTestOrderResponse :: OrdersAdvanceTestOrderResponse

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#ordersAdvanceTestOrderResponse".
oatorKind :: Lens' OrdersAdvanceTestOrderResponse Text
data ProductsCustomBatchResponse

-- | Creates a value of <a>ProductsCustomBatchResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pcbrEntries</a></li>
--   <li><a>pcbrKind</a></li>
--   </ul>
productsCustomBatchResponse :: ProductsCustomBatchResponse

-- | The result of the execution of the batch requests.
pcbrEntries :: Lens' ProductsCustomBatchResponse [ProductsCustomBatchResponseEntry]

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#productsCustomBatchResponse".
pcbrKind :: Lens' ProductsCustomBatchResponse Text

-- | The name of the template to retrieve.
data OrdersGettestOrdertemplateTemplateName

-- | <pre>
--   template1
--   </pre>
TEMPLATE1 :: OrdersGettestOrdertemplateTemplateName

-- | <pre>
--   template1a
--   </pre>
Template1a :: OrdersGettestOrdertemplateTemplateName

-- | <pre>
--   template1b
--   </pre>
Template1b :: OrdersGettestOrdertemplateTemplateName

-- | <pre>
--   template2
--   </pre>
TEMPLATE2 :: OrdersGettestOrdertemplateTemplateName
data TestOrderCustomer

-- | Creates a value of <a>TestOrderCustomer</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tocFullName</a></li>
--   <li><a>tocEmail</a></li>
--   <li><a>tocExplicitMarketingPreference</a></li>
--   </ul>
testOrderCustomer :: TestOrderCustomer

-- | Full name of the customer.
tocFullName :: Lens' TestOrderCustomer (Maybe Text)

-- | Email address of the customer.
tocEmail :: Lens' TestOrderCustomer (Maybe Text)

-- | If set, this indicates the user explicitly chose to opt in or out of
--   providing marketing rights to the merchant. If unset, this indicates
--   the user has already made this choice in a previous purchase, and was
--   thus not shown the marketing right opt in/out checkbox during the
--   checkout flow. Optional.
tocExplicitMarketingPreference :: Lens' TestOrderCustomer (Maybe Bool)
data DatafeedstatusesCustomBatchResponse

-- | Creates a value of <a>DatafeedstatusesCustomBatchResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dcbrEntries</a></li>
--   <li><a>dcbrKind</a></li>
--   </ul>
datafeedstatusesCustomBatchResponse :: DatafeedstatusesCustomBatchResponse

-- | The result of the execution of the batch requests.
dcbrEntries :: Lens' DatafeedstatusesCustomBatchResponse [DatafeedstatusesCustomBatchResponseEntry]

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#datafeedstatusesCustomBatchResponse".
dcbrKind :: Lens' DatafeedstatusesCustomBatchResponse Text
data OrderReturn

-- | Creates a value of <a>OrderReturn</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>orQuantity</a></li>
--   <li><a>orActor</a></li>
--   <li><a>orReason</a></li>
--   <li><a>orCreationDate</a></li>
--   <li><a>orReasonText</a></li>
--   </ul>
orderReturn :: OrderReturn

-- | Quantity that is returned.
orQuantity :: Lens' OrderReturn (Maybe Word32)

-- | The actor that created the refund.
orActor :: Lens' OrderReturn (Maybe Text)

-- | The reason for the return.
orReason :: Lens' OrderReturn (Maybe Text)

-- | Date on which the item has been created, in ISO 8601 format.
orCreationDate :: Lens' OrderReturn (Maybe Text)

-- | The explanation of the reason.
orReasonText :: Lens' OrderReturn (Maybe Text)

-- | A batch entry encoding a single non-batch accounttax response.
--   
--   <i>See:</i> <a>accounttaxCustomBatchResponseEntry</a> smart
--   constructor.
data AccounttaxCustomBatchResponseEntry

-- | Creates a value of <a>AccounttaxCustomBatchResponseEntry</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>acbreAccountTax</a></li>
--   <li><a>acbreKind</a></li>
--   <li><a>acbreErrors</a></li>
--   <li><a>acbreBatchId</a></li>
--   </ul>
accounttaxCustomBatchResponseEntry :: AccounttaxCustomBatchResponseEntry

-- | The retrieved or updated account tax settings.
acbreAccountTax :: Lens' AccounttaxCustomBatchResponseEntry (Maybe AccountTax)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#accounttaxCustomBatchResponseEntry".
acbreKind :: Lens' AccounttaxCustomBatchResponseEntry Text

-- | A list of errors defined if and only if the request failed.
acbreErrors :: Lens' AccounttaxCustomBatchResponseEntry (Maybe Errors)

-- | The ID of the request entry this entry responds to.
acbreBatchId :: Lens' AccounttaxCustomBatchResponseEntry (Maybe Word32)
data InventoryCustomBatchRequest

-- | Creates a value of <a>InventoryCustomBatchRequest</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>icbrEntries</a></li>
--   </ul>
inventoryCustomBatchRequest :: InventoryCustomBatchRequest

-- | The request entries to be processed in the batch.
icbrEntries :: Lens' InventoryCustomBatchRequest [InventoryCustomBatchRequestEntry]
data AccountsAuthInfoResponse

-- | Creates a value of <a>AccountsAuthInfoResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aairKind</a></li>
--   <li><a>aairAccountIdentifiers</a></li>
--   </ul>
accountsAuthInfoResponse :: AccountsAuthInfoResponse

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#accountsAuthInfoResponse".
aairKind :: Lens' AccountsAuthInfoResponse Text

-- | The account identifiers corresponding to the authenticated user. - For
--   an individual account: only the merchant ID is defined - For an
--   aggregator: only the aggregator ID is defined - For a subaccount of an
--   MCA: both the merchant ID and the aggregator ID are defined.
aairAccountIdentifiers :: Lens' AccountsAuthInfoResponse [AccountIdentifier]
data ProductStatusDestinationStatus

-- | Creates a value of <a>ProductStatusDestinationStatus</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>psdsDestination</a></li>
--   <li><a>psdsIntention</a></li>
--   <li><a>psdsApprovalStatus</a></li>
--   </ul>
productStatusDestinationStatus :: ProductStatusDestinationStatus

-- | The name of the destination
psdsDestination :: Lens' ProductStatusDestinationStatus (Maybe Text)

-- | Whether the destination is required, excluded, selected by default or
--   should be validated.
psdsIntention :: Lens' ProductStatusDestinationStatus (Maybe Text)

-- | The destination's approval status.
psdsApprovalStatus :: Lens' ProductStatusDestinationStatus (Maybe Text)

-- | Tax calculation rule to apply in a state or province (USA only).
--   
--   <i>See:</i> <a>accountTaxTaxRule</a> smart constructor.
data AccountTaxTaxRule

-- | Creates a value of <a>AccountTaxTaxRule</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>attrUseGlobalRate</a></li>
--   <li><a>attrCountry</a></li>
--   <li><a>attrShippingTaxed</a></li>
--   <li><a>attrLocationId</a></li>
--   <li><a>attrRatePercent</a></li>
--   </ul>
accountTaxTaxRule :: AccountTaxTaxRule

-- | Whether the tax rate is taken from a global tax table or specified
--   explicitly.
attrUseGlobalRate :: Lens' AccountTaxTaxRule (Maybe Bool)

-- | Country code in which tax is applicable.
attrCountry :: Lens' AccountTaxTaxRule (Maybe Text)

-- | If true, shipping charges are also taxed.
attrShippingTaxed :: Lens' AccountTaxTaxRule (Maybe Bool)

-- | State (or province) is which the tax is applicable, described by its
--   location id (also called criteria id).
attrLocationId :: Lens' AccountTaxTaxRule (Maybe Word64)

-- | Explicit tax rate in percent, represented as a floating point number
--   without the percentage character. Must not be negative.
attrRatePercent :: Lens' AccountTaxTaxRule (Maybe Text)
data PostalCodeGroup

-- | Creates a value of <a>PostalCodeGroup</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pcgCountry</a></li>
--   <li><a>pcgPostalCodeRanges</a></li>
--   <li><a>pcgName</a></li>
--   </ul>
postalCodeGroup :: PostalCodeGroup

-- | The CLDR territory code of the country the postal code group applies
--   to. Required.
pcgCountry :: Lens' PostalCodeGroup (Maybe Text)

-- | A range of postal codes. Required.
pcgPostalCodeRanges :: Lens' PostalCodeGroup [PostalCodeRange]

-- | The name of the postal code group, referred to in headers. Required.
pcgName :: Lens' PostalCodeGroup (Maybe Text)
data ProductDestination

-- | Creates a value of <a>ProductDestination</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pdIntention</a></li>
--   <li><a>pdDestinationName</a></li>
--   </ul>
productDestination :: ProductDestination

-- | Whether the destination is required, excluded or should be validated.
pdIntention :: Lens' ProductDestination (Maybe Text)

-- | The name of the destination.
pdDestinationName :: Lens' ProductDestination (Maybe Text)
data DatafeedsCustomBatchRequest

-- | Creates a value of <a>DatafeedsCustomBatchRequest</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dEntries</a></li>
--   </ul>
datafeedsCustomBatchRequest :: DatafeedsCustomBatchRequest

-- | The request entries to be processed in the batch.
dEntries :: Lens' DatafeedsCustomBatchRequest [DatafeedsCustomBatchRequestEntry]
data OrdersCustomBatchRequestEntry

-- | Creates a value of <a>OrdersCustomBatchRequestEntry</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ocbreMerchantId</a></li>
--   <li><a>ocbreCancelLineItem</a></li>
--   <li><a>ocbreRefund</a></li>
--   <li><a>ocbreUpdateShipment</a></li>
--   <li><a>ocbreReturnLineItem</a></li>
--   <li><a>ocbreMerchantOrderId</a></li>
--   <li><a>ocbreMethod</a></li>
--   <li><a>ocbreShipLineItems</a></li>
--   <li><a>ocbreOperationId</a></li>
--   <li><a>ocbreOrderId</a></li>
--   <li><a>ocbreCancel</a></li>
--   <li><a>ocbreBatchId</a></li>
--   </ul>
ordersCustomBatchRequestEntry :: OrdersCustomBatchRequestEntry

-- | The ID of the managing account.
ocbreMerchantId :: Lens' OrdersCustomBatchRequestEntry (Maybe Word64)

-- | Required for cancelLineItem method.
ocbreCancelLineItem :: Lens' OrdersCustomBatchRequestEntry (Maybe OrdersCustomBatchRequestEntryCancelLineItem)

-- | Required for refund method.
ocbreRefund :: Lens' OrdersCustomBatchRequestEntry (Maybe OrdersCustomBatchRequestEntryRefund)

-- | Required for updateShipment method.
ocbreUpdateShipment :: Lens' OrdersCustomBatchRequestEntry (Maybe OrdersCustomBatchRequestEntryUpdateShipment)

-- | Required for returnLineItem method.
ocbreReturnLineItem :: Lens' OrdersCustomBatchRequestEntry (Maybe OrdersCustomBatchRequestEntryReturnLineItem)

-- | The merchant order id. Required for updateMerchantOrderId and
--   getByMerchantOrderId methods.
ocbreMerchantOrderId :: Lens' OrdersCustomBatchRequestEntry (Maybe Text)

-- | The method to apply.
ocbreMethod :: Lens' OrdersCustomBatchRequestEntry (Maybe Text)

-- | Required for shipLineItems method.
ocbreShipLineItems :: Lens' OrdersCustomBatchRequestEntry (Maybe OrdersCustomBatchRequestEntryShipLineItems)

-- | The ID of the operation. Unique across all operations for a given
--   order. Required for all methods beside get and getByMerchantOrderId.
ocbreOperationId :: Lens' OrdersCustomBatchRequestEntry (Maybe Text)

-- | The ID of the order. Required for all methods beside
--   getByMerchantOrderId.
ocbreOrderId :: Lens' OrdersCustomBatchRequestEntry (Maybe Text)

-- | Required for cancel method.
ocbreCancel :: Lens' OrdersCustomBatchRequestEntry (Maybe OrdersCustomBatchRequestEntryCancel)

-- | An entry ID, unique within the batch request.
ocbreBatchId :: Lens' OrdersCustomBatchRequestEntry (Maybe Word32)
data OrdersRefundRequest

-- | Creates a value of <a>OrdersRefundRequest</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>orrAmount</a></li>
--   <li><a>orrReason</a></li>
--   <li><a>orrOperationId</a></li>
--   <li><a>orrReasonText</a></li>
--   </ul>
ordersRefundRequest :: OrdersRefundRequest

-- | The amount that is refunded.
orrAmount :: Lens' OrdersRefundRequest (Maybe Price)

-- | The reason for the refund.
orrReason :: Lens' OrdersRefundRequest (Maybe Text)

-- | The ID of the operation. Unique across all operations for a given
--   order.
orrOperationId :: Lens' OrdersRefundRequest (Maybe Text)

-- | The explanation of the reason.
orrReasonText :: Lens' OrdersRefundRequest (Maybe Text)

-- | Shipping cost calculation method. Exactly one of the field is set.
--   
--   <i>See:</i> <a>accountShippingShippingServiceCalculationMethod</a>
--   smart constructor.
data AccountShippingShippingServiceCalculationMethod

-- | Creates a value of
--   <a>AccountShippingShippingServiceCalculationMethod</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>assscmPercentageRate</a></li>
--   <li><a>assscmCarrierRate</a></li>
--   <li><a>assscmRateTable</a></li>
--   <li><a>assscmExcluded</a></li>
--   <li><a>assscmFlatRate</a></li>
--   </ul>
accountShippingShippingServiceCalculationMethod :: AccountShippingShippingServiceCalculationMethod

-- | Percentage of the price, represented as a floating point number
--   without the percentage character.
assscmPercentageRate :: Lens' AccountShippingShippingServiceCalculationMethod (Maybe Text)

-- | Name of the carrier rate to use for the calculation.
assscmCarrierRate :: Lens' AccountShippingShippingServiceCalculationMethod (Maybe Text)

-- | Name of the rate table to use for the calculation.
assscmRateTable :: Lens' AccountShippingShippingServiceCalculationMethod (Maybe Text)

-- | Delivery is excluded. Valid only within cost rules tree.
assscmExcluded :: Lens' AccountShippingShippingServiceCalculationMethod (Maybe Bool)

-- | Fixed price shipping, represented as a floating point number
--   associated with a currency.
assscmFlatRate :: Lens' AccountShippingShippingServiceCalculationMethod (Maybe Price)
data OrdersCustomBatchRequestEntryCancelLineItem

-- | Creates a value of <a>OrdersCustomBatchRequestEntryCancelLineItem</a>
--   with the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ocbrecliAmount</a></li>
--   <li><a>ocbrecliQuantity</a></li>
--   <li><a>ocbrecliLineItemId</a></li>
--   <li><a>ocbrecliReason</a></li>
--   <li><a>ocbrecliReasonText</a></li>
--   </ul>
ordersCustomBatchRequestEntryCancelLineItem :: OrdersCustomBatchRequestEntryCancelLineItem

-- | Amount to refund for the cancelation. Optional. If not set, Google
--   will calculate the default based on the price and tax of the items
--   involved. The amount must not be larger than the net amount left on
--   the order.
ocbrecliAmount :: Lens' OrdersCustomBatchRequestEntryCancelLineItem (Maybe Price)

-- | The quantity to cancel.
ocbrecliQuantity :: Lens' OrdersCustomBatchRequestEntryCancelLineItem (Maybe Word32)

-- | The ID of the line item to cancel.
ocbrecliLineItemId :: Lens' OrdersCustomBatchRequestEntryCancelLineItem (Maybe Text)

-- | The reason for the cancellation.
ocbrecliReason :: Lens' OrdersCustomBatchRequestEntryCancelLineItem (Maybe Text)

-- | The explanation of the reason.
ocbrecliReasonText :: Lens' OrdersCustomBatchRequestEntryCancelLineItem (Maybe Text)
data OrderLineItemShippingDetailsMethod

-- | Creates a value of <a>OrderLineItemShippingDetailsMethod</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>olisdmCarrier</a></li>
--   <li><a>olisdmMethodName</a></li>
--   <li><a>olisdmMaxDaysInTransit</a></li>
--   <li><a>olisdmMinDaysInTransit</a></li>
--   </ul>
orderLineItemShippingDetailsMethod :: OrderLineItemShippingDetailsMethod

-- | The carrier for the shipping. Optional.
olisdmCarrier :: Lens' OrderLineItemShippingDetailsMethod (Maybe Text)

-- | The name of the shipping method.
olisdmMethodName :: Lens' OrderLineItemShippingDetailsMethod (Maybe Text)

-- | Maximum transit time.
olisdmMaxDaysInTransit :: Lens' OrderLineItemShippingDetailsMethod (Maybe Word32)

-- | Minimum transit time.
olisdmMinDaysInTransit :: Lens' OrderLineItemShippingDetailsMethod (Maybe Word32)

-- | Datafeed data.
--   
--   <i>See:</i> <a>datafeed</a> smart constructor.
data Datafeed

-- | Creates a value of <a>Datafeed</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dKind</a></li>
--   <li><a>dFormat</a></li>
--   <li><a>dAttributeLanguage</a></li>
--   <li><a>dTargetCountry</a></li>
--   <li><a>dFetchSchedule</a></li>
--   <li><a>dName</a></li>
--   <li><a>dIntendedDestinations</a></li>
--   <li><a>dId</a></li>
--   <li><a>dContentLanguage</a></li>
--   <li><a>dContentType</a></li>
--   <li><a>dFileName</a></li>
--   </ul>
datafeed :: Datafeed

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#datafeed".
dKind :: Lens' Datafeed Text

-- | Format of the feed file.
dFormat :: Lens' Datafeed (Maybe DatafeedFormat)

-- | The two-letter ISO 639-1 language in which the attributes are defined
--   in the data feed.
dAttributeLanguage :: Lens' Datafeed (Maybe Text)

-- | The country where the items in the feed will be included in the search
--   index, represented as a CLDR territory code.
dTargetCountry :: Lens' Datafeed (Maybe Text)

-- | Fetch schedule for the feed file.
dFetchSchedule :: Lens' Datafeed (Maybe DatafeedFetchSchedule)

-- | A descriptive name of the data feed.
dName :: Lens' Datafeed (Maybe Text)

-- | The list of intended destinations (corresponds to checked check boxes
--   in Merchant Center).
dIntendedDestinations :: Lens' Datafeed [Text]

-- | The ID of the data feed.
dId :: Lens' Datafeed (Maybe Int64)

-- | The two-letter ISO 639-1 language of the items in the feed. Must be a
--   valid language for targetCountry.
dContentLanguage :: Lens' Datafeed (Maybe Text)

-- | The type of data feed.
dContentType :: Lens' Datafeed (Maybe Text)

-- | The filename of the feed. All feeds must have a unique file name.
dFileName :: Lens' Datafeed (Maybe Text)
data OrdersCreateTestOrderResponse

-- | Creates a value of <a>OrdersCreateTestOrderResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>octorKind</a></li>
--   <li><a>octorOrderId</a></li>
--   </ul>
ordersCreateTestOrderResponse :: OrdersCreateTestOrderResponse

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#ordersCreateTestOrderResponse".
octorKind :: Lens' OrdersCreateTestOrderResponse Text

-- | The ID of the newly created test order.
octorOrderId :: Lens' OrdersCreateTestOrderResponse (Maybe Text)

-- | A batch entry encoding a single non-batch accounts response.
--   
--   <i>See:</i> <a>accountsCustomBatchResponseEntry</a> smart constructor.
data AccountsCustomBatchResponseEntry

-- | Creates a value of <a>AccountsCustomBatchResponseEntry</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aKind</a></li>
--   <li><a>aAccount</a></li>
--   <li><a>aErrors</a></li>
--   <li><a>aBatchId</a></li>
--   </ul>
accountsCustomBatchResponseEntry :: AccountsCustomBatchResponseEntry

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#accountsCustomBatchResponseEntry".
aKind :: Lens' AccountsCustomBatchResponseEntry Text

-- | The retrieved, created, or updated account. Not defined if the method
--   was delete.
aAccount :: Lens' AccountsCustomBatchResponseEntry (Maybe Account)

-- | A list of errors defined if and only if the request failed.
aErrors :: Lens' AccountsCustomBatchResponseEntry (Maybe Errors)

-- | The ID of the request entry this entry responds to.
aBatchId :: Lens' AccountsCustomBatchResponseEntry (Maybe Word32)

-- | The ordering of the returned list. The only supported value are
--   placedDate desc and placedDate asc for now, which returns orders
--   sorted by placement date. "placedDate desc" stands for listing orders
--   by placement date, from oldest to most recent. "placedDate asc" stands
--   for listing orders by placement date, from most recent to oldest. In
--   future releases we'll support other sorting criteria.
data OrdersListOrderBy

-- | <pre>
--   placedDate asc
--   </pre>
PlacedDateAsc :: OrdersListOrderBy

-- | <pre>
--   placedDate desc
--   </pre>
PlacedDateDesc :: OrdersListOrderBy
data AccountIdentifier

-- | Creates a value of <a>AccountIdentifier</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aiMerchantId</a></li>
--   <li><a>aiAggregatorId</a></li>
--   </ul>
accountIdentifier :: AccountIdentifier

-- | The merchant account ID, set for individual accounts and subaccounts.
aiMerchantId :: Lens' AccountIdentifier (Maybe Word64)

-- | The aggregator ID, set for aggregators and subaccounts (in that case,
--   it represents the aggregator of the subaccount).
aiAggregatorId :: Lens' AccountIdentifier (Maybe Word64)
data TestOrderPaymentMethod

-- | Creates a value of <a>TestOrderPaymentMethod</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>topmExpirationMonth</a></li>
--   <li><a>topmExpirationYear</a></li>
--   <li><a>topmLastFourDigits</a></li>
--   <li><a>topmType</a></li>
--   <li><a>topmPredefinedBillingAddress</a></li>
--   </ul>
testOrderPaymentMethod :: TestOrderPaymentMethod

-- | The card expiration month (January = 1, February = 2 etc.).
topmExpirationMonth :: Lens' TestOrderPaymentMethod (Maybe Int32)

-- | The card expiration year (4-digit, e.g. 2015).
topmExpirationYear :: Lens' TestOrderPaymentMethod (Maybe Int32)

-- | The last four digits of the card number.
topmLastFourDigits :: Lens' TestOrderPaymentMethod (Maybe Text)

-- | The type of instrument. Note that real orders might have different
--   values than the four values accepted by createTestOrder.
topmType :: Lens' TestOrderPaymentMethod (Maybe Text)

-- | The billing address.
topmPredefinedBillingAddress :: Lens' TestOrderPaymentMethod (Maybe Text)
data OrderLineItem

-- | Creates a value of <a>OrderLineItem</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>oliQuantityOrdered</a></li>
--   <li><a>oliReturnInfo</a></li>
--   <li><a>oliQuantityDelivered</a></li>
--   <li><a>oliShippingDetails</a></li>
--   <li><a>oliQuantityPending</a></li>
--   <li><a>oliCancellations</a></li>
--   <li><a>oliQuantityCanceled</a></li>
--   <li><a>oliId</a></li>
--   <li><a>oliTax</a></li>
--   <li><a>oliPrice</a></li>
--   <li><a>oliQuantityShipped</a></li>
--   <li><a>oliQuantityReturned</a></li>
--   <li><a>oliProduct</a></li>
--   <li><a>oliReturns</a></li>
--   </ul>
orderLineItem :: OrderLineItem

-- | Number of items ordered.
oliQuantityOrdered :: Lens' OrderLineItem (Maybe Word32)

-- | Details of the return policy for the line item.
oliReturnInfo :: Lens' OrderLineItem (Maybe OrderLineItemReturnInfo)

-- | Number of items delivered.
oliQuantityDelivered :: Lens' OrderLineItem (Maybe Word32)

-- | Details of the requested shipping for the line item.
oliShippingDetails :: Lens' OrderLineItem (Maybe OrderLineItemShippingDetails)

-- | Number of items pending.
oliQuantityPending :: Lens' OrderLineItem (Maybe Word32)

-- | Cancellations of the line item.
oliCancellations :: Lens' OrderLineItem [OrderCancellation]

-- | Number of items canceled.
oliQuantityCanceled :: Lens' OrderLineItem (Maybe Word32)

-- | The id of the line item.
oliId :: Lens' OrderLineItem (Maybe Text)
oliTax :: Lens' OrderLineItem (Maybe Price)

-- | Total price for the line item. For example, if two items for $10 are
--   purchased, the total price will be $20.
oliPrice :: Lens' OrderLineItem (Maybe Price)

-- | Number of items shipped.
oliQuantityShipped :: Lens' OrderLineItem (Maybe Word32)

-- | Number of items returned.
oliQuantityReturned :: Lens' OrderLineItem (Maybe Word32)

-- | Product data from the time of the order placement.
oliProduct :: Lens' OrderLineItem (Maybe OrderLineItemProduct)

-- | Returns of the line item.
oliReturns :: Lens' OrderLineItem [OrderReturn]
data Service

-- | Creates a value of <a>Service</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sDeliveryCountry</a></li>
--   <li><a>sRateGroups</a></li>
--   <li><a>sDeliveryTime</a></li>
--   <li><a>sActive</a></li>
--   <li><a>sName</a></li>
--   <li><a>sCurrency</a></li>
--   </ul>
service :: Service

-- | The CLDR territory code of the country to which the service applies.
--   Required.
sDeliveryCountry :: Lens' Service (Maybe Text)

-- | 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.
sRateGroups :: Lens' Service [RateGroup]

-- | Time spent in various aspects from order to the delivery of the
--   product. Required.
sDeliveryTime :: Lens' Service (Maybe DeliveryTime)

-- | A boolean exposing the active status of the shipping service.
--   Required.
sActive :: Lens' Service (Maybe Bool)

-- | Free-form name of the service. Must be unique within target account.
--   Required.
sName :: Lens' Service (Maybe Text)

-- | The CLDR code of the currency to which this service applies. Must
--   match that of the prices in rate groups.
sCurrency :: Lens' Service (Maybe Text)
data ProductstatusesCustomBatchResponse

-- | Creates a value of <a>ProductstatusesCustomBatchResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pEntries</a></li>
--   <li><a>pKind</a></li>
--   </ul>
productstatusesCustomBatchResponse :: ProductstatusesCustomBatchResponse

-- | The result of the execution of the batch requests.
pEntries :: Lens' ProductstatusesCustomBatchResponse [ProductstatusesCustomBatchResponseEntry]

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#productstatusesCustomBatchResponse".
pKind :: Lens' ProductstatusesCustomBatchResponse Text
data ProductUnitPricingMeasure

-- | Creates a value of <a>ProductUnitPricingMeasure</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pupmValue</a></li>
--   <li><a>pupmUnit</a></li>
--   </ul>
productUnitPricingMeasure :: ProductUnitPricingMeasure

-- | The measure of an item.
pupmValue :: Lens' ProductUnitPricingMeasure (Maybe Double)

-- | The unit of the measure.
pupmUnit :: Lens' ProductUnitPricingMeasure (Maybe Text)
data OrdersUpdateShipmentRequest

-- | Creates a value of <a>OrdersUpdateShipmentRequest</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ousrCarrier</a></li>
--   <li><a>ousrStatus</a></li>
--   <li><a>ousrTrackingId</a></li>
--   <li><a>ousrShipmentId</a></li>
--   <li><a>ousrOperationId</a></li>
--   </ul>
ordersUpdateShipmentRequest :: OrdersUpdateShipmentRequest

-- | The carrier handling the shipment. Not updated if missing.
ousrCarrier :: Lens' OrdersUpdateShipmentRequest (Maybe Text)

-- | New status for the shipment. Not updated if missing.
ousrStatus :: Lens' OrdersUpdateShipmentRequest (Maybe Text)

-- | The tracking id for the shipment. Not updated if missing.
ousrTrackingId :: Lens' OrdersUpdateShipmentRequest (Maybe Text)

-- | The ID of the shipment.
ousrShipmentId :: Lens' OrdersUpdateShipmentRequest (Maybe Text)

-- | The ID of the operation. Unique across all operations for a given
--   order.
ousrOperationId :: Lens' OrdersUpdateShipmentRequest (Maybe Text)
data OrderShipmentLineItemShipment

-- | Creates a value of <a>OrderShipmentLineItemShipment</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>oslisQuantity</a></li>
--   <li><a>oslisLineItemId</a></li>
--   </ul>
orderShipmentLineItemShipment :: OrderShipmentLineItemShipment

-- | The quantity that is shipped.
oslisQuantity :: Lens' OrderShipmentLineItemShipment (Maybe Word32)

-- | The id of the line item that is shipped.
oslisLineItemId :: Lens' OrderShipmentLineItemShipment (Maybe Text)

-- | Obtains orders that match any of the specified statuses. Multiple
--   values can be specified with comma separation. Additionally, please
--   note that active is a shortcut for pendingShipment and
--   partiallyShipped, and completed is a shortcut for shipped ,
--   partiallyDelivered, delivered, partiallyReturned, returned, and
--   canceled.
data OrdersListStatuses

-- | <pre>
--   active
--   </pre>
Active :: OrdersListStatuses

-- | <pre>
--   canceled
--   </pre>
Canceled :: OrdersListStatuses

-- | <pre>
--   completed
--   </pre>
Completed :: OrdersListStatuses

-- | <pre>
--   delivered
--   </pre>
Delivered :: OrdersListStatuses

-- | <pre>
--   inProgress
--   </pre>
InProgress :: OrdersListStatuses

-- | <pre>
--   partiallyDelivered
--   </pre>
PartiallyDelivered :: OrdersListStatuses

-- | <pre>
--   partiallyReturned
--   </pre>
PartiallyReturned :: OrdersListStatuses

-- | <pre>
--   partiallyShipped
--   </pre>
PartiallyShipped :: OrdersListStatuses

-- | <pre>
--   pendingShipment
--   </pre>
PendingShipment :: OrdersListStatuses

-- | <pre>
--   returned
--   </pre>
Returned :: OrdersListStatuses

-- | <pre>
--   shipped
--   </pre>
Shipped :: OrdersListStatuses
data LoyaltyPoints

-- | Creates a value of <a>LoyaltyPoints</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lpRatio</a></li>
--   <li><a>lpPointsValue</a></li>
--   <li><a>lpName</a></li>
--   </ul>
loyaltyPoints :: LoyaltyPoints

-- | The ratio of a point when converted to currency. Google assumes
--   currency based on Merchant Center settings. If ratio is left out, it
--   defaults to 1.0.
lpRatio :: Lens' LoyaltyPoints (Maybe Double)

-- | The retailer's loyalty points in absolute value.
lpPointsValue :: Lens' LoyaltyPoints (Maybe Int64)

-- | Name of loyalty points program. It is recommended to limit the name to
--   12 full-width characters or 24 Roman characters.
lpName :: Lens' LoyaltyPoints (Maybe Text)
data AccountshippingCustomBatchRequest

-- | Creates a value of <a>AccountshippingCustomBatchRequest</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>acbrEntries</a></li>
--   </ul>
accountshippingCustomBatchRequest :: AccountshippingCustomBatchRequest

-- | The request entries to be processed in the batch.
acbrEntries :: Lens' AccountshippingCustomBatchRequest [AccountshippingCustomBatchRequestEntry]
data OrdersCustomBatchRequestEntryShipLineItems

-- | Creates a value of <a>OrdersCustomBatchRequestEntryShipLineItems</a>
--   with the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ocbresliCarrier</a></li>
--   <li><a>ocbresliTrackingId</a></li>
--   <li><a>ocbresliShipmentId</a></li>
--   <li><a>ocbresliLineItems</a></li>
--   </ul>
ordersCustomBatchRequestEntryShipLineItems :: OrdersCustomBatchRequestEntryShipLineItems

-- | The carrier handling the shipment.
ocbresliCarrier :: Lens' OrdersCustomBatchRequestEntryShipLineItems (Maybe Text)

-- | The tracking id for the shipment.
ocbresliTrackingId :: Lens' OrdersCustomBatchRequestEntryShipLineItems (Maybe Text)

-- | The ID of the shipment.
ocbresliShipmentId :: Lens' OrdersCustomBatchRequestEntryShipLineItems (Maybe Text)

-- | Line items to ship.
ocbresliLineItems :: Lens' OrdersCustomBatchRequestEntryShipLineItems [OrderShipmentLineItemShipment]

-- | The status of an account, i.e., information about its products, which
--   is computed offline and not returned immediately at insertion time.
--   
--   <i>See:</i> <a>accountStatus</a> smart constructor.
data AccountStatus

-- | Creates a value of <a>AccountStatus</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>asDataQualityIssues</a></li>
--   <li><a>asKind</a></li>
--   <li><a>asAccountId</a></li>
--   </ul>
accountStatus :: AccountStatus

-- | A list of data quality issues.
asDataQualityIssues :: Lens' AccountStatus [AccountStatusDataQualityIssue]

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#accountStatus".
asKind :: Lens' AccountStatus Text

-- | The ID of the account for which the status is reported.
asAccountId :: Lens' AccountStatus (Maybe Text)
data OrdersReturnLineItemRequest

-- | Creates a value of <a>OrdersReturnLineItemRequest</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>orlirQuantity</a></li>
--   <li><a>orlirLineItemId</a></li>
--   <li><a>orlirReason</a></li>
--   <li><a>orlirOperationId</a></li>
--   <li><a>orlirReasonText</a></li>
--   </ul>
ordersReturnLineItemRequest :: OrdersReturnLineItemRequest

-- | The quantity to return.
orlirQuantity :: Lens' OrdersReturnLineItemRequest (Maybe Word32)

-- | The ID of the line item to return.
orlirLineItemId :: Lens' OrdersReturnLineItemRequest (Maybe Text)

-- | The reason for the return.
orlirReason :: Lens' OrdersReturnLineItemRequest (Maybe Text)

-- | The ID of the operation. Unique across all operations for a given
--   order.
orlirOperationId :: Lens' OrdersReturnLineItemRequest (Maybe Text)

-- | The explanation of the reason.
orlirReasonText :: Lens' OrdersReturnLineItemRequest (Maybe Text)

-- | A batch entry encoding a single non-batch accountshipping request.
--   
--   <i>See:</i> <a>shippingSettingsCustomBatchRequestEntry</a> smart
--   constructor.
data ShippingSettingsCustomBatchRequestEntry

-- | Creates a value of <a>ShippingSettingsCustomBatchRequestEntry</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sscbreMerchantId</a></li>
--   <li><a>sscbreAccountId</a></li>
--   <li><a>sscbreMethod</a></li>
--   <li><a>sscbreShippingSettings</a></li>
--   <li><a>sscbreBatchId</a></li>
--   </ul>
shippingSettingsCustomBatchRequestEntry :: ShippingSettingsCustomBatchRequestEntry

-- | The ID of the managing account.
sscbreMerchantId :: Lens' ShippingSettingsCustomBatchRequestEntry (Maybe Word64)

-- | The ID of the account for which to get/update account shipping
--   settings.
sscbreAccountId :: Lens' ShippingSettingsCustomBatchRequestEntry (Maybe Word64)
sscbreMethod :: Lens' ShippingSettingsCustomBatchRequestEntry (Maybe Text)

-- | The account shipping settings to update. Only defined if the method is
--   update.
sscbreShippingSettings :: Lens' ShippingSettingsCustomBatchRequestEntry (Maybe ShippingSettings)

-- | An entry ID, unique within the batch request.
sscbreBatchId :: Lens' ShippingSettingsCustomBatchRequestEntry (Maybe Word32)
data AccountstatusesCustomBatchRequest

-- | Creates a value of <a>AccountstatusesCustomBatchRequest</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aEntries</a></li>
--   </ul>
accountstatusesCustomBatchRequest :: AccountstatusesCustomBatchRequest

-- | The request entries to be processed in the batch.
aEntries :: Lens' AccountstatusesCustomBatchRequest [AccountstatusesCustomBatchRequestEntry]
data AccounttaxListResponse

-- | Creates a value of <a>AccounttaxListResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>alrNextPageToken</a></li>
--   <li><a>alrKind</a></li>
--   <li><a>alrResources</a></li>
--   </ul>
accounttaxListResponse :: AccounttaxListResponse

-- | The token for the retrieval of the next page of account tax settings.
alrNextPageToken :: Lens' AccounttaxListResponse (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#accounttaxListResponse".
alrKind :: Lens' AccounttaxListResponse Text
alrResources :: Lens' AccounttaxListResponse [AccountTax]
data OrdersGetTestOrderTemplateResponse

-- | Creates a value of <a>OrdersGetTestOrderTemplateResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ogtotrKind</a></li>
--   <li><a>ogtotrTemplate</a></li>
--   </ul>
ordersGetTestOrderTemplateResponse :: OrdersGetTestOrderTemplateResponse

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#ordersGetTestOrderTemplateResponse".
ogtotrKind :: Lens' OrdersGetTestOrderTemplateResponse Text

-- | The requested test order template.
ogtotrTemplate :: Lens' OrdersGetTestOrderTemplateResponse (Maybe TestOrder)

-- | A batch entry encoding a single non-batch accounts request.
--   
--   <i>See:</i> <a>accountsCustomBatchRequestEntry</a> smart constructor.
data AccountsCustomBatchRequestEntry

-- | Creates a value of <a>AccountsCustomBatchRequestEntry</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>accMerchantId</a></li>
--   <li><a>accAccount</a></li>
--   <li><a>accAccountId</a></li>
--   <li><a>accMethod</a></li>
--   <li><a>accBatchId</a></li>
--   </ul>
accountsCustomBatchRequestEntry :: AccountsCustomBatchRequestEntry

-- | The ID of the managing account.
accMerchantId :: Lens' AccountsCustomBatchRequestEntry (Maybe Word64)

-- | The account to create or update. Only defined if the method is insert
--   or update.
accAccount :: Lens' AccountsCustomBatchRequestEntry (Maybe Account)

-- | The ID of the account to get or delete. Only defined if the method is
--   get or delete.
accAccountId :: Lens' AccountsCustomBatchRequestEntry (Maybe Word64)
accMethod :: Lens' AccountsCustomBatchRequestEntry (Maybe Text)

-- | An entry ID, unique within the batch request.
accBatchId :: Lens' AccountsCustomBatchRequestEntry (Maybe Word32)
data Weight

-- | Creates a value of <a>Weight</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>wValue</a></li>
--   <li><a>wUnit</a></li>
--   </ul>
weight :: Weight

-- | The weight represented as a number.
wValue :: Lens' Weight (Maybe Text)

-- | The weight unit.
wUnit :: Lens' Weight (Maybe Text)

-- | An error returned by the API.
--   
--   <i>See:</i> <a>error'</a> smart constructor.
data Error'

-- | Creates a value of <a>Error</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>eDomain</a></li>
--   <li><a>eReason</a></li>
--   <li><a>eMessage</a></li>
--   </ul>
error' :: Error'

-- | The domain of the error.
eDomain :: Lens' Error' (Maybe Text)

-- | The error code.
eReason :: Lens' Error' (Maybe Text)

-- | A description of the error.
eMessage :: Lens' Error' (Maybe Text)
data ProductstatusesListResponse

-- | Creates a value of <a>ProductstatusesListResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>plrNextPageToken</a></li>
--   <li><a>plrKind</a></li>
--   <li><a>plrResources</a></li>
--   </ul>
productstatusesListResponse :: ProductstatusesListResponse

-- | The token for the retrieval of the next page of products statuses.
plrNextPageToken :: Lens' ProductstatusesListResponse (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#productstatusesListResponse".
plrKind :: Lens' ProductstatusesListResponse Text
plrResources :: Lens' ProductstatusesListResponse [ProductStatus]
data OrdersRefundResponse

-- | Creates a value of <a>OrdersRefundResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>orrKind</a></li>
--   <li><a>orrExecutionStatus</a></li>
--   </ul>
ordersRefundResponse :: OrdersRefundResponse

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#ordersRefundResponse".
orrKind :: Lens' OrdersRefundResponse Text

-- | The status of the execution.
orrExecutionStatus :: Lens' OrdersRefundResponse (Maybe Text)
data OrdersCreateTestOrderRequest

-- | Creates a value of <a>OrdersCreateTestOrderRequest</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>octorTemplateName</a></li>
--   <li><a>octorTestOrder</a></li>
--   </ul>
ordersCreateTestOrderRequest :: OrdersCreateTestOrderRequest

-- | The test order template to use. Specify as an alternative to testOrder
--   as a shortcut for retrieving a template and then creating an order
--   using that template.
octorTemplateName :: Lens' OrdersCreateTestOrderRequest (Maybe Text)

-- | The test order to create.
octorTestOrder :: Lens' OrdersCreateTestOrderRequest (Maybe TestOrder)
data AccountUser

-- | Creates a value of <a>AccountUser</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>auAdmin</a></li>
--   <li><a>auEmailAddress</a></li>
--   </ul>
accountUser :: AccountUser

-- | Whether user is an admin.
auAdmin :: Lens' AccountUser (Maybe Bool)

-- | User's email address.
auEmailAddress :: Lens' AccountUser (Maybe Text)

-- | An example of an item that has poor data quality. An item value on the
--   landing page differs from what is submitted, or conflicts with a
--   policy.
--   
--   <i>See:</i> <a>accountStatusExampleItem</a> smart constructor.
data AccountStatusExampleItem

-- | Creates a value of <a>AccountStatusExampleItem</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aseiSubmittedValue</a></li>
--   <li><a>aseiLink</a></li>
--   <li><a>aseiItemId</a></li>
--   <li><a>aseiTitle</a></li>
--   <li><a>aseiValueOnLandingPage</a></li>
--   </ul>
accountStatusExampleItem :: AccountStatusExampleItem

-- | The item value that was submitted.
aseiSubmittedValue :: Lens' AccountStatusExampleItem (Maybe Text)

-- | Landing page of the item.
aseiLink :: Lens' AccountStatusExampleItem (Maybe Text)

-- | Unique item ID as specified in the uploaded product data.
aseiItemId :: Lens' AccountStatusExampleItem (Maybe Text)

-- | Title of the item.
aseiTitle :: Lens' AccountStatusExampleItem (Maybe Text)

-- | The actual value on the landing page.
aseiValueOnLandingPage :: Lens' AccountStatusExampleItem (Maybe Text)

-- | A batch entry encoding a single non-batch datafeeds request.
--   
--   <i>See:</i> <a>datafeedsCustomBatchRequestEntry</a> smart constructor.
data DatafeedsCustomBatchRequestEntry

-- | Creates a value of <a>DatafeedsCustomBatchRequestEntry</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dcbreMerchantId</a></li>
--   <li><a>dcbreDatafeed</a></li>
--   <li><a>dcbreMethod</a></li>
--   <li><a>dcbreDatafeedId</a></li>
--   <li><a>dcbreBatchId</a></li>
--   </ul>
datafeedsCustomBatchRequestEntry :: DatafeedsCustomBatchRequestEntry

-- | The ID of the managing account.
dcbreMerchantId :: Lens' DatafeedsCustomBatchRequestEntry (Maybe Word64)

-- | The data feed to insert.
dcbreDatafeed :: Lens' DatafeedsCustomBatchRequestEntry (Maybe Datafeed)
dcbreMethod :: Lens' DatafeedsCustomBatchRequestEntry (Maybe Text)

-- | The ID of the data feed to get or delete.
dcbreDatafeedId :: Lens' DatafeedsCustomBatchRequestEntry (Maybe Word64)

-- | An entry ID, unique within the batch request.
dcbreBatchId :: Lens' DatafeedsCustomBatchRequestEntry (Maybe Word32)

-- | 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.
--   
--   <i>See:</i> <a>value</a> smart constructor.
data Value

-- | Creates a value of <a>Value</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>vPricePercentage</a></li>
--   <li><a>vCarrierRateName</a></li>
--   <li><a>vFlatRate</a></li>
--   <li><a>vSubtableName</a></li>
--   <li><a>vNoShipping</a></li>
--   </ul>
value :: Value

-- | 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.
vPricePercentage :: Lens' Value (Maybe Text)

-- | 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.
vCarrierRateName :: Lens' Value (Maybe Text)

-- | A flat rate. Can only be set if all other fields are not set.
vFlatRate :: Lens' Value (Maybe Price)

-- | 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.
vSubtableName :: Lens' Value (Maybe Text)

-- | If true, then the product can't ship. Must be true when set, can only
--   be set if all other fields are not set.
vNoShipping :: Lens' Value (Maybe Bool)
data Installment

-- | Creates a value of <a>Installment</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iAmount</a></li>
--   <li><a>iMonths</a></li>
--   </ul>
installment :: Installment

-- | The amount the buyer has to pay per month.
iAmount :: Lens' Installment (Maybe Price)

-- | The number of installments the buyer has to pay.
iMonths :: Lens' Installment (Maybe Int64)

-- | The required fields vary based on the frequency of fetching. For a
--   monthly fetch schedule, day_of_month and hour are required. For a
--   weekly fetch schedule, weekday and hour are required. For a daily
--   fetch schedule, only hour is required.
--   
--   <i>See:</i> <a>datafeedFetchSchedule</a> smart constructor.
data DatafeedFetchSchedule

-- | Creates a value of <a>DatafeedFetchSchedule</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dfsFetchURL</a></li>
--   <li><a>dfsUsername</a></li>
--   <li><a>dfsMinuteOfHour</a></li>
--   <li><a>dfsPassword</a></li>
--   <li><a>dfsDayOfMonth</a></li>
--   <li><a>dfsHour</a></li>
--   <li><a>dfsWeekday</a></li>
--   <li><a>dfsTimeZone</a></li>
--   </ul>
datafeedFetchSchedule :: DatafeedFetchSchedule

-- | The URL where the feed file can be fetched. Google Merchant Center
--   will support automatic scheduled uploads using the HTTP, HTTPS, FTP,
--   or SFTP protocols, so the value will need to be a valid link using one
--   of those four protocols.
dfsFetchURL :: Lens' DatafeedFetchSchedule (Maybe Text)

-- | An optional user name for fetch_url.
dfsUsername :: Lens' DatafeedFetchSchedule (Maybe Text)

-- | The minute of the hour the feed file should be fetched (0-59).
--   Read-only.
dfsMinuteOfHour :: Lens' DatafeedFetchSchedule (Maybe Word32)

-- | An optional password for fetch_url.
dfsPassword :: Lens' DatafeedFetchSchedule (Maybe Text)

-- | The day of the month the feed file should be fetched (1-31).
dfsDayOfMonth :: Lens' DatafeedFetchSchedule (Maybe Word32)

-- | The hour of the day the feed file should be fetched (0-23).
dfsHour :: Lens' DatafeedFetchSchedule (Maybe Word32)

-- | The day of the week the feed file should be fetched.
dfsWeekday :: Lens' DatafeedFetchSchedule (Maybe Text)

-- | Time zone used for schedule. UTC by default. E.g.,
--   "America/Los_Angeles".
dfsTimeZone :: Lens' DatafeedFetchSchedule (Maybe Text)
data OrdersCustomBatchRequest

-- | Creates a value of <a>OrdersCustomBatchRequest</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ocbrEntries</a></li>
--   </ul>
ordersCustomBatchRequest :: OrdersCustomBatchRequest

-- | The request entries to be processed in the batch.
ocbrEntries :: Lens' OrdersCustomBatchRequest [OrdersCustomBatchRequestEntry]
data ShippingSettingsGetSupportedCarriersResponse

-- | Creates a value of <a>ShippingSettingsGetSupportedCarriersResponse</a>
--   with the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ssgscrKind</a></li>
--   <li><a>ssgscrCarriers</a></li>
--   </ul>
shippingSettingsGetSupportedCarriersResponse :: ShippingSettingsGetSupportedCarriersResponse

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#shippingsettingsGetSupportedCarriersResponse".
ssgscrKind :: Lens' ShippingSettingsGetSupportedCarriersResponse Text

-- | A list of supported carriers. May be empty.
ssgscrCarriers :: Lens' ShippingSettingsGetSupportedCarriersResponse [CarriersCarrier]
data AccountsListResponse

-- | Creates a value of <a>AccountsListResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>accNextPageToken</a></li>
--   <li><a>accKind</a></li>
--   <li><a>accResources</a></li>
--   </ul>
accountsListResponse :: AccountsListResponse

-- | The token for the retrieval of the next page of accounts.
accNextPageToken :: Lens' AccountsListResponse (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#accountsListResponse".
accKind :: Lens' AccountsListResponse Text
accResources :: Lens' AccountsListResponse [Account]
data ProductStatusDataQualityIssue

-- | Creates a value of <a>ProductStatusDataQualityIssue</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>psdqiLocation</a></li>
--   <li><a>psdqiFetchStatus</a></li>
--   <li><a>psdqiSeverity</a></li>
--   <li><a>psdqiValueProvided</a></li>
--   <li><a>psdqiId</a></li>
--   <li><a>psdqiValueOnLandingPage</a></li>
--   <li><a>psdqiTimestamp</a></li>
--   <li><a>psdqiDetail</a></li>
--   </ul>
productStatusDataQualityIssue :: ProductStatusDataQualityIssue

-- | The attribute name that is relevant for the issue.
psdqiLocation :: Lens' ProductStatusDataQualityIssue (Maybe Text)

-- | The fetch status for landing_page_errors.
psdqiFetchStatus :: Lens' ProductStatusDataQualityIssue (Maybe Text)

-- | The severity of the data quality issue.
psdqiSeverity :: Lens' ProductStatusDataQualityIssue (Maybe Text)

-- | The value the attribute had at time of evaluation.
psdqiValueProvided :: Lens' ProductStatusDataQualityIssue (Maybe Text)

-- | The id of the data quality issue.
psdqiId :: Lens' ProductStatusDataQualityIssue (Maybe Text)

-- | The value of that attribute that was found on the landing page
psdqiValueOnLandingPage :: Lens' ProductStatusDataQualityIssue (Maybe Text)

-- | The time stamp of the data quality issue.
psdqiTimestamp :: Lens' ProductStatusDataQualityIssue (Maybe Text)

-- | A more detailed error string.
psdqiDetail :: Lens' ProductStatusDataQualityIssue (Maybe Text)
data CarriersCarrier

-- | Creates a value of <a>CarriersCarrier</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ccCountry</a></li>
--   <li><a>ccName</a></li>
--   <li><a>ccServices</a></li>
--   </ul>
carriersCarrier :: CarriersCarrier

-- | The CLDR country code of the carrier (e.g., "US"). Always present.
ccCountry :: Lens' CarriersCarrier (Maybe Text)

-- | The name of the carrier (e.g., "UPS"). Always present.
ccName :: Lens' CarriersCarrier (Maybe Text)

-- | A list of supported services (e.g., "ground") for that carrier.
--   Contains at least one service.
ccServices :: Lens' CarriersCarrier [Text]
data CarrierRate

-- | Creates a value of <a>CarrierRate</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>crOriginPostalCode</a></li>
--   <li><a>crFlatAdjustment</a></li>
--   <li><a>crCarrierService</a></li>
--   <li><a>crName</a></li>
--   <li><a>crPercentageAdjustment</a></li>
--   <li><a>crCarrierName</a></li>
--   </ul>
carrierRate :: CarrierRate

-- | Shipping origin for this carrier rate. Required.
crOriginPostalCode :: Lens' CarrierRate (Maybe Text)

-- | 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.
crFlatAdjustment :: Lens' CarrierRate (Maybe Price)

-- | Carrier service, such as "ground" or "2 days". The list of supported
--   services for a carrier can be retrieved via the getSupportedCarriers
--   method. Required.
crCarrierService :: Lens' CarrierRate (Maybe Text)

-- | Name of the carrier rate. Must be unique per rate group. Required.
crName :: Lens' CarrierRate (Maybe Text)

-- | 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.
crPercentageAdjustment :: Lens' CarrierRate (Maybe Text)

-- | Carrier service, such as "UPS" or "Fedex". The list of supported
--   carriers can be retrieved via the getSupportedCarriers method.
--   Required.
crCarrierName :: Lens' CarrierRate (Maybe Text)
data ShippingSettingsListResponse

-- | Creates a value of <a>ShippingSettingsListResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sslrNextPageToken</a></li>
--   <li><a>sslrKind</a></li>
--   <li><a>sslrResources</a></li>
--   </ul>
shippingSettingsListResponse :: ShippingSettingsListResponse

-- | The token for the retrieval of the next page of shipping settings.
sslrNextPageToken :: Lens' ShippingSettingsListResponse (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#shippingsettingsListResponse".
sslrKind :: Lens' ShippingSettingsListResponse Text
sslrResources :: Lens' ShippingSettingsListResponse [ShippingSettings]
data OrdersShipLineItemsRequest

-- | Creates a value of <a>OrdersShipLineItemsRequest</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>oslirCarrier</a></li>
--   <li><a>oslirTrackingId</a></li>
--   <li><a>oslirShipmentId</a></li>
--   <li><a>oslirLineItems</a></li>
--   <li><a>oslirOperationId</a></li>
--   </ul>
ordersShipLineItemsRequest :: OrdersShipLineItemsRequest

-- | The carrier handling the shipment.
oslirCarrier :: Lens' OrdersShipLineItemsRequest (Maybe Text)

-- | The tracking id for the shipment.
oslirTrackingId :: Lens' OrdersShipLineItemsRequest (Maybe Text)

-- | The ID of the shipment.
oslirShipmentId :: Lens' OrdersShipLineItemsRequest (Maybe Text)

-- | Line items to ship.
oslirLineItems :: Lens' OrdersShipLineItemsRequest [OrderShipmentLineItemShipment]

-- | The ID of the operation. Unique across all operations for a given
--   order.
oslirOperationId :: Lens' OrdersShipLineItemsRequest (Maybe Text)
data AccountsCustomBatchResponse

-- | Creates a value of <a>AccountsCustomBatchResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>acbrcEntries</a></li>
--   <li><a>acbrcKind</a></li>
--   </ul>
accountsCustomBatchResponse :: AccountsCustomBatchResponse

-- | The result of the execution of the batch requests.
acbrcEntries :: Lens' AccountsCustomBatchResponse [AccountsCustomBatchResponseEntry]

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#accountsCustomBatchResponse".
acbrcKind :: Lens' AccountsCustomBatchResponse Text
data ProductTax

-- | Creates a value of <a>ProductTax</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ptTaxShip</a></li>
--   <li><a>ptCountry</a></li>
--   <li><a>ptPostalCode</a></li>
--   <li><a>ptRate</a></li>
--   <li><a>ptRegion</a></li>
--   <li><a>ptLocationId</a></li>
--   </ul>
productTax :: ProductTax

-- | Set to true if tax is charged on shipping.
ptTaxShip :: Lens' ProductTax (Maybe Bool)

-- | The country within which the item is taxed, specified as a CLDR
--   territory code.
ptCountry :: Lens' ProductTax (Maybe Text)

-- | The postal code range that the tax rate applies to, represented by a
--   ZIP code, a ZIP code prefix using * wildcard, a range between two ZIP
--   codes or two ZIP code prefixes of equal length. Examples: 94114, 94*,
--   94002-95460, 94*-95*.
ptPostalCode :: Lens' ProductTax (Maybe Text)

-- | The percentage of tax rate that applies to the item price.
ptRate :: Lens' ProductTax (Maybe Double)

-- | The geographic region to which the tax rate applies.
ptRegion :: Lens' ProductTax (Maybe Text)

-- | The numeric id of a location that the tax rate applies to as defined
--   in the AdWords API.
ptLocationId :: Lens' ProductTax (Maybe Int64)
data OrderShipment

-- | Creates a value of <a>OrderShipment</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>osCarrier</a></li>
--   <li><a>osStatus</a></li>
--   <li><a>osTrackingId</a></li>
--   <li><a>osLineItems</a></li>
--   <li><a>osId</a></li>
--   <li><a>osCreationDate</a></li>
--   <li><a>osDeliveryDate</a></li>
--   </ul>
orderShipment :: OrderShipment

-- | The carrier handling the shipment.
osCarrier :: Lens' OrderShipment (Maybe Text)

-- | The status of the shipment.
osStatus :: Lens' OrderShipment (Maybe Text)

-- | The tracking id for the shipment.
osTrackingId :: Lens' OrderShipment (Maybe Text)

-- | The line items that are shipped.
osLineItems :: Lens' OrderShipment [OrderShipmentLineItemShipment]

-- | The id of the shipment.
osId :: Lens' OrderShipment (Maybe Text)

-- | Date on which the shipment has been created, in ISO 8601 format.
osCreationDate :: Lens' OrderShipment (Maybe Text)

-- | Date on which the shipment has been delivered, in ISO 8601 format.
--   Present only if status is delievered
osDeliveryDate :: Lens' OrderShipment (Maybe Text)
data OrderLineItemReturnInfo

-- | Creates a value of <a>OrderLineItemReturnInfo</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>oliriIsReturnable</a></li>
--   <li><a>oliriPolicyURL</a></li>
--   <li><a>oliriDaysToReturn</a></li>
--   </ul>
orderLineItemReturnInfo :: OrderLineItemReturnInfo

-- | Whether the item is returnable.
oliriIsReturnable :: Lens' OrderLineItemReturnInfo (Maybe Bool)

-- | URL of the item return policy.
oliriPolicyURL :: Lens' OrderLineItemReturnInfo (Maybe Text)

-- | How many days later the item can be returned.
oliriDaysToReturn :: Lens' OrderLineItemReturnInfo (Maybe Int32)
data AccountShippingRateTableCell

-- | Creates a value of <a>AccountShippingRateTableCell</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>asrtcRate</a></li>
--   <li><a>asrtcCondition</a></li>
--   </ul>
accountShippingRateTableCell :: AccountShippingRateTableCell

-- | The rate applicable if the cell conditions are matched.
asrtcRate :: Lens' AccountShippingRateTableCell (Maybe Price)

-- | Conditions for which the cell is valid. All cells in a table must use
--   the same dimension or pair of dimensions among price, weight, shipping
--   label or delivery location. If no condition is specified, the cell
--   acts as a catch-all and matches all the elements that are not matched
--   by other cells in this dimension.
asrtcCondition :: Lens' AccountShippingRateTableCell (Maybe AccountShippingCondition)

-- | Account data.
--   
--   <i>See:</i> <a>account</a> smart constructor.
data Account

-- | Creates a value of <a>Account</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aaUsers</a></li>
--   <li><a>aaKind</a></li>
--   <li><a>aaSellerId</a></li>
--   <li><a>aaName</a></li>
--   <li><a>aaReviewsURL</a></li>
--   <li><a>aaId</a></li>
--   <li><a>aaWebsiteURL</a></li>
--   <li><a>aaAdwordsLinks</a></li>
--   <li><a>aaAdultContent</a></li>
--   </ul>
account :: Account

-- | Users with access to the account. Every account (except for
--   subaccounts) must have at least one admin user.
aaUsers :: Lens' Account [AccountUser]

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#account".
aaKind :: Lens' Account Text

-- | Client-specific, locally-unique, internal ID for the child account.
aaSellerId :: Lens' Account (Maybe Text)

-- | Display name for the account.
aaName :: Lens' Account (Maybe Text)

-- | URL for individual seller reviews, i.e., reviews for each child
--   account.
aaReviewsURL :: Lens' Account (Maybe Text)

-- | Merchant Center account ID.
aaId :: Lens' Account (Maybe Word64)

-- | The merchant's website.
aaWebsiteURL :: Lens' Account (Maybe Text)

-- | List of linked AdWords accounts that are active or pending approval.
--   To create a new link request, add a new link with status active to the
--   list. It will remain in a pending state until approved or rejected
--   either in the AdWords interface or through the AdWords API. To delete
--   an active link, or to cancel a link request, remove it from the list.
aaAdwordsLinks :: Lens' Account [AccountAdwordsLink]

-- | Indicates whether the merchant sells adult content.
aaAdultContent :: Lens' Account (Maybe Bool)
data InventorySetRequest

-- | Creates a value of <a>InventorySetRequest</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>isrLoyaltyPoints</a></li>
--   <li><a>isrQuantity</a></li>
--   <li><a>isrInstallment</a></li>
--   <li><a>isrSalePrice</a></li>
--   <li><a>isrAvailability</a></li>
--   <li><a>isrPickup</a></li>
--   <li><a>isrSalePriceEffectiveDate</a></li>
--   <li><a>isrSellOnGoogleQuantity</a></li>
--   <li><a>isrPrice</a></li>
--   </ul>
inventorySetRequest :: InventorySetRequest

-- | Loyalty points that users receive after purchasing the item. Japan
--   only.
isrLoyaltyPoints :: Lens' InventorySetRequest (Maybe LoyaltyPoints)

-- | The quantity of the product. Must be equal to or greater than zero.
--   Supported only for local products.
isrQuantity :: Lens' InventorySetRequest (Maybe Word32)

-- | Number and amount of installments to pay for an item. Brazil only.
isrInstallment :: Lens' InventorySetRequest (Maybe Installment)

-- | The sale price of the product. Mandatory if sale_price_effective_date
--   is defined.
isrSalePrice :: Lens' InventorySetRequest (Maybe Price)

-- | The availability of the product.
isrAvailability :: Lens' InventorySetRequest (Maybe Text)

-- | Store pickup information. Only supported for local inventory. Not
--   setting pickup means "don't update" while setting it to the empty
--   value ({} in JSON) means "delete". Otherwise, pickupMethod and
--   pickupSla must be set together, unless pickupMethod is "not
--   supported".
isrPickup :: Lens' InventorySetRequest (Maybe InventoryPickup)

-- | A date range represented by a pair of ISO 8601 dates separated by a
--   space, comma, or slash. Both dates might be specified as 'null' if
--   undecided.
isrSalePriceEffectiveDate :: Lens' InventorySetRequest (Maybe Text)

-- | The quantity of the product that is reserved for sell-on-google ads.
--   Supported only for online products.
isrSellOnGoogleQuantity :: Lens' InventorySetRequest (Maybe Word32)

-- | The price of the product.
isrPrice :: Lens' InventorySetRequest (Maybe Price)

-- | Building block of the cost calculation decision tree. - The tree root
--   should have no condition and no calculation method. - All the children
--   must have a condition on the same dimension. The first child matching
--   a condition is entered, therefore, price and weight conditions form
--   contiguous intervals. - The last child of an element must have no
--   condition and matches all elements not previously matched. - Children
--   and calculation method are mutually exclusive, and exactly one of them
--   must be defined; the root must only have children.
--   
--   <i>See:</i> <a>accountShippingShippingServiceCostRule</a> smart
--   constructor.
data AccountShippingShippingServiceCostRule

-- | Creates a value of <a>AccountShippingShippingServiceCostRule</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>assscrChildren</a></li>
--   <li><a>assscrCalculationMethod</a></li>
--   <li><a>assscrCondition</a></li>
--   </ul>
accountShippingShippingServiceCostRule :: AccountShippingShippingServiceCostRule

-- | Subsequent rules to be applied, only for inner nodes. The last child
--   must not specify a condition and acts as a catch-all.
assscrChildren :: Lens' AccountShippingShippingServiceCostRule [AccountShippingShippingServiceCostRule]

-- | Final calculation method to be used only in leaf nodes.
assscrCalculationMethod :: Lens' AccountShippingShippingServiceCostRule (Maybe AccountShippingShippingServiceCalculationMethod)

-- | Condition for this rule to be applicable. If no condition is
--   specified, the rule acts as a catch-all.
assscrCondition :: Lens' AccountShippingShippingServiceCostRule (Maybe AccountShippingCondition)
data OrdersCancelLineItemRequest

-- | Creates a value of <a>OrdersCancelLineItemRequest</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>oclirAmount</a></li>
--   <li><a>oclirQuantity</a></li>
--   <li><a>oclirLineItemId</a></li>
--   <li><a>oclirReason</a></li>
--   <li><a>oclirOperationId</a></li>
--   <li><a>oclirReasonText</a></li>
--   </ul>
ordersCancelLineItemRequest :: OrdersCancelLineItemRequest

-- | Amount to refund for the cancelation. Optional. If not set, Google
--   will calculate the default based on the price and tax of the items
--   involved. The amount must not be larger than the net amount left on
--   the order.
oclirAmount :: Lens' OrdersCancelLineItemRequest (Maybe Price)

-- | The quantity to cancel.
oclirQuantity :: Lens' OrdersCancelLineItemRequest (Maybe Word32)

-- | The ID of the line item to cancel.
oclirLineItemId :: Lens' OrdersCancelLineItemRequest (Maybe Text)

-- | The reason for the cancellation.
oclirReason :: Lens' OrdersCancelLineItemRequest (Maybe Text)

-- | The ID of the operation. Unique across all operations for a given
--   order.
oclirOperationId :: Lens' OrdersCancelLineItemRequest (Maybe Text)

-- | The explanation of the reason.
oclirReasonText :: Lens' OrdersCancelLineItemRequest (Maybe Text)
data ProductShippingWeight

-- | Creates a value of <a>ProductShippingWeight</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pswValue</a></li>
--   <li><a>pswUnit</a></li>
--   </ul>
productShippingWeight :: ProductShippingWeight

-- | The weight of the product used to calculate the shipping cost of the
--   item.
pswValue :: Lens' ProductShippingWeight (Maybe Double)

-- | The unit of value.
pswUnit :: Lens' ProductShippingWeight (Maybe Text)

-- | A batch entry encoding a single non-batch accountstatuses request.
--   
--   <i>See:</i> <a>accountstatusesCustomBatchRequestEntry</a> smart
--   constructor.
data AccountstatusesCustomBatchRequestEntry

-- | Creates a value of <a>AccountstatusesCustomBatchRequestEntry</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>acbrecMerchantId</a></li>
--   <li><a>acbrecAccountId</a></li>
--   <li><a>acbrecMethod</a></li>
--   <li><a>acbrecBatchId</a></li>
--   </ul>
accountstatusesCustomBatchRequestEntry :: AccountstatusesCustomBatchRequestEntry

-- | The ID of the managing account.
acbrecMerchantId :: Lens' AccountstatusesCustomBatchRequestEntry (Maybe Word64)

-- | The ID of the (sub-)account whose status to get.
acbrecAccountId :: Lens' AccountstatusesCustomBatchRequestEntry (Maybe Word64)

-- | The method (get).
acbrecMethod :: Lens' AccountstatusesCustomBatchRequestEntry (Maybe Text)

-- | An entry ID, unique within the batch request.
acbrecBatchId :: Lens' AccountstatusesCustomBatchRequestEntry (Maybe Word32)
data DeliveryTime

-- | Creates a value of <a>DeliveryTime</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dtMinTransitTimeInDays</a></li>
--   <li><a>dtMaxTransitTimeInDays</a></li>
--   </ul>
deliveryTime :: DeliveryTime

-- | Minimum number of business days that is spent in transit. 0 means same
--   day delivery, 1 means next day delivery. Required.
dtMinTransitTimeInDays :: Lens' DeliveryTime (Maybe Word32)

-- | 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.
dtMaxTransitTimeInDays :: Lens' DeliveryTime (Maybe Word32)

-- | A batch entry encoding a single non-batch productstatuses response.
--   
--   <i>See:</i> <a>productstatusesCustomBatchResponseEntry</a> smart
--   constructor.
data ProductstatusesCustomBatchResponseEntry

-- | Creates a value of <a>ProductstatusesCustomBatchResponseEntry</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pcbreKind</a></li>
--   <li><a>pcbreProductStatus</a></li>
--   <li><a>pcbreErrors</a></li>
--   <li><a>pcbreBatchId</a></li>
--   </ul>
productstatusesCustomBatchResponseEntry :: ProductstatusesCustomBatchResponseEntry

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#productstatusesCustomBatchResponseEntry".
pcbreKind :: Lens' ProductstatusesCustomBatchResponseEntry Text

-- | The requested product status. Only defined if the request was
--   successful.
pcbreProductStatus :: Lens' ProductstatusesCustomBatchResponseEntry (Maybe ProductStatus)

-- | A list of errors, if the request failed.
pcbreErrors :: Lens' ProductstatusesCustomBatchResponseEntry (Maybe Errors)

-- | The ID of the request entry this entry responds to.
pcbreBatchId :: Lens' ProductstatusesCustomBatchResponseEntry (Maybe Word32)
data OrdersCustomBatchRequestEntryCancel

-- | Creates a value of <a>OrdersCustomBatchRequestEntryCancel</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ocbrecReason</a></li>
--   <li><a>ocbrecReasonText</a></li>
--   </ul>
ordersCustomBatchRequestEntryCancel :: OrdersCustomBatchRequestEntryCancel

-- | The reason for the cancellation.
ocbrecReason :: Lens' OrdersCustomBatchRequestEntryCancel (Maybe Text)

-- | The explanation of the reason.
ocbrecReasonText :: Lens' OrdersCustomBatchRequestEntryCancel (Maybe Text)
data DatafeedFormat

-- | Creates a value of <a>DatafeedFormat</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dfQuotingMode</a></li>
--   <li><a>dfFileEncoding</a></li>
--   <li><a>dfColumnDelimiter</a></li>
--   </ul>
datafeedFormat :: DatafeedFormat

-- | Specifies how double quotes are interpreted. If not specified, the
--   mode will be auto-detected. Ignored for non-DSV data feeds.
dfQuotingMode :: Lens' DatafeedFormat (Maybe Text)

-- | Character encoding scheme of the data feed. If not specified, the
--   encoding will be auto-detected.
dfFileEncoding :: Lens' DatafeedFormat (Maybe Text)

-- | Delimiter for the separation of values in a delimiter-separated values
--   feed. If not specified, the delimiter will be auto-detected. Ignored
--   for non-DSV data feeds.
dfColumnDelimiter :: Lens' DatafeedFormat (Maybe Text)
data ProductShipping

-- | Creates a value of <a>ProductShipping</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>psService</a></li>
--   <li><a>psLocationGroupName</a></li>
--   <li><a>psCountry</a></li>
--   <li><a>psPostalCode</a></li>
--   <li><a>psPrice</a></li>
--   <li><a>psRegion</a></li>
--   <li><a>psLocationId</a></li>
--   </ul>
productShipping :: ProductShipping

-- | A free-form description of the service class or delivery speed.
psService :: Lens' ProductShipping (Maybe Text)

-- | The location where the shipping is applicable, represented by a
--   location group name.
psLocationGroupName :: Lens' ProductShipping (Maybe Text)

-- | The CLDR territory code of the country to which an item will ship.
psCountry :: Lens' ProductShipping (Maybe Text)

-- | The postal code range that the shipping rate applies to, represented
--   by a postal code, a postal code prefix followed by a * wildcard, a
--   range between two postal codes or two postal code prefixes of equal
--   length.
psPostalCode :: Lens' ProductShipping (Maybe Text)

-- | Fixed shipping price, represented as a number.
psPrice :: Lens' ProductShipping (Maybe Price)

-- | The geographic region to which a shipping rate applies (e.g. zip
--   code).
psRegion :: Lens' ProductShipping (Maybe Text)

-- | The numeric id of a location that the shipping rate applies to as
--   defined in the AdWords API.
psLocationId :: Lens' ProductShipping (Maybe Int64)
data ShippingSettingsCustomBatchRequest

-- | Creates a value of <a>ShippingSettingsCustomBatchRequest</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sscbrEntries</a></li>
--   </ul>
shippingSettingsCustomBatchRequest :: ShippingSettingsCustomBatchRequest

-- | The request entries to be processed in the batch.
sscbrEntries :: Lens' ShippingSettingsCustomBatchRequest [ShippingSettingsCustomBatchRequestEntry]

-- | A batch entry encoding a single non-batch accountshipping request.
--   
--   <i>See:</i> <a>accountshippingCustomBatchRequestEntry</a> smart
--   constructor.
data AccountshippingCustomBatchRequestEntry

-- | Creates a value of <a>AccountshippingCustomBatchRequestEntry</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aaMerchantId</a></li>
--   <li><a>aaAccountId</a></li>
--   <li><a>aaMethod</a></li>
--   <li><a>aaAccountShipping</a></li>
--   <li><a>aaBatchId</a></li>
--   </ul>
accountshippingCustomBatchRequestEntry :: AccountshippingCustomBatchRequestEntry

-- | The ID of the managing account.
aaMerchantId :: Lens' AccountshippingCustomBatchRequestEntry (Maybe Word64)

-- | The ID of the account for which to get/update account shipping
--   settings.
aaAccountId :: Lens' AccountshippingCustomBatchRequestEntry (Maybe Word64)
aaMethod :: Lens' AccountshippingCustomBatchRequestEntry (Maybe Text)

-- | The account shipping settings to update. Only defined if the method is
--   update.
aaAccountShipping :: Lens' AccountshippingCustomBatchRequestEntry (Maybe AccountShipping)

-- | An entry ID, unique within the batch request.
aaBatchId :: Lens' AccountshippingCustomBatchRequestEntry (Maybe Word32)
data AccountsCustomBatchRequest

-- | Creates a value of <a>AccountsCustomBatchRequest</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>accEntries</a></li>
--   </ul>
accountsCustomBatchRequest :: AccountsCustomBatchRequest

-- | The request entries to be processed in the batch.
accEntries :: Lens' AccountsCustomBatchRequest [AccountsCustomBatchRequestEntry]
data ProductCustomAttribute

-- | Creates a value of <a>ProductCustomAttribute</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pcaValue</a></li>
--   <li><a>pcaName</a></li>
--   <li><a>pcaType</a></li>
--   <li><a>pcaUnit</a></li>
--   </ul>
productCustomAttribute :: ProductCustomAttribute

-- | The value of the attribute.
pcaValue :: Lens' ProductCustomAttribute (Maybe Text)

-- | The name of the attribute. Underscores will be replaced by spaces upon
--   insertion.
pcaName :: Lens' ProductCustomAttribute (Maybe Text)

-- | The type of the attribute.
pcaType :: Lens' ProductCustomAttribute (Maybe Text)

-- | Free-form unit of the attribute. Unit can only be used for values of
--   type INT or FLOAT.
pcaUnit :: Lens' ProductCustomAttribute (Maybe Text)

-- | A postal code range, that can be either: - A range of postal codes
--   (e.g., start=12340, end=12359) - A range of postal codes prefixes
--   (e.g., start=1234* end=1235*). Prefixes must be of the same length
--   (e.g., start=12* end=2* is invalid).
--   
--   <i>See:</i> <a>accountShippingPostalCodeRange</a> smart constructor.
data AccountShippingPostalCodeRange

-- | Creates a value of <a>AccountShippingPostalCodeRange</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aspcrStart</a></li>
--   <li><a>aspcrEnd</a></li>
--   </ul>
accountShippingPostalCodeRange :: AccountShippingPostalCodeRange

-- | The first (inclusive) postal code or prefix of the range.
aspcrStart :: Lens' AccountShippingPostalCodeRange (Maybe Text)

-- | The last (inclusive) postal code or prefix of the range.
aspcrEnd :: Lens' AccountShippingPostalCodeRange (Maybe Text)
data OrdersListResponse

-- | Creates a value of <a>OrdersListResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>olrNextPageToken</a></li>
--   <li><a>olrKind</a></li>
--   <li><a>olrResources</a></li>
--   </ul>
ordersListResponse :: OrdersListResponse

-- | The token for the retrieval of the next page of orders.
olrNextPageToken :: Lens' OrdersListResponse (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#ordersListResponse".
olrKind :: Lens' OrdersListResponse Text
olrResources :: Lens' OrdersListResponse [Order]

-- | A non-empty list of row or column headers for a table. Exactly one of
--   prices, weights, numItems, postalCodeGroupNames, or locations must be
--   set.
--   
--   <i>See:</i> <a>headers</a> smart constructor.
data Headers

-- | Creates a value of <a>Headers</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>hNumberOfItems</a></li>
--   <li><a>hPostalCodeGroupNames</a></li>
--   <li><a>hPrices</a></li>
--   <li><a>hWeights</a></li>
--   <li><a>hLocations</a></li>
--   </ul>
headers :: Headers

-- | A list of inclusive number of items upper bounds. The last value can
--   be "infinity". For example ["10", "50", "infinity"] represents the
--   headers "&lt;= 10 items", " 50 items". Must be non-empty. Can only be
--   set if all other fields are not set.
hNumberOfItems :: Lens' Headers [Text]

-- | 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.
hPostalCodeGroupNames :: Lens' Headers [Text]
hPrices :: Lens' Headers [Price]

-- | be "infinity". For example [{"value": "10", "unit": "kg"}, {"value":
--   "50", "unit": "kg"}, {"value": "infinity", "unit": "kg"}] represents
--   the headers "&lt;= 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.
hWeights :: Lens' Headers [Weight]

-- | A list of location ID sets. Must be non-empty. Can only be set if all
--   other fields are not set.
hLocations :: Lens' Headers [LocationIdSet]
data OrdersShipLineItemsResponse

-- | Creates a value of <a>OrdersShipLineItemsResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>oslirKind</a></li>
--   <li><a>oslirExecutionStatus</a></li>
--   </ul>
ordersShipLineItemsResponse :: OrdersShipLineItemsResponse

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#ordersShipLineItemsResponse".
oslirKind :: Lens' OrdersShipLineItemsResponse Text

-- | The status of the execution.
oslirExecutionStatus :: Lens' OrdersShipLineItemsResponse (Maybe Text)

-- | Shipping services provided in a country.
--   
--   <i>See:</i> <a>accountShippingShippingService</a> smart constructor.
data AccountShippingShippingService

-- | Creates a value of <a>AccountShippingShippingService</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>asssCostRuleTree</a></li>
--   <li><a>asssSaleCountry</a></li>
--   <li><a>asssMaxDaysInTransit</a></li>
--   <li><a>asssCalculationMethod</a></li>
--   <li><a>asssActive</a></li>
--   <li><a>asssName</a></li>
--   <li><a>asssMinDaysInTransit</a></li>
--   </ul>
accountShippingShippingService :: AccountShippingShippingService

-- | Decision tree for "complicated" shipping cost calculation.
asssCostRuleTree :: Lens' AccountShippingShippingService (Maybe AccountShippingShippingServiceCostRule)

-- | The CLDR territory code of the sale country for which this service can
--   be used.
asssSaleCountry :: Lens' AccountShippingShippingService (Maybe Text)

-- | The maximum number of days in transit. Must be a value between 0 and
--   250 included. A value of 0 means same day delivery.
asssMaxDaysInTransit :: Lens' AccountShippingShippingService (Maybe Word64)

-- | Calculation method for the "simple" case that needs no rules.
asssCalculationMethod :: Lens' AccountShippingShippingService (Maybe AccountShippingShippingServiceCalculationMethod)

-- | Whether the shipping service is available.
asssActive :: Lens' AccountShippingShippingService (Maybe Bool)

-- | The name of this shipping service.
asssName :: Lens' AccountShippingShippingService (Maybe Text)

-- | The minimum number of days in transit. Must be a value between 0 and
--   maxDaysIntransit included. A value of 0 means same day delivery.
asssMinDaysInTransit :: Lens' AccountShippingShippingService (Maybe Word64)

-- | A single or bi-dimensional table of shipping rates. Each dimension is
--   defined in terms of consecutive price/weight ranges, delivery
--   locations, or shipping labels.
--   
--   <i>See:</i> <a>accountShippingRateTable</a> smart constructor.
data AccountShippingRateTable

-- | Creates a value of <a>AccountShippingRateTable</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>asrtSaleCountry</a></li>
--   <li><a>asrtContent</a></li>
--   <li><a>asrtName</a></li>
--   </ul>
accountShippingRateTable :: AccountShippingRateTable

-- | The sale country for which this table is valid, represented as a CLDR
--   territory code.
asrtSaleCountry :: Lens' AccountShippingRateTable (Maybe Text)

-- | One-dimensional table cells define one condition along the same
--   dimension. Bi-dimensional table cells use two dimensions with
--   respectively M and N distinct values and must contain exactly M * N
--   cells with distinct conditions (for each possible value pairs).
asrtContent :: Lens' AccountShippingRateTable [AccountShippingRateTableCell]

-- | The name of the rate table.
asrtName :: Lens' AccountShippingRateTable (Maybe Text)
data AccountshippingCustomBatchResponse

-- | Creates a value of <a>AccountshippingCustomBatchResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>acccEntries</a></li>
--   <li><a>acccKind</a></li>
--   </ul>
accountshippingCustomBatchResponse :: AccountshippingCustomBatchResponse

-- | The result of the execution of the batch requests.
acccEntries :: Lens' AccountshippingCustomBatchResponse [AccountshippingCustomBatchResponseEntry]

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#accountshippingCustomBatchResponse".
acccKind :: Lens' AccountshippingCustomBatchResponse Text

-- | The merchant account's shipping settings.
--   
--   <i>See:</i> <a>shippingSettings</a> smart constructor.
data ShippingSettings

-- | Creates a value of <a>ShippingSettings</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ssPostalCodeGroups</a></li>
--   <li><a>ssAccountId</a></li>
--   <li><a>ssServices</a></li>
--   </ul>
shippingSettings :: ShippingSettings

-- | A list of postal code groups that can be referred to in services.
--   Optional.
ssPostalCodeGroups :: Lens' ShippingSettings [PostalCodeGroup]

-- | The ID of the account to which these account shipping settings belong.
--   Ignored upon update, always present in get request responses.
ssAccountId :: Lens' ShippingSettings (Maybe Word64)

-- | The target account's list of services. Optional.
ssServices :: Lens' ShippingSettings [Service]
data PostalCodeRange

-- | Creates a value of <a>PostalCodeRange</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pcrPostalCodeRangeBegin</a></li>
--   <li><a>pcrPostalCodeRangeEnd</a></li>
--   </ul>
postalCodeRange :: PostalCodeRange

-- | A postal code or a pattern of the form prefix* denoting the inclusive
--   lower bound of the range defining the area. Examples values: "94108",
--   "9410*", "9*". Required.
pcrPostalCodeRangeBegin :: Lens' PostalCodeRange (Maybe Text)

-- | A postal code or a pattern of the form prefix* denoting the inclusive
--   upper bound of the range defining the area. It must have the same
--   length as postalCodeRangeBegin: if postalCodeRangeBegin is a postal
--   code then postalCodeRangeEnd must be a postal code too; if
--   postalCodeRangeBegin is a pattern then postalCodeRangeEnd must be a
--   pattern with the same prefix length. Optional: if not set, then the
--   area is defined as being all the postal codes matching
--   postalCodeRangeBegin.
pcrPostalCodeRangeEnd :: Lens' PostalCodeRange (Maybe Text)
data OrdersUpdateShipmentResponse

-- | Creates a value of <a>OrdersUpdateShipmentResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ousrKind</a></li>
--   <li><a>ousrExecutionStatus</a></li>
--   </ul>
ordersUpdateShipmentResponse :: OrdersUpdateShipmentResponse

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#ordersUpdateShipmentResponse".
ousrKind :: Lens' OrdersUpdateShipmentResponse Text

-- | The status of the execution.
ousrExecutionStatus :: Lens' OrdersUpdateShipmentResponse (Maybe Text)
data ProductstatusesCustomBatchRequest

-- | Creates a value of <a>ProductstatusesCustomBatchRequest</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>proEntries</a></li>
--   </ul>
productstatusesCustomBatchRequest :: ProductstatusesCustomBatchRequest

-- | The request entries to be processed in the batch.
proEntries :: Lens' ProductstatusesCustomBatchRequest [ProductstatusesCustomBatchRequestEntry]
data OrdersReturnLineItemResponse

-- | Creates a value of <a>OrdersReturnLineItemResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>orlirKind</a></li>
--   <li><a>orlirExecutionStatus</a></li>
--   </ul>
ordersReturnLineItemResponse :: OrdersReturnLineItemResponse

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#ordersReturnLineItemResponse".
orlirKind :: Lens' OrdersReturnLineItemResponse Text

-- | The status of the execution.
orlirExecutionStatus :: Lens' OrdersReturnLineItemResponse (Maybe Text)
data ProductCustomGroup

-- | Creates a value of <a>ProductCustomGroup</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pName</a></li>
--   <li><a>pAttributes</a></li>
--   </ul>
productCustomGroup :: ProductCustomGroup

-- | The name of the group. Underscores will be replaced by spaces upon
--   insertion.
pName :: Lens' ProductCustomGroup (Maybe Text)

-- | The sub-attributes.
pAttributes :: Lens' ProductCustomGroup [ProductCustomAttribute]
data AccountstatusesCustomBatchResponse

-- | Creates a value of <a>AccountstatusesCustomBatchResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>acbr1Entries</a></li>
--   <li><a>acbr1Kind</a></li>
--   </ul>
accountstatusesCustomBatchResponse :: AccountstatusesCustomBatchResponse

-- | The result of the execution of the batch requests.
acbr1Entries :: Lens' AccountstatusesCustomBatchResponse [AccountstatusesCustomBatchResponseEntry]

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#accountstatusesCustomBatchResponse".
acbr1Kind :: Lens' AccountstatusesCustomBatchResponse Text

-- | A batch entry encoding a single non-batch shipping settings response.
--   
--   <i>See:</i> <a>shippingSettingsCustomBatchResponseEntry</a> smart
--   constructor.
data ShippingSettingsCustomBatchResponseEntry

-- | Creates a value of <a>ShippingSettingsCustomBatchResponseEntry</a>
--   with the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sKind</a></li>
--   <li><a>sShippingSettings</a></li>
--   <li><a>sErrors</a></li>
--   <li><a>sBatchId</a></li>
--   </ul>
shippingSettingsCustomBatchResponseEntry :: ShippingSettingsCustomBatchResponseEntry

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#shippingsettingsCustomBatchResponseEntry".
sKind :: Lens' ShippingSettingsCustomBatchResponseEntry Text

-- | The retrieved or updated account shipping settings.
sShippingSettings :: Lens' ShippingSettingsCustomBatchResponseEntry (Maybe ShippingSettings)

-- | A list of errors defined if, and only if, the request failed.
sErrors :: Lens' ShippingSettingsCustomBatchResponseEntry (Maybe Errors)

-- | The ID of the request entry to which this entry responds.
sBatchId :: Lens' ShippingSettingsCustomBatchResponseEntry (Maybe Word32)

-- | The status of a product, i.e., information about a product computed
--   asynchronously by the data quality analysis.
--   
--   <i>See:</i> <a>productStatus</a> smart constructor.
data ProductStatus

-- | Creates a value of <a>ProductStatus</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>psDataQualityIssues</a></li>
--   <li><a>psKind</a></li>
--   <li><a>psLink</a></li>
--   <li><a>psDestinationStatuses</a></li>
--   <li><a>psLastUpdateDate</a></li>
--   <li><a>psCreationDate</a></li>
--   <li><a>psTitle</a></li>
--   <li><a>psGoogleExpirationDate</a></li>
--   <li><a>psProductId</a></li>
--   </ul>
productStatus :: ProductStatus

-- | A list of data quality issues associated with the product.
psDataQualityIssues :: Lens' ProductStatus [ProductStatusDataQualityIssue]

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#productStatus".
psKind :: Lens' ProductStatus Text

-- | The link to the product.
psLink :: Lens' ProductStatus (Maybe Text)

-- | The intended destinations for the product.
psDestinationStatuses :: Lens' ProductStatus [ProductStatusDestinationStatus]

-- | Date on which the item has been last updated, in ISO 8601 format.
psLastUpdateDate :: Lens' ProductStatus (Maybe Text)

-- | Date on which the item has been created, in ISO 8601 format.
psCreationDate :: Lens' ProductStatus (Maybe Text)

-- | The title of the product.
psTitle :: Lens' ProductStatus (Maybe Text)

-- | Date on which the item expires in Google Shopping, in ISO 8601 format.
psGoogleExpirationDate :: Lens' ProductStatus (Maybe Text)

-- | The id of the product for which status is reported.
psProductId :: Lens' ProductStatus (Maybe Text)
data AccountstatusesListResponse

-- | Creates a value of <a>AccountstatusesListResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>alrlNextPageToken</a></li>
--   <li><a>alrlKind</a></li>
--   <li><a>alrlResources</a></li>
--   </ul>
accountstatusesListResponse :: AccountstatusesListResponse

-- | The token for the retrieval of the next page of account statuses.
alrlNextPageToken :: Lens' AccountstatusesListResponse (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#accountstatusesListResponse".
alrlKind :: Lens' AccountstatusesListResponse Text
alrlResources :: Lens' AccountstatusesListResponse [AccountStatus]
data AccounttaxCustomBatchRequest

-- | Creates a value of <a>AccounttaxCustomBatchRequest</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aaEntries</a></li>
--   </ul>
accounttaxCustomBatchRequest :: AccounttaxCustomBatchRequest

-- | The request entries to be processed in the batch.
aaEntries :: Lens' AccounttaxCustomBatchRequest [AccounttaxCustomBatchRequestEntry]

-- | A batch entry encoding a single non-batch products request.
--   
--   <i>See:</i> <a>productsCustomBatchRequestEntry</a> smart constructor.
data ProductsCustomBatchRequestEntry

-- | Creates a value of <a>ProductsCustomBatchRequestEntry</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pMerchantId</a></li>
--   <li><a>pMethod</a></li>
--   <li><a>pProduct</a></li>
--   <li><a>pProductId</a></li>
--   <li><a>pBatchId</a></li>
--   </ul>
productsCustomBatchRequestEntry :: ProductsCustomBatchRequestEntry

-- | The ID of the managing account.
pMerchantId :: Lens' ProductsCustomBatchRequestEntry (Maybe Word64)
pMethod :: Lens' ProductsCustomBatchRequestEntry (Maybe Text)

-- | The product to insert. Only required if the method is insert.
pProduct :: Lens' ProductsCustomBatchRequestEntry (Maybe Product)

-- | The ID of the product to get or delete. Only defined if the method is
--   get or delete.
pProductId :: Lens' ProductsCustomBatchRequestEntry (Maybe Text)

-- | An entry ID, unique within the batch request.
pBatchId :: Lens' ProductsCustomBatchRequestEntry (Maybe Word32)

-- | A batch entry encoding a single non-batch datafeedstatuses request.
--   
--   <i>See:</i> <a>datafeedstatusesCustomBatchRequestEntry</a> smart
--   constructor.
data DatafeedstatusesCustomBatchRequestEntry

-- | Creates a value of <a>DatafeedstatusesCustomBatchRequestEntry</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dMerchantId</a></li>
--   <li><a>dMethod</a></li>
--   <li><a>dDatafeedId</a></li>
--   <li><a>dBatchId</a></li>
--   </ul>
datafeedstatusesCustomBatchRequestEntry :: DatafeedstatusesCustomBatchRequestEntry

-- | The ID of the managing account.
dMerchantId :: Lens' DatafeedstatusesCustomBatchRequestEntry (Maybe Word64)
dMethod :: Lens' DatafeedstatusesCustomBatchRequestEntry (Maybe Text)

-- | The ID of the data feed to get or delete.
dDatafeedId :: Lens' DatafeedstatusesCustomBatchRequestEntry (Maybe Word64)

-- | An entry ID, unique within the batch request.
dBatchId :: Lens' DatafeedstatusesCustomBatchRequestEntry (Maybe Word32)
data OrderCustomer

-- | Creates a value of <a>OrderCustomer</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ocFullName</a></li>
--   <li><a>ocEmail</a></li>
--   <li><a>ocExplicitMarketingPreference</a></li>
--   </ul>
orderCustomer :: OrderCustomer

-- | Full name of the customer.
ocFullName :: Lens' OrderCustomer (Maybe Text)

-- | Email address of the customer.
ocEmail :: Lens' OrderCustomer (Maybe Text)

-- | If set, this indicates the user explicitly chose to opt in or out of
--   providing marketing rights to the merchant. If unset, this indicates
--   the user has already made this choice in a previous purchase, and was
--   thus not shown the marketing right opt in/out checkbox during the
--   checkout flow.
ocExplicitMarketingPreference :: Lens' OrderCustomer (Maybe Bool)

-- | A batch entry encoding a single non-batch inventory response.
--   
--   <i>See:</i> <a>inventoryCustomBatchResponseEntry</a> smart
--   constructor.
data InventoryCustomBatchResponseEntry

-- | Creates a value of <a>InventoryCustomBatchResponseEntry</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>icbreKind</a></li>
--   <li><a>icbreErrors</a></li>
--   <li><a>icbreBatchId</a></li>
--   </ul>
inventoryCustomBatchResponseEntry :: InventoryCustomBatchResponseEntry

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#inventoryCustomBatchResponseEntry".
icbreKind :: Lens' InventoryCustomBatchResponseEntry Text

-- | A list of errors defined if and only if the request failed.
icbreErrors :: Lens' InventoryCustomBatchResponseEntry (Maybe Errors)

-- | The ID of the request entry this entry responds to.
icbreBatchId :: Lens' InventoryCustomBatchResponseEntry (Maybe Word32)
data AccountshippingListResponse

-- | Creates a value of <a>AccountshippingListResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>alr1NextPageToken</a></li>
--   <li><a>alr1Kind</a></li>
--   <li><a>alr1Resources</a></li>
--   </ul>
accountshippingListResponse :: AccountshippingListResponse

-- | The token for the retrieval of the next page of account shipping
--   settings.
alr1NextPageToken :: Lens' AccountshippingListResponse (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#accountshippingListResponse".
alr1Kind :: Lens' AccountshippingListResponse Text
alr1Resources :: Lens' AccountshippingListResponse [AccountShipping]
data LocationIdSet

-- | Creates a value of <a>LocationIdSet</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lisLocationIds</a></li>
--   </ul>
locationIdSet :: LocationIdSet

-- | A non-empty list of location IDs. They must all be of the same
--   location type (e.g., state).
lisLocationIds :: Lens' LocationIdSet [Text]
data Row

-- | Creates a value of <a>Row</a> with the minimum fields required to make
--   a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rCells</a></li>
--   </ul>
row :: Row

-- | 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.
rCells :: Lens' Row [Value]
data Inventory

-- | Creates a value of <a>Inventory</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iLoyaltyPoints</a></li>
--   <li><a>iKind</a></li>
--   <li><a>iQuantity</a></li>
--   <li><a>iInstallment</a></li>
--   <li><a>iSalePrice</a></li>
--   <li><a>iAvailability</a></li>
--   <li><a>iPickup</a></li>
--   <li><a>iSalePriceEffectiveDate</a></li>
--   <li><a>iSellOnGoogleQuantity</a></li>
--   <li><a>iPrice</a></li>
--   </ul>
inventory :: Inventory

-- | Loyalty points that users receive after purchasing the item. Japan
--   only.
iLoyaltyPoints :: Lens' Inventory (Maybe LoyaltyPoints)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#inventory".
iKind :: Lens' Inventory Text

-- | The quantity of the product. Must be equal to or greater than zero.
--   Supported only for local products.
iQuantity :: Lens' Inventory (Maybe Word32)

-- | Number and amount of installments to pay for an item. Brazil only.
iInstallment :: Lens' Inventory (Maybe Installment)

-- | The sale price of the product. Mandatory if sale_price_effective_date
--   is defined.
iSalePrice :: Lens' Inventory (Maybe Price)

-- | The availability of the product.
iAvailability :: Lens' Inventory (Maybe Text)

-- | Store pickup information. Only supported for local inventory. Not
--   setting pickup means "don't update" while setting it to the empty
--   value ({} in JSON) means "delete". Otherwise, pickupMethod and
--   pickupSla must be set together, unless pickupMethod is "not
--   supported".
iPickup :: Lens' Inventory (Maybe InventoryPickup)

-- | A date range represented by a pair of ISO 8601 dates separated by a
--   space, comma, or slash. Both dates might be specified as 'null' if
--   undecided.
iSalePriceEffectiveDate :: Lens' Inventory (Maybe Text)

-- | The quantity of the product that is reserved for sell-on-google ads.
--   Supported only for online products.
iSellOnGoogleQuantity :: Lens' Inventory (Maybe Word32)

-- | The price of the product.
iPrice :: Lens' Inventory (Maybe Price)
data OrdersGetByMerchantOrderIdResponse

-- | Creates a value of <a>OrdersGetByMerchantOrderIdResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ogbmoirKind</a></li>
--   <li><a>ogbmoirOrder</a></li>
--   </ul>
ordersGetByMerchantOrderIdResponse :: OrdersGetByMerchantOrderIdResponse

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#ordersGetByMerchantOrderIdResponse".
ogbmoirKind :: Lens' OrdersGetByMerchantOrderIdResponse Text

-- | The requested order.
ogbmoirOrder :: Lens' OrdersGetByMerchantOrderIdResponse (Maybe Order)
data OrderPromotionBenefit

-- | Creates a value of <a>OrderPromotionBenefit</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>opbTaxImpact</a></li>
--   <li><a>opbDiscount</a></li>
--   <li><a>opbOfferIds</a></li>
--   <li><a>opbSubType</a></li>
--   <li><a>opbType</a></li>
--   </ul>
orderPromotionBenefit :: OrderPromotionBenefit

-- | The impact on tax when the promotion is applied.
opbTaxImpact :: Lens' OrderPromotionBenefit (Maybe Price)

-- | The discount in the order price when the promotion is applied.
opbDiscount :: Lens' OrderPromotionBenefit (Maybe Price)

-- | The OfferId(s) that were purchased in this order and map to this
--   specific benefit of the promotion.
opbOfferIds :: Lens' OrderPromotionBenefit [Text]

-- | Further describes the benefit of the promotion. Note that we will
--   expand on this enumeration as we support new promotion sub-types.
opbSubType :: Lens' OrderPromotionBenefit (Maybe Text)

-- | Describes whether the promotion applies to products (e.g. 20% off) or
--   to shipping (e.g. Free Shipping).
opbType :: Lens' OrderPromotionBenefit (Maybe Text)
data OrdersCancelRequest

-- | Creates a value of <a>OrdersCancelRequest</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ocrReason</a></li>
--   <li><a>ocrOperationId</a></li>
--   <li><a>ocrReasonText</a></li>
--   </ul>
ordersCancelRequest :: OrdersCancelRequest

-- | The reason for the cancellation.
ocrReason :: Lens' OrdersCancelRequest (Maybe Text)

-- | The ID of the operation. Unique across all operations for a given
--   order.
ocrOperationId :: Lens' OrdersCancelRequest (Maybe Text)

-- | The explanation of the reason.
ocrReasonText :: Lens' OrdersCancelRequest (Maybe Text)
data OrderLineItemProductVariantAttribute

-- | Creates a value of <a>OrderLineItemProductVariantAttribute</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>olipvaDimension</a></li>
--   <li><a>olipvaValue</a></li>
--   </ul>
orderLineItemProductVariantAttribute :: OrderLineItemProductVariantAttribute

-- | The dimension of the variant.
olipvaDimension :: Lens' OrderLineItemProductVariantAttribute (Maybe Text)

-- | The value for the dimension.
olipvaValue :: Lens' OrderLineItemProductVariantAttribute (Maybe Text)
data OrdersCustomBatchResponseEntry

-- | Creates a value of <a>OrdersCustomBatchResponseEntry</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>oKind</a></li>
--   <li><a>oExecutionStatus</a></li>
--   <li><a>oErrors</a></li>
--   <li><a>oOrder</a></li>
--   <li><a>oBatchId</a></li>
--   </ul>
ordersCustomBatchResponseEntry :: OrdersCustomBatchResponseEntry

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#ordersCustomBatchResponseEntry".
oKind :: Lens' OrdersCustomBatchResponseEntry Text

-- | The status of the execution. Only defined if the method is not get or
--   getByMerchantOrderId and if the request was successful.
oExecutionStatus :: Lens' OrdersCustomBatchResponseEntry (Maybe Text)

-- | A list of errors defined if and only if the request failed.
oErrors :: Lens' OrdersCustomBatchResponseEntry (Maybe Errors)

-- | The retrieved order. Only defined if the method is get and if the
--   request was successful.
oOrder :: Lens' OrdersCustomBatchResponseEntry (Maybe Order)

-- | The ID of the request entry this entry responds to.
oBatchId :: Lens' OrdersCustomBatchResponseEntry (Maybe Word32)

-- | A carrier-calculated shipping rate.
--   
--   <i>See:</i> <a>accountShippingCarrierRate</a> smart constructor.
data AccountShippingCarrierRate

-- | Creates a value of <a>AccountShippingCarrierRate</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ascrCarrier</a></li>
--   <li><a>ascrSaleCountry</a></li>
--   <li><a>ascrShippingOrigin</a></li>
--   <li><a>ascrCarrierService</a></li>
--   <li><a>ascrModifierPercent</a></li>
--   <li><a>ascrName</a></li>
--   <li><a>ascrModifierFlatRate</a></li>
--   </ul>
accountShippingCarrierRate :: AccountShippingCarrierRate

-- | The carrier that is responsible for the shipping, such as "UPS",
--   "FedEx", or "USPS".
ascrCarrier :: Lens' AccountShippingCarrierRate (Maybe Text)

-- | The sale country for which this carrier rate is valid, represented as
--   a CLDR territory code.
ascrSaleCountry :: Lens' AccountShippingCarrierRate (Maybe Text)

-- | Shipping origin represented as a postal code.
ascrShippingOrigin :: Lens' AccountShippingCarrierRate (Maybe Text)

-- | The carrier service, such as "Ground" or "2Day".
ascrCarrierService :: Lens' AccountShippingCarrierRate (Maybe Text)

-- | Multiplicative shipping rate modifier in percent. Represented as a
--   floating point number without the percentage character.
ascrModifierPercent :: Lens' AccountShippingCarrierRate (Maybe Text)

-- | The name of the carrier rate.
ascrName :: Lens' AccountShippingCarrierRate (Maybe Text)

-- | Additive shipping rate modifier.
ascrModifierFlatRate :: Lens' AccountShippingCarrierRate (Maybe Price)
data RateGroup

-- | Creates a value of <a>RateGroup</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rgCarrierRates</a></li>
--   <li><a>rgApplicableShippingLabels</a></li>
--   <li><a>rgMainTable</a></li>
--   <li><a>rgSingleValue</a></li>
--   <li><a>rgSubtables</a></li>
--   </ul>
rateGroup :: RateGroup

-- | A list of carrier rates that can be referred to by mainTable or
--   singleValue.
rgCarrierRates :: Lens' RateGroup [CarrierRate]

-- | 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.
rgApplicableShippingLabels :: Lens' RateGroup [Text]

-- | A table defining the rate group, when singleValue is not expressive
--   enough. Can only be set if singleValue is not set.
rgMainTable :: Lens' RateGroup (Maybe Table)

-- | The value of the rate group (e.g. flat rate $10). Can only be set if
--   mainTable and subtables are not set.
rgSingleValue :: Lens' RateGroup (Maybe Value)

-- | A list of subtables referred to by mainTable. Can only be set if
--   mainTable is set.
rgSubtables :: Lens' RateGroup [Table]
data OrderPromotion

-- | Creates a value of <a>OrderPromotion</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>opEffectiveDates</a></li>
--   <li><a>opGenericRedemptionCode</a></li>
--   <li><a>opRedemptionChannel</a></li>
--   <li><a>opBenefits</a></li>
--   <li><a>opLongTitle</a></li>
--   <li><a>opId</a></li>
--   <li><a>opProductApplicability</a></li>
--   </ul>
orderPromotion :: OrderPromotion

-- | The date and time frame when the promotion is active and ready for
--   validation review. Note that the promotion live time may be delayed
--   for a few hours due to the validation review. Start date and end date
--   are separated by a forward slash (/). The start date is specified by
--   the format (YYYY-MM-DD), followed by the letter ?T?, the time of the
--   day when the sale starts (in Greenwich Mean Time, GMT), followed by an
--   expression of the time zone for the sale. The end date is in the same
--   format.
opEffectiveDates :: Lens' OrderPromotion (Maybe Text)

-- | Optional. The text code that corresponds to the promotion when applied
--   on the retailer?s website.
opGenericRedemptionCode :: Lens' OrderPromotion (Maybe Text)

-- | Indicates that the promotion is valid online.
opRedemptionChannel :: Lens' OrderPromotion (Maybe Text)
opBenefits :: Lens' OrderPromotion [OrderPromotionBenefit]

-- | The full title of the promotion.
opLongTitle :: Lens' OrderPromotion (Maybe Text)

-- | The unique ID of the promotion.
opId :: Lens' OrderPromotion (Maybe Text)

-- | Whether the promotion is applicable to all products or only specific
--   products.
opProductApplicability :: Lens' OrderPromotion (Maybe Text)
data Price

-- | Creates a value of <a>Price</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pValue</a></li>
--   <li><a>pCurrency</a></li>
--   </ul>
price :: Price

-- | The price represented as a number.
pValue :: Lens' Price (Maybe Text)

-- | The currency of the price.
pCurrency :: Lens' Price (Maybe Text)
data OrderLineItemShippingDetails

-- | Creates a value of <a>OrderLineItemShippingDetails</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>olisdShipByDate</a></li>
--   <li><a>olisdMethod</a></li>
--   <li><a>olisdDeliverByDate</a></li>
--   </ul>
orderLineItemShippingDetails :: OrderLineItemShippingDetails

-- | The ship by date, in ISO 8601 format.
olisdShipByDate :: Lens' OrderLineItemShippingDetails (Maybe Text)

-- | Details of the shipping method.
olisdMethod :: Lens' OrderLineItemShippingDetails (Maybe OrderLineItemShippingDetailsMethod)

-- | The delivery by date, in ISO 8601 format.
olisdDeliverByDate :: Lens' OrderLineItemShippingDetails (Maybe Text)
data DatafeedsCustomBatchResponse

-- | Creates a value of <a>DatafeedsCustomBatchResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>datEntries</a></li>
--   <li><a>datKind</a></li>
--   </ul>
datafeedsCustomBatchResponse :: DatafeedsCustomBatchResponse

-- | The result of the execution of the batch requests.
datEntries :: Lens' DatafeedsCustomBatchResponse [DatafeedsCustomBatchResponseEntry]

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#datafeedsCustomBatchResponse".
datKind :: Lens' DatafeedsCustomBatchResponse Text
data OrderDeliveryDetails

-- | Creates a value of <a>OrderDeliveryDetails</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>oddAddress</a></li>
--   <li><a>oddPhoneNumber</a></li>
--   </ul>
orderDeliveryDetails :: OrderDeliveryDetails

-- | The delivery address
oddAddress :: Lens' OrderDeliveryDetails (Maybe OrderAddress)

-- | The phone number of the person receiving the delivery.
oddPhoneNumber :: Lens' OrderDeliveryDetails (Maybe Text)
data OrdersCancelResponse

-- | Creates a value of <a>OrdersCancelResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ocrKind</a></li>
--   <li><a>ocrExecutionStatus</a></li>
--   </ul>
ordersCancelResponse :: OrdersCancelResponse

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#ordersCancelResponse".
ocrKind :: Lens' OrdersCancelResponse Text

-- | The status of the execution.
ocrExecutionStatus :: Lens' OrdersCancelResponse (Maybe Text)
data TestOrder

-- | Creates a value of <a>TestOrder</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>toKind</a></li>
--   <li><a>toLineItems</a></li>
--   <li><a>toShippingOption</a></li>
--   <li><a>toPredefinedDeliveryAddress</a></li>
--   <li><a>toShippingCostTax</a></li>
--   <li><a>toCustomer</a></li>
--   <li><a>toPaymentMethod</a></li>
--   <li><a>toPromotions</a></li>
--   <li><a>toShippingCost</a></li>
--   </ul>
testOrder :: TestOrder

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#testOrder".
toKind :: Lens' TestOrder Text

-- | Line items that are ordered. At least one line item must be provided.
toLineItems :: Lens' TestOrder [TestOrderLineItem]

-- | The requested shipping option.
toShippingOption :: Lens' TestOrder (Maybe Text)

-- | Identifier of one of the predefined delivery addresses for the
--   delivery.
toPredefinedDeliveryAddress :: Lens' TestOrder (Maybe Text)

-- | The tax for the total shipping cost.
toShippingCostTax :: Lens' TestOrder (Maybe Price)

-- | The details of the customer who placed the order.
toCustomer :: Lens' TestOrder (Maybe TestOrderCustomer)

-- | The details of the payment method.
toPaymentMethod :: Lens' TestOrder (Maybe TestOrderPaymentMethod)

-- | The details of the merchant provided promotions applied to the order.
--   More details about the program are here.
toPromotions :: Lens' TestOrder [OrderPromotion]

-- | The total cost of shipping for all items.
toShippingCost :: Lens' TestOrder (Maybe Price)

-- | A batch entry encoding a single non-batch datafeedstatuses response.
--   
--   <i>See:</i> <a>datafeedstatusesCustomBatchResponseEntry</a> smart
--   constructor.
data DatafeedstatusesCustomBatchResponseEntry

-- | Creates a value of <a>DatafeedstatusesCustomBatchResponseEntry</a>
--   with the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>datErrors</a></li>
--   <li><a>datDatafeedStatus</a></li>
--   <li><a>datBatchId</a></li>
--   </ul>
datafeedstatusesCustomBatchResponseEntry :: DatafeedstatusesCustomBatchResponseEntry

-- | A list of errors defined if and only if the request failed.
datErrors :: Lens' DatafeedstatusesCustomBatchResponseEntry (Maybe Errors)

-- | The requested data feed status. Defined if and only if the request was
--   successful.
datDatafeedStatus :: Lens' DatafeedstatusesCustomBatchResponseEntry (Maybe DatafeedStatus)

-- | The ID of the request entry this entry responds to.
datBatchId :: Lens' DatafeedstatusesCustomBatchResponseEntry (Maybe Word32)
data OrderRefund

-- | Creates a value of <a>OrderRefund</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>oAmount</a></li>
--   <li><a>oActor</a></li>
--   <li><a>oReason</a></li>
--   <li><a>oCreationDate</a></li>
--   <li><a>oReasonText</a></li>
--   </ul>
orderRefund :: OrderRefund

-- | The amount that is refunded.
oAmount :: Lens' OrderRefund (Maybe Price)

-- | The actor that created the refund.
oActor :: Lens' OrderRefund (Maybe Text)

-- | The reason for the refund.
oReason :: Lens' OrderRefund (Maybe Text)

-- | Date on which the item has been created, in ISO 8601 format.
oCreationDate :: Lens' OrderRefund (Maybe Text)

-- | The explanation of the reason.
oReasonText :: Lens' OrderRefund (Maybe Text)
data TestOrderLineItemProduct

-- | Creates a value of <a>TestOrderLineItemProduct</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tolipImageLink</a></li>
--   <li><a>tolipChannel</a></li>
--   <li><a>tolipBrand</a></li>
--   <li><a>tolipTargetCountry</a></li>
--   <li><a>tolipGtin</a></li>
--   <li><a>tolipItemGroupId</a></li>
--   <li><a>tolipOfferId</a></li>
--   <li><a>tolipPrice</a></li>
--   <li><a>tolipVariantAttributes</a></li>
--   <li><a>tolipTitle</a></li>
--   <li><a>tolipContentLanguage</a></li>
--   <li><a>tolipMpn</a></li>
--   <li><a>tolipCondition</a></li>
--   </ul>
testOrderLineItemProduct :: TestOrderLineItemProduct

-- | URL of an image of the item.
tolipImageLink :: Lens' TestOrderLineItemProduct (Maybe Text)

-- | The item's channel.
tolipChannel :: Lens' TestOrderLineItemProduct (Maybe Text)

-- | Brand of the item.
tolipBrand :: Lens' TestOrderLineItemProduct (Maybe Text)

-- | The CLDR territory code of the target country of the product.
tolipTargetCountry :: Lens' TestOrderLineItemProduct (Maybe Text)

-- | Global Trade Item Number (GTIN) of the item. Optional.
tolipGtin :: Lens' TestOrderLineItemProduct (Maybe Text)

-- | Shared identifier for all variants of the same product. Optional.
tolipItemGroupId :: Lens' TestOrderLineItemProduct (Maybe Text)

-- | An identifier of the item.
tolipOfferId :: Lens' TestOrderLineItemProduct (Maybe Text)

-- | The price for the product.
tolipPrice :: Lens' TestOrderLineItemProduct (Maybe Price)

-- | Variant attributes for the item. Optional.
tolipVariantAttributes :: Lens' TestOrderLineItemProduct [OrderLineItemProductVariantAttribute]

-- | The title of the product.
tolipTitle :: Lens' TestOrderLineItemProduct (Maybe Text)

-- | The two-letter ISO 639-1 language code for the item.
tolipContentLanguage :: Lens' TestOrderLineItemProduct (Maybe Text)

-- | Manufacturer Part Number (MPN) of the item. Optional.
tolipMpn :: Lens' TestOrderLineItemProduct (Maybe Text)

-- | Condition or state of the item.
tolipCondition :: Lens' TestOrderLineItemProduct (Maybe Text)
data AccounttaxCustomBatchResponse

-- | Creates a value of <a>AccounttaxCustomBatchResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>a2Entries</a></li>
--   <li><a>a2Kind</a></li>
--   </ul>
accounttaxCustomBatchResponse :: AccounttaxCustomBatchResponse

-- | The result of the execution of the batch requests.
a2Entries :: Lens' AccounttaxCustomBatchResponse [AccounttaxCustomBatchResponseEntry]

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#accounttaxCustomBatchResponse".
a2Kind :: Lens' AccounttaxCustomBatchResponse Text

-- | A batch entry encoding a single non-batch inventory request.
--   
--   <i>See:</i> <a>inventoryCustomBatchRequestEntry</a> smart constructor.
data InventoryCustomBatchRequestEntry

-- | Creates a value of <a>InventoryCustomBatchRequestEntry</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iMerchantId</a></li>
--   <li><a>iStoreCode</a></li>
--   <li><a>iInventory</a></li>
--   <li><a>iProductId</a></li>
--   <li><a>iBatchId</a></li>
--   </ul>
inventoryCustomBatchRequestEntry :: InventoryCustomBatchRequestEntry

-- | The ID of the managing account.
iMerchantId :: Lens' InventoryCustomBatchRequestEntry (Maybe Word64)

-- | The code of the store for which to update price and availability. Use
--   online to update price and availability of an online product.
iStoreCode :: Lens' InventoryCustomBatchRequestEntry (Maybe Text)

-- | Price and availability of the product.
iInventory :: Lens' InventoryCustomBatchRequestEntry (Maybe Inventory)

-- | The ID of the product for which to update price and availability.
iProductId :: Lens' InventoryCustomBatchRequestEntry (Maybe Text)

-- | An entry ID, unique within the batch request.
iBatchId :: Lens' InventoryCustomBatchRequestEntry (Maybe Word32)
data OrderAddress

-- | Creates a value of <a>OrderAddress</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>oaRecipientName</a></li>
--   <li><a>oaStreetAddress</a></li>
--   <li><a>oaCountry</a></li>
--   <li><a>oaPostalCode</a></li>
--   <li><a>oaLocality</a></li>
--   <li><a>oaIsPostOfficeBox</a></li>
--   <li><a>oaFullAddress</a></li>
--   <li><a>oaRegion</a></li>
--   </ul>
orderAddress :: OrderAddress

-- | Name of the recipient.
oaRecipientName :: Lens' OrderAddress (Maybe Text)

-- | Street-level part of the address.
oaStreetAddress :: Lens' OrderAddress [Text]

-- | CLDR country code (e.g. "US").
oaCountry :: Lens' OrderAddress (Maybe Text)

-- | Postal Code or ZIP (e.g. "94043").
oaPostalCode :: Lens' OrderAddress (Maybe Text)

-- | City, town or commune. May also include dependent localities or
--   sublocalities (e.g. neighborhoods or suburbs).
oaLocality :: Lens' OrderAddress (Maybe Text)

-- | Whether the address is a post office box.
oaIsPostOfficeBox :: Lens' OrderAddress (Maybe Bool)

-- | Strings representing the lines of the printed label for mailing the
--   order, for example: John Smith 1600 Amphitheatre Parkway Mountain
--   View, CA, 94043 United States
oaFullAddress :: Lens' OrderAddress [Text]

-- | Top-level administrative subdivision of the country (e.g. "CA").
oaRegion :: Lens' OrderAddress (Maybe Text)
data ProductUnitPricingBaseMeasure

-- | Creates a value of <a>ProductUnitPricingBaseMeasure</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pupbmValue</a></li>
--   <li><a>pupbmUnit</a></li>
--   </ul>
productUnitPricingBaseMeasure :: ProductUnitPricingBaseMeasure

-- | The denominator of the unit price.
pupbmValue :: Lens' ProductUnitPricingBaseMeasure (Maybe Int64)

-- | The unit of the denominator.
pupbmUnit :: Lens' ProductUnitPricingBaseMeasure (Maybe Text)
data AccountShippingCondition

-- | Creates a value of <a>AccountShippingCondition</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ascWeightMax</a></li>
--   <li><a>ascDeliveryPostalCode</a></li>
--   <li><a>ascDeliveryLocationGroup</a></li>
--   <li><a>ascPriceMax</a></li>
--   <li><a>ascShippingLabel</a></li>
--   <li><a>ascDeliveryLocationId</a></li>
--   <li><a>ascDeliveryPostalCodeRange</a></li>
--   </ul>
accountShippingCondition :: AccountShippingCondition

-- | Maximum shipping weight. Forms an interval between the maximum of
--   smaller weight (exclusive) and this weight (inclusive).
ascWeightMax :: Lens' AccountShippingCondition (Maybe Weight)

-- | Delivery location in terms of a postal code.
ascDeliveryPostalCode :: Lens' AccountShippingCondition (Maybe Text)

-- | Delivery location in terms of a location group name. A location group
--   with this name must be specified among location groups.
ascDeliveryLocationGroup :: Lens' AccountShippingCondition (Maybe Text)

-- | Maximum shipping price. Forms an interval between the maximum of
--   smaller prices (exclusive) and this price (inclusive).
ascPriceMax :: Lens' AccountShippingCondition (Maybe Price)

-- | Shipping label of the product. The products with the label are
--   matched.
ascShippingLabel :: Lens' AccountShippingCondition (Maybe Text)

-- | Delivery location in terms of a location ID. Can be used to represent
--   administrative areas, smaller country subdivisions, or cities.
ascDeliveryLocationId :: Lens' AccountShippingCondition (Maybe Int64)

-- | Delivery location in terms of a postal code range.
ascDeliveryPostalCodeRange :: Lens' AccountShippingCondition (Maybe AccountShippingPostalCodeRange)
data DatafeedsListResponse

-- | Creates a value of <a>DatafeedsListResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dlrNextPageToken</a></li>
--   <li><a>dlrKind</a></li>
--   <li><a>dlrResources</a></li>
--   </ul>
datafeedsListResponse :: DatafeedsListResponse

-- | The token for the retrieval of the next page of datafeeds.
dlrNextPageToken :: Lens' DatafeedsListResponse (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#datafeedsListResponse".
dlrKind :: Lens' DatafeedsListResponse Text
dlrResources :: Lens' DatafeedsListResponse [Datafeed]

-- | A batch entry encoding a single non-batch products response.
--   
--   <i>See:</i> <a>productsCustomBatchResponseEntry</a> smart constructor.
data ProductsCustomBatchResponseEntry

-- | Creates a value of <a>ProductsCustomBatchResponseEntry</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>proKind</a></li>
--   <li><a>proProduct</a></li>
--   <li><a>proErrors</a></li>
--   <li><a>proBatchId</a></li>
--   </ul>
productsCustomBatchResponseEntry :: ProductsCustomBatchResponseEntry

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#productsCustomBatchResponseEntry".
proKind :: Lens' ProductsCustomBatchResponseEntry Text

-- | The inserted product. Only defined if the method is insert and if the
--   request was successful.
proProduct :: Lens' ProductsCustomBatchResponseEntry (Maybe Product)

-- | A list of errors defined if and only if the request failed.
proErrors :: Lens' ProductsCustomBatchResponseEntry (Maybe Errors)

-- | The ID of the request entry this entry responds to.
proBatchId :: Lens' ProductsCustomBatchResponseEntry (Maybe Word32)
data OrderPaymentMethod

-- | Creates a value of <a>OrderPaymentMethod</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>opmExpirationMonth</a></li>
--   <li><a>opmExpirationYear</a></li>
--   <li><a>opmPhoneNumber</a></li>
--   <li><a>opmBillingAddress</a></li>
--   <li><a>opmLastFourDigits</a></li>
--   <li><a>opmType</a></li>
--   </ul>
orderPaymentMethod :: OrderPaymentMethod

-- | The card expiration month (January = 1, February = 2 etc.).
opmExpirationMonth :: Lens' OrderPaymentMethod (Maybe Int32)

-- | The card expiration year (4-digit, e.g. 2015).
opmExpirationYear :: Lens' OrderPaymentMethod (Maybe Int32)

-- | The billing phone number.
opmPhoneNumber :: Lens' OrderPaymentMethod (Maybe Text)

-- | The billing address.
opmBillingAddress :: Lens' OrderPaymentMethod (Maybe OrderAddress)

-- | The last four digits of the card number.
opmLastFourDigits :: Lens' OrderPaymentMethod (Maybe Text)

-- | The type of instrument (VISA, Mastercard, etc).
opmType :: Lens' OrderPaymentMethod (Maybe Text)

-- | Product data.
--   
--   <i>See:</i> <a>product</a> smart constructor.
data Product

-- | Creates a value of <a>Product</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ppDisplayAdsLink</a></li>
--   <li><a>ppCustomLabel1</a></li>
--   <li><a>ppShippingWidth</a></li>
--   <li><a>ppCustomGroups</a></li>
--   <li><a>ppImageLink</a></li>
--   <li><a>ppDisplayAdsValue</a></li>
--   <li><a>ppLoyaltyPoints</a></li>
--   <li><a>ppAdditionalImageLinks</a></li>
--   <li><a>ppValidatedDestinations</a></li>
--   <li><a>ppColor</a></li>
--   <li><a>ppCustomLabel0</a></li>
--   <li><a>ppKind</a></li>
--   <li><a>ppMultipack</a></li>
--   <li><a>ppPattern</a></li>
--   <li><a>ppLink</a></li>
--   <li><a>ppSizeSystem</a></li>
--   <li><a>ppUnitPricingBaseMeasure</a></li>
--   <li><a>ppTaxes</a></li>
--   <li><a>ppMaterial</a></li>
--   <li><a>ppInstallment</a></li>
--   <li><a>ppChannel</a></li>
--   <li><a>ppProductType</a></li>
--   <li><a>ppIdentifierExists</a></li>
--   <li><a>ppOnlineOnly</a></li>
--   <li><a>ppBrand</a></li>
--   <li><a>ppUnitPricingMeasure</a></li>
--   <li><a>ppSalePrice</a></li>
--   <li><a>ppShippingLength</a></li>
--   <li><a>ppCustomLabel3</a></li>
--   <li><a>ppWarnings</a></li>
--   <li><a>ppAdditionalProductTypes</a></li>
--   <li><a>ppAvailability</a></li>
--   <li><a>ppTargetCountry</a></li>
--   <li><a>ppShippingLabel</a></li>
--   <li><a>ppCustomAttributes</a></li>
--   <li><a>ppGtin</a></li>
--   <li><a>ppAgeGroup</a></li>
--   <li><a>ppDisplayAdsTitle</a></li>
--   <li><a>ppGender</a></li>
--   <li><a>ppDestinations</a></li>
--   <li><a>ppExpirationDate</a></li>
--   <li><a>ppItemGroupId</a></li>
--   <li><a>ppAdwordsGrouping</a></li>
--   <li><a>ppSalePriceEffectiveDate</a></li>
--   <li><a>ppCustomLabel2</a></li>
--   <li><a>ppGoogleProductCategory</a></li>
--   <li><a>ppShipping</a></li>
--   <li><a>ppAdwordsRedirect</a></li>
--   <li><a>ppShippingWeight</a></li>
--   <li><a>ppSellOnGoogleQuantity</a></li>
--   <li><a>ppShippingHeight</a></li>
--   <li><a>ppAvailabilityDate</a></li>
--   <li><a>ppOfferId</a></li>
--   <li><a>ppId</a></li>
--   <li><a>ppAdwordsLabels</a></li>
--   <li><a>ppPrice</a></li>
--   <li><a>ppPromotionIds</a></li>
--   <li><a>ppSizeType</a></li>
--   <li><a>ppMobileLink</a></li>
--   <li><a>ppTitle</a></li>
--   <li><a>ppAdult</a></li>
--   <li><a>ppContentLanguage</a></li>
--   <li><a>ppAspects</a></li>
--   <li><a>ppEnergyEfficiencyClass</a></li>
--   <li><a>ppDisplayAdsSimilarIds</a></li>
--   <li><a>ppMpn</a></li>
--   <li><a>ppCondition</a></li>
--   <li><a>ppSizes</a></li>
--   <li><a>ppIsBundle</a></li>
--   <li><a>ppDescription</a></li>
--   <li><a>ppCustomLabel4</a></li>
--   <li><a>ppDisplayAdsId</a></li>
--   </ul>
product :: Product

-- | URL directly to your item's landing page for dynamic remarketing
--   campaigns.
ppDisplayAdsLink :: Lens' Product (Maybe Text)

-- | Custom label 1 for custom grouping of items in a Shopping campaign.
ppCustomLabel1 :: Lens' Product (Maybe Text)

-- | Width of the item for shipping.
ppShippingWidth :: Lens' Product (Maybe ProductShippingDimension)

-- | A list of custom (merchant-provided) custom attribute groups.
ppCustomGroups :: Lens' Product [ProductCustomGroup]

-- | URL of an image of the item.
ppImageLink :: Lens' Product (Maybe Text)

-- | Offer margin for dynamic remarketing campaigns.
ppDisplayAdsValue :: Lens' Product (Maybe Double)

-- | Loyalty points that users receive after purchasing the item. Japan
--   only.
ppLoyaltyPoints :: Lens' Product (Maybe LoyaltyPoints)

-- | Additional URLs of images of the item.
ppAdditionalImageLinks :: Lens' Product [Text]

-- | The read-only list of intended destinations which passed validation.
ppValidatedDestinations :: Lens' Product [Text]

-- | Color of the item.
ppColor :: Lens' Product (Maybe Text)

-- | Custom label 0 for custom grouping of items in a Shopping campaign.
ppCustomLabel0 :: Lens' Product (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#product".
ppKind :: Lens' Product Text

-- | The number of identical products in a merchant-defined multipack.
ppMultipack :: Lens' Product (Maybe Int64)

-- | The item's pattern (e.g. polka dots).
ppPattern :: Lens' Product (Maybe Text)

-- | URL directly linking to your item's page on your website.
ppLink :: Lens' Product (Maybe Text)

-- | System in which the size is specified. Recommended for apparel items.
ppSizeSystem :: Lens' Product (Maybe Text)

-- | The preference of the denominator of the unit price.
ppUnitPricingBaseMeasure :: Lens' Product (Maybe ProductUnitPricingBaseMeasure)

-- | Tax information.
ppTaxes :: Lens' Product [ProductTax]

-- | The material of which the item is made.
ppMaterial :: Lens' Product (Maybe Text)

-- | Number and amount of installments to pay for an item. Brazil only.
ppInstallment :: Lens' Product (Maybe Installment)

-- | The item's channel (online or local).
ppChannel :: Lens' Product (Maybe Text)

-- | Your category of the item (formatted as in products feed
--   specification).
ppProductType :: Lens' Product (Maybe Text)

-- | False when the item does not have unique product identifiers
--   appropriate to its category, such as GTIN, MPN, and brand. Required
--   according to the Unique Product Identifier Rules for all target
--   countries except for Canada.
ppIdentifierExists :: Lens' Product (Maybe Bool)

-- | Whether an item is available for purchase only online.
ppOnlineOnly :: Lens' Product (Maybe Bool)

-- | Brand of the item.
ppBrand :: Lens' Product (Maybe Text)

-- | The measure and dimension of an item.
ppUnitPricingMeasure :: Lens' Product (Maybe ProductUnitPricingMeasure)

-- | Advertised sale price of the item.
ppSalePrice :: Lens' Product (Maybe Price)

-- | Length of the item for shipping.
ppShippingLength :: Lens' Product (Maybe ProductShippingDimension)

-- | Custom label 3 for custom grouping of items in a Shopping campaign.
ppCustomLabel3 :: Lens' Product (Maybe Text)

-- | Read-only warnings.
ppWarnings :: Lens' Product [Error']

-- | Additional categories of the item (formatted as in products feed
--   specification).
ppAdditionalProductTypes :: Lens' Product [Text]

-- | Availability status of the item.
ppAvailability :: Lens' Product (Maybe Text)

-- | The CLDR territory code for the item.
ppTargetCountry :: Lens' Product (Maybe Text)

-- | The shipping label of the product, used to group product in
--   account-level shipping rules.
ppShippingLabel :: Lens' Product (Maybe Text)

-- | A list of custom (merchant-provided) attributes. It can also be used
--   for submitting any attribute of the feed specification in its generic
--   form (e.g., { "name": "size type", "type": "text", "value": "regular"
--   }). This is useful for submitting attributes not explicitly exposed by
--   the API.
ppCustomAttributes :: Lens' Product [ProductCustomAttribute]

-- | Global Trade Item Number (GTIN) of the item.
ppGtin :: Lens' Product (Maybe Text)

-- | Target age group of the item.
ppAgeGroup :: Lens' Product (Maybe Text)

-- | Title of an item for dynamic remarketing campaigns.
ppDisplayAdsTitle :: Lens' Product (Maybe Text)

-- | Target gender of the item.
ppGender :: Lens' Product (Maybe Text)

-- | Specifies the intended destinations for the product.
ppDestinations :: Lens' Product [ProductDestination]

-- | Date on which the item should expire, as specified upon insertion, in
--   ISO 8601 format. The actual expiration date in Google Shopping is
--   exposed in productstatuses as googleExpirationDate and might be
--   earlier if expirationDate is too far in the future.
ppExpirationDate :: Lens' Product (Maybe Text)

-- | Shared identifier for all variants of the same product.
ppItemGroupId :: Lens' Product (Maybe Text)

-- | Used to group items in an arbitrary way. Only for CPA%, discouraged
--   otherwise.
ppAdwordsGrouping :: Lens' Product (Maybe Text)

-- | Date range during which the item is on sale (see products feed
--   specification).
ppSalePriceEffectiveDate :: Lens' Product (Maybe Text)

-- | Custom label 2 for custom grouping of items in a Shopping campaign.
ppCustomLabel2 :: Lens' Product (Maybe Text)

-- | Google's category of the item (see Google product taxonomy).
ppGoogleProductCategory :: Lens' Product (Maybe Text)

-- | Shipping rules.
ppShipping :: Lens' Product [ProductShipping]

-- | Allows advertisers to override the item URL when the product is shown
--   within the context of Product Ads.
ppAdwordsRedirect :: Lens' Product (Maybe Text)

-- | Weight of the item for shipping.
ppShippingWeight :: Lens' Product (Maybe ProductShippingWeight)

-- | The quantity of the product that is reserved for sell-on-google ads.
ppSellOnGoogleQuantity :: Lens' Product (Maybe Int64)

-- | Height of the item for shipping.
ppShippingHeight :: Lens' Product (Maybe ProductShippingDimension)

-- | The day a pre-ordered product becomes available for delivery, in ISO
--   8601 format.
ppAvailabilityDate :: Lens' Product (Maybe Text)

-- | An identifier of the item. Leading and trailing whitespaces are
--   stripped and multiple whitespaces are replaced by a single whitespace
--   upon submission. Only valid unicode characters are accepted. See the
--   products feed specification for details.
ppOfferId :: Lens' Product (Maybe Text)

-- | The REST id of the product.
ppId :: Lens' Product (Maybe Text)

-- | Similar to adwords_grouping, but only works on CPC.
ppAdwordsLabels :: Lens' Product [Text]

-- | Price of the item.
ppPrice :: Lens' Product (Maybe Price)

-- | The unique ID of a promotion.
ppPromotionIds :: Lens' Product [Text]

-- | The cut of the item. Recommended for apparel items.
ppSizeType :: Lens' Product (Maybe Text)

-- | Link to a mobile-optimized version of the landing page.
ppMobileLink :: Lens' Product (Maybe Text)

-- | Title of the item.
ppTitle :: Lens' Product (Maybe Text)

-- | Set to true if the item is targeted towards adults.
ppAdult :: Lens' Product (Maybe Bool)

-- | The two-letter ISO 639-1 language code for the item.
ppContentLanguage :: Lens' Product (Maybe Text)

-- | Specifies the intended aspects for the product.
ppAspects :: Lens' Product [ProductAspect]

-- | The energy efficiency class as defined in EU directive 2010/30/EU.
ppEnergyEfficiencyClass :: Lens' Product (Maybe Text)

-- | Advertiser-specified recommendations.
ppDisplayAdsSimilarIds :: Lens' Product [Text]

-- | Manufacturer Part Number (MPN) of the item.
ppMpn :: Lens' Product (Maybe Text)

-- | Condition or state of the item.
ppCondition :: Lens' Product (Maybe Text)

-- | Size of the item.
ppSizes :: Lens' Product [Text]

-- | Whether the item is a merchant-defined bundle. A bundle is a custom
--   grouping of different products sold by a merchant for a single price.
ppIsBundle :: Lens' Product (Maybe Bool)

-- | Description of the item.
ppDescription :: Lens' Product (Maybe Text)

-- | Custom label 4 for custom grouping of items in a Shopping campaign.
ppCustomLabel4 :: Lens' Product (Maybe Text)

-- | An identifier for an item for dynamic remarketing campaigns.
ppDisplayAdsId :: Lens' Product (Maybe Text)

-- | A list of errors returned by a failed batch entry.
--   
--   <i>See:</i> <a>errors</a> smart constructor.
data Errors

-- | Creates a value of <a>Errors</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>errCode</a></li>
--   <li><a>errMessage</a></li>
--   <li><a>errErrors</a></li>
--   </ul>
errors :: Errors

-- | The HTTP status of the first error in errors.
errCode :: Lens' Errors (Maybe Word32)

-- | The message of the first error in errors.
errMessage :: Lens' Errors (Maybe Text)

-- | A list of errors.
errErrors :: Lens' Errors [Error']

-- | A batch entry encoding a single non-batch accountstatuses response.
--   
--   <i>See:</i> <a>accountstatusesCustomBatchResponseEntry</a> smart
--   constructor.
data AccountstatusesCustomBatchResponseEntry

-- | Creates a value of <a>AccountstatusesCustomBatchResponseEntry</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>acccAccountStatus</a></li>
--   <li><a>acccErrors</a></li>
--   <li><a>acccBatchId</a></li>
--   </ul>
accountstatusesCustomBatchResponseEntry :: AccountstatusesCustomBatchResponseEntry

-- | The requested account status. Defined if and only if the request was
--   successful.
acccAccountStatus :: Lens' AccountstatusesCustomBatchResponseEntry (Maybe AccountStatus)

-- | A list of errors defined if and only if the request failed.
acccErrors :: Lens' AccountstatusesCustomBatchResponseEntry (Maybe Errors)

-- | The ID of the request entry this entry responds to.
acccBatchId :: Lens' AccountstatusesCustomBatchResponseEntry (Maybe Word32)
data InventorySetResponse

-- | Creates a value of <a>InventorySetResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>isrKind</a></li>
--   </ul>
inventorySetResponse :: InventorySetResponse

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#inventorySetResponse".
isrKind :: Lens' InventorySetResponse Text
data OrdersCancelLineItemResponse

-- | Creates a value of <a>OrdersCancelLineItemResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>oclirKind</a></li>
--   <li><a>oclirExecutionStatus</a></li>
--   </ul>
ordersCancelLineItemResponse :: OrdersCancelLineItemResponse

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#ordersCancelLineItemResponse".
oclirKind :: Lens' OrdersCancelLineItemResponse Text

-- | The status of the execution.
oclirExecutionStatus :: Lens' OrdersCancelLineItemResponse (Maybe Text)
data TestOrderLineItem

-- | Creates a value of <a>TestOrderLineItem</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>toliQuantityOrdered</a></li>
--   <li><a>toliReturnInfo</a></li>
--   <li><a>toliShippingDetails</a></li>
--   <li><a>toliProduct</a></li>
--   <li><a>toliUnitTax</a></li>
--   </ul>
testOrderLineItem :: TestOrderLineItem

-- | Number of items ordered.
toliQuantityOrdered :: Lens' TestOrderLineItem (Maybe Word32)

-- | Details of the return policy for the line item.
toliReturnInfo :: Lens' TestOrderLineItem (Maybe OrderLineItemReturnInfo)

-- | Details of the requested shipping for the line item.
toliShippingDetails :: Lens' TestOrderLineItem (Maybe OrderLineItemShippingDetails)

-- | Product data from the time of the order placement.
toliProduct :: Lens' TestOrderLineItem (Maybe TestOrderLineItemProduct)

-- | Unit tax for the line item.
toliUnitTax :: Lens' TestOrderLineItem (Maybe Price)

-- | A batch entry encoding a single non-batch productstatuses request.
--   
--   <i>See:</i> <a>productstatusesCustomBatchRequestEntry</a> smart
--   constructor.
data ProductstatusesCustomBatchRequestEntry

-- | Creates a value of <a>ProductstatusesCustomBatchRequestEntry</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pcbrecMerchantId</a></li>
--   <li><a>pcbrecMethod</a></li>
--   <li><a>pcbrecProductId</a></li>
--   <li><a>pcbrecBatchId</a></li>
--   </ul>
productstatusesCustomBatchRequestEntry :: ProductstatusesCustomBatchRequestEntry

-- | The ID of the managing account.
pcbrecMerchantId :: Lens' ProductstatusesCustomBatchRequestEntry (Maybe Word64)
pcbrecMethod :: Lens' ProductstatusesCustomBatchRequestEntry (Maybe Text)

-- | The ID of the product whose status to get.
pcbrecProductId :: Lens' ProductstatusesCustomBatchRequestEntry (Maybe Text)

-- | An entry ID, unique within the batch request.
pcbrecBatchId :: Lens' ProductstatusesCustomBatchRequestEntry (Maybe Word32)
data ShippingSettingsCustomBatchResponse

-- | Creates a value of <a>ShippingSettingsCustomBatchResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>shiEntries</a></li>
--   <li><a>shiKind</a></li>
--   </ul>
shippingSettingsCustomBatchResponse :: ShippingSettingsCustomBatchResponse

-- | The result of the execution of the batch requests.
shiEntries :: Lens' ShippingSettingsCustomBatchResponse [ShippingSettingsCustomBatchResponseEntry]

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#shippingsettingsCustomBatchResponse".
shiKind :: Lens' ShippingSettingsCustomBatchResponse Text

-- | A batch entry encoding a single non-batch accountshipping response.
--   
--   <i>See:</i> <a>accountshippingCustomBatchResponseEntry</a> smart
--   constructor.
data AccountshippingCustomBatchResponseEntry

-- | Creates a value of <a>AccountshippingCustomBatchResponseEntry</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>acbre1Kind</a></li>
--   <li><a>acbre1Errors</a></li>
--   <li><a>acbre1AccountShipping</a></li>
--   <li><a>acbre1BatchId</a></li>
--   </ul>
accountshippingCustomBatchResponseEntry :: AccountshippingCustomBatchResponseEntry

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#accountshippingCustomBatchResponseEntry".
acbre1Kind :: Lens' AccountshippingCustomBatchResponseEntry Text

-- | A list of errors defined if and only if the request failed.
acbre1Errors :: Lens' AccountshippingCustomBatchResponseEntry (Maybe Errors)

-- | The retrieved or updated account shipping settings.
acbre1AccountShipping :: Lens' AccountshippingCustomBatchResponseEntry (Maybe AccountShipping)

-- | The ID of the request entry this entry responds to.
acbre1BatchId :: Lens' AccountshippingCustomBatchResponseEntry (Maybe Word32)
data ProductAspect

-- | Creates a value of <a>ProductAspect</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>paIntention</a></li>
--   <li><a>paAspectName</a></li>
--   <li><a>paDestinationName</a></li>
--   </ul>
productAspect :: ProductAspect

-- | Whether the aspect is required, excluded or should be validated.
paIntention :: Lens' ProductAspect (Maybe Text)

-- | The name of the aspect.
paAspectName :: Lens' ProductAspect (Maybe Text)

-- | The name of the destination. Leave out to apply to all destinations.
paDestinationName :: Lens' ProductAspect (Maybe Text)

-- | The shipping settings of a merchant account.
--   
--   <i>See:</i> <a>accountShipping</a> smart constructor.
data AccountShipping

-- | Creates a value of <a>AccountShipping</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>assRateTables</a></li>
--   <li><a>assCarrierRates</a></li>
--   <li><a>assKind</a></li>
--   <li><a>assLocationGroups</a></li>
--   <li><a>assAccountId</a></li>
--   <li><a>assServices</a></li>
--   </ul>
accountShipping :: AccountShipping

-- | Rate tables definitions.
assRateTables :: Lens' AccountShipping [AccountShippingRateTable]

-- | Carrier-based shipping calculations.
assCarrierRates :: Lens' AccountShipping [AccountShippingCarrierRate]

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#accountShipping".
assKind :: Lens' AccountShipping Text

-- | Location groups for shipping.
assLocationGroups :: Lens' AccountShipping [AccountShippingLocationGroup]

-- | The ID of the account to which these account shipping settings belong.
assAccountId :: Lens' AccountShipping (Maybe Word64)

-- | Shipping services describing shipping fees calculation.
assServices :: Lens' AccountShipping [AccountShippingShippingService]
data OrdersUpdateMerchantOrderIdResponse

-- | Creates a value of <a>OrdersUpdateMerchantOrderIdResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>oumoirKind</a></li>
--   <li><a>oumoirExecutionStatus</a></li>
--   </ul>
ordersUpdateMerchantOrderIdResponse :: OrdersUpdateMerchantOrderIdResponse

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#ordersUpdateMerchantOrderIdResponse".
oumoirKind :: Lens' OrdersUpdateMerchantOrderIdResponse Text

-- | The status of the execution.
oumoirExecutionStatus :: Lens' OrdersUpdateMerchantOrderIdResponse (Maybe Text)
data InventoryPickup

-- | Creates a value of <a>InventoryPickup</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ipPickupSla</a></li>
--   <li><a>ipPickupMethod</a></li>
--   </ul>
inventoryPickup :: InventoryPickup

-- | The expected date that an order will be ready for pickup, relative to
--   when the order is placed. Only supported for local inventory. Must be
--   submitted together with pickupMethod.
ipPickupSla :: Lens' InventoryPickup (Maybe Text)

-- | Whether store pickup is available for this offer and whether the
--   pickup option should be shown as buy, reserve, or not supported. Only
--   supported for local inventory. Unless the value is "not supported",
--   must be submitted together with pickupSla.
ipPickupMethod :: Lens' InventoryPickup (Maybe Text)

-- | An example occurrence for a particular error.
--   
--   <i>See:</i> <a>datafeedStatusExample</a> smart constructor.
data DatafeedStatusExample

-- | Creates a value of <a>DatafeedStatusExample</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dseLineNumber</a></li>
--   <li><a>dseItemId</a></li>
--   <li><a>dseValue</a></li>
--   </ul>
datafeedStatusExample :: DatafeedStatusExample

-- | Line number in the data feed where the example is found.
dseLineNumber :: Lens' DatafeedStatusExample (Maybe Word64)

-- | The ID of the example item.
dseItemId :: Lens' DatafeedStatusExample (Maybe Text)

-- | The problematic value.
dseValue :: Lens' DatafeedStatusExample (Maybe Text)
data OrdersAcknowledgeResponse

-- | Creates a value of <a>OrdersAcknowledgeResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>oarKind</a></li>
--   <li><a>oarExecutionStatus</a></li>
--   </ul>
ordersAcknowledgeResponse :: OrdersAcknowledgeResponse

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#ordersAcknowledgeResponse".
oarKind :: Lens' OrdersAcknowledgeResponse Text

-- | The status of the execution.
oarExecutionStatus :: Lens' OrdersAcknowledgeResponse (Maybe Text)
data Table

-- | Creates a value of <a>Table</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tRows</a></li>
--   <li><a>tName</a></li>
--   <li><a>tColumnHeaders</a></li>
--   <li><a>tRowHeaders</a></li>
--   </ul>
table :: Table

-- | The list of rows that constitute the table. Must have the same length
--   as rowHeaders. Required.
tRows :: Lens' Table [Row]

-- | Name of the table. Required for subtables, ignored for the main table.
tName :: Lens' Table (Maybe Text)

-- | Headers of the table's columns. Optional: if not set then the table
--   has only one dimension.
tColumnHeaders :: Lens' Table (Maybe Headers)

-- | Headers of the table's rows. Required.
tRowHeaders :: Lens' Table (Maybe Headers)
data Order

-- | Creates a value of <a>Order</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ooStatus</a></li>
--   <li><a>ooMerchantId</a></li>
--   <li><a>ooRefunds</a></li>
--   <li><a>ooKind</a></li>
--   <li><a>ooLineItems</a></li>
--   <li><a>ooShipments</a></li>
--   <li><a>ooNetAmount</a></li>
--   <li><a>ooPlacedDate</a></li>
--   <li><a>ooDeliveryDetails</a></li>
--   <li><a>ooShippingOption</a></li>
--   <li><a>ooMerchantOrderId</a></li>
--   <li><a>ooAcknowledged</a></li>
--   <li><a>ooShippingCostTax</a></li>
--   <li><a>ooCustomer</a></li>
--   <li><a>ooId</a></li>
--   <li><a>ooPaymentMethod</a></li>
--   <li><a>ooPromotions</a></li>
--   <li><a>ooChannelType</a></li>
--   <li><a>ooPaymentStatus</a></li>
--   <li><a>ooShippingCost</a></li>
--   </ul>
order :: Order

-- | The status of the order.
ooStatus :: Lens' Order (Maybe Text)
ooMerchantId :: Lens' Order (Maybe Word64)

-- | Refunds for the order.
ooRefunds :: Lens' Order [OrderRefund]

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#order".
ooKind :: Lens' Order Text

-- | Line items that are ordered.
ooLineItems :: Lens' Order [OrderLineItem]

-- | Shipments of the order.
ooShipments :: Lens' Order [OrderShipment]

-- | The net amount for the order. For example, if an order was originally
--   for a grand total of $100 and a refund was issued for $20, the net
--   amount will be $80.
ooNetAmount :: Lens' Order (Maybe Price)

-- | The date when the order was placed, in ISO 8601 format.
ooPlacedDate :: Lens' Order (Maybe Text)

-- | The details for the delivery.
ooDeliveryDetails :: Lens' Order (Maybe OrderDeliveryDetails)

-- | The requested shipping option.
ooShippingOption :: Lens' Order (Maybe Text)

-- | Merchant-provided id of the order.
ooMerchantOrderId :: Lens' Order (Maybe Text)

-- | Whether the order was acknowledged.
ooAcknowledged :: Lens' Order (Maybe Bool)

-- | The tax for the total shipping cost.
ooShippingCostTax :: Lens' Order (Maybe Price)

-- | The details of the customer who placed the order.
ooCustomer :: Lens' Order (Maybe OrderCustomer)

-- | The REST id of the order. Globally unique.
ooId :: Lens' Order (Maybe Text)

-- | The details of the payment method.
ooPaymentMethod :: Lens' Order (Maybe OrderPaymentMethod)

-- | The details of the merchant provided promotions applied to the order.
--   More details about the program are here.
ooPromotions :: Lens' Order [OrderPromotion]

-- | The channel type of the order: "purchaseOnGoogle" or "googleExpress".
ooChannelType :: Lens' Order (Maybe Text)

-- | The status of the payment.
ooPaymentStatus :: Lens' Order (Maybe Text)

-- | The total cost of shipping for all items.
ooShippingCost :: Lens' Order (Maybe Price)
data InventoryCustomBatchResponse

-- | Creates a value of <a>InventoryCustomBatchResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>invEntries</a></li>
--   <li><a>invKind</a></li>
--   </ul>
inventoryCustomBatchResponse :: InventoryCustomBatchResponse

-- | The result of the execution of the batch requests.
invEntries :: Lens' InventoryCustomBatchResponse [InventoryCustomBatchResponseEntry]

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#inventoryCustomBatchResponse".
invKind :: Lens' InventoryCustomBatchResponse Text
data OrderLineItemProduct

-- | Creates a value of <a>OrderLineItemProduct</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>olipImageLink</a></li>
--   <li><a>olipShownImage</a></li>
--   <li><a>olipChannel</a></li>
--   <li><a>olipBrand</a></li>
--   <li><a>olipTargetCountry</a></li>
--   <li><a>olipGtin</a></li>
--   <li><a>olipItemGroupId</a></li>
--   <li><a>olipOfferId</a></li>
--   <li><a>olipId</a></li>
--   <li><a>olipPrice</a></li>
--   <li><a>olipVariantAttributes</a></li>
--   <li><a>olipTitle</a></li>
--   <li><a>olipContentLanguage</a></li>
--   <li><a>olipMpn</a></li>
--   <li><a>olipCondition</a></li>
--   </ul>
orderLineItemProduct :: OrderLineItemProduct

-- | URL of an image of the item.
olipImageLink :: Lens' OrderLineItemProduct (Maybe Text)

-- | URL to the cached image shown to the user when order was placed.
olipShownImage :: Lens' OrderLineItemProduct (Maybe Text)

-- | The item's channel (online or local).
olipChannel :: Lens' OrderLineItemProduct (Maybe Text)

-- | Brand of the item.
olipBrand :: Lens' OrderLineItemProduct (Maybe Text)

-- | The CLDR territory code of the target country of the product.
olipTargetCountry :: Lens' OrderLineItemProduct (Maybe Text)

-- | Global Trade Item Number (GTIN) of the item.
olipGtin :: Lens' OrderLineItemProduct (Maybe Text)

-- | Shared identifier for all variants of the same product.
olipItemGroupId :: Lens' OrderLineItemProduct (Maybe Text)

-- | An identifier of the item.
olipOfferId :: Lens' OrderLineItemProduct (Maybe Text)

-- | The REST id of the product.
olipId :: Lens' OrderLineItemProduct (Maybe Text)

-- | Price of the item.
olipPrice :: Lens' OrderLineItemProduct (Maybe Price)

-- | Variant attributes for the item. These are dimensions of the product,
--   such as color, gender, material, pattern, and size. You can find a
--   comprehensive list of variant attributes here.
olipVariantAttributes :: Lens' OrderLineItemProduct [OrderLineItemProductVariantAttribute]

-- | The title of the product.
olipTitle :: Lens' OrderLineItemProduct (Maybe Text)

-- | The two-letter ISO 639-1 language code for the item.
olipContentLanguage :: Lens' OrderLineItemProduct (Maybe Text)

-- | Manufacturer Part Number (MPN) of the item.
olipMpn :: Lens' OrderLineItemProduct (Maybe Text)

-- | Condition or state of the item.
olipCondition :: Lens' OrderLineItemProduct (Maybe Text)

-- | A batch entry encoding a single non-batch accounttax request.
--   
--   <i>See:</i> <a>accounttaxCustomBatchRequestEntry</a> smart
--   constructor.
data AccounttaxCustomBatchRequestEntry

-- | Creates a value of <a>AccounttaxCustomBatchRequestEntry</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>a2AccountTax</a></li>
--   <li><a>a2MerchantId</a></li>
--   <li><a>a2AccountId</a></li>
--   <li><a>a2Method</a></li>
--   <li><a>a2BatchId</a></li>
--   </ul>
accounttaxCustomBatchRequestEntry :: AccounttaxCustomBatchRequestEntry

-- | The account tax settings to update. Only defined if the method is
--   update.
a2AccountTax :: Lens' AccounttaxCustomBatchRequestEntry (Maybe AccountTax)

-- | The ID of the managing account.
a2MerchantId :: Lens' AccounttaxCustomBatchRequestEntry (Maybe Word64)

-- | The ID of the account for which to get/update account tax settings.
a2AccountId :: Lens' AccounttaxCustomBatchRequestEntry (Maybe Word64)
a2Method :: Lens' AccounttaxCustomBatchRequestEntry (Maybe Text)

-- | An entry ID, unique within the batch request.
a2BatchId :: Lens' AccounttaxCustomBatchRequestEntry (Maybe Word32)

-- | An error occurring in the feed, like "invalid price".
--   
--   <i>See:</i> <a>datafeedStatusError</a> smart constructor.
data DatafeedStatusError

-- | Creates a value of <a>DatafeedStatusError</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dseCount</a></li>
--   <li><a>dseCode</a></li>
--   <li><a>dseMessage</a></li>
--   <li><a>dseExamples</a></li>
--   </ul>
datafeedStatusError :: DatafeedStatusError

-- | The number of occurrences of the error in the feed.
dseCount :: Lens' DatafeedStatusError (Maybe Word64)

-- | The code of the error, e.g., "validation/invalid_value".
dseCode :: Lens' DatafeedStatusError (Maybe Text)

-- | The error message, e.g., "Invalid price".
dseMessage :: Lens' DatafeedStatusError (Maybe Text)

-- | A list of example occurrences of the error, grouped by product.
dseExamples :: Lens' DatafeedStatusError [DatafeedStatusExample]
data ProductsCustomBatchRequest

-- | Creates a value of <a>ProductsCustomBatchRequest</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pcbrcEntries</a></li>
--   </ul>
productsCustomBatchRequest :: ProductsCustomBatchRequest

-- | The request entries to be processed in the batch.
pcbrcEntries :: Lens' ProductsCustomBatchRequest [ProductsCustomBatchRequestEntry]
data OrdersCustomBatchRequestEntryReturnLineItem

-- | Creates a value of <a>OrdersCustomBatchRequestEntryReturnLineItem</a>
--   with the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ocbrerliQuantity</a></li>
--   <li><a>ocbrerliLineItemId</a></li>
--   <li><a>ocbrerliReason</a></li>
--   <li><a>ocbrerliReasonText</a></li>
--   </ul>
ordersCustomBatchRequestEntryReturnLineItem :: OrdersCustomBatchRequestEntryReturnLineItem

-- | The quantity to return.
ocbrerliQuantity :: Lens' OrdersCustomBatchRequestEntryReturnLineItem (Maybe Word32)

-- | The ID of the line item to return.
ocbrerliLineItemId :: Lens' OrdersCustomBatchRequestEntryReturnLineItem (Maybe Text)

-- | The reason for the return.
ocbrerliReason :: Lens' OrdersCustomBatchRequestEntryReturnLineItem (Maybe Text)

-- | The explanation of the reason.
ocbrerliReasonText :: Lens' OrdersCustomBatchRequestEntryReturnLineItem (Maybe Text)
data OrdersCustomBatchRequestEntryUpdateShipment

-- | Creates a value of <a>OrdersCustomBatchRequestEntryUpdateShipment</a>
--   with the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ocbreusCarrier</a></li>
--   <li><a>ocbreusStatus</a></li>
--   <li><a>ocbreusTrackingId</a></li>
--   <li><a>ocbreusShipmentId</a></li>
--   </ul>
ordersCustomBatchRequestEntryUpdateShipment :: OrdersCustomBatchRequestEntryUpdateShipment

-- | The carrier handling the shipment. Not updated if missing.
ocbreusCarrier :: Lens' OrdersCustomBatchRequestEntryUpdateShipment (Maybe Text)

-- | New status for the shipment. Not updated if missing.
ocbreusStatus :: Lens' OrdersCustomBatchRequestEntryUpdateShipment (Maybe Text)

-- | The tracking id for the shipment. Not updated if missing.
ocbreusTrackingId :: Lens' OrdersCustomBatchRequestEntryUpdateShipment (Maybe Text)

-- | The ID of the shipment.
ocbreusShipmentId :: Lens' OrdersCustomBatchRequestEntryUpdateShipment (Maybe Text)

-- | The status of a datafeed, i.e., the result of the last retrieval of
--   the datafeed computed asynchronously when the feed processing is
--   finished.
--   
--   <i>See:</i> <a>datafeedStatus</a> smart constructor.
data DatafeedStatus

-- | Creates a value of <a>DatafeedStatus</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dsItemsTotal</a></li>
--   <li><a>dsKind</a></li>
--   <li><a>dsWarnings</a></li>
--   <li><a>dsDatafeedId</a></li>
--   <li><a>dsProcessingStatus</a></li>
--   <li><a>dsLastUploadDate</a></li>
--   <li><a>dsItemsValid</a></li>
--   <li><a>dsErrors</a></li>
--   </ul>
datafeedStatus :: DatafeedStatus

-- | The number of items in the feed that were processed.
dsItemsTotal :: Lens' DatafeedStatus (Maybe Word64)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#datafeedStatus".
dsKind :: Lens' DatafeedStatus Text

-- | The list of errors occurring in the feed.
dsWarnings :: Lens' DatafeedStatus [DatafeedStatusError]

-- | The ID of the feed for which the status is reported.
dsDatafeedId :: Lens' DatafeedStatus (Maybe Word64)

-- | The processing status of the feed.
dsProcessingStatus :: Lens' DatafeedStatus (Maybe Text)

-- | The last date at which the feed was uploaded.
dsLastUploadDate :: Lens' DatafeedStatus (Maybe Text)

-- | The number of items in the feed that were valid.
dsItemsValid :: Lens' DatafeedStatus (Maybe Word64)

-- | The list of errors occurring in the feed.
dsErrors :: Lens' DatafeedStatus [DatafeedStatusError]
data DatafeedstatusesCustomBatchRequest

-- | Creates a value of <a>DatafeedstatusesCustomBatchRequest</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dcbrcEntries</a></li>
--   </ul>
datafeedstatusesCustomBatchRequest :: DatafeedstatusesCustomBatchRequest

-- | The request entries to be processed in the batch.
dcbrcEntries :: Lens' DatafeedstatusesCustomBatchRequest [DatafeedstatusesCustomBatchRequestEntry]

-- | A user-defined locations group in a given country. All the locations
--   of the group must be of the same type.
--   
--   <i>See:</i> <a>accountShippingLocationGroup</a> smart constructor.
data AccountShippingLocationGroup

-- | Creates a value of <a>AccountShippingLocationGroup</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aslgCountry</a></li>
--   <li><a>aslgLocationIds</a></li>
--   <li><a>aslgPostalCodeRanges</a></li>
--   <li><a>aslgName</a></li>
--   <li><a>aslgPostalCodes</a></li>
--   </ul>
accountShippingLocationGroup :: AccountShippingLocationGroup

-- | The CLDR territory code of the country in which this location group
--   is.
aslgCountry :: Lens' AccountShippingLocationGroup (Maybe Text)

-- | A location ID (also called criteria ID) representing administrative
--   areas, smaller country subdivisions (counties), or cities.
aslgLocationIds :: Lens' AccountShippingLocationGroup [Int64]

-- | A postal code range representing a city or a set of cities.
aslgPostalCodeRanges :: Lens' AccountShippingLocationGroup [AccountShippingPostalCodeRange]

-- | The name of the location group.
aslgName :: Lens' AccountShippingLocationGroup (Maybe Text)

-- | A postal code representing a city or a set of cities. - A single
--   postal code (e.g., 12345) - A postal code prefix followed by a star
--   (e.g., 1234*)
aslgPostalCodes :: Lens' AccountShippingLocationGroup [Text]
data AccountStatusDataQualityIssue

-- | Creates a value of <a>AccountStatusDataQualityIssue</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>asdqiSubmittedValue</a></li>
--   <li><a>asdqiCountry</a></li>
--   <li><a>asdqiDisplayedValue</a></li>
--   <li><a>asdqiNumItems</a></li>
--   <li><a>asdqiSeverity</a></li>
--   <li><a>asdqiExampleItems</a></li>
--   <li><a>asdqiLastChecked</a></li>
--   <li><a>asdqiId</a></li>
--   </ul>
accountStatusDataQualityIssue :: AccountStatusDataQualityIssue

-- | Submitted value that causes the issue.
asdqiSubmittedValue :: Lens' AccountStatusDataQualityIssue (Maybe Text)

-- | Country for which this issue is reported.
asdqiCountry :: Lens' AccountStatusDataQualityIssue (Maybe Text)

-- | Actual value displayed on the landing page.
asdqiDisplayedValue :: Lens' AccountStatusDataQualityIssue (Maybe Text)

-- | Number of items in the account found to have the said issue.
asdqiNumItems :: Lens' AccountStatusDataQualityIssue (Maybe Word32)

-- | Severity of the problem.
asdqiSeverity :: Lens' AccountStatusDataQualityIssue (Maybe Text)

-- | Example items featuring the issue.
asdqiExampleItems :: Lens' AccountStatusDataQualityIssue [AccountStatusExampleItem]

-- | Last time the account was checked for this issue.
asdqiLastChecked :: Lens' AccountStatusDataQualityIssue (Maybe Text)

-- | Issue identifier.
asdqiId :: Lens' AccountStatusDataQualityIssue (Maybe Text)
data ProductShippingDimension

-- | Creates a value of <a>ProductShippingDimension</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>psdValue</a></li>
--   <li><a>psdUnit</a></li>
--   </ul>
productShippingDimension :: ProductShippingDimension

-- | The dimension of the product used to calculate the shipping cost of
--   the item.
psdValue :: Lens' ProductShippingDimension (Maybe Double)

-- | The unit of value. Acceptable values are: - "cm" - "in"
psdUnit :: Lens' ProductShippingDimension (Maybe Text)

-- | A batch entry encoding a single non-batch datafeeds response.
--   
--   <i>See:</i> <a>datafeedsCustomBatchResponseEntry</a> smart
--   constructor.
data DatafeedsCustomBatchResponseEntry

-- | Creates a value of <a>DatafeedsCustomBatchResponseEntry</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dcbrecDatafeed</a></li>
--   <li><a>dcbrecErrors</a></li>
--   <li><a>dcbrecBatchId</a></li>
--   </ul>
datafeedsCustomBatchResponseEntry :: DatafeedsCustomBatchResponseEntry

-- | The requested data feed. Defined if and only if the request was
--   successful.
dcbrecDatafeed :: Lens' DatafeedsCustomBatchResponseEntry (Maybe Datafeed)

-- | A list of errors defined if and only if the request failed.
dcbrecErrors :: Lens' DatafeedsCustomBatchResponseEntry (Maybe Errors)

-- | The ID of the request entry this entry responds to.
dcbrecBatchId :: Lens' DatafeedsCustomBatchResponseEntry (Maybe Word32)
data OrdersCustomBatchRequestEntryRefund

-- | Creates a value of <a>OrdersCustomBatchRequestEntryRefund</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ocbrerAmount</a></li>
--   <li><a>ocbrerReason</a></li>
--   <li><a>ocbrerReasonText</a></li>
--   </ul>
ordersCustomBatchRequestEntryRefund :: OrdersCustomBatchRequestEntryRefund

-- | The amount that is refunded.
ocbrerAmount :: Lens' OrdersCustomBatchRequestEntryRefund (Maybe Price)

-- | The reason for the refund.
ocbrerReason :: Lens' OrdersCustomBatchRequestEntryRefund (Maybe Text)

-- | The explanation of the reason.
ocbrerReasonText :: Lens' OrdersCustomBatchRequestEntryRefund (Maybe Text)
data DatafeedstatusesListResponse

-- | Creates a value of <a>DatafeedstatusesListResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dlrlNextPageToken</a></li>
--   <li><a>dlrlKind</a></li>
--   <li><a>dlrlResources</a></li>
--   </ul>
datafeedstatusesListResponse :: DatafeedstatusesListResponse

-- | The token for the retrieval of the next page of datafeed statuses.
dlrlNextPageToken :: Lens' DatafeedstatusesListResponse (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#datafeedstatusesListResponse".
dlrlKind :: Lens' DatafeedstatusesListResponse Text
dlrlResources :: Lens' DatafeedstatusesListResponse [DatafeedStatus]
data ProductsListResponse

-- | Creates a value of <a>ProductsListResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>plrlNextPageToken</a></li>
--   <li><a>plrlKind</a></li>
--   <li><a>plrlResources</a></li>
--   </ul>
productsListResponse :: ProductsListResponse

-- | The token for the retrieval of the next page of products.
plrlNextPageToken :: Lens' ProductsListResponse (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#productsListResponse".
plrlKind :: Lens' ProductsListResponse Text
plrlResources :: Lens' ProductsListResponse [Product]
data AccountAdwordsLink

-- | Creates a value of <a>AccountAdwordsLink</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aalStatus</a></li>
--   <li><a>aalAdwordsId</a></li>
--   </ul>
accountAdwordsLink :: AccountAdwordsLink

-- | Status of the link between this Merchant Center account and the
--   AdWords account. Upon retrieval, it represents the actual status of
--   the link and can be either active if it was approved in Google AdWords
--   or pending if it's pending approval. Upon insertion, it represents the
--   intended status of the link. Re-uploading a link with status active
--   when it's still pending or with status pending when it's already
--   active will have no effect: the status will remain unchanged.
--   Re-uploading a link with deprecated status inactive is equivalent to
--   not submitting the link at all and will delete the link if it was
--   active or cancel the link request if it was pending.
aalStatus :: Lens' AccountAdwordsLink (Maybe Text)

-- | Customer ID of the AdWords account.
aalAdwordsId :: Lens' AccountAdwordsLink (Maybe Word64)
data OrderCancellation

-- | Creates a value of <a>OrderCancellation</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ocQuantity</a></li>
--   <li><a>ocActor</a></li>
--   <li><a>ocReason</a></li>
--   <li><a>ocCreationDate</a></li>
--   <li><a>ocReasonText</a></li>
--   </ul>
orderCancellation :: OrderCancellation

-- | The quantity that was canceled.
ocQuantity :: Lens' OrderCancellation (Maybe Word32)

-- | The actor that created the cancellation.
ocActor :: Lens' OrderCancellation (Maybe Text)

-- | The reason for the cancellation. Orders that are cancelled with a
--   noInventory reason will lead to the removal of the product from POG
--   until you make an update to that product. This will not affect your
--   Shopping ads.
ocReason :: Lens' OrderCancellation (Maybe Text)

-- | Date on which the cancellation has been created, in ISO 8601 format.
ocCreationDate :: Lens' OrderCancellation (Maybe Text)

-- | The explanation of the reason.
ocReasonText :: Lens' OrderCancellation (Maybe Text)
data OrdersCustomBatchResponse

-- | Creates a value of <a>OrdersCustomBatchResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ordEntries</a></li>
--   <li><a>ordKind</a></li>
--   </ul>
ordersCustomBatchResponse :: OrdersCustomBatchResponse

-- | The result of the execution of the batch requests.
ordEntries :: Lens' OrdersCustomBatchResponse [OrdersCustomBatchResponseEntry]

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#ordersCustomBatchResponse".
ordKind :: Lens' OrdersCustomBatchResponse Text


-- | 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.
--   
--   <i>See:</i> <a>Content API for Shopping Reference</a> for
--   <tt>content.shippingsettings.update</tt>.
module Network.Google.Resource.Content.ShippingSettings.Update

-- | A resource alias for <tt>content.shippingsettings.update</tt> method
--   which the <a>ShippingSettingsUpdate</a> request conforms to.
type ShippingSettingsUpdateResource = "content" :> ("v2" :> (Capture "merchantId" (Textual Word64) :> ("shippingsettings" :> (Capture "accountId" (Textual Word64) :> (QueryParam "dryRun" Bool :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] ShippingSettings :> Put '[JSON] ShippingSettings)))))))

-- | Creates a value of <a>ShippingSettingsUpdate</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ssuMerchantId</a></li>
--   <li><a>ssuPayload</a></li>
--   <li><a>ssuAccountId</a></li>
--   <li><a>ssuDryRun</a></li>
--   </ul>
shippingSettingsUpdate :: Word64 -> ShippingSettings -> Word64 -> ShippingSettingsUpdate

-- | 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.
--   
--   <i>See:</i> <a>shippingSettingsUpdate</a> smart constructor.
data ShippingSettingsUpdate

-- | The ID of the managing account.
ssuMerchantId :: Lens' ShippingSettingsUpdate Word64

-- | Multipart request metadata.
ssuPayload :: Lens' ShippingSettingsUpdate ShippingSettings

-- | The ID of the account for which to get/update shipping settings.
ssuAccountId :: Lens' ShippingSettingsUpdate Word64

-- | Flag to run the request in dry-run mode.
ssuDryRun :: Lens' ShippingSettingsUpdate (Maybe Bool)
instance GHC.Generics.Generic Network.Google.Resource.Content.ShippingSettings.Update.ShippingSettingsUpdate
instance Data.Data.Data Network.Google.Resource.Content.ShippingSettings.Update.ShippingSettingsUpdate
instance GHC.Show.Show Network.Google.Resource.Content.ShippingSettings.Update.ShippingSettingsUpdate
instance GHC.Classes.Eq Network.Google.Resource.Content.ShippingSettings.Update.ShippingSettingsUpdate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Content.ShippingSettings.Update.ShippingSettingsUpdate


-- | 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.
--   
--   <i>See:</i> <a>Content API for Shopping Reference</a> for
--   <tt>content.shippingsettings.patch</tt>.
module Network.Google.Resource.Content.ShippingSettings.Patch

-- | A resource alias for <tt>content.shippingsettings.patch</tt> method
--   which the <a>ShippingSettingsPatch</a> request conforms to.
type ShippingSettingsPatchResource = "content" :> ("v2" :> (Capture "merchantId" (Textual Word64) :> ("shippingsettings" :> (Capture "accountId" (Textual Word64) :> (QueryParam "dryRun" Bool :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] ShippingSettings :> Patch '[JSON] ShippingSettings)))))))

-- | Creates a value of <a>ShippingSettingsPatch</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sspMerchantId</a></li>
--   <li><a>sspPayload</a></li>
--   <li><a>sspAccountId</a></li>
--   <li><a>sspDryRun</a></li>
--   </ul>
shippingSettingsPatch :: Word64 -> ShippingSettings -> Word64 -> ShippingSettingsPatch

-- | 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.
--   
--   <i>See:</i> <a>shippingSettingsPatch</a> smart constructor.
data ShippingSettingsPatch

-- | The ID of the managing account.
sspMerchantId :: Lens' ShippingSettingsPatch Word64

-- | Multipart request metadata.
sspPayload :: Lens' ShippingSettingsPatch ShippingSettings

-- | The ID of the account for which to get/update shipping settings.
sspAccountId :: Lens' ShippingSettingsPatch Word64

-- | Flag to run the request in dry-run mode.
sspDryRun :: Lens' ShippingSettingsPatch (Maybe Bool)
instance GHC.Generics.Generic Network.Google.Resource.Content.ShippingSettings.Patch.ShippingSettingsPatch
instance Data.Data.Data Network.Google.Resource.Content.ShippingSettings.Patch.ShippingSettingsPatch
instance GHC.Show.Show Network.Google.Resource.Content.ShippingSettings.Patch.ShippingSettingsPatch
instance GHC.Classes.Eq Network.Google.Resource.Content.ShippingSettings.Patch.ShippingSettingsPatch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Content.ShippingSettings.Patch.ShippingSettingsPatch


-- | Lists the shipping settings of the sub-accounts in your Merchant
--   Center account. This method can only be called for multi-client
--   accounts.
--   
--   <i>See:</i> <a>Content API for Shopping Reference</a> for
--   <tt>content.shippingsettings.list</tt>.
module Network.Google.Resource.Content.ShippingSettings.List

-- | A resource alias for <tt>content.shippingsettings.list</tt> method
--   which the <a>ShippingSettingsList</a> request conforms to.
type ShippingSettingsListResource = "content" :> ("v2" :> (Capture "merchantId" (Textual Word64) :> ("shippingsettings" :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] ShippingSettingsListResponse))))))

-- | Creates a value of <a>ShippingSettingsList</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sslMerchantId</a></li>
--   <li><a>sslPageToken</a></li>
--   <li><a>sslMaxResults</a></li>
--   </ul>
shippingSettingsList :: Word64 -> ShippingSettingsList

-- | Lists the shipping settings of the sub-accounts in your Merchant
--   Center account. This method can only be called for multi-client
--   accounts.
--   
--   <i>See:</i> <a>shippingSettingsList</a> smart constructor.
data ShippingSettingsList

-- | The ID of the managing account.
sslMerchantId :: Lens' ShippingSettingsList Word64

-- | The token returned by the previous request.
sslPageToken :: Lens' ShippingSettingsList (Maybe Text)

-- | The maximum number of shipping settings to return in the response,
--   used for paging.
sslMaxResults :: Lens' ShippingSettingsList (Maybe Word32)
instance GHC.Generics.Generic Network.Google.Resource.Content.ShippingSettings.List.ShippingSettingsList
instance Data.Data.Data Network.Google.Resource.Content.ShippingSettings.List.ShippingSettingsList
instance GHC.Show.Show Network.Google.Resource.Content.ShippingSettings.List.ShippingSettingsList
instance GHC.Classes.Eq Network.Google.Resource.Content.ShippingSettings.List.ShippingSettingsList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Content.ShippingSettings.List.ShippingSettingsList


-- | Retrieves supported carriers and carrier services for an account.
--   
--   <i>See:</i> <a>Content API for Shopping Reference</a> for
--   <tt>content.shippingsettings.getsupportedcarriers</tt>.
module Network.Google.Resource.Content.ShippingSettings.Getsupportedcarriers

-- | A resource alias for
--   <tt>content.shippingsettings.getsupportedcarriers</tt> method which
--   the <a>ShippingSettingsGetsupportedcarriers</a> request conforms to.
type ShippingSettingsGetsupportedcarriersResource = "content" :> ("v2" :> (Capture "merchantId" (Textual Word64) :> ("supportedCarriers" :> (QueryParam "alt" AltJSON :> Get '[JSON] ShippingSettingsGetSupportedCarriersResponse))))

-- | Creates a value of <a>ShippingSettingsGetsupportedcarriers</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ssgMerchantId</a></li>
--   </ul>
shippingSettingsGetsupportedcarriers :: Word64 -> ShippingSettingsGetsupportedcarriers

-- | Retrieves supported carriers and carrier services for an account.
--   
--   <i>See:</i> <a>shippingSettingsGetsupportedcarriers</a> smart
--   constructor.
data ShippingSettingsGetsupportedcarriers

-- | The ID of the account for which to retrieve the supported carriers.
ssgMerchantId :: Lens' ShippingSettingsGetsupportedcarriers Word64
instance GHC.Generics.Generic Network.Google.Resource.Content.ShippingSettings.Getsupportedcarriers.ShippingSettingsGetsupportedcarriers
instance Data.Data.Data Network.Google.Resource.Content.ShippingSettings.Getsupportedcarriers.ShippingSettingsGetsupportedcarriers
instance GHC.Show.Show Network.Google.Resource.Content.ShippingSettings.Getsupportedcarriers.ShippingSettingsGetsupportedcarriers
instance GHC.Classes.Eq Network.Google.Resource.Content.ShippingSettings.Getsupportedcarriers.ShippingSettingsGetsupportedcarriers
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Content.ShippingSettings.Getsupportedcarriers.ShippingSettingsGetsupportedcarriers


-- | 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.
--   
--   <i>See:</i> <a>Content API for Shopping Reference</a> for
--   <tt>content.shippingsettings.get</tt>.
module Network.Google.Resource.Content.ShippingSettings.Get

-- | A resource alias for <tt>content.shippingsettings.get</tt> method
--   which the <a>ShippingSettingsGet</a> request conforms to.
type ShippingSettingsGetResource = "content" :> ("v2" :> (Capture "merchantId" (Textual Word64) :> ("shippingsettings" :> (Capture "accountId" (Textual Word64) :> (QueryParam "alt" AltJSON :> Get '[JSON] ShippingSettings)))))

-- | Creates a value of <a>ShippingSettingsGet</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sMerchantId</a></li>
--   <li><a>sAccountId</a></li>
--   </ul>
shippingSettingsGet :: Word64 -> Word64 -> ShippingSettingsGet

-- | 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.
--   
--   <i>See:</i> <a>shippingSettingsGet</a> smart constructor.
data ShippingSettingsGet

-- | The ID of the managing account.
sMerchantId :: Lens' ShippingSettingsGet Word64

-- | The ID of the account for which to get/update shipping settings.
sAccountId :: Lens' ShippingSettingsGet Word64
instance GHC.Generics.Generic Network.Google.Resource.Content.ShippingSettings.Get.ShippingSettingsGet
instance Data.Data.Data Network.Google.Resource.Content.ShippingSettings.Get.ShippingSettingsGet
instance GHC.Show.Show Network.Google.Resource.Content.ShippingSettings.Get.ShippingSettingsGet
instance GHC.Classes.Eq Network.Google.Resource.Content.ShippingSettings.Get.ShippingSettingsGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Content.ShippingSettings.Get.ShippingSettingsGet


-- | Retrieves and updates the shipping settings of multiple accounts in a
--   single request.
--   
--   <i>See:</i> <a>Content API for Shopping Reference</a> for
--   <tt>content.shippingsettings.custombatch</tt>.
module Network.Google.Resource.Content.ShippingSettings.Custombatch

-- | A resource alias for <tt>content.shippingsettings.custombatch</tt>
--   method which the <a>ShippingSettingsCustombatch</a> request conforms
--   to.
type ShippingSettingsCustombatchResource = "content" :> ("v2" :> ("shippingsettings" :> ("batch" :> (QueryParam "dryRun" Bool :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] ShippingSettingsCustomBatchRequest :> Post '[JSON] ShippingSettingsCustomBatchResponse))))))

-- | Creates a value of <a>ShippingSettingsCustombatch</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sscPayload</a></li>
--   <li><a>sscDryRun</a></li>
--   </ul>
shippingSettingsCustombatch :: ShippingSettingsCustomBatchRequest -> ShippingSettingsCustombatch

-- | Retrieves and updates the shipping settings of multiple accounts in a
--   single request.
--   
--   <i>See:</i> <a>shippingSettingsCustombatch</a> smart constructor.
data ShippingSettingsCustombatch

-- | Multipart request metadata.
sscPayload :: Lens' ShippingSettingsCustombatch ShippingSettingsCustomBatchRequest

-- | Flag to run the request in dry-run mode.
sscDryRun :: Lens' ShippingSettingsCustombatch (Maybe Bool)
instance GHC.Generics.Generic Network.Google.Resource.Content.ShippingSettings.Custombatch.ShippingSettingsCustombatch
instance Data.Data.Data Network.Google.Resource.Content.ShippingSettings.Custombatch.ShippingSettingsCustombatch
instance GHC.Show.Show Network.Google.Resource.Content.ShippingSettings.Custombatch.ShippingSettingsCustombatch
instance GHC.Classes.Eq Network.Google.Resource.Content.ShippingSettings.Custombatch.ShippingSettingsCustombatch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Content.ShippingSettings.Custombatch.ShippingSettingsCustombatch


-- | Lists the statuses of the products in your Merchant Center account.
--   This method can only be called for non-multi-client accounts.
--   
--   <i>See:</i> <a>Content API for Shopping Reference</a> for
--   <tt>content.productstatuses.list</tt>.
module Network.Google.Resource.Content.Productstatuses.List

-- | A resource alias for <tt>content.productstatuses.list</tt> method
--   which the <a>ProductstatusesList</a> request conforms to.
type ProductstatusesListResource = "content" :> ("v2" :> (Capture "merchantId" (Textual Word64) :> ("productstatuses" :> (QueryParam "includeInvalidInsertedItems" Bool :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] ProductstatusesListResponse)))))))

-- | Creates a value of <a>ProductstatusesList</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>plMerchantId</a></li>
--   <li><a>plIncludeInvalidInsertedItems</a></li>
--   <li><a>plPageToken</a></li>
--   <li><a>plMaxResults</a></li>
--   </ul>
productstatusesList :: Word64 -> ProductstatusesList

-- | Lists the statuses of the products in your Merchant Center account.
--   This method can only be called for non-multi-client accounts.
--   
--   <i>See:</i> <a>productstatusesList</a> smart constructor.
data ProductstatusesList

-- | The ID of the managing account.
plMerchantId :: Lens' ProductstatusesList Word64

-- | Flag to include the invalid inserted items in the result of the list
--   request. By default the invalid items are not shown (the default value
--   is false).
plIncludeInvalidInsertedItems :: Lens' ProductstatusesList (Maybe Bool)

-- | The token returned by the previous request.
plPageToken :: Lens' ProductstatusesList (Maybe Text)

-- | The maximum number of product statuses to return in the response, used
--   for paging.
plMaxResults :: Lens' ProductstatusesList (Maybe Word32)
instance GHC.Generics.Generic Network.Google.Resource.Content.Productstatuses.List.ProductstatusesList
instance Data.Data.Data Network.Google.Resource.Content.Productstatuses.List.ProductstatusesList
instance GHC.Show.Show Network.Google.Resource.Content.Productstatuses.List.ProductstatusesList
instance GHC.Classes.Eq Network.Google.Resource.Content.Productstatuses.List.ProductstatusesList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Content.Productstatuses.List.ProductstatusesList


-- | Gets the status of a product from your Merchant Center account. This
--   method can only be called for non-multi-client accounts.
--   
--   <i>See:</i> <a>Content API for Shopping Reference</a> for
--   <tt>content.productstatuses.get</tt>.
module Network.Google.Resource.Content.Productstatuses.Get

-- | A resource alias for <tt>content.productstatuses.get</tt> method which
--   the <a>ProductstatusesGet</a> request conforms to.
type ProductstatusesGetResource = "content" :> ("v2" :> (Capture "merchantId" (Textual Word64) :> ("productstatuses" :> (Capture "productId" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] ProductStatus)))))

-- | Creates a value of <a>ProductstatusesGet</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pgMerchantId</a></li>
--   <li><a>pgProductId</a></li>
--   </ul>
productstatusesGet :: Word64 -> Text -> ProductstatusesGet

-- | Gets the status of a product from your Merchant Center account. This
--   method can only be called for non-multi-client accounts.
--   
--   <i>See:</i> <a>productstatusesGet</a> smart constructor.
data ProductstatusesGet

-- | The ID of the managing account.
pgMerchantId :: Lens' ProductstatusesGet Word64

-- | The ID of the product.
pgProductId :: Lens' ProductstatusesGet Text
instance GHC.Generics.Generic Network.Google.Resource.Content.Productstatuses.Get.ProductstatusesGet
instance Data.Data.Data Network.Google.Resource.Content.Productstatuses.Get.ProductstatusesGet
instance GHC.Show.Show Network.Google.Resource.Content.Productstatuses.Get.ProductstatusesGet
instance GHC.Classes.Eq Network.Google.Resource.Content.Productstatuses.Get.ProductstatusesGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Content.Productstatuses.Get.ProductstatusesGet


-- | Gets the statuses of multiple products in a single request. This
--   method can only be called for non-multi-client accounts.
--   
--   <i>See:</i> <a>Content API for Shopping Reference</a> for
--   <tt>content.productstatuses.custombatch</tt>.
module Network.Google.Resource.Content.Productstatuses.Custombatch

-- | A resource alias for <tt>content.productstatuses.custombatch</tt>
--   method which the <a>ProductstatusesCustombatch</a> request conforms
--   to.
type ProductstatusesCustombatchResource = "content" :> ("v2" :> ("productstatuses" :> ("batch" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] ProductstatusesCustomBatchRequest :> Post '[JSON] ProductstatusesCustomBatchResponse)))))

-- | Creates a value of <a>ProductstatusesCustombatch</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pPayload</a></li>
--   </ul>
productstatusesCustombatch :: ProductstatusesCustomBatchRequest -> ProductstatusesCustombatch

-- | Gets the statuses of multiple products in a single request. This
--   method can only be called for non-multi-client accounts.
--   
--   <i>See:</i> <a>productstatusesCustombatch</a> smart constructor.
data ProductstatusesCustombatch

-- | Multipart request metadata.
pPayload :: Lens' ProductstatusesCustombatch ProductstatusesCustomBatchRequest
instance GHC.Generics.Generic Network.Google.Resource.Content.Productstatuses.Custombatch.ProductstatusesCustombatch
instance Data.Data.Data Network.Google.Resource.Content.Productstatuses.Custombatch.ProductstatusesCustombatch
instance GHC.Show.Show Network.Google.Resource.Content.Productstatuses.Custombatch.ProductstatusesCustombatch
instance GHC.Classes.Eq Network.Google.Resource.Content.Productstatuses.Custombatch.ProductstatusesCustombatch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Content.Productstatuses.Custombatch.ProductstatusesCustombatch


-- | Lists the products in your Merchant Center account. This method can
--   only be called for non-multi-client accounts.
--   
--   <i>See:</i> <a>Content API for Shopping Reference</a> for
--   <tt>content.products.list</tt>.
module Network.Google.Resource.Content.Products.List

-- | A resource alias for <tt>content.products.list</tt> method which the
--   <a>ProductsList</a> request conforms to.
type ProductsListResource = "content" :> ("v2" :> (Capture "merchantId" (Textual Word64) :> ("products" :> (QueryParam "includeInvalidInsertedItems" Bool :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] ProductsListResponse)))))))

-- | Creates a value of <a>ProductsList</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>proMerchantId</a></li>
--   <li><a>proIncludeInvalidInsertedItems</a></li>
--   <li><a>proPageToken</a></li>
--   <li><a>proMaxResults</a></li>
--   </ul>
productsList :: Word64 -> ProductsList

-- | Lists the products in your Merchant Center account. This method can
--   only be called for non-multi-client accounts.
--   
--   <i>See:</i> <a>productsList</a> smart constructor.
data ProductsList

-- | The ID of the managing account.
proMerchantId :: Lens' ProductsList Word64

-- | Flag to include the invalid inserted items in the result of the list
--   request. By default the invalid items are not shown (the default value
--   is false).
proIncludeInvalidInsertedItems :: Lens' ProductsList (Maybe Bool)

-- | The token returned by the previous request.
proPageToken :: Lens' ProductsList (Maybe Text)

-- | The maximum number of products to return in the response, used for
--   paging.
proMaxResults :: Lens' ProductsList (Maybe Word32)
instance GHC.Generics.Generic Network.Google.Resource.Content.Products.List.ProductsList
instance Data.Data.Data Network.Google.Resource.Content.Products.List.ProductsList
instance GHC.Show.Show Network.Google.Resource.Content.Products.List.ProductsList
instance GHC.Classes.Eq Network.Google.Resource.Content.Products.List.ProductsList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Content.Products.List.ProductsList


-- | Uploads a product to your Merchant Center account. If an item with the
--   same channel, contentLanguage, offerId, and targetCountry already
--   exists, this method updates that entry. This method can only be called
--   for non-multi-client accounts.
--   
--   <i>See:</i> <a>Content API for Shopping Reference</a> for
--   <tt>content.products.insert</tt>.
module Network.Google.Resource.Content.Products.Insert

-- | A resource alias for <tt>content.products.insert</tt> method which the
--   <a>ProductsInsert</a> request conforms to.
type ProductsInsertResource = "content" :> ("v2" :> (Capture "merchantId" (Textual Word64) :> ("products" :> (QueryParam "dryRun" Bool :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Product :> Post '[JSON] Product))))))

-- | Creates a value of <a>ProductsInsert</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>piMerchantId</a></li>
--   <li><a>piPayload</a></li>
--   <li><a>piDryRun</a></li>
--   </ul>
productsInsert :: Word64 -> Product -> ProductsInsert

-- | Uploads a product to your Merchant Center account. If an item with the
--   same channel, contentLanguage, offerId, and targetCountry already
--   exists, this method updates that entry. This method can only be called
--   for non-multi-client accounts.
--   
--   <i>See:</i> <a>productsInsert</a> smart constructor.
data ProductsInsert

-- | The ID of the managing account.
piMerchantId :: Lens' ProductsInsert Word64

-- | Multipart request metadata.
piPayload :: Lens' ProductsInsert Product

-- | Flag to run the request in dry-run mode.
piDryRun :: Lens' ProductsInsert (Maybe Bool)
instance GHC.Generics.Generic Network.Google.Resource.Content.Products.Insert.ProductsInsert
instance Data.Data.Data Network.Google.Resource.Content.Products.Insert.ProductsInsert
instance GHC.Show.Show Network.Google.Resource.Content.Products.Insert.ProductsInsert
instance GHC.Classes.Eq Network.Google.Resource.Content.Products.Insert.ProductsInsert
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Content.Products.Insert.ProductsInsert


-- | Retrieves a product from your Merchant Center account. This method can
--   only be called for non-multi-client accounts.
--   
--   <i>See:</i> <a>Content API for Shopping Reference</a> for
--   <tt>content.products.get</tt>.
module Network.Google.Resource.Content.Products.Get

-- | A resource alias for <tt>content.products.get</tt> method which the
--   <a>ProductsGet</a> request conforms to.
type ProductsGetResource = "content" :> ("v2" :> (Capture "merchantId" (Textual Word64) :> ("products" :> (Capture "productId" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] Product)))))

-- | Creates a value of <a>ProductsGet</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pggMerchantId</a></li>
--   <li><a>pggProductId</a></li>
--   </ul>
productsGet :: Word64 -> Text -> ProductsGet

-- | Retrieves a product from your Merchant Center account. This method can
--   only be called for non-multi-client accounts.
--   
--   <i>See:</i> <a>productsGet</a> smart constructor.
data ProductsGet

-- | The ID of the managing account.
pggMerchantId :: Lens' ProductsGet Word64

-- | The ID of the product.
pggProductId :: Lens' ProductsGet Text
instance GHC.Generics.Generic Network.Google.Resource.Content.Products.Get.ProductsGet
instance Data.Data.Data Network.Google.Resource.Content.Products.Get.ProductsGet
instance GHC.Show.Show Network.Google.Resource.Content.Products.Get.ProductsGet
instance GHC.Classes.Eq Network.Google.Resource.Content.Products.Get.ProductsGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Content.Products.Get.ProductsGet


-- | Deletes a product from your Merchant Center account. This method can
--   only be called for non-multi-client accounts.
--   
--   <i>See:</i> <a>Content API for Shopping Reference</a> for
--   <tt>content.products.delete</tt>.
module Network.Google.Resource.Content.Products.Delete

-- | A resource alias for <tt>content.products.delete</tt> method which the
--   <a>ProductsDelete</a> request conforms to.
type ProductsDeleteResource = "content" :> ("v2" :> (Capture "merchantId" (Textual Word64) :> ("products" :> (Capture "productId" Text :> (QueryParam "dryRun" Bool :> (QueryParam "alt" AltJSON :> Delete '[JSON] ()))))))

-- | Creates a value of <a>ProductsDelete</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pdMerchantId</a></li>
--   <li><a>pdProductId</a></li>
--   <li><a>pdDryRun</a></li>
--   </ul>
productsDelete :: Word64 -> Text -> ProductsDelete

-- | Deletes a product from your Merchant Center account. This method can
--   only be called for non-multi-client accounts.
--   
--   <i>See:</i> <a>productsDelete</a> smart constructor.
data ProductsDelete

-- | The ID of the managing account.
pdMerchantId :: Lens' ProductsDelete Word64

-- | The ID of the product.
pdProductId :: Lens' ProductsDelete Text

-- | Flag to run the request in dry-run mode.
pdDryRun :: Lens' ProductsDelete (Maybe Bool)
instance GHC.Generics.Generic Network.Google.Resource.Content.Products.Delete.ProductsDelete
instance Data.Data.Data Network.Google.Resource.Content.Products.Delete.ProductsDelete
instance GHC.Show.Show Network.Google.Resource.Content.Products.Delete.ProductsDelete
instance GHC.Classes.Eq Network.Google.Resource.Content.Products.Delete.ProductsDelete
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Content.Products.Delete.ProductsDelete


-- | Retrieves, inserts, and deletes multiple products in a single request.
--   This method can only be called for non-multi-client accounts.
--   
--   <i>See:</i> <a>Content API for Shopping Reference</a> for
--   <tt>content.products.custombatch</tt>.
module Network.Google.Resource.Content.Products.Custombatch

-- | A resource alias for <tt>content.products.custombatch</tt> method
--   which the <a>ProductsCustombatch</a> request conforms to.
type ProductsCustombatchResource = "content" :> ("v2" :> ("products" :> ("batch" :> (QueryParam "dryRun" Bool :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] ProductsCustomBatchRequest :> Post '[JSON] ProductsCustomBatchResponse))))))

-- | Creates a value of <a>ProductsCustombatch</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pcPayload</a></li>
--   <li><a>pcDryRun</a></li>
--   </ul>
productsCustombatch :: ProductsCustomBatchRequest -> ProductsCustombatch

-- | Retrieves, inserts, and deletes multiple products in a single request.
--   This method can only be called for non-multi-client accounts.
--   
--   <i>See:</i> <a>productsCustombatch</a> smart constructor.
data ProductsCustombatch

-- | Multipart request metadata.
pcPayload :: Lens' ProductsCustombatch ProductsCustomBatchRequest

-- | Flag to run the request in dry-run mode.
pcDryRun :: Lens' ProductsCustombatch (Maybe Bool)
instance GHC.Generics.Generic Network.Google.Resource.Content.Products.Custombatch.ProductsCustombatch
instance Data.Data.Data Network.Google.Resource.Content.Products.Custombatch.ProductsCustombatch
instance GHC.Show.Show Network.Google.Resource.Content.Products.Custombatch.ProductsCustombatch
instance GHC.Classes.Eq Network.Google.Resource.Content.Products.Custombatch.ProductsCustombatch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Content.Products.Custombatch.ProductsCustombatch


-- | Updates a shipment's status, carrier, and/or tracking ID. This method
--   can only be called for non-multi-client accounts.
--   
--   <i>See:</i> <a>Content API for Shopping Reference</a> for
--   <tt>content.orders.updateshipment</tt>.
module Network.Google.Resource.Content.Orders.Updateshipment

-- | A resource alias for <tt>content.orders.updateshipment</tt> method
--   which the <a>OrdersUpdateshipment</a> request conforms to.
type OrdersUpdateshipmentResource = "content" :> ("v2" :> (Capture "merchantId" (Textual Word64) :> ("orders" :> (Capture "orderId" Text :> ("updateShipment" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] OrdersUpdateShipmentRequest :> Post '[JSON] OrdersUpdateShipmentResponse)))))))

-- | Creates a value of <a>OrdersUpdateshipment</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ouMerchantId</a></li>
--   <li><a>ouPayload</a></li>
--   <li><a>ouOrderId</a></li>
--   </ul>
ordersUpdateshipment :: Word64 -> OrdersUpdateShipmentRequest -> Text -> OrdersUpdateshipment

-- | Updates a shipment's status, carrier, and/or tracking ID. This method
--   can only be called for non-multi-client accounts.
--   
--   <i>See:</i> <a>ordersUpdateshipment</a> smart constructor.
data OrdersUpdateshipment

-- | The ID of the managing account.
ouMerchantId :: Lens' OrdersUpdateshipment Word64

-- | Multipart request metadata.
ouPayload :: Lens' OrdersUpdateshipment OrdersUpdateShipmentRequest

-- | The ID of the order.
ouOrderId :: Lens' OrdersUpdateshipment Text
instance GHC.Generics.Generic Network.Google.Resource.Content.Orders.Updateshipment.OrdersUpdateshipment
instance Data.Data.Data Network.Google.Resource.Content.Orders.Updateshipment.OrdersUpdateshipment
instance GHC.Show.Show Network.Google.Resource.Content.Orders.Updateshipment.OrdersUpdateshipment
instance GHC.Classes.Eq Network.Google.Resource.Content.Orders.Updateshipment.OrdersUpdateshipment
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Content.Orders.Updateshipment.OrdersUpdateshipment


-- | Updates the merchant order ID for a given order. This method can only
--   be called for non-multi-client accounts.
--   
--   <i>See:</i> <a>Content API for Shopping Reference</a> for
--   <tt>content.orders.updatemerchantorderid</tt>.
module Network.Google.Resource.Content.Orders.UpdatemerchantOrderid

-- | A resource alias for <tt>content.orders.updatemerchantorderid</tt>
--   method which the <a>OrdersUpdatemerchantOrderid</a> request conforms
--   to.
type OrdersUpdatemerchantOrderidResource = "content" :> ("v2" :> (Capture "merchantId" (Textual Word64) :> ("orders" :> (Capture "orderId" Text :> ("updateMerchantOrderId" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] OrdersUpdateMerchantOrderIdRequest :> Post '[JSON] OrdersUpdateMerchantOrderIdResponse)))))))

-- | Creates a value of <a>OrdersUpdatemerchantOrderid</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ouoMerchantId</a></li>
--   <li><a>ouoPayload</a></li>
--   <li><a>ouoOrderId</a></li>
--   </ul>
ordersUpdatemerchantOrderid :: Word64 -> OrdersUpdateMerchantOrderIdRequest -> Text -> OrdersUpdatemerchantOrderid

-- | Updates the merchant order ID for a given order. This method can only
--   be called for non-multi-client accounts.
--   
--   <i>See:</i> <a>ordersUpdatemerchantOrderid</a> smart constructor.
data OrdersUpdatemerchantOrderid

-- | The ID of the managing account.
ouoMerchantId :: Lens' OrdersUpdatemerchantOrderid Word64

-- | Multipart request metadata.
ouoPayload :: Lens' OrdersUpdatemerchantOrderid OrdersUpdateMerchantOrderIdRequest

-- | The ID of the order.
ouoOrderId :: Lens' OrdersUpdatemerchantOrderid Text
instance GHC.Generics.Generic Network.Google.Resource.Content.Orders.UpdatemerchantOrderid.OrdersUpdatemerchantOrderid
instance Data.Data.Data Network.Google.Resource.Content.Orders.UpdatemerchantOrderid.OrdersUpdatemerchantOrderid
instance GHC.Show.Show Network.Google.Resource.Content.Orders.UpdatemerchantOrderid.OrdersUpdatemerchantOrderid
instance GHC.Classes.Eq Network.Google.Resource.Content.Orders.UpdatemerchantOrderid.OrdersUpdatemerchantOrderid
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Content.Orders.UpdatemerchantOrderid.OrdersUpdatemerchantOrderid


-- | Marks line item(s) as shipped. This method can only be called for
--   non-multi-client accounts.
--   
--   <i>See:</i> <a>Content API for Shopping Reference</a> for
--   <tt>content.orders.shiplineitems</tt>.
module Network.Google.Resource.Content.Orders.Shiplineitems

-- | A resource alias for <tt>content.orders.shiplineitems</tt> method
--   which the <a>OrdersShiplineitems</a> request conforms to.
type OrdersShiplineitemsResource = "content" :> ("v2" :> (Capture "merchantId" (Textual Word64) :> ("orders" :> (Capture "orderId" Text :> ("shipLineItems" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] OrdersShipLineItemsRequest :> Post '[JSON] OrdersShipLineItemsResponse)))))))

-- | Creates a value of <a>OrdersShiplineitems</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>osMerchantId</a></li>
--   <li><a>osPayload</a></li>
--   <li><a>osOrderId</a></li>
--   </ul>
ordersShiplineitems :: Word64 -> OrdersShipLineItemsRequest -> Text -> OrdersShiplineitems

-- | Marks line item(s) as shipped. This method can only be called for
--   non-multi-client accounts.
--   
--   <i>See:</i> <a>ordersShiplineitems</a> smart constructor.
data OrdersShiplineitems

-- | The ID of the managing account.
osMerchantId :: Lens' OrdersShiplineitems Word64

-- | Multipart request metadata.
osPayload :: Lens' OrdersShiplineitems OrdersShipLineItemsRequest

-- | The ID of the order.
osOrderId :: Lens' OrdersShiplineitems Text
instance GHC.Generics.Generic Network.Google.Resource.Content.Orders.Shiplineitems.OrdersShiplineitems
instance Data.Data.Data Network.Google.Resource.Content.Orders.Shiplineitems.OrdersShiplineitems
instance GHC.Show.Show Network.Google.Resource.Content.Orders.Shiplineitems.OrdersShiplineitems
instance GHC.Classes.Eq Network.Google.Resource.Content.Orders.Shiplineitems.OrdersShiplineitems
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Content.Orders.Shiplineitems.OrdersShiplineitems


-- | Returns a line item. This method can only be called for
--   non-multi-client accounts.
--   
--   <i>See:</i> <a>Content API for Shopping Reference</a> for
--   <tt>content.orders.returnlineitem</tt>.
module Network.Google.Resource.Content.Orders.Returnlineitem

-- | A resource alias for <tt>content.orders.returnlineitem</tt> method
--   which the <a>OrdersReturnlineitem</a> request conforms to.
type OrdersReturnlineitemResource = "content" :> ("v2" :> (Capture "merchantId" (Textual Word64) :> ("orders" :> (Capture "orderId" Text :> ("returnLineItem" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] OrdersReturnLineItemRequest :> Post '[JSON] OrdersReturnLineItemResponse)))))))

-- | Creates a value of <a>OrdersReturnlineitem</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>oMerchantId</a></li>
--   <li><a>oPayload</a></li>
--   <li><a>oOrderId</a></li>
--   </ul>
ordersReturnlineitem :: Word64 -> OrdersReturnLineItemRequest -> Text -> OrdersReturnlineitem

-- | Returns a line item. This method can only be called for
--   non-multi-client accounts.
--   
--   <i>See:</i> <a>ordersReturnlineitem</a> smart constructor.
data OrdersReturnlineitem

-- | The ID of the managing account.
oMerchantId :: Lens' OrdersReturnlineitem Word64

-- | Multipart request metadata.
oPayload :: Lens' OrdersReturnlineitem OrdersReturnLineItemRequest

-- | The ID of the order.
oOrderId :: Lens' OrdersReturnlineitem Text
instance GHC.Generics.Generic Network.Google.Resource.Content.Orders.Returnlineitem.OrdersReturnlineitem
instance Data.Data.Data Network.Google.Resource.Content.Orders.Returnlineitem.OrdersReturnlineitem
instance GHC.Show.Show Network.Google.Resource.Content.Orders.Returnlineitem.OrdersReturnlineitem
instance GHC.Classes.Eq Network.Google.Resource.Content.Orders.Returnlineitem.OrdersReturnlineitem
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Content.Orders.Returnlineitem.OrdersReturnlineitem


-- | Refund a portion of the order, up to the full amount paid. This method
--   can only be called for non-multi-client accounts.
--   
--   <i>See:</i> <a>Content API for Shopping Reference</a> for
--   <tt>content.orders.refund</tt>.
module Network.Google.Resource.Content.Orders.Refund

-- | A resource alias for <tt>content.orders.refund</tt> method which the
--   <a>OrdersRefund</a> request conforms to.
type OrdersRefundResource = "content" :> ("v2" :> (Capture "merchantId" (Textual Word64) :> ("orders" :> (Capture "orderId" Text :> ("refund" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] OrdersRefundRequest :> Post '[JSON] OrdersRefundResponse)))))))

-- | Creates a value of <a>OrdersRefund</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>orMerchantId</a></li>
--   <li><a>orPayload</a></li>
--   <li><a>orOrderId</a></li>
--   </ul>
ordersRefund :: Word64 -> OrdersRefundRequest -> Text -> OrdersRefund

-- | Refund a portion of the order, up to the full amount paid. This method
--   can only be called for non-multi-client accounts.
--   
--   <i>See:</i> <a>ordersRefund</a> smart constructor.
data OrdersRefund

-- | The ID of the managing account.
orMerchantId :: Lens' OrdersRefund Word64

-- | Multipart request metadata.
orPayload :: Lens' OrdersRefund OrdersRefundRequest

-- | The ID of the order to refund.
orOrderId :: Lens' OrdersRefund Text
instance GHC.Generics.Generic Network.Google.Resource.Content.Orders.Refund.OrdersRefund
instance Data.Data.Data Network.Google.Resource.Content.Orders.Refund.OrdersRefund
instance GHC.Show.Show Network.Google.Resource.Content.Orders.Refund.OrdersRefund
instance GHC.Classes.Eq Network.Google.Resource.Content.Orders.Refund.OrdersRefund
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Content.Orders.Refund.OrdersRefund


-- | Lists the orders in your Merchant Center account. This method can only
--   be called for non-multi-client accounts.
--   
--   <i>See:</i> <a>Content API for Shopping Reference</a> for
--   <tt>content.orders.list</tt>.
module Network.Google.Resource.Content.Orders.List

-- | A resource alias for <tt>content.orders.list</tt> method which the
--   <a>OrdersList</a> request conforms to.
type OrdersListResource = "content" :> ("v2" :> (Capture "merchantId" (Textual Word64) :> ("orders" :> (QueryParam "placedDateEnd" Text :> (QueryParam "orderBy" OrdersListOrderBy :> (QueryParam "acknowledged" Bool :> (QueryParams "statuses" OrdersListStatuses :> (QueryParam "pageToken" Text :> (QueryParam "placedDateStart" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] OrdersListResponse)))))))))))

-- | Creates a value of <a>OrdersList</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>olPlacedDateEnd</a></li>
--   <li><a>olMerchantId</a></li>
--   <li><a>olOrderBy</a></li>
--   <li><a>olAcknowledged</a></li>
--   <li><a>olStatuses</a></li>
--   <li><a>olPageToken</a></li>
--   <li><a>olPlacedDateStart</a></li>
--   <li><a>olMaxResults</a></li>
--   </ul>
ordersList :: Word64 -> OrdersList

-- | Lists the orders in your Merchant Center account. This method can only
--   be called for non-multi-client accounts.
--   
--   <i>See:</i> <a>ordersList</a> smart constructor.
data OrdersList

-- | Obtains orders placed before this date (exclusively), in ISO 8601
--   format.
olPlacedDateEnd :: Lens' OrdersList (Maybe Text)

-- | The ID of the managing account.
olMerchantId :: Lens' OrdersList Word64

-- | The ordering of the returned list. The only supported value are
--   placedDate desc and placedDate asc for now, which returns orders
--   sorted by placement date. "placedDate desc" stands for listing orders
--   by placement date, from oldest to most recent. "placedDate asc" stands
--   for listing orders by placement date, from most recent to oldest. In
--   future releases we'll support other sorting criteria.
olOrderBy :: Lens' OrdersList (Maybe OrdersListOrderBy)

-- | Obtains orders that match the acknowledgement status. When set to
--   true, obtains orders that have been acknowledged. When false, obtains
--   orders that have not been acknowledged. We recommend using this filter
--   set to false, in conjunction with the acknowledge call, such that only
--   un-acknowledged orders are returned.
olAcknowledged :: Lens' OrdersList (Maybe Bool)

-- | Obtains orders that match any of the specified statuses. Multiple
--   values can be specified with comma separation. Additionally, please
--   note that active is a shortcut for pendingShipment and
--   partiallyShipped, and completed is a shortcut for shipped ,
--   partiallyDelivered, delivered, partiallyReturned, returned, and
--   canceled.
olStatuses :: Lens' OrdersList [OrdersListStatuses]

-- | The token returned by the previous request.
olPageToken :: Lens' OrdersList (Maybe Text)

-- | Obtains orders placed after this date (inclusively), in ISO 8601
--   format.
olPlacedDateStart :: Lens' OrdersList (Maybe Text)

-- | The maximum number of orders to return in the response, used for
--   paging. The default value is 25 orders per page, and the maximum
--   allowed value is 250 orders per page. Known issue: All List calls will
--   return all Orders without limit regardless of the value of this field.
olMaxResults :: Lens' OrdersList (Maybe Word32)
instance GHC.Generics.Generic Network.Google.Resource.Content.Orders.List.OrdersList
instance Data.Data.Data Network.Google.Resource.Content.Orders.List.OrdersList
instance GHC.Show.Show Network.Google.Resource.Content.Orders.List.OrdersList
instance GHC.Classes.Eq Network.Google.Resource.Content.Orders.List.OrdersList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Content.Orders.List.OrdersList


-- | Sandbox only. Retrieves an order template that can be used to quickly
--   create a new order in sandbox. This method can only be called for
--   non-multi-client accounts.
--   
--   <i>See:</i> <a>Content API for Shopping Reference</a> for
--   <tt>content.orders.gettestordertemplate</tt>.
module Network.Google.Resource.Content.Orders.GettestOrdertemplate

-- | A resource alias for <tt>content.orders.gettestordertemplate</tt>
--   method which the <a>OrdersGettestOrdertemplate</a> request conforms
--   to.
type OrdersGettestOrdertemplateResource = "content" :> ("v2" :> (Capture "merchantId" (Textual Word64) :> ("testordertemplates" :> (Capture "templateName" OrdersGettestOrdertemplateTemplateName :> (QueryParam "alt" AltJSON :> Get '[JSON] OrdersGetTestOrderTemplateResponse)))))

-- | Creates a value of <a>OrdersGettestOrdertemplate</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ogoMerchantId</a></li>
--   <li><a>ogoTemplateName</a></li>
--   </ul>
ordersGettestOrdertemplate :: Word64 -> OrdersGettestOrdertemplateTemplateName -> OrdersGettestOrdertemplate

-- | Sandbox only. Retrieves an order template that can be used to quickly
--   create a new order in sandbox. This method can only be called for
--   non-multi-client accounts.
--   
--   <i>See:</i> <a>ordersGettestOrdertemplate</a> smart constructor.
data OrdersGettestOrdertemplate

-- | The ID of the managing account.
ogoMerchantId :: Lens' OrdersGettestOrdertemplate Word64

-- | The name of the template to retrieve.
ogoTemplateName :: Lens' OrdersGettestOrdertemplate OrdersGettestOrdertemplateTemplateName
instance GHC.Generics.Generic Network.Google.Resource.Content.Orders.GettestOrdertemplate.OrdersGettestOrdertemplate
instance Data.Data.Data Network.Google.Resource.Content.Orders.GettestOrdertemplate.OrdersGettestOrdertemplate
instance GHC.Show.Show Network.Google.Resource.Content.Orders.GettestOrdertemplate.OrdersGettestOrdertemplate
instance GHC.Classes.Eq Network.Google.Resource.Content.Orders.GettestOrdertemplate.OrdersGettestOrdertemplate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Content.Orders.GettestOrdertemplate.OrdersGettestOrdertemplate


-- | Retrieves an order using merchant order id. This method can only be
--   called for non-multi-client accounts.
--   
--   <i>See:</i> <a>Content API for Shopping Reference</a> for
--   <tt>content.orders.getbymerchantorderid</tt>.
module Network.Google.Resource.Content.Orders.GetbymerchantOrderid

-- | A resource alias for <tt>content.orders.getbymerchantorderid</tt>
--   method which the <a>OrdersGetbymerchantOrderid</a> request conforms
--   to.
type OrdersGetbymerchantOrderidResource = "content" :> ("v2" :> (Capture "merchantId" (Textual Word64) :> ("ordersbymerchantid" :> (Capture "merchantOrderId" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] OrdersGetByMerchantOrderIdResponse)))))

-- | Creates a value of <a>OrdersGetbymerchantOrderid</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ogogMerchantId</a></li>
--   <li><a>ogogMerchantOrderId</a></li>
--   </ul>
ordersGetbymerchantOrderid :: Word64 -> Text -> OrdersGetbymerchantOrderid

-- | Retrieves an order using merchant order id. This method can only be
--   called for non-multi-client accounts.
--   
--   <i>See:</i> <a>ordersGetbymerchantOrderid</a> smart constructor.
data OrdersGetbymerchantOrderid

-- | The ID of the managing account.
ogogMerchantId :: Lens' OrdersGetbymerchantOrderid Word64

-- | The merchant order id to be looked for.
ogogMerchantOrderId :: Lens' OrdersGetbymerchantOrderid Text
instance GHC.Generics.Generic Network.Google.Resource.Content.Orders.GetbymerchantOrderid.OrdersGetbymerchantOrderid
instance Data.Data.Data Network.Google.Resource.Content.Orders.GetbymerchantOrderid.OrdersGetbymerchantOrderid
instance GHC.Show.Show Network.Google.Resource.Content.Orders.GetbymerchantOrderid.OrdersGetbymerchantOrderid
instance GHC.Classes.Eq Network.Google.Resource.Content.Orders.GetbymerchantOrderid.OrdersGetbymerchantOrderid
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Content.Orders.GetbymerchantOrderid.OrdersGetbymerchantOrderid


-- | Retrieves an order from your Merchant Center account. This method can
--   only be called for non-multi-client accounts.
--   
--   <i>See:</i> <a>Content API for Shopping Reference</a> for
--   <tt>content.orders.get</tt>.
module Network.Google.Resource.Content.Orders.Get

-- | A resource alias for <tt>content.orders.get</tt> method which the
--   <a>OrdersGet</a> request conforms to.
type OrdersGetResource = "content" :> ("v2" :> (Capture "merchantId" (Textual Word64) :> ("orders" :> (Capture "orderId" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] Order)))))

-- | Creates a value of <a>OrdersGet</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ogMerchantId</a></li>
--   <li><a>ogOrderId</a></li>
--   </ul>
ordersGet :: Word64 -> Text -> OrdersGet

-- | Retrieves an order from your Merchant Center account. This method can
--   only be called for non-multi-client accounts.
--   
--   <i>See:</i> <a>ordersGet</a> smart constructor.
data OrdersGet

-- | The ID of the managing account.
ogMerchantId :: Lens' OrdersGet Word64

-- | The ID of the order.
ogOrderId :: Lens' OrdersGet Text
instance GHC.Generics.Generic Network.Google.Resource.Content.Orders.Get.OrdersGet
instance Data.Data.Data Network.Google.Resource.Content.Orders.Get.OrdersGet
instance GHC.Show.Show Network.Google.Resource.Content.Orders.Get.OrdersGet
instance GHC.Classes.Eq Network.Google.Resource.Content.Orders.Get.OrdersGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Content.Orders.Get.OrdersGet


-- | Retrieves or modifies multiple orders in a single request. This method
--   can only be called for non-multi-client accounts.
--   
--   <i>See:</i> <a>Content API for Shopping Reference</a> for
--   <tt>content.orders.custombatch</tt>.
module Network.Google.Resource.Content.Orders.Custombatch

-- | A resource alias for <tt>content.orders.custombatch</tt> method which
--   the <a>OrdersCustombatch</a> request conforms to.
type OrdersCustombatchResource = "content" :> ("v2" :> ("orders" :> ("batch" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] OrdersCustomBatchRequest :> Post '[JSON] OrdersCustomBatchResponse)))))

-- | Creates a value of <a>OrdersCustombatch</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ocPayload</a></li>
--   </ul>
ordersCustombatch :: OrdersCustomBatchRequest -> OrdersCustombatch

-- | Retrieves or modifies multiple orders in a single request. This method
--   can only be called for non-multi-client accounts.
--   
--   <i>See:</i> <a>ordersCustombatch</a> smart constructor.
data OrdersCustombatch

-- | Multipart request metadata.
ocPayload :: Lens' OrdersCustombatch OrdersCustomBatchRequest
instance GHC.Generics.Generic Network.Google.Resource.Content.Orders.Custombatch.OrdersCustombatch
instance Data.Data.Data Network.Google.Resource.Content.Orders.Custombatch.OrdersCustombatch
instance GHC.Show.Show Network.Google.Resource.Content.Orders.Custombatch.OrdersCustombatch
instance GHC.Classes.Eq Network.Google.Resource.Content.Orders.Custombatch.OrdersCustombatch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Content.Orders.Custombatch.OrdersCustombatch


-- | Sandbox only. Creates a test order. This method can only be called for
--   non-multi-client accounts.
--   
--   <i>See:</i> <a>Content API for Shopping Reference</a> for
--   <tt>content.orders.createtestorder</tt>.
module Network.Google.Resource.Content.Orders.CreatetestOrder

-- | A resource alias for <tt>content.orders.createtestorder</tt> method
--   which the <a>OrdersCreatetestOrder</a> request conforms to.
type OrdersCreatetestOrderResource = "content" :> ("v2" :> (Capture "merchantId" (Textual Word64) :> ("testorders" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] OrdersCreateTestOrderRequest :> Post '[JSON] OrdersCreateTestOrderResponse)))))

-- | Creates a value of <a>OrdersCreatetestOrder</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ocoMerchantId</a></li>
--   <li><a>ocoPayload</a></li>
--   </ul>
ordersCreatetestOrder :: Word64 -> OrdersCreateTestOrderRequest -> OrdersCreatetestOrder

-- | Sandbox only. Creates a test order. This method can only be called for
--   non-multi-client accounts.
--   
--   <i>See:</i> <a>ordersCreatetestOrder</a> smart constructor.
data OrdersCreatetestOrder

-- | The ID of the managing account.
ocoMerchantId :: Lens' OrdersCreatetestOrder Word64

-- | Multipart request metadata.
ocoPayload :: Lens' OrdersCreatetestOrder OrdersCreateTestOrderRequest
instance GHC.Generics.Generic Network.Google.Resource.Content.Orders.CreatetestOrder.OrdersCreatetestOrder
instance Data.Data.Data Network.Google.Resource.Content.Orders.CreatetestOrder.OrdersCreatetestOrder
instance GHC.Show.Show Network.Google.Resource.Content.Orders.CreatetestOrder.OrdersCreatetestOrder
instance GHC.Classes.Eq Network.Google.Resource.Content.Orders.CreatetestOrder.OrdersCreatetestOrder
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Content.Orders.CreatetestOrder.OrdersCreatetestOrder


-- | Cancels a line item. This method can only be called for
--   non-multi-client accounts.
--   
--   <i>See:</i> <a>Content API for Shopping Reference</a> for
--   <tt>content.orders.cancellineitem</tt>.
module Network.Google.Resource.Content.Orders.Cancellineitem

-- | A resource alias for <tt>content.orders.cancellineitem</tt> method
--   which the <a>OrdersCancellineitem</a> request conforms to.
type OrdersCancellineitemResource = "content" :> ("v2" :> (Capture "merchantId" (Textual Word64) :> ("orders" :> (Capture "orderId" Text :> ("cancelLineItem" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] OrdersCancelLineItemRequest :> Post '[JSON] OrdersCancelLineItemResponse)))))))

-- | Creates a value of <a>OrdersCancellineitem</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ordMerchantId</a></li>
--   <li><a>ordPayload</a></li>
--   <li><a>ordOrderId</a></li>
--   </ul>
ordersCancellineitem :: Word64 -> OrdersCancelLineItemRequest -> Text -> OrdersCancellineitem

-- | Cancels a line item. This method can only be called for
--   non-multi-client accounts.
--   
--   <i>See:</i> <a>ordersCancellineitem</a> smart constructor.
data OrdersCancellineitem

-- | The ID of the managing account.
ordMerchantId :: Lens' OrdersCancellineitem Word64

-- | Multipart request metadata.
ordPayload :: Lens' OrdersCancellineitem OrdersCancelLineItemRequest

-- | The ID of the order.
ordOrderId :: Lens' OrdersCancellineitem Text
instance GHC.Generics.Generic Network.Google.Resource.Content.Orders.Cancellineitem.OrdersCancellineitem
instance Data.Data.Data Network.Google.Resource.Content.Orders.Cancellineitem.OrdersCancellineitem
instance GHC.Show.Show Network.Google.Resource.Content.Orders.Cancellineitem.OrdersCancellineitem
instance GHC.Classes.Eq Network.Google.Resource.Content.Orders.Cancellineitem.OrdersCancellineitem
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Content.Orders.Cancellineitem.OrdersCancellineitem


-- | Cancels all line items in an order. This method can only be called for
--   non-multi-client accounts.
--   
--   <i>See:</i> <a>Content API for Shopping Reference</a> for
--   <tt>content.orders.cancel</tt>.
module Network.Google.Resource.Content.Orders.Cancel

-- | A resource alias for <tt>content.orders.cancel</tt> method which the
--   <a>OrdersCancel</a> request conforms to.
type OrdersCancelResource = "content" :> ("v2" :> (Capture "merchantId" (Textual Word64) :> ("orders" :> (Capture "orderId" Text :> ("cancel" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] OrdersCancelRequest :> Post '[JSON] OrdersCancelResponse)))))))

-- | Creates a value of <a>OrdersCancel</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>occMerchantId</a></li>
--   <li><a>occPayload</a></li>
--   <li><a>occOrderId</a></li>
--   </ul>
ordersCancel :: Word64 -> OrdersCancelRequest -> Text -> OrdersCancel

-- | Cancels all line items in an order. This method can only be called for
--   non-multi-client accounts.
--   
--   <i>See:</i> <a>ordersCancel</a> smart constructor.
data OrdersCancel

-- | The ID of the managing account.
occMerchantId :: Lens' OrdersCancel Word64

-- | Multipart request metadata.
occPayload :: Lens' OrdersCancel OrdersCancelRequest

-- | The ID of the order to cancel.
occOrderId :: Lens' OrdersCancel Text
instance GHC.Generics.Generic Network.Google.Resource.Content.Orders.Cancel.OrdersCancel
instance Data.Data.Data Network.Google.Resource.Content.Orders.Cancel.OrdersCancel
instance GHC.Show.Show Network.Google.Resource.Content.Orders.Cancel.OrdersCancel
instance GHC.Classes.Eq Network.Google.Resource.Content.Orders.Cancel.OrdersCancel
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Content.Orders.Cancel.OrdersCancel


-- | Sandbox only. Moves a test order from state "inProgress" to state
--   "pendingShipment". This method can only be called for non-multi-client
--   accounts.
--   
--   <i>See:</i> <a>Content API for Shopping Reference</a> for
--   <tt>content.orders.advancetestorder</tt>.
module Network.Google.Resource.Content.Orders.AdvancetestOrder

-- | A resource alias for <tt>content.orders.advancetestorder</tt> method
--   which the <a>OrdersAdvancetestOrder</a> request conforms to.
type OrdersAdvancetestOrderResource = "content" :> ("v2" :> (Capture "merchantId" (Textual Word64) :> ("testorders" :> (Capture "orderId" Text :> ("advance" :> (QueryParam "alt" AltJSON :> Post '[JSON] OrdersAdvanceTestOrderResponse))))))

-- | Creates a value of <a>OrdersAdvancetestOrder</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>oaoMerchantId</a></li>
--   <li><a>oaoOrderId</a></li>
--   </ul>
ordersAdvancetestOrder :: Word64 -> Text -> OrdersAdvancetestOrder

-- | Sandbox only. Moves a test order from state "inProgress" to state
--   "pendingShipment". This method can only be called for non-multi-client
--   accounts.
--   
--   <i>See:</i> <a>ordersAdvancetestOrder</a> smart constructor.
data OrdersAdvancetestOrder

-- | The ID of the managing account.
oaoMerchantId :: Lens' OrdersAdvancetestOrder Word64

-- | The ID of the test order to modify.
oaoOrderId :: Lens' OrdersAdvancetestOrder Text
instance GHC.Generics.Generic Network.Google.Resource.Content.Orders.AdvancetestOrder.OrdersAdvancetestOrder
instance Data.Data.Data Network.Google.Resource.Content.Orders.AdvancetestOrder.OrdersAdvancetestOrder
instance GHC.Show.Show Network.Google.Resource.Content.Orders.AdvancetestOrder.OrdersAdvancetestOrder
instance GHC.Classes.Eq Network.Google.Resource.Content.Orders.AdvancetestOrder.OrdersAdvancetestOrder
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Content.Orders.AdvancetestOrder.OrdersAdvancetestOrder


-- | Marks an order as acknowledged. This method can only be called for
--   non-multi-client accounts.
--   
--   <i>See:</i> <a>Content API for Shopping Reference</a> for
--   <tt>content.orders.acknowledge</tt>.
module Network.Google.Resource.Content.Orders.Acknowledge

-- | A resource alias for <tt>content.orders.acknowledge</tt> method which
--   the <a>OrdersAcknowledge</a> request conforms to.
type OrdersAcknowledgeResource = "content" :> ("v2" :> (Capture "merchantId" (Textual Word64) :> ("orders" :> (Capture "orderId" Text :> ("acknowledge" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] OrdersAcknowledgeRequest :> Post '[JSON] OrdersAcknowledgeResponse)))))))

-- | Creates a value of <a>OrdersAcknowledge</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>oaMerchantId</a></li>
--   <li><a>oaPayload</a></li>
--   <li><a>oaOrderId</a></li>
--   </ul>
ordersAcknowledge :: Word64 -> OrdersAcknowledgeRequest -> Text -> OrdersAcknowledge

-- | Marks an order as acknowledged. This method can only be called for
--   non-multi-client accounts.
--   
--   <i>See:</i> <a>ordersAcknowledge</a> smart constructor.
data OrdersAcknowledge

-- | The ID of the managing account.
oaMerchantId :: Lens' OrdersAcknowledge Word64

-- | Multipart request metadata.
oaPayload :: Lens' OrdersAcknowledge OrdersAcknowledgeRequest

-- | The ID of the order.
oaOrderId :: Lens' OrdersAcknowledge Text
instance GHC.Generics.Generic Network.Google.Resource.Content.Orders.Acknowledge.OrdersAcknowledge
instance Data.Data.Data Network.Google.Resource.Content.Orders.Acknowledge.OrdersAcknowledge
instance GHC.Show.Show Network.Google.Resource.Content.Orders.Acknowledge.OrdersAcknowledge
instance GHC.Classes.Eq Network.Google.Resource.Content.Orders.Acknowledge.OrdersAcknowledge
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Content.Orders.Acknowledge.OrdersAcknowledge


-- | Updates price and availability of a product in your Merchant Center
--   account. This operation does not update the expiration date of the
--   product. This method can only be called for non-multi-client accounts.
--   
--   <i>See:</i> <a>Content API for Shopping Reference</a> for
--   <tt>content.inventory.set</tt>.
module Network.Google.Resource.Content.Inventory.Set

-- | A resource alias for <tt>content.inventory.set</tt> method which the
--   <a>InventorySet</a> request conforms to.
type InventorySetResource = "content" :> ("v2" :> (Capture "merchantId" (Textual Word64) :> ("inventory" :> (Capture "storeCode" Text :> ("products" :> (Capture "productId" Text :> (QueryParam "dryRun" Bool :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] InventorySetRequest :> Post '[JSON] InventorySetResponse)))))))))

-- | Creates a value of <a>InventorySet</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>isMerchantId</a></li>
--   <li><a>isStoreCode</a></li>
--   <li><a>isPayload</a></li>
--   <li><a>isProductId</a></li>
--   <li><a>isDryRun</a></li>
--   </ul>
inventorySet :: Word64 -> Text -> InventorySetRequest -> Text -> InventorySet

-- | Updates price and availability of a product in your Merchant Center
--   account. This operation does not update the expiration date of the
--   product. This method can only be called for non-multi-client accounts.
--   
--   <i>See:</i> <a>inventorySet</a> smart constructor.
data InventorySet

-- | The ID of the managing account.
isMerchantId :: Lens' InventorySet Word64

-- | The code of the store for which to update price and availability. Use
--   online to update price and availability of an online product.
isStoreCode :: Lens' InventorySet Text

-- | Multipart request metadata.
isPayload :: Lens' InventorySet InventorySetRequest

-- | The ID of the product for which to update price and availability.
isProductId :: Lens' InventorySet Text

-- | Flag to run the request in dry-run mode.
isDryRun :: Lens' InventorySet (Maybe Bool)
instance GHC.Generics.Generic Network.Google.Resource.Content.Inventory.Set.InventorySet
instance Data.Data.Data Network.Google.Resource.Content.Inventory.Set.InventorySet
instance GHC.Show.Show Network.Google.Resource.Content.Inventory.Set.InventorySet
instance GHC.Classes.Eq Network.Google.Resource.Content.Inventory.Set.InventorySet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Content.Inventory.Set.InventorySet


-- | Updates price and availability for multiple products or stores in a
--   single request. This operation does not update the expiration date of
--   the products. This method can only be called for non-multi-client
--   accounts.
--   
--   <i>See:</i> <a>Content API for Shopping Reference</a> for
--   <tt>content.inventory.custombatch</tt>.
module Network.Google.Resource.Content.Inventory.Custombatch

-- | A resource alias for <tt>content.inventory.custombatch</tt> method
--   which the <a>InventoryCustombatch</a> request conforms to.
type InventoryCustombatchResource = "content" :> ("v2" :> ("inventory" :> ("batch" :> (QueryParam "dryRun" Bool :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] InventoryCustomBatchRequest :> Post '[JSON] InventoryCustomBatchResponse))))))

-- | Creates a value of <a>InventoryCustombatch</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>icPayload</a></li>
--   <li><a>icDryRun</a></li>
--   </ul>
inventoryCustombatch :: InventoryCustomBatchRequest -> InventoryCustombatch

-- | Updates price and availability for multiple products or stores in a
--   single request. This operation does not update the expiration date of
--   the products. This method can only be called for non-multi-client
--   accounts.
--   
--   <i>See:</i> <a>inventoryCustombatch</a> smart constructor.
data InventoryCustombatch

-- | Multipart request metadata.
icPayload :: Lens' InventoryCustombatch InventoryCustomBatchRequest

-- | Flag to run the request in dry-run mode.
icDryRun :: Lens' InventoryCustombatch (Maybe Bool)
instance GHC.Generics.Generic Network.Google.Resource.Content.Inventory.Custombatch.InventoryCustombatch
instance Data.Data.Data Network.Google.Resource.Content.Inventory.Custombatch.InventoryCustombatch
instance GHC.Show.Show Network.Google.Resource.Content.Inventory.Custombatch.InventoryCustombatch
instance GHC.Classes.Eq Network.Google.Resource.Content.Inventory.Custombatch.InventoryCustombatch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Content.Inventory.Custombatch.InventoryCustombatch


-- | Lists the statuses of the datafeeds in your Merchant Center account.
--   This method can only be called for non-multi-client accounts.
--   
--   <i>See:</i> <a>Content API for Shopping Reference</a> for
--   <tt>content.datafeedstatuses.list</tt>.
module Network.Google.Resource.Content.Datafeedstatuses.List

-- | A resource alias for <tt>content.datafeedstatuses.list</tt> method
--   which the <a>DatafeedstatusesList</a> request conforms to.
type DatafeedstatusesListResource = "content" :> ("v2" :> (Capture "merchantId" (Textual Word64) :> ("datafeedstatuses" :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] DatafeedstatusesListResponse))))))

-- | Creates a value of <a>DatafeedstatusesList</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dlMerchantId</a></li>
--   <li><a>dlPageToken</a></li>
--   <li><a>dlMaxResults</a></li>
--   </ul>
datafeedstatusesList :: Word64 -> DatafeedstatusesList

-- | Lists the statuses of the datafeeds in your Merchant Center account.
--   This method can only be called for non-multi-client accounts.
--   
--   <i>See:</i> <a>datafeedstatusesList</a> smart constructor.
data DatafeedstatusesList

-- | The ID of the managing account.
dlMerchantId :: Lens' DatafeedstatusesList Word64

-- | The token returned by the previous request.
dlPageToken :: Lens' DatafeedstatusesList (Maybe Text)

-- | The maximum number of products to return in the response, used for
--   paging.
dlMaxResults :: Lens' DatafeedstatusesList (Maybe Word32)
instance GHC.Generics.Generic Network.Google.Resource.Content.Datafeedstatuses.List.DatafeedstatusesList
instance Data.Data.Data Network.Google.Resource.Content.Datafeedstatuses.List.DatafeedstatusesList
instance GHC.Show.Show Network.Google.Resource.Content.Datafeedstatuses.List.DatafeedstatusesList
instance GHC.Classes.Eq Network.Google.Resource.Content.Datafeedstatuses.List.DatafeedstatusesList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Content.Datafeedstatuses.List.DatafeedstatusesList


-- | Retrieves the status of a datafeed from your Merchant Center account.
--   This method can only be called for non-multi-client accounts.
--   
--   <i>See:</i> <a>Content API for Shopping Reference</a> for
--   <tt>content.datafeedstatuses.get</tt>.
module Network.Google.Resource.Content.Datafeedstatuses.Get

-- | A resource alias for <tt>content.datafeedstatuses.get</tt> method
--   which the <a>DatafeedstatusesGet</a> request conforms to.
type DatafeedstatusesGetResource = "content" :> ("v2" :> (Capture "merchantId" (Textual Word64) :> ("datafeedstatuses" :> (Capture "datafeedId" (Textual Word64) :> (QueryParam "alt" AltJSON :> Get '[JSON] DatafeedStatus)))))

-- | Creates a value of <a>DatafeedstatusesGet</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dggMerchantId</a></li>
--   <li><a>dggDatafeedId</a></li>
--   </ul>
datafeedstatusesGet :: Word64 -> Word64 -> DatafeedstatusesGet

-- | Retrieves the status of a datafeed from your Merchant Center account.
--   This method can only be called for non-multi-client accounts.
--   
--   <i>See:</i> <a>datafeedstatusesGet</a> smart constructor.
data DatafeedstatusesGet
dggMerchantId :: Lens' DatafeedstatusesGet Word64
dggDatafeedId :: Lens' DatafeedstatusesGet Word64
instance GHC.Generics.Generic Network.Google.Resource.Content.Datafeedstatuses.Get.DatafeedstatusesGet
instance Data.Data.Data Network.Google.Resource.Content.Datafeedstatuses.Get.DatafeedstatusesGet
instance GHC.Show.Show Network.Google.Resource.Content.Datafeedstatuses.Get.DatafeedstatusesGet
instance GHC.Classes.Eq Network.Google.Resource.Content.Datafeedstatuses.Get.DatafeedstatusesGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Content.Datafeedstatuses.Get.DatafeedstatusesGet


-- | <i>See:</i> <a>Content API for Shopping Reference</a> for
--   <tt>content.datafeedstatuses.custombatch</tt>.
module Network.Google.Resource.Content.Datafeedstatuses.Custombatch

-- | A resource alias for <tt>content.datafeedstatuses.custombatch</tt>
--   method which the <a>DatafeedstatusesCustombatch</a> request conforms
--   to.
type DatafeedstatusesCustombatchResource = "content" :> ("v2" :> ("datafeedstatuses" :> ("batch" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] DatafeedstatusesCustomBatchRequest :> Post '[JSON] DatafeedstatusesCustomBatchResponse)))))

-- | Creates a value of <a>DatafeedstatusesCustombatch</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dcPayload</a></li>
--   </ul>
datafeedstatusesCustombatch :: DatafeedstatusesCustomBatchRequest -> DatafeedstatusesCustombatch
data DatafeedstatusesCustombatch

-- | Multipart request metadata.
dcPayload :: Lens' DatafeedstatusesCustombatch DatafeedstatusesCustomBatchRequest
instance GHC.Generics.Generic Network.Google.Resource.Content.Datafeedstatuses.Custombatch.DatafeedstatusesCustombatch
instance Data.Data.Data Network.Google.Resource.Content.Datafeedstatuses.Custombatch.DatafeedstatusesCustombatch
instance GHC.Show.Show Network.Google.Resource.Content.Datafeedstatuses.Custombatch.DatafeedstatusesCustombatch
instance GHC.Classes.Eq Network.Google.Resource.Content.Datafeedstatuses.Custombatch.DatafeedstatusesCustombatch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Content.Datafeedstatuses.Custombatch.DatafeedstatusesCustombatch


-- | Updates a datafeed of your Merchant Center account. This method can
--   only be called for non-multi-client accounts.
--   
--   <i>See:</i> <a>Content API for Shopping Reference</a> for
--   <tt>content.datafeeds.update</tt>.
module Network.Google.Resource.Content.Datafeeds.Update

-- | A resource alias for <tt>content.datafeeds.update</tt> method which
--   the <a>DatafeedsUpdate</a> request conforms to.
type DatafeedsUpdateResource = "content" :> ("v2" :> (Capture "merchantId" (Textual Word64) :> ("datafeeds" :> (Capture "datafeedId" (Textual Word64) :> (QueryParam "dryRun" Bool :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Datafeed :> Put '[JSON] Datafeed)))))))

-- | Creates a value of <a>DatafeedsUpdate</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>duMerchantId</a></li>
--   <li><a>duPayload</a></li>
--   <li><a>duDatafeedId</a></li>
--   <li><a>duDryRun</a></li>
--   </ul>
datafeedsUpdate :: Word64 -> Datafeed -> Word64 -> DatafeedsUpdate

-- | Updates a datafeed of your Merchant Center account. This method can
--   only be called for non-multi-client accounts.
--   
--   <i>See:</i> <a>datafeedsUpdate</a> smart constructor.
data DatafeedsUpdate
duMerchantId :: Lens' DatafeedsUpdate Word64

-- | Multipart request metadata.
duPayload :: Lens' DatafeedsUpdate Datafeed
duDatafeedId :: Lens' DatafeedsUpdate Word64

-- | Flag to run the request in dry-run mode.
duDryRun :: Lens' DatafeedsUpdate (Maybe Bool)
instance GHC.Generics.Generic Network.Google.Resource.Content.Datafeeds.Update.DatafeedsUpdate
instance Data.Data.Data Network.Google.Resource.Content.Datafeeds.Update.DatafeedsUpdate
instance GHC.Show.Show Network.Google.Resource.Content.Datafeeds.Update.DatafeedsUpdate
instance GHC.Classes.Eq Network.Google.Resource.Content.Datafeeds.Update.DatafeedsUpdate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Content.Datafeeds.Update.DatafeedsUpdate


-- | Updates a datafeed of your Merchant Center account. This method can
--   only be called for non-multi-client accounts. This method supports
--   patch semantics.
--   
--   <i>See:</i> <a>Content API for Shopping Reference</a> for
--   <tt>content.datafeeds.patch</tt>.
module Network.Google.Resource.Content.Datafeeds.Patch

-- | A resource alias for <tt>content.datafeeds.patch</tt> method which the
--   <a>DatafeedsPatch</a> request conforms to.
type DatafeedsPatchResource = "content" :> ("v2" :> (Capture "merchantId" (Textual Word64) :> ("datafeeds" :> (Capture "datafeedId" (Textual Word64) :> (QueryParam "dryRun" Bool :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Datafeed :> Patch '[JSON] Datafeed)))))))

-- | Creates a value of <a>DatafeedsPatch</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dpMerchantId</a></li>
--   <li><a>dpPayload</a></li>
--   <li><a>dpDatafeedId</a></li>
--   <li><a>dpDryRun</a></li>
--   </ul>
datafeedsPatch :: Word64 -> Datafeed -> Word64 -> DatafeedsPatch

-- | Updates a datafeed of your Merchant Center account. This method can
--   only be called for non-multi-client accounts. This method supports
--   patch semantics.
--   
--   <i>See:</i> <a>datafeedsPatch</a> smart constructor.
data DatafeedsPatch
dpMerchantId :: Lens' DatafeedsPatch Word64

-- | Multipart request metadata.
dpPayload :: Lens' DatafeedsPatch Datafeed
dpDatafeedId :: Lens' DatafeedsPatch Word64

-- | Flag to run the request in dry-run mode.
dpDryRun :: Lens' DatafeedsPatch (Maybe Bool)
instance GHC.Generics.Generic Network.Google.Resource.Content.Datafeeds.Patch.DatafeedsPatch
instance Data.Data.Data Network.Google.Resource.Content.Datafeeds.Patch.DatafeedsPatch
instance GHC.Show.Show Network.Google.Resource.Content.Datafeeds.Patch.DatafeedsPatch
instance GHC.Classes.Eq Network.Google.Resource.Content.Datafeeds.Patch.DatafeedsPatch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Content.Datafeeds.Patch.DatafeedsPatch


-- | Lists the datafeeds in your Merchant Center account. This method can
--   only be called for non-multi-client accounts.
--   
--   <i>See:</i> <a>Content API for Shopping Reference</a> for
--   <tt>content.datafeeds.list</tt>.
module Network.Google.Resource.Content.Datafeeds.List

-- | A resource alias for <tt>content.datafeeds.list</tt> method which the
--   <a>DatafeedsList</a> request conforms to.
type DatafeedsListResource = "content" :> ("v2" :> (Capture "merchantId" (Textual Word64) :> ("datafeeds" :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] DatafeedsListResponse))))))

-- | Creates a value of <a>DatafeedsList</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>datMerchantId</a></li>
--   <li><a>datPageToken</a></li>
--   <li><a>datMaxResults</a></li>
--   </ul>
datafeedsList :: Word64 -> DatafeedsList

-- | Lists the datafeeds in your Merchant Center account. This method can
--   only be called for non-multi-client accounts.
--   
--   <i>See:</i> <a>datafeedsList</a> smart constructor.
data DatafeedsList

-- | The ID of the managing account.
datMerchantId :: Lens' DatafeedsList Word64

-- | The token returned by the previous request.
datPageToken :: Lens' DatafeedsList (Maybe Text)

-- | The maximum number of products to return in the response, used for
--   paging.
datMaxResults :: Lens' DatafeedsList (Maybe Word32)
instance GHC.Generics.Generic Network.Google.Resource.Content.Datafeeds.List.DatafeedsList
instance Data.Data.Data Network.Google.Resource.Content.Datafeeds.List.DatafeedsList
instance GHC.Show.Show Network.Google.Resource.Content.Datafeeds.List.DatafeedsList
instance GHC.Classes.Eq Network.Google.Resource.Content.Datafeeds.List.DatafeedsList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Content.Datafeeds.List.DatafeedsList


-- | Registers a datafeed with your Merchant Center account. This method
--   can only be called for non-multi-client accounts.
--   
--   <i>See:</i> <a>Content API for Shopping Reference</a> for
--   <tt>content.datafeeds.insert</tt>.
module Network.Google.Resource.Content.Datafeeds.Insert

-- | A resource alias for <tt>content.datafeeds.insert</tt> method which
--   the <a>DatafeedsInsert</a> request conforms to.
type DatafeedsInsertResource = "content" :> ("v2" :> (Capture "merchantId" (Textual Word64) :> ("datafeeds" :> (QueryParam "dryRun" Bool :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Datafeed :> Post '[JSON] Datafeed))))))

-- | Creates a value of <a>DatafeedsInsert</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>diMerchantId</a></li>
--   <li><a>diPayload</a></li>
--   <li><a>diDryRun</a></li>
--   </ul>
datafeedsInsert :: Word64 -> Datafeed -> DatafeedsInsert

-- | Registers a datafeed with your Merchant Center account. This method
--   can only be called for non-multi-client accounts.
--   
--   <i>See:</i> <a>datafeedsInsert</a> smart constructor.
data DatafeedsInsert
diMerchantId :: Lens' DatafeedsInsert Word64

-- | Multipart request metadata.
diPayload :: Lens' DatafeedsInsert Datafeed

-- | Flag to run the request in dry-run mode.
diDryRun :: Lens' DatafeedsInsert (Maybe Bool)
instance GHC.Generics.Generic Network.Google.Resource.Content.Datafeeds.Insert.DatafeedsInsert
instance Data.Data.Data Network.Google.Resource.Content.Datafeeds.Insert.DatafeedsInsert
instance GHC.Show.Show Network.Google.Resource.Content.Datafeeds.Insert.DatafeedsInsert
instance GHC.Classes.Eq Network.Google.Resource.Content.Datafeeds.Insert.DatafeedsInsert
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Content.Datafeeds.Insert.DatafeedsInsert


-- | Retrieves a datafeed from your Merchant Center account. This method
--   can only be called for non-multi-client accounts.
--   
--   <i>See:</i> <a>Content API for Shopping Reference</a> for
--   <tt>content.datafeeds.get</tt>.
module Network.Google.Resource.Content.Datafeeds.Get

-- | A resource alias for <tt>content.datafeeds.get</tt> method which the
--   <a>DatafeedsGet</a> request conforms to.
type DatafeedsGetResource = "content" :> ("v2" :> (Capture "merchantId" (Textual Word64) :> ("datafeeds" :> (Capture "datafeedId" (Textual Word64) :> (QueryParam "alt" AltJSON :> Get '[JSON] Datafeed)))))

-- | Creates a value of <a>DatafeedsGet</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dgMerchantId</a></li>
--   <li><a>dgDatafeedId</a></li>
--   </ul>
datafeedsGet :: Word64 -> Word64 -> DatafeedsGet

-- | Retrieves a datafeed from your Merchant Center account. This method
--   can only be called for non-multi-client accounts.
--   
--   <i>See:</i> <a>datafeedsGet</a> smart constructor.
data DatafeedsGet
dgMerchantId :: Lens' DatafeedsGet Word64
dgDatafeedId :: Lens' DatafeedsGet Word64
instance GHC.Generics.Generic Network.Google.Resource.Content.Datafeeds.Get.DatafeedsGet
instance Data.Data.Data Network.Google.Resource.Content.Datafeeds.Get.DatafeedsGet
instance GHC.Show.Show Network.Google.Resource.Content.Datafeeds.Get.DatafeedsGet
instance GHC.Classes.Eq Network.Google.Resource.Content.Datafeeds.Get.DatafeedsGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Content.Datafeeds.Get.DatafeedsGet


-- | Deletes a datafeed from your Merchant Center account. This method can
--   only be called for non-multi-client accounts.
--   
--   <i>See:</i> <a>Content API for Shopping Reference</a> for
--   <tt>content.datafeeds.delete</tt>.
module Network.Google.Resource.Content.Datafeeds.Delete

-- | A resource alias for <tt>content.datafeeds.delete</tt> method which
--   the <a>DatafeedsDelete</a> request conforms to.
type DatafeedsDeleteResource = "content" :> ("v2" :> (Capture "merchantId" (Textual Word64) :> ("datafeeds" :> (Capture "datafeedId" (Textual Word64) :> (QueryParam "dryRun" Bool :> (QueryParam "alt" AltJSON :> Delete '[JSON] ()))))))

-- | Creates a value of <a>DatafeedsDelete</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddMerchantId</a></li>
--   <li><a>ddDatafeedId</a></li>
--   <li><a>ddDryRun</a></li>
--   </ul>
datafeedsDelete :: Word64 -> Word64 -> DatafeedsDelete

-- | Deletes a datafeed from your Merchant Center account. This method can
--   only be called for non-multi-client accounts.
--   
--   <i>See:</i> <a>datafeedsDelete</a> smart constructor.
data DatafeedsDelete
ddMerchantId :: Lens' DatafeedsDelete Word64
ddDatafeedId :: Lens' DatafeedsDelete Word64

-- | Flag to run the request in dry-run mode.
ddDryRun :: Lens' DatafeedsDelete (Maybe Bool)
instance GHC.Generics.Generic Network.Google.Resource.Content.Datafeeds.Delete.DatafeedsDelete
instance Data.Data.Data Network.Google.Resource.Content.Datafeeds.Delete.DatafeedsDelete
instance GHC.Show.Show Network.Google.Resource.Content.Datafeeds.Delete.DatafeedsDelete
instance GHC.Classes.Eq Network.Google.Resource.Content.Datafeeds.Delete.DatafeedsDelete
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Content.Datafeeds.Delete.DatafeedsDelete


-- | <i>See:</i> <a>Content API for Shopping Reference</a> for
--   <tt>content.datafeeds.custombatch</tt>.
module Network.Google.Resource.Content.Datafeeds.Custombatch

-- | A resource alias for <tt>content.datafeeds.custombatch</tt> method
--   which the <a>DatafeedsCustombatch</a> request conforms to.
type DatafeedsCustombatchResource = "content" :> ("v2" :> ("datafeeds" :> ("batch" :> (QueryParam "dryRun" Bool :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] DatafeedsCustomBatchRequest :> Post '[JSON] DatafeedsCustomBatchResponse))))))

-- | Creates a value of <a>DatafeedsCustombatch</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dPayload</a></li>
--   <li><a>dDryRun</a></li>
--   </ul>
datafeedsCustombatch :: DatafeedsCustomBatchRequest -> DatafeedsCustombatch
data DatafeedsCustombatch

-- | Multipart request metadata.
dPayload :: Lens' DatafeedsCustombatch DatafeedsCustomBatchRequest

-- | Flag to run the request in dry-run mode.
dDryRun :: Lens' DatafeedsCustombatch (Maybe Bool)
instance GHC.Generics.Generic Network.Google.Resource.Content.Datafeeds.Custombatch.DatafeedsCustombatch
instance Data.Data.Data Network.Google.Resource.Content.Datafeeds.Custombatch.DatafeedsCustombatch
instance GHC.Show.Show Network.Google.Resource.Content.Datafeeds.Custombatch.DatafeedsCustombatch
instance GHC.Classes.Eq Network.Google.Resource.Content.Datafeeds.Custombatch.DatafeedsCustombatch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Content.Datafeeds.Custombatch.DatafeedsCustombatch


-- | Updates the tax 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.
--   
--   <i>See:</i> <a>Content API for Shopping Reference</a> for
--   <tt>content.accounttax.update</tt>.
module Network.Google.Resource.Content.Accounttax.Update

-- | A resource alias for <tt>content.accounttax.update</tt> method which
--   the <a>AccounttaxUpdate</a> request conforms to.
type AccounttaxUpdateResource = "content" :> ("v2" :> (Capture "merchantId" (Textual Word64) :> ("accounttax" :> (Capture "accountId" (Textual Word64) :> (QueryParam "dryRun" Bool :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] AccountTax :> Put '[JSON] AccountTax)))))))

-- | Creates a value of <a>AccounttaxUpdate</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>auuMerchantId</a></li>
--   <li><a>auuPayload</a></li>
--   <li><a>auuAccountId</a></li>
--   <li><a>auuDryRun</a></li>
--   </ul>
accounttaxUpdate :: Word64 -> AccountTax -> Word64 -> AccounttaxUpdate

-- | Updates the tax 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.
--   
--   <i>See:</i> <a>accounttaxUpdate</a> smart constructor.
data AccounttaxUpdate

-- | The ID of the managing account.
auuMerchantId :: Lens' AccounttaxUpdate Word64

-- | Multipart request metadata.
auuPayload :: Lens' AccounttaxUpdate AccountTax

-- | The ID of the account for which to get/update account tax settings.
auuAccountId :: Lens' AccounttaxUpdate Word64

-- | Flag to run the request in dry-run mode.
auuDryRun :: Lens' AccounttaxUpdate (Maybe Bool)
instance GHC.Generics.Generic Network.Google.Resource.Content.Accounttax.Update.AccounttaxUpdate
instance Data.Data.Data Network.Google.Resource.Content.Accounttax.Update.AccounttaxUpdate
instance GHC.Show.Show Network.Google.Resource.Content.Accounttax.Update.AccounttaxUpdate
instance GHC.Classes.Eq Network.Google.Resource.Content.Accounttax.Update.AccounttaxUpdate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Content.Accounttax.Update.AccounttaxUpdate


-- | Updates the tax 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.
--   
--   <i>See:</i> <a>Content API for Shopping Reference</a> for
--   <tt>content.accounttax.patch</tt>.
module Network.Google.Resource.Content.Accounttax.Patch

-- | A resource alias for <tt>content.accounttax.patch</tt> method which
--   the <a>AccounttaxPatch</a> request conforms to.
type AccounttaxPatchResource = "content" :> ("v2" :> (Capture "merchantId" (Textual Word64) :> ("accounttax" :> (Capture "accountId" (Textual Word64) :> (QueryParam "dryRun" Bool :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] AccountTax :> Patch '[JSON] AccountTax)))))))

-- | Creates a value of <a>AccounttaxPatch</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>appMerchantId</a></li>
--   <li><a>appPayload</a></li>
--   <li><a>appAccountId</a></li>
--   <li><a>appDryRun</a></li>
--   </ul>
accounttaxPatch :: Word64 -> AccountTax -> Word64 -> AccounttaxPatch

-- | Updates the tax 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.
--   
--   <i>See:</i> <a>accounttaxPatch</a> smart constructor.
data AccounttaxPatch

-- | The ID of the managing account.
appMerchantId :: Lens' AccounttaxPatch Word64

-- | Multipart request metadata.
appPayload :: Lens' AccounttaxPatch AccountTax

-- | The ID of the account for which to get/update account tax settings.
appAccountId :: Lens' AccounttaxPatch Word64

-- | Flag to run the request in dry-run mode.
appDryRun :: Lens' AccounttaxPatch (Maybe Bool)
instance GHC.Generics.Generic Network.Google.Resource.Content.Accounttax.Patch.AccounttaxPatch
instance Data.Data.Data Network.Google.Resource.Content.Accounttax.Patch.AccounttaxPatch
instance GHC.Show.Show Network.Google.Resource.Content.Accounttax.Patch.AccounttaxPatch
instance GHC.Classes.Eq Network.Google.Resource.Content.Accounttax.Patch.AccounttaxPatch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Content.Accounttax.Patch.AccounttaxPatch


-- | Lists the tax settings of the sub-accounts in your Merchant Center
--   account. This method can only be called for multi-client accounts.
--   
--   <i>See:</i> <a>Content API for Shopping Reference</a> for
--   <tt>content.accounttax.list</tt>.
module Network.Google.Resource.Content.Accounttax.List

-- | A resource alias for <tt>content.accounttax.list</tt> method which the
--   <a>AccounttaxList</a> request conforms to.
type AccounttaxListResource = "content" :> ("v2" :> (Capture "merchantId" (Textual Word64) :> ("accounttax" :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] AccounttaxListResponse))))))

-- | Creates a value of <a>AccounttaxList</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>allMerchantId</a></li>
--   <li><a>allPageToken</a></li>
--   <li><a>allMaxResults</a></li>
--   </ul>
accounttaxList :: Word64 -> AccounttaxList

-- | Lists the tax settings of the sub-accounts in your Merchant Center
--   account. This method can only be called for multi-client accounts.
--   
--   <i>See:</i> <a>accounttaxList</a> smart constructor.
data AccounttaxList

-- | The ID of the managing account.
allMerchantId :: Lens' AccounttaxList Word64

-- | The token returned by the previous request.
allPageToken :: Lens' AccounttaxList (Maybe Text)

-- | The maximum number of tax settings to return in the response, used for
--   paging.
allMaxResults :: Lens' AccounttaxList (Maybe Word32)
instance GHC.Generics.Generic Network.Google.Resource.Content.Accounttax.List.AccounttaxList
instance Data.Data.Data Network.Google.Resource.Content.Accounttax.List.AccounttaxList
instance GHC.Show.Show Network.Google.Resource.Content.Accounttax.List.AccounttaxList
instance GHC.Classes.Eq Network.Google.Resource.Content.Accounttax.List.AccounttaxList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Content.Accounttax.List.AccounttaxList


-- | Retrieves the tax 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.
--   
--   <i>See:</i> <a>Content API for Shopping Reference</a> for
--   <tt>content.accounttax.get</tt>.
module Network.Google.Resource.Content.Accounttax.Get

-- | A resource alias for <tt>content.accounttax.get</tt> method which the
--   <a>AccounttaxGet</a> request conforms to.
type AccounttaxGetResource = "content" :> ("v2" :> (Capture "merchantId" (Textual Word64) :> ("accounttax" :> (Capture "accountId" (Textual Word64) :> (QueryParam "alt" AltJSON :> Get '[JSON] AccountTax)))))

-- | Creates a value of <a>AccounttaxGet</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aggMerchantId</a></li>
--   <li><a>aggAccountId</a></li>
--   </ul>
accounttaxGet :: Word64 -> Word64 -> AccounttaxGet

-- | Retrieves the tax 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.
--   
--   <i>See:</i> <a>accounttaxGet</a> smart constructor.
data AccounttaxGet

-- | The ID of the managing account.
aggMerchantId :: Lens' AccounttaxGet Word64

-- | The ID of the account for which to get/update account tax settings.
aggAccountId :: Lens' AccounttaxGet Word64
instance GHC.Generics.Generic Network.Google.Resource.Content.Accounttax.Get.AccounttaxGet
instance Data.Data.Data Network.Google.Resource.Content.Accounttax.Get.AccounttaxGet
instance GHC.Show.Show Network.Google.Resource.Content.Accounttax.Get.AccounttaxGet
instance GHC.Classes.Eq Network.Google.Resource.Content.Accounttax.Get.AccounttaxGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Content.Accounttax.Get.AccounttaxGet


-- | Retrieves and updates tax settings of multiple accounts in a single
--   request.
--   
--   <i>See:</i> <a>Content API for Shopping Reference</a> for
--   <tt>content.accounttax.custombatch</tt>.
module Network.Google.Resource.Content.Accounttax.Custombatch

-- | A resource alias for <tt>content.accounttax.custombatch</tt> method
--   which the <a>AccounttaxCustombatch</a> request conforms to.
type AccounttaxCustombatchResource = "content" :> ("v2" :> ("accounttax" :> ("batch" :> (QueryParam "dryRun" Bool :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] AccounttaxCustomBatchRequest :> Post '[JSON] AccounttaxCustomBatchResponse))))))

-- | Creates a value of <a>AccounttaxCustombatch</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>acccPayload</a></li>
--   <li><a>acccDryRun</a></li>
--   </ul>
accounttaxCustombatch :: AccounttaxCustomBatchRequest -> AccounttaxCustombatch

-- | Retrieves and updates tax settings of multiple accounts in a single
--   request.
--   
--   <i>See:</i> <a>accounttaxCustombatch</a> smart constructor.
data AccounttaxCustombatch

-- | Multipart request metadata.
acccPayload :: Lens' AccounttaxCustombatch AccounttaxCustomBatchRequest

-- | Flag to run the request in dry-run mode.
acccDryRun :: Lens' AccounttaxCustombatch (Maybe Bool)
instance GHC.Generics.Generic Network.Google.Resource.Content.Accounttax.Custombatch.AccounttaxCustombatch
instance Data.Data.Data Network.Google.Resource.Content.Accounttax.Custombatch.AccounttaxCustombatch
instance GHC.Show.Show Network.Google.Resource.Content.Accounttax.Custombatch.AccounttaxCustombatch
instance GHC.Classes.Eq Network.Google.Resource.Content.Accounttax.Custombatch.AccounttaxCustombatch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Content.Accounttax.Custombatch.AccounttaxCustombatch


-- | Lists the statuses of the sub-accounts in your Merchant Center
--   account. This method can only be called for multi-client accounts.
--   
--   <i>See:</i> <a>Content API for Shopping Reference</a> for
--   <tt>content.accountstatuses.list</tt>.
module Network.Google.Resource.Content.Accountstatuses.List

-- | A resource alias for <tt>content.accountstatuses.list</tt> method
--   which the <a>AccountstatusesList</a> request conforms to.
type AccountstatusesListResource = "content" :> ("v2" :> (Capture "merchantId" (Textual Word64) :> ("accountstatuses" :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] AccountstatusesListResponse))))))

-- | Creates a value of <a>AccountstatusesList</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>acc3MerchantId</a></li>
--   <li><a>acc3PageToken</a></li>
--   <li><a>acc3MaxResults</a></li>
--   </ul>
accountstatusesList :: Word64 -> AccountstatusesList

-- | Lists the statuses of the sub-accounts in your Merchant Center
--   account. This method can only be called for multi-client accounts.
--   
--   <i>See:</i> <a>accountstatusesList</a> smart constructor.
data AccountstatusesList

-- | The ID of the managing account.
acc3MerchantId :: Lens' AccountstatusesList Word64

-- | The token returned by the previous request.
acc3PageToken :: Lens' AccountstatusesList (Maybe Text)

-- | The maximum number of account statuses to return in the response, used
--   for paging.
acc3MaxResults :: Lens' AccountstatusesList (Maybe Word32)
instance GHC.Generics.Generic Network.Google.Resource.Content.Accountstatuses.List.AccountstatusesList
instance Data.Data.Data Network.Google.Resource.Content.Accountstatuses.List.AccountstatusesList
instance GHC.Show.Show Network.Google.Resource.Content.Accountstatuses.List.AccountstatusesList
instance GHC.Classes.Eq Network.Google.Resource.Content.Accountstatuses.List.AccountstatusesList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Content.Accountstatuses.List.AccountstatusesList


-- | Retrieves the status of a Merchant Center 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.
--   
--   <i>See:</i> <a>Content API for Shopping Reference</a> for
--   <tt>content.accountstatuses.get</tt>.
module Network.Google.Resource.Content.Accountstatuses.Get

-- | A resource alias for <tt>content.accountstatuses.get</tt> method which
--   the <a>AccountstatusesGet</a> request conforms to.
type AccountstatusesGetResource = "content" :> ("v2" :> (Capture "merchantId" (Textual Word64) :> ("accountstatuses" :> (Capture "accountId" (Textual Word64) :> (QueryParam "alt" AltJSON :> Get '[JSON] AccountStatus)))))

-- | Creates a value of <a>AccountstatusesGet</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ag1MerchantId</a></li>
--   <li><a>ag1AccountId</a></li>
--   </ul>
accountstatusesGet :: Word64 -> Word64 -> AccountstatusesGet

-- | Retrieves the status of a Merchant Center 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.
--   
--   <i>See:</i> <a>accountstatusesGet</a> smart constructor.
data AccountstatusesGet

-- | The ID of the managing account.
ag1MerchantId :: Lens' AccountstatusesGet Word64

-- | The ID of the account.
ag1AccountId :: Lens' AccountstatusesGet Word64
instance GHC.Generics.Generic Network.Google.Resource.Content.Accountstatuses.Get.AccountstatusesGet
instance Data.Data.Data Network.Google.Resource.Content.Accountstatuses.Get.AccountstatusesGet
instance GHC.Show.Show Network.Google.Resource.Content.Accountstatuses.Get.AccountstatusesGet
instance GHC.Classes.Eq Network.Google.Resource.Content.Accountstatuses.Get.AccountstatusesGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Content.Accountstatuses.Get.AccountstatusesGet


-- | <i>See:</i> <a>Content API for Shopping Reference</a> for
--   <tt>content.accountstatuses.custombatch</tt>.
module Network.Google.Resource.Content.Accountstatuses.Custombatch

-- | A resource alias for <tt>content.accountstatuses.custombatch</tt>
--   method which the <a>AccountstatusesCustombatch</a> request conforms
--   to.
type AccountstatusesCustombatchResource = "content" :> ("v2" :> ("accountstatuses" :> ("batch" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] AccountstatusesCustomBatchRequest :> Post '[JSON] AccountstatusesCustomBatchResponse)))))

-- | Creates a value of <a>AccountstatusesCustombatch</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>accPayload</a></li>
--   </ul>
accountstatusesCustombatch :: AccountstatusesCustomBatchRequest -> AccountstatusesCustombatch
data AccountstatusesCustombatch

-- | Multipart request metadata.
accPayload :: Lens' AccountstatusesCustombatch AccountstatusesCustomBatchRequest
instance GHC.Generics.Generic Network.Google.Resource.Content.Accountstatuses.Custombatch.AccountstatusesCustombatch
instance Data.Data.Data Network.Google.Resource.Content.Accountstatuses.Custombatch.AccountstatusesCustombatch
instance GHC.Show.Show Network.Google.Resource.Content.Accountstatuses.Custombatch.AccountstatusesCustombatch
instance GHC.Classes.Eq Network.Google.Resource.Content.Accountstatuses.Custombatch.AccountstatusesCustombatch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Content.Accountstatuses.Custombatch.AccountstatusesCustombatch


-- | 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.
--   
--   <i>See:</i> <a>Content API for Shopping Reference</a> for
--   <tt>content.accountshipping.update</tt>.
module Network.Google.Resource.Content.Accountshipping.Update

-- | A resource alias for <tt>content.accountshipping.update</tt> method
--   which the <a>AccountshippingUpdate</a> request conforms to.
type AccountshippingUpdateResource = "content" :> ("v2" :> (Capture "merchantId" (Textual Word64) :> ("accountshipping" :> (Capture "accountId" (Textual Word64) :> (QueryParam "dryRun" Bool :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] AccountShipping :> Put '[JSON] AccountShipping)))))))

-- | Creates a value of <a>AccountshippingUpdate</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>auMerchantId</a></li>
--   <li><a>auPayload</a></li>
--   <li><a>auAccountId</a></li>
--   <li><a>auDryRun</a></li>
--   </ul>
accountshippingUpdate :: Word64 -> AccountShipping -> Word64 -> AccountshippingUpdate

-- | 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.
--   
--   <i>See:</i> <a>accountshippingUpdate</a> smart constructor.
data AccountshippingUpdate

-- | The ID of the managing account.
auMerchantId :: Lens' AccountshippingUpdate Word64

-- | Multipart request metadata.
auPayload :: Lens' AccountshippingUpdate AccountShipping

-- | The ID of the account for which to get/update account shipping
--   settings.
auAccountId :: Lens' AccountshippingUpdate Word64

-- | Flag to run the request in dry-run mode.
auDryRun :: Lens' AccountshippingUpdate (Maybe Bool)
instance GHC.Generics.Generic Network.Google.Resource.Content.Accountshipping.Update.AccountshippingUpdate
instance Data.Data.Data Network.Google.Resource.Content.Accountshipping.Update.AccountshippingUpdate
instance GHC.Show.Show Network.Google.Resource.Content.Accountshipping.Update.AccountshippingUpdate
instance GHC.Classes.Eq Network.Google.Resource.Content.Accountshipping.Update.AccountshippingUpdate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Content.Accountshipping.Update.AccountshippingUpdate


-- | 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.
--   
--   <i>See:</i> <a>Content API for Shopping Reference</a> for
--   <tt>content.accountshipping.patch</tt>.
module Network.Google.Resource.Content.Accountshipping.Patch

-- | A resource alias for <tt>content.accountshipping.patch</tt> method
--   which the <a>AccountshippingPatch</a> request conforms to.
type AccountshippingPatchResource = "content" :> ("v2" :> (Capture "merchantId" (Textual Word64) :> ("accountshipping" :> (Capture "accountId" (Textual Word64) :> (QueryParam "dryRun" Bool :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] AccountShipping :> Patch '[JSON] AccountShipping)))))))

-- | Creates a value of <a>AccountshippingPatch</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ap1MerchantId</a></li>
--   <li><a>ap1Payload</a></li>
--   <li><a>ap1AccountId</a></li>
--   <li><a>ap1DryRun</a></li>
--   </ul>
accountshippingPatch :: Word64 -> AccountShipping -> Word64 -> AccountshippingPatch

-- | 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.
--   
--   <i>See:</i> <a>accountshippingPatch</a> smart constructor.
data AccountshippingPatch

-- | The ID of the managing account.
ap1MerchantId :: Lens' AccountshippingPatch Word64

-- | Multipart request metadata.
ap1Payload :: Lens' AccountshippingPatch AccountShipping

-- | The ID of the account for which to get/update account shipping
--   settings.
ap1AccountId :: Lens' AccountshippingPatch Word64

-- | Flag to run the request in dry-run mode.
ap1DryRun :: Lens' AccountshippingPatch (Maybe Bool)
instance GHC.Generics.Generic Network.Google.Resource.Content.Accountshipping.Patch.AccountshippingPatch
instance Data.Data.Data Network.Google.Resource.Content.Accountshipping.Patch.AccountshippingPatch
instance GHC.Show.Show Network.Google.Resource.Content.Accountshipping.Patch.AccountshippingPatch
instance GHC.Classes.Eq Network.Google.Resource.Content.Accountshipping.Patch.AccountshippingPatch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Content.Accountshipping.Patch.AccountshippingPatch


-- | Lists the shipping settings of the sub-accounts in your Merchant
--   Center account. This method can only be called for multi-client
--   accounts.
--   
--   <i>See:</i> <a>Content API for Shopping Reference</a> for
--   <tt>content.accountshipping.list</tt>.
module Network.Google.Resource.Content.Accountshipping.List

-- | A resource alias for <tt>content.accountshipping.list</tt> method
--   which the <a>AccountshippingList</a> request conforms to.
type AccountshippingListResource = "content" :> ("v2" :> (Capture "merchantId" (Textual Word64) :> ("accountshipping" :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] AccountshippingListResponse))))))

-- | Creates a value of <a>AccountshippingList</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>al1MerchantId</a></li>
--   <li><a>al1PageToken</a></li>
--   <li><a>al1MaxResults</a></li>
--   </ul>
accountshippingList :: Word64 -> AccountshippingList

-- | Lists the shipping settings of the sub-accounts in your Merchant
--   Center account. This method can only be called for multi-client
--   accounts.
--   
--   <i>See:</i> <a>accountshippingList</a> smart constructor.
data AccountshippingList

-- | The ID of the managing account.
al1MerchantId :: Lens' AccountshippingList Word64

-- | The token returned by the previous request.
al1PageToken :: Lens' AccountshippingList (Maybe Text)

-- | The maximum number of shipping settings to return in the response,
--   used for paging.
al1MaxResults :: Lens' AccountshippingList (Maybe Word32)
instance GHC.Generics.Generic Network.Google.Resource.Content.Accountshipping.List.AccountshippingList
instance Data.Data.Data Network.Google.Resource.Content.Accountshipping.List.AccountshippingList
instance GHC.Show.Show Network.Google.Resource.Content.Accountshipping.List.AccountshippingList
instance GHC.Classes.Eq Network.Google.Resource.Content.Accountshipping.List.AccountshippingList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Content.Accountshipping.List.AccountshippingList


-- | 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.
--   
--   <i>See:</i> <a>Content API for Shopping Reference</a> for
--   <tt>content.accountshipping.get</tt>.
module Network.Google.Resource.Content.Accountshipping.Get

-- | A resource alias for <tt>content.accountshipping.get</tt> method which
--   the <a>AccountshippingGet</a> request conforms to.
type AccountshippingGetResource = "content" :> ("v2" :> (Capture "merchantId" (Textual Word64) :> ("accountshipping" :> (Capture "accountId" (Textual Word64) :> (QueryParam "alt" AltJSON :> Get '[JSON] AccountShipping)))))

-- | Creates a value of <a>AccountshippingGet</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>acccMerchantId</a></li>
--   <li><a>acccAccountId</a></li>
--   </ul>
accountshippingGet :: Word64 -> Word64 -> AccountshippingGet

-- | 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.
--   
--   <i>See:</i> <a>accountshippingGet</a> smart constructor.
data AccountshippingGet

-- | The ID of the managing account.
acccMerchantId :: Lens' AccountshippingGet Word64

-- | The ID of the account for which to get/update account shipping
--   settings.
acccAccountId :: Lens' AccountshippingGet Word64
instance GHC.Generics.Generic Network.Google.Resource.Content.Accountshipping.Get.AccountshippingGet
instance Data.Data.Data Network.Google.Resource.Content.Accountshipping.Get.AccountshippingGet
instance GHC.Show.Show Network.Google.Resource.Content.Accountshipping.Get.AccountshippingGet
instance GHC.Classes.Eq Network.Google.Resource.Content.Accountshipping.Get.AccountshippingGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Content.Accountshipping.Get.AccountshippingGet


-- | Retrieves and updates the shipping settings of multiple accounts in a
--   single request.
--   
--   <i>See:</i> <a>Content API for Shopping Reference</a> for
--   <tt>content.accountshipping.custombatch</tt>.
module Network.Google.Resource.Content.Accountshipping.Custombatch

-- | A resource alias for <tt>content.accountshipping.custombatch</tt>
--   method which the <a>AccountshippingCustombatch</a> request conforms
--   to.
type AccountshippingCustombatchResource = "content" :> ("v2" :> ("accountshipping" :> ("batch" :> (QueryParam "dryRun" Bool :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] AccountshippingCustomBatchRequest :> Post '[JSON] AccountshippingCustomBatchResponse))))))

-- | Creates a value of <a>AccountshippingCustombatch</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>acPayload</a></li>
--   <li><a>acDryRun</a></li>
--   </ul>
accountshippingCustombatch :: AccountshippingCustomBatchRequest -> AccountshippingCustombatch

-- | Retrieves and updates the shipping settings of multiple accounts in a
--   single request.
--   
--   <i>See:</i> <a>accountshippingCustombatch</a> smart constructor.
data AccountshippingCustombatch

-- | Multipart request metadata.
acPayload :: Lens' AccountshippingCustombatch AccountshippingCustomBatchRequest

-- | Flag to run the request in dry-run mode.
acDryRun :: Lens' AccountshippingCustombatch (Maybe Bool)
instance GHC.Generics.Generic Network.Google.Resource.Content.Accountshipping.Custombatch.AccountshippingCustombatch
instance Data.Data.Data Network.Google.Resource.Content.Accountshipping.Custombatch.AccountshippingCustombatch
instance GHC.Show.Show Network.Google.Resource.Content.Accountshipping.Custombatch.AccountshippingCustombatch
instance GHC.Classes.Eq Network.Google.Resource.Content.Accountshipping.Custombatch.AccountshippingCustombatch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Content.Accountshipping.Custombatch.AccountshippingCustombatch


-- | Updates a Merchant Center 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.
--   
--   <i>See:</i> <a>Content API for Shopping Reference</a> for
--   <tt>content.accounts.update</tt>.
module Network.Google.Resource.Content.Accounts.Update

-- | A resource alias for <tt>content.accounts.update</tt> method which the
--   <a>AccountsUpdate</a> request conforms to.
type AccountsUpdateResource = "content" :> ("v2" :> (Capture "merchantId" (Textual Word64) :> ("accounts" :> (Capture "accountId" (Textual Word64) :> (QueryParam "dryRun" Bool :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Account :> Put '[JSON] Account)))))))

-- | Creates a value of <a>AccountsUpdate</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>au1MerchantId</a></li>
--   <li><a>au1Payload</a></li>
--   <li><a>au1AccountId</a></li>
--   <li><a>au1DryRun</a></li>
--   </ul>
accountsUpdate :: Word64 -> Account -> Word64 -> AccountsUpdate

-- | Updates a Merchant Center 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.
--   
--   <i>See:</i> <a>accountsUpdate</a> smart constructor.
data AccountsUpdate

-- | The ID of the managing account.
au1MerchantId :: Lens' AccountsUpdate Word64

-- | Multipart request metadata.
au1Payload :: Lens' AccountsUpdate Account

-- | The ID of the account.
au1AccountId :: Lens' AccountsUpdate Word64

-- | Flag to run the request in dry-run mode.
au1DryRun :: Lens' AccountsUpdate (Maybe Bool)
instance GHC.Generics.Generic Network.Google.Resource.Content.Accounts.Update.AccountsUpdate
instance Data.Data.Data Network.Google.Resource.Content.Accounts.Update.AccountsUpdate
instance GHC.Show.Show Network.Google.Resource.Content.Accounts.Update.AccountsUpdate
instance GHC.Classes.Eq Network.Google.Resource.Content.Accounts.Update.AccountsUpdate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Content.Accounts.Update.AccountsUpdate


-- | Updates a Merchant Center 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.
--   
--   <i>See:</i> <a>Content API for Shopping Reference</a> for
--   <tt>content.accounts.patch</tt>.
module Network.Google.Resource.Content.Accounts.Patch

-- | A resource alias for <tt>content.accounts.patch</tt> method which the
--   <a>AccountsPatch</a> request conforms to.
type AccountsPatchResource = "content" :> ("v2" :> (Capture "merchantId" (Textual Word64) :> ("accounts" :> (Capture "accountId" (Textual Word64) :> (QueryParam "dryRun" Bool :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Account :> Patch '[JSON] Account)))))))

-- | Creates a value of <a>AccountsPatch</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>apMerchantId</a></li>
--   <li><a>apPayload</a></li>
--   <li><a>apAccountId</a></li>
--   <li><a>apDryRun</a></li>
--   </ul>
accountsPatch :: Word64 -> Account -> Word64 -> AccountsPatch

-- | Updates a Merchant Center 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.
--   
--   <i>See:</i> <a>accountsPatch</a> smart constructor.
data AccountsPatch

-- | The ID of the managing account.
apMerchantId :: Lens' AccountsPatch Word64

-- | Multipart request metadata.
apPayload :: Lens' AccountsPatch Account

-- | The ID of the account.
apAccountId :: Lens' AccountsPatch Word64

-- | Flag to run the request in dry-run mode.
apDryRun :: Lens' AccountsPatch (Maybe Bool)
instance GHC.Generics.Generic Network.Google.Resource.Content.Accounts.Patch.AccountsPatch
instance Data.Data.Data Network.Google.Resource.Content.Accounts.Patch.AccountsPatch
instance GHC.Show.Show Network.Google.Resource.Content.Accounts.Patch.AccountsPatch
instance GHC.Classes.Eq Network.Google.Resource.Content.Accounts.Patch.AccountsPatch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Content.Accounts.Patch.AccountsPatch


-- | Lists the sub-accounts in your Merchant Center account. This method
--   can only be called for multi-client accounts.
--   
--   <i>See:</i> <a>Content API for Shopping Reference</a> for
--   <tt>content.accounts.list</tt>.
module Network.Google.Resource.Content.Accounts.List

-- | A resource alias for <tt>content.accounts.list</tt> method which the
--   <a>AccountsList</a> request conforms to.
type AccountsListResource = "content" :> ("v2" :> (Capture "merchantId" (Textual Word64) :> ("accounts" :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] AccountsListResponse))))))

-- | Creates a value of <a>AccountsList</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>alMerchantId</a></li>
--   <li><a>alPageToken</a></li>
--   <li><a>alMaxResults</a></li>
--   </ul>
accountsList :: Word64 -> AccountsList

-- | Lists the sub-accounts in your Merchant Center account. This method
--   can only be called for multi-client accounts.
--   
--   <i>See:</i> <a>accountsList</a> smart constructor.
data AccountsList

-- | The ID of the managing account.
alMerchantId :: Lens' AccountsList Word64

-- | The token returned by the previous request.
alPageToken :: Lens' AccountsList (Maybe Text)

-- | The maximum number of accounts to return in the response, used for
--   paging.
alMaxResults :: Lens' AccountsList (Maybe Word32)
instance GHC.Generics.Generic Network.Google.Resource.Content.Accounts.List.AccountsList
instance Data.Data.Data Network.Google.Resource.Content.Accounts.List.AccountsList
instance GHC.Show.Show Network.Google.Resource.Content.Accounts.List.AccountsList
instance GHC.Classes.Eq Network.Google.Resource.Content.Accounts.List.AccountsList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Content.Accounts.List.AccountsList


-- | Creates a Merchant Center sub-account. This method can only be called
--   for multi-client accounts.
--   
--   <i>See:</i> <a>Content API for Shopping Reference</a> for
--   <tt>content.accounts.insert</tt>.
module Network.Google.Resource.Content.Accounts.Insert

-- | A resource alias for <tt>content.accounts.insert</tt> method which the
--   <a>AccountsInsert</a> request conforms to.
type AccountsInsertResource = "content" :> ("v2" :> (Capture "merchantId" (Textual Word64) :> ("accounts" :> (QueryParam "dryRun" Bool :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Account :> Post '[JSON] Account))))))

-- | Creates a value of <a>AccountsInsert</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aMerchantId</a></li>
--   <li><a>aPayload</a></li>
--   <li><a>aDryRun</a></li>
--   </ul>
accountsInsert :: Word64 -> Account -> AccountsInsert

-- | Creates a Merchant Center sub-account. This method can only be called
--   for multi-client accounts.
--   
--   <i>See:</i> <a>accountsInsert</a> smart constructor.
data AccountsInsert

-- | The ID of the managing account.
aMerchantId :: Lens' AccountsInsert Word64

-- | Multipart request metadata.
aPayload :: Lens' AccountsInsert Account

-- | Flag to run the request in dry-run mode.
aDryRun :: Lens' AccountsInsert (Maybe Bool)
instance GHC.Generics.Generic Network.Google.Resource.Content.Accounts.Insert.AccountsInsert
instance Data.Data.Data Network.Google.Resource.Content.Accounts.Insert.AccountsInsert
instance GHC.Show.Show Network.Google.Resource.Content.Accounts.Insert.AccountsInsert
instance GHC.Classes.Eq Network.Google.Resource.Content.Accounts.Insert.AccountsInsert
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Content.Accounts.Insert.AccountsInsert


-- | Retrieves a Merchant Center 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.
--   
--   <i>See:</i> <a>Content API for Shopping Reference</a> for
--   <tt>content.accounts.get</tt>.
module Network.Google.Resource.Content.Accounts.Get

-- | A resource alias for <tt>content.accounts.get</tt> method which the
--   <a>AccountsGet</a> request conforms to.
type AccountsGetResource = "content" :> ("v2" :> (Capture "merchantId" (Textual Word64) :> ("accounts" :> (Capture "accountId" (Textual Word64) :> (QueryParam "alt" AltJSON :> Get '[JSON] Account)))))

-- | Creates a value of <a>AccountsGet</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>agMerchantId</a></li>
--   <li><a>agAccountId</a></li>
--   </ul>
accountsGet :: Word64 -> Word64 -> AccountsGet

-- | Retrieves a Merchant Center 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.
--   
--   <i>See:</i> <a>accountsGet</a> smart constructor.
data AccountsGet

-- | The ID of the managing account.
agMerchantId :: Lens' AccountsGet Word64

-- | The ID of the account.
agAccountId :: Lens' AccountsGet Word64
instance GHC.Generics.Generic Network.Google.Resource.Content.Accounts.Get.AccountsGet
instance Data.Data.Data Network.Google.Resource.Content.Accounts.Get.AccountsGet
instance GHC.Show.Show Network.Google.Resource.Content.Accounts.Get.AccountsGet
instance GHC.Classes.Eq Network.Google.Resource.Content.Accounts.Get.AccountsGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Content.Accounts.Get.AccountsGet


-- | Deletes a Merchant Center sub-account. This method can only be called
--   for multi-client accounts.
--   
--   <i>See:</i> <a>Content API for Shopping Reference</a> for
--   <tt>content.accounts.delete</tt>.
module Network.Google.Resource.Content.Accounts.Delete

-- | A resource alias for <tt>content.accounts.delete</tt> method which the
--   <a>AccountsDelete</a> request conforms to.
type AccountsDeleteResource = "content" :> ("v2" :> (Capture "merchantId" (Textual Word64) :> ("accounts" :> (Capture "accountId" (Textual Word64) :> (QueryParam "dryRun" Bool :> (QueryParam "alt" AltJSON :> Delete '[JSON] ()))))))

-- | Creates a value of <a>AccountsDelete</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>adMerchantId</a></li>
--   <li><a>adAccountId</a></li>
--   <li><a>adDryRun</a></li>
--   </ul>
accountsDelete :: Word64 -> Word64 -> AccountsDelete

-- | Deletes a Merchant Center sub-account. This method can only be called
--   for multi-client accounts.
--   
--   <i>See:</i> <a>accountsDelete</a> smart constructor.
data AccountsDelete

-- | The ID of the managing account.
adMerchantId :: Lens' AccountsDelete Word64

-- | The ID of the account.
adAccountId :: Lens' AccountsDelete Word64

-- | Flag to run the request in dry-run mode.
adDryRun :: Lens' AccountsDelete (Maybe Bool)
instance GHC.Generics.Generic Network.Google.Resource.Content.Accounts.Delete.AccountsDelete
instance Data.Data.Data Network.Google.Resource.Content.Accounts.Delete.AccountsDelete
instance GHC.Show.Show Network.Google.Resource.Content.Accounts.Delete.AccountsDelete
instance GHC.Classes.Eq Network.Google.Resource.Content.Accounts.Delete.AccountsDelete
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Content.Accounts.Delete.AccountsDelete


-- | Retrieves, inserts, updates, and deletes multiple Merchant Center
--   (sub-)accounts in a single request.
--   
--   <i>See:</i> <a>Content API for Shopping Reference</a> for
--   <tt>content.accounts.custombatch</tt>.
module Network.Google.Resource.Content.Accounts.Custombatch

-- | A resource alias for <tt>content.accounts.custombatch</tt> method
--   which the <a>AccountsCustombatch</a> request conforms to.
type AccountsCustombatchResource = "content" :> ("v2" :> ("accounts" :> ("batch" :> (QueryParam "dryRun" Bool :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] AccountsCustomBatchRequest :> Post '[JSON] AccountsCustomBatchResponse))))))

-- | Creates a value of <a>AccountsCustombatch</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aaPayload</a></li>
--   <li><a>aaDryRun</a></li>
--   </ul>
accountsCustombatch :: AccountsCustomBatchRequest -> AccountsCustombatch

-- | Retrieves, inserts, updates, and deletes multiple Merchant Center
--   (sub-)accounts in a single request.
--   
--   <i>See:</i> <a>accountsCustombatch</a> smart constructor.
data AccountsCustombatch

-- | Multipart request metadata.
aaPayload :: Lens' AccountsCustombatch AccountsCustomBatchRequest

-- | Flag to run the request in dry-run mode.
aaDryRun :: Lens' AccountsCustombatch (Maybe Bool)
instance GHC.Generics.Generic Network.Google.Resource.Content.Accounts.Custombatch.AccountsCustombatch
instance Data.Data.Data Network.Google.Resource.Content.Accounts.Custombatch.AccountsCustombatch
instance GHC.Show.Show Network.Google.Resource.Content.Accounts.Custombatch.AccountsCustombatch
instance GHC.Classes.Eq Network.Google.Resource.Content.Accounts.Custombatch.AccountsCustombatch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Content.Accounts.Custombatch.AccountsCustombatch


-- | Returns information about the authenticated user.
--   
--   <i>See:</i> <a>Content API for Shopping Reference</a> for
--   <tt>content.accounts.authinfo</tt>.
module Network.Google.Resource.Content.Accounts.AuthInfo

-- | A resource alias for <tt>content.accounts.authinfo</tt> method which
--   the <a>AccountsAuthInfo</a> request conforms to.
type AccountsAuthInfoResource = "content" :> ("v2" :> ("accounts" :> ("authinfo" :> (QueryParam "alt" AltJSON :> Get '[JSON] AccountsAuthInfoResponse))))

-- | Creates a value of <a>AccountsAuthInfo</a> with the minimum fields
--   required to make a request.
accountsAuthInfo :: AccountsAuthInfo

-- | Returns information about the authenticated user.
--   
--   <i>See:</i> <a>accountsAuthInfo</a> smart constructor.
data AccountsAuthInfo
instance GHC.Generics.Generic Network.Google.Resource.Content.Accounts.AuthInfo.AccountsAuthInfo
instance Data.Data.Data Network.Google.Resource.Content.Accounts.AuthInfo.AccountsAuthInfo
instance GHC.Show.Show Network.Google.Resource.Content.Accounts.AuthInfo.AccountsAuthInfo
instance GHC.Classes.Eq Network.Google.Resource.Content.Accounts.AuthInfo.AccountsAuthInfo
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Content.Accounts.AuthInfo.AccountsAuthInfo


-- | Manages product items, inventory, and Merchant Center accounts for
--   Google Shopping.
--   
--   <i>See:</i> <a>Content API for Shopping Reference</a>
module Network.Google.ShoppingContent

-- | Default request referring to version <tt>v2</tt> of the Content API
--   for Shopping. This contains the host and root path used as a starting
--   point for constructing service requests.
shoppingContentService :: ServiceConfig

-- | Manage your product listings and accounts for Google Shopping
contentScope :: Proxy '["https://www.googleapis.com/auth/content"]

-- | Represents the entirety of the methods and resources available for the
--   Content API for Shopping service.
type ShoppingContentAPI = AccounttaxListResource :<|> (AccounttaxPatchResource :<|> (AccounttaxGetResource :<|> (AccounttaxCustombatchResource :<|> (AccounttaxUpdateResource :<|> (AccountsInsertResource :<|> (AccountsListResource :<|> (AccountsPatchResource :<|> (AccountsGetResource :<|> (AccountsCustombatchResource :<|> (AccountsAuthInfoResource :<|> (AccountsDeleteResource :<|> (AccountsUpdateResource :<|> (ProductstatusesListResource :<|> (ProductstatusesGetResource :<|> (ProductstatusesCustombatchResource :<|> (ShippingSettingsListResource :<|> (ShippingSettingsPatchResource :<|> (ShippingSettingsGetResource :<|> (ShippingSettingsCustombatchResource :<|> (ShippingSettingsGetsupportedcarriersResource :<|> (ShippingSettingsUpdateResource :<|> (InventorySetResource :<|> (InventoryCustombatchResource :<|> (OrdersGetbymerchantOrderidResource :<|> (OrdersCreatetestOrderResource :<|> (OrdersListResource :<|> (OrdersCancellineitemResource :<|> (OrdersUpdatemerchantOrderidResource :<|> (OrdersAcknowledgeResource :<|> (OrdersGetResource :<|> (OrdersRefundResource :<|> (OrdersGettestOrdertemplateResource :<|> (OrdersReturnlineitemResource :<|> (OrdersUpdateshipmentResource :<|> (OrdersCustombatchResource :<|> (OrdersAdvancetestOrderResource :<|> (OrdersShiplineitemsResource :<|> (OrdersCancelResource :<|> (ProductsInsertResource :<|> (ProductsListResource :<|> (ProductsGetResource :<|> (ProductsCustombatchResource :<|> (ProductsDeleteResource :<|> (DatafeedstatusesListResource :<|> (DatafeedstatusesGetResource :<|> (DatafeedstatusesCustombatchResource :<|> (AccountstatusesListResource :<|> (AccountstatusesGetResource :<|> (AccountstatusesCustombatchResource :<|> (AccountshippingListResource :<|> (AccountshippingPatchResource :<|> (AccountshippingGetResource :<|> (AccountshippingCustombatchResource :<|> (AccountshippingUpdateResource :<|> (DatafeedsInsertResource :<|> (DatafeedsListResource :<|> (DatafeedsPatchResource :<|> (DatafeedsGetResource :<|> (DatafeedsCustombatchResource :<|> (DatafeedsDeleteResource :<|> DatafeedsUpdateResource))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
data OrdersAcknowledgeRequest

-- | Creates a value of <a>OrdersAcknowledgeRequest</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>oarOperationId</a></li>
--   </ul>
ordersAcknowledgeRequest :: OrdersAcknowledgeRequest

-- | The ID of the operation. Unique across all operations for a given
--   order.
oarOperationId :: Lens' OrdersAcknowledgeRequest (Maybe Text)

-- | The tax settings of a merchant account.
--   
--   <i>See:</i> <a>accountTax</a> smart constructor.
data AccountTax

-- | Creates a value of <a>AccountTax</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>atRules</a></li>
--   <li><a>atKind</a></li>
--   <li><a>atAccountId</a></li>
--   </ul>
accountTax :: AccountTax

-- | Tax rules. Updating the tax rules will enable US taxes (not
--   reversible). Defining no rules is equivalent to not charging tax at
--   all.
atRules :: Lens' AccountTax [AccountTaxTaxRule]

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#accountTax".
atKind :: Lens' AccountTax Text

-- | The ID of the account to which these account tax settings belong.
atAccountId :: Lens' AccountTax (Maybe Word64)
data OrdersUpdateMerchantOrderIdRequest

-- | Creates a value of <a>OrdersUpdateMerchantOrderIdRequest</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>oumoirMerchantOrderId</a></li>
--   <li><a>oumoirOperationId</a></li>
--   </ul>
ordersUpdateMerchantOrderIdRequest :: OrdersUpdateMerchantOrderIdRequest

-- | The merchant order id to be assigned to the order. Must be unique per
--   merchant.
oumoirMerchantOrderId :: Lens' OrdersUpdateMerchantOrderIdRequest (Maybe Text)

-- | The ID of the operation. Unique across all operations for a given
--   order.
oumoirOperationId :: Lens' OrdersUpdateMerchantOrderIdRequest (Maybe Text)
data OrdersAdvanceTestOrderResponse

-- | Creates a value of <a>OrdersAdvanceTestOrderResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>oatorKind</a></li>
--   </ul>
ordersAdvanceTestOrderResponse :: OrdersAdvanceTestOrderResponse

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#ordersAdvanceTestOrderResponse".
oatorKind :: Lens' OrdersAdvanceTestOrderResponse Text
data ProductsCustomBatchResponse

-- | Creates a value of <a>ProductsCustomBatchResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pcbrEntries</a></li>
--   <li><a>pcbrKind</a></li>
--   </ul>
productsCustomBatchResponse :: ProductsCustomBatchResponse

-- | The result of the execution of the batch requests.
pcbrEntries :: Lens' ProductsCustomBatchResponse [ProductsCustomBatchResponseEntry]

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#productsCustomBatchResponse".
pcbrKind :: Lens' ProductsCustomBatchResponse Text

-- | The name of the template to retrieve.
data OrdersGettestOrdertemplateTemplateName

-- | <pre>
--   template1
--   </pre>
TEMPLATE1 :: OrdersGettestOrdertemplateTemplateName

-- | <pre>
--   template1a
--   </pre>
Template1a :: OrdersGettestOrdertemplateTemplateName

-- | <pre>
--   template1b
--   </pre>
Template1b :: OrdersGettestOrdertemplateTemplateName

-- | <pre>
--   template2
--   </pre>
TEMPLATE2 :: OrdersGettestOrdertemplateTemplateName
data TestOrderCustomer

-- | Creates a value of <a>TestOrderCustomer</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tocFullName</a></li>
--   <li><a>tocEmail</a></li>
--   <li><a>tocExplicitMarketingPreference</a></li>
--   </ul>
testOrderCustomer :: TestOrderCustomer

-- | Full name of the customer.
tocFullName :: Lens' TestOrderCustomer (Maybe Text)

-- | Email address of the customer.
tocEmail :: Lens' TestOrderCustomer (Maybe Text)

-- | If set, this indicates the user explicitly chose to opt in or out of
--   providing marketing rights to the merchant. If unset, this indicates
--   the user has already made this choice in a previous purchase, and was
--   thus not shown the marketing right opt in/out checkbox during the
--   checkout flow. Optional.
tocExplicitMarketingPreference :: Lens' TestOrderCustomer (Maybe Bool)
data DatafeedstatusesCustomBatchResponse

-- | Creates a value of <a>DatafeedstatusesCustomBatchResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dcbrEntries</a></li>
--   <li><a>dcbrKind</a></li>
--   </ul>
datafeedstatusesCustomBatchResponse :: DatafeedstatusesCustomBatchResponse

-- | The result of the execution of the batch requests.
dcbrEntries :: Lens' DatafeedstatusesCustomBatchResponse [DatafeedstatusesCustomBatchResponseEntry]

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#datafeedstatusesCustomBatchResponse".
dcbrKind :: Lens' DatafeedstatusesCustomBatchResponse Text
data OrderReturn

-- | Creates a value of <a>OrderReturn</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>orQuantity</a></li>
--   <li><a>orActor</a></li>
--   <li><a>orReason</a></li>
--   <li><a>orCreationDate</a></li>
--   <li><a>orReasonText</a></li>
--   </ul>
orderReturn :: OrderReturn

-- | Quantity that is returned.
orQuantity :: Lens' OrderReturn (Maybe Word32)

-- | The actor that created the refund.
orActor :: Lens' OrderReturn (Maybe Text)

-- | The reason for the return.
orReason :: Lens' OrderReturn (Maybe Text)

-- | Date on which the item has been created, in ISO 8601 format.
orCreationDate :: Lens' OrderReturn (Maybe Text)

-- | The explanation of the reason.
orReasonText :: Lens' OrderReturn (Maybe Text)

-- | A batch entry encoding a single non-batch accounttax response.
--   
--   <i>See:</i> <a>accounttaxCustomBatchResponseEntry</a> smart
--   constructor.
data AccounttaxCustomBatchResponseEntry

-- | Creates a value of <a>AccounttaxCustomBatchResponseEntry</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>acbreAccountTax</a></li>
--   <li><a>acbreKind</a></li>
--   <li><a>acbreErrors</a></li>
--   <li><a>acbreBatchId</a></li>
--   </ul>
accounttaxCustomBatchResponseEntry :: AccounttaxCustomBatchResponseEntry

-- | The retrieved or updated account tax settings.
acbreAccountTax :: Lens' AccounttaxCustomBatchResponseEntry (Maybe AccountTax)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#accounttaxCustomBatchResponseEntry".
acbreKind :: Lens' AccounttaxCustomBatchResponseEntry Text

-- | A list of errors defined if and only if the request failed.
acbreErrors :: Lens' AccounttaxCustomBatchResponseEntry (Maybe Errors)

-- | The ID of the request entry this entry responds to.
acbreBatchId :: Lens' AccounttaxCustomBatchResponseEntry (Maybe Word32)
data InventoryCustomBatchRequest

-- | Creates a value of <a>InventoryCustomBatchRequest</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>icbrEntries</a></li>
--   </ul>
inventoryCustomBatchRequest :: InventoryCustomBatchRequest

-- | The request entries to be processed in the batch.
icbrEntries :: Lens' InventoryCustomBatchRequest [InventoryCustomBatchRequestEntry]
data AccountsAuthInfoResponse

-- | Creates a value of <a>AccountsAuthInfoResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aairKind</a></li>
--   <li><a>aairAccountIdentifiers</a></li>
--   </ul>
accountsAuthInfoResponse :: AccountsAuthInfoResponse

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#accountsAuthInfoResponse".
aairKind :: Lens' AccountsAuthInfoResponse Text

-- | The account identifiers corresponding to the authenticated user. - For
--   an individual account: only the merchant ID is defined - For an
--   aggregator: only the aggregator ID is defined - For a subaccount of an
--   MCA: both the merchant ID and the aggregator ID are defined.
aairAccountIdentifiers :: Lens' AccountsAuthInfoResponse [AccountIdentifier]
data ProductStatusDestinationStatus

-- | Creates a value of <a>ProductStatusDestinationStatus</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>psdsDestination</a></li>
--   <li><a>psdsIntention</a></li>
--   <li><a>psdsApprovalStatus</a></li>
--   </ul>
productStatusDestinationStatus :: ProductStatusDestinationStatus

-- | The name of the destination
psdsDestination :: Lens' ProductStatusDestinationStatus (Maybe Text)

-- | Whether the destination is required, excluded, selected by default or
--   should be validated.
psdsIntention :: Lens' ProductStatusDestinationStatus (Maybe Text)

-- | The destination's approval status.
psdsApprovalStatus :: Lens' ProductStatusDestinationStatus (Maybe Text)

-- | Tax calculation rule to apply in a state or province (USA only).
--   
--   <i>See:</i> <a>accountTaxTaxRule</a> smart constructor.
data AccountTaxTaxRule

-- | Creates a value of <a>AccountTaxTaxRule</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>attrUseGlobalRate</a></li>
--   <li><a>attrCountry</a></li>
--   <li><a>attrShippingTaxed</a></li>
--   <li><a>attrLocationId</a></li>
--   <li><a>attrRatePercent</a></li>
--   </ul>
accountTaxTaxRule :: AccountTaxTaxRule

-- | Whether the tax rate is taken from a global tax table or specified
--   explicitly.
attrUseGlobalRate :: Lens' AccountTaxTaxRule (Maybe Bool)

-- | Country code in which tax is applicable.
attrCountry :: Lens' AccountTaxTaxRule (Maybe Text)

-- | If true, shipping charges are also taxed.
attrShippingTaxed :: Lens' AccountTaxTaxRule (Maybe Bool)

-- | State (or province) is which the tax is applicable, described by its
--   location id (also called criteria id).
attrLocationId :: Lens' AccountTaxTaxRule (Maybe Word64)

-- | Explicit tax rate in percent, represented as a floating point number
--   without the percentage character. Must not be negative.
attrRatePercent :: Lens' AccountTaxTaxRule (Maybe Text)
data PostalCodeGroup

-- | Creates a value of <a>PostalCodeGroup</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pcgCountry</a></li>
--   <li><a>pcgPostalCodeRanges</a></li>
--   <li><a>pcgName</a></li>
--   </ul>
postalCodeGroup :: PostalCodeGroup

-- | The CLDR territory code of the country the postal code group applies
--   to. Required.
pcgCountry :: Lens' PostalCodeGroup (Maybe Text)

-- | A range of postal codes. Required.
pcgPostalCodeRanges :: Lens' PostalCodeGroup [PostalCodeRange]

-- | The name of the postal code group, referred to in headers. Required.
pcgName :: Lens' PostalCodeGroup (Maybe Text)
data ProductDestination

-- | Creates a value of <a>ProductDestination</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pdIntention</a></li>
--   <li><a>pdDestinationName</a></li>
--   </ul>
productDestination :: ProductDestination

-- | Whether the destination is required, excluded or should be validated.
pdIntention :: Lens' ProductDestination (Maybe Text)

-- | The name of the destination.
pdDestinationName :: Lens' ProductDestination (Maybe Text)
data DatafeedsCustomBatchRequest

-- | Creates a value of <a>DatafeedsCustomBatchRequest</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dEntries</a></li>
--   </ul>
datafeedsCustomBatchRequest :: DatafeedsCustomBatchRequest

-- | The request entries to be processed in the batch.
dEntries :: Lens' DatafeedsCustomBatchRequest [DatafeedsCustomBatchRequestEntry]
data OrdersCustomBatchRequestEntry

-- | Creates a value of <a>OrdersCustomBatchRequestEntry</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ocbreMerchantId</a></li>
--   <li><a>ocbreCancelLineItem</a></li>
--   <li><a>ocbreRefund</a></li>
--   <li><a>ocbreUpdateShipment</a></li>
--   <li><a>ocbreReturnLineItem</a></li>
--   <li><a>ocbreMerchantOrderId</a></li>
--   <li><a>ocbreMethod</a></li>
--   <li><a>ocbreShipLineItems</a></li>
--   <li><a>ocbreOperationId</a></li>
--   <li><a>ocbreOrderId</a></li>
--   <li><a>ocbreCancel</a></li>
--   <li><a>ocbreBatchId</a></li>
--   </ul>
ordersCustomBatchRequestEntry :: OrdersCustomBatchRequestEntry

-- | The ID of the managing account.
ocbreMerchantId :: Lens' OrdersCustomBatchRequestEntry (Maybe Word64)

-- | Required for cancelLineItem method.
ocbreCancelLineItem :: Lens' OrdersCustomBatchRequestEntry (Maybe OrdersCustomBatchRequestEntryCancelLineItem)

-- | Required for refund method.
ocbreRefund :: Lens' OrdersCustomBatchRequestEntry (Maybe OrdersCustomBatchRequestEntryRefund)

-- | Required for updateShipment method.
ocbreUpdateShipment :: Lens' OrdersCustomBatchRequestEntry (Maybe OrdersCustomBatchRequestEntryUpdateShipment)

-- | Required for returnLineItem method.
ocbreReturnLineItem :: Lens' OrdersCustomBatchRequestEntry (Maybe OrdersCustomBatchRequestEntryReturnLineItem)

-- | The merchant order id. Required for updateMerchantOrderId and
--   getByMerchantOrderId methods.
ocbreMerchantOrderId :: Lens' OrdersCustomBatchRequestEntry (Maybe Text)

-- | The method to apply.
ocbreMethod :: Lens' OrdersCustomBatchRequestEntry (Maybe Text)

-- | Required for shipLineItems method.
ocbreShipLineItems :: Lens' OrdersCustomBatchRequestEntry (Maybe OrdersCustomBatchRequestEntryShipLineItems)

-- | The ID of the operation. Unique across all operations for a given
--   order. Required for all methods beside get and getByMerchantOrderId.
ocbreOperationId :: Lens' OrdersCustomBatchRequestEntry (Maybe Text)

-- | The ID of the order. Required for all methods beside
--   getByMerchantOrderId.
ocbreOrderId :: Lens' OrdersCustomBatchRequestEntry (Maybe Text)

-- | Required for cancel method.
ocbreCancel :: Lens' OrdersCustomBatchRequestEntry (Maybe OrdersCustomBatchRequestEntryCancel)

-- | An entry ID, unique within the batch request.
ocbreBatchId :: Lens' OrdersCustomBatchRequestEntry (Maybe Word32)
data OrdersRefundRequest

-- | Creates a value of <a>OrdersRefundRequest</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>orrAmount</a></li>
--   <li><a>orrReason</a></li>
--   <li><a>orrOperationId</a></li>
--   <li><a>orrReasonText</a></li>
--   </ul>
ordersRefundRequest :: OrdersRefundRequest

-- | The amount that is refunded.
orrAmount :: Lens' OrdersRefundRequest (Maybe Price)

-- | The reason for the refund.
orrReason :: Lens' OrdersRefundRequest (Maybe Text)

-- | The ID of the operation. Unique across all operations for a given
--   order.
orrOperationId :: Lens' OrdersRefundRequest (Maybe Text)

-- | The explanation of the reason.
orrReasonText :: Lens' OrdersRefundRequest (Maybe Text)

-- | Shipping cost calculation method. Exactly one of the field is set.
--   
--   <i>See:</i> <a>accountShippingShippingServiceCalculationMethod</a>
--   smart constructor.
data AccountShippingShippingServiceCalculationMethod

-- | Creates a value of
--   <a>AccountShippingShippingServiceCalculationMethod</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>assscmPercentageRate</a></li>
--   <li><a>assscmCarrierRate</a></li>
--   <li><a>assscmRateTable</a></li>
--   <li><a>assscmExcluded</a></li>
--   <li><a>assscmFlatRate</a></li>
--   </ul>
accountShippingShippingServiceCalculationMethod :: AccountShippingShippingServiceCalculationMethod

-- | Percentage of the price, represented as a floating point number
--   without the percentage character.
assscmPercentageRate :: Lens' AccountShippingShippingServiceCalculationMethod (Maybe Text)

-- | Name of the carrier rate to use for the calculation.
assscmCarrierRate :: Lens' AccountShippingShippingServiceCalculationMethod (Maybe Text)

-- | Name of the rate table to use for the calculation.
assscmRateTable :: Lens' AccountShippingShippingServiceCalculationMethod (Maybe Text)

-- | Delivery is excluded. Valid only within cost rules tree.
assscmExcluded :: Lens' AccountShippingShippingServiceCalculationMethod (Maybe Bool)

-- | Fixed price shipping, represented as a floating point number
--   associated with a currency.
assscmFlatRate :: Lens' AccountShippingShippingServiceCalculationMethod (Maybe Price)
data OrdersCustomBatchRequestEntryCancelLineItem

-- | Creates a value of <a>OrdersCustomBatchRequestEntryCancelLineItem</a>
--   with the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ocbrecliAmount</a></li>
--   <li><a>ocbrecliQuantity</a></li>
--   <li><a>ocbrecliLineItemId</a></li>
--   <li><a>ocbrecliReason</a></li>
--   <li><a>ocbrecliReasonText</a></li>
--   </ul>
ordersCustomBatchRequestEntryCancelLineItem :: OrdersCustomBatchRequestEntryCancelLineItem

-- | Amount to refund for the cancelation. Optional. If not set, Google
--   will calculate the default based on the price and tax of the items
--   involved. The amount must not be larger than the net amount left on
--   the order.
ocbrecliAmount :: Lens' OrdersCustomBatchRequestEntryCancelLineItem (Maybe Price)

-- | The quantity to cancel.
ocbrecliQuantity :: Lens' OrdersCustomBatchRequestEntryCancelLineItem (Maybe Word32)

-- | The ID of the line item to cancel.
ocbrecliLineItemId :: Lens' OrdersCustomBatchRequestEntryCancelLineItem (Maybe Text)

-- | The reason for the cancellation.
ocbrecliReason :: Lens' OrdersCustomBatchRequestEntryCancelLineItem (Maybe Text)

-- | The explanation of the reason.
ocbrecliReasonText :: Lens' OrdersCustomBatchRequestEntryCancelLineItem (Maybe Text)
data OrderLineItemShippingDetailsMethod

-- | Creates a value of <a>OrderLineItemShippingDetailsMethod</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>olisdmCarrier</a></li>
--   <li><a>olisdmMethodName</a></li>
--   <li><a>olisdmMaxDaysInTransit</a></li>
--   <li><a>olisdmMinDaysInTransit</a></li>
--   </ul>
orderLineItemShippingDetailsMethod :: OrderLineItemShippingDetailsMethod

-- | The carrier for the shipping. Optional.
olisdmCarrier :: Lens' OrderLineItemShippingDetailsMethod (Maybe Text)

-- | The name of the shipping method.
olisdmMethodName :: Lens' OrderLineItemShippingDetailsMethod (Maybe Text)

-- | Maximum transit time.
olisdmMaxDaysInTransit :: Lens' OrderLineItemShippingDetailsMethod (Maybe Word32)

-- | Minimum transit time.
olisdmMinDaysInTransit :: Lens' OrderLineItemShippingDetailsMethod (Maybe Word32)

-- | Datafeed data.
--   
--   <i>See:</i> <a>datafeed</a> smart constructor.
data Datafeed

-- | Creates a value of <a>Datafeed</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dKind</a></li>
--   <li><a>dFormat</a></li>
--   <li><a>dAttributeLanguage</a></li>
--   <li><a>dTargetCountry</a></li>
--   <li><a>dFetchSchedule</a></li>
--   <li><a>dName</a></li>
--   <li><a>dIntendedDestinations</a></li>
--   <li><a>dId</a></li>
--   <li><a>dContentLanguage</a></li>
--   <li><a>dContentType</a></li>
--   <li><a>dFileName</a></li>
--   </ul>
datafeed :: Datafeed

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#datafeed".
dKind :: Lens' Datafeed Text

-- | Format of the feed file.
dFormat :: Lens' Datafeed (Maybe DatafeedFormat)

-- | The two-letter ISO 639-1 language in which the attributes are defined
--   in the data feed.
dAttributeLanguage :: Lens' Datafeed (Maybe Text)

-- | The country where the items in the feed will be included in the search
--   index, represented as a CLDR territory code.
dTargetCountry :: Lens' Datafeed (Maybe Text)

-- | Fetch schedule for the feed file.
dFetchSchedule :: Lens' Datafeed (Maybe DatafeedFetchSchedule)

-- | A descriptive name of the data feed.
dName :: Lens' Datafeed (Maybe Text)

-- | The list of intended destinations (corresponds to checked check boxes
--   in Merchant Center).
dIntendedDestinations :: Lens' Datafeed [Text]

-- | The ID of the data feed.
dId :: Lens' Datafeed (Maybe Int64)

-- | The two-letter ISO 639-1 language of the items in the feed. Must be a
--   valid language for targetCountry.
dContentLanguage :: Lens' Datafeed (Maybe Text)

-- | The type of data feed.
dContentType :: Lens' Datafeed (Maybe Text)

-- | The filename of the feed. All feeds must have a unique file name.
dFileName :: Lens' Datafeed (Maybe Text)
data OrdersCreateTestOrderResponse

-- | Creates a value of <a>OrdersCreateTestOrderResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>octorKind</a></li>
--   <li><a>octorOrderId</a></li>
--   </ul>
ordersCreateTestOrderResponse :: OrdersCreateTestOrderResponse

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#ordersCreateTestOrderResponse".
octorKind :: Lens' OrdersCreateTestOrderResponse Text

-- | The ID of the newly created test order.
octorOrderId :: Lens' OrdersCreateTestOrderResponse (Maybe Text)

-- | A batch entry encoding a single non-batch accounts response.
--   
--   <i>See:</i> <a>accountsCustomBatchResponseEntry</a> smart constructor.
data AccountsCustomBatchResponseEntry

-- | Creates a value of <a>AccountsCustomBatchResponseEntry</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aKind</a></li>
--   <li><a>aAccount</a></li>
--   <li><a>aErrors</a></li>
--   <li><a>aBatchId</a></li>
--   </ul>
accountsCustomBatchResponseEntry :: AccountsCustomBatchResponseEntry

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#accountsCustomBatchResponseEntry".
aKind :: Lens' AccountsCustomBatchResponseEntry Text

-- | The retrieved, created, or updated account. Not defined if the method
--   was delete.
aAccount :: Lens' AccountsCustomBatchResponseEntry (Maybe Account)

-- | A list of errors defined if and only if the request failed.
aErrors :: Lens' AccountsCustomBatchResponseEntry (Maybe Errors)

-- | The ID of the request entry this entry responds to.
aBatchId :: Lens' AccountsCustomBatchResponseEntry (Maybe Word32)

-- | The ordering of the returned list. The only supported value are
--   placedDate desc and placedDate asc for now, which returns orders
--   sorted by placement date. "placedDate desc" stands for listing orders
--   by placement date, from oldest to most recent. "placedDate asc" stands
--   for listing orders by placement date, from most recent to oldest. In
--   future releases we'll support other sorting criteria.
data OrdersListOrderBy

-- | <pre>
--   placedDate asc
--   </pre>
PlacedDateAsc :: OrdersListOrderBy

-- | <pre>
--   placedDate desc
--   </pre>
PlacedDateDesc :: OrdersListOrderBy
data AccountIdentifier

-- | Creates a value of <a>AccountIdentifier</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aiMerchantId</a></li>
--   <li><a>aiAggregatorId</a></li>
--   </ul>
accountIdentifier :: AccountIdentifier

-- | The merchant account ID, set for individual accounts and subaccounts.
aiMerchantId :: Lens' AccountIdentifier (Maybe Word64)

-- | The aggregator ID, set for aggregators and subaccounts (in that case,
--   it represents the aggregator of the subaccount).
aiAggregatorId :: Lens' AccountIdentifier (Maybe Word64)
data TestOrderPaymentMethod

-- | Creates a value of <a>TestOrderPaymentMethod</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>topmExpirationMonth</a></li>
--   <li><a>topmExpirationYear</a></li>
--   <li><a>topmLastFourDigits</a></li>
--   <li><a>topmType</a></li>
--   <li><a>topmPredefinedBillingAddress</a></li>
--   </ul>
testOrderPaymentMethod :: TestOrderPaymentMethod

-- | The card expiration month (January = 1, February = 2 etc.).
topmExpirationMonth :: Lens' TestOrderPaymentMethod (Maybe Int32)

-- | The card expiration year (4-digit, e.g. 2015).
topmExpirationYear :: Lens' TestOrderPaymentMethod (Maybe Int32)

-- | The last four digits of the card number.
topmLastFourDigits :: Lens' TestOrderPaymentMethod (Maybe Text)

-- | The type of instrument. Note that real orders might have different
--   values than the four values accepted by createTestOrder.
topmType :: Lens' TestOrderPaymentMethod (Maybe Text)

-- | The billing address.
topmPredefinedBillingAddress :: Lens' TestOrderPaymentMethod (Maybe Text)
data OrderLineItem

-- | Creates a value of <a>OrderLineItem</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>oliQuantityOrdered</a></li>
--   <li><a>oliReturnInfo</a></li>
--   <li><a>oliQuantityDelivered</a></li>
--   <li><a>oliShippingDetails</a></li>
--   <li><a>oliQuantityPending</a></li>
--   <li><a>oliCancellations</a></li>
--   <li><a>oliQuantityCanceled</a></li>
--   <li><a>oliId</a></li>
--   <li><a>oliTax</a></li>
--   <li><a>oliPrice</a></li>
--   <li><a>oliQuantityShipped</a></li>
--   <li><a>oliQuantityReturned</a></li>
--   <li><a>oliProduct</a></li>
--   <li><a>oliReturns</a></li>
--   </ul>
orderLineItem :: OrderLineItem

-- | Number of items ordered.
oliQuantityOrdered :: Lens' OrderLineItem (Maybe Word32)

-- | Details of the return policy for the line item.
oliReturnInfo :: Lens' OrderLineItem (Maybe OrderLineItemReturnInfo)

-- | Number of items delivered.
oliQuantityDelivered :: Lens' OrderLineItem (Maybe Word32)

-- | Details of the requested shipping for the line item.
oliShippingDetails :: Lens' OrderLineItem (Maybe OrderLineItemShippingDetails)

-- | Number of items pending.
oliQuantityPending :: Lens' OrderLineItem (Maybe Word32)

-- | Cancellations of the line item.
oliCancellations :: Lens' OrderLineItem [OrderCancellation]

-- | Number of items canceled.
oliQuantityCanceled :: Lens' OrderLineItem (Maybe Word32)

-- | The id of the line item.
oliId :: Lens' OrderLineItem (Maybe Text)
oliTax :: Lens' OrderLineItem (Maybe Price)

-- | Total price for the line item. For example, if two items for $10 are
--   purchased, the total price will be $20.
oliPrice :: Lens' OrderLineItem (Maybe Price)

-- | Number of items shipped.
oliQuantityShipped :: Lens' OrderLineItem (Maybe Word32)

-- | Number of items returned.
oliQuantityReturned :: Lens' OrderLineItem (Maybe Word32)

-- | Product data from the time of the order placement.
oliProduct :: Lens' OrderLineItem (Maybe OrderLineItemProduct)

-- | Returns of the line item.
oliReturns :: Lens' OrderLineItem [OrderReturn]
data Service

-- | Creates a value of <a>Service</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sDeliveryCountry</a></li>
--   <li><a>sRateGroups</a></li>
--   <li><a>sDeliveryTime</a></li>
--   <li><a>sActive</a></li>
--   <li><a>sName</a></li>
--   <li><a>sCurrency</a></li>
--   </ul>
service :: Service

-- | The CLDR territory code of the country to which the service applies.
--   Required.
sDeliveryCountry :: Lens' Service (Maybe Text)

-- | 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.
sRateGroups :: Lens' Service [RateGroup]

-- | Time spent in various aspects from order to the delivery of the
--   product. Required.
sDeliveryTime :: Lens' Service (Maybe DeliveryTime)

-- | A boolean exposing the active status of the shipping service.
--   Required.
sActive :: Lens' Service (Maybe Bool)

-- | Free-form name of the service. Must be unique within target account.
--   Required.
sName :: Lens' Service (Maybe Text)

-- | The CLDR code of the currency to which this service applies. Must
--   match that of the prices in rate groups.
sCurrency :: Lens' Service (Maybe Text)
data ProductstatusesCustomBatchResponse

-- | Creates a value of <a>ProductstatusesCustomBatchResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pEntries</a></li>
--   <li><a>pKind</a></li>
--   </ul>
productstatusesCustomBatchResponse :: ProductstatusesCustomBatchResponse

-- | The result of the execution of the batch requests.
pEntries :: Lens' ProductstatusesCustomBatchResponse [ProductstatusesCustomBatchResponseEntry]

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#productstatusesCustomBatchResponse".
pKind :: Lens' ProductstatusesCustomBatchResponse Text
data ProductUnitPricingMeasure

-- | Creates a value of <a>ProductUnitPricingMeasure</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pupmValue</a></li>
--   <li><a>pupmUnit</a></li>
--   </ul>
productUnitPricingMeasure :: ProductUnitPricingMeasure

-- | The measure of an item.
pupmValue :: Lens' ProductUnitPricingMeasure (Maybe Double)

-- | The unit of the measure.
pupmUnit :: Lens' ProductUnitPricingMeasure (Maybe Text)
data OrdersUpdateShipmentRequest

-- | Creates a value of <a>OrdersUpdateShipmentRequest</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ousrCarrier</a></li>
--   <li><a>ousrStatus</a></li>
--   <li><a>ousrTrackingId</a></li>
--   <li><a>ousrShipmentId</a></li>
--   <li><a>ousrOperationId</a></li>
--   </ul>
ordersUpdateShipmentRequest :: OrdersUpdateShipmentRequest

-- | The carrier handling the shipment. Not updated if missing.
ousrCarrier :: Lens' OrdersUpdateShipmentRequest (Maybe Text)

-- | New status for the shipment. Not updated if missing.
ousrStatus :: Lens' OrdersUpdateShipmentRequest (Maybe Text)

-- | The tracking id for the shipment. Not updated if missing.
ousrTrackingId :: Lens' OrdersUpdateShipmentRequest (Maybe Text)

-- | The ID of the shipment.
ousrShipmentId :: Lens' OrdersUpdateShipmentRequest (Maybe Text)

-- | The ID of the operation. Unique across all operations for a given
--   order.
ousrOperationId :: Lens' OrdersUpdateShipmentRequest (Maybe Text)
data OrderShipmentLineItemShipment

-- | Creates a value of <a>OrderShipmentLineItemShipment</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>oslisQuantity</a></li>
--   <li><a>oslisLineItemId</a></li>
--   </ul>
orderShipmentLineItemShipment :: OrderShipmentLineItemShipment

-- | The quantity that is shipped.
oslisQuantity :: Lens' OrderShipmentLineItemShipment (Maybe Word32)

-- | The id of the line item that is shipped.
oslisLineItemId :: Lens' OrderShipmentLineItemShipment (Maybe Text)

-- | Obtains orders that match any of the specified statuses. Multiple
--   values can be specified with comma separation. Additionally, please
--   note that active is a shortcut for pendingShipment and
--   partiallyShipped, and completed is a shortcut for shipped ,
--   partiallyDelivered, delivered, partiallyReturned, returned, and
--   canceled.
data OrdersListStatuses

-- | <pre>
--   active
--   </pre>
Active :: OrdersListStatuses

-- | <pre>
--   canceled
--   </pre>
Canceled :: OrdersListStatuses

-- | <pre>
--   completed
--   </pre>
Completed :: OrdersListStatuses

-- | <pre>
--   delivered
--   </pre>
Delivered :: OrdersListStatuses

-- | <pre>
--   inProgress
--   </pre>
InProgress :: OrdersListStatuses

-- | <pre>
--   partiallyDelivered
--   </pre>
PartiallyDelivered :: OrdersListStatuses

-- | <pre>
--   partiallyReturned
--   </pre>
PartiallyReturned :: OrdersListStatuses

-- | <pre>
--   partiallyShipped
--   </pre>
PartiallyShipped :: OrdersListStatuses

-- | <pre>
--   pendingShipment
--   </pre>
PendingShipment :: OrdersListStatuses

-- | <pre>
--   returned
--   </pre>
Returned :: OrdersListStatuses

-- | <pre>
--   shipped
--   </pre>
Shipped :: OrdersListStatuses
data LoyaltyPoints

-- | Creates a value of <a>LoyaltyPoints</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lpRatio</a></li>
--   <li><a>lpPointsValue</a></li>
--   <li><a>lpName</a></li>
--   </ul>
loyaltyPoints :: LoyaltyPoints

-- | The ratio of a point when converted to currency. Google assumes
--   currency based on Merchant Center settings. If ratio is left out, it
--   defaults to 1.0.
lpRatio :: Lens' LoyaltyPoints (Maybe Double)

-- | The retailer's loyalty points in absolute value.
lpPointsValue :: Lens' LoyaltyPoints (Maybe Int64)

-- | Name of loyalty points program. It is recommended to limit the name to
--   12 full-width characters or 24 Roman characters.
lpName :: Lens' LoyaltyPoints (Maybe Text)
data AccountshippingCustomBatchRequest

-- | Creates a value of <a>AccountshippingCustomBatchRequest</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>acbrEntries</a></li>
--   </ul>
accountshippingCustomBatchRequest :: AccountshippingCustomBatchRequest

-- | The request entries to be processed in the batch.
acbrEntries :: Lens' AccountshippingCustomBatchRequest [AccountshippingCustomBatchRequestEntry]
data OrdersCustomBatchRequestEntryShipLineItems

-- | Creates a value of <a>OrdersCustomBatchRequestEntryShipLineItems</a>
--   with the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ocbresliCarrier</a></li>
--   <li><a>ocbresliTrackingId</a></li>
--   <li><a>ocbresliShipmentId</a></li>
--   <li><a>ocbresliLineItems</a></li>
--   </ul>
ordersCustomBatchRequestEntryShipLineItems :: OrdersCustomBatchRequestEntryShipLineItems

-- | The carrier handling the shipment.
ocbresliCarrier :: Lens' OrdersCustomBatchRequestEntryShipLineItems (Maybe Text)

-- | The tracking id for the shipment.
ocbresliTrackingId :: Lens' OrdersCustomBatchRequestEntryShipLineItems (Maybe Text)

-- | The ID of the shipment.
ocbresliShipmentId :: Lens' OrdersCustomBatchRequestEntryShipLineItems (Maybe Text)

-- | Line items to ship.
ocbresliLineItems :: Lens' OrdersCustomBatchRequestEntryShipLineItems [OrderShipmentLineItemShipment]

-- | The status of an account, i.e., information about its products, which
--   is computed offline and not returned immediately at insertion time.
--   
--   <i>See:</i> <a>accountStatus</a> smart constructor.
data AccountStatus

-- | Creates a value of <a>AccountStatus</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>asDataQualityIssues</a></li>
--   <li><a>asKind</a></li>
--   <li><a>asAccountId</a></li>
--   </ul>
accountStatus :: AccountStatus

-- | A list of data quality issues.
asDataQualityIssues :: Lens' AccountStatus [AccountStatusDataQualityIssue]

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#accountStatus".
asKind :: Lens' AccountStatus Text

-- | The ID of the account for which the status is reported.
asAccountId :: Lens' AccountStatus (Maybe Text)
data OrdersReturnLineItemRequest

-- | Creates a value of <a>OrdersReturnLineItemRequest</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>orlirQuantity</a></li>
--   <li><a>orlirLineItemId</a></li>
--   <li><a>orlirReason</a></li>
--   <li><a>orlirOperationId</a></li>
--   <li><a>orlirReasonText</a></li>
--   </ul>
ordersReturnLineItemRequest :: OrdersReturnLineItemRequest

-- | The quantity to return.
orlirQuantity :: Lens' OrdersReturnLineItemRequest (Maybe Word32)

-- | The ID of the line item to return.
orlirLineItemId :: Lens' OrdersReturnLineItemRequest (Maybe Text)

-- | The reason for the return.
orlirReason :: Lens' OrdersReturnLineItemRequest (Maybe Text)

-- | The ID of the operation. Unique across all operations for a given
--   order.
orlirOperationId :: Lens' OrdersReturnLineItemRequest (Maybe Text)

-- | The explanation of the reason.
orlirReasonText :: Lens' OrdersReturnLineItemRequest (Maybe Text)

-- | A batch entry encoding a single non-batch accountshipping request.
--   
--   <i>See:</i> <a>shippingSettingsCustomBatchRequestEntry</a> smart
--   constructor.
data ShippingSettingsCustomBatchRequestEntry

-- | Creates a value of <a>ShippingSettingsCustomBatchRequestEntry</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sscbreMerchantId</a></li>
--   <li><a>sscbreAccountId</a></li>
--   <li><a>sscbreMethod</a></li>
--   <li><a>sscbreShippingSettings</a></li>
--   <li><a>sscbreBatchId</a></li>
--   </ul>
shippingSettingsCustomBatchRequestEntry :: ShippingSettingsCustomBatchRequestEntry

-- | The ID of the managing account.
sscbreMerchantId :: Lens' ShippingSettingsCustomBatchRequestEntry (Maybe Word64)

-- | The ID of the account for which to get/update account shipping
--   settings.
sscbreAccountId :: Lens' ShippingSettingsCustomBatchRequestEntry (Maybe Word64)
sscbreMethod :: Lens' ShippingSettingsCustomBatchRequestEntry (Maybe Text)

-- | The account shipping settings to update. Only defined if the method is
--   update.
sscbreShippingSettings :: Lens' ShippingSettingsCustomBatchRequestEntry (Maybe ShippingSettings)

-- | An entry ID, unique within the batch request.
sscbreBatchId :: Lens' ShippingSettingsCustomBatchRequestEntry (Maybe Word32)
data AccountstatusesCustomBatchRequest

-- | Creates a value of <a>AccountstatusesCustomBatchRequest</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aEntries</a></li>
--   </ul>
accountstatusesCustomBatchRequest :: AccountstatusesCustomBatchRequest

-- | The request entries to be processed in the batch.
aEntries :: Lens' AccountstatusesCustomBatchRequest [AccountstatusesCustomBatchRequestEntry]
data AccounttaxListResponse

-- | Creates a value of <a>AccounttaxListResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>alrNextPageToken</a></li>
--   <li><a>alrKind</a></li>
--   <li><a>alrResources</a></li>
--   </ul>
accounttaxListResponse :: AccounttaxListResponse

-- | The token for the retrieval of the next page of account tax settings.
alrNextPageToken :: Lens' AccounttaxListResponse (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#accounttaxListResponse".
alrKind :: Lens' AccounttaxListResponse Text
alrResources :: Lens' AccounttaxListResponse [AccountTax]
data OrdersGetTestOrderTemplateResponse

-- | Creates a value of <a>OrdersGetTestOrderTemplateResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ogtotrKind</a></li>
--   <li><a>ogtotrTemplate</a></li>
--   </ul>
ordersGetTestOrderTemplateResponse :: OrdersGetTestOrderTemplateResponse

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#ordersGetTestOrderTemplateResponse".
ogtotrKind :: Lens' OrdersGetTestOrderTemplateResponse Text

-- | The requested test order template.
ogtotrTemplate :: Lens' OrdersGetTestOrderTemplateResponse (Maybe TestOrder)

-- | A batch entry encoding a single non-batch accounts request.
--   
--   <i>See:</i> <a>accountsCustomBatchRequestEntry</a> smart constructor.
data AccountsCustomBatchRequestEntry

-- | Creates a value of <a>AccountsCustomBatchRequestEntry</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>accMerchantId</a></li>
--   <li><a>accAccount</a></li>
--   <li><a>accAccountId</a></li>
--   <li><a>accMethod</a></li>
--   <li><a>accBatchId</a></li>
--   </ul>
accountsCustomBatchRequestEntry :: AccountsCustomBatchRequestEntry

-- | The ID of the managing account.
accMerchantId :: Lens' AccountsCustomBatchRequestEntry (Maybe Word64)

-- | The account to create or update. Only defined if the method is insert
--   or update.
accAccount :: Lens' AccountsCustomBatchRequestEntry (Maybe Account)

-- | The ID of the account to get or delete. Only defined if the method is
--   get or delete.
accAccountId :: Lens' AccountsCustomBatchRequestEntry (Maybe Word64)
accMethod :: Lens' AccountsCustomBatchRequestEntry (Maybe Text)

-- | An entry ID, unique within the batch request.
accBatchId :: Lens' AccountsCustomBatchRequestEntry (Maybe Word32)
data Weight

-- | Creates a value of <a>Weight</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>wValue</a></li>
--   <li><a>wUnit</a></li>
--   </ul>
weight :: Weight

-- | The weight represented as a number.
wValue :: Lens' Weight (Maybe Text)

-- | The weight unit.
wUnit :: Lens' Weight (Maybe Text)

-- | An error returned by the API.
--   
--   <i>See:</i> <a>error'</a> smart constructor.
data Error'

-- | Creates a value of <a>Error</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>eDomain</a></li>
--   <li><a>eReason</a></li>
--   <li><a>eMessage</a></li>
--   </ul>
error' :: Error'

-- | The domain of the error.
eDomain :: Lens' Error' (Maybe Text)

-- | The error code.
eReason :: Lens' Error' (Maybe Text)

-- | A description of the error.
eMessage :: Lens' Error' (Maybe Text)
data ProductstatusesListResponse

-- | Creates a value of <a>ProductstatusesListResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>plrNextPageToken</a></li>
--   <li><a>plrKind</a></li>
--   <li><a>plrResources</a></li>
--   </ul>
productstatusesListResponse :: ProductstatusesListResponse

-- | The token for the retrieval of the next page of products statuses.
plrNextPageToken :: Lens' ProductstatusesListResponse (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#productstatusesListResponse".
plrKind :: Lens' ProductstatusesListResponse Text
plrResources :: Lens' ProductstatusesListResponse [ProductStatus]
data OrdersRefundResponse

-- | Creates a value of <a>OrdersRefundResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>orrKind</a></li>
--   <li><a>orrExecutionStatus</a></li>
--   </ul>
ordersRefundResponse :: OrdersRefundResponse

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#ordersRefundResponse".
orrKind :: Lens' OrdersRefundResponse Text

-- | The status of the execution.
orrExecutionStatus :: Lens' OrdersRefundResponse (Maybe Text)
data OrdersCreateTestOrderRequest

-- | Creates a value of <a>OrdersCreateTestOrderRequest</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>octorTemplateName</a></li>
--   <li><a>octorTestOrder</a></li>
--   </ul>
ordersCreateTestOrderRequest :: OrdersCreateTestOrderRequest

-- | The test order template to use. Specify as an alternative to testOrder
--   as a shortcut for retrieving a template and then creating an order
--   using that template.
octorTemplateName :: Lens' OrdersCreateTestOrderRequest (Maybe Text)

-- | The test order to create.
octorTestOrder :: Lens' OrdersCreateTestOrderRequest (Maybe TestOrder)
data AccountUser

-- | Creates a value of <a>AccountUser</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>auAdmin</a></li>
--   <li><a>auEmailAddress</a></li>
--   </ul>
accountUser :: AccountUser

-- | Whether user is an admin.
auAdmin :: Lens' AccountUser (Maybe Bool)

-- | User's email address.
auEmailAddress :: Lens' AccountUser (Maybe Text)

-- | An example of an item that has poor data quality. An item value on the
--   landing page differs from what is submitted, or conflicts with a
--   policy.
--   
--   <i>See:</i> <a>accountStatusExampleItem</a> smart constructor.
data AccountStatusExampleItem

-- | Creates a value of <a>AccountStatusExampleItem</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aseiSubmittedValue</a></li>
--   <li><a>aseiLink</a></li>
--   <li><a>aseiItemId</a></li>
--   <li><a>aseiTitle</a></li>
--   <li><a>aseiValueOnLandingPage</a></li>
--   </ul>
accountStatusExampleItem :: AccountStatusExampleItem

-- | The item value that was submitted.
aseiSubmittedValue :: Lens' AccountStatusExampleItem (Maybe Text)

-- | Landing page of the item.
aseiLink :: Lens' AccountStatusExampleItem (Maybe Text)

-- | Unique item ID as specified in the uploaded product data.
aseiItemId :: Lens' AccountStatusExampleItem (Maybe Text)

-- | Title of the item.
aseiTitle :: Lens' AccountStatusExampleItem (Maybe Text)

-- | The actual value on the landing page.
aseiValueOnLandingPage :: Lens' AccountStatusExampleItem (Maybe Text)

-- | A batch entry encoding a single non-batch datafeeds request.
--   
--   <i>See:</i> <a>datafeedsCustomBatchRequestEntry</a> smart constructor.
data DatafeedsCustomBatchRequestEntry

-- | Creates a value of <a>DatafeedsCustomBatchRequestEntry</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dcbreMerchantId</a></li>
--   <li><a>dcbreDatafeed</a></li>
--   <li><a>dcbreMethod</a></li>
--   <li><a>dcbreDatafeedId</a></li>
--   <li><a>dcbreBatchId</a></li>
--   </ul>
datafeedsCustomBatchRequestEntry :: DatafeedsCustomBatchRequestEntry

-- | The ID of the managing account.
dcbreMerchantId :: Lens' DatafeedsCustomBatchRequestEntry (Maybe Word64)

-- | The data feed to insert.
dcbreDatafeed :: Lens' DatafeedsCustomBatchRequestEntry (Maybe Datafeed)
dcbreMethod :: Lens' DatafeedsCustomBatchRequestEntry (Maybe Text)

-- | The ID of the data feed to get or delete.
dcbreDatafeedId :: Lens' DatafeedsCustomBatchRequestEntry (Maybe Word64)

-- | An entry ID, unique within the batch request.
dcbreBatchId :: Lens' DatafeedsCustomBatchRequestEntry (Maybe Word32)

-- | 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.
--   
--   <i>See:</i> <a>value</a> smart constructor.
data Value

-- | Creates a value of <a>Value</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>vPricePercentage</a></li>
--   <li><a>vCarrierRateName</a></li>
--   <li><a>vFlatRate</a></li>
--   <li><a>vSubtableName</a></li>
--   <li><a>vNoShipping</a></li>
--   </ul>
value :: Value

-- | 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.
vPricePercentage :: Lens' Value (Maybe Text)

-- | 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.
vCarrierRateName :: Lens' Value (Maybe Text)

-- | A flat rate. Can only be set if all other fields are not set.
vFlatRate :: Lens' Value (Maybe Price)

-- | 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.
vSubtableName :: Lens' Value (Maybe Text)

-- | If true, then the product can't ship. Must be true when set, can only
--   be set if all other fields are not set.
vNoShipping :: Lens' Value (Maybe Bool)
data Installment

-- | Creates a value of <a>Installment</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iAmount</a></li>
--   <li><a>iMonths</a></li>
--   </ul>
installment :: Installment

-- | The amount the buyer has to pay per month.
iAmount :: Lens' Installment (Maybe Price)

-- | The number of installments the buyer has to pay.
iMonths :: Lens' Installment (Maybe Int64)

-- | The required fields vary based on the frequency of fetching. For a
--   monthly fetch schedule, day_of_month and hour are required. For a
--   weekly fetch schedule, weekday and hour are required. For a daily
--   fetch schedule, only hour is required.
--   
--   <i>See:</i> <a>datafeedFetchSchedule</a> smart constructor.
data DatafeedFetchSchedule

-- | Creates a value of <a>DatafeedFetchSchedule</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dfsFetchURL</a></li>
--   <li><a>dfsUsername</a></li>
--   <li><a>dfsMinuteOfHour</a></li>
--   <li><a>dfsPassword</a></li>
--   <li><a>dfsDayOfMonth</a></li>
--   <li><a>dfsHour</a></li>
--   <li><a>dfsWeekday</a></li>
--   <li><a>dfsTimeZone</a></li>
--   </ul>
datafeedFetchSchedule :: DatafeedFetchSchedule

-- | The URL where the feed file can be fetched. Google Merchant Center
--   will support automatic scheduled uploads using the HTTP, HTTPS, FTP,
--   or SFTP protocols, so the value will need to be a valid link using one
--   of those four protocols.
dfsFetchURL :: Lens' DatafeedFetchSchedule (Maybe Text)

-- | An optional user name for fetch_url.
dfsUsername :: Lens' DatafeedFetchSchedule (Maybe Text)

-- | The minute of the hour the feed file should be fetched (0-59).
--   Read-only.
dfsMinuteOfHour :: Lens' DatafeedFetchSchedule (Maybe Word32)

-- | An optional password for fetch_url.
dfsPassword :: Lens' DatafeedFetchSchedule (Maybe Text)

-- | The day of the month the feed file should be fetched (1-31).
dfsDayOfMonth :: Lens' DatafeedFetchSchedule (Maybe Word32)

-- | The hour of the day the feed file should be fetched (0-23).
dfsHour :: Lens' DatafeedFetchSchedule (Maybe Word32)

-- | The day of the week the feed file should be fetched.
dfsWeekday :: Lens' DatafeedFetchSchedule (Maybe Text)

-- | Time zone used for schedule. UTC by default. E.g.,
--   "America/Los_Angeles".
dfsTimeZone :: Lens' DatafeedFetchSchedule (Maybe Text)
data OrdersCustomBatchRequest

-- | Creates a value of <a>OrdersCustomBatchRequest</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ocbrEntries</a></li>
--   </ul>
ordersCustomBatchRequest :: OrdersCustomBatchRequest

-- | The request entries to be processed in the batch.
ocbrEntries :: Lens' OrdersCustomBatchRequest [OrdersCustomBatchRequestEntry]
data ShippingSettingsGetSupportedCarriersResponse

-- | Creates a value of <a>ShippingSettingsGetSupportedCarriersResponse</a>
--   with the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ssgscrKind</a></li>
--   <li><a>ssgscrCarriers</a></li>
--   </ul>
shippingSettingsGetSupportedCarriersResponse :: ShippingSettingsGetSupportedCarriersResponse

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#shippingsettingsGetSupportedCarriersResponse".
ssgscrKind :: Lens' ShippingSettingsGetSupportedCarriersResponse Text

-- | A list of supported carriers. May be empty.
ssgscrCarriers :: Lens' ShippingSettingsGetSupportedCarriersResponse [CarriersCarrier]
data AccountsListResponse

-- | Creates a value of <a>AccountsListResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>accNextPageToken</a></li>
--   <li><a>accKind</a></li>
--   <li><a>accResources</a></li>
--   </ul>
accountsListResponse :: AccountsListResponse

-- | The token for the retrieval of the next page of accounts.
accNextPageToken :: Lens' AccountsListResponse (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#accountsListResponse".
accKind :: Lens' AccountsListResponse Text
accResources :: Lens' AccountsListResponse [Account]
data ProductStatusDataQualityIssue

-- | Creates a value of <a>ProductStatusDataQualityIssue</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>psdqiLocation</a></li>
--   <li><a>psdqiFetchStatus</a></li>
--   <li><a>psdqiSeverity</a></li>
--   <li><a>psdqiValueProvided</a></li>
--   <li><a>psdqiId</a></li>
--   <li><a>psdqiValueOnLandingPage</a></li>
--   <li><a>psdqiTimestamp</a></li>
--   <li><a>psdqiDetail</a></li>
--   </ul>
productStatusDataQualityIssue :: ProductStatusDataQualityIssue

-- | The attribute name that is relevant for the issue.
psdqiLocation :: Lens' ProductStatusDataQualityIssue (Maybe Text)

-- | The fetch status for landing_page_errors.
psdqiFetchStatus :: Lens' ProductStatusDataQualityIssue (Maybe Text)

-- | The severity of the data quality issue.
psdqiSeverity :: Lens' ProductStatusDataQualityIssue (Maybe Text)

-- | The value the attribute had at time of evaluation.
psdqiValueProvided :: Lens' ProductStatusDataQualityIssue (Maybe Text)

-- | The id of the data quality issue.
psdqiId :: Lens' ProductStatusDataQualityIssue (Maybe Text)

-- | The value of that attribute that was found on the landing page
psdqiValueOnLandingPage :: Lens' ProductStatusDataQualityIssue (Maybe Text)

-- | The time stamp of the data quality issue.
psdqiTimestamp :: Lens' ProductStatusDataQualityIssue (Maybe Text)

-- | A more detailed error string.
psdqiDetail :: Lens' ProductStatusDataQualityIssue (Maybe Text)
data CarriersCarrier

-- | Creates a value of <a>CarriersCarrier</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ccCountry</a></li>
--   <li><a>ccName</a></li>
--   <li><a>ccServices</a></li>
--   </ul>
carriersCarrier :: CarriersCarrier

-- | The CLDR country code of the carrier (e.g., "US"). Always present.
ccCountry :: Lens' CarriersCarrier (Maybe Text)

-- | The name of the carrier (e.g., "UPS"). Always present.
ccName :: Lens' CarriersCarrier (Maybe Text)

-- | A list of supported services (e.g., "ground") for that carrier.
--   Contains at least one service.
ccServices :: Lens' CarriersCarrier [Text]
data CarrierRate

-- | Creates a value of <a>CarrierRate</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>crOriginPostalCode</a></li>
--   <li><a>crFlatAdjustment</a></li>
--   <li><a>crCarrierService</a></li>
--   <li><a>crName</a></li>
--   <li><a>crPercentageAdjustment</a></li>
--   <li><a>crCarrierName</a></li>
--   </ul>
carrierRate :: CarrierRate

-- | Shipping origin for this carrier rate. Required.
crOriginPostalCode :: Lens' CarrierRate (Maybe Text)

-- | 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.
crFlatAdjustment :: Lens' CarrierRate (Maybe Price)

-- | Carrier service, such as "ground" or "2 days". The list of supported
--   services for a carrier can be retrieved via the getSupportedCarriers
--   method. Required.
crCarrierService :: Lens' CarrierRate (Maybe Text)

-- | Name of the carrier rate. Must be unique per rate group. Required.
crName :: Lens' CarrierRate (Maybe Text)

-- | 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.
crPercentageAdjustment :: Lens' CarrierRate (Maybe Text)

-- | Carrier service, such as "UPS" or "Fedex". The list of supported
--   carriers can be retrieved via the getSupportedCarriers method.
--   Required.
crCarrierName :: Lens' CarrierRate (Maybe Text)
data ShippingSettingsListResponse

-- | Creates a value of <a>ShippingSettingsListResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sslrNextPageToken</a></li>
--   <li><a>sslrKind</a></li>
--   <li><a>sslrResources</a></li>
--   </ul>
shippingSettingsListResponse :: ShippingSettingsListResponse

-- | The token for the retrieval of the next page of shipping settings.
sslrNextPageToken :: Lens' ShippingSettingsListResponse (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#shippingsettingsListResponse".
sslrKind :: Lens' ShippingSettingsListResponse Text
sslrResources :: Lens' ShippingSettingsListResponse [ShippingSettings]
data OrdersShipLineItemsRequest

-- | Creates a value of <a>OrdersShipLineItemsRequest</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>oslirCarrier</a></li>
--   <li><a>oslirTrackingId</a></li>
--   <li><a>oslirShipmentId</a></li>
--   <li><a>oslirLineItems</a></li>
--   <li><a>oslirOperationId</a></li>
--   </ul>
ordersShipLineItemsRequest :: OrdersShipLineItemsRequest

-- | The carrier handling the shipment.
oslirCarrier :: Lens' OrdersShipLineItemsRequest (Maybe Text)

-- | The tracking id for the shipment.
oslirTrackingId :: Lens' OrdersShipLineItemsRequest (Maybe Text)

-- | The ID of the shipment.
oslirShipmentId :: Lens' OrdersShipLineItemsRequest (Maybe Text)

-- | Line items to ship.
oslirLineItems :: Lens' OrdersShipLineItemsRequest [OrderShipmentLineItemShipment]

-- | The ID of the operation. Unique across all operations for a given
--   order.
oslirOperationId :: Lens' OrdersShipLineItemsRequest (Maybe Text)
data AccountsCustomBatchResponse

-- | Creates a value of <a>AccountsCustomBatchResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>acbrcEntries</a></li>
--   <li><a>acbrcKind</a></li>
--   </ul>
accountsCustomBatchResponse :: AccountsCustomBatchResponse

-- | The result of the execution of the batch requests.
acbrcEntries :: Lens' AccountsCustomBatchResponse [AccountsCustomBatchResponseEntry]

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#accountsCustomBatchResponse".
acbrcKind :: Lens' AccountsCustomBatchResponse Text
data ProductTax

-- | Creates a value of <a>ProductTax</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ptTaxShip</a></li>
--   <li><a>ptCountry</a></li>
--   <li><a>ptPostalCode</a></li>
--   <li><a>ptRate</a></li>
--   <li><a>ptRegion</a></li>
--   <li><a>ptLocationId</a></li>
--   </ul>
productTax :: ProductTax

-- | Set to true if tax is charged on shipping.
ptTaxShip :: Lens' ProductTax (Maybe Bool)

-- | The country within which the item is taxed, specified as a CLDR
--   territory code.
ptCountry :: Lens' ProductTax (Maybe Text)

-- | The postal code range that the tax rate applies to, represented by a
--   ZIP code, a ZIP code prefix using * wildcard, a range between two ZIP
--   codes or two ZIP code prefixes of equal length. Examples: 94114, 94*,
--   94002-95460, 94*-95*.
ptPostalCode :: Lens' ProductTax (Maybe Text)

-- | The percentage of tax rate that applies to the item price.
ptRate :: Lens' ProductTax (Maybe Double)

-- | The geographic region to which the tax rate applies.
ptRegion :: Lens' ProductTax (Maybe Text)

-- | The numeric id of a location that the tax rate applies to as defined
--   in the AdWords API.
ptLocationId :: Lens' ProductTax (Maybe Int64)
data OrderShipment

-- | Creates a value of <a>OrderShipment</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>osCarrier</a></li>
--   <li><a>osStatus</a></li>
--   <li><a>osTrackingId</a></li>
--   <li><a>osLineItems</a></li>
--   <li><a>osId</a></li>
--   <li><a>osCreationDate</a></li>
--   <li><a>osDeliveryDate</a></li>
--   </ul>
orderShipment :: OrderShipment

-- | The carrier handling the shipment.
osCarrier :: Lens' OrderShipment (Maybe Text)

-- | The status of the shipment.
osStatus :: Lens' OrderShipment (Maybe Text)

-- | The tracking id for the shipment.
osTrackingId :: Lens' OrderShipment (Maybe Text)

-- | The line items that are shipped.
osLineItems :: Lens' OrderShipment [OrderShipmentLineItemShipment]

-- | The id of the shipment.
osId :: Lens' OrderShipment (Maybe Text)

-- | Date on which the shipment has been created, in ISO 8601 format.
osCreationDate :: Lens' OrderShipment (Maybe Text)

-- | Date on which the shipment has been delivered, in ISO 8601 format.
--   Present only if status is delievered
osDeliveryDate :: Lens' OrderShipment (Maybe Text)
data OrderLineItemReturnInfo

-- | Creates a value of <a>OrderLineItemReturnInfo</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>oliriIsReturnable</a></li>
--   <li><a>oliriPolicyURL</a></li>
--   <li><a>oliriDaysToReturn</a></li>
--   </ul>
orderLineItemReturnInfo :: OrderLineItemReturnInfo

-- | Whether the item is returnable.
oliriIsReturnable :: Lens' OrderLineItemReturnInfo (Maybe Bool)

-- | URL of the item return policy.
oliriPolicyURL :: Lens' OrderLineItemReturnInfo (Maybe Text)

-- | How many days later the item can be returned.
oliriDaysToReturn :: Lens' OrderLineItemReturnInfo (Maybe Int32)
data AccountShippingRateTableCell

-- | Creates a value of <a>AccountShippingRateTableCell</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>asrtcRate</a></li>
--   <li><a>asrtcCondition</a></li>
--   </ul>
accountShippingRateTableCell :: AccountShippingRateTableCell

-- | The rate applicable if the cell conditions are matched.
asrtcRate :: Lens' AccountShippingRateTableCell (Maybe Price)

-- | Conditions for which the cell is valid. All cells in a table must use
--   the same dimension or pair of dimensions among price, weight, shipping
--   label or delivery location. If no condition is specified, the cell
--   acts as a catch-all and matches all the elements that are not matched
--   by other cells in this dimension.
asrtcCondition :: Lens' AccountShippingRateTableCell (Maybe AccountShippingCondition)

-- | Account data.
--   
--   <i>See:</i> <a>account</a> smart constructor.
data Account

-- | Creates a value of <a>Account</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aaUsers</a></li>
--   <li><a>aaKind</a></li>
--   <li><a>aaSellerId</a></li>
--   <li><a>aaName</a></li>
--   <li><a>aaReviewsURL</a></li>
--   <li><a>aaId</a></li>
--   <li><a>aaWebsiteURL</a></li>
--   <li><a>aaAdwordsLinks</a></li>
--   <li><a>aaAdultContent</a></li>
--   </ul>
account :: Account

-- | Users with access to the account. Every account (except for
--   subaccounts) must have at least one admin user.
aaUsers :: Lens' Account [AccountUser]

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#account".
aaKind :: Lens' Account Text

-- | Client-specific, locally-unique, internal ID for the child account.
aaSellerId :: Lens' Account (Maybe Text)

-- | Display name for the account.
aaName :: Lens' Account (Maybe Text)

-- | URL for individual seller reviews, i.e., reviews for each child
--   account.
aaReviewsURL :: Lens' Account (Maybe Text)

-- | Merchant Center account ID.
aaId :: Lens' Account (Maybe Word64)

-- | The merchant's website.
aaWebsiteURL :: Lens' Account (Maybe Text)

-- | List of linked AdWords accounts that are active or pending approval.
--   To create a new link request, add a new link with status active to the
--   list. It will remain in a pending state until approved or rejected
--   either in the AdWords interface or through the AdWords API. To delete
--   an active link, or to cancel a link request, remove it from the list.
aaAdwordsLinks :: Lens' Account [AccountAdwordsLink]

-- | Indicates whether the merchant sells adult content.
aaAdultContent :: Lens' Account (Maybe Bool)
data InventorySetRequest

-- | Creates a value of <a>InventorySetRequest</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>isrLoyaltyPoints</a></li>
--   <li><a>isrQuantity</a></li>
--   <li><a>isrInstallment</a></li>
--   <li><a>isrSalePrice</a></li>
--   <li><a>isrAvailability</a></li>
--   <li><a>isrPickup</a></li>
--   <li><a>isrSalePriceEffectiveDate</a></li>
--   <li><a>isrSellOnGoogleQuantity</a></li>
--   <li><a>isrPrice</a></li>
--   </ul>
inventorySetRequest :: InventorySetRequest

-- | Loyalty points that users receive after purchasing the item. Japan
--   only.
isrLoyaltyPoints :: Lens' InventorySetRequest (Maybe LoyaltyPoints)

-- | The quantity of the product. Must be equal to or greater than zero.
--   Supported only for local products.
isrQuantity :: Lens' InventorySetRequest (Maybe Word32)

-- | Number and amount of installments to pay for an item. Brazil only.
isrInstallment :: Lens' InventorySetRequest (Maybe Installment)

-- | The sale price of the product. Mandatory if sale_price_effective_date
--   is defined.
isrSalePrice :: Lens' InventorySetRequest (Maybe Price)

-- | The availability of the product.
isrAvailability :: Lens' InventorySetRequest (Maybe Text)

-- | Store pickup information. Only supported for local inventory. Not
--   setting pickup means "don't update" while setting it to the empty
--   value ({} in JSON) means "delete". Otherwise, pickupMethod and
--   pickupSla must be set together, unless pickupMethod is "not
--   supported".
isrPickup :: Lens' InventorySetRequest (Maybe InventoryPickup)

-- | A date range represented by a pair of ISO 8601 dates separated by a
--   space, comma, or slash. Both dates might be specified as 'null' if
--   undecided.
isrSalePriceEffectiveDate :: Lens' InventorySetRequest (Maybe Text)

-- | The quantity of the product that is reserved for sell-on-google ads.
--   Supported only for online products.
isrSellOnGoogleQuantity :: Lens' InventorySetRequest (Maybe Word32)

-- | The price of the product.
isrPrice :: Lens' InventorySetRequest (Maybe Price)

-- | Building block of the cost calculation decision tree. - The tree root
--   should have no condition and no calculation method. - All the children
--   must have a condition on the same dimension. The first child matching
--   a condition is entered, therefore, price and weight conditions form
--   contiguous intervals. - The last child of an element must have no
--   condition and matches all elements not previously matched. - Children
--   and calculation method are mutually exclusive, and exactly one of them
--   must be defined; the root must only have children.
--   
--   <i>See:</i> <a>accountShippingShippingServiceCostRule</a> smart
--   constructor.
data AccountShippingShippingServiceCostRule

-- | Creates a value of <a>AccountShippingShippingServiceCostRule</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>assscrChildren</a></li>
--   <li><a>assscrCalculationMethod</a></li>
--   <li><a>assscrCondition</a></li>
--   </ul>
accountShippingShippingServiceCostRule :: AccountShippingShippingServiceCostRule

-- | Subsequent rules to be applied, only for inner nodes. The last child
--   must not specify a condition and acts as a catch-all.
assscrChildren :: Lens' AccountShippingShippingServiceCostRule [AccountShippingShippingServiceCostRule]

-- | Final calculation method to be used only in leaf nodes.
assscrCalculationMethod :: Lens' AccountShippingShippingServiceCostRule (Maybe AccountShippingShippingServiceCalculationMethod)

-- | Condition for this rule to be applicable. If no condition is
--   specified, the rule acts as a catch-all.
assscrCondition :: Lens' AccountShippingShippingServiceCostRule (Maybe AccountShippingCondition)
data OrdersCancelLineItemRequest

-- | Creates a value of <a>OrdersCancelLineItemRequest</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>oclirAmount</a></li>
--   <li><a>oclirQuantity</a></li>
--   <li><a>oclirLineItemId</a></li>
--   <li><a>oclirReason</a></li>
--   <li><a>oclirOperationId</a></li>
--   <li><a>oclirReasonText</a></li>
--   </ul>
ordersCancelLineItemRequest :: OrdersCancelLineItemRequest

-- | Amount to refund for the cancelation. Optional. If not set, Google
--   will calculate the default based on the price and tax of the items
--   involved. The amount must not be larger than the net amount left on
--   the order.
oclirAmount :: Lens' OrdersCancelLineItemRequest (Maybe Price)

-- | The quantity to cancel.
oclirQuantity :: Lens' OrdersCancelLineItemRequest (Maybe Word32)

-- | The ID of the line item to cancel.
oclirLineItemId :: Lens' OrdersCancelLineItemRequest (Maybe Text)

-- | The reason for the cancellation.
oclirReason :: Lens' OrdersCancelLineItemRequest (Maybe Text)

-- | The ID of the operation. Unique across all operations for a given
--   order.
oclirOperationId :: Lens' OrdersCancelLineItemRequest (Maybe Text)

-- | The explanation of the reason.
oclirReasonText :: Lens' OrdersCancelLineItemRequest (Maybe Text)
data ProductShippingWeight

-- | Creates a value of <a>ProductShippingWeight</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pswValue</a></li>
--   <li><a>pswUnit</a></li>
--   </ul>
productShippingWeight :: ProductShippingWeight

-- | The weight of the product used to calculate the shipping cost of the
--   item.
pswValue :: Lens' ProductShippingWeight (Maybe Double)

-- | The unit of value.
pswUnit :: Lens' ProductShippingWeight (Maybe Text)

-- | A batch entry encoding a single non-batch accountstatuses request.
--   
--   <i>See:</i> <a>accountstatusesCustomBatchRequestEntry</a> smart
--   constructor.
data AccountstatusesCustomBatchRequestEntry

-- | Creates a value of <a>AccountstatusesCustomBatchRequestEntry</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>acbrecMerchantId</a></li>
--   <li><a>acbrecAccountId</a></li>
--   <li><a>acbrecMethod</a></li>
--   <li><a>acbrecBatchId</a></li>
--   </ul>
accountstatusesCustomBatchRequestEntry :: AccountstatusesCustomBatchRequestEntry

-- | The ID of the managing account.
acbrecMerchantId :: Lens' AccountstatusesCustomBatchRequestEntry (Maybe Word64)

-- | The ID of the (sub-)account whose status to get.
acbrecAccountId :: Lens' AccountstatusesCustomBatchRequestEntry (Maybe Word64)

-- | The method (get).
acbrecMethod :: Lens' AccountstatusesCustomBatchRequestEntry (Maybe Text)

-- | An entry ID, unique within the batch request.
acbrecBatchId :: Lens' AccountstatusesCustomBatchRequestEntry (Maybe Word32)
data DeliveryTime

-- | Creates a value of <a>DeliveryTime</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dtMinTransitTimeInDays</a></li>
--   <li><a>dtMaxTransitTimeInDays</a></li>
--   </ul>
deliveryTime :: DeliveryTime

-- | Minimum number of business days that is spent in transit. 0 means same
--   day delivery, 1 means next day delivery. Required.
dtMinTransitTimeInDays :: Lens' DeliveryTime (Maybe Word32)

-- | 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.
dtMaxTransitTimeInDays :: Lens' DeliveryTime (Maybe Word32)

-- | A batch entry encoding a single non-batch productstatuses response.
--   
--   <i>See:</i> <a>productstatusesCustomBatchResponseEntry</a> smart
--   constructor.
data ProductstatusesCustomBatchResponseEntry

-- | Creates a value of <a>ProductstatusesCustomBatchResponseEntry</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pcbreKind</a></li>
--   <li><a>pcbreProductStatus</a></li>
--   <li><a>pcbreErrors</a></li>
--   <li><a>pcbreBatchId</a></li>
--   </ul>
productstatusesCustomBatchResponseEntry :: ProductstatusesCustomBatchResponseEntry

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#productstatusesCustomBatchResponseEntry".
pcbreKind :: Lens' ProductstatusesCustomBatchResponseEntry Text

-- | The requested product status. Only defined if the request was
--   successful.
pcbreProductStatus :: Lens' ProductstatusesCustomBatchResponseEntry (Maybe ProductStatus)

-- | A list of errors, if the request failed.
pcbreErrors :: Lens' ProductstatusesCustomBatchResponseEntry (Maybe Errors)

-- | The ID of the request entry this entry responds to.
pcbreBatchId :: Lens' ProductstatusesCustomBatchResponseEntry (Maybe Word32)
data OrdersCustomBatchRequestEntryCancel

-- | Creates a value of <a>OrdersCustomBatchRequestEntryCancel</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ocbrecReason</a></li>
--   <li><a>ocbrecReasonText</a></li>
--   </ul>
ordersCustomBatchRequestEntryCancel :: OrdersCustomBatchRequestEntryCancel

-- | The reason for the cancellation.
ocbrecReason :: Lens' OrdersCustomBatchRequestEntryCancel (Maybe Text)

-- | The explanation of the reason.
ocbrecReasonText :: Lens' OrdersCustomBatchRequestEntryCancel (Maybe Text)
data DatafeedFormat

-- | Creates a value of <a>DatafeedFormat</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dfQuotingMode</a></li>
--   <li><a>dfFileEncoding</a></li>
--   <li><a>dfColumnDelimiter</a></li>
--   </ul>
datafeedFormat :: DatafeedFormat

-- | Specifies how double quotes are interpreted. If not specified, the
--   mode will be auto-detected. Ignored for non-DSV data feeds.
dfQuotingMode :: Lens' DatafeedFormat (Maybe Text)

-- | Character encoding scheme of the data feed. If not specified, the
--   encoding will be auto-detected.
dfFileEncoding :: Lens' DatafeedFormat (Maybe Text)

-- | Delimiter for the separation of values in a delimiter-separated values
--   feed. If not specified, the delimiter will be auto-detected. Ignored
--   for non-DSV data feeds.
dfColumnDelimiter :: Lens' DatafeedFormat (Maybe Text)
data ProductShipping

-- | Creates a value of <a>ProductShipping</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>psService</a></li>
--   <li><a>psLocationGroupName</a></li>
--   <li><a>psCountry</a></li>
--   <li><a>psPostalCode</a></li>
--   <li><a>psPrice</a></li>
--   <li><a>psRegion</a></li>
--   <li><a>psLocationId</a></li>
--   </ul>
productShipping :: ProductShipping

-- | A free-form description of the service class or delivery speed.
psService :: Lens' ProductShipping (Maybe Text)

-- | The location where the shipping is applicable, represented by a
--   location group name.
psLocationGroupName :: Lens' ProductShipping (Maybe Text)

-- | The CLDR territory code of the country to which an item will ship.
psCountry :: Lens' ProductShipping (Maybe Text)

-- | The postal code range that the shipping rate applies to, represented
--   by a postal code, a postal code prefix followed by a * wildcard, a
--   range between two postal codes or two postal code prefixes of equal
--   length.
psPostalCode :: Lens' ProductShipping (Maybe Text)

-- | Fixed shipping price, represented as a number.
psPrice :: Lens' ProductShipping (Maybe Price)

-- | The geographic region to which a shipping rate applies (e.g. zip
--   code).
psRegion :: Lens' ProductShipping (Maybe Text)

-- | The numeric id of a location that the shipping rate applies to as
--   defined in the AdWords API.
psLocationId :: Lens' ProductShipping (Maybe Int64)
data ShippingSettingsCustomBatchRequest

-- | Creates a value of <a>ShippingSettingsCustomBatchRequest</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sscbrEntries</a></li>
--   </ul>
shippingSettingsCustomBatchRequest :: ShippingSettingsCustomBatchRequest

-- | The request entries to be processed in the batch.
sscbrEntries :: Lens' ShippingSettingsCustomBatchRequest [ShippingSettingsCustomBatchRequestEntry]

-- | A batch entry encoding a single non-batch accountshipping request.
--   
--   <i>See:</i> <a>accountshippingCustomBatchRequestEntry</a> smart
--   constructor.
data AccountshippingCustomBatchRequestEntry

-- | Creates a value of <a>AccountshippingCustomBatchRequestEntry</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aaMerchantId</a></li>
--   <li><a>aaAccountId</a></li>
--   <li><a>aaMethod</a></li>
--   <li><a>aaAccountShipping</a></li>
--   <li><a>aaBatchId</a></li>
--   </ul>
accountshippingCustomBatchRequestEntry :: AccountshippingCustomBatchRequestEntry

-- | The ID of the managing account.
aaMerchantId :: Lens' AccountshippingCustomBatchRequestEntry (Maybe Word64)

-- | The ID of the account for which to get/update account shipping
--   settings.
aaAccountId :: Lens' AccountshippingCustomBatchRequestEntry (Maybe Word64)
aaMethod :: Lens' AccountshippingCustomBatchRequestEntry (Maybe Text)

-- | The account shipping settings to update. Only defined if the method is
--   update.
aaAccountShipping :: Lens' AccountshippingCustomBatchRequestEntry (Maybe AccountShipping)

-- | An entry ID, unique within the batch request.
aaBatchId :: Lens' AccountshippingCustomBatchRequestEntry (Maybe Word32)
data AccountsCustomBatchRequest

-- | Creates a value of <a>AccountsCustomBatchRequest</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>accEntries</a></li>
--   </ul>
accountsCustomBatchRequest :: AccountsCustomBatchRequest

-- | The request entries to be processed in the batch.
accEntries :: Lens' AccountsCustomBatchRequest [AccountsCustomBatchRequestEntry]
data ProductCustomAttribute

-- | Creates a value of <a>ProductCustomAttribute</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pcaValue</a></li>
--   <li><a>pcaName</a></li>
--   <li><a>pcaType</a></li>
--   <li><a>pcaUnit</a></li>
--   </ul>
productCustomAttribute :: ProductCustomAttribute

-- | The value of the attribute.
pcaValue :: Lens' ProductCustomAttribute (Maybe Text)

-- | The name of the attribute. Underscores will be replaced by spaces upon
--   insertion.
pcaName :: Lens' ProductCustomAttribute (Maybe Text)

-- | The type of the attribute.
pcaType :: Lens' ProductCustomAttribute (Maybe Text)

-- | Free-form unit of the attribute. Unit can only be used for values of
--   type INT or FLOAT.
pcaUnit :: Lens' ProductCustomAttribute (Maybe Text)

-- | A postal code range, that can be either: - A range of postal codes
--   (e.g., start=12340, end=12359) - A range of postal codes prefixes
--   (e.g., start=1234* end=1235*). Prefixes must be of the same length
--   (e.g., start=12* end=2* is invalid).
--   
--   <i>See:</i> <a>accountShippingPostalCodeRange</a> smart constructor.
data AccountShippingPostalCodeRange

-- | Creates a value of <a>AccountShippingPostalCodeRange</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aspcrStart</a></li>
--   <li><a>aspcrEnd</a></li>
--   </ul>
accountShippingPostalCodeRange :: AccountShippingPostalCodeRange

-- | The first (inclusive) postal code or prefix of the range.
aspcrStart :: Lens' AccountShippingPostalCodeRange (Maybe Text)

-- | The last (inclusive) postal code or prefix of the range.
aspcrEnd :: Lens' AccountShippingPostalCodeRange (Maybe Text)
data OrdersListResponse

-- | Creates a value of <a>OrdersListResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>olrNextPageToken</a></li>
--   <li><a>olrKind</a></li>
--   <li><a>olrResources</a></li>
--   </ul>
ordersListResponse :: OrdersListResponse

-- | The token for the retrieval of the next page of orders.
olrNextPageToken :: Lens' OrdersListResponse (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#ordersListResponse".
olrKind :: Lens' OrdersListResponse Text
olrResources :: Lens' OrdersListResponse [Order]

-- | A non-empty list of row or column headers for a table. Exactly one of
--   prices, weights, numItems, postalCodeGroupNames, or locations must be
--   set.
--   
--   <i>See:</i> <a>headers</a> smart constructor.
data Headers

-- | Creates a value of <a>Headers</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>hNumberOfItems</a></li>
--   <li><a>hPostalCodeGroupNames</a></li>
--   <li><a>hPrices</a></li>
--   <li><a>hWeights</a></li>
--   <li><a>hLocations</a></li>
--   </ul>
headers :: Headers

-- | A list of inclusive number of items upper bounds. The last value can
--   be "infinity". For example ["10", "50", "infinity"] represents the
--   headers "&lt;= 10 items", " 50 items". Must be non-empty. Can only be
--   set if all other fields are not set.
hNumberOfItems :: Lens' Headers [Text]

-- | 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.
hPostalCodeGroupNames :: Lens' Headers [Text]
hPrices :: Lens' Headers [Price]

-- | be "infinity". For example [{"value": "10", "unit": "kg"}, {"value":
--   "50", "unit": "kg"}, {"value": "infinity", "unit": "kg"}] represents
--   the headers "&lt;= 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.
hWeights :: Lens' Headers [Weight]

-- | A list of location ID sets. Must be non-empty. Can only be set if all
--   other fields are not set.
hLocations :: Lens' Headers [LocationIdSet]
data OrdersShipLineItemsResponse

-- | Creates a value of <a>OrdersShipLineItemsResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>oslirKind</a></li>
--   <li><a>oslirExecutionStatus</a></li>
--   </ul>
ordersShipLineItemsResponse :: OrdersShipLineItemsResponse

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#ordersShipLineItemsResponse".
oslirKind :: Lens' OrdersShipLineItemsResponse Text

-- | The status of the execution.
oslirExecutionStatus :: Lens' OrdersShipLineItemsResponse (Maybe Text)

-- | Shipping services provided in a country.
--   
--   <i>See:</i> <a>accountShippingShippingService</a> smart constructor.
data AccountShippingShippingService

-- | Creates a value of <a>AccountShippingShippingService</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>asssCostRuleTree</a></li>
--   <li><a>asssSaleCountry</a></li>
--   <li><a>asssMaxDaysInTransit</a></li>
--   <li><a>asssCalculationMethod</a></li>
--   <li><a>asssActive</a></li>
--   <li><a>asssName</a></li>
--   <li><a>asssMinDaysInTransit</a></li>
--   </ul>
accountShippingShippingService :: AccountShippingShippingService

-- | Decision tree for "complicated" shipping cost calculation.
asssCostRuleTree :: Lens' AccountShippingShippingService (Maybe AccountShippingShippingServiceCostRule)

-- | The CLDR territory code of the sale country for which this service can
--   be used.
asssSaleCountry :: Lens' AccountShippingShippingService (Maybe Text)

-- | The maximum number of days in transit. Must be a value between 0 and
--   250 included. A value of 0 means same day delivery.
asssMaxDaysInTransit :: Lens' AccountShippingShippingService (Maybe Word64)

-- | Calculation method for the "simple" case that needs no rules.
asssCalculationMethod :: Lens' AccountShippingShippingService (Maybe AccountShippingShippingServiceCalculationMethod)

-- | Whether the shipping service is available.
asssActive :: Lens' AccountShippingShippingService (Maybe Bool)

-- | The name of this shipping service.
asssName :: Lens' AccountShippingShippingService (Maybe Text)

-- | The minimum number of days in transit. Must be a value between 0 and
--   maxDaysIntransit included. A value of 0 means same day delivery.
asssMinDaysInTransit :: Lens' AccountShippingShippingService (Maybe Word64)

-- | A single or bi-dimensional table of shipping rates. Each dimension is
--   defined in terms of consecutive price/weight ranges, delivery
--   locations, or shipping labels.
--   
--   <i>See:</i> <a>accountShippingRateTable</a> smart constructor.
data AccountShippingRateTable

-- | Creates a value of <a>AccountShippingRateTable</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>asrtSaleCountry</a></li>
--   <li><a>asrtContent</a></li>
--   <li><a>asrtName</a></li>
--   </ul>
accountShippingRateTable :: AccountShippingRateTable

-- | The sale country for which this table is valid, represented as a CLDR
--   territory code.
asrtSaleCountry :: Lens' AccountShippingRateTable (Maybe Text)

-- | One-dimensional table cells define one condition along the same
--   dimension. Bi-dimensional table cells use two dimensions with
--   respectively M and N distinct values and must contain exactly M * N
--   cells with distinct conditions (for each possible value pairs).
asrtContent :: Lens' AccountShippingRateTable [AccountShippingRateTableCell]

-- | The name of the rate table.
asrtName :: Lens' AccountShippingRateTable (Maybe Text)
data AccountshippingCustomBatchResponse

-- | Creates a value of <a>AccountshippingCustomBatchResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>acccEntries</a></li>
--   <li><a>acccKind</a></li>
--   </ul>
accountshippingCustomBatchResponse :: AccountshippingCustomBatchResponse

-- | The result of the execution of the batch requests.
acccEntries :: Lens' AccountshippingCustomBatchResponse [AccountshippingCustomBatchResponseEntry]

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#accountshippingCustomBatchResponse".
acccKind :: Lens' AccountshippingCustomBatchResponse Text

-- | The merchant account's shipping settings.
--   
--   <i>See:</i> <a>shippingSettings</a> smart constructor.
data ShippingSettings

-- | Creates a value of <a>ShippingSettings</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ssPostalCodeGroups</a></li>
--   <li><a>ssAccountId</a></li>
--   <li><a>ssServices</a></li>
--   </ul>
shippingSettings :: ShippingSettings

-- | A list of postal code groups that can be referred to in services.
--   Optional.
ssPostalCodeGroups :: Lens' ShippingSettings [PostalCodeGroup]

-- | The ID of the account to which these account shipping settings belong.
--   Ignored upon update, always present in get request responses.
ssAccountId :: Lens' ShippingSettings (Maybe Word64)

-- | The target account's list of services. Optional.
ssServices :: Lens' ShippingSettings [Service]
data PostalCodeRange

-- | Creates a value of <a>PostalCodeRange</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pcrPostalCodeRangeBegin</a></li>
--   <li><a>pcrPostalCodeRangeEnd</a></li>
--   </ul>
postalCodeRange :: PostalCodeRange

-- | A postal code or a pattern of the form prefix* denoting the inclusive
--   lower bound of the range defining the area. Examples values: "94108",
--   "9410*", "9*". Required.
pcrPostalCodeRangeBegin :: Lens' PostalCodeRange (Maybe Text)

-- | A postal code or a pattern of the form prefix* denoting the inclusive
--   upper bound of the range defining the area. It must have the same
--   length as postalCodeRangeBegin: if postalCodeRangeBegin is a postal
--   code then postalCodeRangeEnd must be a postal code too; if
--   postalCodeRangeBegin is a pattern then postalCodeRangeEnd must be a
--   pattern with the same prefix length. Optional: if not set, then the
--   area is defined as being all the postal codes matching
--   postalCodeRangeBegin.
pcrPostalCodeRangeEnd :: Lens' PostalCodeRange (Maybe Text)
data OrdersUpdateShipmentResponse

-- | Creates a value of <a>OrdersUpdateShipmentResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ousrKind</a></li>
--   <li><a>ousrExecutionStatus</a></li>
--   </ul>
ordersUpdateShipmentResponse :: OrdersUpdateShipmentResponse

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#ordersUpdateShipmentResponse".
ousrKind :: Lens' OrdersUpdateShipmentResponse Text

-- | The status of the execution.
ousrExecutionStatus :: Lens' OrdersUpdateShipmentResponse (Maybe Text)
data ProductstatusesCustomBatchRequest

-- | Creates a value of <a>ProductstatusesCustomBatchRequest</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>proEntries</a></li>
--   </ul>
productstatusesCustomBatchRequest :: ProductstatusesCustomBatchRequest

-- | The request entries to be processed in the batch.
proEntries :: Lens' ProductstatusesCustomBatchRequest [ProductstatusesCustomBatchRequestEntry]
data OrdersReturnLineItemResponse

-- | Creates a value of <a>OrdersReturnLineItemResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>orlirKind</a></li>
--   <li><a>orlirExecutionStatus</a></li>
--   </ul>
ordersReturnLineItemResponse :: OrdersReturnLineItemResponse

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#ordersReturnLineItemResponse".
orlirKind :: Lens' OrdersReturnLineItemResponse Text

-- | The status of the execution.
orlirExecutionStatus :: Lens' OrdersReturnLineItemResponse (Maybe Text)
data ProductCustomGroup

-- | Creates a value of <a>ProductCustomGroup</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pName</a></li>
--   <li><a>pAttributes</a></li>
--   </ul>
productCustomGroup :: ProductCustomGroup

-- | The name of the group. Underscores will be replaced by spaces upon
--   insertion.
pName :: Lens' ProductCustomGroup (Maybe Text)

-- | The sub-attributes.
pAttributes :: Lens' ProductCustomGroup [ProductCustomAttribute]
data AccountstatusesCustomBatchResponse

-- | Creates a value of <a>AccountstatusesCustomBatchResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>acbr1Entries</a></li>
--   <li><a>acbr1Kind</a></li>
--   </ul>
accountstatusesCustomBatchResponse :: AccountstatusesCustomBatchResponse

-- | The result of the execution of the batch requests.
acbr1Entries :: Lens' AccountstatusesCustomBatchResponse [AccountstatusesCustomBatchResponseEntry]

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#accountstatusesCustomBatchResponse".
acbr1Kind :: Lens' AccountstatusesCustomBatchResponse Text

-- | A batch entry encoding a single non-batch shipping settings response.
--   
--   <i>See:</i> <a>shippingSettingsCustomBatchResponseEntry</a> smart
--   constructor.
data ShippingSettingsCustomBatchResponseEntry

-- | Creates a value of <a>ShippingSettingsCustomBatchResponseEntry</a>
--   with the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sKind</a></li>
--   <li><a>sShippingSettings</a></li>
--   <li><a>sErrors</a></li>
--   <li><a>sBatchId</a></li>
--   </ul>
shippingSettingsCustomBatchResponseEntry :: ShippingSettingsCustomBatchResponseEntry

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#shippingsettingsCustomBatchResponseEntry".
sKind :: Lens' ShippingSettingsCustomBatchResponseEntry Text

-- | The retrieved or updated account shipping settings.
sShippingSettings :: Lens' ShippingSettingsCustomBatchResponseEntry (Maybe ShippingSettings)

-- | A list of errors defined if, and only if, the request failed.
sErrors :: Lens' ShippingSettingsCustomBatchResponseEntry (Maybe Errors)

-- | The ID of the request entry to which this entry responds.
sBatchId :: Lens' ShippingSettingsCustomBatchResponseEntry (Maybe Word32)

-- | The status of a product, i.e., information about a product computed
--   asynchronously by the data quality analysis.
--   
--   <i>See:</i> <a>productStatus</a> smart constructor.
data ProductStatus

-- | Creates a value of <a>ProductStatus</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>psDataQualityIssues</a></li>
--   <li><a>psKind</a></li>
--   <li><a>psLink</a></li>
--   <li><a>psDestinationStatuses</a></li>
--   <li><a>psLastUpdateDate</a></li>
--   <li><a>psCreationDate</a></li>
--   <li><a>psTitle</a></li>
--   <li><a>psGoogleExpirationDate</a></li>
--   <li><a>psProductId</a></li>
--   </ul>
productStatus :: ProductStatus

-- | A list of data quality issues associated with the product.
psDataQualityIssues :: Lens' ProductStatus [ProductStatusDataQualityIssue]

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#productStatus".
psKind :: Lens' ProductStatus Text

-- | The link to the product.
psLink :: Lens' ProductStatus (Maybe Text)

-- | The intended destinations for the product.
psDestinationStatuses :: Lens' ProductStatus [ProductStatusDestinationStatus]

-- | Date on which the item has been last updated, in ISO 8601 format.
psLastUpdateDate :: Lens' ProductStatus (Maybe Text)

-- | Date on which the item has been created, in ISO 8601 format.
psCreationDate :: Lens' ProductStatus (Maybe Text)

-- | The title of the product.
psTitle :: Lens' ProductStatus (Maybe Text)

-- | Date on which the item expires in Google Shopping, in ISO 8601 format.
psGoogleExpirationDate :: Lens' ProductStatus (Maybe Text)

-- | The id of the product for which status is reported.
psProductId :: Lens' ProductStatus (Maybe Text)
data AccountstatusesListResponse

-- | Creates a value of <a>AccountstatusesListResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>alrlNextPageToken</a></li>
--   <li><a>alrlKind</a></li>
--   <li><a>alrlResources</a></li>
--   </ul>
accountstatusesListResponse :: AccountstatusesListResponse

-- | The token for the retrieval of the next page of account statuses.
alrlNextPageToken :: Lens' AccountstatusesListResponse (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#accountstatusesListResponse".
alrlKind :: Lens' AccountstatusesListResponse Text
alrlResources :: Lens' AccountstatusesListResponse [AccountStatus]
data AccounttaxCustomBatchRequest

-- | Creates a value of <a>AccounttaxCustomBatchRequest</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aaEntries</a></li>
--   </ul>
accounttaxCustomBatchRequest :: AccounttaxCustomBatchRequest

-- | The request entries to be processed in the batch.
aaEntries :: Lens' AccounttaxCustomBatchRequest [AccounttaxCustomBatchRequestEntry]

-- | A batch entry encoding a single non-batch products request.
--   
--   <i>See:</i> <a>productsCustomBatchRequestEntry</a> smart constructor.
data ProductsCustomBatchRequestEntry

-- | Creates a value of <a>ProductsCustomBatchRequestEntry</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pMerchantId</a></li>
--   <li><a>pMethod</a></li>
--   <li><a>pProduct</a></li>
--   <li><a>pProductId</a></li>
--   <li><a>pBatchId</a></li>
--   </ul>
productsCustomBatchRequestEntry :: ProductsCustomBatchRequestEntry

-- | The ID of the managing account.
pMerchantId :: Lens' ProductsCustomBatchRequestEntry (Maybe Word64)
pMethod :: Lens' ProductsCustomBatchRequestEntry (Maybe Text)

-- | The product to insert. Only required if the method is insert.
pProduct :: Lens' ProductsCustomBatchRequestEntry (Maybe Product)

-- | The ID of the product to get or delete. Only defined if the method is
--   get or delete.
pProductId :: Lens' ProductsCustomBatchRequestEntry (Maybe Text)

-- | An entry ID, unique within the batch request.
pBatchId :: Lens' ProductsCustomBatchRequestEntry (Maybe Word32)

-- | A batch entry encoding a single non-batch datafeedstatuses request.
--   
--   <i>See:</i> <a>datafeedstatusesCustomBatchRequestEntry</a> smart
--   constructor.
data DatafeedstatusesCustomBatchRequestEntry

-- | Creates a value of <a>DatafeedstatusesCustomBatchRequestEntry</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dMerchantId</a></li>
--   <li><a>dMethod</a></li>
--   <li><a>dDatafeedId</a></li>
--   <li><a>dBatchId</a></li>
--   </ul>
datafeedstatusesCustomBatchRequestEntry :: DatafeedstatusesCustomBatchRequestEntry

-- | The ID of the managing account.
dMerchantId :: Lens' DatafeedstatusesCustomBatchRequestEntry (Maybe Word64)
dMethod :: Lens' DatafeedstatusesCustomBatchRequestEntry (Maybe Text)

-- | The ID of the data feed to get or delete.
dDatafeedId :: Lens' DatafeedstatusesCustomBatchRequestEntry (Maybe Word64)

-- | An entry ID, unique within the batch request.
dBatchId :: Lens' DatafeedstatusesCustomBatchRequestEntry (Maybe Word32)
data OrderCustomer

-- | Creates a value of <a>OrderCustomer</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ocFullName</a></li>
--   <li><a>ocEmail</a></li>
--   <li><a>ocExplicitMarketingPreference</a></li>
--   </ul>
orderCustomer :: OrderCustomer

-- | Full name of the customer.
ocFullName :: Lens' OrderCustomer (Maybe Text)

-- | Email address of the customer.
ocEmail :: Lens' OrderCustomer (Maybe Text)

-- | If set, this indicates the user explicitly chose to opt in or out of
--   providing marketing rights to the merchant. If unset, this indicates
--   the user has already made this choice in a previous purchase, and was
--   thus not shown the marketing right opt in/out checkbox during the
--   checkout flow.
ocExplicitMarketingPreference :: Lens' OrderCustomer (Maybe Bool)

-- | A batch entry encoding a single non-batch inventory response.
--   
--   <i>See:</i> <a>inventoryCustomBatchResponseEntry</a> smart
--   constructor.
data InventoryCustomBatchResponseEntry

-- | Creates a value of <a>InventoryCustomBatchResponseEntry</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>icbreKind</a></li>
--   <li><a>icbreErrors</a></li>
--   <li><a>icbreBatchId</a></li>
--   </ul>
inventoryCustomBatchResponseEntry :: InventoryCustomBatchResponseEntry

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#inventoryCustomBatchResponseEntry".
icbreKind :: Lens' InventoryCustomBatchResponseEntry Text

-- | A list of errors defined if and only if the request failed.
icbreErrors :: Lens' InventoryCustomBatchResponseEntry (Maybe Errors)

-- | The ID of the request entry this entry responds to.
icbreBatchId :: Lens' InventoryCustomBatchResponseEntry (Maybe Word32)
data AccountshippingListResponse

-- | Creates a value of <a>AccountshippingListResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>alr1NextPageToken</a></li>
--   <li><a>alr1Kind</a></li>
--   <li><a>alr1Resources</a></li>
--   </ul>
accountshippingListResponse :: AccountshippingListResponse

-- | The token for the retrieval of the next page of account shipping
--   settings.
alr1NextPageToken :: Lens' AccountshippingListResponse (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#accountshippingListResponse".
alr1Kind :: Lens' AccountshippingListResponse Text
alr1Resources :: Lens' AccountshippingListResponse [AccountShipping]
data LocationIdSet

-- | Creates a value of <a>LocationIdSet</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lisLocationIds</a></li>
--   </ul>
locationIdSet :: LocationIdSet

-- | A non-empty list of location IDs. They must all be of the same
--   location type (e.g., state).
lisLocationIds :: Lens' LocationIdSet [Text]
data Row

-- | Creates a value of <a>Row</a> with the minimum fields required to make
--   a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rCells</a></li>
--   </ul>
row :: Row

-- | 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.
rCells :: Lens' Row [Value]
data Inventory

-- | Creates a value of <a>Inventory</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iLoyaltyPoints</a></li>
--   <li><a>iKind</a></li>
--   <li><a>iQuantity</a></li>
--   <li><a>iInstallment</a></li>
--   <li><a>iSalePrice</a></li>
--   <li><a>iAvailability</a></li>
--   <li><a>iPickup</a></li>
--   <li><a>iSalePriceEffectiveDate</a></li>
--   <li><a>iSellOnGoogleQuantity</a></li>
--   <li><a>iPrice</a></li>
--   </ul>
inventory :: Inventory

-- | Loyalty points that users receive after purchasing the item. Japan
--   only.
iLoyaltyPoints :: Lens' Inventory (Maybe LoyaltyPoints)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#inventory".
iKind :: Lens' Inventory Text

-- | The quantity of the product. Must be equal to or greater than zero.
--   Supported only for local products.
iQuantity :: Lens' Inventory (Maybe Word32)

-- | Number and amount of installments to pay for an item. Brazil only.
iInstallment :: Lens' Inventory (Maybe Installment)

-- | The sale price of the product. Mandatory if sale_price_effective_date
--   is defined.
iSalePrice :: Lens' Inventory (Maybe Price)

-- | The availability of the product.
iAvailability :: Lens' Inventory (Maybe Text)

-- | Store pickup information. Only supported for local inventory. Not
--   setting pickup means "don't update" while setting it to the empty
--   value ({} in JSON) means "delete". Otherwise, pickupMethod and
--   pickupSla must be set together, unless pickupMethod is "not
--   supported".
iPickup :: Lens' Inventory (Maybe InventoryPickup)

-- | A date range represented by a pair of ISO 8601 dates separated by a
--   space, comma, or slash. Both dates might be specified as 'null' if
--   undecided.
iSalePriceEffectiveDate :: Lens' Inventory (Maybe Text)

-- | The quantity of the product that is reserved for sell-on-google ads.
--   Supported only for online products.
iSellOnGoogleQuantity :: Lens' Inventory (Maybe Word32)

-- | The price of the product.
iPrice :: Lens' Inventory (Maybe Price)
data OrdersGetByMerchantOrderIdResponse

-- | Creates a value of <a>OrdersGetByMerchantOrderIdResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ogbmoirKind</a></li>
--   <li><a>ogbmoirOrder</a></li>
--   </ul>
ordersGetByMerchantOrderIdResponse :: OrdersGetByMerchantOrderIdResponse

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#ordersGetByMerchantOrderIdResponse".
ogbmoirKind :: Lens' OrdersGetByMerchantOrderIdResponse Text

-- | The requested order.
ogbmoirOrder :: Lens' OrdersGetByMerchantOrderIdResponse (Maybe Order)
data OrderPromotionBenefit

-- | Creates a value of <a>OrderPromotionBenefit</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>opbTaxImpact</a></li>
--   <li><a>opbDiscount</a></li>
--   <li><a>opbOfferIds</a></li>
--   <li><a>opbSubType</a></li>
--   <li><a>opbType</a></li>
--   </ul>
orderPromotionBenefit :: OrderPromotionBenefit

-- | The impact on tax when the promotion is applied.
opbTaxImpact :: Lens' OrderPromotionBenefit (Maybe Price)

-- | The discount in the order price when the promotion is applied.
opbDiscount :: Lens' OrderPromotionBenefit (Maybe Price)

-- | The OfferId(s) that were purchased in this order and map to this
--   specific benefit of the promotion.
opbOfferIds :: Lens' OrderPromotionBenefit [Text]

-- | Further describes the benefit of the promotion. Note that we will
--   expand on this enumeration as we support new promotion sub-types.
opbSubType :: Lens' OrderPromotionBenefit (Maybe Text)

-- | Describes whether the promotion applies to products (e.g. 20% off) or
--   to shipping (e.g. Free Shipping).
opbType :: Lens' OrderPromotionBenefit (Maybe Text)
data OrdersCancelRequest

-- | Creates a value of <a>OrdersCancelRequest</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ocrReason</a></li>
--   <li><a>ocrOperationId</a></li>
--   <li><a>ocrReasonText</a></li>
--   </ul>
ordersCancelRequest :: OrdersCancelRequest

-- | The reason for the cancellation.
ocrReason :: Lens' OrdersCancelRequest (Maybe Text)

-- | The ID of the operation. Unique across all operations for a given
--   order.
ocrOperationId :: Lens' OrdersCancelRequest (Maybe Text)

-- | The explanation of the reason.
ocrReasonText :: Lens' OrdersCancelRequest (Maybe Text)
data OrderLineItemProductVariantAttribute

-- | Creates a value of <a>OrderLineItemProductVariantAttribute</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>olipvaDimension</a></li>
--   <li><a>olipvaValue</a></li>
--   </ul>
orderLineItemProductVariantAttribute :: OrderLineItemProductVariantAttribute

-- | The dimension of the variant.
olipvaDimension :: Lens' OrderLineItemProductVariantAttribute (Maybe Text)

-- | The value for the dimension.
olipvaValue :: Lens' OrderLineItemProductVariantAttribute (Maybe Text)
data OrdersCustomBatchResponseEntry

-- | Creates a value of <a>OrdersCustomBatchResponseEntry</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>oKind</a></li>
--   <li><a>oExecutionStatus</a></li>
--   <li><a>oErrors</a></li>
--   <li><a>oOrder</a></li>
--   <li><a>oBatchId</a></li>
--   </ul>
ordersCustomBatchResponseEntry :: OrdersCustomBatchResponseEntry

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#ordersCustomBatchResponseEntry".
oKind :: Lens' OrdersCustomBatchResponseEntry Text

-- | The status of the execution. Only defined if the method is not get or
--   getByMerchantOrderId and if the request was successful.
oExecutionStatus :: Lens' OrdersCustomBatchResponseEntry (Maybe Text)

-- | A list of errors defined if and only if the request failed.
oErrors :: Lens' OrdersCustomBatchResponseEntry (Maybe Errors)

-- | The retrieved order. Only defined if the method is get and if the
--   request was successful.
oOrder :: Lens' OrdersCustomBatchResponseEntry (Maybe Order)

-- | The ID of the request entry this entry responds to.
oBatchId :: Lens' OrdersCustomBatchResponseEntry (Maybe Word32)

-- | A carrier-calculated shipping rate.
--   
--   <i>See:</i> <a>accountShippingCarrierRate</a> smart constructor.
data AccountShippingCarrierRate

-- | Creates a value of <a>AccountShippingCarrierRate</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ascrCarrier</a></li>
--   <li><a>ascrSaleCountry</a></li>
--   <li><a>ascrShippingOrigin</a></li>
--   <li><a>ascrCarrierService</a></li>
--   <li><a>ascrModifierPercent</a></li>
--   <li><a>ascrName</a></li>
--   <li><a>ascrModifierFlatRate</a></li>
--   </ul>
accountShippingCarrierRate :: AccountShippingCarrierRate

-- | The carrier that is responsible for the shipping, such as "UPS",
--   "FedEx", or "USPS".
ascrCarrier :: Lens' AccountShippingCarrierRate (Maybe Text)

-- | The sale country for which this carrier rate is valid, represented as
--   a CLDR territory code.
ascrSaleCountry :: Lens' AccountShippingCarrierRate (Maybe Text)

-- | Shipping origin represented as a postal code.
ascrShippingOrigin :: Lens' AccountShippingCarrierRate (Maybe Text)

-- | The carrier service, such as "Ground" or "2Day".
ascrCarrierService :: Lens' AccountShippingCarrierRate (Maybe Text)

-- | Multiplicative shipping rate modifier in percent. Represented as a
--   floating point number without the percentage character.
ascrModifierPercent :: Lens' AccountShippingCarrierRate (Maybe Text)

-- | The name of the carrier rate.
ascrName :: Lens' AccountShippingCarrierRate (Maybe Text)

-- | Additive shipping rate modifier.
ascrModifierFlatRate :: Lens' AccountShippingCarrierRate (Maybe Price)
data RateGroup

-- | Creates a value of <a>RateGroup</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rgCarrierRates</a></li>
--   <li><a>rgApplicableShippingLabels</a></li>
--   <li><a>rgMainTable</a></li>
--   <li><a>rgSingleValue</a></li>
--   <li><a>rgSubtables</a></li>
--   </ul>
rateGroup :: RateGroup

-- | A list of carrier rates that can be referred to by mainTable or
--   singleValue.
rgCarrierRates :: Lens' RateGroup [CarrierRate]

-- | 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.
rgApplicableShippingLabels :: Lens' RateGroup [Text]

-- | A table defining the rate group, when singleValue is not expressive
--   enough. Can only be set if singleValue is not set.
rgMainTable :: Lens' RateGroup (Maybe Table)

-- | The value of the rate group (e.g. flat rate $10). Can only be set if
--   mainTable and subtables are not set.
rgSingleValue :: Lens' RateGroup (Maybe Value)

-- | A list of subtables referred to by mainTable. Can only be set if
--   mainTable is set.
rgSubtables :: Lens' RateGroup [Table]
data OrderPromotion

-- | Creates a value of <a>OrderPromotion</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>opEffectiveDates</a></li>
--   <li><a>opGenericRedemptionCode</a></li>
--   <li><a>opRedemptionChannel</a></li>
--   <li><a>opBenefits</a></li>
--   <li><a>opLongTitle</a></li>
--   <li><a>opId</a></li>
--   <li><a>opProductApplicability</a></li>
--   </ul>
orderPromotion :: OrderPromotion

-- | The date and time frame when the promotion is active and ready for
--   validation review. Note that the promotion live time may be delayed
--   for a few hours due to the validation review. Start date and end date
--   are separated by a forward slash (/). The start date is specified by
--   the format (YYYY-MM-DD), followed by the letter ?T?, the time of the
--   day when the sale starts (in Greenwich Mean Time, GMT), followed by an
--   expression of the time zone for the sale. The end date is in the same
--   format.
opEffectiveDates :: Lens' OrderPromotion (Maybe Text)

-- | Optional. The text code that corresponds to the promotion when applied
--   on the retailer?s website.
opGenericRedemptionCode :: Lens' OrderPromotion (Maybe Text)

-- | Indicates that the promotion is valid online.
opRedemptionChannel :: Lens' OrderPromotion (Maybe Text)
opBenefits :: Lens' OrderPromotion [OrderPromotionBenefit]

-- | The full title of the promotion.
opLongTitle :: Lens' OrderPromotion (Maybe Text)

-- | The unique ID of the promotion.
opId :: Lens' OrderPromotion (Maybe Text)

-- | Whether the promotion is applicable to all products or only specific
--   products.
opProductApplicability :: Lens' OrderPromotion (Maybe Text)
data Price

-- | Creates a value of <a>Price</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pValue</a></li>
--   <li><a>pCurrency</a></li>
--   </ul>
price :: Price

-- | The price represented as a number.
pValue :: Lens' Price (Maybe Text)

-- | The currency of the price.
pCurrency :: Lens' Price (Maybe Text)
data OrderLineItemShippingDetails

-- | Creates a value of <a>OrderLineItemShippingDetails</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>olisdShipByDate</a></li>
--   <li><a>olisdMethod</a></li>
--   <li><a>olisdDeliverByDate</a></li>
--   </ul>
orderLineItemShippingDetails :: OrderLineItemShippingDetails

-- | The ship by date, in ISO 8601 format.
olisdShipByDate :: Lens' OrderLineItemShippingDetails (Maybe Text)

-- | Details of the shipping method.
olisdMethod :: Lens' OrderLineItemShippingDetails (Maybe OrderLineItemShippingDetailsMethod)

-- | The delivery by date, in ISO 8601 format.
olisdDeliverByDate :: Lens' OrderLineItemShippingDetails (Maybe Text)
data DatafeedsCustomBatchResponse

-- | Creates a value of <a>DatafeedsCustomBatchResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>datEntries</a></li>
--   <li><a>datKind</a></li>
--   </ul>
datafeedsCustomBatchResponse :: DatafeedsCustomBatchResponse

-- | The result of the execution of the batch requests.
datEntries :: Lens' DatafeedsCustomBatchResponse [DatafeedsCustomBatchResponseEntry]

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#datafeedsCustomBatchResponse".
datKind :: Lens' DatafeedsCustomBatchResponse Text
data OrderDeliveryDetails

-- | Creates a value of <a>OrderDeliveryDetails</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>oddAddress</a></li>
--   <li><a>oddPhoneNumber</a></li>
--   </ul>
orderDeliveryDetails :: OrderDeliveryDetails

-- | The delivery address
oddAddress :: Lens' OrderDeliveryDetails (Maybe OrderAddress)

-- | The phone number of the person receiving the delivery.
oddPhoneNumber :: Lens' OrderDeliveryDetails (Maybe Text)
data OrdersCancelResponse

-- | Creates a value of <a>OrdersCancelResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ocrKind</a></li>
--   <li><a>ocrExecutionStatus</a></li>
--   </ul>
ordersCancelResponse :: OrdersCancelResponse

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#ordersCancelResponse".
ocrKind :: Lens' OrdersCancelResponse Text

-- | The status of the execution.
ocrExecutionStatus :: Lens' OrdersCancelResponse (Maybe Text)
data TestOrder

-- | Creates a value of <a>TestOrder</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>toKind</a></li>
--   <li><a>toLineItems</a></li>
--   <li><a>toShippingOption</a></li>
--   <li><a>toPredefinedDeliveryAddress</a></li>
--   <li><a>toShippingCostTax</a></li>
--   <li><a>toCustomer</a></li>
--   <li><a>toPaymentMethod</a></li>
--   <li><a>toPromotions</a></li>
--   <li><a>toShippingCost</a></li>
--   </ul>
testOrder :: TestOrder

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#testOrder".
toKind :: Lens' TestOrder Text

-- | Line items that are ordered. At least one line item must be provided.
toLineItems :: Lens' TestOrder [TestOrderLineItem]

-- | The requested shipping option.
toShippingOption :: Lens' TestOrder (Maybe Text)

-- | Identifier of one of the predefined delivery addresses for the
--   delivery.
toPredefinedDeliveryAddress :: Lens' TestOrder (Maybe Text)

-- | The tax for the total shipping cost.
toShippingCostTax :: Lens' TestOrder (Maybe Price)

-- | The details of the customer who placed the order.
toCustomer :: Lens' TestOrder (Maybe TestOrderCustomer)

-- | The details of the payment method.
toPaymentMethod :: Lens' TestOrder (Maybe TestOrderPaymentMethod)

-- | The details of the merchant provided promotions applied to the order.
--   More details about the program are here.
toPromotions :: Lens' TestOrder [OrderPromotion]

-- | The total cost of shipping for all items.
toShippingCost :: Lens' TestOrder (Maybe Price)

-- | A batch entry encoding a single non-batch datafeedstatuses response.
--   
--   <i>See:</i> <a>datafeedstatusesCustomBatchResponseEntry</a> smart
--   constructor.
data DatafeedstatusesCustomBatchResponseEntry

-- | Creates a value of <a>DatafeedstatusesCustomBatchResponseEntry</a>
--   with the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>datErrors</a></li>
--   <li><a>datDatafeedStatus</a></li>
--   <li><a>datBatchId</a></li>
--   </ul>
datafeedstatusesCustomBatchResponseEntry :: DatafeedstatusesCustomBatchResponseEntry

-- | A list of errors defined if and only if the request failed.
datErrors :: Lens' DatafeedstatusesCustomBatchResponseEntry (Maybe Errors)

-- | The requested data feed status. Defined if and only if the request was
--   successful.
datDatafeedStatus :: Lens' DatafeedstatusesCustomBatchResponseEntry (Maybe DatafeedStatus)

-- | The ID of the request entry this entry responds to.
datBatchId :: Lens' DatafeedstatusesCustomBatchResponseEntry (Maybe Word32)
data OrderRefund

-- | Creates a value of <a>OrderRefund</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>oAmount</a></li>
--   <li><a>oActor</a></li>
--   <li><a>oReason</a></li>
--   <li><a>oCreationDate</a></li>
--   <li><a>oReasonText</a></li>
--   </ul>
orderRefund :: OrderRefund

-- | The amount that is refunded.
oAmount :: Lens' OrderRefund (Maybe Price)

-- | The actor that created the refund.
oActor :: Lens' OrderRefund (Maybe Text)

-- | The reason for the refund.
oReason :: Lens' OrderRefund (Maybe Text)

-- | Date on which the item has been created, in ISO 8601 format.
oCreationDate :: Lens' OrderRefund (Maybe Text)

-- | The explanation of the reason.
oReasonText :: Lens' OrderRefund (Maybe Text)
data TestOrderLineItemProduct

-- | Creates a value of <a>TestOrderLineItemProduct</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tolipImageLink</a></li>
--   <li><a>tolipChannel</a></li>
--   <li><a>tolipBrand</a></li>
--   <li><a>tolipTargetCountry</a></li>
--   <li><a>tolipGtin</a></li>
--   <li><a>tolipItemGroupId</a></li>
--   <li><a>tolipOfferId</a></li>
--   <li><a>tolipPrice</a></li>
--   <li><a>tolipVariantAttributes</a></li>
--   <li><a>tolipTitle</a></li>
--   <li><a>tolipContentLanguage</a></li>
--   <li><a>tolipMpn</a></li>
--   <li><a>tolipCondition</a></li>
--   </ul>
testOrderLineItemProduct :: TestOrderLineItemProduct

-- | URL of an image of the item.
tolipImageLink :: Lens' TestOrderLineItemProduct (Maybe Text)

-- | The item's channel.
tolipChannel :: Lens' TestOrderLineItemProduct (Maybe Text)

-- | Brand of the item.
tolipBrand :: Lens' TestOrderLineItemProduct (Maybe Text)

-- | The CLDR territory code of the target country of the product.
tolipTargetCountry :: Lens' TestOrderLineItemProduct (Maybe Text)

-- | Global Trade Item Number (GTIN) of the item. Optional.
tolipGtin :: Lens' TestOrderLineItemProduct (Maybe Text)

-- | Shared identifier for all variants of the same product. Optional.
tolipItemGroupId :: Lens' TestOrderLineItemProduct (Maybe Text)

-- | An identifier of the item.
tolipOfferId :: Lens' TestOrderLineItemProduct (Maybe Text)

-- | The price for the product.
tolipPrice :: Lens' TestOrderLineItemProduct (Maybe Price)

-- | Variant attributes for the item. Optional.
tolipVariantAttributes :: Lens' TestOrderLineItemProduct [OrderLineItemProductVariantAttribute]

-- | The title of the product.
tolipTitle :: Lens' TestOrderLineItemProduct (Maybe Text)

-- | The two-letter ISO 639-1 language code for the item.
tolipContentLanguage :: Lens' TestOrderLineItemProduct (Maybe Text)

-- | Manufacturer Part Number (MPN) of the item. Optional.
tolipMpn :: Lens' TestOrderLineItemProduct (Maybe Text)

-- | Condition or state of the item.
tolipCondition :: Lens' TestOrderLineItemProduct (Maybe Text)
data AccounttaxCustomBatchResponse

-- | Creates a value of <a>AccounttaxCustomBatchResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>a2Entries</a></li>
--   <li><a>a2Kind</a></li>
--   </ul>
accounttaxCustomBatchResponse :: AccounttaxCustomBatchResponse

-- | The result of the execution of the batch requests.
a2Entries :: Lens' AccounttaxCustomBatchResponse [AccounttaxCustomBatchResponseEntry]

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#accounttaxCustomBatchResponse".
a2Kind :: Lens' AccounttaxCustomBatchResponse Text

-- | A batch entry encoding a single non-batch inventory request.
--   
--   <i>See:</i> <a>inventoryCustomBatchRequestEntry</a> smart constructor.
data InventoryCustomBatchRequestEntry

-- | Creates a value of <a>InventoryCustomBatchRequestEntry</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iMerchantId</a></li>
--   <li><a>iStoreCode</a></li>
--   <li><a>iInventory</a></li>
--   <li><a>iProductId</a></li>
--   <li><a>iBatchId</a></li>
--   </ul>
inventoryCustomBatchRequestEntry :: InventoryCustomBatchRequestEntry

-- | The ID of the managing account.
iMerchantId :: Lens' InventoryCustomBatchRequestEntry (Maybe Word64)

-- | The code of the store for which to update price and availability. Use
--   online to update price and availability of an online product.
iStoreCode :: Lens' InventoryCustomBatchRequestEntry (Maybe Text)

-- | Price and availability of the product.
iInventory :: Lens' InventoryCustomBatchRequestEntry (Maybe Inventory)

-- | The ID of the product for which to update price and availability.
iProductId :: Lens' InventoryCustomBatchRequestEntry (Maybe Text)

-- | An entry ID, unique within the batch request.
iBatchId :: Lens' InventoryCustomBatchRequestEntry (Maybe Word32)
data OrderAddress

-- | Creates a value of <a>OrderAddress</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>oaRecipientName</a></li>
--   <li><a>oaStreetAddress</a></li>
--   <li><a>oaCountry</a></li>
--   <li><a>oaPostalCode</a></li>
--   <li><a>oaLocality</a></li>
--   <li><a>oaIsPostOfficeBox</a></li>
--   <li><a>oaFullAddress</a></li>
--   <li><a>oaRegion</a></li>
--   </ul>
orderAddress :: OrderAddress

-- | Name of the recipient.
oaRecipientName :: Lens' OrderAddress (Maybe Text)

-- | Street-level part of the address.
oaStreetAddress :: Lens' OrderAddress [Text]

-- | CLDR country code (e.g. "US").
oaCountry :: Lens' OrderAddress (Maybe Text)

-- | Postal Code or ZIP (e.g. "94043").
oaPostalCode :: Lens' OrderAddress (Maybe Text)

-- | City, town or commune. May also include dependent localities or
--   sublocalities (e.g. neighborhoods or suburbs).
oaLocality :: Lens' OrderAddress (Maybe Text)

-- | Whether the address is a post office box.
oaIsPostOfficeBox :: Lens' OrderAddress (Maybe Bool)

-- | Strings representing the lines of the printed label for mailing the
--   order, for example: John Smith 1600 Amphitheatre Parkway Mountain
--   View, CA, 94043 United States
oaFullAddress :: Lens' OrderAddress [Text]

-- | Top-level administrative subdivision of the country (e.g. "CA").
oaRegion :: Lens' OrderAddress (Maybe Text)
data ProductUnitPricingBaseMeasure

-- | Creates a value of <a>ProductUnitPricingBaseMeasure</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pupbmValue</a></li>
--   <li><a>pupbmUnit</a></li>
--   </ul>
productUnitPricingBaseMeasure :: ProductUnitPricingBaseMeasure

-- | The denominator of the unit price.
pupbmValue :: Lens' ProductUnitPricingBaseMeasure (Maybe Int64)

-- | The unit of the denominator.
pupbmUnit :: Lens' ProductUnitPricingBaseMeasure (Maybe Text)
data AccountShippingCondition

-- | Creates a value of <a>AccountShippingCondition</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ascWeightMax</a></li>
--   <li><a>ascDeliveryPostalCode</a></li>
--   <li><a>ascDeliveryLocationGroup</a></li>
--   <li><a>ascPriceMax</a></li>
--   <li><a>ascShippingLabel</a></li>
--   <li><a>ascDeliveryLocationId</a></li>
--   <li><a>ascDeliveryPostalCodeRange</a></li>
--   </ul>
accountShippingCondition :: AccountShippingCondition

-- | Maximum shipping weight. Forms an interval between the maximum of
--   smaller weight (exclusive) and this weight (inclusive).
ascWeightMax :: Lens' AccountShippingCondition (Maybe Weight)

-- | Delivery location in terms of a postal code.
ascDeliveryPostalCode :: Lens' AccountShippingCondition (Maybe Text)

-- | Delivery location in terms of a location group name. A location group
--   with this name must be specified among location groups.
ascDeliveryLocationGroup :: Lens' AccountShippingCondition (Maybe Text)

-- | Maximum shipping price. Forms an interval between the maximum of
--   smaller prices (exclusive) and this price (inclusive).
ascPriceMax :: Lens' AccountShippingCondition (Maybe Price)

-- | Shipping label of the product. The products with the label are
--   matched.
ascShippingLabel :: Lens' AccountShippingCondition (Maybe Text)

-- | Delivery location in terms of a location ID. Can be used to represent
--   administrative areas, smaller country subdivisions, or cities.
ascDeliveryLocationId :: Lens' AccountShippingCondition (Maybe Int64)

-- | Delivery location in terms of a postal code range.
ascDeliveryPostalCodeRange :: Lens' AccountShippingCondition (Maybe AccountShippingPostalCodeRange)
data DatafeedsListResponse

-- | Creates a value of <a>DatafeedsListResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dlrNextPageToken</a></li>
--   <li><a>dlrKind</a></li>
--   <li><a>dlrResources</a></li>
--   </ul>
datafeedsListResponse :: DatafeedsListResponse

-- | The token for the retrieval of the next page of datafeeds.
dlrNextPageToken :: Lens' DatafeedsListResponse (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#datafeedsListResponse".
dlrKind :: Lens' DatafeedsListResponse Text
dlrResources :: Lens' DatafeedsListResponse [Datafeed]

-- | A batch entry encoding a single non-batch products response.
--   
--   <i>See:</i> <a>productsCustomBatchResponseEntry</a> smart constructor.
data ProductsCustomBatchResponseEntry

-- | Creates a value of <a>ProductsCustomBatchResponseEntry</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>proKind</a></li>
--   <li><a>proProduct</a></li>
--   <li><a>proErrors</a></li>
--   <li><a>proBatchId</a></li>
--   </ul>
productsCustomBatchResponseEntry :: ProductsCustomBatchResponseEntry

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#productsCustomBatchResponseEntry".
proKind :: Lens' ProductsCustomBatchResponseEntry Text

-- | The inserted product. Only defined if the method is insert and if the
--   request was successful.
proProduct :: Lens' ProductsCustomBatchResponseEntry (Maybe Product)

-- | A list of errors defined if and only if the request failed.
proErrors :: Lens' ProductsCustomBatchResponseEntry (Maybe Errors)

-- | The ID of the request entry this entry responds to.
proBatchId :: Lens' ProductsCustomBatchResponseEntry (Maybe Word32)
data OrderPaymentMethod

-- | Creates a value of <a>OrderPaymentMethod</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>opmExpirationMonth</a></li>
--   <li><a>opmExpirationYear</a></li>
--   <li><a>opmPhoneNumber</a></li>
--   <li><a>opmBillingAddress</a></li>
--   <li><a>opmLastFourDigits</a></li>
--   <li><a>opmType</a></li>
--   </ul>
orderPaymentMethod :: OrderPaymentMethod

-- | The card expiration month (January = 1, February = 2 etc.).
opmExpirationMonth :: Lens' OrderPaymentMethod (Maybe Int32)

-- | The card expiration year (4-digit, e.g. 2015).
opmExpirationYear :: Lens' OrderPaymentMethod (Maybe Int32)

-- | The billing phone number.
opmPhoneNumber :: Lens' OrderPaymentMethod (Maybe Text)

-- | The billing address.
opmBillingAddress :: Lens' OrderPaymentMethod (Maybe OrderAddress)

-- | The last four digits of the card number.
opmLastFourDigits :: Lens' OrderPaymentMethod (Maybe Text)

-- | The type of instrument (VISA, Mastercard, etc).
opmType :: Lens' OrderPaymentMethod (Maybe Text)

-- | Product data.
--   
--   <i>See:</i> <a>product</a> smart constructor.
data Product

-- | Creates a value of <a>Product</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ppDisplayAdsLink</a></li>
--   <li><a>ppCustomLabel1</a></li>
--   <li><a>ppShippingWidth</a></li>
--   <li><a>ppCustomGroups</a></li>
--   <li><a>ppImageLink</a></li>
--   <li><a>ppDisplayAdsValue</a></li>
--   <li><a>ppLoyaltyPoints</a></li>
--   <li><a>ppAdditionalImageLinks</a></li>
--   <li><a>ppValidatedDestinations</a></li>
--   <li><a>ppColor</a></li>
--   <li><a>ppCustomLabel0</a></li>
--   <li><a>ppKind</a></li>
--   <li><a>ppMultipack</a></li>
--   <li><a>ppPattern</a></li>
--   <li><a>ppLink</a></li>
--   <li><a>ppSizeSystem</a></li>
--   <li><a>ppUnitPricingBaseMeasure</a></li>
--   <li><a>ppTaxes</a></li>
--   <li><a>ppMaterial</a></li>
--   <li><a>ppInstallment</a></li>
--   <li><a>ppChannel</a></li>
--   <li><a>ppProductType</a></li>
--   <li><a>ppIdentifierExists</a></li>
--   <li><a>ppOnlineOnly</a></li>
--   <li><a>ppBrand</a></li>
--   <li><a>ppUnitPricingMeasure</a></li>
--   <li><a>ppSalePrice</a></li>
--   <li><a>ppShippingLength</a></li>
--   <li><a>ppCustomLabel3</a></li>
--   <li><a>ppWarnings</a></li>
--   <li><a>ppAdditionalProductTypes</a></li>
--   <li><a>ppAvailability</a></li>
--   <li><a>ppTargetCountry</a></li>
--   <li><a>ppShippingLabel</a></li>
--   <li><a>ppCustomAttributes</a></li>
--   <li><a>ppGtin</a></li>
--   <li><a>ppAgeGroup</a></li>
--   <li><a>ppDisplayAdsTitle</a></li>
--   <li><a>ppGender</a></li>
--   <li><a>ppDestinations</a></li>
--   <li><a>ppExpirationDate</a></li>
--   <li><a>ppItemGroupId</a></li>
--   <li><a>ppAdwordsGrouping</a></li>
--   <li><a>ppSalePriceEffectiveDate</a></li>
--   <li><a>ppCustomLabel2</a></li>
--   <li><a>ppGoogleProductCategory</a></li>
--   <li><a>ppShipping</a></li>
--   <li><a>ppAdwordsRedirect</a></li>
--   <li><a>ppShippingWeight</a></li>
--   <li><a>ppSellOnGoogleQuantity</a></li>
--   <li><a>ppShippingHeight</a></li>
--   <li><a>ppAvailabilityDate</a></li>
--   <li><a>ppOfferId</a></li>
--   <li><a>ppId</a></li>
--   <li><a>ppAdwordsLabels</a></li>
--   <li><a>ppPrice</a></li>
--   <li><a>ppPromotionIds</a></li>
--   <li><a>ppSizeType</a></li>
--   <li><a>ppMobileLink</a></li>
--   <li><a>ppTitle</a></li>
--   <li><a>ppAdult</a></li>
--   <li><a>ppContentLanguage</a></li>
--   <li><a>ppAspects</a></li>
--   <li><a>ppEnergyEfficiencyClass</a></li>
--   <li><a>ppDisplayAdsSimilarIds</a></li>
--   <li><a>ppMpn</a></li>
--   <li><a>ppCondition</a></li>
--   <li><a>ppSizes</a></li>
--   <li><a>ppIsBundle</a></li>
--   <li><a>ppDescription</a></li>
--   <li><a>ppCustomLabel4</a></li>
--   <li><a>ppDisplayAdsId</a></li>
--   </ul>
product :: Product

-- | URL directly to your item's landing page for dynamic remarketing
--   campaigns.
ppDisplayAdsLink :: Lens' Product (Maybe Text)

-- | Custom label 1 for custom grouping of items in a Shopping campaign.
ppCustomLabel1 :: Lens' Product (Maybe Text)

-- | Width of the item for shipping.
ppShippingWidth :: Lens' Product (Maybe ProductShippingDimension)

-- | A list of custom (merchant-provided) custom attribute groups.
ppCustomGroups :: Lens' Product [ProductCustomGroup]

-- | URL of an image of the item.
ppImageLink :: Lens' Product (Maybe Text)

-- | Offer margin for dynamic remarketing campaigns.
ppDisplayAdsValue :: Lens' Product (Maybe Double)

-- | Loyalty points that users receive after purchasing the item. Japan
--   only.
ppLoyaltyPoints :: Lens' Product (Maybe LoyaltyPoints)

-- | Additional URLs of images of the item.
ppAdditionalImageLinks :: Lens' Product [Text]

-- | The read-only list of intended destinations which passed validation.
ppValidatedDestinations :: Lens' Product [Text]

-- | Color of the item.
ppColor :: Lens' Product (Maybe Text)

-- | Custom label 0 for custom grouping of items in a Shopping campaign.
ppCustomLabel0 :: Lens' Product (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#product".
ppKind :: Lens' Product Text

-- | The number of identical products in a merchant-defined multipack.
ppMultipack :: Lens' Product (Maybe Int64)

-- | The item's pattern (e.g. polka dots).
ppPattern :: Lens' Product (Maybe Text)

-- | URL directly linking to your item's page on your website.
ppLink :: Lens' Product (Maybe Text)

-- | System in which the size is specified. Recommended for apparel items.
ppSizeSystem :: Lens' Product (Maybe Text)

-- | The preference of the denominator of the unit price.
ppUnitPricingBaseMeasure :: Lens' Product (Maybe ProductUnitPricingBaseMeasure)

-- | Tax information.
ppTaxes :: Lens' Product [ProductTax]

-- | The material of which the item is made.
ppMaterial :: Lens' Product (Maybe Text)

-- | Number and amount of installments to pay for an item. Brazil only.
ppInstallment :: Lens' Product (Maybe Installment)

-- | The item's channel (online or local).
ppChannel :: Lens' Product (Maybe Text)

-- | Your category of the item (formatted as in products feed
--   specification).
ppProductType :: Lens' Product (Maybe Text)

-- | False when the item does not have unique product identifiers
--   appropriate to its category, such as GTIN, MPN, and brand. Required
--   according to the Unique Product Identifier Rules for all target
--   countries except for Canada.
ppIdentifierExists :: Lens' Product (Maybe Bool)

-- | Whether an item is available for purchase only online.
ppOnlineOnly :: Lens' Product (Maybe Bool)

-- | Brand of the item.
ppBrand :: Lens' Product (Maybe Text)

-- | The measure and dimension of an item.
ppUnitPricingMeasure :: Lens' Product (Maybe ProductUnitPricingMeasure)

-- | Advertised sale price of the item.
ppSalePrice :: Lens' Product (Maybe Price)

-- | Length of the item for shipping.
ppShippingLength :: Lens' Product (Maybe ProductShippingDimension)

-- | Custom label 3 for custom grouping of items in a Shopping campaign.
ppCustomLabel3 :: Lens' Product (Maybe Text)

-- | Read-only warnings.
ppWarnings :: Lens' Product [Error']

-- | Additional categories of the item (formatted as in products feed
--   specification).
ppAdditionalProductTypes :: Lens' Product [Text]

-- | Availability status of the item.
ppAvailability :: Lens' Product (Maybe Text)

-- | The CLDR territory code for the item.
ppTargetCountry :: Lens' Product (Maybe Text)

-- | The shipping label of the product, used to group product in
--   account-level shipping rules.
ppShippingLabel :: Lens' Product (Maybe Text)

-- | A list of custom (merchant-provided) attributes. It can also be used
--   for submitting any attribute of the feed specification in its generic
--   form (e.g., { "name": "size type", "type": "text", "value": "regular"
--   }). This is useful for submitting attributes not explicitly exposed by
--   the API.
ppCustomAttributes :: Lens' Product [ProductCustomAttribute]

-- | Global Trade Item Number (GTIN) of the item.
ppGtin :: Lens' Product (Maybe Text)

-- | Target age group of the item.
ppAgeGroup :: Lens' Product (Maybe Text)

-- | Title of an item for dynamic remarketing campaigns.
ppDisplayAdsTitle :: Lens' Product (Maybe Text)

-- | Target gender of the item.
ppGender :: Lens' Product (Maybe Text)

-- | Specifies the intended destinations for the product.
ppDestinations :: Lens' Product [ProductDestination]

-- | Date on which the item should expire, as specified upon insertion, in
--   ISO 8601 format. The actual expiration date in Google Shopping is
--   exposed in productstatuses as googleExpirationDate and might be
--   earlier if expirationDate is too far in the future.
ppExpirationDate :: Lens' Product (Maybe Text)

-- | Shared identifier for all variants of the same product.
ppItemGroupId :: Lens' Product (Maybe Text)

-- | Used to group items in an arbitrary way. Only for CPA%, discouraged
--   otherwise.
ppAdwordsGrouping :: Lens' Product (Maybe Text)

-- | Date range during which the item is on sale (see products feed
--   specification).
ppSalePriceEffectiveDate :: Lens' Product (Maybe Text)

-- | Custom label 2 for custom grouping of items in a Shopping campaign.
ppCustomLabel2 :: Lens' Product (Maybe Text)

-- | Google's category of the item (see Google product taxonomy).
ppGoogleProductCategory :: Lens' Product (Maybe Text)

-- | Shipping rules.
ppShipping :: Lens' Product [ProductShipping]

-- | Allows advertisers to override the item URL when the product is shown
--   within the context of Product Ads.
ppAdwordsRedirect :: Lens' Product (Maybe Text)

-- | Weight of the item for shipping.
ppShippingWeight :: Lens' Product (Maybe ProductShippingWeight)

-- | The quantity of the product that is reserved for sell-on-google ads.
ppSellOnGoogleQuantity :: Lens' Product (Maybe Int64)

-- | Height of the item for shipping.
ppShippingHeight :: Lens' Product (Maybe ProductShippingDimension)

-- | The day a pre-ordered product becomes available for delivery, in ISO
--   8601 format.
ppAvailabilityDate :: Lens' Product (Maybe Text)

-- | An identifier of the item. Leading and trailing whitespaces are
--   stripped and multiple whitespaces are replaced by a single whitespace
--   upon submission. Only valid unicode characters are accepted. See the
--   products feed specification for details.
ppOfferId :: Lens' Product (Maybe Text)

-- | The REST id of the product.
ppId :: Lens' Product (Maybe Text)

-- | Similar to adwords_grouping, but only works on CPC.
ppAdwordsLabels :: Lens' Product [Text]

-- | Price of the item.
ppPrice :: Lens' Product (Maybe Price)

-- | The unique ID of a promotion.
ppPromotionIds :: Lens' Product [Text]

-- | The cut of the item. Recommended for apparel items.
ppSizeType :: Lens' Product (Maybe Text)

-- | Link to a mobile-optimized version of the landing page.
ppMobileLink :: Lens' Product (Maybe Text)

-- | Title of the item.
ppTitle :: Lens' Product (Maybe Text)

-- | Set to true if the item is targeted towards adults.
ppAdult :: Lens' Product (Maybe Bool)

-- | The two-letter ISO 639-1 language code for the item.
ppContentLanguage :: Lens' Product (Maybe Text)

-- | Specifies the intended aspects for the product.
ppAspects :: Lens' Product [ProductAspect]

-- | The energy efficiency class as defined in EU directive 2010/30/EU.
ppEnergyEfficiencyClass :: Lens' Product (Maybe Text)

-- | Advertiser-specified recommendations.
ppDisplayAdsSimilarIds :: Lens' Product [Text]

-- | Manufacturer Part Number (MPN) of the item.
ppMpn :: Lens' Product (Maybe Text)

-- | Condition or state of the item.
ppCondition :: Lens' Product (Maybe Text)

-- | Size of the item.
ppSizes :: Lens' Product [Text]

-- | Whether the item is a merchant-defined bundle. A bundle is a custom
--   grouping of different products sold by a merchant for a single price.
ppIsBundle :: Lens' Product (Maybe Bool)

-- | Description of the item.
ppDescription :: Lens' Product (Maybe Text)

-- | Custom label 4 for custom grouping of items in a Shopping campaign.
ppCustomLabel4 :: Lens' Product (Maybe Text)

-- | An identifier for an item for dynamic remarketing campaigns.
ppDisplayAdsId :: Lens' Product (Maybe Text)

-- | A list of errors returned by a failed batch entry.
--   
--   <i>See:</i> <a>errors</a> smart constructor.
data Errors

-- | Creates a value of <a>Errors</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>errCode</a></li>
--   <li><a>errMessage</a></li>
--   <li><a>errErrors</a></li>
--   </ul>
errors :: Errors

-- | The HTTP status of the first error in errors.
errCode :: Lens' Errors (Maybe Word32)

-- | The message of the first error in errors.
errMessage :: Lens' Errors (Maybe Text)

-- | A list of errors.
errErrors :: Lens' Errors [Error']

-- | A batch entry encoding a single non-batch accountstatuses response.
--   
--   <i>See:</i> <a>accountstatusesCustomBatchResponseEntry</a> smart
--   constructor.
data AccountstatusesCustomBatchResponseEntry

-- | Creates a value of <a>AccountstatusesCustomBatchResponseEntry</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>acccAccountStatus</a></li>
--   <li><a>acccErrors</a></li>
--   <li><a>acccBatchId</a></li>
--   </ul>
accountstatusesCustomBatchResponseEntry :: AccountstatusesCustomBatchResponseEntry

-- | The requested account status. Defined if and only if the request was
--   successful.
acccAccountStatus :: Lens' AccountstatusesCustomBatchResponseEntry (Maybe AccountStatus)

-- | A list of errors defined if and only if the request failed.
acccErrors :: Lens' AccountstatusesCustomBatchResponseEntry (Maybe Errors)

-- | The ID of the request entry this entry responds to.
acccBatchId :: Lens' AccountstatusesCustomBatchResponseEntry (Maybe Word32)
data InventorySetResponse

-- | Creates a value of <a>InventorySetResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>isrKind</a></li>
--   </ul>
inventorySetResponse :: InventorySetResponse

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#inventorySetResponse".
isrKind :: Lens' InventorySetResponse Text
data OrdersCancelLineItemResponse

-- | Creates a value of <a>OrdersCancelLineItemResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>oclirKind</a></li>
--   <li><a>oclirExecutionStatus</a></li>
--   </ul>
ordersCancelLineItemResponse :: OrdersCancelLineItemResponse

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#ordersCancelLineItemResponse".
oclirKind :: Lens' OrdersCancelLineItemResponse Text

-- | The status of the execution.
oclirExecutionStatus :: Lens' OrdersCancelLineItemResponse (Maybe Text)
data TestOrderLineItem

-- | Creates a value of <a>TestOrderLineItem</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>toliQuantityOrdered</a></li>
--   <li><a>toliReturnInfo</a></li>
--   <li><a>toliShippingDetails</a></li>
--   <li><a>toliProduct</a></li>
--   <li><a>toliUnitTax</a></li>
--   </ul>
testOrderLineItem :: TestOrderLineItem

-- | Number of items ordered.
toliQuantityOrdered :: Lens' TestOrderLineItem (Maybe Word32)

-- | Details of the return policy for the line item.
toliReturnInfo :: Lens' TestOrderLineItem (Maybe OrderLineItemReturnInfo)

-- | Details of the requested shipping for the line item.
toliShippingDetails :: Lens' TestOrderLineItem (Maybe OrderLineItemShippingDetails)

-- | Product data from the time of the order placement.
toliProduct :: Lens' TestOrderLineItem (Maybe TestOrderLineItemProduct)

-- | Unit tax for the line item.
toliUnitTax :: Lens' TestOrderLineItem (Maybe Price)

-- | A batch entry encoding a single non-batch productstatuses request.
--   
--   <i>See:</i> <a>productstatusesCustomBatchRequestEntry</a> smart
--   constructor.
data ProductstatusesCustomBatchRequestEntry

-- | Creates a value of <a>ProductstatusesCustomBatchRequestEntry</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pcbrecMerchantId</a></li>
--   <li><a>pcbrecMethod</a></li>
--   <li><a>pcbrecProductId</a></li>
--   <li><a>pcbrecBatchId</a></li>
--   </ul>
productstatusesCustomBatchRequestEntry :: ProductstatusesCustomBatchRequestEntry

-- | The ID of the managing account.
pcbrecMerchantId :: Lens' ProductstatusesCustomBatchRequestEntry (Maybe Word64)
pcbrecMethod :: Lens' ProductstatusesCustomBatchRequestEntry (Maybe Text)

-- | The ID of the product whose status to get.
pcbrecProductId :: Lens' ProductstatusesCustomBatchRequestEntry (Maybe Text)

-- | An entry ID, unique within the batch request.
pcbrecBatchId :: Lens' ProductstatusesCustomBatchRequestEntry (Maybe Word32)
data ShippingSettingsCustomBatchResponse

-- | Creates a value of <a>ShippingSettingsCustomBatchResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>shiEntries</a></li>
--   <li><a>shiKind</a></li>
--   </ul>
shippingSettingsCustomBatchResponse :: ShippingSettingsCustomBatchResponse

-- | The result of the execution of the batch requests.
shiEntries :: Lens' ShippingSettingsCustomBatchResponse [ShippingSettingsCustomBatchResponseEntry]

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#shippingsettingsCustomBatchResponse".
shiKind :: Lens' ShippingSettingsCustomBatchResponse Text

-- | A batch entry encoding a single non-batch accountshipping response.
--   
--   <i>See:</i> <a>accountshippingCustomBatchResponseEntry</a> smart
--   constructor.
data AccountshippingCustomBatchResponseEntry

-- | Creates a value of <a>AccountshippingCustomBatchResponseEntry</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>acbre1Kind</a></li>
--   <li><a>acbre1Errors</a></li>
--   <li><a>acbre1AccountShipping</a></li>
--   <li><a>acbre1BatchId</a></li>
--   </ul>
accountshippingCustomBatchResponseEntry :: AccountshippingCustomBatchResponseEntry

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#accountshippingCustomBatchResponseEntry".
acbre1Kind :: Lens' AccountshippingCustomBatchResponseEntry Text

-- | A list of errors defined if and only if the request failed.
acbre1Errors :: Lens' AccountshippingCustomBatchResponseEntry (Maybe Errors)

-- | The retrieved or updated account shipping settings.
acbre1AccountShipping :: Lens' AccountshippingCustomBatchResponseEntry (Maybe AccountShipping)

-- | The ID of the request entry this entry responds to.
acbre1BatchId :: Lens' AccountshippingCustomBatchResponseEntry (Maybe Word32)
data ProductAspect

-- | Creates a value of <a>ProductAspect</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>paIntention</a></li>
--   <li><a>paAspectName</a></li>
--   <li><a>paDestinationName</a></li>
--   </ul>
productAspect :: ProductAspect

-- | Whether the aspect is required, excluded or should be validated.
paIntention :: Lens' ProductAspect (Maybe Text)

-- | The name of the aspect.
paAspectName :: Lens' ProductAspect (Maybe Text)

-- | The name of the destination. Leave out to apply to all destinations.
paDestinationName :: Lens' ProductAspect (Maybe Text)

-- | The shipping settings of a merchant account.
--   
--   <i>See:</i> <a>accountShipping</a> smart constructor.
data AccountShipping

-- | Creates a value of <a>AccountShipping</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>assRateTables</a></li>
--   <li><a>assCarrierRates</a></li>
--   <li><a>assKind</a></li>
--   <li><a>assLocationGroups</a></li>
--   <li><a>assAccountId</a></li>
--   <li><a>assServices</a></li>
--   </ul>
accountShipping :: AccountShipping

-- | Rate tables definitions.
assRateTables :: Lens' AccountShipping [AccountShippingRateTable]

-- | Carrier-based shipping calculations.
assCarrierRates :: Lens' AccountShipping [AccountShippingCarrierRate]

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#accountShipping".
assKind :: Lens' AccountShipping Text

-- | Location groups for shipping.
assLocationGroups :: Lens' AccountShipping [AccountShippingLocationGroup]

-- | The ID of the account to which these account shipping settings belong.
assAccountId :: Lens' AccountShipping (Maybe Word64)

-- | Shipping services describing shipping fees calculation.
assServices :: Lens' AccountShipping [AccountShippingShippingService]
data OrdersUpdateMerchantOrderIdResponse

-- | Creates a value of <a>OrdersUpdateMerchantOrderIdResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>oumoirKind</a></li>
--   <li><a>oumoirExecutionStatus</a></li>
--   </ul>
ordersUpdateMerchantOrderIdResponse :: OrdersUpdateMerchantOrderIdResponse

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#ordersUpdateMerchantOrderIdResponse".
oumoirKind :: Lens' OrdersUpdateMerchantOrderIdResponse Text

-- | The status of the execution.
oumoirExecutionStatus :: Lens' OrdersUpdateMerchantOrderIdResponse (Maybe Text)
data InventoryPickup

-- | Creates a value of <a>InventoryPickup</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ipPickupSla</a></li>
--   <li><a>ipPickupMethod</a></li>
--   </ul>
inventoryPickup :: InventoryPickup

-- | The expected date that an order will be ready for pickup, relative to
--   when the order is placed. Only supported for local inventory. Must be
--   submitted together with pickupMethod.
ipPickupSla :: Lens' InventoryPickup (Maybe Text)

-- | Whether store pickup is available for this offer and whether the
--   pickup option should be shown as buy, reserve, or not supported. Only
--   supported for local inventory. Unless the value is "not supported",
--   must be submitted together with pickupSla.
ipPickupMethod :: Lens' InventoryPickup (Maybe Text)

-- | An example occurrence for a particular error.
--   
--   <i>See:</i> <a>datafeedStatusExample</a> smart constructor.
data DatafeedStatusExample

-- | Creates a value of <a>DatafeedStatusExample</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dseLineNumber</a></li>
--   <li><a>dseItemId</a></li>
--   <li><a>dseValue</a></li>
--   </ul>
datafeedStatusExample :: DatafeedStatusExample

-- | Line number in the data feed where the example is found.
dseLineNumber :: Lens' DatafeedStatusExample (Maybe Word64)

-- | The ID of the example item.
dseItemId :: Lens' DatafeedStatusExample (Maybe Text)

-- | The problematic value.
dseValue :: Lens' DatafeedStatusExample (Maybe Text)
data OrdersAcknowledgeResponse

-- | Creates a value of <a>OrdersAcknowledgeResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>oarKind</a></li>
--   <li><a>oarExecutionStatus</a></li>
--   </ul>
ordersAcknowledgeResponse :: OrdersAcknowledgeResponse

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#ordersAcknowledgeResponse".
oarKind :: Lens' OrdersAcknowledgeResponse Text

-- | The status of the execution.
oarExecutionStatus :: Lens' OrdersAcknowledgeResponse (Maybe Text)
data Table

-- | Creates a value of <a>Table</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tRows</a></li>
--   <li><a>tName</a></li>
--   <li><a>tColumnHeaders</a></li>
--   <li><a>tRowHeaders</a></li>
--   </ul>
table :: Table

-- | The list of rows that constitute the table. Must have the same length
--   as rowHeaders. Required.
tRows :: Lens' Table [Row]

-- | Name of the table. Required for subtables, ignored for the main table.
tName :: Lens' Table (Maybe Text)

-- | Headers of the table's columns. Optional: if not set then the table
--   has only one dimension.
tColumnHeaders :: Lens' Table (Maybe Headers)

-- | Headers of the table's rows. Required.
tRowHeaders :: Lens' Table (Maybe Headers)
data Order

-- | Creates a value of <a>Order</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ooStatus</a></li>
--   <li><a>ooMerchantId</a></li>
--   <li><a>ooRefunds</a></li>
--   <li><a>ooKind</a></li>
--   <li><a>ooLineItems</a></li>
--   <li><a>ooShipments</a></li>
--   <li><a>ooNetAmount</a></li>
--   <li><a>ooPlacedDate</a></li>
--   <li><a>ooDeliveryDetails</a></li>
--   <li><a>ooShippingOption</a></li>
--   <li><a>ooMerchantOrderId</a></li>
--   <li><a>ooAcknowledged</a></li>
--   <li><a>ooShippingCostTax</a></li>
--   <li><a>ooCustomer</a></li>
--   <li><a>ooId</a></li>
--   <li><a>ooPaymentMethod</a></li>
--   <li><a>ooPromotions</a></li>
--   <li><a>ooChannelType</a></li>
--   <li><a>ooPaymentStatus</a></li>
--   <li><a>ooShippingCost</a></li>
--   </ul>
order :: Order

-- | The status of the order.
ooStatus :: Lens' Order (Maybe Text)
ooMerchantId :: Lens' Order (Maybe Word64)

-- | Refunds for the order.
ooRefunds :: Lens' Order [OrderRefund]

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#order".
ooKind :: Lens' Order Text

-- | Line items that are ordered.
ooLineItems :: Lens' Order [OrderLineItem]

-- | Shipments of the order.
ooShipments :: Lens' Order [OrderShipment]

-- | The net amount for the order. For example, if an order was originally
--   for a grand total of $100 and a refund was issued for $20, the net
--   amount will be $80.
ooNetAmount :: Lens' Order (Maybe Price)

-- | The date when the order was placed, in ISO 8601 format.
ooPlacedDate :: Lens' Order (Maybe Text)

-- | The details for the delivery.
ooDeliveryDetails :: Lens' Order (Maybe OrderDeliveryDetails)

-- | The requested shipping option.
ooShippingOption :: Lens' Order (Maybe Text)

-- | Merchant-provided id of the order.
ooMerchantOrderId :: Lens' Order (Maybe Text)

-- | Whether the order was acknowledged.
ooAcknowledged :: Lens' Order (Maybe Bool)

-- | The tax for the total shipping cost.
ooShippingCostTax :: Lens' Order (Maybe Price)

-- | The details of the customer who placed the order.
ooCustomer :: Lens' Order (Maybe OrderCustomer)

-- | The REST id of the order. Globally unique.
ooId :: Lens' Order (Maybe Text)

-- | The details of the payment method.
ooPaymentMethod :: Lens' Order (Maybe OrderPaymentMethod)

-- | The details of the merchant provided promotions applied to the order.
--   More details about the program are here.
ooPromotions :: Lens' Order [OrderPromotion]

-- | The channel type of the order: "purchaseOnGoogle" or "googleExpress".
ooChannelType :: Lens' Order (Maybe Text)

-- | The status of the payment.
ooPaymentStatus :: Lens' Order (Maybe Text)

-- | The total cost of shipping for all items.
ooShippingCost :: Lens' Order (Maybe Price)
data InventoryCustomBatchResponse

-- | Creates a value of <a>InventoryCustomBatchResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>invEntries</a></li>
--   <li><a>invKind</a></li>
--   </ul>
inventoryCustomBatchResponse :: InventoryCustomBatchResponse

-- | The result of the execution of the batch requests.
invEntries :: Lens' InventoryCustomBatchResponse [InventoryCustomBatchResponseEntry]

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#inventoryCustomBatchResponse".
invKind :: Lens' InventoryCustomBatchResponse Text
data OrderLineItemProduct

-- | Creates a value of <a>OrderLineItemProduct</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>olipImageLink</a></li>
--   <li><a>olipShownImage</a></li>
--   <li><a>olipChannel</a></li>
--   <li><a>olipBrand</a></li>
--   <li><a>olipTargetCountry</a></li>
--   <li><a>olipGtin</a></li>
--   <li><a>olipItemGroupId</a></li>
--   <li><a>olipOfferId</a></li>
--   <li><a>olipId</a></li>
--   <li><a>olipPrice</a></li>
--   <li><a>olipVariantAttributes</a></li>
--   <li><a>olipTitle</a></li>
--   <li><a>olipContentLanguage</a></li>
--   <li><a>olipMpn</a></li>
--   <li><a>olipCondition</a></li>
--   </ul>
orderLineItemProduct :: OrderLineItemProduct

-- | URL of an image of the item.
olipImageLink :: Lens' OrderLineItemProduct (Maybe Text)

-- | URL to the cached image shown to the user when order was placed.
olipShownImage :: Lens' OrderLineItemProduct (Maybe Text)

-- | The item's channel (online or local).
olipChannel :: Lens' OrderLineItemProduct (Maybe Text)

-- | Brand of the item.
olipBrand :: Lens' OrderLineItemProduct (Maybe Text)

-- | The CLDR territory code of the target country of the product.
olipTargetCountry :: Lens' OrderLineItemProduct (Maybe Text)

-- | Global Trade Item Number (GTIN) of the item.
olipGtin :: Lens' OrderLineItemProduct (Maybe Text)

-- | Shared identifier for all variants of the same product.
olipItemGroupId :: Lens' OrderLineItemProduct (Maybe Text)

-- | An identifier of the item.
olipOfferId :: Lens' OrderLineItemProduct (Maybe Text)

-- | The REST id of the product.
olipId :: Lens' OrderLineItemProduct (Maybe Text)

-- | Price of the item.
olipPrice :: Lens' OrderLineItemProduct (Maybe Price)

-- | Variant attributes for the item. These are dimensions of the product,
--   such as color, gender, material, pattern, and size. You can find a
--   comprehensive list of variant attributes here.
olipVariantAttributes :: Lens' OrderLineItemProduct [OrderLineItemProductVariantAttribute]

-- | The title of the product.
olipTitle :: Lens' OrderLineItemProduct (Maybe Text)

-- | The two-letter ISO 639-1 language code for the item.
olipContentLanguage :: Lens' OrderLineItemProduct (Maybe Text)

-- | Manufacturer Part Number (MPN) of the item.
olipMpn :: Lens' OrderLineItemProduct (Maybe Text)

-- | Condition or state of the item.
olipCondition :: Lens' OrderLineItemProduct (Maybe Text)

-- | A batch entry encoding a single non-batch accounttax request.
--   
--   <i>See:</i> <a>accounttaxCustomBatchRequestEntry</a> smart
--   constructor.
data AccounttaxCustomBatchRequestEntry

-- | Creates a value of <a>AccounttaxCustomBatchRequestEntry</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>a2AccountTax</a></li>
--   <li><a>a2MerchantId</a></li>
--   <li><a>a2AccountId</a></li>
--   <li><a>a2Method</a></li>
--   <li><a>a2BatchId</a></li>
--   </ul>
accounttaxCustomBatchRequestEntry :: AccounttaxCustomBatchRequestEntry

-- | The account tax settings to update. Only defined if the method is
--   update.
a2AccountTax :: Lens' AccounttaxCustomBatchRequestEntry (Maybe AccountTax)

-- | The ID of the managing account.
a2MerchantId :: Lens' AccounttaxCustomBatchRequestEntry (Maybe Word64)

-- | The ID of the account for which to get/update account tax settings.
a2AccountId :: Lens' AccounttaxCustomBatchRequestEntry (Maybe Word64)
a2Method :: Lens' AccounttaxCustomBatchRequestEntry (Maybe Text)

-- | An entry ID, unique within the batch request.
a2BatchId :: Lens' AccounttaxCustomBatchRequestEntry (Maybe Word32)

-- | An error occurring in the feed, like "invalid price".
--   
--   <i>See:</i> <a>datafeedStatusError</a> smart constructor.
data DatafeedStatusError

-- | Creates a value of <a>DatafeedStatusError</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dseCount</a></li>
--   <li><a>dseCode</a></li>
--   <li><a>dseMessage</a></li>
--   <li><a>dseExamples</a></li>
--   </ul>
datafeedStatusError :: DatafeedStatusError

-- | The number of occurrences of the error in the feed.
dseCount :: Lens' DatafeedStatusError (Maybe Word64)

-- | The code of the error, e.g., "validation/invalid_value".
dseCode :: Lens' DatafeedStatusError (Maybe Text)

-- | The error message, e.g., "Invalid price".
dseMessage :: Lens' DatafeedStatusError (Maybe Text)

-- | A list of example occurrences of the error, grouped by product.
dseExamples :: Lens' DatafeedStatusError [DatafeedStatusExample]
data ProductsCustomBatchRequest

-- | Creates a value of <a>ProductsCustomBatchRequest</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pcbrcEntries</a></li>
--   </ul>
productsCustomBatchRequest :: ProductsCustomBatchRequest

-- | The request entries to be processed in the batch.
pcbrcEntries :: Lens' ProductsCustomBatchRequest [ProductsCustomBatchRequestEntry]
data OrdersCustomBatchRequestEntryReturnLineItem

-- | Creates a value of <a>OrdersCustomBatchRequestEntryReturnLineItem</a>
--   with the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ocbrerliQuantity</a></li>
--   <li><a>ocbrerliLineItemId</a></li>
--   <li><a>ocbrerliReason</a></li>
--   <li><a>ocbrerliReasonText</a></li>
--   </ul>
ordersCustomBatchRequestEntryReturnLineItem :: OrdersCustomBatchRequestEntryReturnLineItem

-- | The quantity to return.
ocbrerliQuantity :: Lens' OrdersCustomBatchRequestEntryReturnLineItem (Maybe Word32)

-- | The ID of the line item to return.
ocbrerliLineItemId :: Lens' OrdersCustomBatchRequestEntryReturnLineItem (Maybe Text)

-- | The reason for the return.
ocbrerliReason :: Lens' OrdersCustomBatchRequestEntryReturnLineItem (Maybe Text)

-- | The explanation of the reason.
ocbrerliReasonText :: Lens' OrdersCustomBatchRequestEntryReturnLineItem (Maybe Text)
data OrdersCustomBatchRequestEntryUpdateShipment

-- | Creates a value of <a>OrdersCustomBatchRequestEntryUpdateShipment</a>
--   with the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ocbreusCarrier</a></li>
--   <li><a>ocbreusStatus</a></li>
--   <li><a>ocbreusTrackingId</a></li>
--   <li><a>ocbreusShipmentId</a></li>
--   </ul>
ordersCustomBatchRequestEntryUpdateShipment :: OrdersCustomBatchRequestEntryUpdateShipment

-- | The carrier handling the shipment. Not updated if missing.
ocbreusCarrier :: Lens' OrdersCustomBatchRequestEntryUpdateShipment (Maybe Text)

-- | New status for the shipment. Not updated if missing.
ocbreusStatus :: Lens' OrdersCustomBatchRequestEntryUpdateShipment (Maybe Text)

-- | The tracking id for the shipment. Not updated if missing.
ocbreusTrackingId :: Lens' OrdersCustomBatchRequestEntryUpdateShipment (Maybe Text)

-- | The ID of the shipment.
ocbreusShipmentId :: Lens' OrdersCustomBatchRequestEntryUpdateShipment (Maybe Text)

-- | The status of a datafeed, i.e., the result of the last retrieval of
--   the datafeed computed asynchronously when the feed processing is
--   finished.
--   
--   <i>See:</i> <a>datafeedStatus</a> smart constructor.
data DatafeedStatus

-- | Creates a value of <a>DatafeedStatus</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dsItemsTotal</a></li>
--   <li><a>dsKind</a></li>
--   <li><a>dsWarnings</a></li>
--   <li><a>dsDatafeedId</a></li>
--   <li><a>dsProcessingStatus</a></li>
--   <li><a>dsLastUploadDate</a></li>
--   <li><a>dsItemsValid</a></li>
--   <li><a>dsErrors</a></li>
--   </ul>
datafeedStatus :: DatafeedStatus

-- | The number of items in the feed that were processed.
dsItemsTotal :: Lens' DatafeedStatus (Maybe Word64)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#datafeedStatus".
dsKind :: Lens' DatafeedStatus Text

-- | The list of errors occurring in the feed.
dsWarnings :: Lens' DatafeedStatus [DatafeedStatusError]

-- | The ID of the feed for which the status is reported.
dsDatafeedId :: Lens' DatafeedStatus (Maybe Word64)

-- | The processing status of the feed.
dsProcessingStatus :: Lens' DatafeedStatus (Maybe Text)

-- | The last date at which the feed was uploaded.
dsLastUploadDate :: Lens' DatafeedStatus (Maybe Text)

-- | The number of items in the feed that were valid.
dsItemsValid :: Lens' DatafeedStatus (Maybe Word64)

-- | The list of errors occurring in the feed.
dsErrors :: Lens' DatafeedStatus [DatafeedStatusError]
data DatafeedstatusesCustomBatchRequest

-- | Creates a value of <a>DatafeedstatusesCustomBatchRequest</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dcbrcEntries</a></li>
--   </ul>
datafeedstatusesCustomBatchRequest :: DatafeedstatusesCustomBatchRequest

-- | The request entries to be processed in the batch.
dcbrcEntries :: Lens' DatafeedstatusesCustomBatchRequest [DatafeedstatusesCustomBatchRequestEntry]

-- | A user-defined locations group in a given country. All the locations
--   of the group must be of the same type.
--   
--   <i>See:</i> <a>accountShippingLocationGroup</a> smart constructor.
data AccountShippingLocationGroup

-- | Creates a value of <a>AccountShippingLocationGroup</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aslgCountry</a></li>
--   <li><a>aslgLocationIds</a></li>
--   <li><a>aslgPostalCodeRanges</a></li>
--   <li><a>aslgName</a></li>
--   <li><a>aslgPostalCodes</a></li>
--   </ul>
accountShippingLocationGroup :: AccountShippingLocationGroup

-- | The CLDR territory code of the country in which this location group
--   is.
aslgCountry :: Lens' AccountShippingLocationGroup (Maybe Text)

-- | A location ID (also called criteria ID) representing administrative
--   areas, smaller country subdivisions (counties), or cities.
aslgLocationIds :: Lens' AccountShippingLocationGroup [Int64]

-- | A postal code range representing a city or a set of cities.
aslgPostalCodeRanges :: Lens' AccountShippingLocationGroup [AccountShippingPostalCodeRange]

-- | The name of the location group.
aslgName :: Lens' AccountShippingLocationGroup (Maybe Text)

-- | A postal code representing a city or a set of cities. - A single
--   postal code (e.g., 12345) - A postal code prefix followed by a star
--   (e.g., 1234*)
aslgPostalCodes :: Lens' AccountShippingLocationGroup [Text]
data AccountStatusDataQualityIssue

-- | Creates a value of <a>AccountStatusDataQualityIssue</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>asdqiSubmittedValue</a></li>
--   <li><a>asdqiCountry</a></li>
--   <li><a>asdqiDisplayedValue</a></li>
--   <li><a>asdqiNumItems</a></li>
--   <li><a>asdqiSeverity</a></li>
--   <li><a>asdqiExampleItems</a></li>
--   <li><a>asdqiLastChecked</a></li>
--   <li><a>asdqiId</a></li>
--   </ul>
accountStatusDataQualityIssue :: AccountStatusDataQualityIssue

-- | Submitted value that causes the issue.
asdqiSubmittedValue :: Lens' AccountStatusDataQualityIssue (Maybe Text)

-- | Country for which this issue is reported.
asdqiCountry :: Lens' AccountStatusDataQualityIssue (Maybe Text)

-- | Actual value displayed on the landing page.
asdqiDisplayedValue :: Lens' AccountStatusDataQualityIssue (Maybe Text)

-- | Number of items in the account found to have the said issue.
asdqiNumItems :: Lens' AccountStatusDataQualityIssue (Maybe Word32)

-- | Severity of the problem.
asdqiSeverity :: Lens' AccountStatusDataQualityIssue (Maybe Text)

-- | Example items featuring the issue.
asdqiExampleItems :: Lens' AccountStatusDataQualityIssue [AccountStatusExampleItem]

-- | Last time the account was checked for this issue.
asdqiLastChecked :: Lens' AccountStatusDataQualityIssue (Maybe Text)

-- | Issue identifier.
asdqiId :: Lens' AccountStatusDataQualityIssue (Maybe Text)
data ProductShippingDimension

-- | Creates a value of <a>ProductShippingDimension</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>psdValue</a></li>
--   <li><a>psdUnit</a></li>
--   </ul>
productShippingDimension :: ProductShippingDimension

-- | The dimension of the product used to calculate the shipping cost of
--   the item.
psdValue :: Lens' ProductShippingDimension (Maybe Double)

-- | The unit of value. Acceptable values are: - "cm" - "in"
psdUnit :: Lens' ProductShippingDimension (Maybe Text)

-- | A batch entry encoding a single non-batch datafeeds response.
--   
--   <i>See:</i> <a>datafeedsCustomBatchResponseEntry</a> smart
--   constructor.
data DatafeedsCustomBatchResponseEntry

-- | Creates a value of <a>DatafeedsCustomBatchResponseEntry</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dcbrecDatafeed</a></li>
--   <li><a>dcbrecErrors</a></li>
--   <li><a>dcbrecBatchId</a></li>
--   </ul>
datafeedsCustomBatchResponseEntry :: DatafeedsCustomBatchResponseEntry

-- | The requested data feed. Defined if and only if the request was
--   successful.
dcbrecDatafeed :: Lens' DatafeedsCustomBatchResponseEntry (Maybe Datafeed)

-- | A list of errors defined if and only if the request failed.
dcbrecErrors :: Lens' DatafeedsCustomBatchResponseEntry (Maybe Errors)

-- | The ID of the request entry this entry responds to.
dcbrecBatchId :: Lens' DatafeedsCustomBatchResponseEntry (Maybe Word32)
data OrdersCustomBatchRequestEntryRefund

-- | Creates a value of <a>OrdersCustomBatchRequestEntryRefund</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ocbrerAmount</a></li>
--   <li><a>ocbrerReason</a></li>
--   <li><a>ocbrerReasonText</a></li>
--   </ul>
ordersCustomBatchRequestEntryRefund :: OrdersCustomBatchRequestEntryRefund

-- | The amount that is refunded.
ocbrerAmount :: Lens' OrdersCustomBatchRequestEntryRefund (Maybe Price)

-- | The reason for the refund.
ocbrerReason :: Lens' OrdersCustomBatchRequestEntryRefund (Maybe Text)

-- | The explanation of the reason.
ocbrerReasonText :: Lens' OrdersCustomBatchRequestEntryRefund (Maybe Text)
data DatafeedstatusesListResponse

-- | Creates a value of <a>DatafeedstatusesListResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dlrlNextPageToken</a></li>
--   <li><a>dlrlKind</a></li>
--   <li><a>dlrlResources</a></li>
--   </ul>
datafeedstatusesListResponse :: DatafeedstatusesListResponse

-- | The token for the retrieval of the next page of datafeed statuses.
dlrlNextPageToken :: Lens' DatafeedstatusesListResponse (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#datafeedstatusesListResponse".
dlrlKind :: Lens' DatafeedstatusesListResponse Text
dlrlResources :: Lens' DatafeedstatusesListResponse [DatafeedStatus]
data ProductsListResponse

-- | Creates a value of <a>ProductsListResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>plrlNextPageToken</a></li>
--   <li><a>plrlKind</a></li>
--   <li><a>plrlResources</a></li>
--   </ul>
productsListResponse :: ProductsListResponse

-- | The token for the retrieval of the next page of products.
plrlNextPageToken :: Lens' ProductsListResponse (Maybe Text)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#productsListResponse".
plrlKind :: Lens' ProductsListResponse Text
plrlResources :: Lens' ProductsListResponse [Product]
data AccountAdwordsLink

-- | Creates a value of <a>AccountAdwordsLink</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aalStatus</a></li>
--   <li><a>aalAdwordsId</a></li>
--   </ul>
accountAdwordsLink :: AccountAdwordsLink

-- | Status of the link between this Merchant Center account and the
--   AdWords account. Upon retrieval, it represents the actual status of
--   the link and can be either active if it was approved in Google AdWords
--   or pending if it's pending approval. Upon insertion, it represents the
--   intended status of the link. Re-uploading a link with status active
--   when it's still pending or with status pending when it's already
--   active will have no effect: the status will remain unchanged.
--   Re-uploading a link with deprecated status inactive is equivalent to
--   not submitting the link at all and will delete the link if it was
--   active or cancel the link request if it was pending.
aalStatus :: Lens' AccountAdwordsLink (Maybe Text)

-- | Customer ID of the AdWords account.
aalAdwordsId :: Lens' AccountAdwordsLink (Maybe Word64)
data OrderCancellation

-- | Creates a value of <a>OrderCancellation</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ocQuantity</a></li>
--   <li><a>ocActor</a></li>
--   <li><a>ocReason</a></li>
--   <li><a>ocCreationDate</a></li>
--   <li><a>ocReasonText</a></li>
--   </ul>
orderCancellation :: OrderCancellation

-- | The quantity that was canceled.
ocQuantity :: Lens' OrderCancellation (Maybe Word32)

-- | The actor that created the cancellation.
ocActor :: Lens' OrderCancellation (Maybe Text)

-- | The reason for the cancellation. Orders that are cancelled with a
--   noInventory reason will lead to the removal of the product from POG
--   until you make an update to that product. This will not affect your
--   Shopping ads.
ocReason :: Lens' OrderCancellation (Maybe Text)

-- | Date on which the cancellation has been created, in ISO 8601 format.
ocCreationDate :: Lens' OrderCancellation (Maybe Text)

-- | The explanation of the reason.
ocReasonText :: Lens' OrderCancellation (Maybe Text)
data OrdersCustomBatchResponse

-- | Creates a value of <a>OrdersCustomBatchResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ordEntries</a></li>
--   <li><a>ordKind</a></li>
--   </ul>
ordersCustomBatchResponse :: OrdersCustomBatchResponse

-- | The result of the execution of the batch requests.
ordEntries :: Lens' OrdersCustomBatchResponse [OrdersCustomBatchResponseEntry]

-- | Identifies what kind of resource this is. Value: the fixed string
--   "content#ordersCustomBatchResponse".
ordKind :: Lens' OrdersCustomBatchResponse Text
