id(); $table->enum('event_type', ['request_created', 'recommendation_viewed', 'recommendation_clicked', 'booking_started', 'booking_completed']); $table->foreignId('ride_id')->nullable()->constrained()->nullOnDelete(); $table->foreignId('offer_id')->nullable()->constrained()->nullOnDelete(); $table->foreignId('booking_id')->nullable()->constrained()->nullOnDelete(); $table->foreignId('ride_recommendation_id')->nullable()->constrained('ride_recommendations')->nullOnDelete(); $table->string('session_id')->nullable(); $table->json('meta')->nullable(); $table->timestamp('created_at')->useCurrent(); }); } public function down(): void { Schema::dropIfExists('events'); } };