Search K
Availability
How to use the calendar in the UI
By navigating to the Dashboard (yellow tab) users can find the calendar.

Users can customize which resources and dates are displayed on the calendar by using the radio buttons and date selector on the left of the window.

Users can change the editing mode from Appointments to Planning Guides by selecting the gear icon on the top-right of the window. This will allow users to swap between setting up planning guides and creating appointments. Changing the editing mode will impact the opacity of the elements within the calendar.
Record opacity
There are three views (edit modes) in the ezyVet calendar that impact record opacity - Appointments, Planning Guides and eBooking.
Appointments view

Appointments records are completely opaque
- Double-clicking on an appointment record will open the associated clinical record.
Planning Guides are translucent
- Single-clicking on a planning guide record will open an appointment window where you can create an appointment of the planning guide type displayed.
eBooking guide records are not visible.

Planning Guides view

Planning guide records are completely opaque
- Double-clicking on a planning guide record will open the planning guide and allow you to edit it.
Appointment records are translucent
- Appointments are not editable when in Planning guide view mode.
eBooking guide records are not visible.

eBooking
eBooking guide records are completely opaque
- Double-clicking on an eBooking guide record will open the eBooking guide and allow you to edit it.
Appointment records are not visible
Planning guide records are not visible
Handling double parked planning guides
It’s not uncommon to allow bookings for many types of appointments for a given time period. In the example below it’s visible that from 12pm to 3pm Anakin is allowing bookings for both Vaccinations and Consults on the Death Star. This doesn’t mean that a Vaccination and a Consult appointment can be booked at the same time; rather it allows the option to book one or the other.
In this example, in order to follow best practices, a Block Out - Unavailable planning guide was put in place for Anakin during that time period on Tattooine.

Handling users & resources across multiple departments
When a vet record is bookable in multiple locations within an ezyVet site, planning guides are an important tool to utilize to avoid double-booking as the vet can only be in one place at a time. In this case, if the vet is accepting bookings in one location it makes sense to consider blocking their availability in the other location. In this case, a planning guide should be created with the appointment type of Block Out - Unavailable.
In the example shown below, because Anakin can only be in one place at a time, planning guides have been created for Telemedicine appointments and Consult appointments on the Death Star between 8am and 11am and a Block Out - Unavailable planning guide has been created for Tattooine. This indicates that no appointments should be booked for Anakin on Tattooine for that period.

It’s notable that Anakin has an appointment to see Mando at 11am on the Death Star. Because he’s on the Death Star, an un-labelled, translucent planning guide was automatically created on the Tattooine schedule at the time of the Death Star appointment to show that Anakin is busy at that time. This should prevent him from being double-booked.
Using planning guides vs appointments for block outs/unavailability
When blocking out a resource’s availability for a specific location, a planning guide should be implemented as shown in the example above.
Planning guides should also be used when a resource is constantly unavailable at a specific time of day. Examples being a lunch break, closing hours for the location or if the resource is working at another location.
When blocking out a resource’s availability for all locations at a specific time, an appointment can be used. Examples could be if the resource is unwell and can’t attend work for a period or is on PTO.
Naming conventions for non-bookable appointment types
Clinics should strive to be as clear and concise as possible when creating their appointment types. When creating an appointment type that indicates the resource is unavailable, it should be stated so. A great example is what has been seen throughout this document - Block Out - Unavailable.
These appointment types should not be bookable by staff or pet-parents and should be communicated to any integration partner that has functionality to book appointments.
Integration Partners should provide the functionality to allow customers to select which appointment types are bookable/non-bookable by pet parents.
Planning guide responsibility
The responsibility for creating, maintaining and communicating planning guides falls on the clinic as it impacts how clinic staff use the calendar feature within ezyVet and how partner integrations will interpret them.
It is the responsibility of any partner that has certified availability functionality to correctly ingest planning guide and appointment type data along with the ability to restrict what appointment types can be booked within their portal.
Understanding availability via the API
Relevant endpoints
v2/appointmenttype- Get appointment typesv2/resource- Get resourcesv3/siteInformation- Get timezone infov2/separation- Get separation info/availability- Get bookable appointment slots/booking- Create appointments with associated clinical records and billing triggers
Enabling the ezyCAB service
The ezyCAB service is enables access to the /availability endpoint which is crucial for understanding availability via the API.
It’s enabled in the UI by navigating to your integration record and selecting the connect button shown below.

Once enabled, the button will be grey.

Workflows to get availability
Call the
v3/siteInformationendpoint and store theid.Call the
v1/separationendpoint and store theidandnamevalues.Call the
v2/resourceendpoint (ensure you setaccess=On Calendar) and store theuid,nameandownership_idvalues.- Map the
ownership_idto the separation.
- Map the
Call the
v2/appointmenttypeendpoint and store theuidandnamevalues.- Ensure the customer has informed the partner of any non-bookable appointment types/block outs.
Call the
/availabilityendpoint and use theslotsarray to find availability.
Availability increments
For general queries, the
/availabilityendpoint accepts values for thedurationfield that are greater than or equal to 10 minutes with allowance for increments of 5 minutes.If a more granular view of a resource's availability is required, the
durationcan be set to 5 minutes if:A single resource (resource uid) is passed via the
resources[]parameter.AND
A single appointment type (appointment type uid) is passed via the
filter[slots.appointmentType.id][in]parameter.
API availability nuances
- The
/availabilityendpoint will return allappointment_typesthat are on a planning guide or eBooking guide that is assigned to a time slot.
Example
If you had a Recheck appointment_type planning guide entry for 11am-11:30am, AND you also had a Wellness Visit appointment_type planning guide/eBooking at the same time, the /availability endpoint would return both of these appointment_types for that slot (because the guides say that both can be booked at that time.)
The time slots returned by the
/availabilityendpoint are completely dependent on thedurationparameter passed to the call, and completely independent of the defined standard length of anyappointment_type. That is, if thedurationparameter is passed in as 30 then it will report on the 30-minute slot availability of a givenappointment_type, even if thatappointment_typeis defined with a default of 40 minutes.When using query parameters with the
/availabilityendpoint, only thefilter[slots.appointmentType.id][in]will accept a comma separated array as a value. Theresources[]anddates[]parameters will need to be repeated to include multiple values.If a planning/eBooking guide crosses over into any time slot that is returned via the
/availabilityendpoint, it will appear in that time slot entry.
Example

If you set the duration as 30, the /availability endpoint will return the Consult appointment_type in both the 10:00 and the 10:30 start-time slots.
Certification Agenda
When providing availability, are you considering:
- Existing appointments / unavailable slots
- Planning guides
- Do you have a flag for block-out/out-of-office planning guides?
- eBooking guides
- Appointment types
- Are you correctly mapping UIDs to names?
- Resources
- Are you providing availability for the correct resource?
- Are you updating availability for a user's resource if that user has another resource that is booked elsewhere?
- Can you handle overlapping planning guides?
- Can you handle separations correctly?
- Are you using the correct timezone?
- How are you handling appointment types where the duration will surpass the planning guide slot?