id(); $table->string('type', 50)->default('general'); $table->string('name', 100); $table->string('email', 255); $table->string('phone', 50)->nullable(); $table->string('company', 100)->nullable(); $table->string('country_region', 100)->nullable(); $table->string('industry', 100)->nullable(); $table->string('topic', 100)->nullable(); $table->text('message'); $table->enum('status', ['new', 'handled', 'spam'])->default('new'); $table->timestamp('handled_at')->nullable(); $table->json('meta')->nullable(); $table->timestamps(); $table->index('status'); $table->index('type'); $table->index('created_at'); }); } /** * Reverse the migrations. */ public function down(): void { Schema::dropIfExists('contact_submissions'); } };