# Copyright 2017 Google Inc. # # 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 class is auto generated by the swagger code generator program. # https://github.com/swagger-api/swagger-codegen.git # Do not edit the class manually. defmodule GoogleApi.Content.V2.Model.Inventory do @moduledoc """ ## Attributes - availability (String): The availability of the product. Defaults to: `null`. - installment (Installment): Number and amount of installments to pay for an item. Brazil only. Defaults to: `null`. - kind (String): Identifies what kind of resource this is. Value: the fixed string \"content#inventory\". Defaults to: `null`. - loyaltyPoints (LoyaltyPoints): Loyalty points that users receive after purchasing the item. Japan only. Defaults to: `null`. - pickup (InventoryPickup): 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\". Defaults to: `null`. - price (Price): The price of the product. Defaults to: `null`. - quantity (Integer): The quantity of the product. Must be equal to or greater than zero. Supported only for local products. Defaults to: `null`. - salePrice (Price): The sale price of the product. Mandatory if sale_price_effective_date is defined. Defaults to: `null`. - salePriceEffectiveDate (String): 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. Defaults to: `null`. - sellOnGoogleQuantity (Integer): The quantity of the product that is reserved for sell-on-google ads. Supported only for online products. Defaults to: `null`. """ defstruct [ :"availability", :"installment", :"kind", :"loyaltyPoints", :"pickup", :"price", :"quantity", :"salePrice", :"salePriceEffectiveDate", :"sellOnGoogleQuantity" ] end defimpl Poison.Decoder, for: GoogleApi.Content.V2.Model.Inventory do import GoogleApi.Content.V2.Deserializer def decode(value, options) do value |> deserialize(:"installment", :struct, GoogleApi.Content.V2.Model.Installment, options) |> deserialize(:"loyaltyPoints", :struct, GoogleApi.Content.V2.Model.LoyaltyPoints, options) |> deserialize(:"pickup", :struct, GoogleApi.Content.V2.Model.InventoryPickup, options) |> deserialize(:"price", :struct, GoogleApi.Content.V2.Model.Price, options) |> deserialize(:"salePrice", :struct, GoogleApi.Content.V2.Model.Price, options) end end defimpl Poison.Encoder, for: GoogleApi.Content.V2.Model.Inventory do def encode(value, options) do GoogleApi.Content.V2.Deserializer.serialize_non_nil(value, options) end end