code: def print_trip_table(document):
      
      headers = [
          'Alt.',
          'Name',
          'Time',
          'Track',
          'Direction',
          'Dest.',
          'Track',
          'Arrival']
      table = []
      altnr = 0
      for alternative in document:
          altnr += 1
          first_trip_in_alt = True
          if not isinstance(alternative['Leg'], list):
              alternative['Leg'] = [alternative['Leg']]
          for part in alternative['Leg']:
              orig = part['Origin']
              dest = part['Destination']
              row = [
                  altnr if first_trip_in_alt else None,
                  part['name'],
                  orig['rtTime'] if 'rtTime' in orig else orig['time'],
                  orig['track'],
                  part['direction'] if 'direction' in part else None,
                  dest['name'],
                  dest['track'],
                  dest['rtTime'] if 'rtTime' in dest else dest['time'],
                  ]
              table.append(row)
              first_trip_in_alt = False
      print(tabulate.tabulate(table, headers))
docs: Print trip table