Takvim, randevuların kronolojik olarak görüntülendiği ve oluşturulduğu panel sayfasıdır (CalendarPage). Ek olarak doktorun Google Calendar hesabı bağlıysa randevu açıldığında otomatik etkinlik yazılır.
Panel takvim sayfası
Sayfadan yapılabilecekler:
- Slot tıklayarak yeni randevu açma
- Randevu sürükleyerek yeniden planlama
- Boyutlandırma ile süreyi değiştirme
- Doktor / oda / tedavi filtresi
Doktor Google Calendar bağlantısı
Doktor takvimine etkinlik yazımı için Google Calendar entegrasyonu kurulmalıdır.
Doktor olarak panele girin
Entegrasyonlar → Takvim ekranını açın.
Google ile bağlan
“Bağla” butonu Google’ın OAuth onay sayfasına gönderir.
İzinleri kabul edin
İstenen tek izin: takvim etkinliği oluşturma/güncelleme/silme.
Varsayılan takvimi seçin (opsiyonel)
Birden fazla takviminiz varsa Flextell etkinliklerinin yazılacağı takvimi seçin.
Takvim entegrasyonu olmayan doktora randevu açılamaz. Hem panel randevu formu hem AI booking akışı, aktif calendar entegrasyonu olmayan doktoru doktor seçim listesine almaz (AppointmentForm.php, DoctorService::selectDoctor(calendarOnly: true)).
Etkinlik içeriği
Flextell, takvime şu bilgileri yazar (CreateCalendarEventJob):
| Alan | İçerik |
|---|
| Başlık | Hasta Adı — Tedavi Adı |
| Tarih/Saat | scheduled_at |
| Süre | Tedavi(ler)in toplam süresinden hesap |
| Konum | Oda adı (varsa) |
| Açıklama | Randevu kodu + serbest not |
| Yer (organizer) | Doktor |
Senkronizasyon yönü
Senkronizasyon tek yönlüdür: Flextell → Google Calendar. Google’da etkinliği değiştirirseniz Flextell’e yansımaz. Değişiklikler her zaman Flextell üzerinden yapılmalıdır.
Yetki kaybedildiğinde
| Durum | Davranış |
|---|
| Doktor Google hesabını revoke etti | Sonraki randevu yazımı hata verir; doktor yeniden bağlamalı |
| Refresh token süresi doldu | Otomatik yenileme; başarısız olursa hata |
Outlook Calendar desteği yol haritasındadır; şu an yalnızca Google Calendar desteklenir.
API tarafı
Randevu oluşturma sırasında takvime yazım otomatik olur; ek API çağrısı gerekmez. Detay: API: Randevu oluşturma.