Daftar booking
Default hari ini di cabang aktif. Pakai date atau rentang from/to. status boleh dipisah koma.
- Scope
appointments:readappointments:writeencounters:read(cukup salah satu)- Izin RBAC
- appointment.manage · appointment.read · encounter.read · queue.manage
- Modul
booking
Parameter
| Nama | Lokasi | Tipe | Keterangan |
|---|---|---|---|
| X-Branch-ID | header | string (uuid) | Cabang aktif (opsional). Nilai di luar cabang klien diabaikan. |
| date | query | string (date) | |
| from | query | string (date) | |
| to | query | string (date) | |
| patient_id | query | string (uuid) | |
| practitioner_id | query | string (uuid) | |
| unit_id | query | string (uuid) | |
| branch_id | query | string (uuid) | |
| status | query | string | booked, checked_in, cancelled, no_show, done (pisah koma) |
Contoh kode
curl -X GET "https://api.medivana.cloud/api/v1/booking/appointments" \
-H "Authorization: Bearer $MEDIVANA_TOKEN"const res = await fetch("https://api.medivana.cloud/api/v1/booking/appointments", {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.MEDIVANA_TOKEN}`,
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}: ${await res.text()}`);
const data = await res.json();import os
import requests
resp = requests.get(
"https://api.medivana.cloud/api/v1/booking/appointments",
headers={"Authorization": f"Bearer {os.environ['MEDIVANA_TOKEN']}"},
timeout=30,
)
resp.raise_for_status()
data = resp.json()Respons
200Booking (urut waktu mulai)application/json
{
"items": [
{
"id": "3f0c2a10-5b7e-4c1d-9a2e-00000001a001",
"code": "BK-7KQ2MZ",
"branch_id": "3f0c2a10-5b7e-4c1d-9a2e-0000000000b1",
"unit_id": "3f0c2a10-5b7e-4c1d-9a2e-0000000c0001",
"unit_name": "Poli Umum",
"patient_id": "3f0c2a10-5b7e-4c1d-9a2e-0000000a0001",
"patient_name": "Pasien Contoh",
"practitioner_id": "3f0c2a10-5b7e-4c1d-9a2e-0000000d0001",
"practitioner_name": "dr. Rina Contoh",
"start_at": "2026-11-02T08:15:00+07:00",
"end_at": "2026-11-02T08:30:00+07:00",
"status": "booked",
"source": "admin",
"payer_kind": "umum",
"complaint": "Demam 3 hari",
"version": 1
}
]
}Skema 200
| Nama | Tipe | Keterangan |
|---|---|---|
| itemswajib | array<object> | |
| items[].id | string (uuid) | |
| items[].code | string | |
| items[].branch_id | string (uuid) | |
| items[].unit_id | string (uuid) | |
| items[].unit_name | string | |
| items[].patient_id | string (uuid) | null | |
| items[].patient_name | string | |
| items[].patient_phone_masked | string | null | |
| items[].patient_sex | string | null | |
| items[].patient_birth_date | string (date) | null | |
| items[].is_new_patient | boolean | |
| items[].practitioner_id | string (uuid) | |
| items[].practitioner_name | string | |
| items[].schedule_id | string (uuid) | null | |
| items[].service_id | string (uuid) | null | |
| items[].start_at | string (date-time) | |
| items[].end_at | string (date-time) | |
| items[].status | booked | checked_in | cancelled | no_show | done | |
| items[].source | portal | whatsapp | admin | bpjs | |
| items[].payer_kind | umum | bpjs | insurance | company | |
| items[].payer_id | string (uuid) | null | |
| items[].complaint | string | null | |
| items[].encounter_id | string (uuid) | null | |
| items[].checked_in_at | string (date-time) | null | |
| items[].cancelled_at | string (date-time) | null | |
| items[].cancel_reason | string | null | |
| items[].reminder_sent_at | string (date-time) | null | |
| items[].created_at | string (date-time) | |
| items[].version | integer |
Galat
- 400
bad-requestParameter atau format permintaan tidak valid - 401
unauthorizedToken tidak ada, tidak valid, kedaluwarsa, atau dicabut - 402
module-lockedModul tidak aktif di paket organisasi - 403
forbiddenScope token tidak memberi izin (forbidden), atau langganan klinik baca-saja untuk operasi tulis (read-only) - 429
rate-limitedBatas laju klien (rate_limit_per_min) terlampaui; coba lagi pada menit berikutnya