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

from enum import Enum


class InvoiceAdjustmentTypeEnum(Enum):
    """An enumeration representing different categories.

    :cvar ACCRUED_HOLIDAY: "accrued_holiday"
    :vartype ACCRUED_HOLIDAY: str
    :cvar ADDITIONAL_FEE: "additional_fee"
    :vartype ADDITIONAL_FEE: str
    :cvar ALLOWANCE: "allowance"
    :vartype ALLOWANCE: str
    :cvar BONUS: "bonus"
    :vartype BONUS: str
    :cvar COMMISSION: "commission"
    :vartype COMMISSION: str
    :cvar DEDUCTION: "deduction"
    :vartype DEDUCTION: str
    :cvar DEPOSIT: "deposit"
    :vartype DEPOSIT: str
    :cvar DEPOSIT_REFUND: "deposit_refund"
    :vartype DEPOSIT_REFUND: str
    :cvar EMPLOYER_COST: "employer_cost"
    :vartype EMPLOYER_COST: str
    :cvar EXPENSE: "expense"
    :vartype EXPENSE: str
    :cvar HEALTH_ALLOWANCE: "health_allowance"
    :vartype HEALTH_ALLOWANCE: str
    :cvar HEALTH_BENEFIT: "health_benefit"
    :vartype HEALTH_BENEFIT: str
    :cvar HEALTH_INSURANCE_FEE: "health_insurance_fee"
    :vartype HEALTH_INSURANCE_FEE: str
    :cvar LEGAL_FEE: "legal_fee"
    :vartype LEGAL_FEE: str
    :cvar MANAGEMENT_FEE: "management_fee"
    :vartype MANAGEMENT_FEE: str
    :cvar MILESTONE: "milestone"
    :vartype MILESTONE: str
    :cvar OFFCYCLE: "offcycle"
    :vartype OFFCYCLE: str
    :cvar OTHER: "other"
    :vartype OTHER: str
    :cvar OVERTIME: "overtime"
    :vartype OVERTIME: str
    :cvar PENSION: "pension"
    :vartype PENSION: str
    :cvar PRO_RATA: "pro_rata"
    :vartype PRO_RATA: str
    :cvar SETUP_FEE: "setup_fee"
    :vartype SETUP_FEE: str
    :cvar SEVERANCE: "severance"
    :vartype SEVERANCE: str
    :cvar SHIELD_SERVICE: "shield_service"
    :vartype SHIELD_SERVICE: str
    :cvar SIGNING_BONUS: "signing_bonus"
    :vartype SIGNING_BONUS: str
    :cvar SIGNING_BONUS_EMPLOYER_COST: "signing_bonus_employer_cost"
    :vartype SIGNING_BONUS_EMPLOYER_COST: str
    :cvar REFUND: "refund"
    :vartype REFUND: str
    :cvar TASK: "task"
    :vartype TASK: str
    :cvar TIME_OFF: "time_off"
    :vartype TIME_OFF: str
    :cvar VAT: "vat"
    :vartype VAT: str
    :cvar WITHHOLDING_TAX: "withholding_tax"
    :vartype WITHHOLDING_TAX: str
    :cvar WORK: "work"
    :vartype WORK: str
    """

    ACCRUED_HOLIDAY = "accrued_holiday"
    ADDITIONAL_FEE = "additional_fee"
    ALLOWANCE = "allowance"
    BONUS = "bonus"
    COMMISSION = "commission"
    DEDUCTION = "deduction"
    DEPOSIT = "deposit"
    DEPOSIT_REFUND = "deposit_refund"
    EMPLOYER_COST = "employer_cost"
    EXPENSE = "expense"
    HEALTH_ALLOWANCE = "health_allowance"
    HEALTH_BENEFIT = "health_benefit"
    HEALTH_INSURANCE_FEE = "health_insurance_fee"
    LEGAL_FEE = "legal_fee"
    MANAGEMENT_FEE = "management_fee"
    MILESTONE = "milestone"
    OFFCYCLE = "offcycle"
    OTHER = "other"
    OVERTIME = "overtime"
    PENSION = "pension"
    PRO_RATA = "pro_rata"
    SETUP_FEE = "setup_fee"
    SEVERANCE = "severance"
    SHIELD_SERVICE = "shield_service"
    SIGNING_BONUS = "signing_bonus"
    SIGNING_BONUS_EMPLOYER_COST = "signing_bonus_employer_cost"
    REFUND = "refund"
    TASK = "task"
    TIME_OFF = "time_off"
    VAT = "vat"
    WITHHOLDING_TAX = "withholding_tax"
    WORK = "work"

    def list():
        """Lists all category values.

        :return: A list of all category values.
        :rtype: list
        """
        return list(
            map(lambda x: x.value, InvoiceAdjustmentTypeEnum._member_map_.values())
        )
