Proje: OkulUp API · Hub: OkulUp API — Domain

OkulUp API — Randevu Modülü

Veli-öğretmen görüşmelerini yönetir. feature:appointments middleware ile korunur.

Durum Makinesi

[pending] --confirm--> [confirmed] --complete--> [completed]
         --cancel-->   [cancelled]
[confirmed] --cancel--> [cancelled]

cancel — hem teacher hem parent cancel edebilir; cancelled_by ve cancellation_reason kaydedilir.

API Endpoint’leri

MethodPathAçıklama
GET/appointments/optionsSeçim verileri (öğretmen listesi vb.)
GET/appointments/teacher/{id}/availabilityÖğretmen müsaitlik saatleri
GET/appointmentsListe
POST/appointmentsRandevu oluştur
GET/appointments/{id}Detay
PUT/appointments/{id}Güncelle
DELETE/appointments/{id}Sil
POST/appointments/{id}/cancelİptal et

Model Scopeları

scopeUpcoming($query)  // appointment_date >= bugün, status: pending|confirmed
scopePast($query)      // appointment_date < bugün veya completed
scopeByStatus($query, string $status)

Model İlişkileri

  • school, teacher, parent, student, cancelledByUser
  • appointment_date, start_time, end_time, location, notes

AppointmentParticipantService

Müsaitlik hesaplama ve katılımcı yönetimi için servis sınıfı.