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

namespace Modules\Core\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\Core\Entities\_IH_Country_C;
    use LaravelIdea\Helper\Modules\Core\Entities\_IH_Country_QB;
    use LaravelIdea\Helper\Modules\Core\Entities\_IH_Currency_C;
    use LaravelIdea\Helper\Modules\Core\Entities\_IH_Currency_QB;
    use LaravelIdea\Helper\Modules\Core\Entities\_IH_Menu_C;
    use LaravelIdea\Helper\Modules\Core\Entities\_IH_Menu_QB;
    use LaravelIdea\Helper\Modules\Core\Entities\_IH_PaymentDetail_C;
    use LaravelIdea\Helper\Modules\Core\Entities\_IH_PaymentDetail_QB;
    use LaravelIdea\Helper\Modules\Core\Entities\_IH_PaymentGateway_C;
    use LaravelIdea\Helper\Modules\Core\Entities\_IH_PaymentGateway_QB;
    use LaravelIdea\Helper\Modules\Core\Entities\_IH_PaymentType_C;
    use LaravelIdea\Helper\Modules\Core\Entities\_IH_PaymentType_QB;
    use LaravelIdea\Helper\Modules\Core\Entities\_IH_TaxRate_C;
    use LaravelIdea\Helper\Modules\Core\Entities\_IH_TaxRate_QB;
    use LaravelIdea\Helper\Modules\Core\Entities\_IH_Timezone_C;
    use LaravelIdea\Helper\Modules\Core\Entities\_IH_Timezone_QB;
    
    /**
     * @property int $id
     * @property string $sortname
     * @property string $name
     * @property Carbon|null $created_at
     * @property Carbon|null $updated_at
     * @method static _IH_Country_QB onWriteConnection()
     * @method _IH_Country_QB newQuery()
     * @method static _IH_Country_QB on(null|string $connection = null)
     * @method static _IH_Country_QB query()
     * @method static _IH_Country_QB with(array|string $relations)
     * @method _IH_Country_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_Country_C|Country[] all()
     * @foreignLinks id,\Modules\Client\Entities\Client,country_id|id,\Modules\Client\Entities\ClientNextOfKin,country_id|id,\Modules\Loan\Entities\LoanGuarantor,country_id
     * @mixin _IH_Country_QB
     */
    class Country extends Model {}
    
    /**
     * @property int $id
     * @property int|null $created_by_id
     * @property float|null $rate
     * @property string|null $code
     * @property string|null $name
     * @property string|null $symbol
     * @property string $position
     * @property Carbon|null $created_at
     * @property Carbon|null $updated_at
     * @method static _IH_Currency_QB onWriteConnection()
     * @method _IH_Currency_QB newQuery()
     * @method static _IH_Currency_QB on(null|string $connection = null)
     * @method static _IH_Currency_QB query()
     * @method static _IH_Currency_QB with(array|string $relations)
     * @method _IH_Currency_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_Currency_C|Currency[] all()
     * @foreignLinks id,\Modules\Savings\Entities\SavingsCharge,currency_id|id,\Modules\Accounting\Entities\JournalEntry,currency_id|id,\Modules\Loan\Entities\LoanCharge,currency_id|id,\Modules\Loan\Entities\LoanProduct,currency_id|id,\Modules\Loan\Entities\Loan,currency_id|id,\Modules\Savings\Entities\SavingsProduct,currency_id|id,\Modules\Savings\Entities\Savings,currency_id|id,\Modules\Savings\Entities\SavingsLinkedCharge,currency_id|id,\Modules\Payroll\Entities\Payroll,currency_id|id,\Modules\Expense\Entities\Expense,currency_id|id,\Modules\Income\Entities\Income,currency_id|id,\Modules\Wallet\Entities\Wallet,currency_id|id,\Modules\Share\Entities\ShareCharge,currency_id|id,\Modules\Share\Entities\ShareProduct,currency_id|id,\Modules\Share\Entities\Share,currency_id|id,\Modules\Share\Entities\ShareLinkedCharge,currency_id
     * @mixin _IH_Currency_QB
     */
    class Currency extends Model {}
    
    /**
     * @property int $id
     * @property int|null $menu_id
     * @property int|null $parent_id
     * @property string|null $parent_slug
     * @property int $is_parent
     * @property string|null $name
     * @property string|null $title
     * @property string|null $slug
     * @property string|null $description
     * @property int|null $menu_order
     * @property string|null $url
     * @property string|null $permissions
     * @property string|null $icon
     * @property string|null $module
     * @property Carbon|null $created_at
     * @property Carbon|null $updated_at
     * @property _IH_Menu_C|Menu[] $children
     * @property-read int $children_count
     * @method HasMany|_IH_Menu_QB children()
     * @method static _IH_Menu_QB onWriteConnection()
     * @method _IH_Menu_QB newQuery()
     * @method static _IH_Menu_QB on(null|string $connection = null)
     * @method static _IH_Menu_QB query()
     * @method static _IH_Menu_QB with(array|string $relations)
     * @method _IH_Menu_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_Menu_C|Menu[] all()
     * @mixin _IH_Menu_QB
     */
    class Menu extends Model {}
    
    /**
     * @property int $id
     * @property int|null $created_by_id
     * @property int|null $payment_type_id
     * @property string|null $transaction_type
     * @property int|null $reference
     * @property string|null $cheque_number
     * @property string|null $receipt
     * @property string|null $account_number
     * @property string|null $bank_name
     * @property string|null $routing_code
     * @property string|null $description
     * @property Carbon|null $created_at
     * @property Carbon|null $updated_at
     * @property PaymentType|null $payment_type
     * @method HasOne|_IH_PaymentType_QB payment_type()
     * @method static _IH_PaymentDetail_QB onWriteConnection()
     * @method _IH_PaymentDetail_QB newQuery()
     * @method static _IH_PaymentDetail_QB on(null|string $connection = null)
     * @method static _IH_PaymentDetail_QB query()
     * @method static _IH_PaymentDetail_QB with(array|string $relations)
     * @method _IH_PaymentDetail_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_PaymentDetail_C|PaymentDetail[] all()
     * @ownLinks payment_type_id,\Modules\Core\Entities\PaymentType,id
     * @foreignLinks id,\Modules\Accounting\Entities\JournalEntry,payment_detail_id|id,\Modules\Loan\Entities\LoanTransaction,payment_detail_id|id,\Modules\Savings\Entities\SavingsTransaction,payment_detail_id|id,\Modules\Payroll\Entities\PayrollPayment,payment_detail_id|id,\Modules\Wallet\Entities\WalletTransaction,payment_detail_id|id,\Modules\Share\Entities\ShareTransaction,payment_detail_id
     * @mixin _IH_PaymentDetail_QB
     */
    class PaymentDetail extends Model {}
    
    /**
     * @method static _IH_PaymentGateway_QB onWriteConnection()
     * @method _IH_PaymentGateway_QB newQuery()
     * @method static _IH_PaymentGateway_QB on(null|string $connection = null)
     * @method static _IH_PaymentGateway_QB query()
     * @method static _IH_PaymentGateway_QB with(array|string $relations)
     * @method _IH_PaymentGateway_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_PaymentGateway_C|PaymentGateway[] all()
     * @mixin _IH_PaymentGateway_QB
     */
    class PaymentGateway extends Model {}
    
    /**
     * @property int $id
     * @property string $name
     * @property string|null $system_name
     * @property string|null $description
     * @property int $is_cash
     * @property int $is_online
     * @property int $is_system
     * @property int $active
     * @property int|null $position
     * @property string|null $options
     * @property string|null $unique_id
     * @property Carbon|null $created_at
     * @property Carbon|null $updated_at
     * @method static _IH_PaymentType_QB onWriteConnection()
     * @method _IH_PaymentType_QB newQuery()
     * @method static _IH_PaymentType_QB on(null|string $connection = null)
     * @method static _IH_PaymentType_QB query()
     * @method static _IH_PaymentType_QB with(array|string $relations)
     * @method _IH_PaymentType_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_PaymentType_C|PaymentType[] all()
     * @foreignLinks id,\Modules\Core\Entities\PaymentDetail,payment_type_id|id,\Modules\Payroll\Entities\PayrollPayment,payment_type_id
     * @mixin _IH_PaymentType_QB
     */
    class PaymentType extends Model {}
    
    /**
     * @property int $id
     * @property string|null $name
     * @property string|null $code
     * @property float|null $amount
     * @property string $type
     * @property int $active
     * @property string|null $description
     * @property Carbon|null $created_at
     * @property Carbon|null $updated_at
     * @method static _IH_TaxRate_QB onWriteConnection()
     * @method _IH_TaxRate_QB newQuery()
     * @method static _IH_TaxRate_QB on(null|string $connection = null)
     * @method static _IH_TaxRate_QB query()
     * @method static _IH_TaxRate_QB with(array|string $relations)
     * @method _IH_TaxRate_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_TaxRate_C|TaxRate[] all()
     * @mixin _IH_TaxRate_QB
     */
    class TaxRate extends Model {}
    
    /**
     * @property int $id
     * @property string $zone_id
     * @property string $country_code
     * @property string $zone_name
     * @method static _IH_Timezone_QB onWriteConnection()
     * @method _IH_Timezone_QB newQuery()
     * @method static _IH_Timezone_QB on(null|string $connection = null)
     * @method static _IH_Timezone_QB query()
     * @method static _IH_Timezone_QB with(array|string $relations)
     * @method _IH_Timezone_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_Timezone_C|Timezone[] all()
     * @mixin _IH_Timezone_QB
     */
    class Timezone extends Model {}
}