id(); $table->uuid('uuid')->unique(); $table->string('pickup_label'); $table->decimal('pickup_lat', 10, 7)->nullable(); $table->decimal('pickup_lng', 10, 7)->nullable(); $table->string('destination_label'); $table->decimal('destination_lat', 10, 7)->nullable(); $table->decimal('destination_lng', 10, 7)->nullable(); $table->dateTime('scheduled_for')->nullable(); $table->enum('status', ['pending', 'confirmed', 'completed', 'cancelled'])->default('pending'); $table->unsignedTinyInteger('eta_minutes')->nullable(); $table->enum('source_channel', ['app', 'hotel', 'reception', 'web'])->default('web'); $table->string('context_zone')->nullable(); $table->string('locale', 10)->nullable(); $table->timestamps(); }); } public function down(): void { Schema::dropIfExists('rides'); } };