id(); $t->string('offer_number', 32)->unique(); $t->foreignId('contact_id') ->constrained('contacts') ->restrictOnDelete(); $t->foreignId('inquiry_id') ->nullable() ->constrained('inquiries') ->nullOnDelete(); $t->foreignId('booking_id') ->nullable() ->constrained('booking') ->nullOnDelete(); $t->enum('status', [ 'draft', 'sent', 'accepted', 'declined', 'expired', 'withdrawn', ])->default('draft'); // FK wird in 2026_04_17_100007 nachträglich gesetzt $t->unsignedBigInteger('current_version_id')->nullable(); $t->foreignId('created_by')->constrained('users'); $t->timestamps(); $t->softDeletes(); $t->index(['status', 'contact_id']); $t->index('inquiry_id'); }); } public function down(): void { Schema::dropIfExists('offers'); } };