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

# Hatırlatmalar

> Randevu hatırlatma kuralları, şablonlar ve onay akışı.

Hatırlatma, randevu öncesinde hastaya WhatsApp/Telegram üzerinden otomatik gönderilen mesajdır. Amacı (1) hastayı bilgilendirmek, (2) hastadan dönüş aldıktan sonra firmaün durumu güncelleyebilmesini sağlamak. Hasta yanıtı **otomatik olarak** randevu durumunu değiştirmez — durum geçişi her zaman panelden firma tarafından yapılır.

## Akış

```mermaid theme={null}
sequenceDiagram
    participant F as Flextell (scheduler)
    participant K as Kanal
    actor H as Hasta
    participant O as Firma

    F->>F: Randevu zamanı yaklaştı
    F->>K: Hatırlatma mesajı gönder
    K->>H: Mesaj
    alt Hasta yanıt verdi
      H->>K: Yanıt (onay / iptal / soru)
      K->>F: Conversation'a düş
      F-->>O: Bildirim
      O->>F: Panelden durumu güncelle (approved / cancelled)
    else Yanıt yok
      F->>F: Durum değişmez
    end
```

## Varsayılan kurallar

| Ayar                                    | Varsayılan                    | Anlamı                                     |
| --------------------------------------- | ----------------------------- | ------------------------------------------ |
| `REMINDER_APPOINTMENT_OFFSETS`          | `[-3, -1]` (gün)              | Randevudan 3 ve 1 gün önce hatırlatma      |
| `REMINDER_SESSION_CONFIRMATION_OFFSETS` | `[-10, -5]`                   | Seans onayı için ek hatırlatma offset'leri |
| İptal sonrası takip                     | `SendCancellationFollowUpJob` | İptal/no-show sonrası takip mesajı         |

Hatırlatma kuralları panelden `Ayarlar → Bildirim Ayarları` altında düzenlenir.

## Şablon değişkenleri

Şablonda kullanılabilecek alanlar:

| Değişken                  | Örnek değer   |
| ------------------------- | ------------- |
| `{{customer.first_name}}` | Ayşe          |
| `{{doctor.full_name}}`    | Dr. Ali Demir |
| `{{appointment.date}}`    | 25 Nisan 2026 |
| `{{appointment.time}}`    | 15:00         |
| `{{treatment.name}}`      | Diş Temizliği |
| `{{room.name}}`           | Muayene 1     |
| `{{tenant.name}}`         | Merkez Firma  |

Örnek şablon:

```text theme={null}
Merhaba {{customer.first_name}}, {{appointment.date}} {{appointment.time}}
saatinde {{doctor.full_name}} ile randevunuzu hatırlatırız.
Onaylamak için EVET, iptal için HAYIR yazabilirsiniz.
```

## Yanıtların ele alınması

Hatırlatmaya gelen yanıt diğer mesajlar gibi görüşmeye düşer; AI asistanı açıksa yanıtlayabilir, gerekirse [insana devreder](/documentation/conversations/handoff). Firma konuşmadan emin olduktan sonra randevuyu panelden `approved`, `cancelled` veya `no_show` olarak işaretler.

## Kanal düşmüşse

Hatırlatma gönderimi başarısız olursa `AppointmentReminder` modelindeki `markForRetry()` ile **yeniden deneme kuyruğuna** alınır; kanal `open` olduğunda tekrar denenir.

## API tarafı

Hatırlatma şablonları şu an API'den değil, panel'den yönetilir. Programatik olarak hatırlatma tetiklemek için `POST /conversations/{id}/messages` ile manuel mesaj gönderebilirsiniz.
