from ..cw_model import CWModel


class AccountingUnpostedExpense(CWModel):

    def __init__(self, json_dict=None):
        self.id = None  # (Integer)
        self.locationId = None  # (Integer)
        self.departmentId = None  # (Integer)
        self.company = None  # (CompanyReference)
        self.accountNumber = None  # (String)
        self.creditAccount = None  # (String)
        self.expenseDetailId = None  # (Integer)
        self.expenseType = None  # (ExpenseTypeReference)
        self.classification = None  # (Enum)
        self.glType = None  # (Enum)
        self.member = None  # (MemberReference)
        self.dateExpense = None  # (String)
        self.chargeCode = None  # (ChargeCodeReference)
        self.chargeDescription = None  # (String)
        self.inPolicy = None  # (Boolean)
        self.paymentMethod = None  # (PaymentMethodReference)
        self.currency = None  # (CurrencyReference)
        self.total = None  # (Number)
        self.billableAmount = None  # (Number)
        self.nonBillableAmount = None  # (Number)
        self.agreement = None  # (AgreementReference)
        self.agreementAmountCovered = None  # (Number)
        self.ticket = None  # (TicketReference)
        self.project = None  # (ProjectReference)
        self.projectPhase = None  # (ProjectPhaseReference)
        self.taxCode = None  # (TaxCodeReference)
        self.avalaraTaxFlag = None  # (Boolean)
        self.itemTaxableFlag = None  # (Boolean)
        self.salesTaxAmount = None  # (Number)
        self.stateTaxFlag = None  # (Boolean)
        self.stateTaxXref = None  # (String)
        self.stateTaxAmount = None  # (Number)
        self.countyTaxFlag = None  # (Boolean)
        self.countyTaxXref = None  # (String)
        self.countyTaxAmount = None  # (Number)
        self.cityTaxFlag = None  # (Boolean)
        self.cityTaxXref = None  # (String)
        self.cityTaxAmount = None  # (Number)
        self.countryTaxFlag = None  # (Boolean)
        self.countryTaxXref = None  # (String)
        self.countryTaxAmount = None  # (Number)
        self.compositeTaxFlag = None  # (Boolean)
        self.compositeTaxXref = None  # (String)
        self.compositeTaxAmount = None  # (Number)
        self.dateClosed = None  # (String)
        self._info = None  # (Metadata)

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