# Ziyaretler

`GET /api/v1/visits`

Ziyaret / görüşme listesi (gün, sonra kayıt anı, yeni önce). Satır: ziyaret alanları + `geo` (konum özeti — yalnız ziyareti girene ve yöneticiye; diğerlerine null): `st` (`ok` firmada · `far` uzakta · `set` firma konumu bu ziyaretle kaydedildi · `low` belirsiz · `none` konumsuz), `label`, `short`, `dist` (m), `in_time`, `out_time`, `duration` (dk), `acc`, `in` / `out` / `firm` ([enlem, boylam]), `note`, `src` (`app` · `web` · `claude`); ayrıca `time` (giriş saati, görme hakkı varsa), `user_id`, `customer_status`, `customer_city`, `can_edit`, `url`. Yanıt: `rows`, `total`, `page`, `pages`, `has_next`, `stats` (`n`, `f2f`, `onsite`, `located`, `ok`, `located_pct`, `ok_pct`, `pending`), `scope`, `range`, `date_from`, `date_to`, `ranges`, `team` (ekip kapsamı kullanılabilir mi), `geo_mode`, `radius`.

## Sorgu parametreleri

| Alan | Tür | Açıklama |
|---|---|---|
| `scope` | string | `mine` benim (satışçı varsayılanı), `team` görebildiğim ekip (yönetici varsayılanı). Değerler: `mine`, `team` |
| `range` | string | Dönem. Değerler: `today`, `week`, `month`, `30`, `90`, `all` |
| `date_from / date_to` | string | Tarih aralığı (YYYY-MM-DD) — dönemi geçersiz kılar. |
| `type` | string | Görüşme türü. Değerler: `F2F`, `Online`, `Call`, `Deneme` |
| `owner` | integer | Satışçı (ekip kapsamında). |
| `customer_id` | integer | Yalnız bu firma (dönem varsayılanı `all`). |
| `q` | string | Firma, not, sonuç ya da konu içinde ara. |
| `pending` | boolean | Yalnız sonraki aksiyonu açık olanlar. |
| `geo` | string | `none` konumsuz yerinde ziyaretler, `far` firmadan uzakta (satışçı yalnız kendininkiler). Değerler: `none`, `far` |
| `page` | integer | Sayfa. |
| `per_page` | integer | Sayfa başına (10–100). |
