https://api.radar.io/webhooks/olo
via the Development Tools section of the Olo Dashboard (requires two-factor authentication and at least Brand Manager permission). Under the Order Events section, enable Order Placed and Order Cancelled. If leveraging Olo Expo, enable the Order Picked Up event as well.
Once the webhook is setup, your Radar account team will setup the configuration on the Integrations page. Applicable Olo Handoff modes, a destination geofence tag (e.g., restaurant
), and custom field mappings from the Olo webhook body to Radar trip metadata will be set.
Finally, on the Radar Geofences page, import geofences for your restaurants. Use the tag from the Olo integration configuration for the geofence tag
attribute.
Radar.startTrip(tripOptions, trackingOptions)
with tripOptions.externalId
set to the Olo order ID to start the Radar trip and enable tracking.
The mapping below will be used between the Olo webhook and a Radar trip:
Olo webhook field | Radar trip attribute |
---|---|
orderId | Trip external id |
storeNumber | Trip destination |
timeReady - timePlaced | Trip approaching threshold* |
timeReady | Trip scheduled arrival at* |
user.updated_trip
, user.approaching_trip_destination
, and user.arrived_at_trip_destination
events. Learn more about Trip Tracking.
timewanted
for advance orders, or alternatively, set the externalRef
to any value that starts with radar_
(i.e. radar_h87y12rgb
).
Additionally, configure Radar with a Partnership Type of Customer Arrival via the Partner Management section of the Olo Dashboard. Select stores in the configuration where order firing will be enabled. Upon completion, reach out to your Radar account team to complete the order firing integration.
When starting a trip for an order, include the oloOrderGuid
and oloHandoffMode
in trip metadata.
The trip’s approaching threshold and scheduled arrival at attributes are used to determine the order firing time. When an active trip ETA drops below the approaching threshold, Radar generates a user.approaching_trip_destination
event and Radar will fire the order. If the trip is started inside the destination geofence, Radar will fire the order immediately. In the event the scheduledArrivalAt
set on the trip is reached before the approaching threshold is crossed, the order will automatically fire. See below for how to configure these two parameters.
scheduledArrivalAt
datetime is required as a fallback in the event location sharing is disabled or the device is experiencing connectivity issues.
You can enable auto-calculation of the scheduledArrivalAt
, which is initially set to the timeReady
value from the Olo Order Placed webhook and then continues to update based on each trip ETA calculation. This includes a backup fire delay setting which is a maximum number of minutes to push back the initial scheduled arrival at. This can be configured in Trips Settings.
As an alternative to Radar’s automatic calculation, manually set the scheduledArrivalAt
either via Radar.startTrip()
in the app, Radar.updateTrip()
in the app or the Trips API server-side. Setting this manually will override use of Radar’s auto-calculated scheduledArrivalAt
setting.
timeReady
and timePlaced
from the Olo Order Placed webhook.
As an alternative to Radar’s automatic calculation, set the approaching threshold either at the store level via the tripApproachingThreshold
property in the geofences API or at the order level via Radar.updateTrip()
in the app or Trips API server-side.
scheduledArrivalAt
parameter included with Radar.startTrip()
is used to verify the timing. If this parameter is not provided, we assume the order is an ASAP order and use the current time instead.