Packages
google_api_content
0.27.0
0.73.0
0.72.1
0.72.0
0.71.0
0.70.1
0.70.0
0.69.0
0.68.0
0.67.1
0.67.0
0.66.0
0.65.1
0.65.0
0.64.0
0.63.0
0.62.0
0.61.3
0.61.2
0.61.1
0.61.0
0.60.1
0.60.0
0.59.0
0.58.1
0.58.0
0.57.0
0.56.0
0.55.0
0.54.0
0.53.0
0.52.0
0.51.0
0.50.0
0.49.0
0.48.1
0.48.0
0.47.1
0.47.0
0.46.1
0.46.0
0.45.0
0.44.0
0.43.0
0.42.1
0.42.0
0.41.3
0.41.2
0.41.1
0.41.0
0.40.0
0.39.0
0.38.0
0.37.1
0.37.0
0.36.0
0.35.0
0.34.0
0.33.0
0.32.0
0.31.1
0.31.0
0.30.0
0.29.1
0.29.0
0.28.0
0.27.0
0.26.0
0.25.0
0.24.0
0.23.0
0.22.0
0.21.0
0.20.0
0.19.0
0.18.0
0.17.0
0.16.0
0.15.0
0.14.0
0.13.0
0.11.0
0.10.0
0.9.0
0.7.1
0.7.0
0.6.0
0.4.0
0.3.0
0.2.0
0.1.0
0.0.1
Content API for Shopping client library. Manage your product listings and accounts for Google Shopping
Current section
Files
Jump to
Current section
Files
lib/google_api/content/v2/model/order.ex
# Copyright 2019 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# NOTE: This file is auto generated by the elixir code generator program.
# Do not edit this file manually.
defmodule GoogleApi.Content.V2.Model.Order do
@moduledoc """
Order. Production access (all methods) requires the order manager role. Sandbox access does not.
## Attributes
* `acknowledged` (*type:* `boolean()`, *default:* `nil`) - Whether the order was acknowledged.
* `channelType` (*type:* `String.t`, *default:* `nil`) - Deprecated.
* `customer` (*type:* `GoogleApi.Content.V2.Model.OrderCustomer.t`, *default:* `nil`) - The details of the customer who placed the order.
* `deliveryDetails` (*type:* `GoogleApi.Content.V2.Model.OrderDeliveryDetails.t`, *default:* `nil`) - Delivery details for shipments of type delivery.
* `id` (*type:* `String.t`, *default:* `nil`) - The REST ID of the order. Globally unique.
* `kind` (*type:* `String.t`, *default:* `content#order`) - Identifies what kind of resource this is. Value: the fixed string "content#order".
* `lineItems` (*type:* `list(GoogleApi.Content.V2.Model.OrderLineItem.t)`, *default:* `nil`) - Line items that are ordered.
* `merchantId` (*type:* `String.t`, *default:* `nil`) -
* `merchantOrderId` (*type:* `String.t`, *default:* `nil`) - Merchant-provided ID of the order.
* `netAmount` (*type:* `GoogleApi.Content.V2.Model.Price.t`, *default:* `nil`) - 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.
* `paymentMethod` (*type:* `GoogleApi.Content.V2.Model.OrderPaymentMethod.t`, *default:* `nil`) - The details of the payment method.
* `paymentStatus` (*type:* `String.t`, *default:* `nil`) - The status of the payment.
* `pickupDetails` (*type:* `GoogleApi.Content.V2.Model.OrderPickupDetails.t`, *default:* `nil`) - Pickup details for shipments of type pickup.
* `placedDate` (*type:* `String.t`, *default:* `nil`) - The date when the order was placed, in ISO 8601 format.
* `promotions` (*type:* `list(GoogleApi.Content.V2.Model.OrderLegacyPromotion.t)`, *default:* `nil`) - The details of the merchant provided promotions applied to the order.
To determine which promotions apply to which products, check the Promotions[].Benefits[].OfferIds field against the LineItems[].Product.OfferId field for each promotion. If a promotion is applied to more than 1 offerId, divide the discount value by the number of affected offers to determine how much discount to apply to each offerId.
Examples:
- To calculate the line item level discount for a single specific item: For each promotion, subtract the Promotions[].Benefits[].Discount.value amount from the LineItems[].Price.value.
- To calculate the line item level discount for multiple quantity of a specific item: For each promotion, divide the Promotions[].Benefits[].Discount.value by the quantity of products and substract it from LineItems[].Product.Price.value for each quantity item.
Only 1 promotion can be applied to an offerId in a given order. To refund an item which had a promotion applied to it, make sure to refund the amount after first subtracting the promotion discount from the item price.
More details about the program are here.
* `refunds` (*type:* `list(GoogleApi.Content.V2.Model.OrderRefund.t)`, *default:* `nil`) - Refunds for the order.
* `shipments` (*type:* `list(GoogleApi.Content.V2.Model.OrderShipment.t)`, *default:* `nil`) - Shipments of the order.
* `shippingCost` (*type:* `GoogleApi.Content.V2.Model.Price.t`, *default:* `nil`) - The total cost of shipping for all items.
* `shippingCostTax` (*type:* `GoogleApi.Content.V2.Model.Price.t`, *default:* `nil`) - The tax for the total shipping cost.
* `shippingOption` (*type:* `String.t`, *default:* `nil`) - Deprecated. Shipping details are provided with line items instead.
* `status` (*type:* `String.t`, *default:* `nil`) - The status of the order.
* `taxCollector` (*type:* `String.t`, *default:* `nil`) - The party responsible for collecting and remitting taxes.
"""
use GoogleApi.Gax.ModelBase
@type t :: %__MODULE__{
:acknowledged => boolean(),
:channelType => String.t(),
:customer => GoogleApi.Content.V2.Model.OrderCustomer.t(),
:deliveryDetails => GoogleApi.Content.V2.Model.OrderDeliveryDetails.t(),
:id => String.t(),
:kind => String.t(),
:lineItems => list(GoogleApi.Content.V2.Model.OrderLineItem.t()),
:merchantId => String.t(),
:merchantOrderId => String.t(),
:netAmount => GoogleApi.Content.V2.Model.Price.t(),
:paymentMethod => GoogleApi.Content.V2.Model.OrderPaymentMethod.t(),
:paymentStatus => String.t(),
:pickupDetails => GoogleApi.Content.V2.Model.OrderPickupDetails.t(),
:placedDate => String.t(),
:promotions => list(GoogleApi.Content.V2.Model.OrderLegacyPromotion.t()),
:refunds => list(GoogleApi.Content.V2.Model.OrderRefund.t()),
:shipments => list(GoogleApi.Content.V2.Model.OrderShipment.t()),
:shippingCost => GoogleApi.Content.V2.Model.Price.t(),
:shippingCostTax => GoogleApi.Content.V2.Model.Price.t(),
:shippingOption => String.t(),
:status => String.t(),
:taxCollector => String.t()
}
field(:acknowledged)
field(:channelType)
field(:customer, as: GoogleApi.Content.V2.Model.OrderCustomer)
field(:deliveryDetails, as: GoogleApi.Content.V2.Model.OrderDeliveryDetails)
field(:id)
field(:kind)
field(:lineItems, as: GoogleApi.Content.V2.Model.OrderLineItem, type: :list)
field(:merchantId)
field(:merchantOrderId)
field(:netAmount, as: GoogleApi.Content.V2.Model.Price)
field(:paymentMethod, as: GoogleApi.Content.V2.Model.OrderPaymentMethod)
field(:paymentStatus)
field(:pickupDetails, as: GoogleApi.Content.V2.Model.OrderPickupDetails)
field(:placedDate)
field(:promotions, as: GoogleApi.Content.V2.Model.OrderLegacyPromotion, type: :list)
field(:refunds, as: GoogleApi.Content.V2.Model.OrderRefund, type: :list)
field(:shipments, as: GoogleApi.Content.V2.Model.OrderShipment, type: :list)
field(:shippingCost, as: GoogleApi.Content.V2.Model.Price)
field(:shippingCostTax, as: GoogleApi.Content.V2.Model.Price)
field(:shippingOption)
field(:status)
field(:taxCollector)
end
defimpl Poison.Decoder, for: GoogleApi.Content.V2.Model.Order do
def decode(value, options) do
GoogleApi.Content.V2.Model.Order.decode(value, options)
end
end
defimpl Poison.Encoder, for: GoogleApi.Content.V2.Model.Order do
def encode(value, options) do
GoogleApi.Gax.ModelBase.encode(value, options)
end
end