# This file was generated by liblab | https://liblab.com/

from .utils.json_map import JsonMap
from .base import BaseModel


@JsonMap({"type_": "type"})
class EmploymentDetailsOfContract(BaseModel):
    """EmploymentDetailsOfContract

    :param type_: type_
    :type type_: str
    :param days_per_week: days_per_week
    :type days_per_week: float
    :param hours_per_day: hours_per_day
    :type hours_per_day: float
    :param probation_period: probation_period
    :type probation_period: float
    :param paid_vacation_days: paid_vacation_days
    :type paid_vacation_days: float
    :param country: Country code., defaults to None
    :type country: str, optional
    :param state: State code., defaults to None
    :type state: str, optional
    """

    def __init__(
        self,
        type_: str,
        days_per_week: float,
        hours_per_day: float,
        probation_period: float,
        paid_vacation_days: float,
        country: str = None,
        state: str = None,
    ):
        self.type_ = type_
        self.days_per_week = days_per_week
        self.hours_per_day = hours_per_day
        self.probation_period = probation_period
        self.paid_vacation_days = paid_vacation_days
        if country is not None:
            self.country = self._pattern_matching(country, "^[A-Z]{2}$", "country")
        if state is not None:
            self.state = state
