List<T>.Add adds a single element. Instead, use List<T>.AddRange to add multiple values.
Additionally, List<T>.AddRange takes an IEnumerable<T>, so you don't need to convert tripDetails into a List<TripDetails>, you can pass it directly, e.g.:
tripDetailsCollection.AddRange(tripDetails);