# 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.V21.Model.RepricingRule do @moduledoc """ Represents a repricing rule. A repricing rule is used by shopping serving to adjust transactable offer prices if conditions are met. Next ID: 24 ## Attributes * `countryCode` (*type:* `String.t`, *default:* `nil`) - Required. Immutable. CLDR country code (e.g. "US"). * `effectiveTimePeriod` (*type:* `GoogleApi.Content.V21.Model.RepricingRuleEffectiveTime.t`, *default:* `nil`) - Required. Time period when the rule should take effect. * `eligibleOfferMatcher` (*type:* `GoogleApi.Content.V21.Model.RepricingRuleEligibleOfferMatcher.t`, *default:* `nil`) - Required. Match criteria for the eligible offers. * `languageCode` (*type:* `String.t`, *default:* `nil`) - Required. Immutable. The two-letter ISO 639-1 language code associated with the repricing rule. * `merchantId` (*type:* `String.t`, *default:* `nil`) - Output only. Immutable. Merchant that owns the repricing rule. * `paused` (*type:* `boolean()`, *default:* `nil`) - Represents whether a rule is paused. A paused rule will behave like a non-paused rule within CRUD operations, with the major difference that a paused rule will not be evaluated and will have no effect on offers. * `restriction` (*type:* `GoogleApi.Content.V21.Model.RepricingRuleRestriction.t`, *default:* `nil`) - Required. Restriction of the rule appliance. * `ruleId` (*type:* `String.t`, *default:* `nil`) - Output only. Immutable. The ID to uniquely identify each repricing rule. * `title` (*type:* `String.t`, *default:* `nil`) - The title for the rule. * `type` (*type:* `String.t`, *default:* `nil`) - Required. Immutable. The type of the rule. """ use GoogleApi.Gax.ModelBase @type t :: %__MODULE__{ :countryCode => String.t(), :effectiveTimePeriod => GoogleApi.Content.V21.Model.RepricingRuleEffectiveTime.t(), :eligibleOfferMatcher => GoogleApi.Content.V21.Model.RepricingRuleEligibleOfferMatcher.t(), :languageCode => String.t(), :merchantId => String.t(), :paused => boolean(), :restriction => GoogleApi.Content.V21.Model.RepricingRuleRestriction.t(), :ruleId => String.t(), :title => String.t(), :type => String.t() } field(:countryCode) field(:effectiveTimePeriod, as: GoogleApi.Content.V21.Model.RepricingRuleEffectiveTime) field(:eligibleOfferMatcher, as: GoogleApi.Content.V21.Model.RepricingRuleEligibleOfferMatcher) field(:languageCode) field(:merchantId) field(:paused) field(:restriction, as: GoogleApi.Content.V21.Model.RepricingRuleRestriction) field(:ruleId) field(:title) field(:type) end defimpl Poison.Decoder, for: GoogleApi.Content.V21.Model.RepricingRule do def decode(value, options) do GoogleApi.Content.V21.Model.RepricingRule.decode(value, options) end end defimpl Poison.Encoder, for: GoogleApi.Content.V21.Model.RepricingRule do def encode(value, options) do GoogleApi.Gax.ModelBase.encode(value, options) end end