> ## Documentation Index
> Fetch the complete documentation index at: https://docs-qa.interactly.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Create Integration



## OpenAPI

````yaml https://api-qa.interactly.ai/api-docs/integrations/api.json post /integrations/v2/use-cases
openapi: 3.1.0
info:
  title: Interactly API
  description: API for building interactly.ai services
  version: 1.1.0
  contact:
    name: Interactly
    url: https://interactly.ai
    email: developers@interactly.ai
servers:
  - url: https://api-qa.interactly.ai
    description: API Server
security: []
paths:
  /integrations/v2/use-cases:
    post:
      tags:
        - Integrations Use Cases V2
      summary: Create Integration
      operationId: integrations_service_create_integration_v2_use_cases_post
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IntegrationsUseCasesBaseConfig'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntegrationsUseCasesResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - bearer: []
components:
  schemas:
    IntegrationsUseCasesBaseConfig:
      properties:
        logicalId:
          anyOf:
            - type: string
            - type: 'null'
          title: Logical ID
          description: Unique identifier for the integration use-case
        integrationId:
          anyOf:
            - type: string
              maxLength: 24
              minLength: 24
              pattern: ^[0-9a-f]{24}$
              example: 5eb7cf5a86d9755df3a6c593
            - type: 'null'
          title: Integration ID
          description: Reference to the associated integration
        schedulerNames:
          items:
            type: string
          type: array
          title: Schedulernames
          description: List of associated scheduler names
        config:
          anyOf:
            - oneOf:
                - $ref: >-
                    #/components/schemas/AppointmentReminderWithSheetUseCaseConfig-Input
                - $ref: '#/components/schemas/LabReminderWithSheetUseCaseConfig-Input'
                - $ref: '#/components/schemas/AppointmentReminderUseCaseConfig-Input'
                - $ref: >-
                    #/components/schemas/FinalAppointmentNotificationUseCaseConfig-Input
                - $ref: '#/components/schemas/LabReminderUseCaseConfig-Input'
                - $ref: >-
                    #/components/schemas/AppointmentSchedulingUseCaseConfig-Input
                - $ref: >-
                    #/components/schemas/AppointmentCancellationUseCaseConfig-Input
                - $ref: >-
                    #/components/schemas/AppointmentReschedulingUseCaseConfig-Input
                - $ref: >-
                    #/components/schemas/AppointmentSchedulingWithWaitlistUseCaseConfig-Input
                - $ref: '#/components/schemas/MedicationRefillUseCaseConfig-Input'
                - $ref: '#/components/schemas/InvoiceBillingUseCaseConfig-Input'
                - $ref: '#/components/schemas/WebSchedulingUseCaseConfig-Input'
                - $ref: '#/components/schemas/InsuranceReminderUseCaseConfig-Input'
                - $ref: '#/components/schemas/AppointmentEnquiryUseCaseConfig-Input'
              discriminator:
                propertyName: type
                mapping:
                  appointment_cancellation:
                    $ref: >-
                      #/components/schemas/AppointmentCancellationUseCaseConfig-Input
                  appointment_enquiry:
                    $ref: '#/components/schemas/AppointmentEnquiryUseCaseConfig-Input'
                  appointment_reminder:
                    $ref: >-
                      #/components/schemas/AppointmentReminderUseCaseConfig-Input
                  appointment_reminder_with_sheet:
                    $ref: >-
                      #/components/schemas/AppointmentReminderWithSheetUseCaseConfig-Input
                  appointment_rescheduling:
                    $ref: >-
                      #/components/schemas/AppointmentReschedulingUseCaseConfig-Input
                  appointment_scheduling:
                    $ref: >-
                      #/components/schemas/AppointmentSchedulingUseCaseConfig-Input
                  appointment_scheduling_with_waitlist:
                    $ref: >-
                      #/components/schemas/AppointmentSchedulingWithWaitlistUseCaseConfig-Input
                  final_appointment_notification:
                    $ref: >-
                      #/components/schemas/FinalAppointmentNotificationUseCaseConfig-Input
                  insurance_reminder:
                    $ref: '#/components/schemas/InsuranceReminderUseCaseConfig-Input'
                  invoice_enquiry:
                    $ref: '#/components/schemas/InvoiceBillingUseCaseConfig-Input'
                  lab_reminder:
                    $ref: '#/components/schemas/LabReminderUseCaseConfig-Input'
                  lab_reminder_with_sheet:
                    $ref: >-
                      #/components/schemas/LabReminderWithSheetUseCaseConfig-Input
                  medication_refill:
                    $ref: '#/components/schemas/MedicationRefillUseCaseConfig-Input'
                  web_scheduling:
                    $ref: '#/components/schemas/WebSchedulingUseCaseConfig-Input'
            - type: 'null'
          title: Config
          description: type-specific configuration schema determined by 'type'.
      type: object
      title: IntegrationsUseCasesBaseConfig
    IntegrationsUseCasesResponse:
      properties:
        integration_use_case:
          $ref: '#/components/schemas/IntegrationsUseCasesModel'
          description: Single integration use case object
      type: object
      required:
        - integration_use_case
      title: IntegrationsUseCasesResponse
      description: |-
        Response model for a single integration use case.
        Contains a IntegrationsUseCasesModel object.
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    AppointmentReminderWithSheetUseCaseConfig-Input:
      properties:
        displayName:
          anyOf:
            - type: string
            - type: 'null'
          title: Friendly Name
          description: >-
            Friendly name for the use-case. You can change this to better
            identify the use-case.
        assistantId:
          anyOf:
            - type: string
              maxLength: 24
              minLength: 24
              pattern: ^[0-9a-f]{24}$
              example: 5eb7cf5a86d9755df3a6c593
            - type: 'null'
          title: Assistant
          description: ID of the assistant associated with this use-case
          input_field_type: assistant_selection_with_assistant_id
        status:
          $ref: '#/components/schemas/IntegrationStatus'
          description: Current status of the use-case
          default: active
          input_field_helper_text: Select inactive to disable this use-case without deleting it.
        timezone:
          anyOf:
            - type: string
            - type: 'null'
          title: Timezone
          description: Timezone for scheduling and notifications
          input_field_type: timezone
        type:
          type: string
          const: appointment_reminder_with_sheet
          title: Type
          description: Type of the use-case. Must be 'appointment_reminder_with_sheet'
          default: appointment_reminder_with_sheet
          input_field_not_visible: true
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Name
          description: Reminders for newly scheduled patient appointments
          default: New Patients Appointment Reminder
          input_field_not_visible: true
        sheetLink:
          anyOf:
            - type: string
            - type: 'null'
          title: Appointment Data Sheet Link
          description: Link to the appointment data sheet
          input_field_type: external_url_link
        actions:
          items:
            $ref: '#/components/schemas/UseCasesActionsConfig'
          type: array
          title: Actions
          description: List of actions associated with the use-case
      type: object
      title: Appointment Reminder With Sheet Use Case Configuration
    LabReminderWithSheetUseCaseConfig-Input:
      properties:
        displayName:
          anyOf:
            - type: string
            - type: 'null'
          title: Friendly Name
          description: >-
            Friendly name for the use-case. You can change this to better
            identify the use-case.
        assistantId:
          anyOf:
            - type: string
              maxLength: 24
              minLength: 24
              pattern: ^[0-9a-f]{24}$
              example: 5eb7cf5a86d9755df3a6c593
            - type: 'null'
          title: Assistant
          description: ID of the assistant associated with this use-case
          input_field_type: assistant_selection_with_assistant_id
        status:
          $ref: '#/components/schemas/IntegrationStatus'
          description: Current status of the use-case
          default: active
          input_field_helper_text: Select inactive to disable this use-case without deleting it.
        timezone:
          anyOf:
            - type: string
            - type: 'null'
          title: Timezone
          description: Timezone for scheduling and notifications
          input_field_type: timezone
        type:
          type: string
          const: lab_reminder_with_sheet
          title: Type
          description: Type of the use-case. Must be 'lab_reminder_with_sheet'
          default: lab_reminder_with_sheet
          input_field_not_visible: true
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Name
          description: Notifications for lab results availability
          default: Lab Reminder
          input_field_not_visible: true
        sheetLink:
          anyOf:
            - type: string
            - type: 'null'
          title: Lab Results Data Sheet Link
          description: Link to the lab results data sheet
          input_field_type: external_url_link
        actions:
          items:
            $ref: '#/components/schemas/UseCasesActionsConfig'
          type: array
          title: Actions
          description: List of actions associated with the use-case
      type: object
      title: Lab Reminder With Sheet Use Case Configuration
    AppointmentReminderUseCaseConfig-Input:
      properties:
        displayName:
          anyOf:
            - type: string
            - type: 'null'
          title: Friendly Name
          description: >-
            Friendly name for the use-case. You can change this to better
            identify the use-case.
        assistantId:
          anyOf:
            - type: string
              maxLength: 24
              minLength: 24
              pattern: ^[0-9a-f]{24}$
              example: 5eb7cf5a86d9755df3a6c593
            - type: 'null'
          title: Assistant
          description: ID of the assistant associated with this use-case
          input_field_type: assistant_selection_with_assistant_id
        status:
          $ref: '#/components/schemas/IntegrationStatus'
          description: Current status of the use-case
          default: active
          input_field_helper_text: Select inactive to disable this use-case without deleting it.
        timezone:
          anyOf:
            - type: string
            - type: 'null'
          title: Timezone
          description: Timezone for scheduling and notifications
          input_field_type: timezone
        type:
          type: string
          const: appointment_reminder
          title: Type
          description: Type of the use-case. Must be 'appointment_reminder'
          default: appointment_reminder
          input_field_not_visible: true
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Name
          description: Reminders for newly scheduled patient appointments
          default: New Patients Appointment Reminder
          input_field_not_visible: true
        allowedLocations:
          anyOf:
            - items:
                type: string
                maxLength: 24
                minLength: 24
                pattern: ^[0-9a-f]{24}$
                example: 5eb7cf5a86d9755df3a6c593
              type: array
            - type: 'null'
          title: Allowed Locations
          description: >-
            List of location ids for which the appointment reminder use-case
            applies.
          input_field_helper_text: >-
            Leave empty to allow all locations. Select specific locations to
            restrict the appointment reminder use-case to those locations only.
          input_field_type: integrations_locations_selection
        allowedPractitioners:
          anyOf:
            - items:
                type: string
                maxLength: 24
                minLength: 24
                pattern: ^[0-9a-f]{24}$
                example: 5eb7cf5a86d9755df3a6c593
              type: array
            - type: 'null'
          title: Allowed Practitioners
          description: >-
            List of practitioner ids for which the appointment reminder use-case
            applies.
          input_field_helper_text: >-
            Leave empty to allow all practitioners. Select specific
            practitioners to restrict the appointment reminder use-case to those
            practitioners only.
          input_field_type: practitioners_selection
        allowedVisitStatuses:
          items:
            $ref: '#/components/schemas/IntegrationAppointmentVisitStatus'
          type: array
          title: Allowed Visit Statuses (Legacy)
          description: >-
            (Legacy) List of visit statuses of the appointments for which the
            appointment reminder use-case applies.
          input_field_not_visible: false
        allowedVisitStatusesIds:
          anyOf:
            - items:
                type: string
                maxLength: 24
                minLength: 24
                pattern: ^[0-9a-f]{24}$
                example: 5eb7cf5a86d9755df3a6c593
              type: array
            - type: 'null'
          title: Allowed Visit Status Codes
          description: >-
            List of visit status codes for which the appointment reminder
            use-case applies.
          input_field_helper_text: >-
            Leave empty to allow all Visit Statuses. Select specific Visit
            Statusresource records to restrict the insurance flow settings.
          input_field_type: integrations_visit_status_selection
        allowedAppointmentTypeIds:
          anyOf:
            - items:
                type: string
                maxLength: 24
                minLength: 24
                pattern: ^[0-9a-f]{24}$
                example: 5eb7cf5a86d9755df3a6c593
              type: array
            - type: 'null'
          title: Allowed Appointment/Visit Types
          description: >-
            List of appointment type resource record ids for which the
            appointment reminder use-case applies.
          input_field_helper_text: >-
            Leave empty to allow all appointment types. Select specific
            appointment type resource records to restrict the appointment
            reminder use-case.
          input_field_type: integrations_appointment_types_selection
        allowedAppointmentTypes:
          items:
            $ref: '#/components/schemas/IntegrationAppointmentTypes'
          type: array
          title: Allowed Appointment Types (Legacy)
          description: >-
            Deprecated legacy appointment type names kept for backwards
            compatibility. TODO: remove after migrating to
            allowedAppointmentTypeIds.
          input_field_not_visible: false
        actions:
          items:
            $ref: '#/components/schemas/UseCasesActionsConfig'
          type: array
          title: Actions
          description: List of actions associated with the use-case
          keep_collapsed: true
      type: object
      title: Appointment Reminder Use Case Configuration
    FinalAppointmentNotificationUseCaseConfig-Input:
      properties:
        displayName:
          anyOf:
            - type: string
            - type: 'null'
          title: Friendly Name
          description: >-
            Friendly name for the use-case. You can change this to better
            identify the use-case.
        assistantId:
          anyOf:
            - type: string
              maxLength: 24
              minLength: 24
              pattern: ^[0-9a-f]{24}$
              example: 5eb7cf5a86d9755df3a6c593
            - type: 'null'
          title: Assistant
          description: ID of the assistant associated with this use-case
          input_field_type: assistant_selection_with_assistant_id
        status:
          $ref: '#/components/schemas/IntegrationStatus'
          description: Current status of the use-case
          default: active
          input_field_helper_text: Select inactive to disable this use-case without deleting it.
        timezone:
          anyOf:
            - type: string
            - type: 'null'
          title: Timezone
          description: Timezone for scheduling and notifications
          input_field_type: timezone
        type:
          type: string
          const: final_appointment_notification
          title: Type
          description: Type of the use-case. Must be 'final_appointment_notification'
          default: final_appointment_notification
          input_field_not_visible: true
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Name
          description: Final notifications for scheduled patient appointments
          default: Final Patients Appointment Notification
          input_field_not_visible: true
        allowedLocations:
          anyOf:
            - items:
                type: string
                maxLength: 24
                minLength: 24
                pattern: ^[0-9a-f]{24}$
                example: 5eb7cf5a86d9755df3a6c593
              type: array
            - type: 'null'
          title: Allowed Locations
          description: >-
            List of location ids for which the final notification should be
            sent.
          input_field_helper_text: >-
            Leave empty to allow all locations. Select specific locations to
            restrict the use-case to those locations only.
          input_field_type: integrations_locations_selection
        allowedPractitioners:
          anyOf:
            - items:
                type: string
                maxLength: 24
                minLength: 24
                pattern: ^[0-9a-f]{24}$
                example: 5eb7cf5a86d9755df3a6c593
              type: array
            - type: 'null'
          title: Allowed Practitioners
          description: >-
            List of practitioner ids for which the final notification should be
            sent.
          input_field_helper_text: >-
            Leave empty to allow all practitioners. Select specific
            practitioners to restrict the use-case to those practitioners only.
          input_field_type: practitioners_selection
        allowedVisitStatuses:
          items:
            $ref: '#/components/schemas/IntegrationAppointmentVisitStatus'
          type: array
          title: Allowed Visit Statuses (Legacy)
          description: >-
            (Legacy) List of visit statuses of the appointments for which the
            final notification should be sent.
          input_field_not_visible: false
        allowedVisitStatusesIds:
          anyOf:
            - items:
                type: string
                maxLength: 24
                minLength: 24
                pattern: ^[0-9a-f]{24}$
                example: 5eb7cf5a86d9755df3a6c593
              type: array
            - type: 'null'
          title: Allowed Visit Status Codes
          description: >-
            List of visit status codes for which the final notification should
            be sent.
          input_field_helper_text: >-
            Leave empty to allow all Visit Statues. Select specific Visit Status
            resource records to restrict the use-case.
          input_field_type: integrations_visit_status_selection
        allowedAppointmentTypeIds:
          anyOf:
            - items:
                type: string
                maxLength: 24
                minLength: 24
                pattern: ^[0-9a-f]{24}$
                example: 5eb7cf5a86d9755df3a6c593
              type: array
            - type: 'null'
          title: Allowed Appointment/Visit Types
          description: >-
            List of appointment type resource record ids for which the final
            notification should be sent.
          input_field_helper_text: >-
            Leave empty to allow all appointment types. Select specific
            appointment type resource records to restrict the use-case.
          input_field_type: integrations_appointment_types_selection
        allowedAppointmentTypes:
          items:
            $ref: '#/components/schemas/IntegrationAppointmentTypes'
          type: array
          title: Allowed Appointment Types (Legacy)
          description: >-
            Deprecated legacy appointment type names kept for backwards
            compatibility. TODO: remove after migrating to
            allowedAppointmentTypeIds.
          input_field_not_visible: false
        actions:
          items:
            $ref: '#/components/schemas/UseCasesActionsConfig'
          type: array
          title: Actions
          description: List of actions associated with the use-case
          keep_collapsed: true
      type: object
      title: Final Appointment Notification Use Case Configuration
    LabReminderUseCaseConfig-Input:
      properties:
        displayName:
          anyOf:
            - type: string
            - type: 'null'
          title: Friendly Name
          description: >-
            Friendly name for the use-case. You can change this to better
            identify the use-case.
        assistantId:
          anyOf:
            - type: string
              maxLength: 24
              minLength: 24
              pattern: ^[0-9a-f]{24}$
              example: 5eb7cf5a86d9755df3a6c593
            - type: 'null'
          title: Assistant
          description: ID of the assistant associated with this use-case
          input_field_type: assistant_selection_with_assistant_id
        status:
          $ref: '#/components/schemas/IntegrationStatus'
          description: Current status of the use-case
          default: active
          input_field_helper_text: Select inactive to disable this use-case without deleting it.
        timezone:
          anyOf:
            - type: string
            - type: 'null'
          title: Timezone
          description: Timezone for scheduling and notifications
          input_field_type: timezone
        type:
          type: string
          const: lab_reminder
          title: Type
          description: Type of the use-case. Must be 'lab_reminder'
          default: lab_reminder
          input_field_not_visible: true
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Name
          description: Notifications for lab results availability
          default: Lab Reminder
          input_field_not_visible: true
        actions:
          items:
            $ref: '#/components/schemas/UseCasesActionsConfig'
          type: array
          title: Actions
          description: List of actions associated with the use-case
      type: object
      title: Lab Reminder Use Case Configuration
    AppointmentSchedulingUseCaseConfig-Input:
      properties:
        displayName:
          anyOf:
            - type: string
            - type: 'null'
          title: Friendly Name
          description: >-
            Friendly name for the use-case. You can change this to better
            identify the use-case.
        assistantId:
          anyOf:
            - type: string
              maxLength: 24
              minLength: 24
              pattern: ^[0-9a-f]{24}$
              example: 5eb7cf5a86d9755df3a6c593
            - type: 'null'
          title: Assistant
          description: ID of the assistant associated with this use-case
          input_field_type: assistant_selection_with_assistant_id
        status:
          $ref: '#/components/schemas/IntegrationStatus'
          description: Current status of the use-case
          default: active
          input_field_helper_text: Select inactive to disable this use-case without deleting it.
        timezone:
          anyOf:
            - type: string
            - type: 'null'
          title: Timezone
          description: Timezone for scheduling and notifications
          input_field_type: timezone
        type:
          type: string
          const: appointment_scheduling
          title: Type
          description: Type of the use-case. Must be 'appointment_scheduling'
          default: appointment_scheduling
          input_field_not_visible: true
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Name
          description: Notifications for appointment scheduling
          default: Appointment Scheduling
          input_field_not_visible: true
        communicationPreference:
          anyOf:
            - $ref: '#/components/schemas/SmsEmailCommunicationPreference'
            - type: 'null'
          title: Communication Preference
          description: >-
            Preferred communication method for appointment scheduling
            notifications.
          input_field_helper_text: >-
            Select how patients should be notified for appointment scheduling.
            Only SMS and Email are supported for this use case.
        insurance_flow_settings:
          anyOf:
            - $ref: '#/components/schemas/IntegrationInsuranceFlowSettings-Input'
            - type: 'null'
          title: Insurance Flow Settings
          description: >-
            Optional configuration for insurance flow settings to be applied
            during appointment scheduling
          keep_collapsed: true
      type: object
      title: Appointment Scheduling Use Case Configuration
    AppointmentCancellationUseCaseConfig-Input:
      properties:
        displayName:
          anyOf:
            - type: string
            - type: 'null'
          title: Friendly Name
          description: >-
            Friendly name for the use-case. You can change this to better
            identify the use-case.
        assistantId:
          anyOf:
            - type: string
              maxLength: 24
              minLength: 24
              pattern: ^[0-9a-f]{24}$
              example: 5eb7cf5a86d9755df3a6c593
            - type: 'null'
          title: Assistant
          description: ID of the assistant associated with this use-case
          input_field_type: assistant_selection_with_assistant_id
        status:
          $ref: '#/components/schemas/IntegrationStatus'
          description: Current status of the use-case
          default: active
          input_field_helper_text: Select inactive to disable this use-case without deleting it.
        timezone:
          anyOf:
            - type: string
            - type: 'null'
          title: Timezone
          description: Timezone for scheduling and notifications
          input_field_type: timezone
        type:
          type: string
          const: appointment_cancellation
          title: Type
          description: Type of the use-case. Must be 'appointment_cancellation'
          default: appointment_cancellation
          input_field_not_visible: true
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Name
          description: Notifications for appointment cancellation
          default: Appointment Cancellation
          input_field_not_visible: true
        communicationPreference:
          anyOf:
            - $ref: '#/components/schemas/SmsEmailCommunicationPreference'
            - type: 'null'
          title: Communication Preference
          description: >-
            Preferred communication method for appointment cancellation
            notifications.
          input_field_helper_text: >-
            Select how patients should be notified for appointment
            cancellations. Only SMS and Email are supported for this use case.
      type: object
      title: Appointment Cancellation Use Case Configuration
    AppointmentReschedulingUseCaseConfig-Input:
      properties:
        displayName:
          anyOf:
            - type: string
            - type: 'null'
          title: Friendly Name
          description: >-
            Friendly name for the use-case. You can change this to better
            identify the use-case.
        assistantId:
          anyOf:
            - type: string
              maxLength: 24
              minLength: 24
              pattern: ^[0-9a-f]{24}$
              example: 5eb7cf5a86d9755df3a6c593
            - type: 'null'
          title: Assistant
          description: ID of the assistant associated with this use-case
          input_field_type: assistant_selection_with_assistant_id
        status:
          $ref: '#/components/schemas/IntegrationStatus'
          description: Current status of the use-case
          default: active
          input_field_helper_text: Select inactive to disable this use-case without deleting it.
        timezone:
          anyOf:
            - type: string
            - type: 'null'
          title: Timezone
          description: Timezone for scheduling and notifications
          input_field_type: timezone
        type:
          type: string
          const: appointment_rescheduling
          title: Type
          description: Type of the use-case. Must be 'appointment_rescheduling'
          default: appointment_rescheduling
          input_field_not_visible: true
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Name
          description: Notifications for appointment rescheduling
          default: Appointment Rescheduling
          input_field_not_visible: true
        communicationPreference:
          anyOf:
            - $ref: '#/components/schemas/SmsEmailCommunicationPreference'
            - type: 'null'
          title: Communication Preference
          description: >-
            Preferred communication method for appointment rescheduling
            notifications.
          input_field_helper_text: >-
            Select how patients should be notified for appointment rescheduling.
            Only SMS and Email are supported for this use case.
      type: object
      title: Appointment Rescheduling Use Case Configuration
    AppointmentSchedulingWithWaitlistUseCaseConfig-Input:
      properties:
        displayName:
          anyOf:
            - type: string
            - type: 'null'
          title: Friendly Name
          description: >-
            Friendly name for the use-case. You can change this to better
            identify the use-case.
        assistantId:
          anyOf:
            - type: string
              maxLength: 24
              minLength: 24
              pattern: ^[0-9a-f]{24}$
              example: 5eb7cf5a86d9755df3a6c593
            - type: 'null'
          title: Assistant
          description: ID of the assistant associated with this use-case
          input_field_type: assistant_selection_with_assistant_id
        status:
          $ref: '#/components/schemas/IntegrationStatus'
          description: Current status of the use-case
          default: active
          input_field_helper_text: Select inactive to disable this use-case without deleting it.
        timezone:
          anyOf:
            - type: string
            - type: 'null'
          title: Timezone
          description: Timezone for scheduling and notifications
          input_field_type: timezone
        type:
          type: string
          const: appointment_scheduling_with_waitlist
          title: Type
          description: Type of the use-case. Must be 'appointment_scheduling_with_waitlist'
          default: appointment_scheduling_with_waitlist
          input_field_not_visible: true
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Name
          description: Notifications for appointment scheduling with waitlist
          default: Appointment Scheduling with Waitlist
          input_field_not_visible: true
      type: object
      title: Appointment Scheduling With Waitlist Use Case Configuration
    MedicationRefillUseCaseConfig-Input:
      properties:
        displayName:
          anyOf:
            - type: string
            - type: 'null'
          title: Friendly Name
          description: >-
            Friendly name for the use-case. You can change this to better
            identify the use-case.
        assistantId:
          anyOf:
            - type: string
              maxLength: 24
              minLength: 24
              pattern: ^[0-9a-f]{24}$
              example: 5eb7cf5a86d9755df3a6c593
            - type: 'null'
          title: Assistant
          description: ID of the assistant associated with this use-case
          input_field_type: assistant_selection_with_assistant_id
        status:
          $ref: '#/components/schemas/IntegrationStatus'
          description: Current status of the use-case
          default: active
          input_field_helper_text: Select inactive to disable this use-case without deleting it.
        timezone:
          anyOf:
            - type: string
            - type: 'null'
          title: Timezone
          description: Timezone for scheduling and notifications
          input_field_type: timezone
        type:
          type: string
          const: medication_refill
          title: Type
          description: Type of the use-case. Must be 'medication_refill'
          default: medication_refill
          input_field_not_visible: true
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Name
          description: Medication refills
          default: Medication Refill
          input_field_not_visible: true
      type: object
      title: Medication Refill Use Case Configuration
    InvoiceBillingUseCaseConfig-Input:
      properties:
        displayName:
          anyOf:
            - type: string
            - type: 'null'
          title: Friendly Name
          description: >-
            Friendly name for the use-case. You can change this to better
            identify the use-case.
        assistantId:
          anyOf:
            - type: string
              maxLength: 24
              minLength: 24
              pattern: ^[0-9a-f]{24}$
              example: 5eb7cf5a86d9755df3a6c593
            - type: 'null'
          title: Assistant
          description: ID of the assistant associated with this use-case
          input_field_type: assistant_selection_with_assistant_id
        status:
          $ref: '#/components/schemas/IntegrationStatus'
          description: Current status of the use-case
          default: active
          input_field_helper_text: Select inactive to disable this use-case without deleting it.
        timezone:
          anyOf:
            - type: string
            - type: 'null'
          title: Timezone
          description: Timezone for scheduling and notifications
          input_field_type: timezone
        type:
          type: string
          const: invoice_enquiry
          title: Type
          description: Type of the use-case. Must be 'invoice_enquiry'
          default: invoice_enquiry
          input_field_not_visible: true
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Name
          description: Invoice and billing notifications
          default: Invoice Billing
          input_field_not_visible: true
      type: object
      title: Invoice Billing Use Case Configuration
    WebSchedulingUseCaseConfig-Input:
      properties:
        displayName:
          anyOf:
            - type: string
            - type: 'null'
          title: Friendly Name
          description: >-
            Friendly name for the use-case. You can change this to better
            identify the use-case.
        assistantId:
          anyOf:
            - type: string
              maxLength: 24
              minLength: 24
              pattern: ^[0-9a-f]{24}$
              example: 5eb7cf5a86d9755df3a6c593
            - type: 'null'
          title: Assistant
          description: ID of the assistant associated with this use-case
          input_field_type: assistant_selection_with_assistant_id
        status:
          $ref: '#/components/schemas/IntegrationStatus'
          description: Current status of the use-case
          default: active
          input_field_helper_text: Select inactive to disable this use-case without deleting it.
        timezone:
          anyOf:
            - type: string
            - type: 'null'
          title: Timezone
          description: Timezone for scheduling and notifications
          input_field_type: timezone
        type:
          type: string
          const: web_scheduling
          title: Type
          description: Type of the use-case. Must be 'web_scheduling'
          default: web_scheduling
          input_field_not_visible: true
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Name
          description: Web scheduling for patient appointments
          default: Web Scheduling
          input_field_not_visible: true
        start_offset_days:
          type: integer
          minimum: 0
          title: Start Offset Days
          description: >-
            Number of days to offset the first available appointment shown to
            patients
          default: 0
        disclaimer_message:
          type: string
          title: Disclaimer Message
          description: >-
            Disclaimer displayed alongside the scheduling experience to guide
            patients
          default: ''
        redirect_url:
          type: string
          title: Redirect URL
          description: URL, patient is redirected if he/she is an existing patient
          default: ''
          keep_collapsed: true
        insurance_flow_settings:
          anyOf:
            - $ref: '#/components/schemas/IntegrationInsuranceFlowSettings-Input'
            - type: 'null'
          title: Insurance Flow Settings
          description: >-
            Optional configuration for insurance flow settings to be applied
            during web scheduling
          keep_collapsed: true
      type: object
      title: Web Scheduling Use Case Configuration
    InsuranceReminderUseCaseConfig-Input:
      properties:
        displayName:
          anyOf:
            - type: string
            - type: 'null'
          title: Friendly Name
          description: >-
            Friendly name for the use-case. You can change this to better
            identify the use-case.
        assistantId:
          anyOf:
            - type: string
              maxLength: 24
              minLength: 24
              pattern: ^[0-9a-f]{24}$
              example: 5eb7cf5a86d9755df3a6c593
            - type: 'null'
          title: Assistant
          description: ID of the assistant associated with this use-case
          input_field_type: assistant_selection_with_assistant_id
        status:
          $ref: '#/components/schemas/IntegrationStatus'
          description: Current status of the use-case
          default: active
          input_field_helper_text: Select inactive to disable this use-case without deleting it.
        timezone:
          anyOf:
            - type: string
            - type: 'null'
          title: Timezone
          description: Timezone for scheduling and notifications
          input_field_type: timezone
        type:
          type: string
          const: insurance_reminder
          title: Type
          description: Type of the use-case. Must be 'insurance_reminder'
          default: insurance_reminder
          input_field_not_visible: true
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Name
          description: Reminding patients about insurance
          default: Insurance Reminder
          input_field_not_visible: true
        allowedVisitStatuses:
          items:
            $ref: '#/components/schemas/IntegrationAppointmentVisitStatus'
          type: array
          title: Allowed Visit Statuses (Legacy)
          description: >-
            (Legacy) List of visit statuses of the appointments for which the
            insurance reminder use-case applies.
          input_field_not_visible: false
        allowedVisitStatusesIds:
          anyOf:
            - items:
                type: string
                maxLength: 24
                minLength: 24
                pattern: ^[0-9a-f]{24}$
                example: 5eb7cf5a86d9755df3a6c593
              type: array
            - type: 'null'
          title: Allowed Visit Status Codes
          description: >-
            List of visit status codes for which the insurance reminder use-case
            applies..
          input_field_helper_text: >-
            Leave empty to allow all Visit Statuses. Select specific Visit
            Status resource records to restrict the insurance flow settings.
          input_field_type: integrations_visit_status_selection
        allowedAppointmentTypeIds:
          anyOf:
            - items:
                type: string
                maxLength: 24
                minLength: 24
                pattern: ^[0-9a-f]{24}$
                example: 5eb7cf5a86d9755df3a6c593
              type: array
            - type: 'null'
          title: Allowed Appointment/Visit Types
          description: >-
            List of appointment type resource record ids for which the final
            notification should be sent.
          input_field_helper_text: >-
            Leave empty to allow all appointment types. Select specific
            appointment type resource records to restrict the use-case.
          input_field_type: integrations_appointment_types_selection
        allowedAppointmentTypes:
          items:
            $ref: '#/components/schemas/IntegrationAppointmentTypes'
          type: array
          title: Allowed Appointment Types (Legacy)
          description: >-
            Deprecated legacy appointment type names kept for backwards
            compatibility. TODO: remove after migrating to
            allowedAppointmentTypeIds.
          input_field_not_visible: false
        actions:
          items:
            $ref: '#/components/schemas/UseCasesActionsConfig'
          type: array
          title: Actions
          description: List of actions associated with the use-case
          keep_collapsed: true
      type: object
      title: Insurance Reminder Use Case Configuration
    AppointmentEnquiryUseCaseConfig-Input:
      properties:
        displayName:
          anyOf:
            - type: string
            - type: 'null'
          title: Friendly Name
          description: >-
            Friendly name for the use-case. You can change this to better
            identify the use-case.
        assistantId:
          anyOf:
            - type: string
              maxLength: 24
              minLength: 24
              pattern: ^[0-9a-f]{24}$
              example: 5eb7cf5a86d9755df3a6c593
            - type: 'null'
          title: Assistant
          description: ID of the assistant associated with this use-case
          input_field_type: assistant_selection_with_assistant_id
        status:
          $ref: '#/components/schemas/IntegrationStatus'
          description: Current status of the use-case
          default: active
          input_field_helper_text: Select inactive to disable this use-case without deleting it.
        timezone:
          anyOf:
            - type: string
            - type: 'null'
          title: Timezone
          description: Timezone for scheduling and notifications
          input_field_type: timezone
        type:
          type: string
          const: appointment_enquiry
          title: Type
          description: Type of the use-case. Must be 'appointment_enquiry'
          default: appointment_enquiry
          input_field_not_visible: true
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Name
          description: Notifications for appointment enquiry
          default: Appointment Enquiry
          input_field_not_visible: true
      type: object
      title: Appointment Enquiry Use Case Configuration
    IntegrationsUseCasesModel:
      properties:
        teamId:
          anyOf:
            - type: string
              example: 5eb7cf5a86d9755df3a6c593
            - type: 'null'
          title: Teamid
          description: ID of the team that owns this record
        createdBy:
          anyOf:
            - type: string
              example: 5eb7cf5a86d9755df3a6c593
            - type: 'null'
          title: Createdby
          description: ID of the user who created this record
        updatedBy:
          anyOf:
            - type: string
              example: 5eb7cf5a86d9755df3a6c593
            - type: 'null'
          title: Updatedby
          description: ID of the user who last updated this record
        createdAt:
          type: string
          format: date-time
          title: Createdat
        updatedAt:
          type: string
          format: date-time
          title: Updatedat
        _id:
          anyOf:
            - type: string
              example: 5eb7cf5a86d9755df3a6c593
            - type: 'null'
          title: Id
          description: MongoDB document ObjectID
        logicalId:
          anyOf:
            - type: string
            - type: 'null'
          title: Logical ID
          description: Unique identifier for the integration use-case
        integrationId:
          anyOf:
            - type: string
              example: 5eb7cf5a86d9755df3a6c593
            - type: 'null'
          title: Integration ID
          description: Reference to the associated integration
        schedulerNames:
          items:
            type: string
          type: array
          title: Schedulernames
          description: List of associated scheduler names
        config:
          anyOf:
            - oneOf:
                - $ref: >-
                    #/components/schemas/AppointmentReminderWithSheetUseCaseConfig-Output
                - $ref: >-
                    #/components/schemas/LabReminderWithSheetUseCaseConfig-Output
                - $ref: '#/components/schemas/AppointmentReminderUseCaseConfig-Output'
                - $ref: >-
                    #/components/schemas/FinalAppointmentNotificationUseCaseConfig-Output
                - $ref: '#/components/schemas/LabReminderUseCaseConfig-Output'
                - $ref: >-
                    #/components/schemas/AppointmentSchedulingUseCaseConfig-Output
                - $ref: >-
                    #/components/schemas/AppointmentCancellationUseCaseConfig-Output
                - $ref: >-
                    #/components/schemas/AppointmentReschedulingUseCaseConfig-Output
                - $ref: >-
                    #/components/schemas/AppointmentSchedulingWithWaitlistUseCaseConfig-Output
                - $ref: '#/components/schemas/MedicationRefillUseCaseConfig-Output'
                - $ref: '#/components/schemas/InvoiceBillingUseCaseConfig-Output'
                - $ref: '#/components/schemas/WebSchedulingUseCaseConfig-Output'
                - $ref: '#/components/schemas/InsuranceReminderUseCaseConfig-Output'
                - $ref: '#/components/schemas/AppointmentEnquiryUseCaseConfig-Output'
              discriminator:
                propertyName: type
                mapping:
                  appointment_cancellation:
                    $ref: >-
                      #/components/schemas/AppointmentCancellationUseCaseConfig-Output
                  appointment_enquiry:
                    $ref: >-
                      #/components/schemas/AppointmentEnquiryUseCaseConfig-Output
                  appointment_reminder:
                    $ref: >-
                      #/components/schemas/AppointmentReminderUseCaseConfig-Output
                  appointment_reminder_with_sheet:
                    $ref: >-
                      #/components/schemas/AppointmentReminderWithSheetUseCaseConfig-Output
                  appointment_rescheduling:
                    $ref: >-
                      #/components/schemas/AppointmentReschedulingUseCaseConfig-Output
                  appointment_scheduling:
                    $ref: >-
                      #/components/schemas/AppointmentSchedulingUseCaseConfig-Output
                  appointment_scheduling_with_waitlist:
                    $ref: >-
                      #/components/schemas/AppointmentSchedulingWithWaitlistUseCaseConfig-Output
                  final_appointment_notification:
                    $ref: >-
                      #/components/schemas/FinalAppointmentNotificationUseCaseConfig-Output
                  insurance_reminder:
                    $ref: '#/components/schemas/InsuranceReminderUseCaseConfig-Output'
                  invoice_enquiry:
                    $ref: '#/components/schemas/InvoiceBillingUseCaseConfig-Output'
                  lab_reminder:
                    $ref: '#/components/schemas/LabReminderUseCaseConfig-Output'
                  lab_reminder_with_sheet:
                    $ref: >-
                      #/components/schemas/LabReminderWithSheetUseCaseConfig-Output
                  medication_refill:
                    $ref: '#/components/schemas/MedicationRefillUseCaseConfig-Output'
                  web_scheduling:
                    $ref: '#/components/schemas/WebSchedulingUseCaseConfig-Output'
            - type: 'null'
          title: Config
          description: type-specific configuration schema determined by 'type'.
      type: object
      title: IntegrationsUseCasesModel
      description: Main integration model holding configuration and audit details.
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
    IntegrationStatus:
      type: string
      enum:
        - active
        - inactive
      title: Status
      description: Represents whether the integration is active or inactive.
      x-enumTitles:
        active: Active
        inactive: Inactive
    UseCasesActionsConfig:
      properties:
        logicalId:
          anyOf:
            - type: string
            - type: 'null'
          title: Logical ID
          description: Unique identifier for the use case action
          input_field_not_visible: true
        templateName:
          anyOf:
            - type: string
            - type: 'null'
          title: Template Name
          description: Name of the template used for the action
        communicationPreference:
          anyOf:
            - $ref: '#/components/schemas/IntegrationUseCaseCommunicationPreference'
            - type: 'null'
          title: Communication Preference
          description: >-
            Preferred communication method for the action. This is used to
            determine the best way to communicate with the patient based on
            their preferences and the use-case requirements.
          input_field_helper_text: >-
            Select the preferred communication method for this action. This will
            help ensure that notifications are sent in a way that aligns with
            patient preferences and use-case needs.
        context:
          anyOf:
            - type: string
            - type: 'null'
          title: Action Context
          description: Contextual information for the action
        reportEmails:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: Emails for sending reports
          description: List of email addresses to send the reports to
        daysWindow:
          anyOf:
            - type: integer
            - type: 'null'
          title: Days Window
          description: Number of days in advance to check for the action
          default: 7
        status:
          anyOf:
            - $ref: '#/components/schemas/IntegrationStatus'
            - type: 'null'
          title: Status
          description: >-
            Current status of the use-case action. Setting this to inactive will
            disable the action without deleting it.
          default: active
          input_field_helper_text: Select inactive to disable this use-case action without deleting it.
        schedule:
          anyOf:
            - oneOf:
                - $ref: '#/components/schemas/OneTimeTriggerRule'
                - $ref: '#/components/schemas/DaysTriggerRule'
              discriminator:
                propertyName: field
                mapping:
                  days:
                    $ref: '#/components/schemas/DaysTriggerRule'
                  oneTime:
                    $ref: '#/components/schemas/OneTimeTriggerRule'
            - type: 'null'
          title: Action Schedule
          description: You can schedule actions to run at specific times or intervals.
      type: object
      title: Use Case Action
      description: Configuration for actions within use-cases.
      keep_collapsed: true
    IntegrationAppointmentVisitStatus:
      type: string
      enum:
        - ANSPH
        - ARR
        - ARR-W
        - AUTH-DEN
        - AUTHPEN
        - CHK
        - CONF
        - CONFPHONE
        - CONFSMS
        - FAILEDMSG
        - healowARR
        - HLW
        - HOSP-CHK
        - InsRefPend
        - KAREN
        - NEED INS
        - PEN
        - PEN_PAY
        - POST-ARRIV
        - POST-CHK
        - POST-CONF
        - POST-PEND
        - POST-VERIF
        - Rad_CONF
        - Rad_VER
        - SUR
        - U_CheckOut
        - VER
        - VOICEMSG
        - WaitList
        - XXAUIG_EST
        - XXBOT PEN2
        - XXBotFail
        - XXBotPend
        - XXBotVerif
        - XXLegacy
        - ZZBotFail
        - ZZBotVerif
        - ASC-CLINIC
        - ASC-FIN
        - ASC-PROV
        - ASC-READY
        - ASC-RECOV
        - ASC-RET
        - BK-LOG-CX
        - BK-LOG-FU
        - BK-LOG-LVM
        - BK-LOG-R/S
        - BK-LOG-SCH
        - CANC
        - CANC-AUNRC
        - CANC-CB
        - CANC-CD
        - CANC-CNR
        - CANC-DEC
        - CANC-DNC
        - CANC-ERR
        - CANC-FIN
        - CANC-HLTH
        - CANC-INS
        - CANC-MOASC
        - CANC-MOCL
        - CANC-MOHOS
        - CANC-NORES
        - CANC-PENNR
        - CANC-PQ
        - CANC-PROV
        - CANC-PTNO
        - CANC-REF
        - CANC-SW
        - CANC-TRAN
        - CANC_CAV
        - CANC_CRL
        - CANCPHONE
        - CANCSC
        - CANCSMS
        - COVID 19
        - CX-HOSP
        - CX-NO-RESP
        - DBL
        - ERROR
        - HOSNeedsRS
        - HOSP-SCHED
        - HOSP_RETEN
        - IMS
        - Lab Done
        - N/S
        - NEED R/S
        - R/S
        - R/S ATHNRC
        - R/S CLEAR
        - R/S ERROR
        - R/S HEALTH
        - R/S PROV
        - R/S QUEST
        - R/S SCHE
        - R/S TRANS
        - R/S-CD
        - R/S-FIN
        - Resch AHS
        - RSPHONE
        - Stedi Pend
        - Walk-Out
      title: IntegrationAppointmentVisitStatus
      description: Defines appointment visit status options for integration
      x-enumTitles:
        ANSPH: ANSPH (Voice)
        ARR: ARR (Check-In)
        ARR-W: ARR-W (Arrived (Waiting for Paperwork))
        ASC-CLINIC: ASC-CLINIC (ASC-Clinical F/U Needed)
        ASC-FIN: ASC-FIN (ASC-Financial F/U Needed)
        ASC-PROV: ASC-PROV (ASC-Provider F/U Needed)
        ASC-READY: ASC-READY (ASC-Ready to R/S)
        ASC-RECOV: ASC-RECOV (ASC-Recovered)
        ASC-RET: ASC-RET (ASC-RETENTION)
        AUTH-DEN: AUTH-DEN (Ins_Auth_Denied)
        AUTHPEN: AUTHPEN (Auth Pending)
        BK-LOG-CX: BK-LOG-CX (Back Logged Canceled)
        BK-LOG-FU: BK-LOG-FU (Back Logged F/U)
        BK-LOG-LVM: BK-LOG-LVM (Back Logged Left Message)
        BK-LOG-R/S: BK-LOG-R/S (Back Logged R/S)
        BK-LOG-SCH: BK-LOG-SCH (Back Log - Scheduled)
        CANC: CANC (CX-Other)
        CANC-AUNRC: CANC-AUNRC (CX-Authorization Not Received)
        CANC-CB: CANC-CB (CX-Condition Better)
        CANC-CD: CANC-CD (CX-Clearance Denied)
        CANC-CNR: CANC-CNR (CX-Clearance Not Received)
        CANC-DEC: CANC-DEC (CX-Patient Deceased)
        CANC-DNC: CANC-DNC (CX-DNC)
        CANC-ERR: CANC-ERR (CX-Error)
        CANC-FIN: CANC-FIN (CX-Financial)
        CANC-HLTH: CANC-HLTH (CX-Health)
        CANC-INS: CANC-INS (CX-Insurance)
        CANC-MOASC: CANC-MOASC (CX-Moved to ASC)
        CANC-MOCL: CANC-MOCL (CX-Moved to Clinic)
        CANC-MOHOS: CANC-MOHOS (CX-Moved to Hospital)
        CANC-NORES: CANC-NORES (CX-No Response)
        CANC-PENNR: CANC-PENNR (CANC-PENNR)
        CANC-PQ: CANC-PQ (CX-Patient Questions/Unsur)
        CANC-PROV: CANC-PROV (CX-Provider Request)
        CANC-PTNO: CANC-PTNO (CX-Patient No Longer Wants)
        CANC-REF: CANC-REF (CX-Refused to State Reason)
        CANC-SW: CANC-SW (CX-Switching Care)
        CANC-TRAN: CANC-TRAN (CX-Transportation)
        CANCPHONE: CANCPHONE (CX-Voice)
        CANCSC: CANCSC (CX-Scheduling Conflict)
        CANCSMS: CANCSMS (CX-Voice)
        CANC_CAV: CANC_CAV (CX_Clearance Availability)
        CANC_CRL: CANC_CRL (CX_Clearance Req Late)
        CHK: CHK (Check Out)
        CONF: CONF (Confirmed)
        CONFPHONE: CONFPHONE (Voice)
        CONFSMS: CONFSMS (Voice)
        COVID 19: COVID 19 (CX-COVID)
        CX-HOSP: CX-HOSP (CanceledHosp)
        CX-NO-RESP: CX-NO-RESP (CX-No Response)
        DBL: DBL (DOUBLE APPOINTMENT)
        ERROR: ERROR (ERROR)
        FAILEDMSG: FAILEDMSG (Voice)
        HLW: HLW (Healow)
        HOSNeedsRS: HOSNeedsRS (HOSP Needs R/S)
        HOSP-CHK: HOSP-CHK (HOS-COMPLETE)
        HOSP-SCHED: HOSP-SCHED (HOSP-SCHEDULED)
        HOSP_RETEN: HOSP_RETEN (HospitalRetention)
        IMS: IMS (IMS ENCOUNTER)
        InsRefPend: InsRefPend (Ins Ref Pend)
        KAREN: KAREN (Waiting for Financial)
        Lab Done: Lab Done (LAB)
        N/S: N/S (No-Show)
        NEED INS: NEED INS (NEED INSURANCE)
        NEED R/S: NEED R/S (Needs Rescheduled)
        PEN: PEN (Pending)
        PEN_PAY: PEN_PAY (Pending Payment(OA))
        POST-ARRIV: POST-ARRIV (POST-ARRIVED)
        POST-CHK: POST-CHK (POST-CHECK OUT)
        POST-CONF: POST-CONF (POST-CONFIRMED)
        POST-PEND: POST-PEND (POST-PENDING)
        POST-VERIF: POST-VERIF (POST-VERIFY)
        R/S: R/S (R/S-Other)
        R/S ATHNRC: R/S ATHNRC (R/S-Authorization not received)
        R/S CLEAR: R/S CLEAR (R/S-Clearance not received)
        R/S ERROR: R/S ERROR (R/S-Error)
        R/S HEALTH: R/S HEALTH (R/S-Health)
        R/S PROV: R/S PROV (R/S-Provider Request)
        R/S QUEST: R/S QUEST (R/S-Pt Questions)
        R/S SCHE: R/S SCHE (R/S-Scheduling Conflict)
        R/S TRANS: R/S TRANS (R/S-Transportation)
        R/S-CD: R/S-CD (R/S-Clearance Denied)
        R/S-FIN: R/S-FIN (R/S-Financial)
        RSPHONE: RSPHONE (R/S-Voice)
        Rad_CONF: Rad_CONF (Authorization completed)
        Rad_VER: Rad_VER (Verification Complete)
        Resch AHS: Resch AHS (R/S-Rescheduled per AHS)
        SUR: SUR (Surgery)
        Stedi Pend: Stedi Pend (Stedi EBV search)
        U_CheckOut: U_CheckOut (U_Checked_Out)
        VER: VER (Verified)
        VOICEMSG: VOICEMSG (Voice)
        WaitList: WaitList (WaitList)
        Walk-Out: Walk-Out (Walk Out)
        XXAUIG_EST: XXAUIG_EST (XX AUIG East)
        XXBOT PEN2: XXBOT PEN2 (XX Bot Pending#2)
        XXBotFail: XXBotFail (XXBotFailed)
        XXBotPend: XXBotPend (XXBotPend)
        XXBotVerif: XXBotVerif (XXBotVerified)
        XXLegacy: XXLegacy (XX Legacy TIN Plan)
        ZZBotFail: ZZBotFail (ZZBotFailed)
        ZZBotVerif: ZZBotVerif (ZZBotVerified)
        healowARR: healowARR (I have Arrived)
    IntegrationAppointmentTypes:
      type: string
      enum:
        - NP
        - F/U
        - ASC_FU
        - FU Tele
        - PROCEDURE
        - PROV_USE
        - RAP_ACCESS
        - MEDICARE PHYSICAL
        - PHYSICAL EXAM
        - WELCOME TO MEDICARE PHYSICAL
        - NEW PATIENT
        - FOLLOW-UP
        - HMO FOLLOW UP
        - PREVENTATIVE FOLLOW-UP WELLNES
        - TELEHEALTH
      title: IntegrationAppointmentTypes
      description: >-
        Deprecated legacy appointment type enum kept only for backwards
        compatibility with older documents.
      x-enumTitles:
        ASC_FU: ASC F/U
        F/U: F/U
        FOLLOW-UP: Follow-Up
        FU Tele: FU Tele
        HMO FOLLOW UP: HMO Follow-Up
        MEDICARE PHYSICAL: Medicare Physical
        NEW PATIENT: New Patient
        NP: NP
        PHYSICAL EXAM: Physical Exam
        PREVENTATIVE FOLLOW-UP WELLNES: Preventative Wellness
        PROCEDURE: Procedure
        PROV_USE: Provider Use
        RAP_ACCESS: RAP Access
        TELEHEALTH: Telehealth
        WELCOME TO MEDICARE PHYSICAL: Welcome to Medicare Physical
    SmsEmailCommunicationPreference:
      type: string
      enum:
        - sms
        - email
        - sms_and_email
        - sms_or_email
      title: Communication Preference
      description: SMS and Email communication preferences only (no call).
      x-enumTitles:
        email: Email
        sms: SMS
        sms_and_email: SMS and Email
        sms_or_email: SMS or Email
    IntegrationInsuranceFlowSettings-Input:
      properties:
        status:
          $ref: '#/components/schemas/IntegrationStatus'
          description: Status of the insurance flow
          default: inactive
          input_field_helper_text: Select inactive to disable this insurance flow without deleting it.
        patient_types:
          items:
            $ref: '#/components/schemas/IntegrationPatientTypes'
          type: array
          title: Patient Types
          description: List of patient types that this insurance flow settings applies to
          default:
            - new_patient
          input_field_helper_text: >-
            Select the patient types that this insurance flow settings should be
            applied to.
        verification_phase:
          anyOf:
            - $ref: '#/components/schemas/IntegrationInsuranceVerificationPhase'
            - type: 'null'
          title: Verification Phase
          description: Phase of the insurance flow that this configuration applies to
          default: before_appointment
          input_field_helper_text: >-
            Specify the phase of the insurance flow that this configuration
            should handle.
        upload_insurance_cards:
          anyOf:
            - $ref: '#/components/schemas/IntegrationStatus'
            - type: 'null'
          title: Upload Insurance Cards to EHR
          description: >-
            Whether to upload insurance cards to the EHR. If set to inactive,
            insurance cards will not be uploaded.
          default: active
          input_field_helper_text: >-
            Select inactive to not upload insurance cards. If active, the system
            will upload insurance cards to the EHR.
        do_stedi_verification:
          anyOf:
            - $ref: '#/components/schemas/IntegrationStatus'
            - type: 'null'
          title: Do Stedi Verification
          description: >-
            Whether to perform insurance verification through Stedi. If set to
            inactive, insurance verification will be skipped.
          default: active
          input_field_helper_text: >-
            Select inactive to skip insurance verification through Stedi. If
            active, the system will perform insurance verification using Stedi's
            services.
        is_stedi_sandbox:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Stedi Is Sandbox
          description: >-
            Whether to use the Stedi sandbox environment (test API key) instead
            of production for eligibility checks. Turn off for production use.
          default: false
          input_field_helper_text: >-
            Enable to route Stedi verification calls through the sandbox
            environment. Useful for testing without affecting production
            billing.
        stedi_npi_source:
          anyOf:
            - $ref: '#/components/schemas/IntegrationStediNpiSource'
            - type: 'null'
          title: Stedi NPI Source
          description: >-
            Which NPI to send to Stedi for eligibility checks. Group NPI uses
            the organization NPI configured on the integration; Provider NPI
            uses the rendering practitioner's NPI.
          default: group_npi
          input_field_helper_text: >-
            Select Group NPI to use the organization-level NPI from the
            integration. Select Provider NPI to use the practitioner's NPI;
            falls back to the group NPI if the practitioner has no NPI on file.
        update_result_on:
          items:
            $ref: '#/components/schemas/IntegrationInsuranceUpdateResultOn'
          type: array
          title: Update Billing Notes to EHR
          description: >-
            List of insurance flow events that should trigger an update to the
            insurance information to billing notes section in the EHR. Empty
            list means insurance information will not be updated to billing
            notes.
          default:
            - on_failure
            - on_success
          input_field_helper_text: >-
            Leave empty to not update billing notes. Select specific events to
            update billing notes for those events.
        upload_stedi_responses:
          items:
            $ref: '#/components/schemas/IntegrationInsuranceUploadStediResponseOn'
          type: array
          title: Upload Stedi Responses to EHR
          description: >-
            List of insurance flow events that should trigger an upload of Stedi
            responses to the EHR. Empty list means no Stedi responses will be
            uploaded.
          default:
            - on_failure
            - on_success
          input_field_helper_text: >-
            Leave empty to not upload Stedi responses. Select specific events to
            upload Stedi responses for those events.
        failure_reminder:
          anyOf:
            - $ref: '#/components/schemas/IntegrationInsuranceFailureReminder'
            - type: 'null'
          title: Failure Reminder
          description: >-
            Configuration for sending reminders when insurance verification
            fails
          default: no_reminders
        allowed_visit_statuses:
          items:
            $ref: '#/components/schemas/IntegrationAppointmentVisitStatus'
          type: array
          title: Allowed Visit Statuses (Legacy)
          description: >-
            (Legacy) List of visit statuses of the appointments for which the
            insurance flow settings should be applied.
          input_field_not_visible: false
        allowed_visit_statuses_ids:
          anyOf:
            - items:
                type: string
                maxLength: 24
                minLength: 24
                pattern: ^[0-9a-f]{24}$
                example: 5eb7cf5a86d9755df3a6c593
              type: array
            - type: 'null'
          title: Allowed Visit Status Codes
          description: >-
            List of visit status codes for which the insurance flow settings
            should be applied.
          input_field_helper_text: >-
            Leave empty to allow all Visit Statuses. Select specific Visit
            Statusresource records to restrict the insurance flow settings.
          input_field_type: integrations_visit_status_selection
        allowed_appointment_type_ids:
          anyOf:
            - items:
                type: string
                maxLength: 24
                minLength: 24
                pattern: ^[0-9a-f]{24}$
                example: 5eb7cf5a86d9755df3a6c593
              type: array
            - type: 'null'
          title: Allowed Appointment/Visit Types
          description: >-
            List of appointment type resource record ids for which the insurance
            flow settings should be applied.
          input_field_helper_text: >-
            Leave empty to allow all appointment types. Select specific
            appointment type resource records to restrict the insurance flow
            settings.
          input_field_type: integrations_appointment_types_selection
        allowed_appointment_types:
          items:
            $ref: '#/components/schemas/IntegrationAppointmentTypes'
          type: array
          title: Allowed Appointment Types (Legacy)
          description: >-
            Deprecated legacy appointment type names kept for backwards
            compatibility. TODO: remove after migrating to
            allowed_appointment_type_ids.
          input_field_not_visible: false
        allowed_locations:
          anyOf:
            - items:
                type: string
                maxLength: 24
                minLength: 24
                pattern: ^[0-9a-f]{24}$
                example: 5eb7cf5a86d9755df3a6c593
              type: array
            - type: 'null'
          title: Allowed Locations
          description: List of location ids for which the insurance flow settings apply.
          input_field_helper_text: >-
            Leave empty to allow all locations. Select specific locations to
            restrict the insurance flow settings to those locations only.
          input_field_type: integrations_locations_selection
        allowed_practitioners:
          anyOf:
            - items:
                type: string
                maxLength: 24
                minLength: 24
                pattern: ^[0-9a-f]{24}$
                example: 5eb7cf5a86d9755df3a6c593
              type: array
            - type: 'null'
          title: Allowed Practitioners
          description: >-
            List of practitioner ids for which the insurance flow settings
            apply.
          input_field_helper_text: >-
            Leave empty to allow all practitioners. Select specific
            practitioners to restrict the insurance flow settings to those
            practitioners only.
          input_field_type: practitioners_selection
      type: object
      title: IntegrationInsuranceFlowSettings
    AppointmentReminderWithSheetUseCaseConfig-Output:
      properties:
        displayName:
          anyOf:
            - type: string
            - type: 'null'
          title: Friendly Name
          description: >-
            Friendly name for the use-case. You can change this to better
            identify the use-case.
        assistantId:
          anyOf:
            - type: string
              example: 5eb7cf5a86d9755df3a6c593
            - type: 'null'
          title: Assistant
          description: ID of the assistant associated with this use-case
          input_field_type: assistant_selection_with_assistant_id
        status:
          $ref: '#/components/schemas/IntegrationStatus'
          description: Current status of the use-case
          default: active
          input_field_helper_text: Select inactive to disable this use-case without deleting it.
        timezone:
          anyOf:
            - type: string
            - type: 'null'
          title: Timezone
          description: Timezone for scheduling and notifications
          input_field_type: timezone
        type:
          type: string
          const: appointment_reminder_with_sheet
          title: Type
          description: Type of the use-case. Must be 'appointment_reminder_with_sheet'
          default: appointment_reminder_with_sheet
          input_field_not_visible: true
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Name
          description: Reminders for newly scheduled patient appointments
          default: New Patients Appointment Reminder
          input_field_not_visible: true
        sheetLink:
          anyOf:
            - type: string
            - type: 'null'
          title: Appointment Data Sheet Link
          description: Link to the appointment data sheet
          input_field_type: external_url_link
        actions:
          items:
            $ref: '#/components/schemas/UseCasesActionsConfig'
          type: array
          title: Actions
          description: List of actions associated with the use-case
      type: object
      title: Appointment Reminder With Sheet Use Case Configuration
    LabReminderWithSheetUseCaseConfig-Output:
      properties:
        displayName:
          anyOf:
            - type: string
            - type: 'null'
          title: Friendly Name
          description: >-
            Friendly name for the use-case. You can change this to better
            identify the use-case.
        assistantId:
          anyOf:
            - type: string
              example: 5eb7cf5a86d9755df3a6c593
            - type: 'null'
          title: Assistant
          description: ID of the assistant associated with this use-case
          input_field_type: assistant_selection_with_assistant_id
        status:
          $ref: '#/components/schemas/IntegrationStatus'
          description: Current status of the use-case
          default: active
          input_field_helper_text: Select inactive to disable this use-case without deleting it.
        timezone:
          anyOf:
            - type: string
            - type: 'null'
          title: Timezone
          description: Timezone for scheduling and notifications
          input_field_type: timezone
        type:
          type: string
          const: lab_reminder_with_sheet
          title: Type
          description: Type of the use-case. Must be 'lab_reminder_with_sheet'
          default: lab_reminder_with_sheet
          input_field_not_visible: true
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Name
          description: Notifications for lab results availability
          default: Lab Reminder
          input_field_not_visible: true
        sheetLink:
          anyOf:
            - type: string
            - type: 'null'
          title: Lab Results Data Sheet Link
          description: Link to the lab results data sheet
          input_field_type: external_url_link
        actions:
          items:
            $ref: '#/components/schemas/UseCasesActionsConfig'
          type: array
          title: Actions
          description: List of actions associated with the use-case
      type: object
      title: Lab Reminder With Sheet Use Case Configuration
    AppointmentReminderUseCaseConfig-Output:
      properties:
        displayName:
          anyOf:
            - type: string
            - type: 'null'
          title: Friendly Name
          description: >-
            Friendly name for the use-case. You can change this to better
            identify the use-case.
        assistantId:
          anyOf:
            - type: string
              example: 5eb7cf5a86d9755df3a6c593
            - type: 'null'
          title: Assistant
          description: ID of the assistant associated with this use-case
          input_field_type: assistant_selection_with_assistant_id
        status:
          $ref: '#/components/schemas/IntegrationStatus'
          description: Current status of the use-case
          default: active
          input_field_helper_text: Select inactive to disable this use-case without deleting it.
        timezone:
          anyOf:
            - type: string
            - type: 'null'
          title: Timezone
          description: Timezone for scheduling and notifications
          input_field_type: timezone
        type:
          type: string
          const: appointment_reminder
          title: Type
          description: Type of the use-case. Must be 'appointment_reminder'
          default: appointment_reminder
          input_field_not_visible: true
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Name
          description: Reminders for newly scheduled patient appointments
          default: New Patients Appointment Reminder
          input_field_not_visible: true
        allowedLocations:
          anyOf:
            - items:
                type: string
                example: 5eb7cf5a86d9755df3a6c593
              type: array
            - type: 'null'
          title: Allowed Locations
          description: >-
            List of location ids for which the appointment reminder use-case
            applies.
          input_field_helper_text: >-
            Leave empty to allow all locations. Select specific locations to
            restrict the appointment reminder use-case to those locations only.
          input_field_type: integrations_locations_selection
        allowedPractitioners:
          anyOf:
            - items:
                type: string
                example: 5eb7cf5a86d9755df3a6c593
              type: array
            - type: 'null'
          title: Allowed Practitioners
          description: >-
            List of practitioner ids for which the appointment reminder use-case
            applies.
          input_field_helper_text: >-
            Leave empty to allow all practitioners. Select specific
            practitioners to restrict the appointment reminder use-case to those
            practitioners only.
          input_field_type: practitioners_selection
        allowedVisitStatuses:
          items:
            $ref: '#/components/schemas/IntegrationAppointmentVisitStatus'
          type: array
          title: Allowed Visit Statuses (Legacy)
          description: >-
            (Legacy) List of visit statuses of the appointments for which the
            appointment reminder use-case applies.
          input_field_not_visible: false
        allowedVisitStatusesIds:
          anyOf:
            - items:
                type: string
                example: 5eb7cf5a86d9755df3a6c593
              type: array
            - type: 'null'
          title: Allowed Visit Status Codes
          description: >-
            List of visit status codes for which the appointment reminder
            use-case applies.
          input_field_helper_text: >-
            Leave empty to allow all Visit Statuses. Select specific Visit
            Statusresource records to restrict the insurance flow settings.
          input_field_type: integrations_visit_status_selection
        allowedAppointmentTypeIds:
          anyOf:
            - items:
                type: string
                example: 5eb7cf5a86d9755df3a6c593
              type: array
            - type: 'null'
          title: Allowed Appointment/Visit Types
          description: >-
            List of appointment type resource record ids for which the
            appointment reminder use-case applies.
          input_field_helper_text: >-
            Leave empty to allow all appointment types. Select specific
            appointment type resource records to restrict the appointment
            reminder use-case.
          input_field_type: integrations_appointment_types_selection
        allowedAppointmentTypes:
          items:
            $ref: '#/components/schemas/IntegrationAppointmentTypes'
          type: array
          title: Allowed Appointment Types (Legacy)
          description: >-
            Deprecated legacy appointment type names kept for backwards
            compatibility. TODO: remove after migrating to
            allowedAppointmentTypeIds.
          input_field_not_visible: false
        actions:
          items:
            $ref: '#/components/schemas/UseCasesActionsConfig'
          type: array
          title: Actions
          description: List of actions associated with the use-case
          keep_collapsed: true
      type: object
      title: Appointment Reminder Use Case Configuration
    FinalAppointmentNotificationUseCaseConfig-Output:
      properties:
        displayName:
          anyOf:
            - type: string
            - type: 'null'
          title: Friendly Name
          description: >-
            Friendly name for the use-case. You can change this to better
            identify the use-case.
        assistantId:
          anyOf:
            - type: string
              example: 5eb7cf5a86d9755df3a6c593
            - type: 'null'
          title: Assistant
          description: ID of the assistant associated with this use-case
          input_field_type: assistant_selection_with_assistant_id
        status:
          $ref: '#/components/schemas/IntegrationStatus'
          description: Current status of the use-case
          default: active
          input_field_helper_text: Select inactive to disable this use-case without deleting it.
        timezone:
          anyOf:
            - type: string
            - type: 'null'
          title: Timezone
          description: Timezone for scheduling and notifications
          input_field_type: timezone
        type:
          type: string
          const: final_appointment_notification
          title: Type
          description: Type of the use-case. Must be 'final_appointment_notification'
          default: final_appointment_notification
          input_field_not_visible: true
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Name
          description: Final notifications for scheduled patient appointments
          default: Final Patients Appointment Notification
          input_field_not_visible: true
        allowedLocations:
          anyOf:
            - items:
                type: string
                example: 5eb7cf5a86d9755df3a6c593
              type: array
            - type: 'null'
          title: Allowed Locations
          description: >-
            List of location ids for which the final notification should be
            sent.
          input_field_helper_text: >-
            Leave empty to allow all locations. Select specific locations to
            restrict the use-case to those locations only.
          input_field_type: integrations_locations_selection
        allowedPractitioners:
          anyOf:
            - items:
                type: string
                example: 5eb7cf5a86d9755df3a6c593
              type: array
            - type: 'null'
          title: Allowed Practitioners
          description: >-
            List of practitioner ids for which the final notification should be
            sent.
          input_field_helper_text: >-
            Leave empty to allow all practitioners. Select specific
            practitioners to restrict the use-case to those practitioners only.
          input_field_type: practitioners_selection
        allowedVisitStatuses:
          items:
            $ref: '#/components/schemas/IntegrationAppointmentVisitStatus'
          type: array
          title: Allowed Visit Statuses (Legacy)
          description: >-
            (Legacy) List of visit statuses of the appointments for which the
            final notification should be sent.
          input_field_not_visible: false
        allowedVisitStatusesIds:
          anyOf:
            - items:
                type: string
                example: 5eb7cf5a86d9755df3a6c593
              type: array
            - type: 'null'
          title: Allowed Visit Status Codes
          description: >-
            List of visit status codes for which the final notification should
            be sent.
          input_field_helper_text: >-
            Leave empty to allow all Visit Statues. Select specific Visit Status
            resource records to restrict the use-case.
          input_field_type: integrations_visit_status_selection
        allowedAppointmentTypeIds:
          anyOf:
            - items:
                type: string
                example: 5eb7cf5a86d9755df3a6c593
              type: array
            - type: 'null'
          title: Allowed Appointment/Visit Types
          description: >-
            List of appointment type resource record ids for which the final
            notification should be sent.
          input_field_helper_text: >-
            Leave empty to allow all appointment types. Select specific
            appointment type resource records to restrict the use-case.
          input_field_type: integrations_appointment_types_selection
        allowedAppointmentTypes:
          items:
            $ref: '#/components/schemas/IntegrationAppointmentTypes'
          type: array
          title: Allowed Appointment Types (Legacy)
          description: >-
            Deprecated legacy appointment type names kept for backwards
            compatibility. TODO: remove after migrating to
            allowedAppointmentTypeIds.
          input_field_not_visible: false
        actions:
          items:
            $ref: '#/components/schemas/UseCasesActionsConfig'
          type: array
          title: Actions
          description: List of actions associated with the use-case
          keep_collapsed: true
      type: object
      title: Final Appointment Notification Use Case Configuration
    LabReminderUseCaseConfig-Output:
      properties:
        displayName:
          anyOf:
            - type: string
            - type: 'null'
          title: Friendly Name
          description: >-
            Friendly name for the use-case. You can change this to better
            identify the use-case.
        assistantId:
          anyOf:
            - type: string
              example: 5eb7cf5a86d9755df3a6c593
            - type: 'null'
          title: Assistant
          description: ID of the assistant associated with this use-case
          input_field_type: assistant_selection_with_assistant_id
        status:
          $ref: '#/components/schemas/IntegrationStatus'
          description: Current status of the use-case
          default: active
          input_field_helper_text: Select inactive to disable this use-case without deleting it.
        timezone:
          anyOf:
            - type: string
            - type: 'null'
          title: Timezone
          description: Timezone for scheduling and notifications
          input_field_type: timezone
        type:
          type: string
          const: lab_reminder
          title: Type
          description: Type of the use-case. Must be 'lab_reminder'
          default: lab_reminder
          input_field_not_visible: true
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Name
          description: Notifications for lab results availability
          default: Lab Reminder
          input_field_not_visible: true
        actions:
          items:
            $ref: '#/components/schemas/UseCasesActionsConfig'
          type: array
          title: Actions
          description: List of actions associated with the use-case
      type: object
      title: Lab Reminder Use Case Configuration
    AppointmentSchedulingUseCaseConfig-Output:
      properties:
        displayName:
          anyOf:
            - type: string
            - type: 'null'
          title: Friendly Name
          description: >-
            Friendly name for the use-case. You can change this to better
            identify the use-case.
        assistantId:
          anyOf:
            - type: string
              example: 5eb7cf5a86d9755df3a6c593
            - type: 'null'
          title: Assistant
          description: ID of the assistant associated with this use-case
          input_field_type: assistant_selection_with_assistant_id
        status:
          $ref: '#/components/schemas/IntegrationStatus'
          description: Current status of the use-case
          default: active
          input_field_helper_text: Select inactive to disable this use-case without deleting it.
        timezone:
          anyOf:
            - type: string
            - type: 'null'
          title: Timezone
          description: Timezone for scheduling and notifications
          input_field_type: timezone
        type:
          type: string
          const: appointment_scheduling
          title: Type
          description: Type of the use-case. Must be 'appointment_scheduling'
          default: appointment_scheduling
          input_field_not_visible: true
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Name
          description: Notifications for appointment scheduling
          default: Appointment Scheduling
          input_field_not_visible: true
        communicationPreference:
          anyOf:
            - $ref: '#/components/schemas/SmsEmailCommunicationPreference'
            - type: 'null'
          title: Communication Preference
          description: >-
            Preferred communication method for appointment scheduling
            notifications.
          input_field_helper_text: >-
            Select how patients should be notified for appointment scheduling.
            Only SMS and Email are supported for this use case.
        insurance_flow_settings:
          anyOf:
            - $ref: '#/components/schemas/IntegrationInsuranceFlowSettings-Output'
            - type: 'null'
          title: Insurance Flow Settings
          description: >-
            Optional configuration for insurance flow settings to be applied
            during appointment scheduling
          keep_collapsed: true
      type: object
      title: Appointment Scheduling Use Case Configuration
    AppointmentCancellationUseCaseConfig-Output:
      properties:
        displayName:
          anyOf:
            - type: string
            - type: 'null'
          title: Friendly Name
          description: >-
            Friendly name for the use-case. You can change this to better
            identify the use-case.
        assistantId:
          anyOf:
            - type: string
              example: 5eb7cf5a86d9755df3a6c593
            - type: 'null'
          title: Assistant
          description: ID of the assistant associated with this use-case
          input_field_type: assistant_selection_with_assistant_id
        status:
          $ref: '#/components/schemas/IntegrationStatus'
          description: Current status of the use-case
          default: active
          input_field_helper_text: Select inactive to disable this use-case without deleting it.
        timezone:
          anyOf:
            - type: string
            - type: 'null'
          title: Timezone
          description: Timezone for scheduling and notifications
          input_field_type: timezone
        type:
          type: string
          const: appointment_cancellation
          title: Type
          description: Type of the use-case. Must be 'appointment_cancellation'
          default: appointment_cancellation
          input_field_not_visible: true
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Name
          description: Notifications for appointment cancellation
          default: Appointment Cancellation
          input_field_not_visible: true
        communicationPreference:
          anyOf:
            - $ref: '#/components/schemas/SmsEmailCommunicationPreference'
            - type: 'null'
          title: Communication Preference
          description: >-
            Preferred communication method for appointment cancellation
            notifications.
          input_field_helper_text: >-
            Select how patients should be notified for appointment
            cancellations. Only SMS and Email are supported for this use case.
      type: object
      title: Appointment Cancellation Use Case Configuration
    AppointmentReschedulingUseCaseConfig-Output:
      properties:
        displayName:
          anyOf:
            - type: string
            - type: 'null'
          title: Friendly Name
          description: >-
            Friendly name for the use-case. You can change this to better
            identify the use-case.
        assistantId:
          anyOf:
            - type: string
              example: 5eb7cf5a86d9755df3a6c593
            - type: 'null'
          title: Assistant
          description: ID of the assistant associated with this use-case
          input_field_type: assistant_selection_with_assistant_id
        status:
          $ref: '#/components/schemas/IntegrationStatus'
          description: Current status of the use-case
          default: active
          input_field_helper_text: Select inactive to disable this use-case without deleting it.
        timezone:
          anyOf:
            - type: string
            - type: 'null'
          title: Timezone
          description: Timezone for scheduling and notifications
          input_field_type: timezone
        type:
          type: string
          const: appointment_rescheduling
          title: Type
          description: Type of the use-case. Must be 'appointment_rescheduling'
          default: appointment_rescheduling
          input_field_not_visible: true
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Name
          description: Notifications for appointment rescheduling
          default: Appointment Rescheduling
          input_field_not_visible: true
        communicationPreference:
          anyOf:
            - $ref: '#/components/schemas/SmsEmailCommunicationPreference'
            - type: 'null'
          title: Communication Preference
          description: >-
            Preferred communication method for appointment rescheduling
            notifications.
          input_field_helper_text: >-
            Select how patients should be notified for appointment rescheduling.
            Only SMS and Email are supported for this use case.
      type: object
      title: Appointment Rescheduling Use Case Configuration
    AppointmentSchedulingWithWaitlistUseCaseConfig-Output:
      properties:
        displayName:
          anyOf:
            - type: string
            - type: 'null'
          title: Friendly Name
          description: >-
            Friendly name for the use-case. You can change this to better
            identify the use-case.
        assistantId:
          anyOf:
            - type: string
              example: 5eb7cf5a86d9755df3a6c593
            - type: 'null'
          title: Assistant
          description: ID of the assistant associated with this use-case
          input_field_type: assistant_selection_with_assistant_id
        status:
          $ref: '#/components/schemas/IntegrationStatus'
          description: Current status of the use-case
          default: active
          input_field_helper_text: Select inactive to disable this use-case without deleting it.
        timezone:
          anyOf:
            - type: string
            - type: 'null'
          title: Timezone
          description: Timezone for scheduling and notifications
          input_field_type: timezone
        type:
          type: string
          const: appointment_scheduling_with_waitlist
          title: Type
          description: Type of the use-case. Must be 'appointment_scheduling_with_waitlist'
          default: appointment_scheduling_with_waitlist
          input_field_not_visible: true
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Name
          description: Notifications for appointment scheduling with waitlist
          default: Appointment Scheduling with Waitlist
          input_field_not_visible: true
      type: object
      title: Appointment Scheduling With Waitlist Use Case Configuration
    MedicationRefillUseCaseConfig-Output:
      properties:
        displayName:
          anyOf:
            - type: string
            - type: 'null'
          title: Friendly Name
          description: >-
            Friendly name for the use-case. You can change this to better
            identify the use-case.
        assistantId:
          anyOf:
            - type: string
              example: 5eb7cf5a86d9755df3a6c593
            - type: 'null'
          title: Assistant
          description: ID of the assistant associated with this use-case
          input_field_type: assistant_selection_with_assistant_id
        status:
          $ref: '#/components/schemas/IntegrationStatus'
          description: Current status of the use-case
          default: active
          input_field_helper_text: Select inactive to disable this use-case without deleting it.
        timezone:
          anyOf:
            - type: string
            - type: 'null'
          title: Timezone
          description: Timezone for scheduling and notifications
          input_field_type: timezone
        type:
          type: string
          const: medication_refill
          title: Type
          description: Type of the use-case. Must be 'medication_refill'
          default: medication_refill
          input_field_not_visible: true
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Name
          description: Medication refills
          default: Medication Refill
          input_field_not_visible: true
      type: object
      title: Medication Refill Use Case Configuration
    InvoiceBillingUseCaseConfig-Output:
      properties:
        displayName:
          anyOf:
            - type: string
            - type: 'null'
          title: Friendly Name
          description: >-
            Friendly name for the use-case. You can change this to better
            identify the use-case.
        assistantId:
          anyOf:
            - type: string
              example: 5eb7cf5a86d9755df3a6c593
            - type: 'null'
          title: Assistant
          description: ID of the assistant associated with this use-case
          input_field_type: assistant_selection_with_assistant_id
        status:
          $ref: '#/components/schemas/IntegrationStatus'
          description: Current status of the use-case
          default: active
          input_field_helper_text: Select inactive to disable this use-case without deleting it.
        timezone:
          anyOf:
            - type: string
            - type: 'null'
          title: Timezone
          description: Timezone for scheduling and notifications
          input_field_type: timezone
        type:
          type: string
          const: invoice_enquiry
          title: Type
          description: Type of the use-case. Must be 'invoice_enquiry'
          default: invoice_enquiry
          input_field_not_visible: true
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Name
          description: Invoice and billing notifications
          default: Invoice Billing
          input_field_not_visible: true
      type: object
      title: Invoice Billing Use Case Configuration
    WebSchedulingUseCaseConfig-Output:
      properties:
        displayName:
          anyOf:
            - type: string
            - type: 'null'
          title: Friendly Name
          description: >-
            Friendly name for the use-case. You can change this to better
            identify the use-case.
        assistantId:
          anyOf:
            - type: string
              example: 5eb7cf5a86d9755df3a6c593
            - type: 'null'
          title: Assistant
          description: ID of the assistant associated with this use-case
          input_field_type: assistant_selection_with_assistant_id
        status:
          $ref: '#/components/schemas/IntegrationStatus'
          description: Current status of the use-case
          default: active
          input_field_helper_text: Select inactive to disable this use-case without deleting it.
        timezone:
          anyOf:
            - type: string
            - type: 'null'
          title: Timezone
          description: Timezone for scheduling and notifications
          input_field_type: timezone
        type:
          type: string
          const: web_scheduling
          title: Type
          description: Type of the use-case. Must be 'web_scheduling'
          default: web_scheduling
          input_field_not_visible: true
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Name
          description: Web scheduling for patient appointments
          default: Web Scheduling
          input_field_not_visible: true
        start_offset_days:
          type: integer
          minimum: 0
          title: Start Offset Days
          description: >-
            Number of days to offset the first available appointment shown to
            patients
          default: 0
        disclaimer_message:
          type: string
          title: Disclaimer Message
          description: >-
            Disclaimer displayed alongside the scheduling experience to guide
            patients
          default: ''
        redirect_url:
          type: string
          title: Redirect URL
          description: URL, patient is redirected if he/she is an existing patient
          default: ''
          keep_collapsed: true
        insurance_flow_settings:
          anyOf:
            - $ref: '#/components/schemas/IntegrationInsuranceFlowSettings-Output'
            - type: 'null'
          title: Insurance Flow Settings
          description: >-
            Optional configuration for insurance flow settings to be applied
            during web scheduling
          keep_collapsed: true
      type: object
      title: Web Scheduling Use Case Configuration
    InsuranceReminderUseCaseConfig-Output:
      properties:
        displayName:
          anyOf:
            - type: string
            - type: 'null'
          title: Friendly Name
          description: >-
            Friendly name for the use-case. You can change this to better
            identify the use-case.
        assistantId:
          anyOf:
            - type: string
              example: 5eb7cf5a86d9755df3a6c593
            - type: 'null'
          title: Assistant
          description: ID of the assistant associated with this use-case
          input_field_type: assistant_selection_with_assistant_id
        status:
          $ref: '#/components/schemas/IntegrationStatus'
          description: Current status of the use-case
          default: active
          input_field_helper_text: Select inactive to disable this use-case without deleting it.
        timezone:
          anyOf:
            - type: string
            - type: 'null'
          title: Timezone
          description: Timezone for scheduling and notifications
          input_field_type: timezone
        type:
          type: string
          const: insurance_reminder
          title: Type
          description: Type of the use-case. Must be 'insurance_reminder'
          default: insurance_reminder
          input_field_not_visible: true
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Name
          description: Reminding patients about insurance
          default: Insurance Reminder
          input_field_not_visible: true
        allowedVisitStatuses:
          items:
            $ref: '#/components/schemas/IntegrationAppointmentVisitStatus'
          type: array
          title: Allowed Visit Statuses (Legacy)
          description: >-
            (Legacy) List of visit statuses of the appointments for which the
            insurance reminder use-case applies.
          input_field_not_visible: false
        allowedVisitStatusesIds:
          anyOf:
            - items:
                type: string
                example: 5eb7cf5a86d9755df3a6c593
              type: array
            - type: 'null'
          title: Allowed Visit Status Codes
          description: >-
            List of visit status codes for which the insurance reminder use-case
            applies..
          input_field_helper_text: >-
            Leave empty to allow all Visit Statuses. Select specific Visit
            Status resource records to restrict the insurance flow settings.
          input_field_type: integrations_visit_status_selection
        allowedAppointmentTypeIds:
          anyOf:
            - items:
                type: string
                example: 5eb7cf5a86d9755df3a6c593
              type: array
            - type: 'null'
          title: Allowed Appointment/Visit Types
          description: >-
            List of appointment type resource record ids for which the final
            notification should be sent.
          input_field_helper_text: >-
            Leave empty to allow all appointment types. Select specific
            appointment type resource records to restrict the use-case.
          input_field_type: integrations_appointment_types_selection
        allowedAppointmentTypes:
          items:
            $ref: '#/components/schemas/IntegrationAppointmentTypes'
          type: array
          title: Allowed Appointment Types (Legacy)
          description: >-
            Deprecated legacy appointment type names kept for backwards
            compatibility. TODO: remove after migrating to
            allowedAppointmentTypeIds.
          input_field_not_visible: false
        actions:
          items:
            $ref: '#/components/schemas/UseCasesActionsConfig'
          type: array
          title: Actions
          description: List of actions associated with the use-case
          keep_collapsed: true
      type: object
      title: Insurance Reminder Use Case Configuration
    AppointmentEnquiryUseCaseConfig-Output:
      properties:
        displayName:
          anyOf:
            - type: string
            - type: 'null'
          title: Friendly Name
          description: >-
            Friendly name for the use-case. You can change this to better
            identify the use-case.
        assistantId:
          anyOf:
            - type: string
              example: 5eb7cf5a86d9755df3a6c593
            - type: 'null'
          title: Assistant
          description: ID of the assistant associated with this use-case
          input_field_type: assistant_selection_with_assistant_id
        status:
          $ref: '#/components/schemas/IntegrationStatus'
          description: Current status of the use-case
          default: active
          input_field_helper_text: Select inactive to disable this use-case without deleting it.
        timezone:
          anyOf:
            - type: string
            - type: 'null'
          title: Timezone
          description: Timezone for scheduling and notifications
          input_field_type: timezone
        type:
          type: string
          const: appointment_enquiry
          title: Type
          description: Type of the use-case. Must be 'appointment_enquiry'
          default: appointment_enquiry
          input_field_not_visible: true
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Name
          description: Notifications for appointment enquiry
          default: Appointment Enquiry
          input_field_not_visible: true
      type: object
      title: Appointment Enquiry Use Case Configuration
    IntegrationUseCaseCommunicationPreference:
      type: string
      enum:
        - call
        - sms
        - email
        - call_and_sms
        - call_and_email
        - sms_and_email
        - call_and_sms_and_email
        - call_or_sms
        - call_or_email
        - sms_or_email
        - call_or_sms_or_email
      title: Communication Preference
      description: Defines the communication preferences for a use-case.
      x-enumTitles:
        call: Call
        call_and_email: Call and Email
        call_and_sms: Call and SMS
        call_and_sms_and_email: Call and SMS and Email
        call_or_email: Call or Email
        call_or_sms: Call or SMS
        call_or_sms_or_email: Call or SMS or Email
        email: Email
        sms: SMS
        sms_and_email: SMS and Email
        sms_or_email: SMS or Email
    OneTimeTriggerRule:
      properties:
        startDateTime:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Start Date
          description: >-
            Start date for the schedule in ISO 8601 format. If not provided, the
            schedule starts immediately.
          input_field_helper_text: >-
            Enter the start date and time for the schedule in ISO 8601 format.
            For example, '2023-10-01T12:00:00Z' for October 1, 2023, at 12:00 PM
            UTC.
          input_field_type: datetime_iso8601
        endDateTime:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: End Date
          description: >-
            End date for the schedule in ISO 8601 format. If not provided, the
            schedule runs indefinitely until manually stopped.
          input_field_helper_text: >-
            Enter the end date and time for the schedule in ISO 8601 format. For
            example, '2023-10-01T12:00:00Z' for October 1, 2023, at 12:00 PM
            UTC.
          input_field_type: datetime_iso8601
        field:
          type: string
          const: oneTime
          title: Field
          description: Field indicating the type of trigger
          default: oneTime
          input_field_not_visible: true
        triggerAt:
          type: string
          format: date-time
          title: Trigger at
          description: Date and time to trigger the event in ISO 8601 format.
          input_field_helper_text: >-
            Enter the date and time when the trigger should run. For example,
            '2023-10-01T12:00:00Z' for October 1, 2023, at 12:00 PM UTC.
          input_field_type: datetime_iso8601
      type: object
      title: One Time Trigger
    DaysTriggerRule:
      properties:
        startDateTime:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Start Date
          description: >-
            Start date for the schedule in ISO 8601 format. If not provided, the
            schedule starts immediately.
          input_field_helper_text: >-
            Enter the start date and time for the schedule in ISO 8601 format.
            For example, '2023-10-01T12:00:00Z' for October 1, 2023, at 12:00 PM
            UTC.
          input_field_type: datetime_iso8601
        endDateTime:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: End Date
          description: >-
            End date for the schedule in ISO 8601 format. If not provided, the
            schedule runs indefinitely until manually stopped.
          input_field_helper_text: >-
            Enter the end date and time for the schedule in ISO 8601 format. For
            example, '2023-10-01T12:00:00Z' for October 1, 2023, at 12:00 PM
            UTC.
          input_field_type: datetime_iso8601
        field:
          type: string
          const: days
          title: Field
          description: Field indicating the type of trigger
          default: days
          input_field_not_visible: true
        daysInterval:
          type: integer
          minimum: 1
          title: Days trigger interval
          description: Interval in days. Must be 1 or greater.
          default: 1
          input_field_helper_text: >-
            Enter the number of days between each trigger. For example, if you
            enter 1 here, the trigger will run every day.
        triggerAtHour:
          type: integer
          maximum: 23
          minimum: 0
          title: Trigger at Hour
          description: Hour of the day to trigger the event (0-23).
          default: 0
          input_field_helper_text: >-
            Enter the hour when the trigger should run. For example, if you
            enter 14 here, the trigger will run at 2 PM.
        triggerAtMinute:
          type: integer
          maximum: 59
          minimum: 0
          title: Trigger at Minute
          description: Minute of the hour to trigger the event (0-59).
          default: 0
          input_field_helper_text: >-
            Enter the hour and minute when the trigger should run. For example,
            if you enter 14 for hour and 30 for minute, the trigger will run at
            2:30 PM.
      type: object
      title: Days Interval Trigger
    IntegrationPatientTypes:
      type: string
      enum:
        - new_patient
        - existing_patient
      title: Patient Type
      description: Defines patient types for insurance flow.
      x-enumTitles:
        existing_patient: Existing Patient
        new_patient: New Patient
    IntegrationInsuranceVerificationPhase:
      type: string
      enum:
        - before_appointment
        - after_appointment
      title: Insurance Verification Phase
      description: Defines verification phases for insurance verification.
      x-enumTitles:
        after_appointment: After Appointment
        before_appointment: Before Appointment
    IntegrationStediNpiSource:
      type: string
      enum:
        - group_npi
        - provider_npi
      title: Stedi NPI Source
      description: Defines which NPI to send when calling Stedi for insurance verification.
      x-enumTitles:
        group_npi: Group NPI (Organization)
        provider_npi: Provider NPI (Practitioner)
    IntegrationInsuranceUpdateResultOn:
      type: string
      enum:
        - on_success
        - on_failure
      title: Update Billing Notes On
      description: >-
        Defines triggers for publishing insurance verification results back to
        EHR.
      x-enumTitles:
        on_failure: Publish On Failure
        on_success: Publish On Success
    IntegrationInsuranceUploadStediResponseOn:
      type: string
      enum:
        - on_success
        - on_failure
      title: Upload Stedi Responses to EHR
      description: Defines triggers for uploading Stedi responses to the EHR.
      x-enumTitles:
        on_failure: Upload On Failure
        on_success: Upload On Success
    IntegrationInsuranceFailureReminder:
      type: string
      enum:
        - no_reminders
        - remind_once
        - remind_until_verification_success
      title: Insurance Verification Failure Reminder Trigger
      description: >-
        Defines triggers for sending reminders to patients on insurance
        verification failure.
      x-enumTitles:
        no_reminders: No Reminders
        remind_once: Remind Once
        remind_until_verification_success: Remind Until Verification Success
    IntegrationInsuranceFlowSettings-Output:
      properties:
        status:
          $ref: '#/components/schemas/IntegrationStatus'
          description: Status of the insurance flow
          default: inactive
          input_field_helper_text: Select inactive to disable this insurance flow without deleting it.
        patient_types:
          items:
            $ref: '#/components/schemas/IntegrationPatientTypes'
          type: array
          title: Patient Types
          description: List of patient types that this insurance flow settings applies to
          default:
            - new_patient
          input_field_helper_text: >-
            Select the patient types that this insurance flow settings should be
            applied to.
        verification_phase:
          anyOf:
            - $ref: '#/components/schemas/IntegrationInsuranceVerificationPhase'
            - type: 'null'
          title: Verification Phase
          description: Phase of the insurance flow that this configuration applies to
          default: before_appointment
          input_field_helper_text: >-
            Specify the phase of the insurance flow that this configuration
            should handle.
        upload_insurance_cards:
          anyOf:
            - $ref: '#/components/schemas/IntegrationStatus'
            - type: 'null'
          title: Upload Insurance Cards to EHR
          description: >-
            Whether to upload insurance cards to the EHR. If set to inactive,
            insurance cards will not be uploaded.
          default: active
          input_field_helper_text: >-
            Select inactive to not upload insurance cards. If active, the system
            will upload insurance cards to the EHR.
        do_stedi_verification:
          anyOf:
            - $ref: '#/components/schemas/IntegrationStatus'
            - type: 'null'
          title: Do Stedi Verification
          description: >-
            Whether to perform insurance verification through Stedi. If set to
            inactive, insurance verification will be skipped.
          default: active
          input_field_helper_text: >-
            Select inactive to skip insurance verification through Stedi. If
            active, the system will perform insurance verification using Stedi's
            services.
        is_stedi_sandbox:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Stedi Is Sandbox
          description: >-
            Whether to use the Stedi sandbox environment (test API key) instead
            of production for eligibility checks. Turn off for production use.
          default: false
          input_field_helper_text: >-
            Enable to route Stedi verification calls through the sandbox
            environment. Useful for testing without affecting production
            billing.
        stedi_npi_source:
          anyOf:
            - $ref: '#/components/schemas/IntegrationStediNpiSource'
            - type: 'null'
          title: Stedi NPI Source
          description: >-
            Which NPI to send to Stedi for eligibility checks. Group NPI uses
            the organization NPI configured on the integration; Provider NPI
            uses the rendering practitioner's NPI.
          default: group_npi
          input_field_helper_text: >-
            Select Group NPI to use the organization-level NPI from the
            integration. Select Provider NPI to use the practitioner's NPI;
            falls back to the group NPI if the practitioner has no NPI on file.
        update_result_on:
          items:
            $ref: '#/components/schemas/IntegrationInsuranceUpdateResultOn'
          type: array
          title: Update Billing Notes to EHR
          description: >-
            List of insurance flow events that should trigger an update to the
            insurance information to billing notes section in the EHR. Empty
            list means insurance information will not be updated to billing
            notes.
          default:
            - on_failure
            - on_success
          input_field_helper_text: >-
            Leave empty to not update billing notes. Select specific events to
            update billing notes for those events.
        upload_stedi_responses:
          items:
            $ref: '#/components/schemas/IntegrationInsuranceUploadStediResponseOn'
          type: array
          title: Upload Stedi Responses to EHR
          description: >-
            List of insurance flow events that should trigger an upload of Stedi
            responses to the EHR. Empty list means no Stedi responses will be
            uploaded.
          default:
            - on_failure
            - on_success
          input_field_helper_text: >-
            Leave empty to not upload Stedi responses. Select specific events to
            upload Stedi responses for those events.
        failure_reminder:
          anyOf:
            - $ref: '#/components/schemas/IntegrationInsuranceFailureReminder'
            - type: 'null'
          title: Failure Reminder
          description: >-
            Configuration for sending reminders when insurance verification
            fails
          default: no_reminders
        allowed_visit_statuses:
          items:
            $ref: '#/components/schemas/IntegrationAppointmentVisitStatus'
          type: array
          title: Allowed Visit Statuses (Legacy)
          description: >-
            (Legacy) List of visit statuses of the appointments for which the
            insurance flow settings should be applied.
          input_field_not_visible: false
        allowed_visit_statuses_ids:
          anyOf:
            - items:
                type: string
                example: 5eb7cf5a86d9755df3a6c593
              type: array
            - type: 'null'
          title: Allowed Visit Status Codes
          description: >-
            List of visit status codes for which the insurance flow settings
            should be applied.
          input_field_helper_text: >-
            Leave empty to allow all Visit Statuses. Select specific Visit
            Statusresource records to restrict the insurance flow settings.
          input_field_type: integrations_visit_status_selection
        allowed_appointment_type_ids:
          anyOf:
            - items:
                type: string
                example: 5eb7cf5a86d9755df3a6c593
              type: array
            - type: 'null'
          title: Allowed Appointment/Visit Types
          description: >-
            List of appointment type resource record ids for which the insurance
            flow settings should be applied.
          input_field_helper_text: >-
            Leave empty to allow all appointment types. Select specific
            appointment type resource records to restrict the insurance flow
            settings.
          input_field_type: integrations_appointment_types_selection
        allowed_appointment_types:
          items:
            $ref: '#/components/schemas/IntegrationAppointmentTypes'
          type: array
          title: Allowed Appointment Types (Legacy)
          description: >-
            Deprecated legacy appointment type names kept for backwards
            compatibility. TODO: remove after migrating to
            allowed_appointment_type_ids.
          input_field_not_visible: false
        allowed_locations:
          anyOf:
            - items:
                type: string
                example: 5eb7cf5a86d9755df3a6c593
              type: array
            - type: 'null'
          title: Allowed Locations
          description: List of location ids for which the insurance flow settings apply.
          input_field_helper_text: >-
            Leave empty to allow all locations. Select specific locations to
            restrict the insurance flow settings to those locations only.
          input_field_type: integrations_locations_selection
        allowed_practitioners:
          anyOf:
            - items:
                type: string
                example: 5eb7cf5a86d9755df3a6c593
              type: array
            - type: 'null'
          title: Allowed Practitioners
          description: >-
            List of practitioner ids for which the insurance flow settings
            apply.
          input_field_helper_text: >-
            Leave empty to allow all practitioners. Select specific
            practitioners to restrict the insurance flow settings to those
            practitioners only.
          input_field_type: practitioners_selection
      type: object
      title: IntegrationInsuranceFlowSettings
  securitySchemes:
    bearer:
      scheme: bearer
      bearerFormat: Bearer
      type: http
      description: >-
        Retrieve your API Key from [Dashboard API Keys
        Section](https://dashboard-qa.interactly.ai/api-keys).

````