Schedule Queries

These queries allow you to interact with schedule data.

appointment

Returns: Appointment

Arguments

ArgumentTypeDescription
idrequiredID!Unique identifier
Example Query
query($id: ID!) {
appointment(id: $id) {
id
# Add other fields you need
}
}
Variables
{
"id": "1"
}

appointmentReminders

Arguments

ArgumentTypeDescription
patientIdrequiredID!ID of the patient
startDateTimeStarting point for the range
Example Query
query(
$patientId: ID!,
$start: DateTime
) {
appointmentReminders(
patientId: $patientId,
start: $start
) {
id
# Add other fields you need
}
}
Variables
{
"patientId": "1",
"start": {}
}

appointmentTypeTag

Arguments

ArgumentTypeDescription
idrequiredID!ID of resource to lookup
Example Query
query($id: ID!) {
appointmentTypeTag(id: $id) {
id
# Add other fields you need
}
}
Variables
{
"id": "1"
}

appointmentTypeTags

Arguments

ArgumentTypeDescription
locationIdIDID of the location
nameStringName of the resource
Example Query
query(
$locationId: ID,
$name: String
) {
appointmentTypeTags(
locationId: $locationId,
name: $name
) {
id
# Add other fields you need
}
}
Variables
{
"locationId": "1",
"name": "example"
}

appointmentTypes

Returns: [AppointmentType!]!

Arguments

ArgumentTypeDescription
deletedBooleanInclude deleted records in results
updatedAtEndNaiveDateTimeUpdated at end
updatedAtStartNaiveDateTimeUpdated at start
Example Query
query(
$deleted: Boolean,
$updatedAtEnd: NaiveDateTime,
$updatedAtStart: NaiveDateTime
) {
appointmentTypes(
deleted: $deleted,
updatedAtEnd: $updatedAtEnd,
updatedAtStart: $updatedAtStart
) {
id
# Add other fields you need
}
}
Variables
{
"deleted": true,
"updatedAtEnd": {},
"updatedAtStart": {}
}

appointments

Returns: [Appointment]

Get a list of appointments either by location id or provider id

Arguments

ArgumentTypeDescription
appointmentTypeIds[Int]List of appointment type IDs to filter by
apptOnlyBooleanonly return patient appointments (not events)
clientIdIDID of the client (pet owner)
daycareOnlyBooleanonly return daycare appointments
endDateTimeEnding point for the range
historicalIdStringID of the historical
ids[ID]List of IDs
includeCompletedBooleanInclude completed
includeDeletedBooleanInclude deleted
isLiveBooleanis not completed
isOngoingBooleanis checked in or in-progress
limitIntMaximum number of results to return
locationIdIDID of the location
offsetIntNumber of results to skip for pagination
onlyDeletedBooleanonly return deleted appts (normally deleted appts are hidden)
onlyTodayBooleanOnly today
patientIdIDID of the patient
patientIds[ID]List of patient IDs
providerIdIDID of the provider
startDateTimeStarting point for the range
statuses[AppointmentStatus]show only certain statuses
updatedAtEndNaiveDateTimeUpdated at end
updatedAtStartNaiveDateTimeUpdated at start
Example Query
query(
$appointmentTypeIds: [Int],
$apptOnly: Boolean,
$clientId: ID,
$daycareOnly: Boolean,
$end: DateTime,
$historicalId: String,
$ids: [ID],
$includeCompleted: Boolean,
$includeDeleted: Boolean,
$isLive: Boolean,
$isOngoing: Boolean,
$limit: Int,
$locationId: ID,
$offset: Int,
$onlyDeleted: Boolean,
$onlyToday: Boolean,
$patientId: ID,
$patientIds: [ID],
$providerId: ID,
$start: DateTime,
$statuses: [AppointmentStatus],
$updatedAtEnd: NaiveDateTime,
$updatedAtStart: NaiveDateTime
) {
appointments(
appointmentTypeIds: $appointmentTypeIds,
apptOnly: $apptOnly,
clientId: $clientId,
daycareOnly: $daycareOnly,
end: $end,
historicalId: $historicalId,
ids: $ids,
includeCompleted: $includeCompleted,
includeDeleted: $includeDeleted,
isLive: $isLive,
isOngoing: $isOngoing,
limit: $limit,
locationId: $locationId,
offset: $offset,
onlyDeleted: $onlyDeleted,
onlyToday: $onlyToday,
patientId: $patientId,
patientIds: $patientIds,
providerId: $providerId,
start: $start,
statuses: $statuses,
updatedAtEnd: $updatedAtEnd,
updatedAtStart: $updatedAtStart
) {
id
# Add other fields you need
}
}
Variables
{
"appointmentTypeIds": 1,
"apptOnly": true,
"clientId": "1",
"daycareOnly": true,
"end": {},
"historicalId": "example",
"ids": "1",
"includeCompleted": true,
"includeDeleted": true,
"isLive": true,
"isOngoing": true,
"limit": 1,
"locationId": "1",
"offset": 1,
"onlyDeleted": true,
"onlyToday": true,
"patientId": "1",
"patientIds": "1",
"providerId": "1",
"start": {},
"statuses": {},
"updatedAtEnd": {},
"updatedAtStart": {}
}

availableTimes

Arguments

ArgumentTypeDescription
appointmentTypeIdrequiredID!ID of the appointment type
daterequiredDate!Specific date for the query
firstAvailableBooleanFirst available
locationIdrequiredID!ID of the location
numberOfPetsIntNumber of pets
Example Query
query(
$appointmentTypeId: ID!,
$date: Date!,
$firstAvailable: Boolean,
$locationId: ID!,
$numberOfPets: Int
) {
availableTimes(
appointmentTypeId: $appointmentTypeId,
date: $date,
firstAvailable: $firstAvailable,
locationId: $locationId,
numberOfPets: $numberOfPets
) {
id
# Add other fields you need
}
}
Variables
{
"appointmentTypeId": "1",
"date": {},
"firstAvailable": true,
"locationId": "1",
"numberOfPets": 1
}

countAppointmentProviders

Count the number of appointments in a range from start to end segmented into days, weeks, months, years.

Arguments

ArgumentTypeDescription
endDateTimeEnding point for the range
segmentrequiredTimeSegment!Segment
startDateTimeStarting point for the range
Example Query
query(
$end: DateTime,
$segment: TimeSegment!,
$start: DateTime
) {
countAppointmentProviders(
end: $end,
segment: $segment,
start: $start
) {
id
# Add other fields you need
}
}
Variables
{
"end": {},
"segment": {},
"start": {}
}

countAppointments

Returns: [DateCount]

Count the number of appointments in a range from start to end segmented into days, weeks, months, years.

Arguments

ArgumentTypeDescription
endDateTimeEnding point for the range
segmentrequiredTimeSegment!Segment
startDateTimeStarting point for the range
Example Query
query(
$end: DateTime,
$segment: TimeSegment!,
$start: DateTime
) {
countAppointments(
end: $end,
segment: $segment,
start: $start
) {
id
# Add other fields you need
}
}
Variables
{
"end": {},
"segment": {},
"start": {}
}

countViewerAppointments

Returns: [DateCount]

Count the number of appointments by a certain provider id

Arguments

ArgumentTypeDescription
endDateTimeEnding point for the range
segmentrequiredTimeSegment!Segment
startDateTimeStarting point for the range
Example Query
query(
$end: DateTime,
$segment: TimeSegment!,
$start: DateTime
) {
countViewerAppointments(
end: $end,
segment: $segment,
start: $start
) {
id
# Add other fields you need
}
}
Variables
{
"end": {},
"segment": {},
"start": {}
}

locationAppointmentTypes

Returns: [AppointmentType]

Get a list of appointments types which are either enabled globally, or enabled for the given location

Arguments

ArgumentTypeDescription
includeDeletedBooleanInclude deleted
limitIntMaximum number of results to return
locationIdrequiredID!ID of the location
offsetIntNumber of results to skip for pagination
Example Query
query(
$includeDeleted: Boolean,
$limit: Int,
$locationId: ID!,
$offset: Int
) {
locationAppointmentTypes(
includeDeleted: $includeDeleted,
limit: $limit,
locationId: $locationId,
offset: $offset
) {
id
# Add other fields you need
}
}
Variables
{
"includeDeleted": true,
"limit": 1,
"locationId": "1",
"offset": 1
}

locationSchedules

Returns: [LocationSchedule]

Arguments

ArgumentTypeDescription
locationIdIDID of the location
patientIdIDID of the patient
Example Query
query(
$locationId: ID,
$patientId: ID
) {
locationSchedules(
locationId: $locationId,
patientId: $patientId
) {
id
# Add other fields you need
}
}
Variables
{
"locationId": "1",
"patientId": "1"
}

scheduleTemplate

Arguments

ArgumentTypeDescription
idrequiredID!ID of resource to lookup
Example Query
query($id: ID!) {
scheduleTemplate(id: $id) {
id
# Add other fields you need
}
}
Variables
{
"id": "1"
}

scheduleTemplates

Arguments

ArgumentTypeDescription
locationIdIDID of the location
updatedAtEndNaiveDateTimeUpdated at end
updatedAtStartNaiveDateTimeUpdated at start
Example Query
query(
$locationId: ID,
$updatedAtEnd: NaiveDateTime,
$updatedAtStart: NaiveDateTime
) {
scheduleTemplates(
locationId: $locationId,
updatedAtEnd: $updatedAtEnd,
updatedAtStart: $updatedAtStart
) {
id
# Add other fields you need
}
}
Variables
{
"locationId": "1",
"updatedAtEnd": {},
"updatedAtStart": {}
}