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

namespace Modules\Branch\Entities {

    use Illuminate\Database\Eloquent\Model;
    use Illuminate\Database\Eloquent\Relations\HasMany;
    use Illuminate\Database\Eloquent\Relations\HasOne;
    use Illuminate\Support\Carbon;
    use LaravelIdea\Helper\Modules\Branch\Entities\_IH_BranchUser_C;
    use LaravelIdea\Helper\Modules\Branch\Entities\_IH_BranchUser_QB;
    use LaravelIdea\Helper\Modules\Branch\Entities\_IH_Branch_C;
    use LaravelIdea\Helper\Modules\Branch\Entities\_IH_Branch_QB;
    use LaravelIdea\Helper\Modules\User\Entities\_IH_User_QB;
    use Modules\User\Entities\User;
    
    /**
     * @property int $id
     * @property int|null $created_by_id
     * @property int|null $parent_id
     * @property int|null $manager_id
     * @property string $name
     * @property Carbon|null $open_date
     * @property string|null $notes
     * @property int $active
     * @property int $is_system
     * @property Carbon|null $created_at
     * @property Carbon|null $updated_at
     * @property _IH_BranchUser_C|BranchUser[] $users
     * @property-read int $users_count
     * @method HasMany|_IH_BranchUser_QB users()
     * @method static _IH_Branch_QB onWriteConnection()
     * @method _IH_Branch_QB newQuery()
     * @method static _IH_Branch_QB on(null|string $connection = null)
     * @method static _IH_Branch_QB query()
     * @method static _IH_Branch_QB with(array|string $relations)
     * @method _IH_Branch_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_Branch_C|Branch[] all()
     * @foreignLinks id,\Workbench\App\Models\User,branch_id|id,\Modules\Branch\Entities\BranchUser,branch_id|id,\Modules\Accounting\Entities\JournalEntry,branch_id|id,\Modules\Client\Entities\Client,branch_id|id,\Modules\Loan\Entities\Loan,branch_id|id,\Modules\Loan\Entities\LoanTransaction,branch_id|id,\Modules\Loan\Entities\LoanGuarantor,branch_id|id,\Modules\Communication\Entities\CommunicationCampaign,branch_id|id,\Modules\Savings\Entities\Savings,branch_id|id,\Modules\Savings\Entities\SavingsTransaction,branch_id|id,\Modules\Loan\Entities\LoanApplication,branch_id|id,\Modules\Payroll\Entities\Payroll,branch_id|id,\Modules\Payroll\Entities\PayrollPayment,branch_id|id,\Modules\Asset\Entities\Asset,branch_id|id,\Modules\Expense\Entities\Expense,branch_id|id,\Modules\Income\Entities\Income,branch_id|id,\Modules\Wallet\Entities\Wallet,branch_id|id,\Modules\Wallet\Entities\WalletTransaction,branch_id|id,\Modules\Share\Entities\Share,branch_id|id,\Modules\Share\Entities\ShareTransaction,branch_id
     * @mixin _IH_Branch_QB
     */
    class Branch extends Model {}
    
    /**
     * @property int $id
     * @property int|null $created_by_id
     * @property int $user_id
     * @property int $branch_id
     * @property Carbon|null $created_at
     * @property Carbon|null $updated_at
     * @property Branch $branch
     * @method HasOne|_IH_Branch_QB branch()
     * @property User $user
     * @method HasOne|_IH_User_QB user()
     * @method static _IH_BranchUser_QB onWriteConnection()
     * @method _IH_BranchUser_QB newQuery()
     * @method static _IH_BranchUser_QB on(null|string $connection = null)
     * @method static _IH_BranchUser_QB query()
     * @method static _IH_BranchUser_QB with(array|string $relations)
     * @method _IH_BranchUser_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_BranchUser_C|BranchUser[] all()
     * @ownLinks user_id,\Workbench\App\Models\User,id|branch_id,\Modules\Branch\Entities\Branch,id
     * @mixin _IH_BranchUser_QB
     */
    class BranchUser extends Model {}
}