<?php //bf6a3d96e6e9507e8509d8acfcc8bd72
/** @noinspection all */

namespace Modules\Income\Entities {

    use Illuminate\Database\Eloquent\Model;
    use Illuminate\Database\Eloquent\Relations\HasOne;
    use Illuminate\Support\Carbon;
    use LaravelIdea\Helper\Modules\Accounting\Entities\_IH_ChartOfAccount_QB;
    use LaravelIdea\Helper\Modules\Branch\Entities\_IH_Branch_QB;
    use LaravelIdea\Helper\Modules\Income\Entities\_IH_IncomeType_C;
    use LaravelIdea\Helper\Modules\Income\Entities\_IH_IncomeType_QB;
    use LaravelIdea\Helper\Modules\Income\Entities\_IH_Income_C;
    use LaravelIdea\Helper\Modules\Income\Entities\_IH_Income_QB;
    use LaravelIdea\Helper\Modules\User\Entities\_IH_User_QB;
    use Modules\Accounting\Entities\ChartOfAccount;
    use Modules\Branch\Entities\Branch;
    use Modules\User\Entities\User;
    
    /**
     * @property int $id
     * @property int|null $created_by_id
     * @property int|null $income_type_id
     * @property int|null $currency_id
     * @property int|null $branch_id
     * @property int|null $income_chart_of_account_id
     * @property int|null $asset_chart_of_account_id
     * @property float $amount
     * @property Carbon|null $date
     * @property int $recurring
     * @property string $recur_frequency
     * @property Carbon|null $recur_start_date
     * @property Carbon|null $recur_end_date
     * @property Carbon|null $recur_next_date
     * @property string $recur_type
     * @property string|null $notes
     * @property string|null $description
     * @property string|null $files
     * @property Carbon|null $created_at
     * @property Carbon|null $updated_at
     * @property ChartOfAccount|null $asset_chart
     * @method HasOne|_IH_ChartOfAccount_QB asset_chart()
     * @property Branch|null $branch
     * @method HasOne|_IH_Branch_QB branch()
     * @property User|null $created_by
     * @method HasOne|_IH_User_QB created_by()
     * @property ChartOfAccount|null $income_chart
     * @method HasOne|_IH_ChartOfAccount_QB income_chart()
     * @property IncomeType|null $income_type
     * @method HasOne|_IH_IncomeType_QB income_type()
     * @method static _IH_Income_QB onWriteConnection()
     * @method _IH_Income_QB newQuery()
     * @method static _IH_Income_QB on(null|string $connection = null)
     * @method static _IH_Income_QB query()
     * @method static _IH_Income_QB with(array|string $relations)
     * @method _IH_Income_QB newModelQuery()
     * @method false|int increment(string $column, float|int $amount = 1, array $extra = [])
     * @method false|int decrement(string $column, float|int $amount = 1, array $extra = [])
     * @method static _IH_Income_C|Income[] all()
     * @ownLinks income_type_id,\Modules\Income\Entities\IncomeType,id|currency_id,\Modules\Core\Entities\Currency,id|branch_id,\Modules\Branch\Entities\Branch,id
     * @mixin _IH_Income_QB
     */
    class Income extends Model {}
    
    /**
     * @property int $id
     * @property string $name
     * @property int|null $income_chart_of_account_id
     * @property int|null $asset_chart_of_account_id
     * @property Carbon|null $created_at
     * @property Carbon|null $updated_at
     * @property ChartOfAccount|null $asset_chart
     * @method HasOne|_IH_ChartOfAccount_QB asset_chart()
     * @property ChartOfAccount|null $income_chart
     * @method HasOne|_IH_ChartOfAccount_QB income_chart()
     * @method static _IH_IncomeType_QB onWriteConnection()
     * @method _IH_IncomeType_QB newQuery()
     * @method static _IH_IncomeType_QB on(null|string $connection = null)
     * @method static _IH_IncomeType_QB query()
     * @method static _IH_IncomeType_QB with(array|string $relations)
     * @method _IH_IncomeType_QB newModelQuery()
     * @method false|int increment(string $column, float|int $amount = 1, array $extra = [])
     * @method false|int decrement(string $column, float|int $amount = 1, array $extra = [])
     * @method static _IH_IncomeType_C|IncomeType[] all()
     * @foreignLinks id,\Modules\Income\Entities\Income,income_type_id
     * @mixin _IH_IncomeType_QB
     */
    class IncomeType extends Model {}
}