> ## Documentation Index
> Fetch the complete documentation index at: https://docs.omneo.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Visits

> Tracking customer presence and appointments at physical locations.

Visits in Omneo record a customer's physical presence at a location, separately from a purchase transaction. A visit captures the fact that a customer was at a store or appointment, regardless of whether they made a purchase.

## Visit vs transaction

| Concept         | Description                                                           |
| --------------- | --------------------------------------------------------------------- |
| **Transaction** | A completed purchase, the customer bought something                   |
| **Visit**       | A presence record, the customer was there, with or without a purchase |

Visits are particularly valuable for:

* **Service businesses**: recording appointments, consultations, and alterations
* **High-engagement retail**: tracking store visits to understand visit-to-purchase conversion
* **Staffed experiences**: capturing that a specific staff member served a customer

## Visit fields

| Field         | Description                              |
| ------------- | ---------------------------------------- |
| `profile_id`  | The profile being visited                |
| `location_id` | The store or location of the visit       |
| `staff_id`    | The staff member who served the customer |
| `occurred_at` | Date and time of the visit               |
| `type`        | Visit type (configurable per brand)      |
| `notes`       | Optional notes about the visit           |
| `duration`    | Visit duration                           |

## Use cases

* **Booking and appointment management**: record that a customer attended an appointment booked via a scheduling tool
* **Consultation tracking**: capture that a customer visited for a styling consultation before their purchase
* **Footfall attribution**: understand which marketing activities drive store visits, not just transactions
* **Staff performance**: track how many customers a specific staff member serves

## Visits in reactions

Visit events (`visit.created`, `visit.updated`) are available as reaction triggers. Brands can fire reactions on visit events, for example, issuing a benefit after a customer's third in-store appointment.

## Appointments

A visit records that a customer was present. An **appointment** is the scheduled, bookable counterpart: a booking against a service definition, with availability, staff assignment, statuses, waitlists, and walk-in queues. Use appointments when customers book ahead or join a queue, and record a visit when you only need to capture attendance.

See [Appointments](/concepts/visits/appointments) for the full model.

## Related

* [Appointments](/concepts/visits/appointments)
* [Interactions](/concepts/profiles/interactions)
* [Working with visits](/dev-guides/visits/working-with-visits)
* [Reactions](/concepts/automation/reactions)
* [Transactions](/concepts/commerce/transactions)
