# coding: utf-8

"""
    Store API

    <p>This API provides stores-related resources for third-party developers. These resources let you retrieve basic store information such as store name, description, store url, return store category hierarchy, add,rename,move,delete a single user's eBay store category, and retrieve the processing status of these tasks.</p> <p>The stores resource methods require an access token created with the <a href=\"/api-docs/static/oauth-authorization-code-grant.html\">authorization code grant</a> flow, using one or more scopes from the following list (please check your Application Keys page for a list of OAuth scopes available to your application)</p>  # noqa: E501

    OpenAPI spec version: 1
    
    Generated by: https://github.com/swagger-api/swagger-codegen.git
"""

import pprint
import re  # noqa: F401

import six

class DeleteStoreCategoryRequestType(object):
    """NOTE: This class is auto generated by the swagger code generator program.

    Do not edit the class manually.
    """
    """
    Attributes:
      swagger_types (dict): The key is attribute name
                            and the value is attribute type.
      attribute_map (dict): The key is attribute name
                            and the value is json key in definition.
    """
    swagger_types = {
        'listing_destination_category_id': 'str'
    }

    attribute_map = {
        'listing_destination_category_id': 'listingDestinationCategoryId'
    }

    def __init__(self, listing_destination_category_id=None):  # noqa: E501
        """DeleteStoreCategoryRequestType - a model defined in Swagger"""  # noqa: E501
        self._listing_destination_category_id = None
        self.discriminator = None
        if listing_destination_category_id is not None:
            self.listing_destination_category_id = listing_destination_category_id

    @property
    def listing_destination_category_id(self):
        """Gets the listing_destination_category_id of this DeleteStoreCategoryRequestType.  # noqa: E501

        This field is only needed if the category to be deleted or any of its children categories have one or more active listings. The operation will fail otherwise. All active listings in or under the category to be deleted will be moved to the store category specified in this field.<br>The <a href=\"/api-docs/sell/stores/resources/store/methods/getStoreCategories\"><b>getStoreCategories</b></a> method can be used to retrieve store category IDs.<br><br> <b>Default: OTHER</b> category ID <b>(1)</b> if it's null.  # noqa: E501

        :return: The listing_destination_category_id of this DeleteStoreCategoryRequestType.  # noqa: E501
        :rtype: str
        """
        return self._listing_destination_category_id

    @listing_destination_category_id.setter
    def listing_destination_category_id(self, listing_destination_category_id):
        """Sets the listing_destination_category_id of this DeleteStoreCategoryRequestType.

        This field is only needed if the category to be deleted or any of its children categories have one or more active listings. The operation will fail otherwise. All active listings in or under the category to be deleted will be moved to the store category specified in this field.<br>The <a href=\"/api-docs/sell/stores/resources/store/methods/getStoreCategories\"><b>getStoreCategories</b></a> method can be used to retrieve store category IDs.<br><br> <b>Default: OTHER</b> category ID <b>(1)</b> if it's null.  # noqa: E501

        :param listing_destination_category_id: The listing_destination_category_id of this DeleteStoreCategoryRequestType.  # noqa: E501
        :type: str
        """

        self._listing_destination_category_id = listing_destination_category_id

    def to_dict(self):
        """Returns the model properties as a dict"""
        result = {}

        for attr, _ in six.iteritems(self.swagger_types):
            value = getattr(self, attr)
            if isinstance(value, list):
                result[attr] = list(map(
                    lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
                    value
                ))
            elif hasattr(value, "to_dict"):
                result[attr] = value.to_dict()
            elif isinstance(value, dict):
                result[attr] = dict(map(
                    lambda item: (item[0], item[1].to_dict())
                    if hasattr(item[1], "to_dict") else item,
                    value.items()
                ))
            else:
                result[attr] = value
        if issubclass(DeleteStoreCategoryRequestType, dict):
            for key, value in self.items():
                result[key] = value

        return result

    def to_str(self):
        """Returns the string representation of the model"""
        return pprint.pformat(self.to_dict())

    def __repr__(self):
        """For `print` and `pprint`"""
        return self.to_str()

    def __eq__(self, other):
        """Returns true if both objects are equal"""
        if not isinstance(other, DeleteStoreCategoryRequestType):
            return False

        return self.__dict__ == other.__dict__

    def __ne__(self, other):
        """Returns true if both objects are not equal"""
        return not self == other
