Schedule a new appointment for a patient. Requires patient ID, practitioner ID, appointment type ID, scheduler config ID, and the desired start time. The system will validate availability before confirming the appointment.
Practitioner ID (staff member with a practitioner role)
Room ID (required when status is IN_TREATMENT; must be an active room at the location)
Scheduler config ID (from the availability slot being booked)
Appointment start time in ISO 8601 format (e.g., 2025-01-15T09:00:00-05:00)
- Mock serverhttps://api-docs.lobbie.com/_mock/openapi/partner/v2/account/{accountId}/location/{locationId}/appointment
- Productionhttps://api-prod.lobbie.com/lobbie/api/partner/v2/account/{accountId}/location/{locationId}/appointment
curl -i -X POST \
'https://api-docs.lobbie.com/_mock/openapi/partner/v2/account/{accountId}/location/{locationId}/appointment' \
-H 'Authorization: Bearer <YOUR_JWT_HERE>' \
-H 'Content-Type: application/json' \
-H 'x-api-key: YOUR_API_KEY_HERE' \
-d '{
"appointmentTypeId": 333,
"note": "Annual checkup",
"patientId": 67890,
"practitionerId": 222,
"roomId": 1,
"schedulerConfigId": 1,
"startTime": "2025-01-15T09:00:00-05:00",
"status": "CONFIRMED"
}'Appointment created successfully
Time the patient checked in (UTC, ISO 8601); null if not yet checked in
Time the patient checked out (UTC, ISO 8601); null if not yet checked out
Time the appointment was confirmed (UTC, ISO 8601); null if not yet confirmed
Time the patient was brought into the room (UTC, ISO 8601); null if not set
Appointment status
{ "appointmentTypeId": 333, "checkedInAt": "2025-01-15T14:00:00Z", "checkedOutAt": "2025-01-15T14:00:00Z", "confirmedAt": "2025-01-15T14:00:00Z", "createdAt": "2025-01-15T14:00:00Z", "durationMinutes": 30, "endTime": "2025-01-15T14:30:00Z", "id": 12345, "locationId": 111, "note": "Annual checkup", "patientId": 67890, "practitionerId": 222, "roomId": 1, "roomInAt": "2025-01-15T14:00:00Z", "startTime": "2025-01-15T14:00:00Z", "status": "SCHEDULED", "updatedAt": "2025-01-15T14:00:00Z" }