from cw_model import CWModel


class Member(CWModel):

    def __init__(self, json_dict=None):
        self.adminFlag = None  # (Boolean)
        self.allowExpensesEnteredAgainstCompaniesFlag = None  # (Boolean)
        self.allowInCellEntryOnTimeSheet = None  # (Boolean)
        self.billableForecast = None  # (Number)
        self.calendar = None  # (CalendarReference)
        self.calendarSyncIntegrationFlag = None  # (Boolean)
        self.country = None  # (CountryReference)
        self.dailyCapacity = None  # (Number)
        self.daysTolerance = None  # (Integer)
        self.defaultDepartmentId = None  # *(Integer)
        self.defaultEmail = None  # *(Enum)
        self.defaultLocationId = None  # *(Integer)
        self.defaultPhone = None  # *(Enum)
        self.disableOnlineFlag = None  # (Boolean)
        self.enableLdapAuthenticationFlag = None  # (Boolean)
        self.enableMobileFlag = None  # (Boolean)
        self.enableMobileGpsFlag = None  # (Boolean)
        self.enterTimeAgainstCompanyFlag = None  # (Boolean)
        self.expenseApprover = None  # *(MemberReference)
        self.firstName = None  # *(String(30))
        self.hideMemberInDispatchPortalFlag = None  # (Boolean)
        self.hireDate = None  # *(String)
        self.homeEmail = None  # (String(250))
        self.homeExtension = None  # (String(10))
        self.homePhone = None  # (String(15))
        self.hourlyCost = None  # (Number)
        self.hourlyRate = None  # (Number)
        self.id = None  # (Integer)
        self.identifier = None  # *(String(15))
        self.inactiveDate = None  # (String)
        self.inactiveFlag = None  # (Boolean)
        self.includeInUtilizationReportingFlag = None  # (Boolean)
        self.lastLogin = None  # (String)
        self.lastName = None  # *(String(30))
        self.licenseClass = None  # *(Enum)
        self.mapiName = None  # (String)
        self.middleInitial = None  # (String)
        self.minimumHours = None  # (Number)
        self.mobileEmail = None  # (String(250))
        self.mobileExtension = None  # (String(10))
        self.mobilePhone = None  # (String(15))
        self.notes = None  # (String)
        self.officeEmail = None  # (String(250))
        self.officeExtension = None  # (String(10))
        self.officePhone = None  # (String(15))
        self.projectDefaultBoard = None  # (ProjectBoardReference)
        self.projectDefaultDepartmentId = None  # (Integer)
        self.projectDefaultLocationId = None  # (Integer)
        self.reportsTo = None  # (MemberReference)
        self.requireExpenseEntryFlag = None  # (Boolean)
        self.requireStartAndEndTimeOnTimeEntryFlag = None  # (Boolean)
        self.requireTimeSheetEntryFlag = None  # (Boolean)
        self.restrictDefaultSalesTerritoryFlag = None  # (Boolean)
        self.restrictDefaultWarehouseBinFlag = None  # (Boolean)
        self.restrictDefaultWarehouseFlag = None  # (Boolean)
        self.restrictDepartmentFlag = None  # (Boolean)
        self.restrictLocationFlag = None  # (Boolean)
        self.restrictProjectDefaultDepartmentFlag = None  # (Boolean)
        self.restrictProjectDefaultLocationFlag = None  # (Boolean)
        self.restrictScheduleFlag = None  # (Boolean)
        self.restrictServiceDefaultDepartmentFlag = None  # (Boolean)
        self.restrictServiceDefaultLocationFlag = None  # (Boolean)
        self.salesDefaultLocationId = None  # *(Integer)
        self.scheduleCapacity = None  # (Number)
        self.scheduleDefaultDepartmentId = None  # (Integer)
        self.scheduleDefaultLocationId = None  # (Integer)
        self.securityLevel = None  # (String)
        self.securityLocationId = None  # (Integer)
        self.securityRole = None  # (SecurityRoleReference)
        self.serviceDefaultBoard = None  # (BoardReference)
        self.serviceDefaultDepartmentId = None  # (Integer)
        self.serviceDefaultLocationId = None  # (Integer)
        self.serviceLocation = None  # (ServiceLocationReference)
        self.serviceTeams = None  # (Array)
        self.timeApprover = None  # *(MemberReference)
        self.timeReminderEmailFlag = None  # (Boolean)
        self.timeSheetStartDate = None  # (String)
        self.timeZone = None  # *(TimeZoneReference)
        self.title = None  # (String(50))
        self.type = None  # (MemberTypeReference)
        self.vendorNumber = None  # (String)
        self.warehouse = None  # (WarehouseReference)
        self.warehouseBin = None  # (WarehouseBinReference)
        self.workRole = None  # *(WorkRoleReference)
        self.workType = None  # (WorkTypeReference)
        self._info = None  # (Metadata)
        self.System_Flag = None  # (Boolean)

        # initialize object with json dict
        super().__init__(json_dict)
