Skip to content

Reserve Appointment

Request

After a time is identified using Available Appointment, it may be temporarily reserved for 15 minutes.

This is intended for workflows where additional information must be collected before completing the booking, such as capturing patient details to create a new client record.

Use Finalise Appointment to complete the booking.

Security
x-api-key and a-api-key
Bodyapplication/json
app_timestring^\d{4}-\d{2}-\d{2}[Tt]\d{2}:\d{2}:\d{2}$required

ISO 8601 local datetime in the tenant's timezone.

Example:"2026-01-01T12:05:30"
practitioner_idintegerrequired
business_idintegerrequired
durationinteger, [ 5 .. 1440 ]required

Must be between 5 and 1440 and divisible by 5.

column_numberinteger
Default:1
widthinteger
Default:1
resource_idsArray of integers
Example:
[ 1, 2 ]
curl -i -X POST \
  https://api.pracsuite.com/v1/reserve_appointment \
  -H 'Content-Type: application/json' \
  -H 'a-api-key: YOUR_API_KEY_HERE' \
  -H 'x-api-key: YOUR_API_KEY_HERE' \
  -d '{
    "app_time": "2026-01-01T12:05:30",
    "practitioner_id": 0,
    "business_id": 0,
    "duration": 5,
    "column_number": 1,
    "width": 1,
    "resource_ids": [
      1,
      2
    ]
  }'

Responses

Successful

Bodyapplication/json
appointment_idintegerrequired
app_timestring^\d{4}-\d{2}-\d{2}[Tt]\d{2}:\d{2}:\d{2}$required

ISO 8601 local datetime in the tenant's timezone.

Example:"2026-01-01T12:05:30"
practitioner_idintegerrequired
business_idintegerrequired
durationinteger, [ 5 .. 1440 ]required

Must be between 5 and 1440 and divisible by 5.

column_numberinteger
Default:1
widthinteger
Default:1
categorystring
Example:"Reserved"
Response
{ "appointment_id": 0, "app_time": "2026-01-01T12:05:30", "practitioner_id": 0, "business_id": 0, "duration": 5, "column_number": 1, "width": 1, "category": "Reserved" }