# coding: utf-8

"""
    Xero Payroll NZ

    This is the Xero Payroll API for orgs in the NZ region.  # noqa: E501

    Contact: api@xero.com
    Generated by: https://openapi-generator.tech
"""


import re  # noqa: F401

from xero_python.models import BaseModel


class EmployeeOpeningBalance(BaseModel):
    """NOTE: This class is auto generated by OpenAPI Generator.
    Ref: https://openapi-generator.tech

    Do not edit the class manually.
    """

    """
    Attributes:
      openapi_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.
    """
    openapi_types = {
        "period_end_date": "date",
        "days_paid": "int",
        "unpaid_weeks": "int",
        "gross_earnings": "float",
    }

    attribute_map = {
        "period_end_date": "periodEndDate",
        "days_paid": "daysPaid",
        "unpaid_weeks": "unpaidWeeks",
        "gross_earnings": "grossEarnings",
    }

    def __init__(
        self,
        period_end_date=None,
        days_paid=None,
        unpaid_weeks=None,
        gross_earnings=None,
    ):  # noqa: E501
        """EmployeeOpeningBalance - a model defined in OpenAPI"""  # noqa: E501

        self._period_end_date = None
        self._days_paid = None
        self._unpaid_weeks = None
        self._gross_earnings = None
        self.discriminator = None

        if period_end_date is not None:
            self.period_end_date = period_end_date
        if days_paid is not None:
            self.days_paid = days_paid
        if unpaid_weeks is not None:
            self.unpaid_weeks = unpaid_weeks
        if gross_earnings is not None:
            self.gross_earnings = gross_earnings

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

        The opening balance period end date.  # noqa: E501

        :return: The period_end_date of this EmployeeOpeningBalance.  # noqa: E501
        :rtype: date
        """
        return self._period_end_date

    @period_end_date.setter
    def period_end_date(self, period_end_date):
        """Sets the period_end_date of this EmployeeOpeningBalance.

        The opening balance period end date.  # noqa: E501

        :param period_end_date: The period_end_date of this EmployeeOpeningBalance.  # noqa: E501
        :type: date
        """

        self._period_end_date = period_end_date

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

        The paid number of days.  # noqa: E501

        :return: The days_paid of this EmployeeOpeningBalance.  # noqa: E501
        :rtype: int
        """
        return self._days_paid

    @days_paid.setter
    def days_paid(self, days_paid):
        """Sets the days_paid of this EmployeeOpeningBalance.

        The paid number of days.  # noqa: E501

        :param days_paid: The days_paid of this EmployeeOpeningBalance.  # noqa: E501
        :type: int
        """

        self._days_paid = days_paid

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

        The number of unpaid weeks.  # noqa: E501

        :return: The unpaid_weeks of this EmployeeOpeningBalance.  # noqa: E501
        :rtype: int
        """
        return self._unpaid_weeks

    @unpaid_weeks.setter
    def unpaid_weeks(self, unpaid_weeks):
        """Sets the unpaid_weeks of this EmployeeOpeningBalance.

        The number of unpaid weeks.  # noqa: E501

        :param unpaid_weeks: The unpaid_weeks of this EmployeeOpeningBalance.  # noqa: E501
        :type: int
        """

        self._unpaid_weeks = unpaid_weeks

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

        The gross earnings during the period.  # noqa: E501

        :return: The gross_earnings of this EmployeeOpeningBalance.  # noqa: E501
        :rtype: float
        """
        return self._gross_earnings

    @gross_earnings.setter
    def gross_earnings(self, gross_earnings):
        """Sets the gross_earnings of this EmployeeOpeningBalance.

        The gross earnings during the period.  # noqa: E501

        :param gross_earnings: The gross_earnings of this EmployeeOpeningBalance.  # noqa: E501
        :type: float
        """

        self._gross_earnings = gross_earnings
