Get started with the New Semble Appointment System
The New Semble Appointment System introduces enhanced calendar management capabilities and new API queries and mutations.
See what’s new in the New Semble Appointment System.
The queries and mutations documented on this page are available only for practices with the New Semble Appointment System enabled.
How to enable the New Semble Appointment System
Contact your Semble account manager or the Support team.
New queries
New mutations
Use a Settings API credential for these mutations in server-side integrations. signIn is not required for programmatic availability management.
Integration changes
Review the following changes before adopting the New Semble Appointment System.
availabilities query
The existing availabilities query remains supported and is fully compatible with the New Semble Appointment System. No changes are required for integrations that use this query.
You can optionally update your integration to use the new availabilitySlots query, which provides additional functionality, including:
- Up to 4 weeks of availability data
- Availability of multiple users and rooms
- Associated user and room objects returned in the same query
- Pagination support
Action: Optional
Availability webhook events
The legacy availability webhook events (availability.blocker.*, availability.recurring.*, and availability.specific.*) are not compatible with the New Semble Appointment System. This is a breaking change for integrations that rely on those events.
Practices on the New Semble Appointment System emit:
resourceAvailability.createdresourceAvailability.updatedresourceAvailability.deleted
Action: Required
availabilitySettings query
If your integration uses the availabilitySettings query, update it to use availabilityRules instead.
Action: Required
createOutOfOfficeBooking mutation
The createOutOfOfficeBooking mutation has been replaced by unavailability management in the New Semble Appointment System.
If your integration uses createOutOfOfficeBooking, update it to use createAvailability instead. Ad-hoc unavailability covers one day. Recurring unavailability uses the same recurrence pattern as recurring availability. Always send unavailabilityType when unavailability is true; the mutation fails if it is omitted. Omit unavailabilityType when unavailability is false.
Action: Required
Other considerations
Room ID vs location ID
PracticeLocation exposes two different identifiers:
| Field | Meaning | Use for |
|---|---|---|
id | Room | room on create/update availability; roomIds on slots/rules queries |
groupId | Site / location | locationIds on availabilitySlots and availabilityRules |
Do not interchange them. Passing a room ID as locationIds returns empty results rather than an error.
Deleted clinicians
Deleted clinicians are not bookable. When a clinician is deleted, their availability and unavailability rules are soft-deleted. availabilities and availabilitySlots do not return slots for a deleted user, including when you query by user, room, or location. availabilityRules and availabilityRule do not return that user's availability or unavailability rules. Existing bookings for a deleted clinician are unchanged.