Skip to main content
Bir doktorun belirli bir saat aralığını kapattığınızda (izin, toplantı, arıza), o aralıktaki randevuları tek istekle yeni saatlere taşıyabilirsiniz. Flextell her randevu için doktorun sonraki boş saatini bulur ve hastaya onay mesajı gönderir. Randevu, hasta onaylayana kadar eski saatinde kalır. Bu sayfa önizleme ve taşıma endpoint’lerini, sonuç alanlarını ve hastaya giden mesajı anlatır. Panelden aynı işlemi yapmak için bkz. Toplu taşıma. Randevu nesnesi için bkz. Randevular.

Endpoint özeti

Tüm istekler Authorization: Bearer <access_token> ve X-Tenant: <tenant_id> başlıklarını gerektirir. Bkz. Klinikler ve X-Tenant.
BulkReschedule:Appointment arayüzde Toplu Randevu Taşı olarak görünür. Yeni kliniklerde varsayılan satış temsilcisi rolünde bu izin yoktur; satış temsilcileri API ile toplu taşıma yapamaz. İzin modeli için bkz. İzinler ve görünürlük.

Önizleme

Önizleme ve taşıma isteği aynı üç parametreyi alır.
integer
gerekli
Doktorun kullanıcı ID’si. Doktor isteği yapan kliniğe ait olmalıdır.
string
gerekli
Kapatılan aralığın başlangıcı (dahil). Bugün veya sonrası olmalıdır.
string
gerekli
Kapatılan aralığın bitişi (hariç). blocked_from değerinden sonra olmalıdır.
Offset içermeyen bir değer klinik saat diliminde okunur. Z veya +03:00 gibi offset içeren değer olduğu gibi kullanılır. Aralığa şu randevular girer: doktorun pending veya approved durumundaki, silinmemiş ve blocked_from <= scheduled_at < blocked_until koşulunu sağlayan randevuları. Bitiş hariç olduğu için 09:00–12:00 aralığını kapattığınızda 12:00’deki randevu taşınmaz. Yalnızca sizin görebildiğiniz randevular sayılır.
Yanıtta data bir dizidir. Her satır bir randevudur.
Önizleme, öneriyi hesaplarken aynı partide başka randevuya ayrılan saatleri atlar. Gerçek taşıma sırasında aynı hesap yeniden yapılır; iki çağrı arasında takvim değişirse önerilen saatler farklı çıkabilir.

Yeni saat nasıl bulunur

  • Randevular saat sırasıyla işlenir. Arama, aynı doktor için blocked_until anından başlar ve en çok 365 gün ileri gider.
  • Kapalı günler, tatiller (tatil kapatma açıksa), geçmiş saatler, aynı partide başka randevuya ayrılmış saatler ve doktorun dolu olduğu saatler atlanır.
  • Doktor dolu sayılır: aynı saatte başka bir pending veya approved randevusu varsa, o saate tutulan başka bir öneri varsa ya da doktorun bağlı Google Takvim veya Outlook takviminde o saatin ilk 15 dakikası doluysa.
  • Saatler kliniğin randevu aralığı ızgarasına oturur.

Taşıma isteği

POST /v1/appointments/reschedule isteği aynı üç alanı JSON gövdesinde alır.
İstek eşzamanlı çalışır ve 202 döner. İsteğin sonunda her randevu için şunlar yazılmış olur:
  • Önerilen yeni saat ve onay bekleme süresi (aşağıya bakın).
  • Aralıktaki tüm randevuları tek partide toplayan bir batch_id.
  • Hastaya gidecek onay mesajı. Mesajı istekten sonra kuyruktaki bir iş gönderir.
Randevunun kendi saati, hasta onaylayana kadar değişmez. Önerilen saat bu sürede “tutulmuş” sayılır: boş saat sorgusunda dolu görünür ve takvimde kilit olarak gösterilir. Bkz. Randevu uygunluğu ve takvim. Bekleme süresi, klinik randevu ayarlarındaki onay süresiyle belirlenir: 1–30 gün, varsayılan 3 gün. Ayara Ayarlar sayfasından ulaşırsınız. Daha önceki bir partiden onay bekleyen bir randevu aralığa girerse yeniden önerilir. Eski onay isteği geçersiz sayılır ve yanıttaki superseded sayısına eklenir.

Sonuç alanları

Başarılı yanıt şu şekildedir:
Aralıkta hiç randevu yoksa yanıt {"processed": 0, "failed": 0, "skipped": 0, "items": [], "batch_id": null} olur. items satırı status değerine göre değişir.
failed ve skipped durumundaki randevuları sizin ele almanız gerekir. Bu randevulara otomatik yeniden deneme yapılmaz; randevuyu elle taşıyın veya hastayla iletişime geçin.

Parti geçmişi

GET /v1/appointments/reschedule/history her parti için bir satır döner. Filtreler: doctor_id, status, started_at_from, started_at_to (klinik saatinde gün sınırları), per_page (en çok 100, varsayılan 15), page. Sıralama için sort_by değerleri: started_at (varsayılan, azalan), total, confirmed_count, in_flight_count, expired_count, doctor_name; yönü sort_order belirler. Genel kurallar için bkz. Filtreleme ve sıralama. GET /v1/appointments/reschedule/history/{batchId} parti alanlarına ek olarak appointments dizisi döner. Her satırda appointment_id, is_appointment_deleted, customer, original_scheduled_at, proposed_scheduled_at ve status (value ve label) bulunur. Satırlar en eski asıl saatten başlar. Başka bir kullanıcının lead’ine ait hasta bilgileri maskelenir. Yalnızca View:Appointment iznine sahip ve tüm randevuları görme izni olmayan bir kullanıcı, yalnızca kendi görebildiği randevuları içeren partileri görür. Sayılar da yalnızca bu satırları sayar. Görünür satırı olmayan bir partinin detayı 404 RESOURCE_NOT_FOUND döner (Kaydırma işlemi bulunamadı).

Hastaya giden onay

Her processed randevu için hastaya, randevunun kanalından (yoksa hastanın son aktif sohbet kanalından) Randevu Taşıma Onay Talebi şablonuyla mesaj gider. Mesaj onay gerektirmez, istekten hemen sonra kuyruğa alınır. Varsayılan metin:
Hastanın yanıtı AI asistan tarafından yorumlanır:
  • Evet: Randevu önerilen saate taşınır, randevu hatırlatmaları yeni saat için yeniden oluşturulur. Doktora “randevu zamanı değişti” bildirimi gitmez; asistanlara gider. Önerilen saat bu arada dolmuşsa hastaya bir sonraki boş saat önerilir.
  • Hayır: Hastanın tercih ettiği tarih ve saatten (yoksa reddedilen önerinin bir dakika sonrasından) başlayarak yeni bir saat aranır ve yeni mesaj gider. Hasta bir günü hariç tutabilir.
  • Vazgeçme: Randevu cancelled olur, iptal nedeni Hasta randevu taşıma sürecinde randevudan vazgeçti. yazılır ve iptal takibi açıksa ayrı bir iptal takibi kuyruğa girer. Personele Hasta Randevudan Vazgeçti bildirimi gider.
  • Uygun saat yok: 365 gün içinde saat bulunamazsa tutulan saat serbest bırakılır ve personele Taşıma için Uygun Slot Yok bildirimi gider; hastayla elle iletişime geçmeniz gerekir.
Partideki son bekleyen öneri sonuçlandığında doktora, işlemi başlatan kullanıcıya ve klinikteki tüm asistanlara bir kez Toplu Kaydırma Tamamlandı bildirimi gider.
AI yanıt modu kapalıysa veya sohbette AI asistan devre dışıysa hastanın yanıtı işlenmez. Bu durumda öneriyi elle sonuçlandırmanız gerekir.
Mesaj şablonlarını düzenlemek için bkz. Mesaj şablonları. Onay mesajları da dahil tüm otomatik mesajlar için Randevu hatırlatmaları sayfasına bakın.

Hatalar

Yanıt biçimi ve genel kodlar için bkz. Hatalar. 422 doğrulama mesajları: Verisi silinmiş hastanın randevusu hata vermez; yanıtta skipped olarak listelenir. Erişim kilitleri için bkz. Erişim kilitleri.