diff --git a/src/pyutil/jsonutil.py b/src/pyutil/jsonutil.py
index bebc1e9e78dac26d1e67b64eb63e6b88f247f080..f51ae59fa84c0bebfd0cd0030e14ab6948e731cd 100644
--- a/src/pyutil/jsonutil.py
+++ b/src/pyutil/jsonutil.py
@@ -780,7 +780,7 @@ def json_basic_flyto(ns, lat, lon, alt, commanded_speed, speed="", node_uuid="",
         jobj["params"]["speed"] = speed
     return jobj;
 
-def json_basic_moveto(ns, lat, lon, alt, speed, node_uuid="", use_alias=False, use_lock=False, camera_data_recording=False):
+def json_basic_moveto(ns, lat, lon, alt, speed, node_uuid="", use_alias=False, use_lock=False, camera_data_recording=False, laser_data_recording=False):
     jobj = {
         "children": [],
         "common_params": get_common_params (ns, use_alias, node_uuid, use_lock=use_lock),                
@@ -793,7 +793,8 @@ def json_basic_moveto(ns, lat, lon, alt, speed, node_uuid="", use_alias=False, u
                 "longitude": lon,
                 "rostype": "GeoPoint"
             },
-            "camera-data-recording": camera_data_recording            
+            "camera-data-recording": camera_data_recording,
+            "laser-data-recording": laser_data_recording
         }
     }
     return jobj;
@@ -841,7 +842,7 @@ def json_basic_geoloc_reset(ns, command, node_uuid="", use_alias=False, use_lock
     }
     return jobj;
 
-def json_basic_search_area(ns, geopoints, speed, target_size=2.0, node_uuid="", use_alias=False, use_lock=False, camera_data_recording=False):
+def json_basic_search_area(ns, geopoints, speed, target_size=2.0, node_uuid="", use_alias=False, use_lock=False, camera_data_recording=False, laser_data_recording=False, coverage_side=10.0, height=20.0, sensor_type="laser"):
     jobj = {
         "children": [],
         "common_params": get_common_params (ns, use_alias, node_uuid, use_lock=use_lock),                
@@ -850,7 +851,11 @@ def json_basic_search_area(ns, geopoints, speed, target_size=2.0, node_uuid="",
             "speed": speed,
             "area": geopoints,
             "target-size": target_size,
-            "camera-data-recording": camera_data_recording                    
+            "sensor-type": sensor_type,
+            "coverage-side": coverage_side,
+            "height": height,
+            "camera-data-recording": camera_data_recording,
+            "laser-data-recording": laser_data_recording                    
         }
     }
     return jobj;
@@ -1233,9 +1238,9 @@ def json_flyto(ns, lat, lon, alt, commanded_speed, speed="", node_uuid="", use_a
     jobj["children"].append(json_basic_flyto(ns, lat, lon, alt, commanded_speed, speed=speed, use_alias=use_alias, node_uuid=node_uuid, use_lock=use_lock))
     return jobj;
 
-def json_moveto(ns, lat, lon, alt, speed, node_uuid="", use_alias=False, use_lock=False, camera_data_recording=False):
+def json_moveto(ns, lat, lon, alt, speed, node_uuid="", use_alias=False, use_lock=False, camera_data_recording=False, laser_data_recording=False):
     jobj = json_basic_seq(ns, use_alias=use_alias)
-    jobj["children"].append(json_basic_moveto(ns, lat, lon, alt, speed, use_alias=use_alias, node_uuid=node_uuid, use_lock=use_lock, camera_data_recording=camera_data_recording))
+    jobj["children"].append(json_basic_moveto(ns, lat, lon, alt, speed, use_alias=use_alias, node_uuid=node_uuid, use_lock=use_lock, camera_data_recording=camera_data_recording, laser_data_recording=laser_data_recording))
     return jobj;
 
 def json_move_path(ns, geopoints, speed, node_uuid="", use_alias=False, use_lock=False):
@@ -1248,9 +1253,9 @@ def json_search_position(ns, lat, lon, alt, speed, radius=25.0, node_uuid="", us
     jobj["children"].append(json_basic_search_position(ns, lat, lon, alt, speed, radius=radius, use_alias=use_alias, node_uuid=node_uuid, use_lock=use_lock))
     return jobj;
 
-def json_search_area(ns, geopoints, speed, target_size=2.0, node_uuid="", use_alias=False, use_lock=False, camera_data_recording=False):
+def json_search_area(ns, geopoints, speed, target_size=2.0, node_uuid="", use_alias=False, use_lock=False, camera_data_recording=False, laser_data_recording=False, height=20.0, coverage_side=10.0, sensor_type="laser"):
     jobj = json_basic_seq(ns, use_alias=use_alias)
-    jobj["children"].append(json_basic_search_area(ns, geopoints, speed, target_size=target_size, use_alias=use_alias, node_uuid=node_uuid, use_lock=use_lock, camera_data_recording=camera_data_recording))
+    jobj["children"].append(json_basic_search_area(ns, geopoints, speed, target_size=target_size, use_alias=use_alias, node_uuid=node_uuid, use_lock=use_lock, camera_data_recording=camera_data_recording, laser_data_recording=laser_data_recording, coverage_side=coverage_side, height=height, sensor_type=sensor_type))
     return jobj;
 
 def json_search_area2(ns, unit1, unit2, geopoints1, geopoints2, speed, target_size=2.0, node_uuid="", use_alias=False, use_lock=False):