# Create appointment Schedule a new appointment for a patient. Requires patient ID, practitioner ID, appointment type ID, and the desired start time. The system will validate availability before confirming the appointment. Endpoint: POST /partner/v2/account/{accountId}/location/{locationId}/appointment Version: 2.0 Security: PartnerOAuth ## Path parameters: - `accountId` (integer, required) Account identifier - `locationId` (integer, required) Location identifier ## Request fields (application/json): - `appointmentTypeId` (integer, required) Appointment type ID Example: 10 - `locationId` (integer, required) Location ID Example: 1 - `practitionerId` (integer, required) Practitioner ID Example: 7 - `schedulerConfigId` (integer, required) Scheduler config ID (must belong to the self-scheduling setting) Example: 101 - `startDateTime` (string, required) Appointment start time in ISO 8601 format with timezone Example: "2025-01-15T10:00:00-08:00" ## Response 201 fields (application/json): - `appointmentTypeId` (integer) Appointment type ID Example: 333 - `createdAt` (string) Creation timestamp Example: "2025-01-10T14:30:00Z" - `durationMinutes` (integer) Duration in minutes Example: 30 - `endTime` (string) Appointment end time (ISO 8601) Example: "2025-01-15T09:30:00-05:00" - `id` (integer) Unique appointment identifier Example: 12345 - `locationId` (integer) Location ID Example: 111 - `note` (string) Appointment notes Example: "Annual checkup" - `patientId` (integer) Patient ID Example: 67890 - `practitionerId` (integer) Practitioner ID (staff member with a practitioner role) Example: 222 - `startTime` (string) Appointment start time (ISO 8601) Example: "2025-01-15T09:00:00-05:00" - `status` (string) Appointment status Enum: "SCHEDULED", "CONFIRMED", "CHECKED_IN", "IN_TREATMENT", "CHECKED_OUT", "CANCELLED", "NO_SHOW" - `updatedAt` (string) Last update timestamp Example: "2025-01-10T14:30:00Z" ## Response 400 fields ## Response 401 fields ## Response 403 fields ## Response 409 fields ## Response 422 fields