# coding: utf-8

"""
    EDIS public shipping API

    <div class=\"msgbox_important\"><p class=\"msgbox_importantInDiv\" data-mc-autonum=\"&lt;b&gt;&lt;span style=&quot;color: #dd1e31;&quot; class=&quot;mcFormatColor&quot;&gt;Important! &lt;/span&gt;&lt;/b&gt;\"><span class=\"autonumber\"><span><b><span style=\"color: #dd1e31;\" class=\"mcFormatColor\">Important!</span></b></span></span> This method is only available for Greater-China based sellers with an active eDIS account.</p></div><br>This API allows 3rd party developers in the Greater-China area to process package shipping details.  # noqa: E501

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

import pprint
import re  # noqa: F401

import six

class ItemResponses(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 = {
        'buyer_id': 'str',
        'buyer_tax_id': 'str',
        'buyer_tax_type': 'str',
        'ebay_collect_and_remit_tax': 'bool',
        'ebay_collect_and_remit_taxes_value': 'str',
        'email': 'str',
        'item_title': 'str',
        'listing_id': 'str',
        'message': 'str',
        'order_id': 'str',
        'order_line_item': 'str',
        'payment_date': 'str',
        'pay_pal_email': 'str',
        'pay_pal_message': 'str',
        'posted_quantity': 'int',
        'site_id': 'int',
        'sku': 'SkuRequest',
        'sold_date': 'str',
        'sold_price': 'Amount',
        'sold_quantity': 'int',
        'transaction_id': 'str'
    }

    attribute_map = {
        'buyer_id': 'buyerId',
        'buyer_tax_id': 'buyerTaxId',
        'buyer_tax_type': 'buyerTaxType',
        'ebay_collect_and_remit_tax': 'ebayCollectAndRemitTax',
        'ebay_collect_and_remit_taxes_value': 'ebayCollectAndRemitTaxesValue',
        'email': 'email',
        'item_title': 'itemTitle',
        'listing_id': 'listingId',
        'message': 'message',
        'order_id': 'orderId',
        'order_line_item': 'orderLineItem',
        'payment_date': 'paymentDate',
        'pay_pal_email': 'payPalEmail',
        'pay_pal_message': 'payPalMessage',
        'posted_quantity': 'postedQuantity',
        'site_id': 'siteId',
        'sku': 'sku',
        'sold_date': 'soldDate',
        'sold_price': 'soldPrice',
        'sold_quantity': 'soldQuantity',
        'transaction_id': 'transactionId'
    }

    def __init__(self, buyer_id=None, buyer_tax_id=None, buyer_tax_type=None, ebay_collect_and_remit_tax=None, ebay_collect_and_remit_taxes_value=None, email=None, item_title=None, listing_id=None, message=None, order_id=None, order_line_item=None, payment_date=None, pay_pal_email=None, pay_pal_message=None, posted_quantity=None, site_id=None, sku=None, sold_date=None, sold_price=None, sold_quantity=None, transaction_id=None):  # noqa: E501
        """ItemResponses - a model defined in Swagger"""  # noqa: E501
        self._buyer_id = None
        self._buyer_tax_id = None
        self._buyer_tax_type = None
        self._ebay_collect_and_remit_tax = None
        self._ebay_collect_and_remit_taxes_value = None
        self._email = None
        self._item_title = None
        self._listing_id = None
        self._message = None
        self._order_id = None
        self._order_line_item = None
        self._payment_date = None
        self._pay_pal_email = None
        self._pay_pal_message = None
        self._posted_quantity = None
        self._site_id = None
        self._sku = None
        self._sold_date = None
        self._sold_price = None
        self._sold_quantity = None
        self._transaction_id = None
        self.discriminator = None
        if buyer_id is not None:
            self.buyer_id = buyer_id
        if buyer_tax_id is not None:
            self.buyer_tax_id = buyer_tax_id
        if buyer_tax_type is not None:
            self.buyer_tax_type = buyer_tax_type
        if ebay_collect_and_remit_tax is not None:
            self.ebay_collect_and_remit_tax = ebay_collect_and_remit_tax
        if ebay_collect_and_remit_taxes_value is not None:
            self.ebay_collect_and_remit_taxes_value = ebay_collect_and_remit_taxes_value
        if email is not None:
            self.email = email
        if item_title is not None:
            self.item_title = item_title
        if listing_id is not None:
            self.listing_id = listing_id
        if message is not None:
            self.message = message
        if order_id is not None:
            self.order_id = order_id
        if order_line_item is not None:
            self.order_line_item = order_line_item
        if payment_date is not None:
            self.payment_date = payment_date
        if pay_pal_email is not None:
            self.pay_pal_email = pay_pal_email
        if pay_pal_message is not None:
            self.pay_pal_message = pay_pal_message
        if posted_quantity is not None:
            self.posted_quantity = posted_quantity
        if site_id is not None:
            self.site_id = site_id
        if sku is not None:
            self.sku = sku
        if sold_date is not None:
            self.sold_date = sold_date
        if sold_price is not None:
            self.sold_price = sold_price
        if sold_quantity is not None:
            self.sold_quantity = sold_quantity
        if transaction_id is not None:
            self.transaction_id = transaction_id

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

        The buyer's eBay ID.  # noqa: E501

        :return: The buyer_id of this ItemResponses.  # noqa: E501
        :rtype: str
        """
        return self._buyer_id

    @buyer_id.setter
    def buyer_id(self, buyer_id):
        """Sets the buyer_id of this ItemResponses.

        The buyer's eBay ID.  # noqa: E501

        :param buyer_id: The buyer_id of this ItemResponses.  # noqa: E501
        :type: str
        """

        self._buyer_id = buyer_id

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

        The buyer's tax ID.  # noqa: E501

        :return: The buyer_tax_id of this ItemResponses.  # noqa: E501
        :rtype: str
        """
        return self._buyer_tax_id

    @buyer_tax_id.setter
    def buyer_tax_id(self, buyer_tax_id):
        """Sets the buyer_tax_id of this ItemResponses.

        The buyer's tax ID.  # noqa: E501

        :param buyer_tax_id: The buyer_tax_id of this ItemResponses.  # noqa: E501
        :type: str
        """

        self._buyer_tax_id = buyer_tax_id

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

        The buyer's tax type.  # noqa: E501

        :return: The buyer_tax_type of this ItemResponses.  # noqa: E501
        :rtype: str
        """
        return self._buyer_tax_type

    @buyer_tax_type.setter
    def buyer_tax_type(self, buyer_tax_type):
        """Sets the buyer_tax_type of this ItemResponses.

        The buyer's tax type.  # noqa: E501

        :param buyer_tax_type: The buyer_tax_type of this ItemResponses.  # noqa: E501
        :type: str
        """

        self._buyer_tax_type = buyer_tax_type

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

        If returned as <code>true</code>, this boolean indicates that eBay will collect tax for the corresponding line item, and remit the tax to the taxing authority of the buyer's residence.   # noqa: E501

        :return: The ebay_collect_and_remit_tax of this ItemResponses.  # noqa: E501
        :rtype: bool
        """
        return self._ebay_collect_and_remit_tax

    @ebay_collect_and_remit_tax.setter
    def ebay_collect_and_remit_tax(self, ebay_collect_and_remit_tax):
        """Sets the ebay_collect_and_remit_tax of this ItemResponses.

        If returned as <code>true</code>, this boolean indicates that eBay will collect tax for the corresponding line item, and remit the tax to the taxing authority of the buyer's residence.   # noqa: E501

        :param ebay_collect_and_remit_tax: The ebay_collect_and_remit_tax of this ItemResponses.  # noqa: E501
        :type: bool
        """

        self._ebay_collect_and_remit_tax = ebay_collect_and_remit_tax

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

        The value of the collect and remit tax for the corresponding line item. This field is only returned if collect and remit tax is applied to the line item.   # noqa: E501

        :return: The ebay_collect_and_remit_taxes_value of this ItemResponses.  # noqa: E501
        :rtype: str
        """
        return self._ebay_collect_and_remit_taxes_value

    @ebay_collect_and_remit_taxes_value.setter
    def ebay_collect_and_remit_taxes_value(self, ebay_collect_and_remit_taxes_value):
        """Sets the ebay_collect_and_remit_taxes_value of this ItemResponses.

        The value of the collect and remit tax for the corresponding line item. This field is only returned if collect and remit tax is applied to the line item.   # noqa: E501

        :param ebay_collect_and_remit_taxes_value: The ebay_collect_and_remit_taxes_value of this ItemResponses.  # noqa: E501
        :type: str
        """

        self._ebay_collect_and_remit_taxes_value = ebay_collect_and_remit_taxes_value

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

        The buyer's eBay email address.  # noqa: E501

        :return: The email of this ItemResponses.  # noqa: E501
        :rtype: str
        """
        return self._email

    @email.setter
    def email(self, email):
        """Sets the email of this ItemResponses.

        The buyer's eBay email address.  # noqa: E501

        :param email: The email of this ItemResponses.  # noqa: E501
        :type: str
        """

        self._email = email

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

        The seller created title of the item.  # noqa: E501

        :return: The item_title of this ItemResponses.  # noqa: E501
        :rtype: str
        """
        return self._item_title

    @item_title.setter
    def item_title(self, item_title):
        """Sets the item_title of this ItemResponses.

        The seller created title of the item.  # noqa: E501

        :param item_title: The item_title of this ItemResponses.  # noqa: E501
        :type: str
        """

        self._item_title = item_title

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

        The unique identifier of the eBay listing associated with the item.  # noqa: E501

        :return: The listing_id of this ItemResponses.  # noqa: E501
        :rtype: str
        """
        return self._listing_id

    @listing_id.setter
    def listing_id(self, listing_id):
        """Sets the listing_id of this ItemResponses.

        The unique identifier of the eBay listing associated with the item.  # noqa: E501

        :param listing_id: The listing_id of this ItemResponses.  # noqa: E501
        :type: str
        """

        self._listing_id = listing_id

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

        The buyer's eBay message.  # noqa: E501

        :return: The message of this ItemResponses.  # noqa: E501
        :rtype: str
        """
        return self._message

    @message.setter
    def message(self, message):
        """Sets the message of this ItemResponses.

        The buyer's eBay message.  # noqa: E501

        :param message: The message of this ItemResponses.  # noqa: E501
        :type: str
        """

        self._message = message

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

        The unique identifier of the eBay order that the line item belongs to.  # noqa: E501

        :return: The order_id of this ItemResponses.  # noqa: E501
        :rtype: str
        """
        return self._order_id

    @order_id.setter
    def order_id(self, order_id):
        """Sets the order_id of this ItemResponses.

        The unique identifier of the eBay order that the line item belongs to.  # noqa: E501

        :param order_id: The order_id of this ItemResponses.  # noqa: E501
        :type: str
        """

        self._order_id = order_id

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

        The unique identifier of an eBay order line item.  # noqa: E501

        :return: The order_line_item of this ItemResponses.  # noqa: E501
        :rtype: str
        """
        return self._order_line_item

    @order_line_item.setter
    def order_line_item(self, order_line_item):
        """Sets the order_line_item of this ItemResponses.

        The unique identifier of an eBay order line item.  # noqa: E501

        :param order_line_item: The order_line_item of this ItemResponses.  # noqa: E501
        :type: str
        """

        self._order_line_item = order_line_item

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

        The date and time that the payment was received by the seller. This timestamp is returned in ISO 8601 format, which uses the 24-hour Universal Coordinated Time (UTC) clock.  # noqa: E501

        :return: The payment_date of this ItemResponses.  # noqa: E501
        :rtype: str
        """
        return self._payment_date

    @payment_date.setter
    def payment_date(self, payment_date):
        """Sets the payment_date of this ItemResponses.

        The date and time that the payment was received by the seller. This timestamp is returned in ISO 8601 format, which uses the 24-hour Universal Coordinated Time (UTC) clock.  # noqa: E501

        :param payment_date: The payment_date of this ItemResponses.  # noqa: E501
        :type: str
        """

        self._payment_date = payment_date

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

        The buyer's PayPal email address.  # noqa: E501

        :return: The pay_pal_email of this ItemResponses.  # noqa: E501
        :rtype: str
        """
        return self._pay_pal_email

    @pay_pal_email.setter
    def pay_pal_email(self, pay_pal_email):
        """Sets the pay_pal_email of this ItemResponses.

        The buyer's PayPal email address.  # noqa: E501

        :param pay_pal_email: The pay_pal_email of this ItemResponses.  # noqa: E501
        :type: str
        """

        self._pay_pal_email = pay_pal_email

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

        The buyer's PayPal message  # noqa: E501

        :return: The pay_pal_message of this ItemResponses.  # noqa: E501
        :rtype: str
        """
        return self._pay_pal_message

    @pay_pal_message.setter
    def pay_pal_message(self, pay_pal_message):
        """Sets the pay_pal_message of this ItemResponses.

        The buyer's PayPal message  # noqa: E501

        :param pay_pal_message: The pay_pal_message of this ItemResponses.  # noqa: E501
        :type: str
        """

        self._pay_pal_message = pay_pal_message

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

        The quantity of the line item shipped with the package.  # noqa: E501

        :return: The posted_quantity of this ItemResponses.  # noqa: E501
        :rtype: int
        """
        return self._posted_quantity

    @posted_quantity.setter
    def posted_quantity(self, posted_quantity):
        """Sets the posted_quantity of this ItemResponses.

        The quantity of the line item shipped with the package.  # noqa: E501

        :param posted_quantity: The posted_quantity of this ItemResponses.  # noqa: E501
        :type: int
        """

        self._posted_quantity = posted_quantity

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

        The unique identifier of the eBay site in which the order occurred.  # noqa: E501

        :return: The site_id of this ItemResponses.  # noqa: E501
        :rtype: int
        """
        return self._site_id

    @site_id.setter
    def site_id(self, site_id):
        """Sets the site_id of this ItemResponses.

        The unique identifier of the eBay site in which the order occurred.  # noqa: E501

        :param site_id: The site_id of this ItemResponses.  # noqa: E501
        :type: int
        """

        self._site_id = site_id

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


        :return: The sku of this ItemResponses.  # noqa: E501
        :rtype: SkuRequest
        """
        return self._sku

    @sku.setter
    def sku(self, sku):
        """Sets the sku of this ItemResponses.


        :param sku: The sku of this ItemResponses.  # noqa: E501
        :type: SkuRequest
        """

        self._sku = sku

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

        The date the item was sold.  # noqa: E501

        :return: The sold_date of this ItemResponses.  # noqa: E501
        :rtype: str
        """
        return self._sold_date

    @sold_date.setter
    def sold_date(self, sold_date):
        """Sets the sold_date of this ItemResponses.

        The date the item was sold.  # noqa: E501

        :param sold_date: The sold_date of this ItemResponses.  # noqa: E501
        :type: str
        """

        self._sold_date = sold_date

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


        :return: The sold_price of this ItemResponses.  # noqa: E501
        :rtype: Amount
        """
        return self._sold_price

    @sold_price.setter
    def sold_price(self, sold_price):
        """Sets the sold_price of this ItemResponses.


        :param sold_price: The sold_price of this ItemResponses.  # noqa: E501
        :type: Amount
        """

        self._sold_price = sold_price

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

        The quantity of the line item that was sold.  # noqa: E501

        :return: The sold_quantity of this ItemResponses.  # noqa: E501
        :rtype: int
        """
        return self._sold_quantity

    @sold_quantity.setter
    def sold_quantity(self, sold_quantity):
        """Sets the sold_quantity of this ItemResponses.

        The quantity of the line item that was sold.  # noqa: E501

        :param sold_quantity: The sold_quantity of this ItemResponses.  # noqa: E501
        :type: int
        """

        self._sold_quantity = sold_quantity

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

        The unique identifier of the eBay transaction.  # noqa: E501

        :return: The transaction_id of this ItemResponses.  # noqa: E501
        :rtype: str
        """
        return self._transaction_id

    @transaction_id.setter
    def transaction_id(self, transaction_id):
        """Sets the transaction_id of this ItemResponses.

        The unique identifier of the eBay transaction.  # noqa: E501

        :param transaction_id: The transaction_id of this ItemResponses.  # noqa: E501
        :type: str
        """

        self._transaction_id = transaction_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(ItemResponses, 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, ItemResponses):
            return False

        return self.__dict__ == other.__dict__

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