This commit is contained in:
Ghassan Yusuf 2026-01-29 17:12:02 +03:00
parent ec2a6facc0
commit 264ed50e92
7 changed files with 892 additions and 4 deletions

View File

@ -0,0 +1,10 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Venue extends Model
{
//
}

View File

@ -0,0 +1,48 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::create('guests', function (Blueprint $table) {
$table->id();
$table->string('loyalty_id')->unique();
$table->string('first_name');
$table->string('last_name');
$table->string('email')->nullable();
$table->string('phone')->nullable();
$table->date('date_of_birth')->nullable();
$table->enum('gender', ['male', 'female', 'other'])->nullable();
$table->string('nationality')->nullable();
$table->text('address')->nullable();
$table->string('passport_number')->nullable();
$table->date('passport_expiry')->nullable();
$table->string('preferred_language')->default('en');
$table->json('preferences')->nullable();
$table->foreignId('loyalty_tier_id')->nullable()->constrained()->onDelete('set null');
$table->integer('total_points')->default(0);
$table->decimal('total_spend', 12, 2)->default(0);
$table->integer('visit_count')->default(0);
$table->datetime('last_visit_at')->nullable();
$table->datetime('first_visit_at')->nullable();
$table->enum('status', ['active', 'inactive', 'blacklisted'])->default('active');
$table->text('notes')->nullable();
$table->timestamps();
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('guests');
}
};

View File

@ -0,0 +1,37 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::create('issued_vouchers', function (Blueprint $table) {
$table->id();
$table->foreignId('voucher_id')->constrained()->onDelete('cascade');
$table->foreignId('guest_id')->constrained()->onDelete('cascade');
$table->foreignId('issued_by')->constrained('users')->onDelete('cascade');
$table->string('voucher_code')->unique();
$table->decimal('value', 8, 2);
$table->datetime('issued_at');
$table->datetime('expires_at')->nullable();
$table->datetime('used_at')->nullable();
$table->enum('status', ['active', 'used', 'expired', 'cancelled'])->default('active');
$table->text('notes')->nullable();
$table->timestamps();
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('issued_vouchers');
}
};

View File

@ -251,10 +251,17 @@
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
<script> <script>
// Venue selection // Venue selection
document.querySelectorAll('.venue-card').forEach(card => { document.querySelectorAll('.venue-option').forEach(option => {
card.addEventListener('click', function() { option.addEventListener('click', function(e) {
document.querySelectorAll('.venue-card').forEach(c => c.classList.remove('selected')); e.preventDefault();
document.querySelectorAll('.venue-option').forEach(opt => opt.classList.remove('selected'));
this.classList.add('selected'); this.classList.add('selected');
// Update dropdown button text and icon
const venueName = this.textContent.trim();
const venueIcon = this.querySelector('i').className;
document.getElementById('selectedVenueText').textContent = venueName;
document.querySelector('#venueDropdown i').className = venueIcon;
}); });
}); });
@ -264,7 +271,7 @@
const username = document.getElementById('username').value; const username = document.getElementById('username').value;
const password = document.getElementById('password').value; const password = document.getElementById('password').value;
const selectedVenue = document.querySelector('.venue-card.selected').dataset.venue; const selectedVenue = document.querySelector('.venue-option.selected').dataset.venue;
// Show loading state // Show loading state
const loginBtn = document.getElementById('loginBtn'); const loginBtn = document.getElementById('loginBtn');

View File

@ -0,0 +1,96 @@
<!DOCTYPE html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>{{ config('app.name', 'Laravel') }}</title>
<!-- Bootstrap CSS -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
<!-- Font Awesome -->
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css" rel="stylesheet">
<!-- Chart.js -->
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
<style>
body {
background-color: #f8f9fa;
}
.sidebar {
min-height: 100vh;
background: #343a40;
color: white;
}
.sidebar .nav-link {
color: rgba(255,255,255,.75);
}
.sidebar .nav-link:hover {
color: white;
}
.kpi-card {
transition: transform 0.2s;
}
.kpi-card:hover {
transform: translateY(-2px);
}
</style>
</head>
<body>
<div class="d-flex">
<!-- Sidebar -->
@include('partials.sidebar')
<!-- Main Content -->
<div class="flex-grow-1">
<!-- Top Navbar -->
<nav class="navbar navbar-expand-lg navbar-light bg-white border-bottom">
<div class="container-fluid">
<span class="navbar-brand mb-0 h1">Hospitality Group CRM</span>
<div class="d-flex">
<div class="dropdown">
<button class="btn btn-outline-secondary dropdown-toggle" type="button" data-bs-toggle="dropdown">
<i class="fas fa-user"></i> {{ session('user')['username'] ?? 'User' }}
</button>
<ul class="dropdown-menu">
<li><a class="dropdown-item" href="#"><i class="fas fa-cog"></i> Settings</a></li>
<li><hr class="dropdown-divider"></li>
<li><a class="dropdown-item" href="/" onclick="logout()"><i class="fas fa-sign-out-alt"></i> Logout</a></li>
</ul>
</div>
</div>
</div>
</nav>
<!-- Page Content -->
<main>
@yield('content')
</main>
</div>
</div>
<!-- Bootstrap JS -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
@yield('scripts')
<script>
function logout() {
localStorage.removeItem('user');
window.location.href = '/';
}
function showToast(message, type = 'info') {
// Simple toast implementation
const toast = document.createElement('div');
toast.className = `alert alert-${type} alert-dismissible fade show position-fixed`;
toast.style.cssText = 'top: 20px; right: 20px; z-index: 9999; min-width: 300px;';
toast.innerHTML = `
${message}
<button type="button" class="btn-close" data-bs-dismiss="alert"></button>
`;
document.body.appendChild(toast);
setTimeout(() => toast.remove(), 3000);
}
</script>
</body>
</html>

View File

@ -319,6 +319,54 @@ namespace App\Models {
/** /**
* App\Models\Guest * App\Models\Guest
* *
* @property \Illuminate\Support\Carbon|null $updated_at
* @property \Illuminate\Support\Carbon|null $created_at
* @property string|null $notes
* @property string $status
* @property string|null $first_visit_at
* @property string|null $last_visit_at
* @property int $visit_count
* @property float $total_spend
* @property int $total_points
* @property int|null $loyalty_tier_id
* @property string|null $preferences
* @property string $preferred_language
* @property string|null $passport_expiry
* @property string|null $passport_number
* @property string|null $address
* @property string|null $nationality
* @property string|null $gender
* @property string|null $date_of_birth
* @property string|null $phone
* @property string|null $email
* @property string $last_name
* @property string $first_name
* @property string $loyalty_id
* @property int $id
* @method static \Illuminate\Database\Eloquent\Builder<Guest>|Guest whereId($value)
* @method static \Illuminate\Database\Eloquent\Builder<Guest>|Guest whereLoyaltyId($value)
* @method static \Illuminate\Database\Eloquent\Builder<Guest>|Guest whereFirstName($value)
* @method static \Illuminate\Database\Eloquent\Builder<Guest>|Guest whereLastName($value)
* @method static \Illuminate\Database\Eloquent\Builder<Guest>|Guest whereEmail($value)
* @method static \Illuminate\Database\Eloquent\Builder<Guest>|Guest wherePhone($value)
* @method static \Illuminate\Database\Eloquent\Builder<Guest>|Guest whereDateOfBirth($value)
* @method static \Illuminate\Database\Eloquent\Builder<Guest>|Guest whereGender($value)
* @method static \Illuminate\Database\Eloquent\Builder<Guest>|Guest whereNationality($value)
* @method static \Illuminate\Database\Eloquent\Builder<Guest>|Guest whereAddress($value)
* @method static \Illuminate\Database\Eloquent\Builder<Guest>|Guest wherePassportNumber($value)
* @method static \Illuminate\Database\Eloquent\Builder<Guest>|Guest wherePassportExpiry($value)
* @method static \Illuminate\Database\Eloquent\Builder<Guest>|Guest wherePreferredLanguage($value)
* @method static \Illuminate\Database\Eloquent\Builder<Guest>|Guest wherePreferences($value)
* @method static \Illuminate\Database\Eloquent\Builder<Guest>|Guest whereLoyaltyTierId($value)
* @method static \Illuminate\Database\Eloquent\Builder<Guest>|Guest whereTotalPoints($value)
* @method static \Illuminate\Database\Eloquent\Builder<Guest>|Guest whereTotalSpend($value)
* @method static \Illuminate\Database\Eloquent\Builder<Guest>|Guest whereVisitCount($value)
* @method static \Illuminate\Database\Eloquent\Builder<Guest>|Guest whereLastVisitAt($value)
* @method static \Illuminate\Database\Eloquent\Builder<Guest>|Guest whereFirstVisitAt($value)
* @method static \Illuminate\Database\Eloquent\Builder<Guest>|Guest whereStatus($value)
* @method static \Illuminate\Database\Eloquent\Builder<Guest>|Guest whereNotes($value)
* @method static \Illuminate\Database\Eloquent\Builder<Guest>|Guest whereCreatedAt($value)
* @method static \Illuminate\Database\Eloquent\Builder<Guest>|Guest whereUpdatedAt($value)
* @method static \Illuminate\Database\Eloquent\Builder<Guest>|Guest newModelQuery() * @method static \Illuminate\Database\Eloquent\Builder<Guest>|Guest newModelQuery()
* @method static \Illuminate\Database\Eloquent\Builder<Guest>|Guest newQuery() * @method static \Illuminate\Database\Eloquent\Builder<Guest>|Guest newQuery()
* @method static \Illuminate\Database\Eloquent\Builder<Guest>|Guest query() * @method static \Illuminate\Database\Eloquent\Builder<Guest>|Guest query()
@ -944,6 +992,321 @@ namespace App\Models {
// //
} }
/**
* App\Models\GuestVisit
*
* @property-read \App\Models\Guest $guest
* @property-read \App\Models\Venue $venue
* @method static \Illuminate\Database\Eloquent\Builder<GuestVisit>|GuestVisit newModelQuery()
* @method static \Illuminate\Database\Eloquent\Builder<GuestVisit>|GuestVisit newQuery()
* @method static \Illuminate\Database\Eloquent\Builder<GuestVisit>|GuestVisit query()
* @method static mixed select($columns)
* @method static mixed selectSub($query, $as)
* @method static mixed selectExpression($expression, $as)
* @method static mixed selectRaw($expression, array $bindings)
* @method static mixed fromSub($query, $as)
* @method static mixed fromRaw($expression, $bindings)
* @method static mixed createSub($query)
* @method static mixed parseSub($query)
* @method static mixed prependDatabaseNameIfCrossDatabaseQuery($query)
* @method static mixed addSelect($column)
* @method static mixed selectVectorDistance($column, $vector, $as)
* @method static mixed distinct()
* @method static mixed from($table, $as)
* @method static mixed useIndex($index)
* @method static mixed forceIndex($index)
* @method static mixed ignoreIndex($index)
* @method static mixed join($table, $first, $operator, $second, $type, $where)
* @method static mixed joinWhere($table, $first, $operator, $second, $type)
* @method static mixed joinSub($query, $as, $first, $operator, $second, $type, $where)
* @method static mixed joinLateral($query, string $as, string $type)
* @method static mixed leftJoinLateral($query, string $as)
* @method static mixed leftJoin($table, $first, $operator, $second)
* @method static mixed leftJoinWhere($table, $first, $operator, $second)
* @method static mixed leftJoinSub($query, $as, $first, $operator, $second)
* @method static mixed rightJoin($table, $first, $operator, $second)
* @method static mixed rightJoinWhere($table, $first, $operator, $second)
* @method static mixed rightJoinSub($query, $as, $first, $operator, $second)
* @method static mixed crossJoin($table, $first, $operator, $second)
* @method static mixed crossJoinSub($query, $as)
* @method static mixed newJoinClause(self $parentQuery, $type, $table)
* @method static mixed newJoinLateralClause(self $parentQuery, $type, $table)
* @method static mixed mergeWheres($wheres, $bindings)
* @method static mixed where($column, $operator, $value, $boolean)
* @method static mixed addArrayOfWheres($column, $boolean, $method)
* @method static mixed prepareValueAndOperator($value, $operator, $useDefault)
* @method static mixed invalidOperatorAndValue($operator, $value)
* @method static mixed invalidOperator($operator)
* @method static mixed isBitwiseOperator($operator)
* @method static mixed orWhere($column, $operator, $value)
* @method static mixed whereNot($column, $operator, $value, $boolean)
* @method static mixed orWhereNot($column, $operator, $value)
* @method static mixed whereColumn($first, $operator, $second, $boolean)
* @method static mixed orWhereColumn($first, $operator, $second)
* @method static mixed whereVectorSimilarTo($column, $vector, $minSimilarity, $order)
* @method static mixed whereVectorDistanceLessThan($column, $vector, $maxDistance, $boolean)
* @method static mixed orWhereVectorDistanceLessThan($column, $vector, $maxDistance)
* @method static mixed whereRaw($sql, $bindings, $boolean)
* @method static mixed orWhereRaw($sql, $bindings)
* @method static mixed whereLike($column, $value, $caseSensitive, $boolean, $not)
* @method static mixed orWhereLike($column, $value, $caseSensitive)
* @method static mixed whereNotLike($column, $value, $caseSensitive, $boolean)
* @method static mixed orWhereNotLike($column, $value, $caseSensitive)
* @method static mixed whereIn($column, $values, $boolean, $not)
* @method static mixed orWhereIn($column, $values)
* @method static mixed whereNotIn($column, $values, $boolean)
* @method static mixed orWhereNotIn($column, $values)
* @method static mixed whereIntegerInRaw($column, $values, $boolean, $not)
* @method static mixed orWhereIntegerInRaw($column, $values)
* @method static mixed whereIntegerNotInRaw($column, $values, $boolean)
* @method static mixed orWhereIntegerNotInRaw($column, $values)
* @method static mixed whereNull($columns, $boolean, $not)
* @method static mixed orWhereNull($column)
* @method static mixed whereNotNull($columns, $boolean)
* @method static mixed whereBetween($column, iterable $values, $boolean, $not)
* @method static mixed whereBetweenColumns($column, array $values, $boolean, $not)
* @method static mixed orWhereBetween($column, iterable $values)
* @method static mixed orWhereBetweenColumns($column, array $values)
* @method static mixed whereNotBetween($column, iterable $values, $boolean)
* @method static mixed whereNotBetweenColumns($column, array $values, $boolean)
* @method static mixed orWhereNotBetween($column, iterable $values)
* @method static mixed orWhereNotBetweenColumns($column, array $values)
* @method static mixed whereValueBetween($value, array $columns, $boolean, $not)
* @method static mixed orWhereValueBetween($value, array $columns)
* @method static mixed whereValueNotBetween($value, array $columns, $boolean)
* @method static mixed orWhereValueNotBetween($value, array $columns)
* @method static mixed orWhereNotNull($column)
* @method static mixed whereDate($column, $operator, $value, $boolean)
* @method static mixed orWhereDate($column, $operator, $value)
* @method static mixed whereTime($column, $operator, $value, $boolean)
* @method static mixed orWhereTime($column, $operator, $value)
* @method static mixed whereDay($column, $operator, $value, $boolean)
* @method static mixed orWhereDay($column, $operator, $value)
* @method static mixed whereMonth($column, $operator, $value, $boolean)
* @method static mixed orWhereMonth($column, $operator, $value)
* @method static mixed whereYear($column, $operator, $value, $boolean)
* @method static mixed orWhereYear($column, $operator, $value)
* @method static mixed addDateBasedWhere($type, $column, $operator, $value, $boolean)
* @method static mixed whereNested(Closure $callback, $boolean)
* @method static mixed forNestedWhere()
* @method static mixed addNestedWhereQuery($query, $boolean)
* @method static mixed whereSub($column, $operator, $callback, $boolean)
* @method static mixed whereExists($callback, $boolean, $not)
* @method static mixed orWhereExists($callback, $not)
* @method static mixed whereNotExists($callback, $boolean)
* @method static mixed orWhereNotExists($callback)
* @method static mixed addWhereExistsQuery(self $query, $boolean, $not)
* @method static mixed whereRowValues($columns, $operator, $values, $boolean)
* @method static mixed orWhereRowValues($columns, $operator, $values)
* @method static mixed whereJsonContains($column, $value, $boolean, $not)
* @method static mixed orWhereJsonContains($column, $value)
* @method static mixed whereJsonDoesntContain($column, $value, $boolean)
* @method static mixed orWhereJsonDoesntContain($column, $value)
* @method static mixed whereJsonOverlaps($column, $value, $boolean, $not)
* @method static mixed orWhereJsonOverlaps($column, $value)
* @method static mixed whereJsonDoesntOverlap($column, $value, $boolean)
* @method static mixed orWhereJsonDoesntOverlap($column, $value)
* @method static mixed whereJsonContainsKey($column, $boolean, $not)
* @method static mixed orWhereJsonContainsKey($column)
* @method static mixed whereJsonDoesntContainKey($column, $boolean)
* @method static mixed orWhereJsonDoesntContainKey($column)
* @method static mixed whereJsonLength($column, $operator, $value, $boolean)
* @method static mixed orWhereJsonLength($column, $operator, $value)
* @method static mixed dynamicWhere($method, $parameters)
* @method static mixed addDynamic($segment, $connector, $parameters, $index)
* @method static mixed whereFullText($columns, $value, array $options, $boolean)
* @method static mixed orWhereFullText($columns, $value, array $options)
* @method static mixed whereAll($columns, $operator, $value, $boolean)
* @method static mixed orWhereAll($columns, $operator, $value)
* @method static mixed whereAny($columns, $operator, $value, $boolean)
* @method static mixed orWhereAny($columns, $operator, $value)
* @method static mixed whereNone($columns, $operator, $value, $boolean)
* @method static mixed orWhereNone($columns, $operator, $value)
* @method static mixed groupBy($groups)
* @method static mixed groupByRaw($sql, array $bindings)
* @method static mixed having($column, $operator, $value, $boolean)
* @method static mixed orHaving($column, $operator, $value)
* @method static mixed havingNested(Closure $callback, $boolean)
* @method static mixed addNestedHavingQuery($query, $boolean)
* @method static mixed havingNull($columns, $boolean, $not)
* @method static mixed orHavingNull($column)
* @method static mixed havingNotNull($columns, $boolean)
* @method static mixed orHavingNotNull($column)
* @method static mixed havingBetween($column, iterable $values, $boolean, $not)
* @method static mixed havingNotBetween($column, iterable $values, $boolean)
* @method static mixed orHavingBetween($column, iterable $values)
* @method static mixed orHavingNotBetween($column, iterable $values)
* @method static mixed havingRaw($sql, array $bindings, $boolean)
* @method static mixed orHavingRaw($sql, array $bindings)
* @method static mixed orderBy($column, $direction)
* @method static mixed orderByDesc($column)
* @method static mixed latest($column)
* @method static mixed oldest($column)
* @method static mixed orderByVectorDistance($column, $vector)
* @method static mixed inRandomOrder($seed)
* @method static mixed orderByRaw($sql, $bindings)
* @method static mixed skip($value)
* @method static mixed offset($value)
* @method static mixed take($value)
* @method static mixed limit($value)
* @method static mixed groupLimit($value, $column)
* @method static mixed forPage($page, $perPage)
* @method static mixed forPageBeforeId($perPage, $lastId, $column)
* @method static mixed forPageAfterId($perPage, $lastId, $column)
* @method static mixed reorder($column, $direction)
* @method static mixed reorderDesc($column)
* @method static mixed removeExistingOrdersFor($column)
* @method static mixed union($query, $all)
* @method static mixed unionAll($query)
* @method static mixed lock($value)
* @method static mixed lockForUpdate()
* @method static mixed sharedLock()
* @method static mixed beforeQuery(callable $callback)
* @method static mixed applyBeforeQueryCallbacks()
* @method static mixed afterQuery(Closure $callback)
* @method static mixed applyAfterQueryCallbacks($result)
* @method static mixed toSql()
* @method static mixed toRawSql()
* @method static mixed find($id, $columns)
* @method static mixed findOr($id, $columns, Closure $callback)
* @method static mixed value($column)
* @method static mixed rawValue(string $expression, array $bindings)
* @method static mixed soleValue($column)
* @method static mixed get($columns)
* @method static mixed runSelect()
* @method static mixed withoutGroupLimitKeys($items)
* @method static mixed paginate($perPage, $columns, $pageName, $page, $total)
* @method static mixed simplePaginate($perPage, $columns, $pageName, $page)
* @method static mixed cursorPaginate($perPage, $columns, $cursorName, $cursor)
* @method static mixed ensureOrderForCursorPagination($shouldReverse)
* @method static mixed getCountForPagination($columns)
* @method static mixed runPaginationCountQuery($columns)
* @method static mixed cloneForPaginationCount()
* @method static mixed withoutSelectAliases(array $columns)
* @method static mixed cursor()
* @method static mixed enforceOrderBy()
* @method static mixed pluck($column, $key)
* @method static mixed stripTableForPluck($column)
* @method static mixed pluckFromObjectColumn($queryResult, $column, $key)
* @method static mixed pluckFromArrayColumn($queryResult, $column, $key)
* @method static mixed implode($column, $glue)
* @method static mixed exists()
* @method static mixed doesntExist()
* @method static mixed existsOr(Closure $callback)
* @method static mixed doesntExistOr(Closure $callback)
* @method static mixed count($columns)
* @method static mixed min($column)
* @method static mixed max($column)
* @method static mixed sum($column)
* @method static mixed avg($column)
* @method static mixed average($column)
* @method static mixed aggregate($function, $columns)
* @method static mixed numericAggregate($function, $columns)
* @method static mixed setAggregate($function, $columns)
* @method static mixed onceWithColumns($columns, $callback)
* @method static mixed insert(array $values)
* @method static mixed insertOrIgnore(array $values)
* @method static mixed insertGetId(array $values, $sequence)
* @method static mixed insertUsing(array $columns, $query)
* @method static mixed insertOrIgnoreUsing(array $columns, $query)
* @method static mixed update(array $values)
* @method static mixed updateFrom(array $values)
* @method static mixed updateOrInsert(array $attributes, callable|array $values)
* @method static mixed upsert(array $values, array|string $uniqueBy, array $update)
* @method static mixed increment($column, $amount, array $extra)
* @method static mixed incrementEach(array $columns, array $extra)
* @method static mixed decrement($column, $amount, array $extra)
* @method static mixed decrementEach(array $columns, array $extra)
* @method static mixed delete($id)
* @method static mixed truncate()
* @method static mixed newQuery()
* @method static mixed forSubQuery()
* @method static mixed getColumns()
* @method static mixed raw($value)
* @method static mixed getUnionBuilders()
* @method static mixed getLimit()
* @method static mixed getOffset()
* @method static mixed getBindings()
* @method static mixed getRawBindings()
* @method static mixed setBindings(array $bindings, $type)
* @method static mixed addBinding($value, $type)
* @method static mixed castBinding($value)
* @method static mixed mergeBindings(self $query)
* @method static mixed cleanBindings(array $bindings)
* @method static mixed flattenValue($value)
* @method static mixed defaultKeyName()
* @method static mixed getConnection()
* @method static mixed ensureConnectionSupportsVectors()
* @method static mixed getProcessor()
* @method static mixed getGrammar()
* @method static mixed useWritePdo()
* @method static mixed isQueryable($value)
* @method static mixed clone()
* @method static mixed cloneWithout(array $properties)
* @method static mixed cloneWithoutBindings(array $except)
* @method static mixed dump($args)
* @method static mixed dumpRawSql()
* @method static mixed dd()
* @method static mixed ddRawSql()
* @method static mixed wherePast($columns)
* @method static mixed whereNowOrPast($columns)
* @method static mixed orWherePast($columns)
* @method static mixed orWhereNowOrPast($columns)
* @method static mixed whereFuture($columns)
* @method static mixed whereNowOrFuture($columns)
* @method static mixed orWhereFuture($columns)
* @method static mixed orWhereNowOrFuture($columns)
* @method static mixed wherePastOrFuture($columns, $operator, $boolean)
* @method static mixed whereToday($columns, $boolean)
* @method static mixed whereBeforeToday($columns)
* @method static mixed whereTodayOrBefore($columns)
* @method static mixed whereAfterToday($columns)
* @method static mixed whereTodayOrAfter($columns)
* @method static mixed orWhereToday($columns)
* @method static mixed orWhereBeforeToday($columns)
* @method static mixed orWhereTodayOrBefore($columns)
* @method static mixed orWhereAfterToday($columns)
* @method static mixed orWhereTodayOrAfter($columns)
* @method static mixed whereTodayBeforeOrAfter($columns, $operator, $boolean)
* @method static mixed chunk($count, callable $callback)
* @method static mixed chunkMap(callable $callback, $count)
* @method static mixed each(callable $callback, $count)
* @method static mixed chunkById($count, callable $callback, $column, $alias)
* @method static mixed chunkByIdDesc($count, callable $callback, $column, $alias)
* @method static mixed orderedChunkById($count, callable $callback, $column, $alias, $descending)
* @method static mixed eachById(callable $callback, $count, $column, $alias)
* @method static mixed lazy($chunkSize)
* @method static mixed lazyById($chunkSize, $column, $alias)
* @method static mixed lazyByIdDesc($chunkSize, $column, $alias)
* @method static mixed orderedLazyById($chunkSize, $column, $alias, $descending)
* @method static mixed first($columns)
* @method static mixed firstOrFail($columns, $message)
* @method static mixed sole($columns)
* @method static mixed paginateUsingCursor($perPage, $columns, $cursorName, $cursor)
* @method static mixed getOriginalColumnNameForCursorPagination($builder, string $parameter)
* @method static mixed paginator($items, $total, $perPage, $currentPage, $options)
* @method static mixed simplePaginator($items, $perPage, $currentPage, $options)
* @method static mixed cursorPaginator($items, $perPage, $cursor, $options)
* @method static mixed tap($callback)
* @method static mixed pipe($callback)
* @method static mixed when($value, callable $callback, callable $default)
* @method static mixed unless($value, callable $callback, callable $default)
* @method static mixed explain()
* @method static mixed forwardCallTo($object, $method, $parameters)
* @method static mixed forwardDecoratedCallTo($object, $method, $parameters)
* @method static mixed throwBadMethodCallException($method)
* @method static mixed macro($name, $macro)
* @method static mixed mixin($mixin, $replace)
* @method static mixed hasMacro($name)
* @method static mixed flushMacros()
* @method static mixed macroCall($method, $parameters)
* @mixin \Illuminate\Database\Query\Builder
*/
class GuestVisit extends \Illuminate\Database\Eloquent\Model
{
//
}
/** /**
* App\Models\User * App\Models\User
* *
@ -1275,4 +1638,331 @@ namespace App\Models {
// //
} }
/**
* App\Models\Venue
*
* @property \Illuminate\Support\Carbon|null $updated_at
* @property \Illuminate\Support\Carbon|null $created_at
* @property string $group
* @property string|null $address
* @property string $type
* @property string $name
* @property int $id
* @method static \Illuminate\Database\Eloquent\Builder<Venue>|Venue whereId($value)
* @method static \Illuminate\Database\Eloquent\Builder<Venue>|Venue whereName($value)
* @method static \Illuminate\Database\Eloquent\Builder<Venue>|Venue whereType($value)
* @method static \Illuminate\Database\Eloquent\Builder<Venue>|Venue whereAddress($value)
* @method static \Illuminate\Database\Eloquent\Builder<Venue>|Venue whereGroup($value)
* @method static \Illuminate\Database\Eloquent\Builder<Venue>|Venue whereCreatedAt($value)
* @method static \Illuminate\Database\Eloquent\Builder<Venue>|Venue whereUpdatedAt($value)
* @method static \Illuminate\Database\Eloquent\Builder<Venue>|Venue newModelQuery()
* @method static \Illuminate\Database\Eloquent\Builder<Venue>|Venue newQuery()
* @method static \Illuminate\Database\Eloquent\Builder<Venue>|Venue query()
* @method static mixed select($columns)
* @method static mixed selectSub($query, $as)
* @method static mixed selectExpression($expression, $as)
* @method static mixed selectRaw($expression, array $bindings)
* @method static mixed fromSub($query, $as)
* @method static mixed fromRaw($expression, $bindings)
* @method static mixed createSub($query)
* @method static mixed parseSub($query)
* @method static mixed prependDatabaseNameIfCrossDatabaseQuery($query)
* @method static mixed addSelect($column)
* @method static mixed selectVectorDistance($column, $vector, $as)
* @method static mixed distinct()
* @method static mixed from($table, $as)
* @method static mixed useIndex($index)
* @method static mixed forceIndex($index)
* @method static mixed ignoreIndex($index)
* @method static mixed join($table, $first, $operator, $second, $type, $where)
* @method static mixed joinWhere($table, $first, $operator, $second, $type)
* @method static mixed joinSub($query, $as, $first, $operator, $second, $type, $where)
* @method static mixed joinLateral($query, string $as, string $type)
* @method static mixed leftJoinLateral($query, string $as)
* @method static mixed leftJoin($table, $first, $operator, $second)
* @method static mixed leftJoinWhere($table, $first, $operator, $second)
* @method static mixed leftJoinSub($query, $as, $first, $operator, $second)
* @method static mixed rightJoin($table, $first, $operator, $second)
* @method static mixed rightJoinWhere($table, $first, $operator, $second)
* @method static mixed rightJoinSub($query, $as, $first, $operator, $second)
* @method static mixed crossJoin($table, $first, $operator, $second)
* @method static mixed crossJoinSub($query, $as)
* @method static mixed newJoinClause(self $parentQuery, $type, $table)
* @method static mixed newJoinLateralClause(self $parentQuery, $type, $table)
* @method static mixed mergeWheres($wheres, $bindings)
* @method static mixed where($column, $operator, $value, $boolean)
* @method static mixed addArrayOfWheres($column, $boolean, $method)
* @method static mixed prepareValueAndOperator($value, $operator, $useDefault)
* @method static mixed invalidOperatorAndValue($operator, $value)
* @method static mixed invalidOperator($operator)
* @method static mixed isBitwiseOperator($operator)
* @method static mixed orWhere($column, $operator, $value)
* @method static mixed whereNot($column, $operator, $value, $boolean)
* @method static mixed orWhereNot($column, $operator, $value)
* @method static mixed whereColumn($first, $operator, $second, $boolean)
* @method static mixed orWhereColumn($first, $operator, $second)
* @method static mixed whereVectorSimilarTo($column, $vector, $minSimilarity, $order)
* @method static mixed whereVectorDistanceLessThan($column, $vector, $maxDistance, $boolean)
* @method static mixed orWhereVectorDistanceLessThan($column, $vector, $maxDistance)
* @method static mixed whereRaw($sql, $bindings, $boolean)
* @method static mixed orWhereRaw($sql, $bindings)
* @method static mixed whereLike($column, $value, $caseSensitive, $boolean, $not)
* @method static mixed orWhereLike($column, $value, $caseSensitive)
* @method static mixed whereNotLike($column, $value, $caseSensitive, $boolean)
* @method static mixed orWhereNotLike($column, $value, $caseSensitive)
* @method static mixed whereIn($column, $values, $boolean, $not)
* @method static mixed orWhereIn($column, $values)
* @method static mixed whereNotIn($column, $values, $boolean)
* @method static mixed orWhereNotIn($column, $values)
* @method static mixed whereIntegerInRaw($column, $values, $boolean, $not)
* @method static mixed orWhereIntegerInRaw($column, $values)
* @method static mixed whereIntegerNotInRaw($column, $values, $boolean)
* @method static mixed orWhereIntegerNotInRaw($column, $values)
* @method static mixed whereNull($columns, $boolean, $not)
* @method static mixed orWhereNull($column)
* @method static mixed whereNotNull($columns, $boolean)
* @method static mixed whereBetween($column, iterable $values, $boolean, $not)
* @method static mixed whereBetweenColumns($column, array $values, $boolean, $not)
* @method static mixed orWhereBetween($column, iterable $values)
* @method static mixed orWhereBetweenColumns($column, array $values)
* @method static mixed whereNotBetween($column, iterable $values, $boolean)
* @method static mixed whereNotBetweenColumns($column, array $values, $boolean)
* @method static mixed orWhereNotBetween($column, iterable $values)
* @method static mixed orWhereNotBetweenColumns($column, array $values)
* @method static mixed whereValueBetween($value, array $columns, $boolean, $not)
* @method static mixed orWhereValueBetween($value, array $columns)
* @method static mixed whereValueNotBetween($value, array $columns, $boolean)
* @method static mixed orWhereValueNotBetween($value, array $columns)
* @method static mixed orWhereNotNull($column)
* @method static mixed whereDate($column, $operator, $value, $boolean)
* @method static mixed orWhereDate($column, $operator, $value)
* @method static mixed whereTime($column, $operator, $value, $boolean)
* @method static mixed orWhereTime($column, $operator, $value)
* @method static mixed whereDay($column, $operator, $value, $boolean)
* @method static mixed orWhereDay($column, $operator, $value)
* @method static mixed whereMonth($column, $operator, $value, $boolean)
* @method static mixed orWhereMonth($column, $operator, $value)
* @method static mixed whereYear($column, $operator, $value, $boolean)
* @method static mixed orWhereYear($column, $operator, $value)
* @method static mixed addDateBasedWhere($type, $column, $operator, $value, $boolean)
* @method static mixed whereNested(Closure $callback, $boolean)
* @method static mixed forNestedWhere()
* @method static mixed addNestedWhereQuery($query, $boolean)
* @method static mixed whereSub($column, $operator, $callback, $boolean)
* @method static mixed whereExists($callback, $boolean, $not)
* @method static mixed orWhereExists($callback, $not)
* @method static mixed whereNotExists($callback, $boolean)
* @method static mixed orWhereNotExists($callback)
* @method static mixed addWhereExistsQuery(self $query, $boolean, $not)
* @method static mixed whereRowValues($columns, $operator, $values, $boolean)
* @method static mixed orWhereRowValues($columns, $operator, $values)
* @method static mixed whereJsonContains($column, $value, $boolean, $not)
* @method static mixed orWhereJsonContains($column, $value)
* @method static mixed whereJsonDoesntContain($column, $value, $boolean)
* @method static mixed orWhereJsonDoesntContain($column, $value)
* @method static mixed whereJsonOverlaps($column, $value, $boolean, $not)
* @method static mixed orWhereJsonOverlaps($column, $value)
* @method static mixed whereJsonDoesntOverlap($column, $value, $boolean)
* @method static mixed orWhereJsonDoesntOverlap($column, $value)
* @method static mixed whereJsonContainsKey($column, $boolean, $not)
* @method static mixed orWhereJsonContainsKey($column)
* @method static mixed whereJsonDoesntContainKey($column, $boolean)
* @method static mixed orWhereJsonDoesntContainKey($column)
* @method static mixed whereJsonLength($column, $operator, $value, $boolean)
* @method static mixed orWhereJsonLength($column, $operator, $value)
* @method static mixed dynamicWhere($method, $parameters)
* @method static mixed addDynamic($segment, $connector, $parameters, $index)
* @method static mixed whereFullText($columns, $value, array $options, $boolean)
* @method static mixed orWhereFullText($columns, $value, array $options)
* @method static mixed whereAll($columns, $operator, $value, $boolean)
* @method static mixed orWhereAll($columns, $operator, $value)
* @method static mixed whereAny($columns, $operator, $value, $boolean)
* @method static mixed orWhereAny($columns, $operator, $value)
* @method static mixed whereNone($columns, $operator, $value, $boolean)
* @method static mixed orWhereNone($columns, $operator, $value)
* @method static mixed groupBy($groups)
* @method static mixed groupByRaw($sql, array $bindings)
* @method static mixed having($column, $operator, $value, $boolean)
* @method static mixed orHaving($column, $operator, $value)
* @method static mixed havingNested(Closure $callback, $boolean)
* @method static mixed addNestedHavingQuery($query, $boolean)
* @method static mixed havingNull($columns, $boolean, $not)
* @method static mixed orHavingNull($column)
* @method static mixed havingNotNull($columns, $boolean)
* @method static mixed orHavingNotNull($column)
* @method static mixed havingBetween($column, iterable $values, $boolean, $not)
* @method static mixed havingNotBetween($column, iterable $values, $boolean)
* @method static mixed orHavingBetween($column, iterable $values)
* @method static mixed orHavingNotBetween($column, iterable $values)
* @method static mixed havingRaw($sql, array $bindings, $boolean)
* @method static mixed orHavingRaw($sql, array $bindings)
* @method static mixed orderBy($column, $direction)
* @method static mixed orderByDesc($column)
* @method static mixed latest($column)
* @method static mixed oldest($column)
* @method static mixed orderByVectorDistance($column, $vector)
* @method static mixed inRandomOrder($seed)
* @method static mixed orderByRaw($sql, $bindings)
* @method static mixed skip($value)
* @method static mixed offset($value)
* @method static mixed take($value)
* @method static mixed limit($value)
* @method static mixed groupLimit($value, $column)
* @method static mixed forPage($page, $perPage)
* @method static mixed forPageBeforeId($perPage, $lastId, $column)
* @method static mixed forPageAfterId($perPage, $lastId, $column)
* @method static mixed reorder($column, $direction)
* @method static mixed reorderDesc($column)
* @method static mixed removeExistingOrdersFor($column)
* @method static mixed union($query, $all)
* @method static mixed unionAll($query)
* @method static mixed lock($value)
* @method static mixed lockForUpdate()
* @method static mixed sharedLock()
* @method static mixed beforeQuery(callable $callback)
* @method static mixed applyBeforeQueryCallbacks()
* @method static mixed afterQuery(Closure $callback)
* @method static mixed applyAfterQueryCallbacks($result)
* @method static mixed toSql()
* @method static mixed toRawSql()
* @method static mixed find($id, $columns)
* @method static mixed findOr($id, $columns, Closure $callback)
* @method static mixed value($column)
* @method static mixed rawValue(string $expression, array $bindings)
* @method static mixed soleValue($column)
* @method static mixed get($columns)
* @method static mixed runSelect()
* @method static mixed withoutGroupLimitKeys($items)
* @method static mixed paginate($perPage, $columns, $pageName, $page, $total)
* @method static mixed simplePaginate($perPage, $columns, $pageName, $page)
* @method static mixed cursorPaginate($perPage, $columns, $cursorName, $cursor)
* @method static mixed ensureOrderForCursorPagination($shouldReverse)
* @method static mixed getCountForPagination($columns)
* @method static mixed runPaginationCountQuery($columns)
* @method static mixed cloneForPaginationCount()
* @method static mixed withoutSelectAliases(array $columns)
* @method static mixed cursor()
* @method static mixed enforceOrderBy()
* @method static mixed pluck($column, $key)
* @method static mixed stripTableForPluck($column)
* @method static mixed pluckFromObjectColumn($queryResult, $column, $key)
* @method static mixed pluckFromArrayColumn($queryResult, $column, $key)
* @method static mixed implode($column, $glue)
* @method static mixed exists()
* @method static mixed doesntExist()
* @method static mixed existsOr(Closure $callback)
* @method static mixed doesntExistOr(Closure $callback)
* @method static mixed count($columns)
* @method static mixed min($column)
* @method static mixed max($column)
* @method static mixed sum($column)
* @method static mixed avg($column)
* @method static mixed average($column)
* @method static mixed aggregate($function, $columns)
* @method static mixed numericAggregate($function, $columns)
* @method static mixed setAggregate($function, $columns)
* @method static mixed onceWithColumns($columns, $callback)
* @method static mixed insert(array $values)
* @method static mixed insertOrIgnore(array $values)
* @method static mixed insertGetId(array $values, $sequence)
* @method static mixed insertUsing(array $columns, $query)
* @method static mixed insertOrIgnoreUsing(array $columns, $query)
* @method static mixed update(array $values)
* @method static mixed updateFrom(array $values)
* @method static mixed updateOrInsert(array $attributes, callable|array $values)
* @method static mixed upsert(array $values, array|string $uniqueBy, array $update)
* @method static mixed increment($column, $amount, array $extra)
* @method static mixed incrementEach(array $columns, array $extra)
* @method static mixed decrement($column, $amount, array $extra)
* @method static mixed decrementEach(array $columns, array $extra)
* @method static mixed delete($id)
* @method static mixed truncate()
* @method static mixed newQuery()
* @method static mixed forSubQuery()
* @method static mixed getColumns()
* @method static mixed raw($value)
* @method static mixed getUnionBuilders()
* @method static mixed getLimit()
* @method static mixed getOffset()
* @method static mixed getBindings()
* @method static mixed getRawBindings()
* @method static mixed setBindings(array $bindings, $type)
* @method static mixed addBinding($value, $type)
* @method static mixed castBinding($value)
* @method static mixed mergeBindings(self $query)
* @method static mixed cleanBindings(array $bindings)
* @method static mixed flattenValue($value)
* @method static mixed defaultKeyName()
* @method static mixed getConnection()
* @method static mixed ensureConnectionSupportsVectors()
* @method static mixed getProcessor()
* @method static mixed getGrammar()
* @method static mixed useWritePdo()
* @method static mixed isQueryable($value)
* @method static mixed clone()
* @method static mixed cloneWithout(array $properties)
* @method static mixed cloneWithoutBindings(array $except)
* @method static mixed dump($args)
* @method static mixed dumpRawSql()
* @method static mixed dd()
* @method static mixed ddRawSql()
* @method static mixed wherePast($columns)
* @method static mixed whereNowOrPast($columns)
* @method static mixed orWherePast($columns)
* @method static mixed orWhereNowOrPast($columns)
* @method static mixed whereFuture($columns)
* @method static mixed whereNowOrFuture($columns)
* @method static mixed orWhereFuture($columns)
* @method static mixed orWhereNowOrFuture($columns)
* @method static mixed wherePastOrFuture($columns, $operator, $boolean)
* @method static mixed whereToday($columns, $boolean)
* @method static mixed whereBeforeToday($columns)
* @method static mixed whereTodayOrBefore($columns)
* @method static mixed whereAfterToday($columns)
* @method static mixed whereTodayOrAfter($columns)
* @method static mixed orWhereToday($columns)
* @method static mixed orWhereBeforeToday($columns)
* @method static mixed orWhereTodayOrBefore($columns)
* @method static mixed orWhereAfterToday($columns)
* @method static mixed orWhereTodayOrAfter($columns)
* @method static mixed whereTodayBeforeOrAfter($columns, $operator, $boolean)
* @method static mixed chunk($count, callable $callback)
* @method static mixed chunkMap(callable $callback, $count)
* @method static mixed each(callable $callback, $count)
* @method static mixed chunkById($count, callable $callback, $column, $alias)
* @method static mixed chunkByIdDesc($count, callable $callback, $column, $alias)
* @method static mixed orderedChunkById($count, callable $callback, $column, $alias, $descending)
* @method static mixed eachById(callable $callback, $count, $column, $alias)
* @method static mixed lazy($chunkSize)
* @method static mixed lazyById($chunkSize, $column, $alias)
* @method static mixed lazyByIdDesc($chunkSize, $column, $alias)
* @method static mixed orderedLazyById($chunkSize, $column, $alias, $descending)
* @method static mixed first($columns)
* @method static mixed firstOrFail($columns, $message)
* @method static mixed sole($columns)
* @method static mixed paginateUsingCursor($perPage, $columns, $cursorName, $cursor)
* @method static mixed getOriginalColumnNameForCursorPagination($builder, string $parameter)
* @method static mixed paginator($items, $total, $perPage, $currentPage, $options)
* @method static mixed simplePaginator($items, $perPage, $currentPage, $options)
* @method static mixed cursorPaginator($items, $perPage, $cursor, $options)
* @method static mixed tap($callback)
* @method static mixed pipe($callback)
* @method static mixed when($value, callable $callback, callable $default)
* @method static mixed unless($value, callable $callback, callable $default)
* @method static mixed explain()
* @method static mixed forwardCallTo($object, $method, $parameters)
* @method static mixed forwardDecoratedCallTo($object, $method, $parameters)
* @method static mixed throwBadMethodCallException($method)
* @method static mixed macro($name, $macro)
* @method static mixed mixin($mixin, $replace)
* @method static mixed hasMacro($name)
* @method static mixed flushMacros()
* @method static mixed macroCall($method, $parameters)
* @mixin \Illuminate\Database\Query\Builder
*/
class Venue extends \Illuminate\Database\Eloquent\Model
{
//
}
} }