diff --git a/CMakeLists.txt b/CMakeLists.txt
index cf6213468d34f197334485c290821d0c6ab1bb13..385837ae55d6888be6acfc782ad7815a8569e592 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -5,6 +5,7 @@ project(lrs_srvs_exec)
 ## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz)
 ## is used, also find other catkin packages
 find_package(catkin REQUIRED COMPONENTS
+  geographic_msgs
   message_generation
   roscpp
   rospy
@@ -54,6 +55,8 @@ find_package(catkin REQUIRED COMPONENTS
 add_service_files(
   DIRECTORY srv
   FILES
+  SMVisPolygon.srv
+  SMVisPattern.srv
   TSTAbortExecutor.srv
   TSTContinueExecutor.srv
   TSTCreateExecutor.srv
@@ -78,8 +81,8 @@ add_service_files(
 
 ## Generate added messages and services with any dependencies listed here
 generate_messages(
-#   DEPENDENCIES
-#   std_msgs  # Or other packages containing msgs
+   DEPENDENCIES
+   geographic_msgs geometry_msgs std_msgs  # Or other packages containing msgs
 )
 
 ###################################
diff --git a/package.xml b/package.xml
index aac4735f82cfb1e37d46af692d8f59221e5cd699..77b794828303b262b40af8ecd6f5b72f5427b4c4 100644
--- a/package.xml
+++ b/package.xml
@@ -42,9 +42,11 @@
   <buildtool_depend>catkin</buildtool_depend>
   <build_depend>roscpp</build_depend>
   <build_depend>rospy</build_depend>
+  <build_depend>geographic_msgs</build_depend>
   <build_depend>message_generation</build_depend>
   <run_depend>roscpp</run_depend>
   <run_depend>rospy</run_depend>
+  <run_depend>geographic_msgs</run_depend>
   <run_depend>message_runtime</run_depend>
 
 
diff --git a/srv/SMVisPattern.srv b/srv/SMVisPattern.srv
new file mode 100644
index 0000000000000000000000000000000000000000..08104d677217eef19ff228e1379e4385d10b2b51
--- /dev/null
+++ b/srv/SMVisPattern.srv
@@ -0,0 +1,5 @@
+geographic_msgs/GeoPoint[] geopoints
+---
+bool success
+int32 error
+string reason
diff --git a/srv/SMVisPolygon.srv b/srv/SMVisPolygon.srv
new file mode 100644
index 0000000000000000000000000000000000000000..08104d677217eef19ff228e1379e4385d10b2b51
--- /dev/null
+++ b/srv/SMVisPolygon.srv
@@ -0,0 +1,5 @@
+geographic_msgs/GeoPoint[] geopoints
+---
+bool success
+int32 error
+string reason