Index: applications/editors/josm/plugins/public_transport/src/public_transport/StopImporterAction.java
===================================================================
--- applications/editors/josm/plugins/public_transport/src/public_transport/StopImporterAction.java	(revision 20834)
+++ applications/editors/josm/plugins/public_transport/src/public_transport/StopImporterAction.java	(revision 20835)
@@ -131,8 +131,4 @@
       if ((!inEvent) && (dialog.gpsTimeStartValid()) && (currentTrack != null))
 	Main.main.undoRedo.add(new TrackStoplistRelocateCommand(this));
-/*      {
-	currentTrack.gpsSyncTime = dialog.getGpsTimeStart();
-	currentTrack.relocateNodes();
-      }*/
     }
     else if ("stopImporter.settingsStopwatchStart".equals(event.getActionCommand()))
@@ -140,8 +136,4 @@
       if ((!inEvent) && (dialog.stopwatchStartValid()) && (currentTrack != null))
 	Main.main.undoRedo.add(new TrackStoplistRelocateCommand(this));
-/*      {
-	currentTrack.stopwatchStart = dialog.getStopwatchStart();
-	currentTrack.relocateNodes();
-      }*/
     }
     else if ("stopImporter.settingsTimeWindow".equals(event.getActionCommand()))
@@ -264,5 +256,5 @@
 	waypointTM.addRow(waypoint);
       }
-      dialog.getWaypointsTable().setModel(waypointTM);
+      dialog.setWaypointsTableModel(waypointTM);
     }
     else
Index: applications/editors/josm/plugins/public_transport/src/public_transport/StopImporterDialog.java
===================================================================
--- applications/editors/josm/plugins/public_transport/src/public_transport/StopImporterDialog.java	(revision 20834)
+++ applications/editors/josm/plugins/public_transport/src/public_transport/StopImporterDialog.java	(revision 20835)
@@ -21,4 +21,5 @@
 import java.util.zip.GZIPInputStream;
 
+import javax.swing.DefaultCellEditor;
 import javax.swing.DefaultListModel;
 import javax.swing.JButton;
@@ -435,5 +436,5 @@
     waypointTable = new JTable();
     tableSP = new JScrollPane(waypointTable);
-      
+    
     layoutCons.gridx = 0;
     layoutCons.gridy = 0;
@@ -623,4 +624,20 @@
   {
     return waypointTable;
+  }
+  
+  public void setWaypointsTableModel(WaypointTableModel model)
+  {
+    waypointTable.setModel(model);
+    JComboBox comboBox = new JComboBox();
+    comboBox.addItem("");
+    comboBox.addItem("yes");
+    comboBox.addItem("no");
+    comboBox.addItem("implicit");
+    waypointTable.getColumnModel().getColumn(2)
+	.setCellEditor(new DefaultCellEditor(comboBox));
+    int width = waypointTable.getPreferredSize().width;
+    waypointTable.getColumnModel().getColumn(0).setPreferredWidth((int)(width * 0.4));
+    waypointTable.getColumnModel().getColumn(1).setPreferredWidth((int)(width * 0.5));
+    waypointTable.getColumnModel().getColumn(2).setPreferredWidth((int)(width * 0.1));
   }
   
Index: applications/editors/josm/plugins/public_transport/src/public_transport/WaypointTableModel.java
===================================================================
--- applications/editors/josm/plugins/public_transport/src/public_transport/WaypointTableModel.java	(revision 20834)
+++ applications/editors/josm/plugins/public_transport/src/public_transport/WaypointTableModel.java	(revision 20835)
@@ -27,4 +27,5 @@
     addColumn("Time");
     addColumn("Stopname");
+    addColumn("Shelter");
     addTableModelListener(this);
   }
@@ -32,5 +33,5 @@
   public boolean isCellEditable(int row, int column)
   {
-    if (column == 1)
+    if (column >= 1)
       return true;
     return false;
@@ -54,5 +55,5 @@
   public void insertRow(int insPos, WayPoint wp)
   {
-    String[] buf = { "", "" };
+    String[] buf = { "", "", "" };
     buf[0] = wp.getString("time");
     if (buf[0] == null)
@@ -63,5 +64,5 @@
 
     Node node = controller.createNode(wp.getCoor(), buf[1]);
-      
+    
     if (insPos == -1)
     {
@@ -91,13 +92,7 @@
 	return;
       Main.main.undoRedo.add(new WaypointsNameCommand
-	  (this, e.getFirstRow(), (String)getValueAt(e.getFirstRow(), 1)));
+	  (this, e.getFirstRow(), (String)getValueAt(e.getFirstRow(), 1),
+	   (String)getValueAt(e.getFirstRow(), 2)));
     }
-/*    {
-      if (nodes.elementAt(e.getFirstRow()) != null)
-      {
-	Node node = nodes.elementAt(e.getFirstRow());
-	node.put("name", (String)getValueAt(e.getFirstRow(), 1));
-      }
-    }*/
   }
 };
Index: applications/editors/josm/plugins/public_transport/src/public_transport/WaypointsEnableCommand.java
===================================================================
--- applications/editors/josm/plugins/public_transport/src/public_transport/WaypointsEnableCommand.java	(revision 20834)
+++ applications/editors/josm/plugins/public_transport/src/public_transport/WaypointsEnableCommand.java	(revision 20835)
@@ -52,4 +52,8 @@
       Node node = StopImporterAction.createNode
         (waypointTM.coors.elementAt(j), type, (String)waypointTM.getValueAt(j, 1));
+      if ("".equals((String)waypointTM.getValueAt(j, 2)))
+	node.put("shelter", null);
+      else
+	node.put("shelter", (String)waypointTM.getValueAt(j, 2));
       waypointTM.nodes.set(j, node);
     }
Index: applications/editors/josm/plugins/public_transport/src/public_transport/WaypointsNameCommand.java
===================================================================
--- applications/editors/josm/plugins/public_transport/src/public_transport/WaypointsNameCommand.java	(revision 20834)
+++ applications/editors/josm/plugins/public_transport/src/public_transport/WaypointsNameCommand.java	(revision 20835)
@@ -17,12 +17,21 @@
   private String oldName = null;
   private String name = null;
+  private String oldShelter = null;
+  private String shelter = null;
   
-  public WaypointsNameCommand(WaypointTableModel waypointTM, int workingLine, String name)
+  public WaypointsNameCommand
+      (WaypointTableModel waypointTM, int workingLine, String name, String shelter)
   {
     this.waypointTM = waypointTM;
     this.workingLine = workingLine;
     if (waypointTM.nodes.elementAt(workingLine) != null)
+    {
       oldName = waypointTM.nodes.elementAt(workingLine).get("name");
+      oldShelter = waypointTM.nodes.elementAt(workingLine).get("shelter");
+    }
     this.name = name;
+    this.shelter = shelter;
+    if ("".equals(shelter))
+      shelter = null;
   }
   
@@ -32,6 +41,11 @@
     {
       waypointTM.nodes.elementAt(workingLine).put("name", name);
+      waypointTM.nodes.elementAt(workingLine).put("shelter", shelter);
       waypointTM.inEvent = true;
       waypointTM.setValueAt(name, workingLine, 1);
+      if (shelter == null)
+	waypointTM.setValueAt("", workingLine, 2);
+      else
+	waypointTM.setValueAt(shelter, workingLine, 2);
       waypointTM.inEvent = false;
     }
@@ -44,6 +58,11 @@
     {
       waypointTM.nodes.elementAt(workingLine).put("name", oldName);
+      waypointTM.nodes.elementAt(workingLine).put("shelter", oldShelter);
       waypointTM.inEvent = true;
       waypointTM.setValueAt(oldName, workingLine, 1);
+      if (oldShelter == null)
+	waypointTM.setValueAt("", workingLine, 2);
+      else
+	waypointTM.setValueAt(oldShelter, workingLine, 2);
       waypointTM.inEvent = false;
     }
