     guard let first = mapManager.trip.segments.first else { preconditionFailure() }
     try! self.init(startingOn: first, mapManager: mapManager)
   }
+  
+  public convenience init(trip: Trip) {
+    guard let first = trip.segments.first else { preconditionFailure() }
+    try! self.init(startingOn: first)
+  }
+
   
   required init?(coder: NSCoder) {
     // TODO: Implement to support state-restoration

    let cardSegments = segment.trip.segments(with: .inDetails).compactMap { $0 as? TKSegment }
    
    let segmentCards: [SegmentCards] = cardSegments.map {
      let cards = TKUITripModeByModeCard.config.builder.cards(for: $0, mapManager: mapManager)
      return SegmentCards(segmentIndex: $0.index, cards: cards)
    }
    let cards = segmentCards.flatMap { $0.cards }


    let headerSegments = segment.trip.segments(with: .inSummary).compactMap { $0 as? TKSegment }
    self.headerSegmentIndices = headerSegments.map { $0.index }
    
    super.init(cards: cards, initialPage: initialPage ?? 0)

