Source: https://developers.woosmap.com/products/geofencing-sdk/geofencing/

> For clean Markdown of any page, append `.md` to the page URL.

> For a complete documentation index, see https://developers.woosmap.com/llms.txt

# Geofencing



## Geofencing

Geofencing represents the monitoring of a geographic area (or Geofence) to recognize the presence of a device when the
user is within its boundary. In Woosmap Geofencing SDK, a Geofence is a combination of a position (latitude and
longitude) and a radius in meters, creating a **circular area**, or a radius in seconds, creating an **isochrone geofence**.
Boundary crossing events are triggered each time a user enters or exits the Geofence. Depending on your use case, a
Geofence might represent your store, a competitor’s store, a neighbourhood, and so on.

![Geofences](/assets/images/geofencing-sdk/geofencing_events.jpg)

### What is an isochrone geofence

An isochrone is a time-based geofence, thus ETA (Estimated Time of Arrival) between the user's location and the user's
destination is monitored by the SDK. Just define a time-based radius and let the SDK triggered events when the user is
near to the location that you monitor.

![Geofence_isochrone](/assets/images/geofencing-sdk/Geofence_isochrone.jpg)

## Why use Woosmap for Geofencing

Woosmap Geofencing SDK has two built-in options making it easy to create and manage Geofences:

- Stores Geofences: automatically build Geofences around your stores hosted on Woosmap Platform. The fence radius can be
  attached to the store by specifying it in userProperties. This way you can modify the Geofence without having to
  update the app.
- Custom Geofences: this allows developers to define custom areas with latitude, longitude, and radius directly into the
  mobile app.

On iOS and Android, the system prevents any single app from monitoring more than 20 (for iOS) to 100 (for Android)
regions simultaneously. To work around this limitation, developers integrating the SDK should monitor only regions that
are close to the users' current location. To do so, as the user moves and new locations are collected, nearby Geofences
are updated by automatically requesting the [Woosmap Stores API](/products/stores-api/overview/). To load places you want to monitor in the Woosmap platform, use the [Woosmap Console](https://console-guide.woosmap.com/) (or the [Woosmap Stores API](/products/stores-api/features/data-management/#add-assets)).

Look the guide to monitor Woosmap assets: [iOS guide](/products/geofencing-sdk/ios-sdk/guides/monitor-woosmap-assets/) or [Android guide](/products/geofencing-sdk/android-sdk/guides/monitor-woosmap-assets/)

## Use Case of Geofencing

Geofencing helps to design great location-based app experiences. Apps related to the area of retail, banking, food,
transportation, or even sports can implement the Geofencing capacity of the SDK to many use cases such as:

- Push contextual notifications with a marketing message when a user is at a competitor restaurant.
- Adapt the in-app experience when the user enters the Geofence, for example showing content like discounts specific to
  a retail store.
