"""mindbodypublicapi.

This file was automatically generated by APIMATIC v3.0 ( https://www.apimatic.io ).
"""

# ruff: noqa: E501
from mindbodypublicapi.api_helper import APIHelper
from mindbodypublicapi.models.amenity_1 import (
    Amenity1,
)


class Location1(object):
    """Implementation of the 'Location1' model.

    Attributes:
        business_id (int): The model property of type int.
        site_id (int): The model property of type int.
        business_description (str): The model property of type str.
        additional_image_ur_ls (List[str]): The model property of type List[str].
        facility_square_feet (int): The model property of type int.
        pro_spa_finder_site (bool): The model property of type bool.
        has_classes (bool): The model property of type bool.
        phone_extension (str): The model property of type str.
        action (ActionEnum): The model property of type ActionEnum.
        id (int): The model property of type int.
        name (str): The model property of type str.
        address (str): The model property of type str.
        address_2 (str): The model property of type str.
        tax_1 (float): The model property of type float.
        tax_2 (float): The model property of type float.
        tax_3 (float): The model property of type float.
        tax_4 (float): The model property of type float.
        tax_5 (float): The model property of type float.
        phone (str): The model property of type str.
        city (str): The model property of type str.
        state_prov_code (str): The model property of type str.
        postal_code (str): The model property of type str.
        latitude (float): The model property of type float.
        longitude (float): The model property of type float.
        distance_in_miles (float): The model property of type float.
        image_url (str): The model property of type str.
        description (str): The model property of type str.
        has_site (bool): The model property of type bool.
        can_book (bool): The model property of type bool.
        number_treatment_rooms (int): The model property of type int.
        active (bool): The model property of type bool.
        inv_active (bool): The model property of type bool.
        ws_show (bool): The model property of type bool.
        email (str): The model property of type str.
        contact_name (str): The model property of type str.
        ship_address (str): The model property of type str.
        ship_state (str): The model property of type str.
        ship_postal (str): The model property of type str.
        ship_phone (str): The model property of type str.
        ship_poc (str): The model property of type str.
        tax_grouping (bool): The model property of type bool.
        label_tax_1 (str): The model property of type str.
        label_tax_2 (str): The model property of type str.
        label_tax_3 (str): The model property of type str.
        label_tax_4 (str): The model property of type str.
        label_tax_5 (str): The model property of type str.
        wac (bool): The model property of type bool.
        ship_address_2 (str): The model property of type str.
        master_loc_id (int): The model property of type int.
        street_address (str): The model property of type str.
        country (str): The model property of type str.
        ext (str): The model property of type str.
        amenities (List[Amenity1]): The model property of type List[Amenity1].
        total_number_of_deals (int): The model property of type int.
        total_number_of_ratings (int): The model property of type int.
        average_rating (float): The model property of type float.

    """

    # Create a mapping from Model property names to API property names
    _names = {
        "business_id": "BusinessId",
        "site_id": "SiteId",
        "business_description": "BusinessDescription",
        "additional_image_ur_ls": "AdditionalImageURLs",
        "facility_square_feet": "FacilitySquareFeet",
        "pro_spa_finder_site": "ProSpaFinderSite",
        "has_classes": "HasClasses",
        "phone_extension": "PhoneExtension",
        "action": "Action",
        "id": "Id",
        "name": "Name",
        "address": "Address",
        "address_2": "Address2",
        "tax_1": "Tax1",
        "tax_2": "Tax2",
        "tax_3": "Tax3",
        "tax_4": "Tax4",
        "tax_5": "Tax5",
        "phone": "Phone",
        "city": "City",
        "state_prov_code": "StateProvCode",
        "postal_code": "PostalCode",
        "latitude": "Latitude",
        "longitude": "Longitude",
        "distance_in_miles": "DistanceInMiles",
        "image_url": "ImageURL",
        "description": "Description",
        "has_site": "HasSite",
        "can_book": "CanBook",
        "number_treatment_rooms": "NumberTreatmentRooms",
        "active": "Active",
        "inv_active": "InvActive",
        "ws_show": "WsShow",
        "email": "Email",
        "contact_name": "ContactName",
        "ship_address": "ShipAddress",
        "ship_state": "ShipState",
        "ship_postal": "ShipPostal",
        "ship_phone": "ShipPhone",
        "ship_poc": "ShipPOC",
        "tax_grouping": "TaxGrouping",
        "label_tax_1": "LabelTax1",
        "label_tax_2": "LabelTax2",
        "label_tax_3": "LabelTax3",
        "label_tax_4": "LabelTax4",
        "label_tax_5": "LabelTax5",
        "wac": "WAC",
        "ship_address_2": "ShipAddress2",
        "master_loc_id": "MasterLocId",
        "street_address": "StreetAddress",
        "country": "Country",
        "ext": "Ext",
        "amenities": "Amenities",
        "total_number_of_deals": "TotalNumberOfDeals",
        "total_number_of_ratings": "TotalNumberOfRatings",
        "average_rating": "AverageRating",
    }

    _optionals = [
        "business_id",
        "site_id",
        "business_description",
        "additional_image_ur_ls",
        "facility_square_feet",
        "pro_spa_finder_site",
        "has_classes",
        "phone_extension",
        "action",
        "id",
        "name",
        "address",
        "address_2",
        "tax_1",
        "tax_2",
        "tax_3",
        "tax_4",
        "tax_5",
        "phone",
        "city",
        "state_prov_code",
        "postal_code",
        "latitude",
        "longitude",
        "distance_in_miles",
        "image_url",
        "description",
        "has_site",
        "can_book",
        "number_treatment_rooms",
        "active",
        "inv_active",
        "ws_show",
        "email",
        "contact_name",
        "ship_address",
        "ship_state",
        "ship_postal",
        "ship_phone",
        "ship_poc",
        "tax_grouping",
        "label_tax_1",
        "label_tax_2",
        "label_tax_3",
        "label_tax_4",
        "label_tax_5",
        "wac",
        "ship_address_2",
        "master_loc_id",
        "street_address",
        "country",
        "ext",
        "amenities",
        "total_number_of_deals",
        "total_number_of_ratings",
        "average_rating",
    ]

    def __init__(
        self,
        business_id=APIHelper.SKIP,
        site_id=APIHelper.SKIP,
        business_description=APIHelper.SKIP,
        additional_image_ur_ls=APIHelper.SKIP,
        facility_square_feet=APIHelper.SKIP,
        pro_spa_finder_site=APIHelper.SKIP,
        has_classes=APIHelper.SKIP,
        phone_extension=APIHelper.SKIP,
        action=APIHelper.SKIP,
        id=APIHelper.SKIP,
        name=APIHelper.SKIP,
        address=APIHelper.SKIP,
        address_2=APIHelper.SKIP,
        tax_1=APIHelper.SKIP,
        tax_2=APIHelper.SKIP,
        tax_3=APIHelper.SKIP,
        tax_4=APIHelper.SKIP,
        tax_5=APIHelper.SKIP,
        phone=APIHelper.SKIP,
        city=APIHelper.SKIP,
        state_prov_code=APIHelper.SKIP,
        postal_code=APIHelper.SKIP,
        latitude=APIHelper.SKIP,
        longitude=APIHelper.SKIP,
        distance_in_miles=APIHelper.SKIP,
        image_url=APIHelper.SKIP,
        description=APIHelper.SKIP,
        has_site=APIHelper.SKIP,
        can_book=APIHelper.SKIP,
        number_treatment_rooms=APIHelper.SKIP,
        active=APIHelper.SKIP,
        inv_active=APIHelper.SKIP,
        ws_show=APIHelper.SKIP,
        email=APIHelper.SKIP,
        contact_name=APIHelper.SKIP,
        ship_address=APIHelper.SKIP,
        ship_state=APIHelper.SKIP,
        ship_postal=APIHelper.SKIP,
        ship_phone=APIHelper.SKIP,
        ship_poc=APIHelper.SKIP,
        tax_grouping=APIHelper.SKIP,
        label_tax_1=APIHelper.SKIP,
        label_tax_2=APIHelper.SKIP,
        label_tax_3=APIHelper.SKIP,
        label_tax_4=APIHelper.SKIP,
        label_tax_5=APIHelper.SKIP,
        wac=APIHelper.SKIP,
        ship_address_2=APIHelper.SKIP,
        master_loc_id=APIHelper.SKIP,
        street_address=APIHelper.SKIP,
        country=APIHelper.SKIP,
        ext=APIHelper.SKIP,
        amenities=APIHelper.SKIP,
        total_number_of_deals=APIHelper.SKIP,
        total_number_of_ratings=APIHelper.SKIP,
        average_rating=APIHelper.SKIP):
        """Initialize a Location1 instance."""
        # Initialize members of the class
        if business_id is not APIHelper.SKIP:
            self.business_id = business_id
        if site_id is not APIHelper.SKIP:
            self.site_id = site_id
        if business_description is not APIHelper.SKIP:
            self.business_description = business_description
        if additional_image_ur_ls is not APIHelper.SKIP:
            self.additional_image_ur_ls = additional_image_ur_ls
        if facility_square_feet is not APIHelper.SKIP:
            self.facility_square_feet = facility_square_feet
        if pro_spa_finder_site is not APIHelper.SKIP:
            self.pro_spa_finder_site = pro_spa_finder_site
        if has_classes is not APIHelper.SKIP:
            self.has_classes = has_classes
        if phone_extension is not APIHelper.SKIP:
            self.phone_extension = phone_extension
        if action is not APIHelper.SKIP:
            self.action = action
        if id is not APIHelper.SKIP:
            self.id = id
        if name is not APIHelper.SKIP:
            self.name = name
        if address is not APIHelper.SKIP:
            self.address = address
        if address_2 is not APIHelper.SKIP:
            self.address_2 = address_2
        if tax_1 is not APIHelper.SKIP:
            self.tax_1 = tax_1
        if tax_2 is not APIHelper.SKIP:
            self.tax_2 = tax_2
        if tax_3 is not APIHelper.SKIP:
            self.tax_3 = tax_3
        if tax_4 is not APIHelper.SKIP:
            self.tax_4 = tax_4
        if tax_5 is not APIHelper.SKIP:
            self.tax_5 = tax_5
        if phone is not APIHelper.SKIP:
            self.phone = phone
        if city is not APIHelper.SKIP:
            self.city = city
        if state_prov_code is not APIHelper.SKIP:
            self.state_prov_code = state_prov_code
        if postal_code is not APIHelper.SKIP:
            self.postal_code = postal_code
        if latitude is not APIHelper.SKIP:
            self.latitude = latitude
        if longitude is not APIHelper.SKIP:
            self.longitude = longitude
        if distance_in_miles is not APIHelper.SKIP:
            self.distance_in_miles = distance_in_miles
        if image_url is not APIHelper.SKIP:
            self.image_url = image_url
        if description is not APIHelper.SKIP:
            self.description = description
        if has_site is not APIHelper.SKIP:
            self.has_site = has_site
        if can_book is not APIHelper.SKIP:
            self.can_book = can_book
        if number_treatment_rooms is not APIHelper.SKIP:
            self.number_treatment_rooms = number_treatment_rooms
        if active is not APIHelper.SKIP:
            self.active = active
        if inv_active is not APIHelper.SKIP:
            self.inv_active = inv_active
        if ws_show is not APIHelper.SKIP:
            self.ws_show = ws_show
        if email is not APIHelper.SKIP:
            self.email = email
        if contact_name is not APIHelper.SKIP:
            self.contact_name = contact_name
        if ship_address is not APIHelper.SKIP:
            self.ship_address = ship_address
        if ship_state is not APIHelper.SKIP:
            self.ship_state = ship_state
        if ship_postal is not APIHelper.SKIP:
            self.ship_postal = ship_postal
        if ship_phone is not APIHelper.SKIP:
            self.ship_phone = ship_phone
        if ship_poc is not APIHelper.SKIP:
            self.ship_poc = ship_poc
        if tax_grouping is not APIHelper.SKIP:
            self.tax_grouping = tax_grouping
        if label_tax_1 is not APIHelper.SKIP:
            self.label_tax_1 = label_tax_1
        if label_tax_2 is not APIHelper.SKIP:
            self.label_tax_2 = label_tax_2
        if label_tax_3 is not APIHelper.SKIP:
            self.label_tax_3 = label_tax_3
        if label_tax_4 is not APIHelper.SKIP:
            self.label_tax_4 = label_tax_4
        if label_tax_5 is not APIHelper.SKIP:
            self.label_tax_5 = label_tax_5
        if wac is not APIHelper.SKIP:
            self.wac = wac
        if ship_address_2 is not APIHelper.SKIP:
            self.ship_address_2 = ship_address_2
        if master_loc_id is not APIHelper.SKIP:
            self.master_loc_id = master_loc_id
        if street_address is not APIHelper.SKIP:
            self.street_address = street_address
        if country is not APIHelper.SKIP:
            self.country = country
        if ext is not APIHelper.SKIP:
            self.ext = ext
        if amenities is not APIHelper.SKIP:
            self.amenities = amenities
        if total_number_of_deals is not APIHelper.SKIP:
            self.total_number_of_deals = total_number_of_deals
        if total_number_of_ratings is not APIHelper.SKIP:
            self.total_number_of_ratings = total_number_of_ratings
        if average_rating is not APIHelper.SKIP:
            self.average_rating = average_rating

    @classmethod
    def from_dictionary(cls,
                        dictionary):
        """Create an instance of this model from a dictionary

        Args:
            dictionary (dictionary): A dictionary representation of the object
            as obtained from the deserialization of the server's response. The
            keys MUST match property names in the API description.

        Returns:
            object: An instance of this structure class.

        """
        if not isinstance(dictionary, dict) or dictionary is None:
            return None

        # Extract variables from the dictionary
        business_id =\
            dictionary.get("BusinessId")\
            if dictionary.get("BusinessId")\
                else APIHelper.SKIP
        site_id =\
            dictionary.get("SiteId")\
            if dictionary.get("SiteId")\
                else APIHelper.SKIP
        business_description =\
            dictionary.get("BusinessDescription")\
            if dictionary.get("BusinessDescription")\
                else APIHelper.SKIP
        additional_image_ur_ls =\
            dictionary.get("AdditionalImageURLs")\
            if dictionary.get("AdditionalImageURLs")\
                else APIHelper.SKIP
        facility_square_feet =\
            dictionary.get("FacilitySquareFeet")\
            if dictionary.get("FacilitySquareFeet")\
                else APIHelper.SKIP
        pro_spa_finder_site =\
            dictionary.get("ProSpaFinderSite")\
            if "ProSpaFinderSite" in dictionary.keys()\
                else APIHelper.SKIP
        has_classes =\
            dictionary.get("HasClasses")\
            if "HasClasses" in dictionary.keys()\
                else APIHelper.SKIP
        phone_extension =\
            dictionary.get("PhoneExtension")\
            if dictionary.get("PhoneExtension")\
                else APIHelper.SKIP
        action =\
            dictionary.get("Action")\
            if dictionary.get("Action")\
                else APIHelper.SKIP
        id =\
            dictionary.get("Id")\
            if dictionary.get("Id")\
                else APIHelper.SKIP
        name =\
            dictionary.get("Name")\
            if dictionary.get("Name")\
                else APIHelper.SKIP
        address =\
            dictionary.get("Address")\
            if dictionary.get("Address")\
                else APIHelper.SKIP
        address_2 =\
            dictionary.get("Address2")\
            if dictionary.get("Address2")\
                else APIHelper.SKIP
        tax_1 =\
            dictionary.get("Tax1")\
            if dictionary.get("Tax1")\
                else APIHelper.SKIP
        tax_2 =\
            dictionary.get("Tax2")\
            if dictionary.get("Tax2")\
                else APIHelper.SKIP
        tax_3 =\
            dictionary.get("Tax3")\
            if dictionary.get("Tax3")\
                else APIHelper.SKIP
        tax_4 =\
            dictionary.get("Tax4")\
            if dictionary.get("Tax4")\
                else APIHelper.SKIP
        tax_5 =\
            dictionary.get("Tax5")\
            if dictionary.get("Tax5")\
                else APIHelper.SKIP
        phone =\
            dictionary.get("Phone")\
            if dictionary.get("Phone")\
                else APIHelper.SKIP
        city =\
            dictionary.get("City")\
            if dictionary.get("City")\
                else APIHelper.SKIP
        state_prov_code =\
            dictionary.get("StateProvCode")\
            if dictionary.get("StateProvCode")\
                else APIHelper.SKIP
        postal_code =\
            dictionary.get("PostalCode")\
            if dictionary.get("PostalCode")\
                else APIHelper.SKIP
        latitude =\
            dictionary.get("Latitude")\
            if dictionary.get("Latitude")\
                else APIHelper.SKIP
        longitude =\
            dictionary.get("Longitude")\
            if dictionary.get("Longitude")\
                else APIHelper.SKIP
        distance_in_miles =\
            dictionary.get("DistanceInMiles")\
            if dictionary.get("DistanceInMiles")\
                else APIHelper.SKIP
        image_url =\
            dictionary.get("ImageURL")\
            if dictionary.get("ImageURL")\
                else APIHelper.SKIP
        description =\
            dictionary.get("Description")\
            if dictionary.get("Description")\
                else APIHelper.SKIP
        has_site =\
            dictionary.get("HasSite")\
            if "HasSite" in dictionary.keys()\
                else APIHelper.SKIP
        can_book =\
            dictionary.get("CanBook")\
            if "CanBook" in dictionary.keys()\
                else APIHelper.SKIP
        number_treatment_rooms =\
            dictionary.get("NumberTreatmentRooms")\
            if dictionary.get("NumberTreatmentRooms")\
                else APIHelper.SKIP
        active =\
            dictionary.get("Active")\
            if "Active" in dictionary.keys()\
                else APIHelper.SKIP
        inv_active =\
            dictionary.get("InvActive")\
            if "InvActive" in dictionary.keys()\
                else APIHelper.SKIP
        ws_show =\
            dictionary.get("WsShow")\
            if "WsShow" in dictionary.keys()\
                else APIHelper.SKIP
        email =\
            dictionary.get("Email")\
            if dictionary.get("Email")\
                else APIHelper.SKIP
        contact_name =\
            dictionary.get("ContactName")\
            if dictionary.get("ContactName")\
                else APIHelper.SKIP
        ship_address =\
            dictionary.get("ShipAddress")\
            if dictionary.get("ShipAddress")\
                else APIHelper.SKIP
        ship_state =\
            dictionary.get("ShipState")\
            if dictionary.get("ShipState")\
                else APIHelper.SKIP
        ship_postal =\
            dictionary.get("ShipPostal")\
            if dictionary.get("ShipPostal")\
                else APIHelper.SKIP
        ship_phone =\
            dictionary.get("ShipPhone")\
            if dictionary.get("ShipPhone")\
                else APIHelper.SKIP
        ship_poc =\
            dictionary.get("ShipPOC")\
            if dictionary.get("ShipPOC")\
                else APIHelper.SKIP
        tax_grouping =\
            dictionary.get("TaxGrouping")\
            if "TaxGrouping" in dictionary.keys()\
                else APIHelper.SKIP
        label_tax_1 =\
            dictionary.get("LabelTax1")\
            if dictionary.get("LabelTax1")\
                else APIHelper.SKIP
        label_tax_2 =\
            dictionary.get("LabelTax2")\
            if dictionary.get("LabelTax2")\
                else APIHelper.SKIP
        label_tax_3 =\
            dictionary.get("LabelTax3")\
            if dictionary.get("LabelTax3")\
                else APIHelper.SKIP
        label_tax_4 =\
            dictionary.get("LabelTax4")\
            if dictionary.get("LabelTax4")\
                else APIHelper.SKIP
        label_tax_5 =\
            dictionary.get("LabelTax5")\
            if dictionary.get("LabelTax5")\
                else APIHelper.SKIP
        wac =\
            dictionary.get("WAC")\
            if "WAC" in dictionary.keys()\
                else APIHelper.SKIP
        ship_address_2 =\
            dictionary.get("ShipAddress2")\
            if dictionary.get("ShipAddress2")\
                else APIHelper.SKIP
        master_loc_id =\
            dictionary.get("MasterLocId")\
            if dictionary.get("MasterLocId")\
                else APIHelper.SKIP
        street_address =\
            dictionary.get("StreetAddress")\
            if dictionary.get("StreetAddress")\
                else APIHelper.SKIP
        country =\
            dictionary.get("Country")\
            if dictionary.get("Country")\
                else APIHelper.SKIP
        ext =\
            dictionary.get("Ext")\
            if dictionary.get("Ext")\
                else APIHelper.SKIP
        amenities = None
        if dictionary.get("Amenities") is not None:
            amenities = [
                Amenity1.from_dictionary(x)
                    for x in dictionary.get("Amenities")
            ]
        else:
            amenities = APIHelper.SKIP
        total_number_of_deals =\
            dictionary.get("TotalNumberOfDeals")\
            if dictionary.get("TotalNumberOfDeals")\
                else APIHelper.SKIP
        total_number_of_ratings =\
            dictionary.get("TotalNumberOfRatings")\
            if dictionary.get("TotalNumberOfRatings")\
                else APIHelper.SKIP
        average_rating =\
            dictionary.get("AverageRating")\
            if dictionary.get("AverageRating")\
                else APIHelper.SKIP

        # Return an object of this model
        return cls(business_id,
                   site_id,
                   business_description,
                   additional_image_ur_ls,
                   facility_square_feet,
                   pro_spa_finder_site,
                   has_classes,
                   phone_extension,
                   action,
                   id,
                   name,
                   address,
                   address_2,
                   tax_1,
                   tax_2,
                   tax_3,
                   tax_4,
                   tax_5,
                   phone,
                   city,
                   state_prov_code,
                   postal_code,
                   latitude,
                   longitude,
                   distance_in_miles,
                   image_url,
                   description,
                   has_site,
                   can_book,
                   number_treatment_rooms,
                   active,
                   inv_active,
                   ws_show,
                   email,
                   contact_name,
                   ship_address,
                   ship_state,
                   ship_postal,
                   ship_phone,
                   ship_poc,
                   tax_grouping,
                   label_tax_1,
                   label_tax_2,
                   label_tax_3,
                   label_tax_4,
                   label_tax_5,
                   wac,
                   ship_address_2,
                   master_loc_id,
                   street_address,
                   country,
                   ext,
                   amenities,
                   total_number_of_deals,
                   total_number_of_ratings,
                   average_rating)

    def __repr__(self):
        """Return a unambiguous string representation."""
        _business_id=(
            self.business_id
            if hasattr(self, "business_id")
            else None
        )
        _site_id=(
            self.site_id
            if hasattr(self, "site_id")
            else None
        )
        _business_description=(
            self.business_description
            if hasattr(self, "business_description")
            else None
        )
        _additional_image_ur_ls=(
            self.additional_image_ur_ls
            if hasattr(self, "additional_image_ur_ls")
            else None
        )
        _facility_square_feet=(
            self.facility_square_feet
            if hasattr(self, "facility_square_feet")
            else None
        )
        _pro_spa_finder_site=(
            self.pro_spa_finder_site
            if hasattr(self, "pro_spa_finder_site")
            else None
        )
        _has_classes=(
            self.has_classes
            if hasattr(self, "has_classes")
            else None
        )
        _phone_extension=(
            self.phone_extension
            if hasattr(self, "phone_extension")
            else None
        )
        _action=(
            self.action
            if hasattr(self, "action")
            else None
        )
        _id=(
            self.id
            if hasattr(self, "id")
            else None
        )
        _name=(
            self.name
            if hasattr(self, "name")
            else None
        )
        _address=(
            self.address
            if hasattr(self, "address")
            else None
        )
        _address_2=(
            self.address_2
            if hasattr(self, "address_2")
            else None
        )
        _tax_1=(
            self.tax_1
            if hasattr(self, "tax_1")
            else None
        )
        _tax_2=(
            self.tax_2
            if hasattr(self, "tax_2")
            else None
        )
        _tax_3=(
            self.tax_3
            if hasattr(self, "tax_3")
            else None
        )
        _tax_4=(
            self.tax_4
            if hasattr(self, "tax_4")
            else None
        )
        _tax_5=(
            self.tax_5
            if hasattr(self, "tax_5")
            else None
        )
        _phone=(
            self.phone
            if hasattr(self, "phone")
            else None
        )
        _city=(
            self.city
            if hasattr(self, "city")
            else None
        )
        _state_prov_code=(
            self.state_prov_code
            if hasattr(self, "state_prov_code")
            else None
        )
        _postal_code=(
            self.postal_code
            if hasattr(self, "postal_code")
            else None
        )
        _latitude=(
            self.latitude
            if hasattr(self, "latitude")
            else None
        )
        _longitude=(
            self.longitude
            if hasattr(self, "longitude")
            else None
        )
        _distance_in_miles=(
            self.distance_in_miles
            if hasattr(self, "distance_in_miles")
            else None
        )
        _image_url=(
            self.image_url
            if hasattr(self, "image_url")
            else None
        )
        _description=(
            self.description
            if hasattr(self, "description")
            else None
        )
        _has_site=(
            self.has_site
            if hasattr(self, "has_site")
            else None
        )
        _can_book=(
            self.can_book
            if hasattr(self, "can_book")
            else None
        )
        _number_treatment_rooms=(
            self.number_treatment_rooms
            if hasattr(self, "number_treatment_rooms")
            else None
        )
        _active=(
            self.active
            if hasattr(self, "active")
            else None
        )
        _inv_active=(
            self.inv_active
            if hasattr(self, "inv_active")
            else None
        )
        _ws_show=(
            self.ws_show
            if hasattr(self, "ws_show")
            else None
        )
        _email=(
            self.email
            if hasattr(self, "email")
            else None
        )
        _contact_name=(
            self.contact_name
            if hasattr(self, "contact_name")
            else None
        )
        _ship_address=(
            self.ship_address
            if hasattr(self, "ship_address")
            else None
        )
        _ship_state=(
            self.ship_state
            if hasattr(self, "ship_state")
            else None
        )
        _ship_postal=(
            self.ship_postal
            if hasattr(self, "ship_postal")
            else None
        )
        _ship_phone=(
            self.ship_phone
            if hasattr(self, "ship_phone")
            else None
        )
        _ship_poc=(
            self.ship_poc
            if hasattr(self, "ship_poc")
            else None
        )
        _tax_grouping=(
            self.tax_grouping
            if hasattr(self, "tax_grouping")
            else None
        )
        _label_tax_1=(
            self.label_tax_1
            if hasattr(self, "label_tax_1")
            else None
        )
        _label_tax_2=(
            self.label_tax_2
            if hasattr(self, "label_tax_2")
            else None
        )
        _label_tax_3=(
            self.label_tax_3
            if hasattr(self, "label_tax_3")
            else None
        )
        _label_tax_4=(
            self.label_tax_4
            if hasattr(self, "label_tax_4")
            else None
        )
        _label_tax_5=(
            self.label_tax_5
            if hasattr(self, "label_tax_5")
            else None
        )
        _wac=(
            self.wac
            if hasattr(self, "wac")
            else None
        )
        _ship_address_2=(
            self.ship_address_2
            if hasattr(self, "ship_address_2")
            else None
        )
        _master_loc_id=(
            self.master_loc_id
            if hasattr(self, "master_loc_id")
            else None
        )
        _street_address=(
            self.street_address
            if hasattr(self, "street_address")
            else None
        )
        _country=(
            self.country
            if hasattr(self, "country")
            else None
        )
        _ext=(
            self.ext
            if hasattr(self, "ext")
            else None
        )
        _amenities=(
            self.amenities
            if hasattr(self, "amenities")
            else None
        )
        _total_number_of_deals=(
            self.total_number_of_deals
            if hasattr(self, "total_number_of_deals")
            else None
        )
        _total_number_of_ratings=(
            self.total_number_of_ratings
            if hasattr(self, "total_number_of_ratings")
            else None
        )
        _average_rating=(
            self.average_rating
            if hasattr(self, "average_rating")
            else None
        )
        return (
            f"{self.__class__.__name__}("
            f"business_id={_business_id!r}, "
            f"site_id={_site_id!r}, "
            f"business_description={_business_description!r}, "
            f"additional_image_ur_ls={_additional_image_ur_ls!r}, "
            f"facility_square_feet={_facility_square_feet!r}, "
            f"pro_spa_finder_site={_pro_spa_finder_site!r}, "
            f"has_classes={_has_classes!r}, "
            f"phone_extension={_phone_extension!r}, "
            f"action={_action!r}, "
            f"id={_id!r}, "
            f"name={_name!r}, "
            f"address={_address!r}, "
            f"address_2={_address_2!r}, "
            f"tax_1={_tax_1!r}, "
            f"tax_2={_tax_2!r}, "
            f"tax_3={_tax_3!r}, "
            f"tax_4={_tax_4!r}, "
            f"tax_5={_tax_5!r}, "
            f"phone={_phone!r}, "
            f"city={_city!r}, "
            f"state_prov_code={_state_prov_code!r}, "
            f"postal_code={_postal_code!r}, "
            f"latitude={_latitude!r}, "
            f"longitude={_longitude!r}, "
            f"distance_in_miles={_distance_in_miles!r}, "
            f"image_url={_image_url!r}, "
            f"description={_description!r}, "
            f"has_site={_has_site!r}, "
            f"can_book={_can_book!r}, "
            f"number_treatment_rooms={_number_treatment_rooms!r}, "
            f"active={_active!r}, "
            f"inv_active={_inv_active!r}, "
            f"ws_show={_ws_show!r}, "
            f"email={_email!r}, "
            f"contact_name={_contact_name!r}, "
            f"ship_address={_ship_address!r}, "
            f"ship_state={_ship_state!r}, "
            f"ship_postal={_ship_postal!r}, "
            f"ship_phone={_ship_phone!r}, "
            f"ship_poc={_ship_poc!r}, "
            f"tax_grouping={_tax_grouping!r}, "
            f"label_tax_1={_label_tax_1!r}, "
            f"label_tax_2={_label_tax_2!r}, "
            f"label_tax_3={_label_tax_3!r}, "
            f"label_tax_4={_label_tax_4!r}, "
            f"label_tax_5={_label_tax_5!r}, "
            f"wac={_wac!r}, "
            f"ship_address_2={_ship_address_2!r}, "
            f"master_loc_id={_master_loc_id!r}, "
            f"street_address={_street_address!r}, "
            f"country={_country!r}, "
            f"ext={_ext!r}, "
            f"amenities={_amenities!r}, "
            f"total_number_of_deals={_total_number_of_deals!r}, "
            f"total_number_of_ratings={_total_number_of_ratings!r}, "
            f"average_rating={_average_rating!r}, "
            f")"
        )

    def __str__(self):
        """Return a human-readable string representation."""
        _business_id=(
            self.business_id
            if hasattr(self, "business_id")
            else None
        )
        _site_id=(
            self.site_id
            if hasattr(self, "site_id")
            else None
        )
        _business_description=(
            self.business_description
            if hasattr(self, "business_description")
            else None
        )
        _additional_image_ur_ls=(
            self.additional_image_ur_ls
            if hasattr(self, "additional_image_ur_ls")
            else None
        )
        _facility_square_feet=(
            self.facility_square_feet
            if hasattr(self, "facility_square_feet")
            else None
        )
        _pro_spa_finder_site=(
            self.pro_spa_finder_site
            if hasattr(self, "pro_spa_finder_site")
            else None
        )
        _has_classes=(
            self.has_classes
            if hasattr(self, "has_classes")
            else None
        )
        _phone_extension=(
            self.phone_extension
            if hasattr(self, "phone_extension")
            else None
        )
        _action=(
            self.action
            if hasattr(self, "action")
            else None
        )
        _id=(
            self.id
            if hasattr(self, "id")
            else None
        )
        _name=(
            self.name
            if hasattr(self, "name")
            else None
        )
        _address=(
            self.address
            if hasattr(self, "address")
            else None
        )
        _address_2=(
            self.address_2
            if hasattr(self, "address_2")
            else None
        )
        _tax_1=(
            self.tax_1
            if hasattr(self, "tax_1")
            else None
        )
        _tax_2=(
            self.tax_2
            if hasattr(self, "tax_2")
            else None
        )
        _tax_3=(
            self.tax_3
            if hasattr(self, "tax_3")
            else None
        )
        _tax_4=(
            self.tax_4
            if hasattr(self, "tax_4")
            else None
        )
        _tax_5=(
            self.tax_5
            if hasattr(self, "tax_5")
            else None
        )
        _phone=(
            self.phone
            if hasattr(self, "phone")
            else None
        )
        _city=(
            self.city
            if hasattr(self, "city")
            else None
        )
        _state_prov_code=(
            self.state_prov_code
            if hasattr(self, "state_prov_code")
            else None
        )
        _postal_code=(
            self.postal_code
            if hasattr(self, "postal_code")
            else None
        )
        _latitude=(
            self.latitude
            if hasattr(self, "latitude")
            else None
        )
        _longitude=(
            self.longitude
            if hasattr(self, "longitude")
            else None
        )
        _distance_in_miles=(
            self.distance_in_miles
            if hasattr(self, "distance_in_miles")
            else None
        )
        _image_url=(
            self.image_url
            if hasattr(self, "image_url")
            else None
        )
        _description=(
            self.description
            if hasattr(self, "description")
            else None
        )
        _has_site=(
            self.has_site
            if hasattr(self, "has_site")
            else None
        )
        _can_book=(
            self.can_book
            if hasattr(self, "can_book")
            else None
        )
        _number_treatment_rooms=(
            self.number_treatment_rooms
            if hasattr(self, "number_treatment_rooms")
            else None
        )
        _active=(
            self.active
            if hasattr(self, "active")
            else None
        )
        _inv_active=(
            self.inv_active
            if hasattr(self, "inv_active")
            else None
        )
        _ws_show=(
            self.ws_show
            if hasattr(self, "ws_show")
            else None
        )
        _email=(
            self.email
            if hasattr(self, "email")
            else None
        )
        _contact_name=(
            self.contact_name
            if hasattr(self, "contact_name")
            else None
        )
        _ship_address=(
            self.ship_address
            if hasattr(self, "ship_address")
            else None
        )
        _ship_state=(
            self.ship_state
            if hasattr(self, "ship_state")
            else None
        )
        _ship_postal=(
            self.ship_postal
            if hasattr(self, "ship_postal")
            else None
        )
        _ship_phone=(
            self.ship_phone
            if hasattr(self, "ship_phone")
            else None
        )
        _ship_poc=(
            self.ship_poc
            if hasattr(self, "ship_poc")
            else None
        )
        _tax_grouping=(
            self.tax_grouping
            if hasattr(self, "tax_grouping")
            else None
        )
        _label_tax_1=(
            self.label_tax_1
            if hasattr(self, "label_tax_1")
            else None
        )
        _label_tax_2=(
            self.label_tax_2
            if hasattr(self, "label_tax_2")
            else None
        )
        _label_tax_3=(
            self.label_tax_3
            if hasattr(self, "label_tax_3")
            else None
        )
        _label_tax_4=(
            self.label_tax_4
            if hasattr(self, "label_tax_4")
            else None
        )
        _label_tax_5=(
            self.label_tax_5
            if hasattr(self, "label_tax_5")
            else None
        )
        _wac=(
            self.wac
            if hasattr(self, "wac")
            else None
        )
        _ship_address_2=(
            self.ship_address_2
            if hasattr(self, "ship_address_2")
            else None
        )
        _master_loc_id=(
            self.master_loc_id
            if hasattr(self, "master_loc_id")
            else None
        )
        _street_address=(
            self.street_address
            if hasattr(self, "street_address")
            else None
        )
        _country=(
            self.country
            if hasattr(self, "country")
            else None
        )
        _ext=(
            self.ext
            if hasattr(self, "ext")
            else None
        )
        _amenities=(
            self.amenities
            if hasattr(self, "amenities")
            else None
        )
        _total_number_of_deals=(
            self.total_number_of_deals
            if hasattr(self, "total_number_of_deals")
            else None
        )
        _total_number_of_ratings=(
            self.total_number_of_ratings
            if hasattr(self, "total_number_of_ratings")
            else None
        )
        _average_rating=(
            self.average_rating
            if hasattr(self, "average_rating")
            else None
        )
        return (
            f"{self.__class__.__name__}("
            f"business_id={_business_id!s}, "
            f"site_id={_site_id!s}, "
            f"business_description={_business_description!s}, "
            f"additional_image_ur_ls={_additional_image_ur_ls!s}, "
            f"facility_square_feet={_facility_square_feet!s}, "
            f"pro_spa_finder_site={_pro_spa_finder_site!s}, "
            f"has_classes={_has_classes!s}, "
            f"phone_extension={_phone_extension!s}, "
            f"action={_action!s}, "
            f"id={_id!s}, "
            f"name={_name!s}, "
            f"address={_address!s}, "
            f"address_2={_address_2!s}, "
            f"tax_1={_tax_1!s}, "
            f"tax_2={_tax_2!s}, "
            f"tax_3={_tax_3!s}, "
            f"tax_4={_tax_4!s}, "
            f"tax_5={_tax_5!s}, "
            f"phone={_phone!s}, "
            f"city={_city!s}, "
            f"state_prov_code={_state_prov_code!s}, "
            f"postal_code={_postal_code!s}, "
            f"latitude={_latitude!s}, "
            f"longitude={_longitude!s}, "
            f"distance_in_miles={_distance_in_miles!s}, "
            f"image_url={_image_url!s}, "
            f"description={_description!s}, "
            f"has_site={_has_site!s}, "
            f"can_book={_can_book!s}, "
            f"number_treatment_rooms={_number_treatment_rooms!s}, "
            f"active={_active!s}, "
            f"inv_active={_inv_active!s}, "
            f"ws_show={_ws_show!s}, "
            f"email={_email!s}, "
            f"contact_name={_contact_name!s}, "
            f"ship_address={_ship_address!s}, "
            f"ship_state={_ship_state!s}, "
            f"ship_postal={_ship_postal!s}, "
            f"ship_phone={_ship_phone!s}, "
            f"ship_poc={_ship_poc!s}, "
            f"tax_grouping={_tax_grouping!s}, "
            f"label_tax_1={_label_tax_1!s}, "
            f"label_tax_2={_label_tax_2!s}, "
            f"label_tax_3={_label_tax_3!s}, "
            f"label_tax_4={_label_tax_4!s}, "
            f"label_tax_5={_label_tax_5!s}, "
            f"wac={_wac!s}, "
            f"ship_address_2={_ship_address_2!s}, "
            f"master_loc_id={_master_loc_id!s}, "
            f"street_address={_street_address!s}, "
            f"country={_country!s}, "
            f"ext={_ext!s}, "
            f"amenities={_amenities!s}, "
            f"total_number_of_deals={_total_number_of_deals!s}, "
            f"total_number_of_ratings={_total_number_of_ratings!s}, "
            f"average_rating={_average_rating!s}, "
            f")"
        )
