OBJECT

Appointment

An appointment object containing information about the appointment, including the attendees, date, location, and more.

link GraphQL Schema definition

  • type Appointment {
  • # The actual length of the appointment (in minutes). Filled in by the provider
  • # after the appointment
  • actual_duration: String
  • # Get link to add appointment to google calendar
  • add_to_gcal_link: String
  • # The category of the appointment
  • appointment_category: String
  • # The number of people (both providers and attendees) who are in the appointment
  • appointment_inclusions_count: Int
  • # A label for the appointment
  • appointment_label: String
  • # the ID of the appointment location
  • appointment_location_id: String
  • # The type of the appointment
  • appointment_type: AppointmentType
  • # The ID of the type of appointment this is
  • appointment_type_id: Int
  • # List of assigned user groups to the group appointment
  • assigned_groups: [UserGroup!]
  • # Client inclusions
  • attended_clients: [AppointmentInclusionType!]
  • # All attendees for the appointment.
  • attendees: [User!]!
  • # Pending Appointment inclusions
  • attendees_on_waitlist: [User!]
  • # The backgroundColor color of the appointment
  • #
  • # Arguments
  • # appointment_setting_updated_at: The time the appointment
  • # setting was last updated
  • backgroundColor(appointment_setting_updated_at: String): String
  • # Returns true if the patient can reschedule the appointment
  • can_be_rescheduled: Boolean
  • # True if client able to cancel an appointment
  • can_client_cancel: Boolean
  • # True if client able to reschedule an appointment
  • can_client_reschedule: Boolean
  • # false if the client needs to confirm the appointment, and has not
  • #
  • # Arguments
  • # known_requires_client_confirmed: Whether or not the appointment
  • # requires client confirmation
  • client_confirmed(known_requires_client_confirmed: Boolean): Boolean
  • # Whether the appointment updating on client side or not
  • client_updating: Boolean
  • # The status of whether the provider has confirmed the appointment or not
  • confirmed: Boolean
  • # True if appointment is locked
  • connected_chart_note_locked: Boolean
  • # The status of the connected chart note
  • connected_chart_note_string: String
  • # How the provider and attendees will connect (i.e In-Person or through the phone)
  • contact_type: String
  • # The ID of conversation related to the current appointment(only for group appts
  • # 10/2020)
  • conversation_id: ID
  • # The date and time that the appointment was created
  • created_at: String!
  • # The position of the appointment in the recurring series
  • current_position_in_recurring_series: Int
  • # Pagination cursor
  • cursor: Cursor!
  • # The date and time of the appointment
  • date: String
  • # default color of appointment based on confirmation/type
  • default_color: String
  • # The time the appointment was deleted. It is blank if the appointment is not
  • # deleted.
  • deleted_at: String
  • # The end time of the appointment
  • end: String
  • # The type of connection to an external calendar
  • external_id_type: String
  • # A URL to an external video chat site for the session
  • external_videochat_url: String
  • # The custom answers filled out by the booker of the appointment
  • filled_embed_form: FormAnswerGroup
  • # Form answer group associated with appointment
  • form_answer_group: FormAnswerGroup
  • # open tok token
  • generated_token: String
  • # When true, additional group charting fields are visibile in the Healthie UI
  • has_expanded_vbc_charting_fields: Boolean
  • # Returns true if the apointment has inprogress job
  • has_in_progress_job: Boolean
  • # The unique identifier of the appointment
  • id: ID!
  • # ID of user that created of appointment
  • initiator_id: ID
  • # The status of whether this appointment is specifically meant to block
  • # availability
  • is_blocker: Boolean
  • # Indicates whether it's a group appointment
  • is_group: Boolean
  • # The status of whether the video chat uses Zoom or Healthie Default telehealth
  • is_zoom_chat: Boolean
  • # id of last conversation between provider and client in appointment
  • last_client_conversation_id: ID
  • # The length of the appointment (in minutes)
  • length: Int
  • # The plaintext location of the appointment (only used for in-person appointments)
  • location: String
  • # Location Resource
  • locationResource: String
  • # How many attendees can register for an appointment (only used for Group
  • # Appointments)
  • max_attendees: String
  • # a serialized JSON string of metadata
  • metadata: JSON
  • # Minimum time before the appointment when client can still cancel it
  • minimum_advance_cancel_time: Int
  • # Minimum time (in minutes) before the appointment when client can still
  • # reschedule it
  • minimum_advance_reschedule_time: Int
  • # Quick notes on the appointment (only visisble to providers)
  • notes: String
  • # The id of the provider
  • other_party_id: Int
  • # The number of times a patient rescheduled an appointment
  • patient_reschedule_count: Int
  • # The status of the appointment. Can be one of “Occurred”, “No-Show”,
  • # “Re-Scheduled”, “Cancelled”
  • #
  • # Arguments
  • # check_for_client_cancel: Check if client cancelled the
  • # appointment
  • pm_status(check_for_client_cancel: Boolean): String
  • # The date and time the status of the appointment was last updated
  • pm_status_changed_at: String
  • # The ID of the user who last changed the status of the appointment, if available
  • pm_status_last_changed_by_id: ID
  • # Get the pricing info for this appointment
  • pricing_info: AppointmentPricingInfoType
  • # The provider for the appointment
  • provider: User
  • # Provider name
  • provider_name: String
  • # All providers for the appointment.
  • #
  • # Arguments
  • # empty_unless_multiple: Return an empty array unless there is
  • # more than one provider
  • providers(empty_unless_multiple: Boolean): [User!]!
  • # The clients reason for scheduling the appointment
  • reason: String
  • # The related recurring appointment series
  • recurring_appointment: RecurringAppointment
  • # The ID of the recurring appointment
  • recurring_appointment_id: String @deprecated( reason: "Use recurring_appointment instead" )
  • # The status of whether this is a repeating appointment or not
  • repeat: Boolean @deprecated( reason: "Use recurring_appointment instead" )
  • # How often to repeat the appointment (e.g Daily or Monthly)
  • repeat_interval: String @deprecated( reason: "Use recurring_appointment instead" )
  • # How many times does the appointment repeat
  • repeat_times: Int @deprecated( reason: "Use recurring_appointment instead" )
  • # A requested payment for this appointment
  • requested_payment: RequestedPayment
  • # The ID of the user, used for the calendar
  • resourceId: String
  • # the ID of the room
  • room_id: ID
  • # A string containing info on how the appointment was scheduled
  • scheduled_by: String
  • # The OpenTok session ID for the appointment
  • session_id: String
  • # When true, a cms1500 should be created when the appointment status is set to
  • # occured
  • should_create_cms1500_for_occurred_appointments: Boolean
  • # The start time of the appointment
  • start: String
  • # The font color of the appointment
  • textColor: String
  • # The status of whether the time of this appointment has been separated from the
  • # other recurring appointments in the series
  • time_recurring_override: Boolean
  • # Timezone abbreviation of the date of the appointment
  • timezone_abbr: String
  • # The title of the appointment
  • title: String
  • # Unauthenticated link to download an ICS file for the appointment
  • unauthenticated_ics_link: String
  • # The last date and time that the appointment was updated
  • updated_at: String
  • # Whether the appointment is through Zoom or not
  • use_zoom: Boolean
  • # The client in a 1:1 appointment
  • user: User
  • # The id of the client (if a 1:1 appointment). If a group appointment, will be nil
  • user_id: Int
  • # Zoom meeting info. Appointment should have a valid zoom link and the user should
  • # have the permission to access the meeting. Otherwise returns nil
  • zoom_appointment: ZoomAppointment
  • # URLs for Zoom cloud recordings for this appointment
  • zoom_cloud_recording_urls: [String]
  • # The dial-in info provided by zoom if appoint has zoom links.(separated by
  • # newline characters)
  • zoom_dial_in_info: String
  • # The dial-in info provided by zoom if appoint has zoom links.(separated by break
  • # tags)
  • zoom_dial_in_info_html: String
  • # An array of JSON objects containing the different dial in numbers for the Zoom
  • # call
  • zoom_dial_in_numbers_json: [String]
  • # The join link for other attendees of the Zoom call
  • zoom_join_url: String
  • # The Meeting ID for the Zoom call
  • zoom_meeting_id: String
  • # The host link to start the Zoom call
  • zoom_start_url: String
  • }