HEX
Server: LiteSpeed
System: Linux sv4.hami.host 5.14.0-611.54.3.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Thu May 7 16:31:24 EDT 2026 x86_64
User: armgroup (1008)
PHP: 8.2.32
Disabled: show_source, system, shell_exec, passthru, exec, popen, proc_open, mail, socket_create, socket_create_listen, socket_create_pair, link, dl, openlog, syslog, stream_socket_server, curl_multi_init
Upload Files
File: /home/armgroup/libs/vendor/_laravel_idea/_ide_helper_models_fcbef240bab02b28bcdf663e7b60a935.php
<?php //8073ae721246383868b4e7c4b05a923f
/** @noinspection all */

namespace App\Models {

    use App\Enums\OrderPaymentType;
    use App\Enums\OrderStatus;
    use App\Enums\TicketPriority;
    use App\Enums\TicketStatus;
    use Database\Factories\AddressFactory;
    use Database\Factories\ArticleFactory;
    use Database\Factories\CategoryFactory;
    use Database\Factories\CommentFactory;
    use Database\Factories\ContactFactory;
    use Database\Factories\MenuFactory;
    use Database\Factories\PageFactory;
    use Database\Factories\UserFactory;
    use Illuminate\Database\Eloquent\Model;
    use Illuminate\Database\Eloquent\Relations\BelongsTo;
    use Illuminate\Database\Eloquent\Relations\BelongsToMany;
    use Illuminate\Database\Eloquent\Relations\HasMany;
    use Illuminate\Database\Eloquent\Relations\HasOne;
    use Illuminate\Database\Eloquent\Relations\MorphTo;
    use Illuminate\Database\Eloquent\Relations\MorphToMany;
    use Illuminate\Notifications\DatabaseNotification;
    use Illuminate\Notifications\DatabaseNotificationCollection;
    use Illuminate\Support\Carbon;
    use LaravelIdea\Helper\App\Models\_IH_Address_C;
    use LaravelIdea\Helper\App\Models\_IH_Address_QB;
    use LaravelIdea\Helper\App\Models\_IH_Article_C;
    use LaravelIdea\Helper\App\Models\_IH_Article_QB;
    use LaravelIdea\Helper\App\Models\_IH_AttributeGroup_C;
    use LaravelIdea\Helper\App\Models\_IH_AttributeGroup_QB;
    use LaravelIdea\Helper\App\Models\_IH_AttributeValue_C;
    use LaravelIdea\Helper\App\Models\_IH_AttributeValue_QB;
    use LaravelIdea\Helper\App\Models\_IH_Attribute_C;
    use LaravelIdea\Helper\App\Models\_IH_Attribute_QB;
    use LaravelIdea\Helper\App\Models\_IH_Author_C;
    use LaravelIdea\Helper\App\Models\_IH_Author_QB;
    use LaravelIdea\Helper\App\Models\_IH_BannerItem_C;
    use LaravelIdea\Helper\App\Models\_IH_BannerItem_QB;
    use LaravelIdea\Helper\App\Models\_IH_Banner_C;
    use LaravelIdea\Helper\App\Models\_IH_Banner_QB;
    use LaravelIdea\Helper\App\Models\_IH_Brand_C;
    use LaravelIdea\Helper\App\Models\_IH_Brand_QB;
    use LaravelIdea\Helper\App\Models\_IH_Category_C;
    use LaravelIdea\Helper\App\Models\_IH_Category_QB;
    use LaravelIdea\Helper\App\Models\_IH_City_C;
    use LaravelIdea\Helper\App\Models\_IH_City_QB;
    use LaravelIdea\Helper\App\Models\_IH_Comment_C;
    use LaravelIdea\Helper\App\Models\_IH_Comment_QB;
    use LaravelIdea\Helper\App\Models\_IH_Contact_C;
    use LaravelIdea\Helper\App\Models\_IH_Contact_QB;
    use LaravelIdea\Helper\App\Models\_IH_Country_C;
    use LaravelIdea\Helper\App\Models\_IH_Country_QB;
    use LaravelIdea\Helper\App\Models\_IH_DiscountUser_C;
    use LaravelIdea\Helper\App\Models\_IH_DiscountUser_QB;
    use LaravelIdea\Helper\App\Models\_IH_Discount_C;
    use LaravelIdea\Helper\App\Models\_IH_Discount_QB;
    use LaravelIdea\Helper\App\Models\_IH_EasyPay_C;
    use LaravelIdea\Helper\App\Models\_IH_EasyPay_QB;
    use LaravelIdea\Helper\App\Models\_IH_Faq_C;
    use LaravelIdea\Helper\App\Models\_IH_Faq_QB;
    use LaravelIdea\Helper\App\Models\_IH_Favorite_C;
    use LaravelIdea\Helper\App\Models\_IH_Favorite_QB;
    use LaravelIdea\Helper\App\Models\_IH_Feedback_C;
    use LaravelIdea\Helper\App\Models\_IH_Feedback_QB;
    use LaravelIdea\Helper\App\Models\_IH_Image_C;
    use LaravelIdea\Helper\App\Models\_IH_Image_QB;
    use LaravelIdea\Helper\App\Models\_IH_LegalInformation_C;
    use LaravelIdea\Helper\App\Models\_IH_LegalInformation_QB;
    use LaravelIdea\Helper\App\Models\_IH_LockedStock_C;
    use LaravelIdea\Helper\App\Models\_IH_LockedStock_QB;
    use LaravelIdea\Helper\App\Models\_IH_Menu_C;
    use LaravelIdea\Helper\App\Models\_IH_Menu_QB;
    use LaravelIdea\Helper\App\Models\_IH_NewsletterMember_C;
    use LaravelIdea\Helper\App\Models\_IH_NewsletterMember_QB;
    use LaravelIdea\Helper\App\Models\_IH_OptionValue_C;
    use LaravelIdea\Helper\App\Models\_IH_OptionValue_QB;
    use LaravelIdea\Helper\App\Models\_IH_Option_C;
    use LaravelIdea\Helper\App\Models\_IH_Option_QB;
    use LaravelIdea\Helper\App\Models\_IH_OrderProduct_C;
    use LaravelIdea\Helper\App\Models\_IH_OrderProduct_QB;
    use LaravelIdea\Helper\App\Models\_IH_OrderShop_C;
    use LaravelIdea\Helper\App\Models\_IH_OrderShop_QB;
    use LaravelIdea\Helper\App\Models\_IH_Order_C;
    use LaravelIdea\Helper\App\Models\_IH_Order_QB;
    use LaravelIdea\Helper\App\Models\_IH_Organization_C;
    use LaravelIdea\Helper\App\Models\_IH_Organization_QB;
    use LaravelIdea\Helper\App\Models\_IH_Page_C;
    use LaravelIdea\Helper\App\Models\_IH_Page_QB;
    use LaravelIdea\Helper\App\Models\_IH_Payment_C;
    use LaravelIdea\Helper\App\Models\_IH_Payment_QB;
    use LaravelIdea\Helper\App\Models\_IH_Point_C;
    use LaravelIdea\Helper\App\Models\_IH_Point_QB;
    use LaravelIdea\Helper\App\Models\_IH_ProductDemand_C;
    use LaravelIdea\Helper\App\Models\_IH_ProductDemand_QB;
    use LaravelIdea\Helper\App\Models\_IH_Product_C;
    use LaravelIdea\Helper\App\Models\_IH_Product_QB;
    use LaravelIdea\Helper\App\Models\_IH_Province_C;
    use LaravelIdea\Helper\App\Models\_IH_Province_QB;
    use LaravelIdea\Helper\App\Models\_IH_Score_C;
    use LaravelIdea\Helper\App\Models\_IH_Score_QB;
    use LaravelIdea\Helper\App\Models\_IH_Setting_C;
    use LaravelIdea\Helper\App\Models\_IH_Setting_QB;
    use LaravelIdea\Helper\App\Models\_IH_ShippingPrice_C;
    use LaravelIdea\Helper\App\Models\_IH_ShippingPrice_QB;
    use LaravelIdea\Helper\App\Models\_IH_Shop_C;
    use LaravelIdea\Helper\App\Models\_IH_Shop_QB;
    use LaravelIdea\Helper\App\Models\_IH_Tag_C;
    use LaravelIdea\Helper\App\Models\_IH_Tag_QB;
    use LaravelIdea\Helper\App\Models\_IH_TicketAttachment_C;
    use LaravelIdea\Helper\App\Models\_IH_TicketAttachment_QB;
    use LaravelIdea\Helper\App\Models\_IH_TicketMessage_C;
    use LaravelIdea\Helper\App\Models\_IH_TicketMessage_QB;
    use LaravelIdea\Helper\App\Models\_IH_Ticket_C;
    use LaravelIdea\Helper\App\Models\_IH_Ticket_QB;
    use LaravelIdea\Helper\App\Models\_IH_User_C;
    use LaravelIdea\Helper\App\Models\_IH_User_QB;
    use LaravelIdea\Helper\App\Models\_IH_Verification_C;
    use LaravelIdea\Helper\App\Models\_IH_Verification_QB;
    use LaravelIdea\Helper\App\Models\_IH_Wallet_C;
    use LaravelIdea\Helper\App\Models\_IH_Wallet_QB;
    use LaravelIdea\Helper\Illuminate\Notifications\_IH_DatabaseNotification_QB;
    use LaravelIdea\Helper\Spatie\Permission\Models\_IH_Permission_C;
    use LaravelIdea\Helper\Spatie\Permission\Models\_IH_Permission_QB;
    use LaravelIdea\Helper\Spatie\Permission\Models\_IH_Role_C;
    use LaravelIdea\Helper\Spatie\Permission\Models\_IH_Role_QB;
    use Spatie\Permission\Models\Permission;
    use Spatie\Permission\Models\Role;

    /**
     * @property int $id
     * @property int $city_id
     * @property string $address
     * @property string|null $plaque
     * @property string|null $floor
     * @property string|null $postal_code
     * @property string $name
     * @property string $mobile
     * @property string|null $national_code
     * @property string|null $lat
     * @property string|null $lng
     * @property Carbon|null $created_at
     * @property Carbon|null $updated_at
     * @property City $city
     * @method BelongsTo|_IH_City_QB city()
     * @property _IH_Order_C|Order[] $orders
     * @property-read int $orders_count
     * @method MorphToMany|_IH_Order_QB orders()
     * @property _IH_Shop_C|Shop[] $shops
     * @property-read int $shops_count
     * @method MorphToMany|_IH_Shop_QB shops()
     * @property _IH_User_C|User[] $users
     * @property-read int $users_count
     * @method MorphToMany|_IH_User_QB users()
     * @method static _IH_Address_QB onWriteConnection()
     * @method _IH_Address_QB newQuery()
     * @method static _IH_Address_QB on(null|string $connection = null)
     * @method static _IH_Address_QB query()
     * @method static _IH_Address_QB with(array|string $relations)
     * @method _IH_Address_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_Address_C|Address[] all()
     * @ownLinks city_id,\App\Models\City,id
     * @foreignLinks
     * @mixin _IH_Address_QB
     * @method static AddressFactory factory(array|callable|int|null $count = null, array|callable $state = [])
     */
    class Address extends Model {}

    /**
     * @property int $id
     * @property int|null $user_id
     * @property string $title
     * @property string|null $h1
     * @property string $slug
     * @property string|null $image
     * @property string $description
     * @property string $content
     * @property array|null $faq
     * @property bool $status
     * @property Carbon|null $created_at
     * @property Carbon|null $updated_at
     * @property-read string $resized300200_image attribute
     * @property-read $url attribute
     * @property _IH_Category_C|Category[] $categories
     * @property-read int $categories_count
     * @method MorphToMany|_IH_Category_QB categories()
     * @property _IH_Comment_C|Comment[] $comments
     * @property-read int $comments_count
     * @method MorphToMany|_IH_Comment_QB comments()
     * @property _IH_Favorite_C|Favorite[] $favorites
     * @property-read int $favorites_count
     * @method MorphToMany|_IH_Favorite_QB favorites()
     * @property _IH_Category_C|Category[] $productCategories
     * @property-read int $product_categories_count
     * @method BelongsToMany|_IH_Category_QB productCategories()
     * @property _IH_Score_C|Score[] $scores
     * @property-read int $scores_count
     * @method MorphToMany|_IH_Score_QB scores()
     * @property User|null $user
     * @method BelongsTo|_IH_User_QB user()
     * @method static _IH_Article_QB onWriteConnection()
     * @method _IH_Article_QB newQuery()
     * @method static _IH_Article_QB on(null|string $connection = null)
     * @method static _IH_Article_QB query()
     * @method static _IH_Article_QB with(array|string $relations)
     * @method _IH_Article_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_Article_C|Article[] all()
     * @ownLinks user_id,\App\Models\User,id
     * @foreignLinks
     * @mixin _IH_Article_QB
     * @method static ArticleFactory factory(array|callable|int|null $count = null, array|callable $state = [])
     */
    class Article extends Model {}

    /**
     * @property int $id
     * @property int $group_id
     * @property string $name
     * @property int|null $sort_order
     * @property bool $highlight
     * @property Carbon|null $created_at
     * @property Carbon|null $updated_at
     * @property AttributeGroup $group
     * @method BelongsTo|_IH_AttributeGroup_QB group()
     * @property _IH_Product_C|Product[] $products
     * @property-read int $products_count
     * @method BelongsToMany|_IH_Product_QB products()
     * @property _IH_AttributeValue_C|AttributeValue[] $values
     * @property-read int $values_count
     * @method HasMany|_IH_AttributeValue_QB values()
     * @method static _IH_Attribute_QB onWriteConnection()
     * @method _IH_Attribute_QB newQuery()
     * @method static _IH_Attribute_QB on(null|string $connection = null)
     * @method static _IH_Attribute_QB query()
     * @method static _IH_Attribute_QB with(array|string $relations)
     * @method _IH_Attribute_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_Attribute_C|Attribute[] all()
     * @ownLinks group_id,\App\Models\AttributeGroup,id
     * @foreignLinks id,\App\Models\AttributeValue,attribute_id
     * @mixin _IH_Attribute_QB
     */
    class Attribute extends Model {}

    /**
     * @property int $id
     * @property string $name
     * @property string|null $label
     * @property int|null $sort_order
     * @property Carbon|null $created_at
     * @property Carbon|null $updated_at
     * @property _IH_Attribute_C|Attribute[] $attributes
     * @property-read int $attributes_count
     * @method HasMany|_IH_Attribute_QB attributes()
     * @property _IH_Category_C|Category[] $categories
     * @property-read int $categories_count
     * @method BelongsToMany|_IH_Category_QB categories()
     * @method static _IH_AttributeGroup_QB onWriteConnection()
     * @method _IH_AttributeGroup_QB newQuery()
     * @method static _IH_AttributeGroup_QB on(null|string $connection = null)
     * @method static _IH_AttributeGroup_QB query()
     * @method static _IH_AttributeGroup_QB with(array|string $relations)
     * @method _IH_AttributeGroup_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_AttributeGroup_C|AttributeGroup[] all()
     * @foreignLinks id,\App\Models\Attribute,group_id
     * @mixin _IH_AttributeGroup_QB
     */
    class AttributeGroup extends Model {}

    /**
     * @property int $id
     * @property int $attribute_id
     * @property string $value
     * @property Carbon|null $created_at
     * @property Carbon|null $updated_at
     * @property Attribute $attribute
     * @method BelongsTo|_IH_Attribute_QB attribute()
     * @property _IH_Product_C|Product[] $products
     * @property-read int $products_count
     * @method BelongsToMany|_IH_Product_QB products()
     * @method static _IH_AttributeValue_QB onWriteConnection()
     * @method _IH_AttributeValue_QB newQuery()
     * @method static _IH_AttributeValue_QB on(null|string $connection = null)
     * @method static _IH_AttributeValue_QB query()
     * @method static _IH_AttributeValue_QB with(array|string $relations)
     * @method _IH_AttributeValue_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_AttributeValue_C|AttributeValue[] all()
     * @ownLinks attribute_id,\App\Models\Attribute,id
     * @foreignLinks
     * @mixin _IH_AttributeValue_QB
     */
    class AttributeValue extends Model {}

    /**
     * @property int $id
     * @property string $name
     * @property string $slug
     * @property string|null $h1
     * @property string|null $meta_title
     * @property string|null $image
     * @property string|null $short_description
     * @property string|null $description
     * @property int|null $sort_order
     * @property array|null $faq
     * @property Carbon|null $created_at
     * @property Carbon|null $updated_at
     * @method static _IH_Author_QB onWriteConnection()
     * @method _IH_Author_QB newQuery()
     * @method static _IH_Author_QB on(null|string $connection = null)
     * @method static _IH_Author_QB query()
     * @method static _IH_Author_QB with(array|string $relations)
     * @method _IH_Author_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_Author_C|Author[] all()
     * @mixin _IH_Author_QB
     */
    class Author extends Model {}

    /**
     * @property int $id
     * @property string $name
     * @property string $position
     * @property string|null $height
     * @property string|null $width
     * @property bool $status
     * @property Carbon|null $created_at
     * @property Carbon|null $updated_at
     * @property _IH_BannerItem_C|BannerItem[] $items
     * @property-read int $items_count
     * @method HasMany|_IH_BannerItem_QB items()
     * @method static _IH_Banner_QB onWriteConnection()
     * @method _IH_Banner_QB newQuery()
     * @method static _IH_Banner_QB on(null|string $connection = null)
     * @method static _IH_Banner_QB query()
     * @method static _IH_Banner_QB with(array|string $relations)
     * @method _IH_Banner_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_Banner_C|Banner[] all()
     * @foreignLinks id,\App\Models\BannerItem,banner_id
     * @mixin _IH_Banner_QB
     */
    class Banner extends Model {}

    /**
     * @property int $id
     * @property int $banner_id
     * @property string|null $title
     * @property string|null $url
     * @property string|null $image
     * @property string|null $description
     * @property int|null $sort_order
     * @property bool $limitation
     * @property Carbon|null $started_at
     * @property Carbon|null $ended_at
     * @property Carbon|null $created_at
     * @property Carbon|null $updated_at
     * @property Banner $banner
     * @method BelongsTo|_IH_Banner_QB banner()
     * @method static _IH_BannerItem_QB onWriteConnection()
     * @method _IH_BannerItem_QB newQuery()
     * @method static _IH_BannerItem_QB on(null|string $connection = null)
     * @method static _IH_BannerItem_QB query()
     * @method static _IH_BannerItem_QB with(array|string $relations)
     * @method _IH_BannerItem_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_BannerItem_C|BannerItem[] all()
     * @ownLinks banner_id,\App\Models\Banner,id
     * @mixin _IH_BannerItem_QB
     */
    class BannerItem extends Model {}

    /**
     * @property int $id
     * @property string $name
     * @property string $slug
     * @property string|null $h1
     * @property string|null $meta_title
     * @property string|null $image
     * @property string|null $short_description
     * @property string|null $description
     * @property int|null $sort_order
     * @property array|null $faq
     * @property Carbon|null $created_at
     * @property Carbon|null $updated_at
     * @property _IH_Product_C|Product[] $activeProducts
     * @property-read int $active_products_count
     * @method HasMany|_IH_Product_QB activeProducts()
     * @property _IH_Product_C|Product[] $products
     * @property-read int $products_count
     * @method HasMany|_IH_Product_QB products()
     * @method static _IH_Brand_QB onWriteConnection()
     * @method _IH_Brand_QB newQuery()
     * @method static _IH_Brand_QB on(null|string $connection = null)
     * @method static _IH_Brand_QB query()
     * @method static _IH_Brand_QB with(array|string $relations)
     * @method _IH_Brand_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_Brand_C|Brand[] all()
     * @foreignLinks id,\App\Models\Product,brand_id
     * @mixin _IH_Brand_QB
     */
    class Brand extends Model {}

    /**
     * @property int $id
     * @property int|null $parent_id
     * @property string $type
     * @property string $name
     * @property string|null $meta_title
     * @property string|null $h1
     * @property string $slug
     * @property string|null $icon
     * @property string|null $image
     * @property string|null $short_description
     * @property string|null $description
     * @property int|null $sort_order
     * @property float|null $commission
     * @property array|null $faq
     * @property bool $show_in_index
     * @property bool $status
     * @property Carbon|null $created_at
     * @property Carbon|null $updated_at
     * @property-read $parents attribute
     * @property _IH_Category_C|Category[] $activeChildren
     * @property-read int $active_children_count
     * @method HasMany|_IH_Category_QB activeChildren()
     * @property _IH_Article_C|Article[] $articles
     * @property-read int $articles_count
     * @method MorphToMany|_IH_Article_QB articles()
     * @property _IH_AttributeGroup_C|AttributeGroup[] $attributeGroups
     * @property-read int $attribute_groups_count
     * @method BelongsToMany|_IH_AttributeGroup_QB attributeGroups()
     * @property _IH_Category_C|Category[] $children
     * @property-read int $children_count
     * @method HasMany|_IH_Category_QB children()
     * @property _IH_Contact_C|Contact[] $contacts
     * @property-read int $contacts_count
     * @method MorphToMany|_IH_Contact_QB contacts()
     * @property _IH_Faq_C|Faq[] $faqs
     * @property-read int $faqs_count
     * @method MorphToMany|_IH_Faq_QB faqs()
     * @property _IH_Option_C|Option[] $options
     * @property-read int $options_count
     * @method BelongsToMany|_IH_Option_QB options()
     * @property Category|null $parent
     * @method BelongsTo|_IH_Category_QB parent()
     * @property _IH_Article_C|Article[] $productArticles
     * @property-read int $product_articles_count
     * @method BelongsToMany|_IH_Article_QB productArticles()
     * @property _IH_Product_C|Product[] $products
     * @property-read int $products_count
     * @method MorphToMany|_IH_Product_QB products()
     * @method static _IH_Category_QB onWriteConnection()
     * @method _IH_Category_QB newQuery()
     * @method static _IH_Category_QB on(null|string $connection = null)
     * @method static _IH_Category_QB query()
     * @method static _IH_Category_QB with(array|string $relations)
     * @method _IH_Category_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_Category_C|Category[] all()
     * @ownLinks parent_id,\App\Models\Category,id
     * @foreignLinks id,\App\Models\Category,parent_id
     * @mixin _IH_Category_QB
     * @method static CategoryFactory factory(array|callable|int|null $count = null, array|callable $state = [])
     */
    class Category extends Model {}

    /**
     * @property int $id
     * @property int $province_id
     * @property int $code
     * @property string $name
     * @property bool $express_status
     * @property bool $courier_status
     * @property int $express_default
     * @property int $courier_default
     * @property Province $province
     * @method BelongsTo|_IH_Province_QB province()
     * @property _IH_Shop_C|Shop[] $shops
     * @property-read int $shops_count
     * @method HasMany|_IH_Shop_QB shops()
     * @method static _IH_City_QB onWriteConnection()
     * @method _IH_City_QB newQuery()
     * @method static _IH_City_QB on(null|string $connection = null)
     * @method static _IH_City_QB query()
     * @method static _IH_City_QB with(array|string $relations)
     * @method _IH_City_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_City_C|City[] all()
     * @ownLinks province_id,\App\Models\Province,id
     * @foreignLinks id,\App\Models\Address,city_id|id,\App\Models\Order,city_id|id,\App\Models\Shop,city_id
     * @mixin _IH_City_QB
     */
    class City extends Model {}

    /**
     * @property int $id
     * @property int|null $user_id
     * @property int|null $parent_id
     * @property int $commentable_id
     * @property string $commentable_type
     * @property string $name
     * @property string|null $email
     * @property string|null $comment
     * @property array|null $positive_points
     * @property array|null $negative_points
     * @property bool $checked
     * @property int $status
     * @property Carbon|null $created_at
     * @property Carbon|null $updated_at
     * @property-read $avatar attribute
     * @property-read $mini_avatar attribute
     * @property _IH_Comment_C|Comment[] $activeChildren
     * @property-read int $active_children_count
     * @method HasMany|_IH_Comment_QB activeChildren()
     * @property _IH_Comment_C|Comment[] $children
     * @property-read int $children_count
     * @method HasMany|_IH_Comment_QB children()
     * @property Model $commentable
     * @method MorphTo commentable()
     * @property _IH_Feedback_C|Feedback[] $feedback
     * @property-read int $feedback_count
     * @method MorphToMany|_IH_Feedback_QB feedback()
     * @property Comment|null $parent
     * @method BelongsTo|_IH_Comment_QB parent()
     * @property _IH_Score_C|Score[] $scores
     * @property-read int $scores_count
     * @method MorphToMany|_IH_Score_QB scores()
     * @property User|null $user
     * @method BelongsTo|_IH_User_QB user()
     * @method static _IH_Comment_QB onWriteConnection()
     * @method _IH_Comment_QB newQuery()
     * @method static _IH_Comment_QB on(null|string $connection = null)
     * @method static _IH_Comment_QB query()
     * @method static _IH_Comment_QB with(array|string $relations)
     * @method _IH_Comment_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_Comment_C|Comment[] all()
     * @ownLinks user_id,\App\Models\User,id|parent_id,\App\Models\Comment,id
     * @foreignLinks id,\App\Models\Comment,parent_id
     * @mixin _IH_Comment_QB
     * @method static CommentFactory factory(array|callable|int|null $count = null, array|callable $state = [])
     */
    class Comment extends Model {}

    /**
     * @property int $id
     * @property string $name
     * @property string|null $email
     * @property string $mobile
     * @property string $message
     * @property string|null $file
     * @property bool $checked
     * @property Carbon|null $created_at
     * @property Carbon|null $updated_at
     * @property-read $avatar attribute
     * @property _IH_Category_C|Category[] $categories
     * @property-read int $categories_count
     * @method MorphToMany|_IH_Category_QB categories()
     * @method static _IH_Contact_QB onWriteConnection()
     * @method _IH_Contact_QB newQuery()
     * @method static _IH_Contact_QB on(null|string $connection = null)
     * @method static _IH_Contact_QB query()
     * @method static _IH_Contact_QB with(array|string $relations)
     * @method _IH_Contact_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_Contact_C|Contact[] all()
     * @mixin _IH_Contact_QB
     * @method static ContactFactory factory(array|callable|int|null $count = null, array|callable $state = [])
     */
    class Contact extends Model {}

    /**
     * @property int $id
     * @property string $iso
     * @property string $name
     * @property string $iso3
     * @property int|null $numcode
     * @property int $phoneCode
     * @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()
     * @mixin _IH_Country_QB
     */
    class Country extends Model {}

    /**
     * @property int $id
     * @property int|null $user_id
     * @property string $title
     * @property string $code
     * @property int $type
     * @property int $amount
     * @property int|null $minimum_order_price
     * @property int|null $usage
     * @property Carbon $start_date
     * @property Carbon $end_date
     * @property string $discountable_type
     * @property array|null $discountable_items
     * @property int $notification_type
     * @property bool $is_general
     * @property Carbon|null $created_at
     * @property Carbon|null $updated_at
     * @property-read string $message attribute
     * @property _IH_DiscountUser_C|DiscountUser[] $codes
     * @property-read int $codes_count
     * @method HasMany|_IH_DiscountUser_QB codes()
     * @property User|null $user
     * @method BelongsTo|_IH_User_QB user()
     * @property _IH_User_C|User[] $users
     * @property-read int $users_count
     * @method BelongsToMany|_IH_User_QB users()
     * @method static _IH_Discount_QB onWriteConnection()
     * @method _IH_Discount_QB newQuery()
     * @method static _IH_Discount_QB on(null|string $connection = null)
     * @method static _IH_Discount_QB query()
     * @method static _IH_Discount_QB with(array|string $relations)
     * @method _IH_Discount_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_Discount_C|Discount[] all()
     * @ownLinks user_id,\App\Models\User,id
     * @foreignLinks id,\App\Models\DiscountUser,discount_id|id,\App\Models\Order,discount_id
     * @mixin _IH_Discount_QB
     */
    class Discount extends Model {}

    /**
     * @property int $id
     * @property int $discount_id
     * @property int $user_id
     * @property int $usage
     * @property Carbon|null $created_at
     * @property Carbon|null $updated_at
     * @property User $user
     * @method BelongsTo|_IH_User_QB user()
     * @method static _IH_DiscountUser_QB onWriteConnection()
     * @method _IH_DiscountUser_QB newQuery()
     * @method static _IH_DiscountUser_QB on(null|string $connection = null)
     * @method static _IH_DiscountUser_QB query()
     * @method static _IH_DiscountUser_QB with(array|string $relations)
     * @method _IH_DiscountUser_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_DiscountUser_C|DiscountUser[] all()
     * @ownLinks discount_id,\App\Models\Discount,id|user_id,\App\Models\User,id
     * @mixin _IH_DiscountUser_QB
     */
    class DiscountUser extends Model {}

    /**
     * @property int $id
     * @property int|null $user_id
     * @property string $name
     * @property string $mobile
     * @property int $amount
     * @property string $description
     * @property bool $checked
     * @property bool $status
     * @property Carbon|null $created_at
     * @property Carbon|null $updated_at
     * @property _IH_Payment_C|Payment[] $payments
     * @property-read int $payments_count
     * @method MorphToMany|_IH_Payment_QB payments()
     * @property User|null $user
     * @method BelongsTo|_IH_User_QB user()
     * @method static _IH_EasyPay_QB onWriteConnection()
     * @method _IH_EasyPay_QB newQuery()
     * @method static _IH_EasyPay_QB on(null|string $connection = null)
     * @method static _IH_EasyPay_QB query()
     * @method static _IH_EasyPay_QB with(array|string $relations)
     * @method _IH_EasyPay_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_EasyPay_C|EasyPay[] all()
     * @ownLinks user_id,\App\Models\User,id
     * @mixin _IH_EasyPay_QB
     */
    class EasyPay extends Model {}

    /**
     * @property int $id
     * @property string $question
     * @property string $answer
     * @property int|null $sort_order
     * @property bool $status
     * @property Carbon|null $created_at
     * @property Carbon|null $updated_at
     * @property _IH_Category_C|Category[] $categories
     * @property-read int $categories_count
     * @method MorphToMany|_IH_Category_QB categories()
     * @method static _IH_Faq_QB onWriteConnection()
     * @method _IH_Faq_QB newQuery()
     * @method static _IH_Faq_QB on(null|string $connection = null)
     * @method static _IH_Faq_QB query()
     * @method static _IH_Faq_QB with(array|string $relations)
     * @method _IH_Faq_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_Faq_C|Faq[] all()
     * @mixin _IH_Faq_QB
     */
    class Faq extends Model {}

    /**
     * @property int $id
     * @property int $user_id
     * @property int $favoritable_id
     * @property string $favoritable_type
     * @property Carbon|null $created_at
     * @property Carbon|null $updated_at
     * @property Model $favoritable
     * @method MorphTo favoritable()
     * @property User $user
     * @method BelongsTo|_IH_User_QB user()
     * @method static _IH_Favorite_QB onWriteConnection()
     * @method _IH_Favorite_QB newQuery()
     * @method static _IH_Favorite_QB on(null|string $connection = null)
     * @method static _IH_Favorite_QB query()
     * @method static _IH_Favorite_QB with(array|string $relations)
     * @method _IH_Favorite_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_Favorite_C|Favorite[] all()
     * @ownLinks user_id,\App\Models\User,id
     * @mixin _IH_Favorite_QB
     */
    class Favorite extends Model {}

    /**
     * @property int $id
     * @property int $user_id
     * @property int $feedbackable_id
     * @property string $feedbackable_type
     * @property int $type
     * @property Carbon|null $created_at
     * @property Carbon|null $updated_at
     * @property Model $feedbackable
     * @method MorphTo feedbackable()
     * @property User $user
     * @method BelongsTo|_IH_User_QB user()
     * @method static _IH_Feedback_QB onWriteConnection()
     * @method _IH_Feedback_QB newQuery()
     * @method static _IH_Feedback_QB on(null|string $connection = null)
     * @method static _IH_Feedback_QB query()
     * @method static _IH_Feedback_QB with(array|string $relations)
     * @method _IH_Feedback_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_Feedback_C|Feedback[] all()
     * @ownLinks user_id,\App\Models\User,id
     * @mixin _IH_Feedback_QB
     */
    class Feedback extends Model {}

    /**
     * @property int $id
     * @property int $imageable_id
     * @property string $imageable_type
     * @property string|null $title
     * @property string $path
     * @property int|null $sort_order
     * @property Carbon|null $created_at
     * @property Carbon|null $updated_at
     * @property Model $imageable
     * @method MorphTo imageable()
     * @method static _IH_Image_QB onWriteConnection()
     * @method _IH_Image_QB newQuery()
     * @method static _IH_Image_QB on(null|string $connection = null)
     * @method static _IH_Image_QB query()
     * @method static _IH_Image_QB with(array|string $relations)
     * @method _IH_Image_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_Image_C|Image[] all()
     * @mixin _IH_Image_QB
     */
    class Image extends Model {}

    /**
     * @property int $id
     * @property int $user_id
     * @property string $company
     * @property string $national_id
     * @property string $economic_code
     * @property string $phone
     * @property string $name_of_ceo
     * @property string $organization_level
     * @property string $address
     * @property Carbon|null $created_at
     * @property Carbon|null $updated_at
     * @property User $user
     * @method BelongsTo|_IH_User_QB user()
     * @method static _IH_LegalInformation_QB onWriteConnection()
     * @method _IH_LegalInformation_QB newQuery()
     * @method static _IH_LegalInformation_QB on(null|string $connection = null)
     * @method static _IH_LegalInformation_QB query()
     * @method static _IH_LegalInformation_QB with(array|string $relations)
     * @method _IH_LegalInformation_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_LegalInformation_C|LegalInformation[] all()
     * @ownLinks user_id,\App\Models\User,id
     * @mixin _IH_LegalInformation_QB
     */
    class LegalInformation extends Model {}

    /**
     * @property int $id
     * @property int $order_id
     * @property int $product_id
     * @property int|null $option_id
     * @property int|null $value_id
     * @property int $quantity
     * @property Carbon|null $created_at
     * @property Carbon|null $updated_at
     * @property Option|null $option
     * @method BelongsTo|_IH_Option_QB option()
     * @property OptionValue|null $optionValue
     * @method BelongsTo|_IH_OptionValue_QB optionValue()
     * @property Order $order
     * @method BelongsTo|_IH_Order_QB order()
     * @property Product $product
     * @method BelongsTo|_IH_Product_QB product()
     * @method static _IH_LockedStock_QB onWriteConnection()
     * @method _IH_LockedStock_QB newQuery()
     * @method static _IH_LockedStock_QB on(null|string $connection = null)
     * @method static _IH_LockedStock_QB query()
     * @method static _IH_LockedStock_QB with(array|string $relations)
     * @method _IH_LockedStock_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_LockedStock_C|LockedStock[] all()
     * @ownLinks order_id,\App\Models\Order,id|product_id,\App\Models\Product,id|option_id,\App\Models\Option,id|value_id,\App\Models\OptionValue,id
     * @mixin _IH_LockedStock_QB
     */
    class LockedStock extends Model {}

    /**
     * @property int $id
     * @property int|null $parent_id
     * @property string $title
     * @property string|null $url
     * @property string|null $icon
     * @property int|null $sort_order
     * @property bool $status
     * @property Carbon|null $created_at
     * @property Carbon|null $updated_at
     * @property _IH_Menu_C|Menu[] $activeChildren
     * @property-read int $active_children_count
     * @method HasMany|_IH_Menu_QB activeChildren()
     * @property _IH_Menu_C|Menu[] $children
     * @property-read int $children_count
     * @method HasMany|_IH_Menu_QB children()
     * @property Menu|null $parent
     * @method BelongsTo|_IH_Menu_QB parent()
     * @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()
     * @ownLinks parent_id,\App\Models\Menu,id
     * @foreignLinks id,\App\Models\Menu,parent_id
     * @mixin _IH_Menu_QB
     * @method static MenuFactory factory(array|callable|int|null $count = null, array|callable $state = [])
     */
    class Menu extends Model {}

    /**
     * @property int $id
     * @property string $mobile
     * @property Carbon|null $created_at
     * @property Carbon|null $updated_at
     * @method static _IH_NewsletterMember_QB onWriteConnection()
     * @method _IH_NewsletterMember_QB newQuery()
     * @method static _IH_NewsletterMember_QB on(null|string $connection = null)
     * @method static _IH_NewsletterMember_QB query()
     * @method static _IH_NewsletterMember_QB with(array|string $relations)
     * @method _IH_NewsletterMember_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_NewsletterMember_C|NewsletterMember[] all()
     * @mixin _IH_NewsletterMember_QB
     */
    class NewsletterMember extends Model {}

    /**
     * @property int $id
     * @property string $name
     * @property string|null $label
     * @property int $type
     * @property int|null $sort_order
     * @property Carbon|null $created_at
     * @property Carbon|null $updated_at
     * @property _IH_Category_C|Category[] $categories
     * @property-read int $categories_count
     * @method BelongsToMany|_IH_Category_QB categories()
     * @property _IH_LockedStock_C|LockedStock[] $lockedStocks
     * @property-read int $locked_stocks_count
     * @method HasMany|_IH_LockedStock_QB lockedStocks()
     * @property _IH_Product_C|Product[] $products
     * @property-read int $products_count
     * @method BelongsToMany|_IH_Product_QB products()
     * @property _IH_OptionValue_C|OptionValue[] $values
     * @property-read int $values_count
     * @method HasMany|_IH_OptionValue_QB values()
     * @method static _IH_Option_QB onWriteConnection()
     * @method _IH_Option_QB newQuery()
     * @method static _IH_Option_QB on(null|string $connection = null)
     * @method static _IH_Option_QB query()
     * @method static _IH_Option_QB with(array|string $relations)
     * @method _IH_Option_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_Option_C|Option[] all()
     * @foreignLinks id,\App\Models\OptionValue,option_id|id,\App\Models\OrderProduct,option_id|id,\App\Models\LockedStock,option_id
     * @mixin _IH_Option_QB
     */
    class Option extends Model {}

    /**
     * @property int $id
     * @property int $option_id
     * @property string $name
     * @property string|null $color
     * @property int|null $sort_order
     * @property Carbon|null $created_at
     * @property Carbon|null $updated_at
     * @property _IH_LockedStock_C|LockedStock[] $lockedStocks
     * @property-read int $locked_stocks_count
     * @method HasMany|_IH_LockedStock_QB lockedStocks()
     * @property Option $option
     * @method BelongsTo|_IH_Option_QB option()
     * @property _IH_Product_C|Product[] $products
     * @property-read int $products_count
     * @method BelongsToMany|_IH_Product_QB products()
     * @method static _IH_OptionValue_QB onWriteConnection()
     * @method _IH_OptionValue_QB newQuery()
     * @method static _IH_OptionValue_QB on(null|string $connection = null)
     * @method static _IH_OptionValue_QB query()
     * @method static _IH_OptionValue_QB with(array|string $relations)
     * @method _IH_OptionValue_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_OptionValue_C|OptionValue[] all()
     * @ownLinks option_id,\App\Models\Option,id
     * @foreignLinks id,\App\Models\OrderProduct,value_id|id,\App\Models\LockedStock,value_id
     * @mixin _IH_OptionValue_QB
     */
    class OptionValue extends Model {}

    /**
     * @property int $id
     * @property int $user_id
     * @property int|null $city_id
     * @property string $tracking_code
     * @property string|null $description
     * @property int $price
     * @property int $discount
     * @property int $discount_code_price
     * @property int $shipping_price
     * @property int|null $shipping_type
     * @property Carbon|null $delivery_date
     * @property string|null $delivery_time
     * @property string|null $delivery_code
     * @property bool $checked
     * @property OrderPaymentType $payment_type
     * @property OrderStatus $status
     * @property Carbon|null $created_at
     * @property Carbon|null $updated_at
     * @property int|null $discount_id
     * @property _IH_Address_C|Address[] $addresses
     * @property-read int $addresses_count
     * @method MorphToMany|_IH_Address_QB addresses()
     * @property City|null $city
     * @method BelongsTo|_IH_City_QB city()
     * @property Discount|null $discountCode
     * @method BelongsTo|_IH_Discount_QB discountCode()
     * @property _IH_LockedStock_C|LockedStock[] $lockedStocks
     * @property-read int $locked_stocks_count
     * @method HasMany|_IH_LockedStock_QB lockedStocks()
     * @property _IH_Payment_C|Payment[] $payments
     * @property-read int $payments_count
     * @method MorphToMany|_IH_Payment_QB payments()
     * @property _IH_Product_C|Product[] $products
     * @property-read int $products_count
     * @method BelongsToMany|_IH_Product_QB products()
     * @property _IH_Shop_C|Shop[] $shops
     * @property-read int $shops_count
     * @method BelongsToMany|_IH_Shop_QB shops()
     * @property User $user
     * @method BelongsTo|_IH_User_QB user()
     * @property _IH_Wallet_C|Wallet[] $wallets
     * @property-read int $wallets_count
     * @method MorphToMany|_IH_Wallet_QB wallets()
     * @method static _IH_Order_QB onWriteConnection()
     * @method _IH_Order_QB newQuery()
     * @method static _IH_Order_QB on(null|string $connection = null)
     * @method static _IH_Order_QB query()
     * @method static _IH_Order_QB with(array|string $relations)
     * @method _IH_Order_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_Order_C|Order[] all()
     * @ownLinks user_id,\App\Models\User,id|city_id,\App\Models\City,id|discount_id,\App\Models\Discount,id
     * @foreignLinks id,\App\Models\OrderProduct,order_id|id,\App\Models\LockedStock,order_id|id,\App\Models\OrderShop,order_id
     * @mixin _IH_Order_QB
     */
    class Order extends Model {}

    /**
     * @property int $id
     * @property int $order_id
     * @property int|null $product_id
     * @property int|null $option_id
     * @property int|null $value_id
     * @property string $name
     * @property string|null $gift
     * @property int $quantity
     * @property int $price
     * @property int $discount
     * @property float|null $commission
     * @property int|null $shop_id
     * @property Option|null $option
     * @method BelongsTo|_IH_Option_QB option()
     * @property OptionValue|null $optionValue
     * @method BelongsTo|_IH_OptionValue_QB optionValue()
     * @property Product|null $product
     * @method BelongsTo|_IH_Product_QB product()
     * @property Shop|null $shop
     * @method BelongsTo|_IH_Shop_QB shop()
     * @method static _IH_OrderProduct_QB onWriteConnection()
     * @method _IH_OrderProduct_QB newQuery()
     * @method static _IH_OrderProduct_QB on(null|string $connection = null)
     * @method static _IH_OrderProduct_QB query()
     * @method static _IH_OrderProduct_QB with(array|string $relations)
     * @method _IH_OrderProduct_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_OrderProduct_C|OrderProduct[] all()
     * @ownLinks order_id,\App\Models\Order,id|product_id,\App\Models\Product,id|option_id,\App\Models\Option,id|value_id,\App\Models\OptionValue,id|shop_id,\App\Models\Shop,id
     * @mixin _IH_OrderProduct_QB
     */
    class OrderProduct extends Model {}

    /**
     * @property int $id
     * @property int $order_id
     * @property int $shop_id
     * @property int $price
     * @property int $discount
     * @property bool $checked
     * @property OrderStatus $status
     * @property float|null $price_with_commission_reduction
     * @property Carbon|null $created_at
     * @property Carbon|null $updated_at
     * @property Order $order
     * @method BelongsTo|_IH_Order_QB order()
     * @property Shop $shop
     * @method BelongsTo|_IH_Shop_QB shop()
     * @method static _IH_OrderShop_QB onWriteConnection()
     * @method _IH_OrderShop_QB newQuery()
     * @method static _IH_OrderShop_QB on(null|string $connection = null)
     * @method static _IH_OrderShop_QB query()
     * @method static _IH_OrderShop_QB with(array|string $relations)
     * @method _IH_OrderShop_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_OrderShop_C|OrderShop[] all()
     * @ownLinks order_id,\App\Models\Order,id|shop_id,\App\Models\Shop,id
     * @mixin _IH_OrderShop_QB
     */
    class OrderShop extends Model {}

    /**
     * @property int $id
     * @property string $name
     * @property string $slogan
     * @property string|null $image
     * @property Carbon|null $created_at
     * @property Carbon|null $updated_at
     * @property _IH_Product_C|Product[] $products
     * @property-read int $products_count
     * @method BelongsToMany|_IH_Product_QB products()
     * @property _IH_User_C|User[] $users
     * @property-read int $users_count
     * @method HasMany|_IH_User_QB users()
     * @method static _IH_Organization_QB onWriteConnection()
     * @method _IH_Organization_QB newQuery()
     * @method static _IH_Organization_QB on(null|string $connection = null)
     * @method static _IH_Organization_QB query()
     * @method static _IH_Organization_QB with(array|string $relations)
     * @method _IH_Organization_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_Organization_C|Organization[] all()
     * @foreignLinks id,\App\Models\User,organization_id
     * @mixin _IH_Organization_QB
     */
    class Organization extends Model {}

    /**
     * @property int $id
     * @property int|null $user_id
     * @property string $title
     * @property string $slug
     * @property string|null $image
     * @property string $description
     * @property string $content
     * @property bool $status
     * @property Carbon|null $created_at
     * @property Carbon|null $updated_at
     * @property-read $url attribute
     * @property _IH_Comment_C|Comment[] $comments
     * @property-read int $comments_count
     * @method MorphToMany|_IH_Comment_QB comments()
     * @property User|null $user
     * @method BelongsTo|_IH_User_QB user()
     * @method static _IH_Page_QB onWriteConnection()
     * @method _IH_Page_QB newQuery()
     * @method static _IH_Page_QB on(null|string $connection = null)
     * @method static _IH_Page_QB query()
     * @method static _IH_Page_QB with(array|string $relations)
     * @method _IH_Page_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_Page_C|Page[] all()
     * @ownLinks user_id,\App\Models\User,id
     * @mixin _IH_Page_QB
     * @method static PageFactory factory(array|callable|int|null $count = null, array|callable $state = [])
     */
    class Page extends Model {}

    /**
     * @property int $id
     * @property int|null $user_id
     * @property int|null $paymentable_id
     * @property string $paymentable_type
     * @property int $amount
     * @property string|null $transaction_id
     * @property string|null $reference_id
     * @property string|null $driver
     * @property string|null $ip
     * @property string|null $error_message
     * @property bool $status
     * @property Carbon|null $created_at
     * @property Carbon|null $updated_at
     * @property Model $paymentable
     * @method MorphTo paymentable()
     * @property User|null $user
     * @method BelongsTo|_IH_User_QB user()
     * @method static _IH_Payment_QB onWriteConnection()
     * @method _IH_Payment_QB newQuery()
     * @method static _IH_Payment_QB on(null|string $connection = null)
     * @method static _IH_Payment_QB query()
     * @method static _IH_Payment_QB with(array|string $relations)
     * @method _IH_Payment_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_Payment_C|Payment[] all()
     * @ownLinks user_id,\App\Models\User,id
     * @mixin _IH_Payment_QB
     */
    class Payment extends Model {}

    /**
     * @property int $id
     * @property int $user_id
     * @property int $amount
     * @property int $pointable_id
     * @property string $pointable_type
     * @property string $description
     * @property Carbon|null $created_at
     * @property Carbon|null $updated_at
     * @property Model $pointable
     * @method MorphTo pointable()
     * @property User $user
     * @method BelongsTo|_IH_User_QB user()
     * @method static _IH_Point_QB onWriteConnection()
     * @method _IH_Point_QB newQuery()
     * @method static _IH_Point_QB on(null|string $connection = null)
     * @method static _IH_Point_QB query()
     * @method static _IH_Point_QB with(array|string $relations)
     * @method _IH_Point_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_Point_C|Point[] all()
     * @ownLinks user_id,\App\Models\User,id
     * @mixin _IH_Point_QB
     */
    class Point extends Model {}

    /**
     * @property int $id
     * @property int|null $user_id
     * @property int|null $brand_id
     * @property string $name
     * @property string|null $latin_name
     * @property string|null $meta_title
     * @property string|null $code
     * @property string $slug
     * @property string|null $short_description
     * @property string|null $description
     * @property string $image
     * @property int|null $price
     * @property int|null $stock
     * @property int|null $weight
     * @property int|null $sort_order
     * @property int|null $sending_days
     * @property array|null $faq
     * @property string $score
     * @property string $number_of_participants
     * @property string|null $gift
     * @property bool $suggest
     * @property bool $most_sale
     * @property bool $status
     * @property Carbon|null $created_at
     * @property Carbon|null $updated_at
     * @property int|null $shop_id
     * @property-read string $resized300200_image attribute
     * @property-read null $special attribute
     * @property-read $url attribute
     * @property _IH_OptionValue_C|OptionValue[] $activeOptionValues
     * @property-read int $active_option_values_count
     * @method BelongsToMany|_IH_OptionValue_QB activeOptionValues()
     * @property _IH_Comment_C|Comment[] $approvedComments
     * @property-read int $approved_comments_count
     * @method MorphToMany|_IH_Comment_QB approvedComments()
     * @property _IH_Attribute_C|Attribute[] $attributes
     * @property-read int $attributes_count
     * @method BelongsToMany|_IH_Attribute_QB attributes()
     * @property Brand|null $brand
     * @method BelongsTo|_IH_Brand_QB brand()
     * @property _IH_Category_C|Category[] $categories
     * @property-read int $categories_count
     * @method MorphToMany|_IH_Category_QB categories()
     * @property _IH_Comment_C|Comment[] $comments
     * @property-read int $comments_count
     * @method MorphToMany|_IH_Comment_QB comments()
     * @property _IH_User_C|User[] $demands
     * @property-read int $demands_count
     * @method BelongsToMany|_IH_User_QB demands()
     * @property _IH_Favorite_C|Favorite[] $favorites
     * @property-read int $favorites_count
     * @method MorphToMany|_IH_Favorite_QB favorites()
     * @property _IH_Image_C|Image[] $images
     * @property-read int $images_count
     * @method MorphToMany|_IH_Image_QB images()
     * @property _IH_LockedStock_C|LockedStock[] $lockedStocks
     * @property-read int $locked_stocks_count
     * @method HasMany|_IH_LockedStock_QB lockedStocks()
     * @property _IH_OptionValue_C|OptionValue[] $optionValues
     * @property-read int $option_values_count
     * @method BelongsToMany|_IH_OptionValue_QB optionValues()
     * @property _IH_Option_C|Option[] $options
     * @property-read int $options_count
     * @method BelongsToMany|_IH_Option_QB options()
     * @property _IH_Order_C|Order[] $orders
     * @property-read int $orders_count
     * @method BelongsToMany|_IH_Order_QB orders()
     * @property _IH_Organization_C|Organization[] $organizations
     * @property-read int $organizations_count
     * @method BelongsToMany|_IH_Organization_QB organizations()
     * @property _IH_Score_C|Score[] $scores
     * @property-read int $scores_count
     * @method MorphToMany|_IH_Score_QB scores()
     * @property Shop|null $shop
     * @method BelongsTo|_IH_Shop_QB shop()
     * @property _IH_Tag_C|Tag[] $tags
     * @property-read int $tags_count
     * @method MorphToMany|_IH_Tag_QB tags()
     * @property User|null $user
     * @method BelongsTo|_IH_User_QB user()
     * @property _IH_AttributeValue_C|AttributeValue[] $values
     * @property-read int $values_count
     * @method BelongsToMany|_IH_AttributeValue_QB values()
     * @method static _IH_Product_QB onWriteConnection()
     * @method _IH_Product_QB newQuery()
     * @method static _IH_Product_QB on(null|string $connection = null)
     * @method static _IH_Product_QB query()
     * @method static _IH_Product_QB with(array|string $relations)
     * @method _IH_Product_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_Product_C|Product[] all()
     * @ownLinks user_id,\App\Models\User,id|brand_id,\App\Models\Brand,id|shop_id,\App\Models\Shop,id
     * @foreignLinks id,\App\Models\OrderProduct,product_id|id,\App\Models\LockedStock,product_id|id,\App\Models\ProductDemand,product_id
     * @mixin _IH_Product_QB
     */
    class Product extends Model {}

    /**
     * @property int $user_id
     * @property int $product_id
     * @property Carbon|null $created_at
     * @property Carbon|null $updated_at
     * @property Product $product
     * @method BelongsTo|_IH_Product_QB product()
     * @property User $user
     * @method BelongsTo|_IH_User_QB user()
     * @method static _IH_ProductDemand_QB onWriteConnection()
     * @method _IH_ProductDemand_QB newQuery()
     * @method static _IH_ProductDemand_QB on(null|string $connection = null)
     * @method static _IH_ProductDemand_QB query()
     * @method static _IH_ProductDemand_QB with(array|string $relations)
     * @method _IH_ProductDemand_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_ProductDemand_C|ProductDemand[] all()
     * @ownLinks user_id,\App\Models\User,id|product_id,\App\Models\Product,id
     * @mixin _IH_ProductDemand_QB
     */
    class ProductDemand extends Model {}

    /**
     * @property int $id
     * @property int $code
     * @property string $name
     * @property int $type
     * @property _IH_City_C|City[] $cities
     * @property-read int $cities_count
     * @method HasMany|_IH_City_QB cities()
     * @property _IH_Shop_C|Shop[] $shops
     * @property-read int $shops_count
     * @method HasMany|_IH_Shop_QB shops()
     * @method static _IH_Province_QB onWriteConnection()
     * @method _IH_Province_QB newQuery()
     * @method static _IH_Province_QB on(null|string $connection = null)
     * @method static _IH_Province_QB query()
     * @method static _IH_Province_QB with(array|string $relations)
     * @method _IH_Province_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_Province_C|Province[] all()
     * @foreignLinks id,\App\Models\City,province_id
     * @mixin _IH_Province_QB
     */
    class Province extends Model {}

    /**
     * @property int $id
     * @property int|null $user_id
     * @property int $scorable_id
     * @property string $scorable_type
     * @property int $score
     * @property array|null $items
     * @property Carbon|null $created_at
     * @property Carbon|null $updated_at
     * @property Model $scorable
     * @method MorphTo scorable()
     * @property User|null $user
     * @method BelongsTo|_IH_User_QB user()
     * @method static _IH_Score_QB onWriteConnection()
     * @method _IH_Score_QB newQuery()
     * @method static _IH_Score_QB on(null|string $connection = null)
     * @method static _IH_Score_QB query()
     * @method static _IH_Score_QB with(array|string $relations)
     * @method _IH_Score_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_Score_C|Score[] all()
     * @ownLinks user_id,\App\Models\User,id
     * @mixin _IH_Score_QB
     */
    class Score extends Model {}

    /**
     * @property int $id
     * @property string $name
     * @property string $label
     * @property string|null $rules
     * @property string|null $value
     * @property Carbon|null $created_at
     * @property Carbon|null $updated_at
     * @method static _IH_Setting_QB onWriteConnection()
     * @method _IH_Setting_QB newQuery()
     * @method static _IH_Setting_QB on(null|string $connection = null)
     * @method static _IH_Setting_QB query()
     * @method static _IH_Setting_QB with(array|string $relations)
     * @method _IH_Setting_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_Setting_C|Setting[] all()
     * @mixin _IH_Setting_QB
     */
    class Setting extends Model {}

    /**
     * @property int $id
     * @property int $from
     * @property int|null $up_to
     * @property int|null $my_province_courier
     * @property int|null $my_province_express
     * @property int|null $neighbor_province_courier
     * @property int|null $neighbor_province_express
     * @property int|null $not_neighbor_province_courier
     * @property int|null $not_neighbor_province_express
     * @property Carbon|null $created_at
     * @property Carbon|null $updated_at
     * @method static _IH_ShippingPrice_QB onWriteConnection()
     * @method _IH_ShippingPrice_QB newQuery()
     * @method static _IH_ShippingPrice_QB on(null|string $connection = null)
     * @method static _IH_ShippingPrice_QB query()
     * @method static _IH_ShippingPrice_QB with(array|string $relations)
     * @method _IH_ShippingPrice_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_ShippingPrice_C|ShippingPrice[] all()
     * @mixin _IH_ShippingPrice_QB
     */
    class ShippingPrice extends Model {}

    /**
     * @property int $id
     * @property int|null $user_id
     * @property int $city_id
     * @property string $name
     * @property string $slug
     * @property string $lat
     * @property string $lng
     * @property string $logo
     * @property string|null $description
     * @property int $type
     * @property int|null $sort_order
     * @property bool $status
     * @property Carbon|null $created_at
     * @property Carbon|null $updated_at
     * @property City $city
     * @method BelongsTo|_IH_City_QB city()
     * @property _IH_OrderProduct_C|OrderProduct[] $orderProducts
     * @property-read int $order_products_count
     * @method HasMany|_IH_OrderProduct_QB orderProducts()
     * @property _IH_Order_C|Order[] $orders
     * @property-read int $orders_count
     * @method BelongsToMany|_IH_Order_QB orders()
     * @property _IH_Product_C|Product[] $products
     * @property-read int $products_count
     * @method HasMany|_IH_Product_QB products()
     * @property User|null $user
     * @method BelongsTo|_IH_User_QB user()
     * @method static _IH_Shop_QB onWriteConnection()
     * @method _IH_Shop_QB newQuery()
     * @method static _IH_Shop_QB on(null|string $connection = null)
     * @method static _IH_Shop_QB query()
     * @method static _IH_Shop_QB with(array|string $relations)
     * @method _IH_Shop_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_Shop_C|Shop[] all()
     * @ownLinks user_id,\App\Models\User,id|city_id,\App\Models\City,id
     * @foreignLinks id,\App\Models\Product,shop_id|id,\App\Models\OrderShop,shop_id|id,\App\Models\OrderProduct,shop_id
     * @mixin _IH_Shop_QB
     */
    class Shop extends Model {}

    /**
     * @property int $id
     * @property string $name
     * @property string $slug
     * @property string|null $h1
     * @property string|null $meta_title
     * @property string|null $short_description
     * @property string|null $description
     * @property array|null $faq
     * @property Carbon|null $created_at
     * @property Carbon|null $updated_at
     * @property _IH_Product_C|Product[] $products
     * @property-read int $products_count
     * @method MorphToMany|_IH_Product_QB products()
     * @method static _IH_Tag_QB onWriteConnection()
     * @method _IH_Tag_QB newQuery()
     * @method static _IH_Tag_QB on(null|string $connection = null)
     * @method static _IH_Tag_QB query()
     * @method static _IH_Tag_QB with(array|string $relations)
     * @method _IH_Tag_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_Tag_C|Tag[] all()
     * @foreignLinks
     * @mixin _IH_Tag_QB
     */
    class Tag extends Model {}

    /**
     * @property int $id
     * @property int $user_id
     * @property string $title
     * @property string $slug
     * @property TicketPriority $priority
     * @property TicketStatus $status
     * @property Carbon|null $created_at
     * @property Carbon|null $updated_at
     * @property _IH_TicketMessage_C|TicketMessage[] $messages
     * @property-read int $messages_count
     * @method HasMany|_IH_TicketMessage_QB messages()
     * @property User $user
     * @method BelongsTo|_IH_User_QB user()
     * @method static _IH_Ticket_QB onWriteConnection()
     * @method _IH_Ticket_QB newQuery()
     * @method static _IH_Ticket_QB on(null|string $connection = null)
     * @method static _IH_Ticket_QB query()
     * @method static _IH_Ticket_QB with(array|string $relations)
     * @method _IH_Ticket_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_Ticket_C|Ticket[] all()
     * @ownLinks user_id,\App\Models\User,id
     * @foreignLinks id,\App\Models\TicketMessage,ticket_id
     * @mixin _IH_Ticket_QB
     */
    class Ticket extends Model {}

    /**
     * @property int $id
     * @property int $message_id
     * @property string $title
     * @property string $mime
     * @property string $path
     * @property TicketMessage $message
     * @method BelongsTo|_IH_TicketMessage_QB message()
     * @method static _IH_TicketAttachment_QB onWriteConnection()
     * @method _IH_TicketAttachment_QB newQuery()
     * @method static _IH_TicketAttachment_QB on(null|string $connection = null)
     * @method static _IH_TicketAttachment_QB query()
     * @method static _IH_TicketAttachment_QB with(array|string $relations)
     * @method _IH_TicketAttachment_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_TicketAttachment_C|TicketAttachment[] all()
     * @ownLinks message_id,\App\Models\TicketMessage,id
     * @mixin _IH_TicketAttachment_QB
     */
    class TicketAttachment extends Model {}

    /**
     * @property int $id
     * @property int $user_id
     * @property int $ticket_id
     * @property string $body
     * @property Carbon|null $created_at
     * @property Carbon|null $updated_at
     * @property _IH_TicketAttachment_C|TicketAttachment[] $attachments
     * @property-read int $attachments_count
     * @method HasMany|_IH_TicketAttachment_QB attachments()
     * @property Ticket $ticket
     * @method BelongsTo|_IH_Ticket_QB ticket()
     * @property User $user
     * @method BelongsTo|_IH_User_QB user()
     * @method static _IH_TicketMessage_QB onWriteConnection()
     * @method _IH_TicketMessage_QB newQuery()
     * @method static _IH_TicketMessage_QB on(null|string $connection = null)
     * @method static _IH_TicketMessage_QB query()
     * @method static _IH_TicketMessage_QB with(array|string $relations)
     * @method _IH_TicketMessage_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_TicketMessage_C|TicketMessage[] all()
     * @ownLinks user_id,\App\Models\User,id|ticket_id,\App\Models\Ticket,id
     * @foreignLinks id,\App\Models\TicketAttachment,message_id
     * @mixin _IH_TicketMessage_QB
     */
    class TicketMessage extends Model {}

    /**
     * @property int $id
     * @property string|null $name
     * @property string|null $email
     * @property string $mobile
     * @property string|null $introducer_mobile
     * @property string|null $national_code
     * @property string|null $national_id
     * @property string|null $sheba_number
     * @property string|null $card_number
     * @property Carbon|null $birthday
     * @property int|null $gender
     * @property Carbon|null $email_verified_at
     * @property bool $active
     * @property bool $is_legal
     * @property string $password
     * @property string|null $remember_token
     * @property Carbon|null $created_at
     * @property Carbon|null $updated_at
     * @property int|null $organization_id
     * @property-read $avatar attribute
     * @property-read int $credit attribute
     * @property-read int $point attribute
     * @property _IH_Address_C|Address[] $addresses
     * @property-read int $addresses_count
     * @method MorphToMany|_IH_Address_QB addresses()
     * @property _IH_Comment_C|Comment[] $comments
     * @property-read int $comments_count
     * @method HasMany|_IH_Comment_QB comments()
     * @property _IH_Product_C|Product[] $demands
     * @property-read int $demands_count
     * @method BelongsToMany|_IH_Product_QB demands()
     * @property _IH_Favorite_C|Favorite[] $favorites
     * @property-read int $favorites_count
     * @method HasMany|_IH_Favorite_QB favorites()
     * @property _IH_Feedback_C|Feedback[] $feedback
     * @property-read int $feedback_count
     * @method HasMany|_IH_Feedback_QB feedback()
     * @property _IH_Wallet_C|Wallet[] $getCreditAttribute
     * @property-read int $get_credit_attribute_count
     * @method HasMany|_IH_Wallet_QB getCreditAttribute()
     * @property _IH_Point_C|Point[] $getPointAttribute
     * @property-read int $get_point_attribute_count
     * @method HasMany|_IH_Point_QB getPointAttribute()
     * @property _IH_Product_C|Product[] $hasDemanded
     * @property-read int $has_demanded_count
     * @method BelongsToMany|_IH_Product_QB hasDemanded()
     * @property LegalInformation $legalInformation
     * @method HasOne|_IH_LegalInformation_QB legalInformation()
     * @property DatabaseNotificationCollection|DatabaseNotification[] $notifications
     * @property-read int $notifications_count
     * @method MorphToMany|_IH_DatabaseNotification_QB notifications()
     * @property _IH_Order_C|Order[] $orders
     * @property-read int $orders_count
     * @method HasMany|_IH_Order_QB orders()
     * @property Organization|null $organization
     * @method BelongsTo|_IH_Organization_QB organization()
     * @property _IH_Page_C|Page[] $pages
     * @property-read int $pages_count
     * @method HasMany|_IH_Page_QB pages()
     * @property _IH_Payment_C|Payment[] $payments
     * @property-read int $payments_count
     * @method HasMany|_IH_Payment_QB payments()
     * @property _IH_Permission_C|Permission[] $permissions
     * @property-read int $permissions_count
     * @method MorphToMany|_IH_Permission_QB permissions()
     * @property _IH_Point_C|Point[] $points
     * @property-read int $points_count
     * @method HasMany|_IH_Point_QB points()
     * @property _IH_Product_C|Product[] $products
     * @property-read int $products_count
     * @method HasMany|_IH_Product_QB products()
     * @property DatabaseNotificationCollection|DatabaseNotification[] $readNotifications
     * @property-read int $read_notifications_count
     * @method MorphToMany|_IH_DatabaseNotification_QB readNotifications()
     * @property _IH_Role_C|Role[] $roles
     * @property-read int $roles_count
     * @method MorphToMany|_IH_Role_QB roles()
     * @property _IH_Score_C|Score[] $scores
     * @property-read int $scores_count
     * @method HasMany|_IH_Score_QB scores()
     * @property Shop $shop
     * @method HasOne|_IH_Shop_QB shop()
     * @property DatabaseNotificationCollection|DatabaseNotification[] $unreadNotifications
     * @property-read int $unread_notifications_count
     * @method MorphToMany|_IH_DatabaseNotification_QB unreadNotifications()
     * @property _IH_Wallet_C|Wallet[] $wallets
     * @property-read int $wallets_count
     * @method HasMany|_IH_Wallet_QB wallets()
     * @method static _IH_User_QB onWriteConnection()
     * @method _IH_User_QB newQuery()
     * @method static _IH_User_QB on(null|string $connection = null)
     * @method static _IH_User_QB query()
     * @method static _IH_User_QB with(array|string $relations)
     * @method _IH_User_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_User_C|User[] all()
     * @ownLinks organization_id,\App\Models\Organization,id
     * @foreignLinks id,\App\Models\Page,user_id|id,\App\Models\Article,user_id|id,\App\Models\Ticket,user_id|id,\App\Models\TicketMessage,user_id|id,\App\Models\Comment,user_id|id,\App\Models\Product,user_id|id,\App\Models\Favorite,user_id|id,\App\Models\Score,user_id|id,\App\Models\Order,user_id|id,\App\Models\Shop,user_id|id,\App\Models\Wallet,user_id|id,\App\Models\Point,user_id|id,\App\Models\Discount,user_id|id,\App\Models\DiscountUser,user_id|id,\App\Models\ProductDemand,user_id|id,\App\Models\Feedback,user_id|id,\App\Models\LegalInformation,user_id|id,\App\Models\Payment,user_id|id,\App\Models\EasyPay,user_id
     * @mixin _IH_User_QB
     * @method static UserFactory factory(array|callable|int|null $count = null, array|callable $state = [])
     */
    class User extends Model {}

    /**
     * @property int $id
     * @property string $mobile
     * @property string $code
     * @property bool $approved
     * @property Carbon|null $created_at
     * @property Carbon|null $updated_at
     * @property DatabaseNotificationCollection|DatabaseNotification[] $notifications
     * @property-read int $notifications_count
     * @method MorphToMany|_IH_DatabaseNotification_QB notifications()
     * @property DatabaseNotificationCollection|DatabaseNotification[] $readNotifications
     * @property-read int $read_notifications_count
     * @method MorphToMany|_IH_DatabaseNotification_QB readNotifications()
     * @property DatabaseNotificationCollection|DatabaseNotification[] $unreadNotifications
     * @property-read int $unread_notifications_count
     * @method MorphToMany|_IH_DatabaseNotification_QB unreadNotifications()
     * @method static _IH_Verification_QB onWriteConnection()
     * @method _IH_Verification_QB newQuery()
     * @method static _IH_Verification_QB on(null|string $connection = null)
     * @method static _IH_Verification_QB query()
     * @method static _IH_Verification_QB with(array|string $relations)
     * @method _IH_Verification_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_Verification_C|Verification[] all()
     * @mixin _IH_Verification_QB
     */
    class Verification extends Model {}

    /**
     * @property int $id
     * @property int $user_id
     * @property int $amount
     * @property int $walletable_id
     * @property string $walletable_type
     * @property string $description
     * @property Carbon|null $created_at
     * @property Carbon|null $updated_at
     * @property _IH_Payment_C|Payment[] $payments
     * @property-read int $payments_count
     * @method MorphToMany|_IH_Payment_QB payments()
     * @property User $user
     * @method BelongsTo|_IH_User_QB user()
     * @property Model $walletable
     * @method MorphTo walletable()
     * @method static _IH_Wallet_QB onWriteConnection()
     * @method _IH_Wallet_QB newQuery()
     * @method static _IH_Wallet_QB on(null|string $connection = null)
     * @method static _IH_Wallet_QB query()
     * @method static _IH_Wallet_QB with(array|string $relations)
     * @method _IH_Wallet_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_Wallet_C|Wallet[] all()
     * @ownLinks user_id,\App\Models\User,id
     * @mixin _IH_Wallet_QB
     */
    class Wallet extends Model {}
}