<?php  namespace App\Models;  use App\Enums\PaymentType; use App\Traits\HasStorage; use App\Contracts\HasMedia; use App\Enums\DeliveryType; use App\Mail\OrderCreatedMail; use App\Observers\OrderObserver; use Illuminate\Support\Facades\Mail; use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Relations\HasMany; use Illuminate\Database\Eloquent\Relations\BelongsTo;  class Order extends Model implements HasMedia { 	use HasStorage;  	public const EUR_EXCHANGE_RATE = 7.53450;  	protected $casts = [ 		'r1' => 'boolean', 		'is_paid' => 'boolean', 		'newsletter' => 'boolean', 		'payment_type' => PaymentType::class, 	];  	public function scopeIncludes(Builder $query): Builder{}  	public function scopeAvailable(Builder $query): Builder{}  	public function scopeSearch(Builder $query, ?string $search = null): Builder{}  	public function mediaConfig(): array{}  	public function discount(): BelongsTo{}  	public function deliveryPrice(): BelongsTo{}  	public function orderItems(): HasMany{}  	public function setDeliveryPhoneAttribute(string $value): void{}  	public function setDeliveryCityAttribute(string $value): void{}  	public function setDeliveryAddressAttribute(string $value): void{}  	public function setDeliveryZipCodeAttribute(string $value): void{}  	public function setBillableNameAttribute(string $value): void{}  	public function setBillableSurnameAttribute(string $value): void{}  	public function setBillablePhoneAttribute(string $value): void{}  	public function setBillableCityAttribute(string $value): void{}  	public function setBillableAddressAttribute(string $value): void{}  	public function setBillableZipCodeAttribute(string $value): void{}  	public static function checkAlowedWeight(float $weight, DeliveryType $delivery_type): bool 	{ 		return $weight > setting('max_weight') && $delivery_type == DeliveryType::GLS; 	}  	public function generatePDF(): void{}  	public function sendInvoiceEmail(): void{}  	protected static function initObservers(): string 	{ 		return OrderObserver::class; 	} }