id(); $table->foreignId('event_id')->constrained()->onDelete('cascade'); $table->string('code', 10); // A, B, C, D $table->string('title'); $table->text('description')->nullable(); $table->integer('price_xof')->default(0); $table->integer('price_eur')->default(0); $table->string('currency_primary', 3)->default('XOF'); $table->boolean('includes_accommodation')->default(false); $table->enum('occupancy_type', ['none', 'double', 'single', 'couple'])->default('none'); $table->string('eligibility_rule')->nullable(); $table->integer('sort_order')->default(0); $table->timestamps(); $table->unique(['event_id', 'code']); $table->index('event_id'); }); } /** * Reverse the migrations. */ public function down(): void { Schema::dropIfExists('pricing_plans'); } };