Skip to main content

Set up the Safari AI integration for RideOps

Bring Safari AI dispatch counts and queue estimates into Mobaro and RideOps: what Mobaro fetches, setup, ride mapping, widgets and turning it off.

Written by Logan Bowlby

Overview

Safari AI uses cameras and computer vision to count dispatches and estimate queues at your rides. The integration brings those counts into Mobaro: they’re stored as external dispatches and queue times for each mapped Location, feed your RideOps dashboard widgets, and can be shown to Operators in two RideOps widgets.

The integration is one-way: Mobaro fetches data from Safari AI and sends nothing back. Operators can keep logging dispatches and queue times in RideOps as usual; Safari AI data is kept alongside, not instead.

At a glance

Who can do this

Super Users, or a Role with Organization › Administrate. Mapping a Location needs Locations › Modify

Where

Configuration › Integrations › Safari AI, then Locations › a Location › RideOps Settings

Works on

Backend (web) to set up. Data shows in RideOps, the Operational Log and Dashboards

Availability

All organizations with RideOps and a Safari AI installation

💡 Why this matters: Counting every cycle and estimating the queue by eye takes Operators’ attention away from the ride. Measured counts give you reliable throughput and wait-time data without extra taps.


What Mobaro receives

Every 5 minutes, Mobaro asks Safari AI for each mapped Location’s latest data, whether the ride is open or closed:

From Safari AI

Stored in Mobaro as

Each dispatch: time, riders and utilization

External Dispatch entries

Current estimated wait time and people in the queue

External Update Queue entries. Skipped when Safari AI reports no estimate

You’ll see these entries in the Operational Log under External Dispatch and External Update Queue; they can’t be edited or deleted there. RideOps dashboard widgets use them when their source is set to External, and webhooks for Dispatches and Queue times fire for them. See RideOps dashboard widgets.

⚠️ Heads-up: Safari AI data doesn’t replace or override what Operators enter. Queue times posted in RideOps stay separate, and only those RideOps queue times are sent to the Attractions.io guest app, not Safari AI estimates.


Before you start

  • Safari AI installed at the rides, with a Client ID and Client Secret from Safari AI.

  • The Safari AI Location Id and Ride Id for each ride, also from Safari AI.

  • RideOps turned on for those Locations. See Setting up RideOps.


Set up the integration

1. Enter your Safari AI credentials

In the Backend, go to Configuration, open the Integrations tab and click the Safari AI card. Tick Enable integration to Safari AI, enter the Client ID and Client Secret (both required) and click Save. You’ll see Safari AI settings saved successfully.

Integrations tab in Configuration with the Safari AI card

2. Map each ride

Go to Locations, open the ride’s RideOps Settings and find Safari AI in the Widgets configuration panel. Enter the Location Id and Ride Id. These fields appear only once your organization’s credentials are saved.

3. Test the connection

Click Test Safari AI connection. On success you’ll see Safari AI connection test successful for the ride’s name in Safari AI, and the button turns to Safari AI connection test successful. If you see Safari AI connection test failed, check the IDs and credentials with Safari AI. Then save the RideOps Settings.

4. Show the widgets in RideOps

In the RideOps Configuration panel of the same dialog, tick Lock RideOps app configuration, then tick Show Safari AI dispatch widget and Show Safari AI queue time widget as needed. If you don’t lock the configuration, Operators can switch Safari AI dispatch widget and Safari AI queue widget on in the RideOps app’s settings.


What Operators see

Widget

Shows

Safari AI dispatch widget

Last dispatch time, Riders and Utilization of the latest dispatch

Safari AI queue widget

Queue time in minutes and Estimated people in queue

Both widgets show when they were last updated and refresh about every 2 minutes. Operators don’t need to do anything in them. Their own dispatch and queue time widgets keep working as before; see Managing queues and dispatches in RideOps.


Turn the integration off

To stop one ride, clear its Location Id or Ride Id. To stop the whole organization, untick Enable integration to Safari AI and click Save; this clears the saved credentials, and the Safari AI widgets disappear from RideOps. Data already fetched stays in the Operational Log.


Best practices

  • Test the connection for every ride before you rely on its data.

  • Start with the queue widget on a few rides, compare it with Operators’ estimates, then roll out.

  • Set RideOps dashboard widgets to External to report on Safari AI data, and to RideOps for Operator-entered data.

  • If a widget’s last update is old, check with Safari AI that the ride’s camera is sending data.


Frequently asked questions

Do we need new hardware to use Safari AI?

Yes. Safari AI installs and configures its own cameras. Mobaro only connects to Safari AI’s data with the credentials and IDs they provide.

Can Operators still enter dispatches and queue times manually?

Yes. RideOps entries are stored separately from Safari AI data; neither overrides the other. Dashboard widgets report one source at a time.

Can I adjust the queue time from the desktop?

You can add or correct RideOps queue entries in the Operational Log, but Safari AI entries can’t be edited. See Updating and adding to the Operational Log.

Can we use Safari AI for only some rides?

Yes. Only Locations with both a Location Id and a Ride Id are fetched.

Does Mobaro show an error if Safari AI stops sending data?

No. Mobaro doesn’t show fetch errors in the Backend. The widgets’ last-updated time shows how fresh the data is; contact Mobaro Support if data stops arriving.

Did this answer your question?