# 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.MyBusinessLodging.V1.Model.LivingAreaAccessibility do
  @moduledoc """
  Accessibility features of the living area.

  ## Attributes

  *   `adaCompliantUnit` (*type:* `boolean()`, *default:* `nil`) - ADA compliant unit. A guestroom designed to accommodate the physical challenges of a guest with mobility and/or auditory and/or visual issues, as determined by legislative policy. Usually features enlarged doorways, roll-in showers with seats, bathroom grab bars, and communication equipment for the hearing and sight challenged.
  *   `adaCompliantUnitException` (*type:* `String.t`, *default:* `nil`) - ADA compliant unit exception.
  *   `hearingAccessibleDoorbell` (*type:* `boolean()`, *default:* `nil`) - Hearing-accessible doorbell. A visual indicator(s) of a knock or ring at the door.
  *   `hearingAccessibleDoorbellException` (*type:* `String.t`, *default:* `nil`) - Hearing-accessible doorbell exception.
  *   `hearingAccessibleFireAlarm` (*type:* `boolean()`, *default:* `nil`) - Hearing-accessible fire alarm. A device that gives warning of a fire through flashing lights.
  *   `hearingAccessibleFireAlarmException` (*type:* `String.t`, *default:* `nil`) - Hearing-accessible fire alarm exception.
  *   `hearingAccessibleUnit` (*type:* `boolean()`, *default:* `nil`) - Hearing-accessible unit. A guestroom designed to accommodate the physical challenges of a guest with auditory issues.
  *   `hearingAccessibleUnitException` (*type:* `String.t`, *default:* `nil`) - Hearing-accessible unit exception.
  *   `mobilityAccessibleBathtub` (*type:* `boolean()`, *default:* `nil`) - Mobility-accessible bathtub. A bathtub that accomodates the physically challenged with additional railings or hand grips, a transfer seat or lift, and/or a door to enable walking into the tub.
  *   `mobilityAccessibleBathtubException` (*type:* `String.t`, *default:* `nil`) - Mobility-accessible bathtub exception.
  *   `mobilityAccessibleShower` (*type:* `boolean()`, *default:* `nil`) - Mobility-accessible shower. A shower with an enlarged door or access point to accommodate a wheelchair or a waterproof seat for the physically challenged.
  *   `mobilityAccessibleShowerException` (*type:* `String.t`, *default:* `nil`) - Mobility-accessible shower exception.
  *   `mobilityAccessibleToilet` (*type:* `boolean()`, *default:* `nil`) - Mobility-accessible toilet. A toilet with a higher seat, grab bars, and/or a larger area around it to accommodate the physically challenged.
  *   `mobilityAccessibleToiletException` (*type:* `String.t`, *default:* `nil`) - Mobility-accessible toilet exception.
  *   `mobilityAccessibleUnit` (*type:* `boolean()`, *default:* `nil`) - Mobility-accessible unit. A guestroom designed to accommodate the physical challenges of a guest with mobility and/or auditory and/or visual issues. Usually features enlarged doorways, roll-in showers with seats, bathroom grab bars, and communication equipment for the hearing and sight challenged.
  *   `mobilityAccessibleUnitException` (*type:* `String.t`, *default:* `nil`) - Mobility-accessible unit exception.
  """

  use GoogleApi.Gax.ModelBase

  @type t :: %__MODULE__{
          :adaCompliantUnit => boolean() | nil,
          :adaCompliantUnitException => String.t() | nil,
          :hearingAccessibleDoorbell => boolean() | nil,
          :hearingAccessibleDoorbellException => String.t() | nil,
          :hearingAccessibleFireAlarm => boolean() | nil,
          :hearingAccessibleFireAlarmException => String.t() | nil,
          :hearingAccessibleUnit => boolean() | nil,
          :hearingAccessibleUnitException => String.t() | nil,
          :mobilityAccessibleBathtub => boolean() | nil,
          :mobilityAccessibleBathtubException => String.t() | nil,
          :mobilityAccessibleShower => boolean() | nil,
          :mobilityAccessibleShowerException => String.t() | nil,
          :mobilityAccessibleToilet => boolean() | nil,
          :mobilityAccessibleToiletException => String.t() | nil,
          :mobilityAccessibleUnit => boolean() | nil,
          :mobilityAccessibleUnitException => String.t() | nil
        }

  field(:adaCompliantUnit)
  field(:adaCompliantUnitException)
  field(:hearingAccessibleDoorbell)
  field(:hearingAccessibleDoorbellException)
  field(:hearingAccessibleFireAlarm)
  field(:hearingAccessibleFireAlarmException)
  field(:hearingAccessibleUnit)
  field(:hearingAccessibleUnitException)
  field(:mobilityAccessibleBathtub)
  field(:mobilityAccessibleBathtubException)
  field(:mobilityAccessibleShower)
  field(:mobilityAccessibleShowerException)
  field(:mobilityAccessibleToilet)
  field(:mobilityAccessibleToiletException)
  field(:mobilityAccessibleUnit)
  field(:mobilityAccessibleUnitException)
end

defimpl Poison.Decoder, for: GoogleApi.MyBusinessLodging.V1.Model.LivingAreaAccessibility do
  def decode(value, options) do
    GoogleApi.MyBusinessLodging.V1.Model.LivingAreaAccessibility.decode(value, options)
  end
end

defimpl Poison.Encoder, for: GoogleApi.MyBusinessLodging.V1.Model.LivingAreaAccessibility do
  def encode(value, options) do
    GoogleApi.Gax.ModelBase.encode(value, options)
  end
end
