Skip to main content

Visit

A visit represents a single in-store presence for a device. A visit can include multiple zone events (e.g., Entrance → Produce → Dairy → Checkout).

Session

A session aligns to a visit per device.
  • A session begins when your Digital Asset (or Wi-Fi logs) is observed in-store and records activity.
  • A session ends when activity stops, and no further activity is observed.
  • Multiple interruptions/reopens within a 60-minute window are consolidated and billed as a single session.

Zone event

A zone event is a segment of the journey where the visitor is observed within a single zone, with:
  • entry context (zone_entered_from)
  • exit context (zone_exited_to)
  • dwell time (dwell_time_seconds)

Resource [GET]

/bi/visit-journey-events/ This resource supports pagination. Due to increased data volume, pagination allows fetching results in batches (pages) for a specified time interval.

URL Parameters

  • store_codeOptional
    Filter results to a single store.
  • datetime_gteRequired
    Start datetime (UTC) inclusive. Format: ISO 8601.
  • datetime_lteRequired
    End datetime (UTC) inclusive. Format: ISO 8601.
  • page_sizeOptional
    Number of results per page.
    Default: 1000, Max: 10000
  • pageOptional
    Page number (used when paginating).
Note: For large intervals, prefer daily windows (e.g., 24h) and paginate.

Response

The response is paginated:
  • count is the total number of results across the query.
  • next and previous are URLs to fetch the adjacent pages.
  • results is an array of zone events.
Each object in results contains:
  • session_idString
    Session identifier (aligned to “visit per device”, stitched within 60 minutes).
  • visit_idString
    Visit identifier (store visit per device).
  • user_idString | null
    User identifier (if available, e.g., logged-in app user). May be null.
  • device_idString
    Pseudonymous device identifier (privacy-safe token).
  • store_nameString
    Store name.
  • store_codeString
    Store code.
  • zone_nameString
    Human-readable zone name.
  • zone_serial_codeString
    Internal zone code used for stable referencing across systems.
  • zone_entered_fromString | null
    Previous zone label. null if first event in the visit.
  • zone_exited_toString | null
    Next zone label. null if last event in the visit.
  • dwell_time_secondsInteger
    Time spent in the zone (seconds).
  • event_startString
    Zone event start timestamp (ISO 8601 UTC).
  • event_endString
    Zone event end timestamp (ISO 8601 UTC).
  • sourceString
    Source of observation, e.g. app_ble, wifi, camera_fused.

Example response

Notes and common questions

Does one visit always equal one session?
For billing and analytics, we treat a session as a visit per device, with 60-minute stitching to avoid multiple app opens during a single visit being counted multiple times.
**Can **user_idbe missing?
Yes. If the visitor is not logged in, or if the integration uses privacy-safe pseudonymous identifiers only, user_id may be null.
**What does **sourcemean?
It indicates the signal that produced the event (e.g., Wi-Fi telemetry, app BLE, camera-derived, or fused).