<?php

// @formatter:off
// phpcs:ignoreFile
/**
 * A helper file for your Eloquent Models
 * Copy the phpDocs from this file to the correct Model,
 * And remove them from this file, to prevent double declarations.
 *
 * @author Barry vd. Heuvel <barryvdh@gmail.com>
 */


namespace App\Models{
/**
 * 
 *
 * @property int $id
 * @property string|null $transaction_code
 * @property int $customer_id
 * @property int $tailor_id
 * @property \Illuminate\Support\Carbon $appointment_date
 * @property string $appointment_time
 * @property string $service_type
 * @property string $category
 * @property string|null $design_photo
 * @property string|null $notes
 * @property string $status
 * @property numeric|null $total_price
 * @property string $payment_status
 * @property string|null $completion_date
 * @property string|null $measurements
 * @property string|null $repair_details
 * @property string|null $repair_photo
 * @property string|null $repair_notes
 * @property string|null $completion_photo
 * @property string|null $completion_notes
 * @property string|null $accepted_at
 * @property string|null $rejected_at
 * @property string|null $completed_at
 * @property string|null $pickup_date
 * @property string|null $rejection_reason
 * @property string|null $payment_method
 * @property string|null $midtrans_snap_token
 * @property \Illuminate\Support\Carbon|null $created_at
 * @property \Illuminate\Support\Carbon|null $updated_at
 * @property-read \App\Models\User $customer
 * @property-read \App\Models\Measurement|null $measurement
 * @property-read \App\Models\User $tailor
 * @method static \Illuminate\Database\Eloquent\Builder<static>|Booking newModelQuery()
 * @method static \Illuminate\Database\Eloquent\Builder<static>|Booking newQuery()
 * @method static \Illuminate\Database\Eloquent\Builder<static>|Booking query()
 * @method static \Illuminate\Database\Eloquent\Builder<static>|Booking whereAcceptedAt($value)
 * @method static \Illuminate\Database\Eloquent\Builder<static>|Booking whereAppointmentDate($value)
 * @method static \Illuminate\Database\Eloquent\Builder<static>|Booking whereAppointmentTime($value)
 * @method static \Illuminate\Database\Eloquent\Builder<static>|Booking whereCategory($value)
 * @method static \Illuminate\Database\Eloquent\Builder<static>|Booking whereCompletedAt($value)
 * @method static \Illuminate\Database\Eloquent\Builder<static>|Booking whereCompletionDate($value)
 * @method static \Illuminate\Database\Eloquent\Builder<static>|Booking whereCompletionNotes($value)
 * @method static \Illuminate\Database\Eloquent\Builder<static>|Booking whereCompletionPhoto($value)
 * @method static \Illuminate\Database\Eloquent\Builder<static>|Booking whereCreatedAt($value)
 * @method static \Illuminate\Database\Eloquent\Builder<static>|Booking whereCustomerId($value)
 * @method static \Illuminate\Database\Eloquent\Builder<static>|Booking whereDesignPhoto($value)
 * @method static \Illuminate\Database\Eloquent\Builder<static>|Booking whereId($value)
 * @method static \Illuminate\Database\Eloquent\Builder<static>|Booking whereMeasurements($value)
 * @method static \Illuminate\Database\Eloquent\Builder<static>|Booking whereMidtransSnapToken($value)
 * @method static \Illuminate\Database\Eloquent\Builder<static>|Booking whereNotes($value)
 * @method static \Illuminate\Database\Eloquent\Builder<static>|Booking wherePaymentMethod($value)
 * @method static \Illuminate\Database\Eloquent\Builder<static>|Booking wherePaymentStatus($value)
 * @method static \Illuminate\Database\Eloquent\Builder<static>|Booking wherePickupDate($value)
 * @method static \Illuminate\Database\Eloquent\Builder<static>|Booking whereRejectedAt($value)
 * @method static \Illuminate\Database\Eloquent\Builder<static>|Booking whereRejectionReason($value)
 * @method static \Illuminate\Database\Eloquent\Builder<static>|Booking whereRepairDetails($value)
 * @method static \Illuminate\Database\Eloquent\Builder<static>|Booking whereRepairNotes($value)
 * @method static \Illuminate\Database\Eloquent\Builder<static>|Booking whereRepairPhoto($value)
 * @method static \Illuminate\Database\Eloquent\Builder<static>|Booking whereServiceType($value)
 * @method static \Illuminate\Database\Eloquent\Builder<static>|Booking whereStatus($value)
 * @method static \Illuminate\Database\Eloquent\Builder<static>|Booking whereTailorId($value)
 * @method static \Illuminate\Database\Eloquent\Builder<static>|Booking whereTotalPrice($value)
 * @method static \Illuminate\Database\Eloquent\Builder<static>|Booking whereTransactionCode($value)
 * @method static \Illuminate\Database\Eloquent\Builder<static>|Booking whereUpdatedAt($value)
 */
	class Booking extends \Eloquent {}
}

namespace App\Models{
/**
 * 
 *
 * @property-read \App\Models\User|null $customer
 * @method static \Illuminate\Database\Eloquent\Builder<static>|Measurement newModelQuery()
 * @method static \Illuminate\Database\Eloquent\Builder<static>|Measurement newQuery()
 * @method static \Illuminate\Database\Eloquent\Builder<static>|Measurement query()
 */
	class Measurement extends \Eloquent {}
}

namespace App\Models{
/**
 * 
 *
 * @property-read \App\Models\User|null $customer
 * @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Product> $products
 * @property-read int|null $products_count
 * @method static \Illuminate\Database\Eloquent\Builder<static>|Order newModelQuery()
 * @method static \Illuminate\Database\Eloquent\Builder<static>|Order newQuery()
 * @method static \Illuminate\Database\Eloquent\Builder<static>|Order query()
 */
	class Order extends \Eloquent {}
}

namespace App\Models{
/**
 * 
 *
 * @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Order> $orders
 * @property-read int|null $orders_count
 * @method static \Illuminate\Database\Eloquent\Builder<static>|Product newModelQuery()
 * @method static \Illuminate\Database\Eloquent\Builder<static>|Product newQuery()
 * @method static \Illuminate\Database\Eloquent\Builder<static>|Product query()
 */
	class Product extends \Eloquent {}
}

namespace App\Models{
/**
 * 
 *
 * @property int $id
 * @property int $user_id
 * @property string $photo
 * @property string|null $title
 * @property string|null $description
 * @property string|null $category
 * @property \Illuminate\Support\Carbon|null $created_at
 * @property \Illuminate\Support\Carbon|null $updated_at
 * @property-read \App\Models\User $tailor
 * @method static \Illuminate\Database\Eloquent\Builder<static>|TailorGallery newModelQuery()
 * @method static \Illuminate\Database\Eloquent\Builder<static>|TailorGallery newQuery()
 * @method static \Illuminate\Database\Eloquent\Builder<static>|TailorGallery query()
 * @method static \Illuminate\Database\Eloquent\Builder<static>|TailorGallery whereCategory($value)
 * @method static \Illuminate\Database\Eloquent\Builder<static>|TailorGallery whereCreatedAt($value)
 * @method static \Illuminate\Database\Eloquent\Builder<static>|TailorGallery whereDescription($value)
 * @method static \Illuminate\Database\Eloquent\Builder<static>|TailorGallery whereId($value)
 * @method static \Illuminate\Database\Eloquent\Builder<static>|TailorGallery wherePhoto($value)
 * @method static \Illuminate\Database\Eloquent\Builder<static>|TailorGallery whereTitle($value)
 * @method static \Illuminate\Database\Eloquent\Builder<static>|TailorGallery whereUpdatedAt($value)
 * @method static \Illuminate\Database\Eloquent\Builder<static>|TailorGallery whereUserId($value)
 */
	class TailorGallery extends \Eloquent {}
}

namespace App\Models{
/**
 * 
 *
 * @property int $id
 * @property int $booking_id
 * @property int $customer_id
 * @property int $tailor_id
 * @property numeric $rating
 * @property string|null $review
 * @property \Illuminate\Support\Carbon|null $created_at
 * @property \Illuminate\Support\Carbon|null $updated_at
 * @property-read \App\Models\Booking $booking
 * @property-read \App\Models\User $customer
 * @property-read \App\Models\User $tailor
 * @method static \Illuminate\Database\Eloquent\Builder<static>|TailorRating newModelQuery()
 * @method static \Illuminate\Database\Eloquent\Builder<static>|TailorRating newQuery()
 * @method static \Illuminate\Database\Eloquent\Builder<static>|TailorRating query()
 * @method static \Illuminate\Database\Eloquent\Builder<static>|TailorRating whereBookingId($value)
 * @method static \Illuminate\Database\Eloquent\Builder<static>|TailorRating whereCreatedAt($value)
 * @method static \Illuminate\Database\Eloquent\Builder<static>|TailorRating whereCustomerId($value)
 * @method static \Illuminate\Database\Eloquent\Builder<static>|TailorRating whereId($value)
 * @method static \Illuminate\Database\Eloquent\Builder<static>|TailorRating whereRating($value)
 * @method static \Illuminate\Database\Eloquent\Builder<static>|TailorRating whereReview($value)
 * @method static \Illuminate\Database\Eloquent\Builder<static>|TailorRating whereTailorId($value)
 * @method static \Illuminate\Database\Eloquent\Builder<static>|TailorRating whereUpdatedAt($value)
 */
	class TailorRating extends \Eloquent {}
}

namespace App\Models{
/**
 * 
 *
 * @property int $id
 * @property string $name
 * @property string $email
 * @property string $password
 * @property string $role
 * @property string|null $phone_number
 * @property string|null $address
 * @property numeric|null $latitude
 * @property numeric|null $longitude
 * @property string|null $shop_description
 * @property string|null $profile_photo
 * @property \Illuminate\Support\Carbon|null $email_verified_at
 * @property string|null $remember_token
 * @property \Illuminate\Support\Carbon|null $created_at
 * @property \Illuminate\Support\Carbon|null $updated_at
 * @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Booking> $bookings
 * @property-read int|null $bookings_count
 * @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\TailorGallery> $galleries
 * @property-read int|null $galleries_count
 * @property-read \Illuminate\Notifications\DatabaseNotificationCollection<int, \Illuminate\Notifications\DatabaseNotification> $notifications
 * @property-read int|null $notifications_count
 * @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Booking> $orders
 * @property-read int|null $orders_count
 * @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\TailorRating> $reviews
 * @property-read int|null $reviews_count
 * @property-read \Illuminate\Database\Eloquent\Collection<int, \Laravel\Sanctum\PersonalAccessToken> $tokens
 * @property-read int|null $tokens_count
 * @method static \Database\Factories\UserFactory factory($count = null, $state = [])
 * @method static \Illuminate\Database\Eloquent\Builder<static>|User newModelQuery()
 * @method static \Illuminate\Database\Eloquent\Builder<static>|User newQuery()
 * @method static \Illuminate\Database\Eloquent\Builder<static>|User query()
 * @method static \Illuminate\Database\Eloquent\Builder<static>|User whereAddress($value)
 * @method static \Illuminate\Database\Eloquent\Builder<static>|User whereCreatedAt($value)
 * @method static \Illuminate\Database\Eloquent\Builder<static>|User whereEmail($value)
 * @method static \Illuminate\Database\Eloquent\Builder<static>|User whereEmailVerifiedAt($value)
 * @method static \Illuminate\Database\Eloquent\Builder<static>|User whereId($value)
 * @method static \Illuminate\Database\Eloquent\Builder<static>|User whereLatitude($value)
 * @method static \Illuminate\Database\Eloquent\Builder<static>|User whereLongitude($value)
 * @method static \Illuminate\Database\Eloquent\Builder<static>|User whereName($value)
 * @method static \Illuminate\Database\Eloquent\Builder<static>|User wherePassword($value)
 * @method static \Illuminate\Database\Eloquent\Builder<static>|User wherePhoneNumber($value)
 * @method static \Illuminate\Database\Eloquent\Builder<static>|User whereProfilePhoto($value)
 * @method static \Illuminate\Database\Eloquent\Builder<static>|User whereRememberToken($value)
 * @method static \Illuminate\Database\Eloquent\Builder<static>|User whereRole($value)
 * @method static \Illuminate\Database\Eloquent\Builder<static>|User whereShopDescription($value)
 * @method static \Illuminate\Database\Eloquent\Builder<static>|User whereUpdatedAt($value)
 */
	class User extends \Eloquent {}
}

