# Copyright 2020 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.

require 'date'
require 'google/apis/core/base_service'
require 'google/apis/core/json_representation'
require 'google/apis/core/hashable'
require 'google/apis/errors'

module Google
  module Apis
    module MybusinessbusinessinformationV1
      
      class AdWordsLocationExtensions
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class Attribute
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class AttributeMetadata
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class AttributeValueMetadata
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class Attributes
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class BatchGetCategoriesResponse
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class BusinessHours
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class Categories
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class Category
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class Chain
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class ChainName
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class ChainUri
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class Date
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class Empty
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class FreeFormServiceItem
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class GoogleLocation
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class GoogleUpdatedLocation
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class Label
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class LatLng
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class ListAttributeMetadataResponse
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class ListCategoriesResponse
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class ListLocationsResponse
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class Location
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class Metadata
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class Money
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class MoreHours
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class MoreHoursType
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class OpenInfo
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class PhoneNumbers
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class PlaceInfo
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class Places
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class PostalAddress
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class Profile
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class RelationshipData
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class RelevantLocation
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class RepeatedEnumAttributeValue
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class SearchChainsResponse
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class SearchGoogleLocationsRequest
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class SearchGoogleLocationsResponse
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class ServiceAreaBusiness
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class ServiceItem
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class ServiceType
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class SpecialHourPeriod
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class SpecialHours
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class StructuredServiceItem
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class TimeOfDay
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class TimePeriod
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class UriAttributeValue
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class AdWordsLocationExtensions
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :ad_phone, as: 'adPhone'
        end
      end
      
      class Attribute
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :name, as: 'name'
          property :repeated_enum_value, as: 'repeatedEnumValue', class: Google::Apis::MybusinessbusinessinformationV1::RepeatedEnumAttributeValue, decorator: Google::Apis::MybusinessbusinessinformationV1::RepeatedEnumAttributeValue::Representation
      
          collection :uri_values, as: 'uriValues', class: Google::Apis::MybusinessbusinessinformationV1::UriAttributeValue, decorator: Google::Apis::MybusinessbusinessinformationV1::UriAttributeValue::Representation
      
          property :value_type, as: 'valueType'
          collection :values, as: 'values'
        end
      end
      
      class AttributeMetadata
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :deprecated, as: 'deprecated'
          property :display_name, as: 'displayName'
          property :group_display_name, as: 'groupDisplayName'
          property :parent, as: 'parent'
          property :repeatable, as: 'repeatable'
          collection :value_metadata, as: 'valueMetadata', class: Google::Apis::MybusinessbusinessinformationV1::AttributeValueMetadata, decorator: Google::Apis::MybusinessbusinessinformationV1::AttributeValueMetadata::Representation
      
          property :value_type, as: 'valueType'
        end
      end
      
      class AttributeValueMetadata
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :display_name, as: 'displayName'
          property :value, as: 'value'
        end
      end
      
      class Attributes
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :attributes, as: 'attributes', class: Google::Apis::MybusinessbusinessinformationV1::Attribute, decorator: Google::Apis::MybusinessbusinessinformationV1::Attribute::Representation
      
          property :name, as: 'name'
        end
      end
      
      class BatchGetCategoriesResponse
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :categories, as: 'categories', class: Google::Apis::MybusinessbusinessinformationV1::Category, decorator: Google::Apis::MybusinessbusinessinformationV1::Category::Representation
      
        end
      end
      
      class BusinessHours
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :periods, as: 'periods', class: Google::Apis::MybusinessbusinessinformationV1::TimePeriod, decorator: Google::Apis::MybusinessbusinessinformationV1::TimePeriod::Representation
      
        end
      end
      
      class Categories
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :additional_categories, as: 'additionalCategories', class: Google::Apis::MybusinessbusinessinformationV1::Category, decorator: Google::Apis::MybusinessbusinessinformationV1::Category::Representation
      
          property :primary_category, as: 'primaryCategory', class: Google::Apis::MybusinessbusinessinformationV1::Category, decorator: Google::Apis::MybusinessbusinessinformationV1::Category::Representation
      
        end
      end
      
      class Category
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :display_name, as: 'displayName'
          collection :more_hours_types, as: 'moreHoursTypes', class: Google::Apis::MybusinessbusinessinformationV1::MoreHoursType, decorator: Google::Apis::MybusinessbusinessinformationV1::MoreHoursType::Representation
      
          property :name, as: 'name'
          collection :service_types, as: 'serviceTypes', class: Google::Apis::MybusinessbusinessinformationV1::ServiceType, decorator: Google::Apis::MybusinessbusinessinformationV1::ServiceType::Representation
      
        end
      end
      
      class Chain
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :chain_names, as: 'chainNames', class: Google::Apis::MybusinessbusinessinformationV1::ChainName, decorator: Google::Apis::MybusinessbusinessinformationV1::ChainName::Representation
      
          property :location_count, as: 'locationCount'
          property :name, as: 'name'
          collection :websites, as: 'websites', class: Google::Apis::MybusinessbusinessinformationV1::ChainUri, decorator: Google::Apis::MybusinessbusinessinformationV1::ChainUri::Representation
      
        end
      end
      
      class ChainName
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :display_name, as: 'displayName'
          property :language_code, as: 'languageCode'
        end
      end
      
      class ChainUri
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :uri, as: 'uri'
        end
      end
      
      class Date
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :day, as: 'day'
          property :month, as: 'month'
          property :year, as: 'year'
        end
      end
      
      class Empty
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
        end
      end
      
      class FreeFormServiceItem
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :category, as: 'category'
          property :label, as: 'label', class: Google::Apis::MybusinessbusinessinformationV1::Label, decorator: Google::Apis::MybusinessbusinessinformationV1::Label::Representation
      
        end
      end
      
      class GoogleLocation
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :location, as: 'location', class: Google::Apis::MybusinessbusinessinformationV1::Location, decorator: Google::Apis::MybusinessbusinessinformationV1::Location::Representation
      
          property :name, as: 'name'
          property :request_admin_rights_uri, as: 'requestAdminRightsUri'
        end
      end
      
      class GoogleUpdatedLocation
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :diff_mask, as: 'diffMask'
          property :location, as: 'location', class: Google::Apis::MybusinessbusinessinformationV1::Location, decorator: Google::Apis::MybusinessbusinessinformationV1::Location::Representation
      
          property :pending_mask, as: 'pendingMask'
        end
      end
      
      class Label
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :description, as: 'description'
          property :display_name, as: 'displayName'
          property :language_code, as: 'languageCode'
        end
      end
      
      class LatLng
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :latitude, as: 'latitude'
          property :longitude, as: 'longitude'
        end
      end
      
      class ListAttributeMetadataResponse
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :attribute_metadata, as: 'attributeMetadata', class: Google::Apis::MybusinessbusinessinformationV1::AttributeMetadata, decorator: Google::Apis::MybusinessbusinessinformationV1::AttributeMetadata::Representation
      
          property :next_page_token, as: 'nextPageToken'
        end
      end
      
      class ListCategoriesResponse
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :categories, as: 'categories', class: Google::Apis::MybusinessbusinessinformationV1::Category, decorator: Google::Apis::MybusinessbusinessinformationV1::Category::Representation
      
          property :next_page_token, as: 'nextPageToken'
        end
      end
      
      class ListLocationsResponse
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :locations, as: 'locations', class: Google::Apis::MybusinessbusinessinformationV1::Location, decorator: Google::Apis::MybusinessbusinessinformationV1::Location::Representation
      
          property :next_page_token, as: 'nextPageToken'
          property :total_size, as: 'totalSize'
        end
      end
      
      class Location
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :ad_words_location_extensions, as: 'adWordsLocationExtensions', class: Google::Apis::MybusinessbusinessinformationV1::AdWordsLocationExtensions, decorator: Google::Apis::MybusinessbusinessinformationV1::AdWordsLocationExtensions::Representation
      
          property :categories, as: 'categories', class: Google::Apis::MybusinessbusinessinformationV1::Categories, decorator: Google::Apis::MybusinessbusinessinformationV1::Categories::Representation
      
          collection :labels, as: 'labels'
          property :language_code, as: 'languageCode'
          property :latlng, as: 'latlng', class: Google::Apis::MybusinessbusinessinformationV1::LatLng, decorator: Google::Apis::MybusinessbusinessinformationV1::LatLng::Representation
      
          property :metadata, as: 'metadata', class: Google::Apis::MybusinessbusinessinformationV1::Metadata, decorator: Google::Apis::MybusinessbusinessinformationV1::Metadata::Representation
      
          collection :more_hours, as: 'moreHours', class: Google::Apis::MybusinessbusinessinformationV1::MoreHours, decorator: Google::Apis::MybusinessbusinessinformationV1::MoreHours::Representation
      
          property :name, as: 'name'
          property :open_info, as: 'openInfo', class: Google::Apis::MybusinessbusinessinformationV1::OpenInfo, decorator: Google::Apis::MybusinessbusinessinformationV1::OpenInfo::Representation
      
          property :phone_numbers, as: 'phoneNumbers', class: Google::Apis::MybusinessbusinessinformationV1::PhoneNumbers, decorator: Google::Apis::MybusinessbusinessinformationV1::PhoneNumbers::Representation
      
          property :profile, as: 'profile', class: Google::Apis::MybusinessbusinessinformationV1::Profile, decorator: Google::Apis::MybusinessbusinessinformationV1::Profile::Representation
      
          property :regular_hours, as: 'regularHours', class: Google::Apis::MybusinessbusinessinformationV1::BusinessHours, decorator: Google::Apis::MybusinessbusinessinformationV1::BusinessHours::Representation
      
          property :relationship_data, as: 'relationshipData', class: Google::Apis::MybusinessbusinessinformationV1::RelationshipData, decorator: Google::Apis::MybusinessbusinessinformationV1::RelationshipData::Representation
      
          property :service_area, as: 'serviceArea', class: Google::Apis::MybusinessbusinessinformationV1::ServiceAreaBusiness, decorator: Google::Apis::MybusinessbusinessinformationV1::ServiceAreaBusiness::Representation
      
          collection :service_items, as: 'serviceItems', class: Google::Apis::MybusinessbusinessinformationV1::ServiceItem, decorator: Google::Apis::MybusinessbusinessinformationV1::ServiceItem::Representation
      
          property :special_hours, as: 'specialHours', class: Google::Apis::MybusinessbusinessinformationV1::SpecialHours, decorator: Google::Apis::MybusinessbusinessinformationV1::SpecialHours::Representation
      
          property :store_code, as: 'storeCode'
          property :storefront_address, as: 'storefrontAddress', class: Google::Apis::MybusinessbusinessinformationV1::PostalAddress, decorator: Google::Apis::MybusinessbusinessinformationV1::PostalAddress::Representation
      
          property :title, as: 'title'
          property :website_uri, as: 'websiteUri'
        end
      end
      
      class Metadata
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :can_delete, as: 'canDelete'
          property :can_have_business_calls, as: 'canHaveBusinessCalls'
          property :can_have_food_menus, as: 'canHaveFoodMenus'
          property :can_modify_service_list, as: 'canModifyServiceList'
          property :can_operate_health_data, as: 'canOperateHealthData'
          property :can_operate_local_post, as: 'canOperateLocalPost'
          property :can_operate_lodging_data, as: 'canOperateLodgingData'
          property :duplicate_location, as: 'duplicateLocation'
          property :has_google_updated, as: 'hasGoogleUpdated'
          property :has_pending_edits, as: 'hasPendingEdits'
          property :has_voice_of_merchant, as: 'hasVoiceOfMerchant'
          property :is_particularly_personal_place, as: 'isParticularlyPersonalPlace'
          property :maps_uri, as: 'mapsUri'
          property :new_review_uri, as: 'newReviewUri'
          property :place_id, as: 'placeId'
        end
      end
      
      class Money
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :currency_code, as: 'currencyCode'
          property :nanos, as: 'nanos'
          property :units, :numeric_string => true, as: 'units'
        end
      end
      
      class MoreHours
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :hours_type_id, as: 'hoursTypeId'
          collection :periods, as: 'periods', class: Google::Apis::MybusinessbusinessinformationV1::TimePeriod, decorator: Google::Apis::MybusinessbusinessinformationV1::TimePeriod::Representation
      
        end
      end
      
      class MoreHoursType
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :display_name, as: 'displayName'
          property :hours_type_id, as: 'hoursTypeId'
          property :localized_display_name, as: 'localizedDisplayName'
        end
      end
      
      class OpenInfo
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :can_reopen, as: 'canReopen'
          property :opening_date, as: 'openingDate', class: Google::Apis::MybusinessbusinessinformationV1::Date, decorator: Google::Apis::MybusinessbusinessinformationV1::Date::Representation
      
          property :status, as: 'status'
        end
      end
      
      class PhoneNumbers
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :additional_phones, as: 'additionalPhones'
          property :primary_phone, as: 'primaryPhone'
        end
      end
      
      class PlaceInfo
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :place_id, as: 'placeId'
          property :place_name, as: 'placeName'
        end
      end
      
      class Places
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :place_infos, as: 'placeInfos', class: Google::Apis::MybusinessbusinessinformationV1::PlaceInfo, decorator: Google::Apis::MybusinessbusinessinformationV1::PlaceInfo::Representation
      
        end
      end
      
      class PostalAddress
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :address_lines, as: 'addressLines'
          property :administrative_area, as: 'administrativeArea'
          property :language_code, as: 'languageCode'
          property :locality, as: 'locality'
          property :organization, as: 'organization'
          property :postal_code, as: 'postalCode'
          collection :recipients, as: 'recipients'
          property :region_code, as: 'regionCode'
          property :revision, as: 'revision'
          property :sorting_code, as: 'sortingCode'
          property :sublocality, as: 'sublocality'
        end
      end
      
      class Profile
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :description, as: 'description'
        end
      end
      
      class RelationshipData
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :children_locations, as: 'childrenLocations', class: Google::Apis::MybusinessbusinessinformationV1::RelevantLocation, decorator: Google::Apis::MybusinessbusinessinformationV1::RelevantLocation::Representation
      
          property :parent_chain, as: 'parentChain'
          property :parent_location, as: 'parentLocation', class: Google::Apis::MybusinessbusinessinformationV1::RelevantLocation, decorator: Google::Apis::MybusinessbusinessinformationV1::RelevantLocation::Representation
      
        end
      end
      
      class RelevantLocation
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :place_id, as: 'placeId'
          property :relation_type, as: 'relationType'
        end
      end
      
      class RepeatedEnumAttributeValue
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :set_values, as: 'setValues'
          collection :unset_values, as: 'unsetValues'
        end
      end
      
      class SearchChainsResponse
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :chains, as: 'chains', class: Google::Apis::MybusinessbusinessinformationV1::Chain, decorator: Google::Apis::MybusinessbusinessinformationV1::Chain::Representation
      
        end
      end
      
      class SearchGoogleLocationsRequest
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :location, as: 'location', class: Google::Apis::MybusinessbusinessinformationV1::Location, decorator: Google::Apis::MybusinessbusinessinformationV1::Location::Representation
      
          property :page_size, as: 'pageSize'
          property :query, as: 'query'
        end
      end
      
      class SearchGoogleLocationsResponse
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :google_locations, as: 'googleLocations', class: Google::Apis::MybusinessbusinessinformationV1::GoogleLocation, decorator: Google::Apis::MybusinessbusinessinformationV1::GoogleLocation::Representation
      
        end
      end
      
      class ServiceAreaBusiness
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :business_type, as: 'businessType'
          property :places, as: 'places', class: Google::Apis::MybusinessbusinessinformationV1::Places, decorator: Google::Apis::MybusinessbusinessinformationV1::Places::Representation
      
          property :region_code, as: 'regionCode'
        end
      end
      
      class ServiceItem
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :free_form_service_item, as: 'freeFormServiceItem', class: Google::Apis::MybusinessbusinessinformationV1::FreeFormServiceItem, decorator: Google::Apis::MybusinessbusinessinformationV1::FreeFormServiceItem::Representation
      
          property :price, as: 'price', class: Google::Apis::MybusinessbusinessinformationV1::Money, decorator: Google::Apis::MybusinessbusinessinformationV1::Money::Representation
      
          property :structured_service_item, as: 'structuredServiceItem', class: Google::Apis::MybusinessbusinessinformationV1::StructuredServiceItem, decorator: Google::Apis::MybusinessbusinessinformationV1::StructuredServiceItem::Representation
      
        end
      end
      
      class ServiceType
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :display_name, as: 'displayName'
          property :service_type_id, as: 'serviceTypeId'
        end
      end
      
      class SpecialHourPeriod
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :close_time, as: 'closeTime', class: Google::Apis::MybusinessbusinessinformationV1::TimeOfDay, decorator: Google::Apis::MybusinessbusinessinformationV1::TimeOfDay::Representation
      
          property :closed, as: 'closed'
          property :end_date, as: 'endDate', class: Google::Apis::MybusinessbusinessinformationV1::Date, decorator: Google::Apis::MybusinessbusinessinformationV1::Date::Representation
      
          property :open_time, as: 'openTime', class: Google::Apis::MybusinessbusinessinformationV1::TimeOfDay, decorator: Google::Apis::MybusinessbusinessinformationV1::TimeOfDay::Representation
      
          property :start_date, as: 'startDate', class: Google::Apis::MybusinessbusinessinformationV1::Date, decorator: Google::Apis::MybusinessbusinessinformationV1::Date::Representation
      
        end
      end
      
      class SpecialHours
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :special_hour_periods, as: 'specialHourPeriods', class: Google::Apis::MybusinessbusinessinformationV1::SpecialHourPeriod, decorator: Google::Apis::MybusinessbusinessinformationV1::SpecialHourPeriod::Representation
      
        end
      end
      
      class StructuredServiceItem
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :description, as: 'description'
          property :service_type_id, as: 'serviceTypeId'
        end
      end
      
      class TimeOfDay
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :hours, as: 'hours'
          property :minutes, as: 'minutes'
          property :nanos, as: 'nanos'
          property :seconds, as: 'seconds'
        end
      end
      
      class TimePeriod
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :close_day, as: 'closeDay'
          property :close_time, as: 'closeTime', class: Google::Apis::MybusinessbusinessinformationV1::TimeOfDay, decorator: Google::Apis::MybusinessbusinessinformationV1::TimeOfDay::Representation
      
          property :open_day, as: 'openDay'
          property :open_time, as: 'openTime', class: Google::Apis::MybusinessbusinessinformationV1::TimeOfDay, decorator: Google::Apis::MybusinessbusinessinformationV1::TimeOfDay::Representation
      
        end
      end
      
      class UriAttributeValue
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :uri, as: 'uri'
        end
      end
    end
  end
end
