# coding: utf-8

"""
    splitit-web-api-public-sdk

    No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)  # 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 PaymentWizardDataResponse(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 = {
        'requested_number_of_installments': 'str',
        'success_exit_url': 'str',
        'error_exit_url': 'str',
        'cancel_exit_url': 'str',
        'success_async_url': 'str',
        'view_name': 'str',
        'is_opened_in_iframe': 'bool',
        'is3d_secure_in_popup': 'bool',
        'payment_form_message': 'str',
        'set_short_url': 'bool',
        'show_address_elements': 'str',
        'currency_display': 'ExtendedCurrency',
        'force_display_important_notes': 'bool',
        'show_shopper_details_expended_on_start': 'bool',
        'show_payment_schedule_required_credit': 'bool',
        'is_shopper_email_mandatory': 'bool',
        'is_shopper_phone_mandatory': 'bool',
        'number_of_installments_selections_option': 'str',
        'is3ds2_supported': 'bool',
        'processor_name': 'str',
        'address_is_readonly': 'bool',
        'phone_is_read_only': 'bool',
        'email_is_read_only': 'bool',
        'show_learn_more': 'bool',
        'show_mobile_phone': 'bool',
        'show_close_dialog_before_abandon': 'bool',
        'logo_url': 'str',
        'default_num_of_installments': 'int',
        'privacy_policy_url': 'str',
        'terms_and_conditions_url': 'str',
        'learn_more_url': 'str',
        'potential_card_types': 'list[CardType]',
        'potential_card_brands': 'list[CardBrand]',
        'payment_form_messages': 'list[PaymentFormMessage]',
        'display_properties': 'dict(str, str)',
        'terms_and_conditions': 'TermsAndConditions',
        'payment_methods': 'list[PaymentMethods]',
        'status': 'InstallmentPlanStatus',
        'is_attempt3_dsecure': 'bool'
    }

    attribute_map = {
        'requested_number_of_installments': 'RequestedNumberOfInstallments',
        'success_exit_url': 'SuccessExitURL',
        'error_exit_url': 'ErrorExitURL',
        'cancel_exit_url': 'CancelExitURL',
        'success_async_url': 'SuccessAsyncUrl',
        'view_name': 'ViewName',
        'is_opened_in_iframe': 'IsOpenedInIframe',
        'is3d_secure_in_popup': 'Is3dSecureInPopup',
        'payment_form_message': 'PaymentFormMessage',
        'set_short_url': 'SetShortUrl',
        'show_address_elements': 'ShowAddressElements',
        'currency_display': 'CurrencyDisplay',
        'force_display_important_notes': 'ForceDisplayImportantNotes',
        'show_shopper_details_expended_on_start': 'ShowShopperDetailsExpendedOnStart',
        'show_payment_schedule_required_credit': 'ShowPaymentScheduleRequiredCredit',
        'is_shopper_email_mandatory': 'IsShopperEmailMandatory',
        'is_shopper_phone_mandatory': 'IsShopperPhoneMandatory',
        'number_of_installments_selections_option': 'NumberOfInstallmentsSelectionsOption',
        'is3ds2_supported': 'Is3ds2Supported',
        'processor_name': 'ProcessorName',
        'address_is_readonly': 'AddressIsReadonly',
        'phone_is_read_only': 'PhoneIsReadOnly',
        'email_is_read_only': 'EmailIsReadOnly',
        'show_learn_more': 'ShowLearnMore',
        'show_mobile_phone': 'ShowMobilePhone',
        'show_close_dialog_before_abandon': 'ShowCloseDialogBeforeAbandon',
        'logo_url': 'LogoURL',
        'default_num_of_installments': 'DefaultNumOfInstallments',
        'privacy_policy_url': 'PrivacyPolicyUrl',
        'terms_and_conditions_url': 'TermsAndConditionsUrl',
        'learn_more_url': 'LearnMoreUrl',
        'potential_card_types': 'PotentialCardTypes',
        'potential_card_brands': 'PotentialCardBrands',
        'payment_form_messages': 'PaymentFormMessages',
        'display_properties': 'DisplayProperties',
        'terms_and_conditions': 'TermsAndConditions',
        'payment_methods': 'PaymentMethods',
        'status': 'Status',
        'is_attempt3_dsecure': 'IsAttempt3Dsecure'
    }

    def __init__(self, requested_number_of_installments=None, success_exit_url=None, error_exit_url=None, cancel_exit_url=None, success_async_url=None, view_name=None, is_opened_in_iframe=None, is3d_secure_in_popup=None, payment_form_message=None, set_short_url=None, show_address_elements=None, currency_display=None, force_display_important_notes=None, show_shopper_details_expended_on_start=None, show_payment_schedule_required_credit=None, is_shopper_email_mandatory=None, is_shopper_phone_mandatory=None, number_of_installments_selections_option=None, is3ds2_supported=None, processor_name=None, address_is_readonly=None, phone_is_read_only=None, email_is_read_only=None, show_learn_more=None, show_mobile_phone=None, show_close_dialog_before_abandon=None, logo_url=None, default_num_of_installments=None, privacy_policy_url=None, terms_and_conditions_url=None, learn_more_url=None, potential_card_types=None, potential_card_brands=None, payment_form_messages=None, display_properties=None, terms_and_conditions=None, payment_methods=None, status=None, is_attempt3_dsecure=None):  # noqa: E501
        """PaymentWizardDataResponse - a model defined in Swagger"""  # noqa: E501

        self._requested_number_of_installments = None
        self._success_exit_url = None
        self._error_exit_url = None
        self._cancel_exit_url = None
        self._success_async_url = None
        self._view_name = None
        self._is_opened_in_iframe = None
        self._is3d_secure_in_popup = None
        self._payment_form_message = None
        self._set_short_url = None
        self._show_address_elements = None
        self._currency_display = None
        self._force_display_important_notes = None
        self._show_shopper_details_expended_on_start = None
        self._show_payment_schedule_required_credit = None
        self._is_shopper_email_mandatory = None
        self._is_shopper_phone_mandatory = None
        self._number_of_installments_selections_option = None
        self._is3ds2_supported = None
        self._processor_name = None
        self._address_is_readonly = None
        self._phone_is_read_only = None
        self._email_is_read_only = None
        self._show_learn_more = None
        self._show_mobile_phone = None
        self._show_close_dialog_before_abandon = None
        self._logo_url = None
        self._default_num_of_installments = None
        self._privacy_policy_url = None
        self._terms_and_conditions_url = None
        self._learn_more_url = None
        self._potential_card_types = None
        self._potential_card_brands = None
        self._payment_form_messages = None
        self._display_properties = None
        self._terms_and_conditions = None
        self._payment_methods = None
        self._status = None
        self._is_attempt3_dsecure = None
        self.discriminator = None

        if requested_number_of_installments is not None:
            self._requested_number_of_installments = requested_number_of_installments
        if success_exit_url is not None:
            self._success_exit_url = success_exit_url
        if error_exit_url is not None:
            self._error_exit_url = error_exit_url
        if cancel_exit_url is not None:
            self._cancel_exit_url = cancel_exit_url
        if success_async_url is not None:
            self._success_async_url = success_async_url
        if view_name is not None:
            self._view_name = view_name
        self._is_opened_in_iframe = is_opened_in_iframe
        if is3d_secure_in_popup is not None:
            self._is3d_secure_in_popup = is3d_secure_in_popup
        if payment_form_message is not None:
            self._payment_form_message = payment_form_message
        self._set_short_url = set_short_url
        if show_address_elements is not None:
            self._show_address_elements = show_address_elements
        if currency_display is not None:
            self._currency_display = currency_display
        self._force_display_important_notes = force_display_important_notes
        self._show_shopper_details_expended_on_start = show_shopper_details_expended_on_start
        self._show_payment_schedule_required_credit = show_payment_schedule_required_credit
        self._is_shopper_email_mandatory = is_shopper_email_mandatory
        self._is_shopper_phone_mandatory = is_shopper_phone_mandatory
        if number_of_installments_selections_option is not None:
            self._number_of_installments_selections_option = number_of_installments_selections_option
        self._is3ds2_supported = is3ds2_supported
        if processor_name is not None:
            self._processor_name = processor_name
        self._address_is_readonly = address_is_readonly
        self._phone_is_read_only = phone_is_read_only
        self._email_is_read_only = email_is_read_only
        self._show_learn_more = show_learn_more
        self._show_mobile_phone = show_mobile_phone
        self._show_close_dialog_before_abandon = show_close_dialog_before_abandon
        if logo_url is not None:
            self._logo_url = logo_url
        self._default_num_of_installments = default_num_of_installments
        if privacy_policy_url is not None:
            self._privacy_policy_url = privacy_policy_url
        if terms_and_conditions_url is not None:
            self._terms_and_conditions_url = terms_and_conditions_url
        if learn_more_url is not None:
            self._learn_more_url = learn_more_url
        if potential_card_types is not None:
            self._potential_card_types = potential_card_types
        if potential_card_brands is not None:
            self._potential_card_brands = potential_card_brands
        if payment_form_messages is not None:
            self._payment_form_messages = payment_form_messages
        if display_properties is not None:
            self._display_properties = display_properties
        if terms_and_conditions is not None:
            self._terms_and_conditions = terms_and_conditions
        if payment_methods is not None:
            self._payment_methods = payment_methods
        self._status = status
        self._is_attempt3_dsecure = is_attempt3_dsecure

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


        :return: The requested_number_of_installments of this PaymentWizardDataResponse.  # noqa: E501
        :rtype: str
        """
        return self._requested_number_of_installments

    @requested_number_of_installments.setter
    def requested_number_of_installments(self, requested_number_of_installments):
        """Sets the requested_number_of_installments of this PaymentWizardDataResponse.


        :param requested_number_of_installments: The requested_number_of_installments of this PaymentWizardDataResponse.  # noqa: E501
        :type: str
        """

        self._requested_number_of_installments = requested_number_of_installments

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


        :return: The success_exit_url of this PaymentWizardDataResponse.  # noqa: E501
        :rtype: str
        """
        return self._success_exit_url

    @success_exit_url.setter
    def success_exit_url(self, success_exit_url):
        """Sets the success_exit_url of this PaymentWizardDataResponse.


        :param success_exit_url: The success_exit_url of this PaymentWizardDataResponse.  # noqa: E501
        :type: str
        """

        self._success_exit_url = success_exit_url

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


        :return: The error_exit_url of this PaymentWizardDataResponse.  # noqa: E501
        :rtype: str
        """
        return self._error_exit_url

    @error_exit_url.setter
    def error_exit_url(self, error_exit_url):
        """Sets the error_exit_url of this PaymentWizardDataResponse.


        :param error_exit_url: The error_exit_url of this PaymentWizardDataResponse.  # noqa: E501
        :type: str
        """

        self._error_exit_url = error_exit_url

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


        :return: The cancel_exit_url of this PaymentWizardDataResponse.  # noqa: E501
        :rtype: str
        """
        return self._cancel_exit_url

    @cancel_exit_url.setter
    def cancel_exit_url(self, cancel_exit_url):
        """Sets the cancel_exit_url of this PaymentWizardDataResponse.


        :param cancel_exit_url: The cancel_exit_url of this PaymentWizardDataResponse.  # noqa: E501
        :type: str
        """

        self._cancel_exit_url = cancel_exit_url

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


        :return: The success_async_url of this PaymentWizardDataResponse.  # noqa: E501
        :rtype: str
        """
        return self._success_async_url

    @success_async_url.setter
    def success_async_url(self, success_async_url):
        """Sets the success_async_url of this PaymentWizardDataResponse.


        :param success_async_url: The success_async_url of this PaymentWizardDataResponse.  # noqa: E501
        :type: str
        """

        self._success_async_url = success_async_url

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


        :return: The view_name of this PaymentWizardDataResponse.  # noqa: E501
        :rtype: str
        """
        return self._view_name

    @view_name.setter
    def view_name(self, view_name):
        """Sets the view_name of this PaymentWizardDataResponse.


        :param view_name: The view_name of this PaymentWizardDataResponse.  # noqa: E501
        :type: str
        """

        self._view_name = view_name

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


        :return: The is_opened_in_iframe of this PaymentWizardDataResponse.  # noqa: E501
        :rtype: bool
        """
        return self._is_opened_in_iframe

    @is_opened_in_iframe.setter
    def is_opened_in_iframe(self, is_opened_in_iframe):
        """Sets the is_opened_in_iframe of this PaymentWizardDataResponse.


        :param is_opened_in_iframe: The is_opened_in_iframe of this PaymentWizardDataResponse.  # noqa: E501
        :type: bool
        """
        is_opened_in_iframe = bool(is_opened_in_iframe)
        if is_opened_in_iframe is None:
            raise ValueError("Invalid value for `is_opened_in_iframe`, must not be `None`")  # noqa: E501

        self._is_opened_in_iframe = is_opened_in_iframe

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


        :return: The is3d_secure_in_popup of this PaymentWizardDataResponse.  # noqa: E501
        :rtype: bool
        """
        return self._is3d_secure_in_popup

    @is3d_secure_in_popup.setter
    def is3d_secure_in_popup(self, is3d_secure_in_popup):
        """Sets the is3d_secure_in_popup of this PaymentWizardDataResponse.


        :param is3d_secure_in_popup: The is3d_secure_in_popup of this PaymentWizardDataResponse.  # noqa: E501
        :type: bool
        """

        self._is3d_secure_in_popup = is3d_secure_in_popup

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


        :return: The payment_form_message of this PaymentWizardDataResponse.  # noqa: E501
        :rtype: str
        """
        return self._payment_form_message

    @payment_form_message.setter
    def payment_form_message(self, payment_form_message):
        """Sets the payment_form_message of this PaymentWizardDataResponse.


        :param payment_form_message: The payment_form_message of this PaymentWizardDataResponse.  # noqa: E501
        :type: str
        """

        self._payment_form_message = payment_form_message

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


        :return: The set_short_url of this PaymentWizardDataResponse.  # noqa: E501
        :rtype: bool
        """
        return self._set_short_url

    @set_short_url.setter
    def set_short_url(self, set_short_url):
        """Sets the set_short_url of this PaymentWizardDataResponse.


        :param set_short_url: The set_short_url of this PaymentWizardDataResponse.  # noqa: E501
        :type: bool
        """
        set_short_url = bool(set_short_url)
        if set_short_url is None:
            raise ValueError("Invalid value for `set_short_url`, must not be `None`")  # noqa: E501

        self._set_short_url = set_short_url

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


        :return: The show_address_elements of this PaymentWizardDataResponse.  # noqa: E501
        :rtype: str
        """
        return self._show_address_elements

    @show_address_elements.setter
    def show_address_elements(self, show_address_elements):
        """Sets the show_address_elements of this PaymentWizardDataResponse.


        :param show_address_elements: The show_address_elements of this PaymentWizardDataResponse.  # noqa: E501
        :type: str
        """

        self._show_address_elements = show_address_elements

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


        :return: The currency_display of this PaymentWizardDataResponse.  # noqa: E501
        :rtype: ExtendedCurrency
        """
        return self._currency_display

    @currency_display.setter
    def currency_display(self, currency_display):
        """Sets the currency_display of this PaymentWizardDataResponse.


        :param currency_display: The currency_display of this PaymentWizardDataResponse.  # noqa: E501
        :type: ExtendedCurrency
        """

        self._currency_display = currency_display

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


        :return: The force_display_important_notes of this PaymentWizardDataResponse.  # noqa: E501
        :rtype: bool
        """
        return self._force_display_important_notes

    @force_display_important_notes.setter
    def force_display_important_notes(self, force_display_important_notes):
        """Sets the force_display_important_notes of this PaymentWizardDataResponse.


        :param force_display_important_notes: The force_display_important_notes of this PaymentWizardDataResponse.  # noqa: E501
        :type: bool
        """
        force_display_important_notes = bool(force_display_important_notes)
        if force_display_important_notes is None:
            raise ValueError("Invalid value for `force_display_important_notes`, must not be `None`")  # noqa: E501

        self._force_display_important_notes = force_display_important_notes

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


        :return: The show_shopper_details_expended_on_start of this PaymentWizardDataResponse.  # noqa: E501
        :rtype: bool
        """
        return self._show_shopper_details_expended_on_start

    @show_shopper_details_expended_on_start.setter
    def show_shopper_details_expended_on_start(self, show_shopper_details_expended_on_start):
        """Sets the show_shopper_details_expended_on_start of this PaymentWizardDataResponse.


        :param show_shopper_details_expended_on_start: The show_shopper_details_expended_on_start of this PaymentWizardDataResponse.  # noqa: E501
        :type: bool
        """
        show_shopper_details_expended_on_start = bool(show_shopper_details_expended_on_start)
        if show_shopper_details_expended_on_start is None:
            raise ValueError("Invalid value for `show_shopper_details_expended_on_start`, must not be `None`")  # noqa: E501

        self._show_shopper_details_expended_on_start = show_shopper_details_expended_on_start

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


        :return: The show_payment_schedule_required_credit of this PaymentWizardDataResponse.  # noqa: E501
        :rtype: bool
        """
        return self._show_payment_schedule_required_credit

    @show_payment_schedule_required_credit.setter
    def show_payment_schedule_required_credit(self, show_payment_schedule_required_credit):
        """Sets the show_payment_schedule_required_credit of this PaymentWizardDataResponse.


        :param show_payment_schedule_required_credit: The show_payment_schedule_required_credit of this PaymentWizardDataResponse.  # noqa: E501
        :type: bool
        """
        show_payment_schedule_required_credit = bool(show_payment_schedule_required_credit)
        if show_payment_schedule_required_credit is None:
            raise ValueError("Invalid value for `show_payment_schedule_required_credit`, must not be `None`")  # noqa: E501

        self._show_payment_schedule_required_credit = show_payment_schedule_required_credit

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


        :return: The is_shopper_email_mandatory of this PaymentWizardDataResponse.  # noqa: E501
        :rtype: bool
        """
        return self._is_shopper_email_mandatory

    @is_shopper_email_mandatory.setter
    def is_shopper_email_mandatory(self, is_shopper_email_mandatory):
        """Sets the is_shopper_email_mandatory of this PaymentWizardDataResponse.


        :param is_shopper_email_mandatory: The is_shopper_email_mandatory of this PaymentWizardDataResponse.  # noqa: E501
        :type: bool
        """
        is_shopper_email_mandatory = bool(is_shopper_email_mandatory)
        if is_shopper_email_mandatory is None:
            raise ValueError("Invalid value for `is_shopper_email_mandatory`, must not be `None`")  # noqa: E501

        self._is_shopper_email_mandatory = is_shopper_email_mandatory

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


        :return: The is_shopper_phone_mandatory of this PaymentWizardDataResponse.  # noqa: E501
        :rtype: bool
        """
        return self._is_shopper_phone_mandatory

    @is_shopper_phone_mandatory.setter
    def is_shopper_phone_mandatory(self, is_shopper_phone_mandatory):
        """Sets the is_shopper_phone_mandatory of this PaymentWizardDataResponse.


        :param is_shopper_phone_mandatory: The is_shopper_phone_mandatory of this PaymentWizardDataResponse.  # noqa: E501
        :type: bool
        """
        is_shopper_phone_mandatory = bool(is_shopper_phone_mandatory)
        if is_shopper_phone_mandatory is None:
            raise ValueError("Invalid value for `is_shopper_phone_mandatory`, must not be `None`")  # noqa: E501

        self._is_shopper_phone_mandatory = is_shopper_phone_mandatory

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


        :return: The number_of_installments_selections_option of this PaymentWizardDataResponse.  # noqa: E501
        :rtype: str
        """
        return self._number_of_installments_selections_option

    @number_of_installments_selections_option.setter
    def number_of_installments_selections_option(self, number_of_installments_selections_option):
        """Sets the number_of_installments_selections_option of this PaymentWizardDataResponse.


        :param number_of_installments_selections_option: The number_of_installments_selections_option of this PaymentWizardDataResponse.  # noqa: E501
        :type: str
        """

        self._number_of_installments_selections_option = number_of_installments_selections_option

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


        :return: The is3ds2_supported of this PaymentWizardDataResponse.  # noqa: E501
        :rtype: bool
        """
        return self._is3ds2_supported

    @is3ds2_supported.setter
    def is3ds2_supported(self, is3ds2_supported):
        """Sets the is3ds2_supported of this PaymentWizardDataResponse.


        :param is3ds2_supported: The is3ds2_supported of this PaymentWizardDataResponse.  # noqa: E501
        :type: bool
        """
        is3ds2_supported = bool(is3ds2_supported)
        if is3ds2_supported is None:
            raise ValueError("Invalid value for `is3ds2_supported`, must not be `None`")  # noqa: E501

        self._is3ds2_supported = is3ds2_supported

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


        :return: The processor_name of this PaymentWizardDataResponse.  # noqa: E501
        :rtype: str
        """
        return self._processor_name

    @processor_name.setter
    def processor_name(self, processor_name):
        """Sets the processor_name of this PaymentWizardDataResponse.


        :param processor_name: The processor_name of this PaymentWizardDataResponse.  # noqa: E501
        :type: str
        """

        self._processor_name = processor_name

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


        :return: The address_is_readonly of this PaymentWizardDataResponse.  # noqa: E501
        :rtype: bool
        """
        return self._address_is_readonly

    @address_is_readonly.setter
    def address_is_readonly(self, address_is_readonly):
        """Sets the address_is_readonly of this PaymentWizardDataResponse.


        :param address_is_readonly: The address_is_readonly of this PaymentWizardDataResponse.  # noqa: E501
        :type: bool
        """
        address_is_readonly = bool(address_is_readonly)
        if address_is_readonly is None:
            raise ValueError("Invalid value for `address_is_readonly`, must not be `None`")  # noqa: E501

        self._address_is_readonly = address_is_readonly

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


        :return: The phone_is_read_only of this PaymentWizardDataResponse.  # noqa: E501
        :rtype: bool
        """
        return self._phone_is_read_only

    @phone_is_read_only.setter
    def phone_is_read_only(self, phone_is_read_only):
        """Sets the phone_is_read_only of this PaymentWizardDataResponse.


        :param phone_is_read_only: The phone_is_read_only of this PaymentWizardDataResponse.  # noqa: E501
        :type: bool
        """
        phone_is_read_only = bool(phone_is_read_only)
        if phone_is_read_only is None:
            raise ValueError("Invalid value for `phone_is_read_only`, must not be `None`")  # noqa: E501

        self._phone_is_read_only = phone_is_read_only

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


        :return: The email_is_read_only of this PaymentWizardDataResponse.  # noqa: E501
        :rtype: bool
        """
        return self._email_is_read_only

    @email_is_read_only.setter
    def email_is_read_only(self, email_is_read_only):
        """Sets the email_is_read_only of this PaymentWizardDataResponse.


        :param email_is_read_only: The email_is_read_only of this PaymentWizardDataResponse.  # noqa: E501
        :type: bool
        """
        email_is_read_only = bool(email_is_read_only)
        if email_is_read_only is None:
            raise ValueError("Invalid value for `email_is_read_only`, must not be `None`")  # noqa: E501

        self._email_is_read_only = email_is_read_only

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


        :return: The show_learn_more of this PaymentWizardDataResponse.  # noqa: E501
        :rtype: bool
        """
        return self._show_learn_more

    @show_learn_more.setter
    def show_learn_more(self, show_learn_more):
        """Sets the show_learn_more of this PaymentWizardDataResponse.


        :param show_learn_more: The show_learn_more of this PaymentWizardDataResponse.  # noqa: E501
        :type: bool
        """
        show_learn_more = bool(show_learn_more)
        if show_learn_more is None:
            raise ValueError("Invalid value for `show_learn_more`, must not be `None`")  # noqa: E501

        self._show_learn_more = show_learn_more

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


        :return: The show_mobile_phone of this PaymentWizardDataResponse.  # noqa: E501
        :rtype: bool
        """
        return self._show_mobile_phone

    @show_mobile_phone.setter
    def show_mobile_phone(self, show_mobile_phone):
        """Sets the show_mobile_phone of this PaymentWizardDataResponse.


        :param show_mobile_phone: The show_mobile_phone of this PaymentWizardDataResponse.  # noqa: E501
        :type: bool
        """
        show_mobile_phone = bool(show_mobile_phone)
        if show_mobile_phone is None:
            raise ValueError("Invalid value for `show_mobile_phone`, must not be `None`")  # noqa: E501

        self._show_mobile_phone = show_mobile_phone

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


        :return: The show_close_dialog_before_abandon of this PaymentWizardDataResponse.  # noqa: E501
        :rtype: bool
        """
        return self._show_close_dialog_before_abandon

    @show_close_dialog_before_abandon.setter
    def show_close_dialog_before_abandon(self, show_close_dialog_before_abandon):
        """Sets the show_close_dialog_before_abandon of this PaymentWizardDataResponse.


        :param show_close_dialog_before_abandon: The show_close_dialog_before_abandon of this PaymentWizardDataResponse.  # noqa: E501
        :type: bool
        """
        show_close_dialog_before_abandon = bool(show_close_dialog_before_abandon)
        if show_close_dialog_before_abandon is None:
            raise ValueError("Invalid value for `show_close_dialog_before_abandon`, must not be `None`")  # noqa: E501

        self._show_close_dialog_before_abandon = show_close_dialog_before_abandon

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


        :return: The logo_url of this PaymentWizardDataResponse.  # noqa: E501
        :rtype: str
        """
        return self._logo_url

    @logo_url.setter
    def logo_url(self, logo_url):
        """Sets the logo_url of this PaymentWizardDataResponse.


        :param logo_url: The logo_url of this PaymentWizardDataResponse.  # noqa: E501
        :type: str
        """

        self._logo_url = logo_url

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


        :return: The default_num_of_installments of this PaymentWizardDataResponse.  # noqa: E501
        :rtype: int
        """
        return self._default_num_of_installments

    @default_num_of_installments.setter
    def default_num_of_installments(self, default_num_of_installments):
        """Sets the default_num_of_installments of this PaymentWizardDataResponse.


        :param default_num_of_installments: The default_num_of_installments of this PaymentWizardDataResponse.  # noqa: E501
        :type: int
        """
        
        if default_num_of_installments is None:
            raise ValueError("Invalid value for `default_num_of_installments`, must not be `None`")  # noqa: E501

        self._default_num_of_installments = default_num_of_installments

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


        :return: The privacy_policy_url of this PaymentWizardDataResponse.  # noqa: E501
        :rtype: str
        """
        return self._privacy_policy_url

    @privacy_policy_url.setter
    def privacy_policy_url(self, privacy_policy_url):
        """Sets the privacy_policy_url of this PaymentWizardDataResponse.


        :param privacy_policy_url: The privacy_policy_url of this PaymentWizardDataResponse.  # noqa: E501
        :type: str
        """

        self._privacy_policy_url = privacy_policy_url

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


        :return: The terms_and_conditions_url of this PaymentWizardDataResponse.  # noqa: E501
        :rtype: str
        """
        return self._terms_and_conditions_url

    @terms_and_conditions_url.setter
    def terms_and_conditions_url(self, terms_and_conditions_url):
        """Sets the terms_and_conditions_url of this PaymentWizardDataResponse.


        :param terms_and_conditions_url: The terms_and_conditions_url of this PaymentWizardDataResponse.  # noqa: E501
        :type: str
        """

        self._terms_and_conditions_url = terms_and_conditions_url

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


        :return: The learn_more_url of this PaymentWizardDataResponse.  # noqa: E501
        :rtype: str
        """
        return self._learn_more_url

    @learn_more_url.setter
    def learn_more_url(self, learn_more_url):
        """Sets the learn_more_url of this PaymentWizardDataResponse.


        :param learn_more_url: The learn_more_url of this PaymentWizardDataResponse.  # noqa: E501
        :type: str
        """

        self._learn_more_url = learn_more_url

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


        :return: The potential_card_types of this PaymentWizardDataResponse.  # noqa: E501
        :rtype: list[CardType]
        """
        return self._potential_card_types

    @potential_card_types.setter
    def potential_card_types(self, potential_card_types):
        """Sets the potential_card_types of this PaymentWizardDataResponse.


        :param potential_card_types: The potential_card_types of this PaymentWizardDataResponse.  # noqa: E501
        :type: list[CardType]
        """

        self._potential_card_types = potential_card_types

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


        :return: The potential_card_brands of this PaymentWizardDataResponse.  # noqa: E501
        :rtype: list[CardBrand]
        """
        return self._potential_card_brands

    @potential_card_brands.setter
    def potential_card_brands(self, potential_card_brands):
        """Sets the potential_card_brands of this PaymentWizardDataResponse.


        :param potential_card_brands: The potential_card_brands of this PaymentWizardDataResponse.  # noqa: E501
        :type: list[CardBrand]
        """

        self._potential_card_brands = potential_card_brands

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


        :return: The payment_form_messages of this PaymentWizardDataResponse.  # noqa: E501
        :rtype: list[PaymentFormMessage]
        """
        return self._payment_form_messages

    @payment_form_messages.setter
    def payment_form_messages(self, payment_form_messages):
        """Sets the payment_form_messages of this PaymentWizardDataResponse.


        :param payment_form_messages: The payment_form_messages of this PaymentWizardDataResponse.  # noqa: E501
        :type: list[PaymentFormMessage]
        """

        self._payment_form_messages = payment_form_messages

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


        :return: The display_properties of this PaymentWizardDataResponse.  # noqa: E501
        :rtype: dict(str, str)
        """
        return self._display_properties

    @display_properties.setter
    def display_properties(self, display_properties):
        """Sets the display_properties of this PaymentWizardDataResponse.


        :param display_properties: The display_properties of this PaymentWizardDataResponse.  # noqa: E501
        :type: dict(str, str)
        """

        self._display_properties = display_properties

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


        :return: The terms_and_conditions of this PaymentWizardDataResponse.  # noqa: E501
        :rtype: TermsAndConditions
        """
        return self._terms_and_conditions

    @terms_and_conditions.setter
    def terms_and_conditions(self, terms_and_conditions):
        """Sets the terms_and_conditions of this PaymentWizardDataResponse.


        :param terms_and_conditions: The terms_and_conditions of this PaymentWizardDataResponse.  # noqa: E501
        :type: TermsAndConditions
        """

        self._terms_and_conditions = terms_and_conditions

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


        :return: The payment_methods of this PaymentWizardDataResponse.  # noqa: E501
        :rtype: list[PaymentMethods]
        """
        return self._payment_methods

    @payment_methods.setter
    def payment_methods(self, payment_methods):
        """Sets the payment_methods of this PaymentWizardDataResponse.


        :param payment_methods: The payment_methods of this PaymentWizardDataResponse.  # noqa: E501
        :type: list[PaymentMethods]
        """

        self._payment_methods = payment_methods

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


        :return: The status of this PaymentWizardDataResponse.  # noqa: E501
        :rtype: InstallmentPlanStatus
        """
        return self._status

    @status.setter
    def status(self, status):
        """Sets the status of this PaymentWizardDataResponse.


        :param status: The status of this PaymentWizardDataResponse.  # noqa: E501
        :type: InstallmentPlanStatus
        """
        
        if status is None:
            raise ValueError("Invalid value for `status`, must not be `None`")  # noqa: E501

        self._status = status

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


        :return: The is_attempt3_dsecure of this PaymentWizardDataResponse.  # noqa: E501
        :rtype: bool
        """
        return self._is_attempt3_dsecure

    @is_attempt3_dsecure.setter
    def is_attempt3_dsecure(self, is_attempt3_dsecure):
        """Sets the is_attempt3_dsecure of this PaymentWizardDataResponse.


        :param is_attempt3_dsecure: The is_attempt3_dsecure of this PaymentWizardDataResponse.  # noqa: E501
        :type: bool
        """
        is_attempt3_dsecure = bool(is_attempt3_dsecure)
        if is_attempt3_dsecure is None:
            raise ValueError("Invalid value for `is_attempt3_dsecure`, must not be `None`")  # noqa: E501

        self._is_attempt3_dsecure = is_attempt3_dsecure

    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(PaymentWizardDataResponse, 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, PaymentWizardDataResponse):
            return False

        return self.__dict__ == other.__dict__

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