instruction
Me and my wife decided to go outside for dinner, so use the OpenTable app to find the best-rated restaurants in Ulm.
previous_actions
{"name": "open_app", "parameters": {"app_name": "TheFork"}}
{"name": "click", "parameters": {"x": 922, "y": 1090}}
active_application
TheFork
screen_description
windows {
  bounds_in_screen {
    right: 1080
    bottom: 136
  }
  id: 8
  layer: 1
  window_type: TYPE_SYSTEM
  tree {
    nodes {
      bounds_in_screen {
        right: 1080
        bottom: 136
      }
      class_name: "android.widget.FrameLayout"
    }
    nodes {
      bounds_in_screen {
        right: 1080
        bottom: 136
      }
      class_name: "android.widget.FrameLayout"
      depth: 1
    }
    nodes {
      bounds_in_screen {
        right: 1080
        bottom: 136
      }
      class_name: "android.widget.FrameLayout"
      depth: 1
    }
    nodes {
      bounds_in_screen {
        right: 1080
        bottom: 136
      }
      class_name: "android.widget.FrameLayout"
      depth: 1
    }
    nodes {
      bounds_in_screen {
        right: 1080
        bottom: 136
      }
      class_name: "android.widget.FrameLayout"
      depth: 2
    }
    nodes {
      bounds_in_screen {
        left: 47
        right: 1027
        bottom: 136
      }
      class_name: "android.widget.LinearLayout"
      depth: 3
    }
    nodes {
      bounds_in_screen {
        left: 47
        top: 1
        right: 454
        bottom: 136
      }
      class_name: "android.widget.FrameLayout"
      depth: 4
    }
    nodes {
      bounds_in_screen {
        left: 454
        top: 1
        right: 599
        bottom: 136
      }
      class_name: "android.view.View"
      depth: 4
    }
    nodes {
      bounds_in_screen {
        left: 599
        top: 1
        right: 1006
        bottom: 136
      }
      class_name: "android.widget.FrameLayout"
      depth: 4
    }
    nodes {
      bounds_in_screen {
        left: 47
        top: 1
        right: 264
        bottom: 136
      }
      class_name: "android.widget.FrameLayout"
      depth: 5
    }
    nodes {
      bounds_in_screen {
        left: 840
        top: 1
        right: 1006
        bottom: 136
      }
      class_name: "android.widget.LinearLayout"
      depth: 5
    }
    nodes {
      bounds_in_screen {
        left: 47
        top: 1
        right: 264
        bottom: 136
      }
      class_name: "android.widget.LinearLayout"
      depth: 6
    }
    nodes {
      bounds_in_screen {
        left: 840
        top: 1
        right: 1006
        bottom: 136
      }
      class_name: "android.widget.LinearLayout"
      depth: 6
    }
    nodes {
      bounds_in_screen {
        left: 47
        top: 1
        right: 148
        bottom: 136
      }
      class_name: "android.widget.TextView"
      content_description: "11:08 PM"
      text: "11:08"
      depth: 7
    }
    nodes {
      bounds_in_screen {
        left: 148
        top: 1
        right: 264
        bottom: 136
      }
      class_name: "android.widget.FrameLayout"
      depth: 7
    }
    nodes {
      bounds_in_screen {
        left: 840
        top: 1
        right: 902
        bottom: 136
      }
      class_name: "android.widget.LinearLayout"
      depth: 7
    }
    nodes {
      bounds_in_screen {
        left: 902
        top: 1
        right: 1006
        bottom: 136
      }
      class_name: "android.widget.LinearLayout"
      content_description: "Battery charging, 99 percent."
      depth: 7
    }
    nodes {
      bounds_in_screen {
        left: 148
        top: 1
        right: 264
        bottom: 136
      }
      class_name: "android.view.ViewGroup"
      depth: 8
    }
    nodes {
      bounds_in_screen {
        left: 840
        top: 39
        right: 886
        bottom: 97
      }
      class_name: "android.widget.FrameLayout"
      content_description: "Wifi three bars."
      depth: 8
    }
    nodes {
      bounds_in_screen {
        left: 902
        top: 51
        right: 922
        bottom: 85
      }
      class_name: "android.widget.ImageView"
      depth: 8
    }
    nodes {
      bounds_in_screen {
        left: 922
        top: 1
        right: 1006
        bottom: 136
      }
      class_name: "android.widget.TextView"
      text: "99%"
      depth: 8
    }
    nodes {
      bounds_in_screen {
        left: 148
        top: 1
        right: 206
        bottom: 136
      }
      class_name: "android.widget.ImageView"
      content_description: "Google Play services notification: "
      depth: 9
    }
    nodes {
      bounds_in_screen {
        left: 206
        top: 1
        right: 264
        bottom: 136
      }
      class_name: "android.widget.ImageView"
      content_description: "Google notification: नई दिल्ली में कल का मौसम"
      depth: 9
    }
    nodes {
      bounds_in_screen {
        left: 847
        top: 39
        right: 886
        bottom: 97
      }
      class_name: "android.widget.LinearLayout"
      depth: 9
    }
    nodes {
      bounds_in_screen {
        left: 847
        top: 48
        right: 886
        bottom: 87
      }
      class_name: "android.widget.FrameLayout"
      depth: 10
    }
    nodes {
      bounds_in_screen {
        left: 847
        top: 48
        right: 886
        bottom: 87
      }
      class_name: "android.widget.ImageView"
      depth: 11
    }
  }
}
windows {
  bounds_in_screen {
    right: 1080
    bottom: 2400
  }
  id: 197
  title: "TheFork"
  window_type: TYPE_APPLICATION
  is_active: true
  is_focused: true
  tree {
    nodes {
      bounds_in_screen {
        right: 1080
        bottom: 2400
      }
      class_name: "android.widget.FrameLayout"
    }
    nodes {
      bounds_in_screen {
        right: 1080
        bottom: 2337
      }
      class_name: "android.widget.LinearLayout"
      depth: 1
    }
    nodes {
      bounds_in_screen {
        right: 1080
        bottom: 136
      }
      class_name: "android.view.View"
      depth: 1
    }
    nodes {
      bounds_in_screen {
        top: 2337
        right: 1080
        bottom: 2400
      }
      class_name: "android.view.View"
      depth: 1
    }
    nodes {
      bounds_in_screen {
        top: 136
        right: 1080
        bottom: 2337
      }
      class_name: "android.widget.FrameLayout"
      depth: 2
    }
    nodes {
      bounds_in_screen {
        top: 136
        right: 1080
        bottom: 2337
      }
      class_name: "androidx.compose.ui.platform.ComposeView"
      depth: 3
    }
    nodes {
      bounds_in_screen {
        top: 136
        right: 1080
        bottom: 2337
      }
      class_name: "android.view.View"
      depth: 4
    }
    nodes {
      bounds_in_screen {
        top: 136
        right: 1080
        bottom: 2337
      }
      class_name: "android.view.View"
      depth: 5
    }
    nodes {
      bounds_in_screen {
        left: 170
        top: 362
        right: 250
        bottom: 406
      }
      class_name: "android.widget.TextView"
      text: "Date"
      depth: 6
    }
    nodes {
      bounds_in_screen {
        left: 504
        top: 362
        right: 588
        bottom: 406
      }
      class_name: "android.widget.TextView"
      text: "Hour"
      depth: 6
    }
    nodes {
      bounds_in_screen {
        left: 841
        top: 362
        right: 915
        bottom: 406
      }
      class_name: "android.widget.TextView"
      text: "Pers"
      depth: 6
    }
    nodes {
      bounds_in_screen {
        left: 42
        top: 480
        right: 1080
        bottom: 566
      }
      class_name: "android.view.View"
      depth: 6
    }
    nodes {
      bounds_in_screen {
        top: 608
        right: 1080
        bottom: 1300
      }
      class_name: "android.view.View"
      depth: 6
    }
    nodes {
      bounds_in_screen {
        top: 1300
        right: 1080
        bottom: 2337
      }
      class_name: "android.view.View"
      depth: 6
    }
    nodes {
      bounds_in_screen {
        left: 11
        top: 149
        right: 1038
        bottom: 275
      }
      class_name: "android.view.View"
      depth: 6
    }
    nodes {
      bounds_in_screen {
        left: 42
        top: 460
        right: 270
        bottom: 586
      }
      class_name: "android.view.View"
      is_clickable: true
      is_focusable: true
      depth: 7
    }
    nodes {
      bounds_in_screen {
        left: 270
        top: 480
        right: 1080
        bottom: 566
      }
      class_name: "android.view.View"
      is_scrollable: true
      depth: 7
    }
    nodes {
      bounds_in_screen {
        top: 608
        right: 1080
        bottom: 2337
      }
      class_name: "android.view.ViewGroup"
      depth: 7
    }
    nodes {
      bounds_in_screen {
        top: 1300
        right: 1080
        bottom: 2337
      }
      class_name: "android.view.View"
      depth: 7
    }
    nodes {
      bounds_in_screen {
        left: 12
        top: 150
        right: 138
        bottom: 276
      }
      class_name: "android.view.View"
      is_clickable: true
      is_focusable: true
      depth: 7
    }
    nodes {
      bounds_in_screen {
        left: 148
        top: 149
        right: 1038
        bottom: 275
      }
      class_name: "android.view.View"
      is_clickable: true
      is_focusable: true
      depth: 7
    }
    nodes {
      bounds_in_screen {
        left: 74
        top: 505
        right: 111
        bottom: 542
      }
      class_name: "android.view.View"
      depth: 8
    }
    nodes {
      bounds_in_screen {
        left: 132
        top: 501
        right: 238
        bottom: 545
      }
      class_name: "android.widget.TextView"
      text: "Filters"
      depth: 8
    }
    nodes {
      bounds_in_screen {
        left: 291
        top: 460
        right: 506
        bottom: 586
      }
      class_name: "android.view.View"
      is_clickable: true
      is_focusable: true
      depth: 8
    }
    nodes {
      bounds_in_screen {
        left: 527
        top: 460
        right: 816
        bottom: 586
      }
      class_name: "android.view.View"
      is_clickable: true
      is_focusable: true
      depth: 8
    }
    nodes {
      bounds_in_screen {
        left: 837
        top: 460
        right: 1080
        bottom: 586
      }
      class_name: "android.view.View"
      is_clickable: true
      is_focusable: true
      depth: 8
    }
    nodes {
      bounds_in_screen {
        top: 608
        right: 1080
        bottom: 2337
      }
      class_name: "android.widget.FrameLayout"
      is_clickable: true
      is_focusable: true
      depth: 8
    }
    nodes {
      bounds_in_screen {
        left: 399
        top: 1342
        right: 681
        bottom: 1373
      }
      class_name: "android.widget.TextView"
      text: "13 restaurants"
      depth: 8
    }
    nodes {
      bounds_in_screen {
        left: 252
        top: 1373
        right: 828
        bottom: 1481
      }
      class_name: "android.view.View"
      is_clickable: true
      is_focusable: true
      depth: 8
    }
    nodes {
      bounds_in_screen {
        top: 1481
        right: 1080
        bottom: 2337
      }
      class_name: "android.view.View"
      is_clickable: true
      is_focusable: true
      depth: 8
    }
    nodes {
      bounds_in_screen {
        left: 43
        top: 181
        right: 106
        bottom: 244
      }
      class_name: "android.view.View"
      depth: 8
    }
    nodes {
      bounds_in_screen {
        left: 43
        top: 181
        right: 106
        bottom: 244
      }
      class_name: "android.widget.Button"
      depth: 8
    }
    nodes {
      bounds_in_screen {
        left: 169
        top: 189
        right: 216
        bottom: 236
      }
      class_name: "android.view.View"
      depth: 8
    }
    nodes {
      bounds_in_screen {
        left: 237
        top: 190
        right: 483
        bottom: 234
      }
      class_name: "android.widget.TextView"
      text: "All restaurants"
      depth: 8
    }
    nodes {
      bounds_in_screen {
        left: 323
        top: 505
        right: 360
        bottom: 542
      }
      class_name: "android.view.View"
      depth: 9
    }
    nodes {
      bounds_in_screen {
        left: 373
        top: 501
        right: 474
        bottom: 545
      }
      class_name: "android.widget.TextView"
      text: "Offers"
      depth: 9
    }
    nodes {
      bounds_in_screen {
        left: 559
        top: 505
        right: 596
        bottom: 542
      }
      class_name: "android.view.View"
      depth: 9
    }
    nodes {
      bounds_in_screen {
        left: 609
        top: 501
        right: 784
        bottom: 545
      }
      class_name: "android.widget.TextView"
      text: "Best rated"
      depth: 9
    }
    nodes {
      bounds_in_screen {
        left: 869
        top: 505
        right: 906
        bottom: 542
      }
      class_name: "android.view.View"
      depth: 9
    }
    nodes {
      bounds_in_screen {
        left: 919
        top: 501
        right: 1044
        bottom: 545
      }
      class_name: "android.widget.TextView"
      text: "Cuisine"
      depth: 9
    }
    nodes {
      bounds_in_screen {
        left: 1057
        top: 505
        right: 1080
        bottom: 542
      }
      class_name: "android.view.View"
      depth: 9
    }
    nodes {
      bounds_in_screen {
        top: 608
        right: 1080
        bottom: 2337
      }
      class_name: "android.widget.FrameLayout"
      depth: 9
    }
    nodes {
      bounds_in_screen {
        left: 341
        top: 1417
        right: 802
        bottom: 1455
      }
      class_name: "android.widget.TextView"
      text: "Why you received these results"
      depth: 9
    }
    nodes {
      bounds_in_screen {
        left: 42
        top: 1523
        right: 1038
        bottom: 2048
      }
      class_name: "android.view.View"
      is_scrollable: true
      depth: 9
    }
    nodes {
      bounds_in_screen {
        left: 887
        top: 1724
        right: 1013
        bottom: 1850
      }
      class_name: "android.view.View"
      is_clickable: true
      is_focusable: true
      depth: 9
    }
    nodes {
      bounds_in_screen {
        left: 404
        top: 1985
        right: 677
        bottom: 2006
      }
      class_name: "android.view.View"
      depth: 9
    }
    nodes {
      bounds_in_screen {
        left: 42
        top: 2080
        right: 177
        bottom: 2118
      }
      class_name: "android.widget.TextView"
      text: "PIZZERIA"
      depth: 9
    }
    nodes {
      bounds_in_screen {
        left: 42
        top: 2150
        right: 835
        bottom: 2294
      }
      class_name: "android.widget.TextView"
      text: "Mauritius Kirchheim unter Teck"
      depth: 9
    }
    nodes {
      bounds_in_screen {
        left: 42
        top: 2315
        right: 835
        bottom: 2337
      }
      class_name: "android.widget.TextView"
      text: "48.7km • Steingaustrasse 13, 73230 Kirchheim unter Teck"
      depth: 9
    }
    nodes {
      bounds_in_screen {
        left: 934
        top: 2158
        right: 1017
        bottom: 2226
      }
      class_name: "android.widget.TextView"
      text: "9.9"
      depth: 9
    }
    nodes {
      bounds_in_screen {
        left: 856
        top: 2239
        right: 1038
        bottom: 2277
      }
      class_name: "android.widget.TextView"
      text: "Outstanding"
      depth: 9
    }
    nodes {
      bounds_in_screen {
        left: 986
        top: 2282
        right: 1038
        bottom: 2320
      }
      class_name: "android.widget.TextView"
      text: "(24)"
      depth: 9
    }
    nodes {
      bounds_in_screen {
        top: 608
        right: 1080
        bottom: 2337
      }
      class_name: "android.view.View"
      content_description: "Google Map"
      is_clickable: true
      is_focusable: true
      depth: 10
    }
    nodes {
      bounds_in_screen {
        top: 608
        right: 1080
        bottom: 2337
      }
      class_name: "android.widget.RelativeLayout"
      depth: 10
    }
    nodes {
      bounds_in_screen {
        top: 608
        right: 1080
        bottom: 2337
      }
      class_name: "android.widget.RelativeLayout"
      depth: 10
    }
    nodes {
      bounds_in_screen {
        left: 414
        top: 1707
        right: 666
        bottom: 1865
      }
      class_name: "android.view.View"
      depth: 10
    }
    nodes {
      bounds_in_screen {
        left: 926
        top: 1763
        right: 973
        bottom: 1810
      }
      class_name: "android.view.View"
      depth: 10
    }
    nodes {
      bounds_in_screen {
        left: 902
        top: 1739
        right: 997
        bottom: 1834
      }
      class_name: "android.widget.Button"
      depth: 10
    }
    nodes {
      bounds_in_screen {
        left: 463
        top: 925
        right: 579
        bottom: 1056
      }
      class_name: "android.view.View"
      is_focusable: true
      depth: 11
    }
    nodes {
      bounds_in_screen {
        left: 259
        top: 1077
        right: 375
        bottom: 1208
      }
      class_name: "android.view.View"
      is_focusable: true
      depth: 11
    }
    nodes {
      bounds_in_screen {
        left: 881
        top: 1134
        right: 997
        bottom: 1265
      }
      class_name: "android.view.View"
      is_focusable: true
      depth: 11
    }
    nodes {
      bounds_in_screen {
        left: 185
        top: 1214
        right: 301
        bottom: 1345
      }
      class_name: "android.view.View"
      is_focusable: true
      depth: 11
    }
    nodes {
      bounds_in_screen {
        left: 811
        top: 1399
        right: 927
        bottom: 1530
      }
      class_name: "android.view.View"
      is_focusable: true
      depth: 11
    }
    nodes {
      bounds_in_screen {
        left: 683
        top: 1526
        right: 799
        bottom: 1657
      }
      class_name: "android.view.View"
      is_focusable: true
      depth: 11
    }
    nodes {
      bounds_in_screen {
        left: 684
        top: 1526
        right: 800
        bottom: 1657
      }
      class_name: "android.view.View"
      is_focusable: true
      depth: 11
    }
    nodes {
      bounds_in_screen {
        left: 667
        top: 1561
        right: 783
        bottom: 1692
      }
      class_name: "android.view.View"
      is_focusable: true
      depth: 11
    }
    nodes {
      bounds_in_screen {
        left: 662
        top: 1562
        right: 778
        bottom: 1693
      }
      class_name: "android.view.View"
      is_focusable: true
      depth: 11
    }
    nodes {
      bounds_in_screen {
        left: 265
        top: 1705
        right: 381
        bottom: 1836
      }
      class_name: "android.view.View"
      is_focusable: true
      depth: 11
    }
    nodes {
      bounds_in_screen {
        left: 848
        top: 1715
        right: 964
        bottom: 1846
      }
      class_name: "android.view.View"
      is_focusable: true
      depth: 11
    }
    nodes {
      bounds_in_screen {
        left: 384
        top: 1779
        right: 500
        bottom: 1910
      }
      class_name: "android.view.View"
      is_focusable: true
      depth: 11
    }
    nodes {
      bounds_in_screen {
        left: 83
        top: 1159
        right: 199
        bottom: 1290
      }
      class_name: "android.view.View"
      is_focusable: true
      depth: 11
    }
    nodes {
      bounds_in_screen {
        left: 13
        top: 2266
        right: 171
        bottom: 2324
      }
      class_name: "android.widget.ImageView"
      depth: 11
    }
  }
}

assistant
!FUNCTIONCALL{"name": "scroll", "parameters": {"direction": "down"}}
[{"type": "function", "function": {"name": "click", "description": "Click on a specific location on the screen", "parameters": {"type": "object", "properties": {"x": {"type": "integer", "description": "Coordinate on the x axis to click."}, "y": {"type": "integer", "description": "Coordinate on the y axis to click."}}, "required": ["x", "y"]}}}, {"type": "function", "function": {"name": "long_press", "description": "Long press on a specific location on the screen.", "parameters": {"type": "object", "properties": {"x": {"type": "integer", "description": "Coordinate on the x axis to long press."}, "y": {"type": "integer", "description": "Coordinate on the y axis to long press."}}, "required": ["x", "y"]}}}, {"type": "function", "function": {"name": "input_text", "description": "Write text inside of an already selected text field, typically this is preceeded by a 'click' action that selects a field on the screen to type into.", "parameters": {"type": "object", "properties": {"text": {"type": "string", "description": "The text to input in the field."}}, "required": ["text"]}}}, {"type": "function", "function": {"name": "scroll", "description": "Scroll a fixed amount in a specific direction.", "parameters": {"type": "object", "properties": {"direction": {"type": "string", "enum": ["up", "down", "left", "right"], "description": "The direction to scroll in."}}, "required": ["direction"]}}}, {"type": "function", "function": {"name": "navigate_home", "description": "Navigate to the home screen from the current screen you are on.", "parameters": {"type": "object", "properties": {}}}}, {"type": "function", "function": {"name": "navigate_back", "description": "Navigate back to the previous page.", "parameters": {"type": "object", "properties": {}}}}, {"type": "function", "function": {"name": "open_app", "description": "Open an application.", "parameters": {"type": "object", "properties": {"app_name": {"type": "string", "description": "The name of the application to open."}}, "required": ["app_name"]}}}, {"type": "function", "function": {"name": "wait", "description": "Wait for a fixed amount of time. This is useful when you need to 'await' the results of a page that is still loading.", "parameters": {"type": "object", "properties": {}}}}, {"type": "function", "function": {"name": "status", "description": "Once you have completed the work required to fulfill an instruction, report your status by calling this function with 'successful'. If you find that a task is impossible to complete,  call this with 'infeasible' after finding that information.", "parameters": {"type": "object", "properties": {"goal_status": {"type": "string", "enum": ["successful", "infeasible"], "description": "The status of the completion of a instruction, either 'successful' or 'infeasible', called to conclude an episode."}}, "required": ["goal_status"]}}}]