faker->randomElement($types); return [ 'trip_id' => Trip::factory(), 'name' => $this->faker->company(), 'type' => $type, 'address' => $this->faker->address(), 'notes' => $this->faker->sentence(), 'metadata' => $this->getMetadataForType($type), ]; } private function getMetadataForType($type) { switch ($type) { case 'hotel': return [ 'checkin_time' => '15:00', 'checkout_time' => '11:00', 'confirmation_number' => $this->faker->uuid() ]; case 'restaurant': return [ 'reservation_time' => '19:00', 'party_size' => $this->faker->numberBetween(2, 6) ]; case 'transport': return [ 'departure_time' => '10:00', 'arrival_time' => '14:00', 'transport_type' => $this->faker->randomElement(['flight', 'train', 'bus']) ]; case 'attraction': return [ 'opening_hours' => '9:00 AM - 5:00 PM', 'ticket_price' => '$' . $this->faker->numberBetween(10, 50) ]; case 'activity': return [ 'duration' => $this->faker->numberBetween(1, 4) . ' hours', 'meeting_point' => $this->faker->streetAddress() ]; default: return []; } } }