> ## 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.

# Export Integration



## OpenAPI

````yaml https://api-qa.interactly.ai/api-docs/integrations/api.json get /integrations/v2/integrations/{integration_id}/export
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/integrations/{integration_id}/export:
    get:
      tags:
        - Integrations IO V2
      summary: Export Integration
      operationId: >-
        integrations_service_export_integration_v2_integrations__integration_id__export_get
      parameters:
        - name: integration_id
          in: path
          required: true
          schema:
            type: string
            minLength: 24
            maxLength: 24
            pattern: ^[0-9a-f]{24}$
            example: 5eb7cf5a86d9755df3a6c593
            title: Integration Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntegrationExportData'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - bearer: []
components:
  schemas:
    IntegrationExportData:
      properties:
        integration:
          anyOf:
            - $ref: '#/components/schemas/IntegrationsModel'
            - type: 'null'
        use_cases:
          items:
            $ref: '#/components/schemas/IntegrationsUseCasesModel'
          type: array
          title: Use Cases
        resource_records:
          items:
            $ref: '#/components/schemas/IntegrationsResourceRecordsModel'
          type: array
          title: Resource Records
      type: object
      title: IntegrationExportData
      description: >-
        Full export payload: one integration plus all its use cases and resource
        records.
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    IntegrationsModel:
      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: Integration Logical ID
          description: Unique identifier for the integration
        provider:
          anyOf:
            - $ref: '#/components/schemas/IntegrationProviders'
            - type: 'null'
          description: Integration provider type (e.g., microsoft, google, slack).
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Name
          description: Friendly name for the integration (e.g., 'Google Calendar Sync').
        status:
          anyOf:
            - $ref: '#/components/schemas/IntegrationStatus'
            - type: 'null'
          description: Status of the integration. Defaults to 'active'.
          default: active
        access:
          anyOf:
            - $ref: '#/components/schemas/IntegrationAccess'
            - type: 'null'
          description: Access level for the integration (personal, team, or system).
          default: team
        config:
          anyOf:
            - oneOf:
                - $ref: '#/components/schemas/IntegrationMicrosoftConfig'
                - $ref: '#/components/schemas/IntegrationAthenaConfig-Output'
                - $ref: '#/components/schemas/IntegrationECWConfig-Output'
                - $ref: '#/components/schemas/IntegrationGoogleConfig'
                - $ref: '#/components/schemas/IntegrationSlackConfig'
                - $ref: '#/components/schemas/IntegrationOktaConfig'
              discriminator:
                propertyName: provider
                mapping:
                  athena:
                    $ref: '#/components/schemas/IntegrationAthenaConfig-Output'
                  ecw:
                    $ref: '#/components/schemas/IntegrationECWConfig-Output'
                  google:
                    $ref: '#/components/schemas/IntegrationGoogleConfig'
                  microsoft:
                    $ref: '#/components/schemas/IntegrationMicrosoftConfig'
                  okta:
                    $ref: '#/components/schemas/IntegrationOktaConfig'
                  slack:
                    $ref: '#/components/schemas/IntegrationSlackConfig'
            - type: 'null'
          title: Config
          description: Provider-specific configuration schema determined by 'provider'.
        timezone:
          anyOf:
            - type: string
            - type: 'null'
          title: Timezone
          description: IANA timezone string (e.g., 'America/New_York', 'Asia/Kolkata').
          default: UTC
      type: object
      title: IntegrationsModel
      description: Main integration model holding configuration and audit details.
    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.
    IntegrationsResourceRecordsModel:
      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 resource record
        integrationId:
          anyOf:
            - type: string
              example: 5eb7cf5a86d9755df3a6c593
            - type: 'null'
          title: Integration ID
          description: Reference to the associated integration
        config:
          anyOf:
            - oneOf:
                - $ref: >-
                    #/components/schemas/AthenaResourcesPractitionersConfig-Output
                - $ref: '#/components/schemas/AthenaResourcesLocationsConfig-Output'
                - $ref: '#/components/schemas/AthenaResourcesVisitingReasonsConfig'
                - $ref: '#/components/schemas/AthenaResourcesPatientsConfig-Output'
                - $ref: >-
                    #/components/schemas/AthenaResourcesAppointmentsConfig-Output
                - $ref: >-
                    #/components/schemas/AthenaResourcesAppointmentTypeConfig-Output
                - $ref: '#/components/schemas/AthenaResourcesVisitStatusConfig'
                - $ref: '#/components/schemas/AthenaResourcesInsurancePayersConfig'
                - $ref: '#/components/schemas/AthenaResourcesOutreachConfig-Output'
              discriminator:
                propertyName: type
                mapping:
                  appointment_types:
                    $ref: >-
                      #/components/schemas/AthenaResourcesAppointmentTypeConfig-Output
                  appointments:
                    $ref: >-
                      #/components/schemas/AthenaResourcesAppointmentsConfig-Output
                  insurance_payers:
                    $ref: '#/components/schemas/AthenaResourcesInsurancePayersConfig'
                  locations:
                    $ref: '#/components/schemas/AthenaResourcesLocationsConfig-Output'
                  outreach:
                    $ref: '#/components/schemas/AthenaResourcesOutreachConfig-Output'
                  patients:
                    $ref: '#/components/schemas/AthenaResourcesPatientsConfig-Output'
                  practitioners:
                    $ref: >-
                      #/components/schemas/AthenaResourcesPractitionersConfig-Output
                  visit_statuses:
                    $ref: '#/components/schemas/AthenaResourcesVisitStatusConfig'
                  visiting_reasons:
                    $ref: '#/components/schemas/AthenaResourcesVisitingReasonsConfig'
            - type: 'null'
          title: Config
          description: type-specific configuration schema determined by 'type'.
      additionalProperties: true
      type: object
      title: IntegrationsResourceRecordsModel
      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
    IntegrationProviders:
      type: string
      enum:
        - microsoft
        - google
        - athena
        - ecw
        - slack
        - okta
      title: IntegrationProviders
      description: Supported integration providers.
    IntegrationStatus:
      type: string
      enum:
        - active
        - inactive
      title: Status
      description: Represents whether the integration is active or inactive.
      x-enumTitles:
        active: Active
        inactive: Inactive
    IntegrationAccess:
      type: string
      enum:
        - personal
        - team
        - system
      title: IntegrationAccess
      description: Indicates who can access this integration.
    IntegrationMicrosoftConfig:
      properties:
        scope:
          anyOf:
            - type: string
            - type: 'null'
          title: Scope
          description: List of permission scopes authorized for the integration.
          input_field_not_visible: true
          input_field_type: password
        accessToken:
          anyOf:
            - type: string
            - type: 'null'
          title: Access Token
          description: Access token issued by the provider.
          input_field_not_visible: true
          input_field_type: password
        refreshToken:
          anyOf:
            - type: string
            - type: 'null'
          title: Refresh Token
          description: Refresh token for obtaining a new access token.
          input_field_not_visible: true
          input_field_type: password
        tokenType:
          anyOf:
            - type: string
            - type: 'null'
          title: Token Type
          description: Type of token, e.g., 'Bearer'.
          input_field_not_visible: true
        expiresAt:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Expires At
          description: >-
            Expiration time of the access token in ISO 8601 format. Ex:
            2023-10-05T14:48:00.000Z
          input_field_not_visible: true
        connectedAt:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Connected At
          description: >-
            Connection time of the OAuth integration in ISO 8601 format. Ex:
            2023-10-05T14:48:00.000Z
          input_field_not_visible: true
        renewedAt:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Renewed At
          description: >-
            Last renewal time of the access token in ISO 8601 format. Ex:
            2023-10-05T14:48:00.000Z
          input_field_not_visible: true
        errorMessage:
          anyOf:
            - type: string
            - type: 'null'
          title: Error Message
          description: Error message if token exchange or renewal failed.
        provider:
          type: string
          const: microsoft
          title: Provider
          description: Integration provider identifier. Always 'microsoft'.
          default: microsoft
          input_field_not_visible: true
        authType:
          $ref: '#/components/schemas/IntegrationAuthType'
          title: Authentication Type
          description: Authentication type used for this integration (basic or oauth).
          default: oauth
          input_field_not_visible: true
        authUserEmail:
          anyOf:
            - type: string
            - type: 'null'
          title: Email Address
          description: Email address associated with the connected Microsoft account.
          input_field_not_visible: true
        authUserName:
          anyOf:
            - type: string
            - type: 'null'
          title: Your Name
          description: Display name of the connected Microsoft account user.
      type: object
      title: Microsoft Integration
      description: Microsoft OAuth-based integration configuration.
    IntegrationAthenaConfig-Output:
      properties:
        baseUrl:
          anyOf:
            - type: string
            - type: 'null'
          title: Integration Client Base Url
          description: Base URL path/domain for the Integration Client Requests.
          default: ''
        authKey:
          anyOf:
            - type: string
            - type: 'null'
          title: Authorization Key Name
          description: Key name used for authorization in API requests.
          default: Authorization
        authAddTo:
          anyOf:
            - type: string
              enum:
                - headers
                - query
            - type: 'null'
          title: Authorization Key Location
          description: >-
            Where to include the key-value pair in API requests (headers or
            query).
          default: headers
        clientId:
          anyOf:
            - type: string
            - type: 'null'
          title: Client ID
          description: OAuth2 client identifier issued by the authorization server.
          default: ''
        clientSecret:
          anyOf:
            - type: string
            - type: 'null'
          title: Client Secret
          description: Confidential client secret used together with the client ID.
          input_field_type: password
        audience:
          anyOf:
            - type: string
            - type: 'null'
          title: Token Audience
          description: >-
            OAuth2 audience / API identifier for which the access token is
            requested. 
          default: ''
        grantType:
          type: string
          const: client_credentials
          title: Grant Type
          description: OAuth2 grant type used when requesting the access token.
          default: client_credentials
        scopes:
          anyOf:
            - type: string
            - type: 'null'
          title: Scopes
          description: >-
            Space-separated list of OAuth2 scopes requested for the access
            token.
          default: read:all write:all
        tokenUrl:
          anyOf:
            - type: string
            - type: 'null'
          title: Integration Client Token URL
          description: URL used to obtain the OAuth2 token for the Integration Client.
          default: ''
          input_field_type: external_url_link
        provider:
          type: string
          const: athena
          title: Provider
          description: Integration provider identifier. Always 'athena'.
          default: athena
          input_field_not_visible: true
        isSandbox:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Is Sandbox
          description: >-
            Indicates if the integration is in sandbox mode. Turn off for
            production use. For Sandbox mode we will sync limited data for easy
            testing.
          default: true
        authType:
          $ref: '#/components/schemas/IntegrationAuthType'
          title: Authentication Type
          description: >-
            Authentication type used for this integration (basic or oauth or
            oauth2).
          default: basic
          input_field_not_visible: true
        sourceId:
          anyOf:
            - type: string
            - type: 'null'
          title: Source ID
          description: Unique source identifier for Athena integration.
        connectorId:
          anyOf:
            - type: string
            - type: 'null'
          title: Connector ID
          description: Unique connector identifier for Athena integration.
        dataSynchronizer:
          $ref: '#/components/schemas/IntegrationDataSynchronizerType'
          title: Data Synchronizer
          description: >-
            Identifier for the data synchronizer associated with this Athena
            source.
          default: xcaliber_health
        ehrTenantId:
          anyOf:
            - type: string
            - type: 'null'
          title: EHR Tenant ID
          description: >-
            EHR Tenant identifier sent as the x-tenant-id request header in API
            calls.
        ehrInstance:
          anyOf:
            - type: string
            - type: 'null'
          title: EHR Instance
          description: >-
            EHR instance identifier sent as the X-Ehr-Instance request header in
            API calls.
        apiKey:
          anyOf:
            - type: string
            - type: 'null'
          title: API Key
          description: >-
            API key for authenticating with ECW. This is required if authType is
            set to 'basic'.
        branding:
          anyOf:
            - $ref: '#/components/schemas/IntegrationBranding'
            - type: 'null'
          title: Branding Assets
          description: >-
            Give your brand identity and select theme colors for a personalized
            experience.
        insurance:
          anyOf:
            - $ref: '#/components/schemas/IntegrationInsurance'
            - type: 'null'
          title: Insurance Configuration
          description: >-
            Configuration details for the insurance organization associated with
            this integration. This includes the organization's name and NPI,
            which are essential for insurance verification processes.
      type: object
      title: Athena Integration
      description: Athena API key-based integration configuration.
    IntegrationECWConfig-Output:
      properties:
        baseUrl:
          anyOf:
            - type: string
            - type: 'null'
          title: Integration Client Base Url
          description: Base URL path/domain for the Integration Client Requests.
          default: ''
        authKey:
          anyOf:
            - type: string
            - type: 'null'
          title: Authorization Key Name
          description: Key name used for authorization in API requests.
          default: Authorization
        authAddTo:
          anyOf:
            - type: string
              enum:
                - headers
                - query
            - type: 'null'
          title: Authorization Key Location
          description: >-
            Where to include the key-value pair in API requests (headers or
            query).
          default: headers
        clientId:
          anyOf:
            - type: string
            - type: 'null'
          title: Client ID
          description: OAuth2 client identifier issued by the authorization server.
          default: ''
        clientSecret:
          anyOf:
            - type: string
            - type: 'null'
          title: Client Secret
          description: Confidential client secret used together with the client ID.
          input_field_type: password
        audience:
          anyOf:
            - type: string
            - type: 'null'
          title: Token Audience
          description: >-
            OAuth2 audience / API identifier for which the access token is
            requested. 
          default: ''
        grantType:
          type: string
          const: client_credentials
          title: Grant Type
          description: OAuth2 grant type used when requesting the access token.
          default: client_credentials
        scopes:
          anyOf:
            - type: string
            - type: 'null'
          title: Scopes
          description: >-
            Space-separated list of OAuth2 scopes requested for the access
            token.
          default: read:all write:all
        tokenUrl:
          anyOf:
            - type: string
            - type: 'null'
          title: Integration Client Token URL
          description: URL used to obtain the OAuth2 token for the Integration Client.
          default: ''
          input_field_type: external_url_link
        provider:
          type: string
          const: ecw
          title: Provider
          description: Integration provider identifier. Always 'ecw'.
          default: ecw
          input_field_not_visible: true
        isSandbox:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Is Sandbox
          description: >-
            Indicates if the integration is in sandbox mode. Turn off for
            production use. For Sandbox mode we will sync limited data for easy
            testing.
          default: true
        authType:
          $ref: '#/components/schemas/IntegrationAuthType'
          title: Authentication Type
          description: Authentication type used for this integration (basic or oauth).
          default: basic
          input_field_not_visible: true
        sourceId:
          anyOf:
            - type: string
            - type: 'null'
          title: Source ID
          description: Unique source identifier for ECW integration.
        connectorId:
          anyOf:
            - type: string
            - type: 'null'
          title: Connector ID
          description: Unique connector identifier for ECW integration.
        dataSynchronizer:
          $ref: '#/components/schemas/IntegrationDataSynchronizerType'
          title: Data Synchronizer
          description: >-
            Identifier for the data synchronizer associated with this ECW
            source.
          default: xcaliber_health
        ehrTenantId:
          anyOf:
            - type: string
            - type: 'null'
          title: EHR Tenant ID
          description: >-
            EHR Tenant identifier sent as the x-tenant-id request header in API
            calls.
        ehrInstance:
          anyOf:
            - type: string
            - type: 'null'
          title: EHR Instance
          description: >-
            EHR instance identifier sent as the X-Ehr-Instance request header in
            API calls.
        apiKey:
          anyOf:
            - type: string
            - type: 'null'
          title: API Key
          description: >-
            API key for authenticating with ECW. This is required if authType is
            set to 'basic'.
        branding:
          anyOf:
            - $ref: '#/components/schemas/IntegrationBranding'
            - type: 'null'
          title: Branding Assets
          description: >-
            Give your brand identity and select theme colors for a personalized
            experience.
        insurance:
          anyOf:
            - $ref: '#/components/schemas/IntegrationInsurance'
            - type: 'null'
          title: Insurance Configuration
          description: >-
            Configuration details for the insurance organization associated with
            this integration. This includes the organization's name and NPI,
            which are essential for insurance verification processes.
        utm:
          anyOf:
            - $ref: '#/components/schemas/IntegrationUTMDetails'
            - type: 'null'
          title: UTM Details
          description: >-
            UTM details associated with this integration. This includes the UTM
            source, medium, and campaign IDs.
      type: object
      title: ECW Integration
      description: ECW API key-based integration configuration.
    IntegrationGoogleConfig:
      properties:
        scope:
          anyOf:
            - type: string
            - type: 'null'
          title: Scope
          description: List of permission scopes authorized for the integration.
          input_field_not_visible: true
          input_field_type: password
        accessToken:
          anyOf:
            - type: string
            - type: 'null'
          title: Access Token
          description: Access token issued by the provider.
          input_field_not_visible: true
          input_field_type: password
        refreshToken:
          anyOf:
            - type: string
            - type: 'null'
          title: Refresh Token
          description: Refresh token for obtaining a new access token.
          input_field_not_visible: true
          input_field_type: password
        tokenType:
          anyOf:
            - type: string
            - type: 'null'
          title: Token Type
          description: Type of token, e.g., 'Bearer'.
          input_field_not_visible: true
        expiresAt:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Expires At
          description: >-
            Expiration time of the access token in ISO 8601 format. Ex:
            2023-10-05T14:48:00.000Z
          input_field_not_visible: true
        connectedAt:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Connected At
          description: >-
            Connection time of the OAuth integration in ISO 8601 format. Ex:
            2023-10-05T14:48:00.000Z
          input_field_not_visible: true
        renewedAt:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Renewed At
          description: >-
            Last renewal time of the access token in ISO 8601 format. Ex:
            2023-10-05T14:48:00.000Z
          input_field_not_visible: true
        errorMessage:
          anyOf:
            - type: string
            - type: 'null'
          title: Error Message
          description: Error message if token exchange or renewal failed.
        provider:
          type: string
          const: google
          title: Provider
          description: Integration provider identifier. Always 'google'.
          default: google
          input_field_not_visible: true
        authType:
          $ref: '#/components/schemas/IntegrationAuthType'
          title: Authentication Type
          description: Authentication type used for this integration (basic or oauth).
          default: oauth
          input_field_not_visible: true
        authUserEmail:
          anyOf:
            - type: string
            - type: 'null'
          title: Email Address
          description: Email address associated with the connected Google account.
          input_field_not_visible: true
        authUserName:
          anyOf:
            - type: string
            - type: 'null'
          title: Your Name
          description: Display name of the connected Google account user.
      type: object
      title: Google Integration
      description: Google OAuth-based integration configuration.
    IntegrationSlackConfig:
      properties:
        scope:
          anyOf:
            - type: string
            - type: 'null'
          title: Scope
          description: List of permission scopes authorized for the integration.
          input_field_not_visible: true
          input_field_type: password
        accessToken:
          anyOf:
            - type: string
            - type: 'null'
          title: Access Token
          description: Access token issued by the provider.
          input_field_not_visible: true
          input_field_type: password
        refreshToken:
          anyOf:
            - type: string
            - type: 'null'
          title: Refresh Token
          description: Refresh token for obtaining a new access token.
          input_field_not_visible: true
          input_field_type: password
        tokenType:
          anyOf:
            - type: string
            - type: 'null'
          title: Token Type
          description: Type of token, e.g., 'Bearer'.
          input_field_not_visible: true
        expiresAt:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Expires At
          description: >-
            Expiration time of the access token in ISO 8601 format. Ex:
            2023-10-05T14:48:00.000Z
          input_field_not_visible: true
        connectedAt:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Connected At
          description: >-
            Connection time of the OAuth integration in ISO 8601 format. Ex:
            2023-10-05T14:48:00.000Z
          input_field_not_visible: true
        renewedAt:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Renewed At
          description: >-
            Last renewal time of the access token in ISO 8601 format. Ex:
            2023-10-05T14:48:00.000Z
          input_field_not_visible: true
        errorMessage:
          anyOf:
            - type: string
            - type: 'null'
          title: Error Message
          description: Error message if token exchange or renewal failed.
        provider:
          type: string
          const: slack
          title: Provider
          description: Integration provider identifier. Always 'slack'.
          default: slack
          input_field_not_visible: true
        authType:
          $ref: '#/components/schemas/IntegrationAuthType'
          title: Authentication Type
          description: Authentication type used for this integration (basic or oauth).
          default: oauth
          input_field_not_visible: true
        botUserId:
          anyOf:
            - type: string
            - type: 'null'
          title: Bot User ID
          description: Slack bot user ID associated with this app.
        appId:
          anyOf:
            - type: string
            - type: 'null'
          title: App ID
          description: Slack app ID of the connected application.
        authedTeam:
          anyOf:
            - $ref: '#/components/schemas/IntegrationSlackTeam'
            - type: 'null'
          title: Authorized Team
          description: Slack team/workspace details.
        authedUser:
          anyOf:
            - $ref: '#/components/schemas/IntegrationSlackUser'
            - type: 'null'
          title: Authorized User
          description: Slack user who authorized the connection.
      type: object
      title: Slack Integration
      description: Slack OAuth-based integration configuration.
    IntegrationOktaConfig:
      properties:
        baseUrl:
          anyOf:
            - type: string
            - type: 'null'
          title: Integration Client Base Url
          description: Base URL path/domain for the Integration Client Requests.
          default: ''
        authKey:
          anyOf:
            - type: string
            - type: 'null'
          title: Authorization Key Name
          description: Key name used for authorization in API requests.
          default: Authorization
        authAddTo:
          anyOf:
            - type: string
              enum:
                - headers
                - query
            - type: 'null'
          title: Authorization Key Location
          description: >-
            Where to include the key-value pair in API requests (headers or
            query).
          default: headers
        clientId:
          anyOf:
            - type: string
            - type: 'null'
          title: Client ID
          description: OAuth2 client identifier issued by the authorization server.
          default: ''
        clientSecret:
          anyOf:
            - type: string
            - type: 'null'
          title: Client Secret
          description: Confidential client secret used together with the client ID.
          input_field_type: password
        audience:
          anyOf:
            - type: string
            - type: 'null'
          title: Token Audience
          description: >-
            OAuth2 audience / API identifier for which the access token is
            requested. 
          default: ''
        grantType:
          type: string
          const: client_credentials
          title: Grant Type
          description: OAuth2 grant type used when requesting the access token.
          default: client_credentials
        scopes:
          anyOf:
            - type: string
            - type: 'null'
          title: Scopes
          description: >-
            Space-separated list of OAuth2 scopes requested for the access
            token.
          default: read:all write:all
        tokenUrl:
          anyOf:
            - type: string
            - type: 'null'
          title: Integration Client Token URL
          description: URL used to obtain the OAuth2 token for the Integration Client.
          default: ''
          input_field_type: external_url_link
        provider:
          type: string
          const: okta
          title: Provider
          description: Integration provider identifier. Always 'okta'.
          default: okta
          input_field_not_visible: true
        tokenRequestFormat:
          type: string
          enum:
            - form
            - json
          title: Token Request Format
          description: >-
            Format for the token request payload. 'form' for form-encoded,
            'json' for JSON.
          default: form
          input_field_not_visible: true
        authType:
          $ref: '#/components/schemas/IntegrationAuthType'
          title: Authentication Type
          description: Authentication type used for this integration.
          default: basic
          input_field_not_visible: true
      type: object
      title: Okta Integration
      description: >-
        Okta client-credentials integration configuration for obtaining bearer
        tokens.
    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
    AthenaResourcesPractitionersConfig-Output:
      properties:
        type:
          type: string
          const: practitioners
          title: Type of Resource Record
          description: Type of the resource record. Must be 'practitioners'
          default: practitioners
          input_field_not_visible: true
        organizationId:
          anyOf:
            - type: string
            - type: 'null'
          title: Organization ID
          description: Unique identifier for the organization in Athena system
        id:
          anyOf:
            - type: string
            - type: 'null'
          title: Practitioner ID
          description: Unique identifier for the practitioner in Athena system
        npi:
          anyOf:
            - type: string
            - type: 'null'
          title: National Provider Identifier
          description: >-
            NPI of the practitioner (FHIR identifier with system
            http://hl7.org/fhir/sid/us-npi)
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Practitioner Name
          description: Full name of the practitioner
        gender:
          anyOf:
            - type: string
            - type: 'null'
          title: Practitioner Gender
          description: Gender of the practitioner
        avatar:
          anyOf:
            - type: string
            - type: 'null'
          title: Practitioner Avatar
          description: URL to the practitioner's avatar image
        summary:
          anyOf:
            - type: string
            - type: 'null'
          title: Practitioner Summary
          description: Short summary or bio for the practitioner
          input_field_helper_text: Supports Markdown syntax for formatted bios.
          input_field_type: textarea
        qualification:
          anyOf:
            - type: string
            - type: 'null'
          title: Practitioner Qualification
          description: 'Qualifications of the practitioner. Ex: MD, PhD etc.'
        education:
          anyOf:
            - type: string
            - type: 'null'
          title: Practitioner Education
          description: Educational background of the practitioner
          input_field_helper_text: Supports Markdown syntax for richer descriptions.
          input_field_type: textarea
        supervisorId:
          anyOf:
            - type: string
              example: 5eb7cf5a86d9755df3a6c593
            - type: 'null'
          title: Practitioner Supervisor
          description: Practitioner's supervisor like Supervising Physician
          input_field_helper_text: Select the supervisor for this practitioner.
          input_field_type: practitioners_selection
        status:
          $ref: '#/components/schemas/IntegrationStatus'
          description: Current status of the resource record
          default: active
          input_field_helper_text: Select inactive to disable this resource record without deleting it.
        languages:
          items:
            type: string
          type: array
          title: Practitioner Languages
          description: List of languages spoken by the practitioner
          input_field_helper_text: Add languages spoken by the practitioner.
        specialties:
          items:
            $ref: '#/components/schemas/IntegrationPractitionerSpecialty'
          type: array
          title: Practitioner Specialty
          description: Specialty details of the practitioner
        locations:
          items:
            $ref: '#/components/schemas/IntegrationLocations'
          type: array
          title: Practitioner Locations
          description: List of locations associated with the practitioner
        workingHours:
          anyOf:
            - $ref: '#/components/schemas/IntegrationWorkingHours'
            - type: 'null'
          title: Working Hours
          description: >-
            Optional day-wise working hours configuration. Keys are mon..sun and
            values are windows with 'start'/'end' in HH:MM (24h) format.
            Example:
            mon=[{start:'08:15',end:'11:00'},{start:'13:15',end:'16:00'}].
        preferred_visiting_reasons:
          anyOf:
            - items:
                type: string
                example: 5eb7cf5a86d9755df3a6c593
              type: array
            - type: 'null'
          title: Preferred Visiting Reasons
          description: >-
            List of preferred visiting reasons for the practitioner. Leave empty
            to allow all reasons.
          input_field_helper_text: Select one or more reasons for the practitioner's preferred visits.
          input_field_type: visiting_reasons_selection
        recordSource:
          anyOf:
            - $ref: '#/components/schemas/IntegrationRecordSource'
            - type: 'null'
          title: Record Source
          description: Source of the patient record in Athena system
      type: object
      title: Practitioners
      description: Configuration for Athena Practitioners resource records.
    AthenaResourcesLocationsConfig-Output:
      properties:
        type:
          type: string
          const: locations
          title: Type of Resource Record
          description: Type of the resource record. Must be 'locations'
          default: locations
          input_field_not_visible: true
        id:
          anyOf:
            - type: string
            - type: 'null'
          title: Location ID
          description: Unique identifier for the location in Athena system
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Location Name
          description: Name of the location
        address:
          anyOf:
            - $ref: '#/components/schemas/IntegrationAddress'
            - type: 'null'
          title: Location Address
          description: Address of the location
        position:
          anyOf:
            - $ref: '#/components/schemas/IntegrationLocationPosition'
            - type: 'null'
          title: Location Position
          description: Geographical position of the location
        telecom:
          items:
            $ref: '#/components/schemas/IntegrationTelecom'
          type: array
          title: Location Telecom
          description: Telecom information of the location
        status:
          $ref: '#/components/schemas/IntegrationStatus'
          description: Current status of the resource record
          default: inactive
          input_field_helper_text: Select inactive to disable this resource record without deleting it.
        recordSource:
          anyOf:
            - $ref: '#/components/schemas/IntegrationRecordSource'
            - type: 'null'
          title: Record Source
          description: Source of the patient record in Athena system
        workingHours:
          anyOf:
            - $ref: '#/components/schemas/IntegrationWorkingHours'
            - type: 'null'
          title: Working Hours
          description: >-
            Day-wise working hours configuration from Monday to Sunday and
            values are windows with 'start'/'end' in HH:MM (24h) format.
            Example:
            Monday=[{start:'08:15',end:'11:00'},{start:'13:15',end:'16:00'}].
      type: object
      title: Locations
      description: Configuration for Athena Locations resource records.
    AthenaResourcesVisitingReasonsConfig:
      properties:
        type:
          type: string
          const: visiting_reasons
          title: Type of Resource Record
          description: Type of the resource record. Must be 'visiting_reasons'
          default: visiting_reasons
          input_field_not_visible: true
        reason:
          anyOf:
            - type: string
            - type: 'null'
          title: Visiting Reason
          description: Name of the visiting reason
        reasonCode:
          anyOf:
            - type: string
            - type: 'null'
          title: Visiting Reason Code
          description: Visiting Reason Code associated with the visiting reason
        applicableUseCase:
          anyOf:
            - $ref: '#/components/schemas/IntegrationVisitReasonApplicableUseCaseType'
            - type: 'null'
          title: Applicable Use Case
          description: >-
            Visit reason applicable for Appointment scheduling or
            Cancellation/Reschedule.
        isDefault:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Is Default Cancel Or Schedule Reason
          description: >-
            Indicates if this is a default Cancel Or Schedule Reason that should
            be offered when no other reason is selected. Note: Only considered
            for Appointment Cancellation/Reschedule in case reason code is not
            provided.
        status:
          $ref: '#/components/schemas/IntegrationStatus'
          description: Current status of the resource record
          default: active
          input_field_helper_text: Select inactive to disable this resource record without deleting it.
        recordSource:
          anyOf:
            - $ref: '#/components/schemas/IntegrationRecordSource'
            - type: 'null'
          title: Record Source
          description: Source of the patient record in Athena system
      type: object
      title: Visiting Reasons
      description: Configuration for Athena Visiting Reasons resource records.
    AthenaResourcesPatientsConfig-Output:
      properties:
        type:
          type: string
          const: patients
          title: Type of Resource Record
          description: Type of the resource record. Must be 'patients'
          default: patients
          input_field_not_visible: true
        status:
          $ref: '#/components/schemas/IntegrationStatus'
          description: Current status of the resource record
          default: active
          input_field_helper_text: Select inactive to disable this resource record without deleting it.
        patientSyncId:
          anyOf:
            - type: string
            - type: 'null'
          title: Patient Sync ID
          description: Identifier for the sync request associated with the patient data
        patientStatus:
          anyOf:
            - $ref: '#/components/schemas/IntegrationPatientStatus'
            - type: 'null'
          title: Patient Status
          description: Status of the patient in Athena system
        patientId:
          anyOf:
            - type: string
            - type: 'null'
          title: Patient ID
          description: Unique identifier for the patient in Athena system
        patientMrnId:
          anyOf:
            - type: string
            - type: 'null'
          title: Patient MRN ID
          description: >-
            Medical Record Number (MRN) identifier for the patient in Athena
            system
        firstName:
          anyOf:
            - type: string
            - type: 'null'
          title: First Name
          description: First name of the patient
        lastName:
          anyOf:
            - type: string
            - type: 'null'
          title: Last Name
          description: Last name of the patient
        birthDate:
          anyOf:
            - type: string
            - type: 'null'
          title: Birth Date
          description: Birth date of the patient in YYYY-MM-DD format
        gender:
          anyOf:
            - $ref: '#/components/schemas/IntegrationGender'
            - type: 'null'
          title: Gender
          description: Gender of the patient
        phoneNumber:
          anyOf:
            - type: string
            - type: 'null'
          title: Phone Number
          description: Contact phone number of the patient
        email:
          anyOf:
            - type: string
            - type: 'null'
          title: Email Address
          description: Contact email address of the patient
        pcp:
          anyOf:
            - type: string
            - type: 'null'
          title: Primary Care Provider ID
          description: Identifier for the patient's primary care provider
        rp:
          anyOf:
            - type: string
            - type: 'null'
          title: Referral Provider ID
          description: Identifier for the patient's referral provider
        notificationPreferences:
          anyOf:
            - $ref: '#/components/schemas/PatientNotificationPreferences'
            - type: 'null'
          title: Notification Preferences
          description: Patient's communication preferences for notifications.
        patientCreatedSource:
          anyOf:
            - $ref: '#/components/schemas/IntegrationPatientCreatedSource'
            - type: 'null'
          title: Patient Created Source
          description: Source from which the patient was created in Athena system
        address:
          anyOf:
            - $ref: '#/components/schemas/IntegrationAddress'
            - type: 'null'
          title: Address
          description: Address information for the patient.
        race:
          anyOf:
            - type: string
            - type: 'null'
          title: Race
          description: Race of the patient
        ethnicity:
          anyOf:
            - type: string
            - type: 'null'
          title: Ethnicity
          description: Ethnicity of the patient
        language:
          anyOf:
            - type: string
            - type: 'null'
          title: Language
          description: Preferred language of the patient
        recordSource:
          anyOf:
            - $ref: '#/components/schemas/IntegrationRecordSource'
            - type: 'null'
          title: Record Source
          description: Source of the patient record in Athena system
        trackingDetails:
          anyOf:
            - $ref: '#/components/schemas/IntegrationTrackingDetails'
            - type: 'null'
          title: Tracking Details
          description: Internal tracking details for the web session.
        consentDetails:
          anyOf:
            - $ref: '#/components/schemas/IntegrationConsentDetails'
            - type: 'null'
          title: Consent Details
          description: Consent information for the web session.
        insuranceCoverages:
          items:
            $ref: '#/components/schemas/IntegrationInsuranceCoverage-Output'
          type: array
          title: Insurance Coverages
          description: List of insurance coverages associated with the patient
        lastSyncedAt:
          anyOf:
            - type: string
            - type: 'null'
          title: Last Synced At
          description: Timestamp of the last successful sync for the appointment data
          input_field_type: datetime_iso8601
      type: object
      title: Patients
      description: Configuration for Athena Patients resource records.
    AthenaResourcesAppointmentsConfig-Output:
      properties:
        type:
          type: string
          const: appointments
          title: Type of Resource Record
          description: Type of the resource record. Must be 'appointments'
          default: appointments
          input_field_not_visible: true
        status:
          $ref: '#/components/schemas/IntegrationStatus'
          description: Current status of the resource record
          default: active
          input_field_helper_text: Select inactive to disable this resource record without deleting it.
        appointmentSyncId:
          anyOf:
            - type: string
            - type: 'null'
          title: Appointment Sync ID
          description: Identifier for the sync request associated with the appointment data
        appointmentStatus:
          anyOf:
            - $ref: '#/components/schemas/IntegrationAppointmentStatus'
            - type: 'null'
          title: Appointment Status
          description: Status of the appointment in Athena system
        visitStatus:
          anyOf:
            - type: string
            - type: 'null'
          title: Visit Status
          description: Status of the visit associated with the appointment in Athena system
          default: PEN
        appointmentId:
          anyOf:
            - type: string
            - type: 'null'
          title: Appointment ID
          description: Unique identifier for the appointment in Athena system
        patientId:
          anyOf:
            - type: string
            - type: 'null'
          title: Patient ID
          description: Identifier for the patient associated with the appointment
        patientMrnId:
          anyOf:
            - type: string
            - type: 'null'
          title: Patient MRN ID
          description: >-
            Medical Record Number (MRN) identifier for the patient in Athena
            system
        patientFirstName:
          anyOf:
            - type: string
            - type: 'null'
          title: First Name
          description: First name of the patient
        patientLastName:
          anyOf:
            - type: string
            - type: 'null'
          title: Last Name
          description: Last name of the patient
        patientPhoneNumber:
          anyOf:
            - type: string
            - type: 'null'
          title: Phone Number
          description: Contact phone number of the patient
        patientEmail:
          anyOf:
            - type: string
            - type: 'null'
          title: Email Address
          description: Contact email address of the patient
        startTime:
          anyOf:
            - type: string
            - type: 'null'
          title: Appointment Date Time
          description: Date and time of the appointment
          input_field_type: datetime_iso8601
        duration:
          anyOf:
            - type: integer
            - type: 'null'
          title: Duration (minutes)
          description: Duration of the appointment in minutes
        locationId:
          anyOf:
            - type: string
            - type: 'null'
          title: Location ID
          description: Identifier for the location where the appointment is scheduled
        practitionerId:
          anyOf:
            - type: string
            - type: 'null'
          title: Practitioner ID
          description: Identifier for the practitioner associated with the appointment
        visitReason:
          anyOf:
            - type: string
            - type: 'null'
          title: Visit Reason
          description: Reason for the patient's visit
        slotId:
          anyOf:
            - type: string
            - type: 'null'
          title: Slot ID
          description: Identifier for the time slot of the appointment
        appointmentType:
          anyOf:
            - type: string
            - type: 'null'
          title: Appointment Type
          description: >-
            Legacy single appointment type value for the appointment. TODO:
            deprecate in favor of appointmentTypes.
        appointmentTypes:
          items:
            type: string
          type: array
          title: Appointment Types
          description: >-
            Normalized appointment type values for the appointment. Prefer this
            field over the legacy appointmentType field.
        notes:
          anyOf:
            - type: string
            - type: 'null'
          title: Notes
          description: Additional notes or metadata associated with the appointment
        distanceMiles:
          anyOf:
            - type: number
            - type: 'null'
          title: Distance (miles)
          description: Distance in miles related to the appointment
        paymentMethod:
          anyOf:
            - $ref: '#/components/schemas/IntegrationPaymentMethod'
            - type: 'null'
          title: Payment Method
          description: Preferred payment method for the appointment
        insuranceHandlingStrategy:
          anyOf:
            - $ref: '#/components/schemas/IntegrationInsuranceHandlingStrategy'
            - type: 'null'
          title: Insurance Handling Strategy
          description: >-
            Strategy for handling insurance information during appointment
            scheduling and reminders
        payerName:
          anyOf:
            - type: string
            - type: 'null'
          title: Payer Name
          description: Name of the insurance payer associated with the appointment
        appointmentCreatedSource:
          anyOf:
            - $ref: '#/components/schemas/IntegrationAppointmentCreatedSource'
            - type: 'null'
          title: Appointment Created Source
          description: Source from which the appointment was created
        recordSource:
          anyOf:
            - $ref: '#/components/schemas/IntegrationRecordSource'
            - type: 'null'
          title: Record Source
          description: Source of the patient record
        visitDetails:
          anyOf:
            - $ref: '#/components/schemas/IntegrationVisitDetails-Output'
            - type: 'null'
          title: Visit Details
          description: High-level details for the visit.
        insuranceCoverageId:
          anyOf:
            - type: string
            - type: 'null'
          title: Insurance Coverage Logical ID
          description: Unique identifier for the insurance coverage
        patientFlowMismatch:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Patient Flow Mismatch
          description: >-
            Indicates whether there is a mismatch in the expected patient flow
            (e.g., new vs existing patient) for the appointment.
          default: false
        lastSyncedAt:
          anyOf:
            - type: string
            - type: 'null'
          title: Last Synced At
          description: Timestamp of the last successful sync for the appointment data
          input_field_type: datetime_iso8601
        reminderDetails:
          anyOf:
            - $ref: '#/components/schemas/IntegrationAppointmentReminder'
            - type: 'null'
          title: Appointment Reminder Details
          description: >-
            Details about the appointment reminder delivery and patient
            response.
        reminderHistory:
          items:
            $ref: '#/components/schemas/IntegrationAppointmentReminder'
          type: array
          title: Reminder History
          description: >-
            History of reminders sent for the appointment along with their
            delivery and response details.
        finalReminderDetails:
          anyOf:
            - $ref: '#/components/schemas/IntegrationAppointmentReminder'
            - type: 'null'
          title: Final Reminder Details
          description: >-
            Details about the final reminder sent for the appointment, if
            applicable.
        insuranceRemindersHistory:
          items:
            $ref: '#/components/schemas/IntegrationInsuranceReminder-Output'
          type: array
          title: Insurance Reminder History
          description: >-
            History of insurance reminders sent for the appointment along with
            their delivery and response details.
        insuranceResults:
          anyOf:
            - $ref: '#/components/schemas/IntegrationInsuranceResults'
            - type: 'null'
          title: Insurance Results
          description: >-
            Results related to insurance card upload, OCR extraction, and Stedi
            verification for the appointment.
        trackingDetails:
          anyOf:
            - $ref: '#/components/schemas/IntegrationTrackingDetails'
            - type: 'null'
          title: Tracking Details
          description: Internal tracking details for the web session.
      type: object
      title: Appointments
      description: Configuration for Athena Appointments resource records.
    AthenaResourcesAppointmentTypeConfig-Output:
      properties:
        type:
          type: string
          const: appointment_types
          title: Type of Resource Record
          description: Type of the resource record. Must be 'appointment_types'
          default: appointment_types
          input_field_not_visible: true
        appointmentType:
          anyOf:
            - type: string
            - type: 'null'
          title: Appointment Type
          description: Type of appointment for the record
        appointmentCode:
          anyOf:
            - type: string
            - type: 'null'
          title: Appointment Code
          description: Code of the appointment type in EHR system
        appointmentDuration:
          anyOf:
            - type: integer
            - type: 'null'
          title: Appointment Duration (minutes)
          description: Duration of the appointment in minutes
        description:
          anyOf:
            - type: string
            - type: 'null'
          title: Description
          description: Description of the appointment type
        allowedUseCases:
          items:
            $ref: '#/components/schemas/IntegrationUseCaseType'
          type: array
          title: Allowed Use Cases
          description: >-
            Optional list of allowed use-case (from enum). None indicates,
            Appointment Type is allowed is in all use-case.
        workingHours:
          anyOf:
            - $ref: '#/components/schemas/IntegrationWorkingHours'
            - type: 'null'
          title: Working Hours
          description: >-
            Optional day-wise working hours configuration. Keys are mon..sun and
            values are windows with 'start'/'end' in HH:MM (24h) format.
            Example:
            mon=[{start:'08:15',end:'11:00'},{start:'13:15',end:'16:00'}].
        status:
          $ref: '#/components/schemas/IntegrationStatus'
          description: Current status of the resource record
          default: active
          input_field_helper_text: Select inactive to disable this resource record without deleting it.
        recordSource:
          anyOf:
            - $ref: '#/components/schemas/IntegrationRecordSource'
            - type: 'null'
          title: Record Source
          description: Source of the appointment type record in Athena system
        isNewPatientAppointmentType:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Is New Patient Appointment Type
          description: Indicates if the appointment type is for new patients
          default: false
        isExistingPatientAppointmentType:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Is Existing Patient Appointment Type
          description: Indicates if the appointment type is for existing patients
          default: false
        freeSlotCode:
          anyOf:
            - type: string
            - type: 'null'
          title: Free Slot Appointment Code
          description: >-
            Optional appointment code of another appointment type in this
            integration used to fetch open slots. When set, slot availability is
            queried using this code while booking still uses appointmentCode.
            Use when all slots are managed under a single generic type (e.g.
            'Any 15') but bookings require a specific type code.
      type: object
      title: Appointment Type
      description: Configuration for Athena Appointment Type resource records.
    AthenaResourcesVisitStatusConfig:
      properties:
        type:
          type: string
          const: visit_statuses
          title: Type of Resource Record
          description: Type of the resource record. Must be 'visit_statuses'
          default: visit_statuses
          input_field_not_visible: true
        visitStatus:
          anyOf:
            - type: string
            - type: 'null'
          title: Display Name
          description: Visit Status Display Name in EHR System
        visitStatusCode:
          anyOf:
            - type: string
            - type: 'null'
          title: Visit Status Code
          description: Code of the Visit Status in EHR system
        description:
          anyOf:
            - type: string
            - type: 'null'
          title: Description
          description: Description of the Visit Status
        status:
          $ref: '#/components/schemas/IntegrationStatus'
          description: Current status of the resource record
          default: active
          input_field_helper_text: Select inactive to disable this resource record without deleting it.
        recordSource:
          anyOf:
            - $ref: '#/components/schemas/IntegrationRecordSource'
            - type: 'null'
          title: Record Source
          description: Source of the Visit Status record in Athena system
      type: object
      title: Visit Status
      description: Configuration for Athena Appointment Type resource records.
    AthenaResourcesInsurancePayersConfig:
      properties:
        type:
          type: string
          const: insurance_payers
          title: Type of Resource Record
          description: Type of the resource record. Must be 'insurance_payers'
          default: insurance_payers
          input_field_not_visible: true
        insuranceName:
          anyOf:
            - type: string
            - type: 'null'
          title: Insurance Name
          description: Name of the insurance for the record
        insuranceCode:
          anyOf:
            - type: string
            - type: 'null'
          title: Insurance Code
          description: Code of the insurance in EHR system
        insurancePayorId:
          anyOf:
            - type: string
            - type: 'null'
          title: Insurance Payor ID
          description: ID of the insurance payor in EHR system
        insurancePlanType:
          anyOf:
            - type: string
            - type: 'null'
          title: Insurance Plan Type
          description: Type of the insurance plan in EHR system
        isSelfPay:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Is Self Pay
          description: Indicates if the insurance is a self-pay type
          default: false
        status:
          $ref: '#/components/schemas/IntegrationStatus'
          description: Current status of the resource record
          default: active
          input_field_helper_text: Select inactive to disable this resource record without deleting it.
        recordSource:
          anyOf:
            - $ref: '#/components/schemas/IntegrationRecordSource'
            - type: 'null'
          title: Record Source
          description: Source of the insurance type record in Athena system
      type: object
      title: Insurance Payers
      description: Configuration for Athena Insurance Payers resource records.
    AthenaResourcesOutreachConfig-Output:
      properties:
        type:
          type: string
          const: outreach
          title: Type of Resource Record
          description: Type of the resource record. Must be 'outreach'
          default: outreach
          input_field_not_visible: true
        status:
          $ref: '#/components/schemas/IntegrationStatus'
          description: Current status of the resource record
          default: active
          input_field_helper_text: Select inactive to disable this resource record without deleting it.
        shortLinkId:
          anyOf:
            - type: string
            - type: 'null'
          title: Short Link ID
          description: Unique identifier for the outreach's short link in Athena system
        webSessionFlowType:
          anyOf:
            - $ref: '#/components/schemas/IntegrationWebSessionFlowType'
            - type: 'null'
          title: Web Session Flow Type
          description: Type of the web session flow.
          default: insurance_flow
        communicationChannel:
          anyOf:
            - $ref: '#/components/schemas/IntegrationCommunicationChannel'
            - type: 'null'
          title: Communication Channel
          description: >-
            Channel through which the outreach is communicated (e.g., email,
            SMS).
        useCaseId:
          anyOf:
            - type: string
              example: 5eb7cf5a86d9755df3a6c593
            - type: 'null'
          title: Use Case ID
          description: Identifier for the use case associated with the outreach
          input_field_helper_text: Select the use case for this outreach.
          input_field_type: integrations_use_cases_selection
        locationId:
          anyOf:
            - type: string
              example: 5eb7cf5a86d9755df3a6c593
            - type: 'null'
          title: Location ID
          description: Location identifier associated with the outreach.
          input_field_helper_text: Select the location for this outreach.
          input_field_type: integrations_locations_selection
        practitionerId:
          anyOf:
            - type: string
              example: 5eb7cf5a86d9755df3a6c593
            - type: 'null'
          title: Provider ID
          description: Provider identifier associated with the outreach.
          input_field_helper_text: Select the provider for this outreach.
          input_field_type: practitioners_selection
        patientId:
          anyOf:
            - type: string
              example: 5eb7cf5a86d9755df3a6c593
            - type: 'null'
          title: Patient ID
          description: Patient identifier associated with the outreach.
          input_field_helper_text: Select the patient for this outreach.
          input_field_type: integrations_patients_selection
        appointmentId:
          anyOf:
            - type: string
              example: 5eb7cf5a86d9755df3a6c593
            - type: 'null'
          title: Appointment ID
          description: Appointment identifier associated with the outreach.
          input_field_helper_text: Select the appointment for this outreach.
          input_field_type: integrations_appointments_selection
      type: object
      title: Outreach
      description: Configuration for Athena outreach resource records.
    IntegrationAuthType:
      type: string
      enum:
        - basic
        - oauth
        - oauth2
      title: IntegrationAuthType
      description: Defines the authentication type used for the integration.
    IntegrationDataSynchronizerType:
      type: string
      enum:
        - xcaliber_health
        - interactly_ehr_gateway
        - ellkay
        - direct_athena
      title: Data Synchronizer Type
      description: Defines the type of data synchronization.
      x-enumTitles:
        direct_athena: Direct Athena
        ellkay: Ellkay
        interactly_ehr_gateway: Interactly EHR Gateway
        xcaliber_health: Xcaliber Health
    IntegrationBranding:
      properties:
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Brand Name
          description: Name of the integration as it should appear in the UI.
        logoUrl:
          anyOf:
            - type: string
            - type: 'null'
          title: Logo URL
          description: >-
            URL to the logo image of the integration. You can provide any static
            image URL.
          input_field_type: external_url_link
        iconUrl:
          anyOf:
            - type: string
            - type: 'null'
          title: Icon URL
          description: >-
            URL to the favicon representing the integration. You can provide any
            static image URL.
          input_field_type: external_url_link
        primaryColor:
          anyOf:
            - type: string
            - type: 'null'
          title: Primary Color
          description: >-
            Hex code or color name representing the primary brand color of the
            integration.
          input_field_type: color_section
        supportNumber:
          anyOf:
            - type: string
            - type: 'null'
          title: Support Contact Number
          description: Contact phone number for support related to the integration.
        supportEmail:
          anyOf:
            - type: string
            - type: 'null'
          title: Support Contact Email
          description: Contact email address for support related to the integration.
        receiverEmails:
          items:
            type: string
          type: array
          title: Receiver Emails
          description: >-
            List of email addresses that should receive notifications related to
            the integration.
        subDomain:
          anyOf:
            - type: string
            - type: 'null'
          title: Interactly's Sub Domain
          description: >-
            Sub Domain for this integration, ex: ehr-client. So we create
            https://ehr-client.interactly.ai Route53 CNAME record pointing to
            interactly.ai. It should be unique across all integrations.
        templateId:
          $ref: '#/components/schemas/IntegrationUITemplates'
          title: EHR UI Template
          description: >-
            Select a template for the EHR web session UI to customize the look
            and feel.
          default: scheduling-session-v2
        disclaimerMessage:
          anyOf:
            - type: string
            - type: 'null'
          title: Disclaimer Message
          description: Custom disclaimer message to be displayed during the web session.
        websiteUrl:
          anyOf:
            - type: string
            - type: 'null'
          title: Website URL
          description: >-
            Official website URL of the integration or organization. We will use
            this site for redirection links.
          input_field_type: external_url_link
        privacyPolicyUrl:
          anyOf:
            - type: string
            - type: 'null'
          title: Privacy Policy and Terms URL
          description: >-
            Official privacy policy and terms URL of the integration or
            organization. We will use this site for redirection links.
          input_field_type: external_url_link
      type: object
      title: Branding Assets
    IntegrationInsurance:
      properties:
        organizationName:
          anyOf:
            - type: string
            - type: 'null'
          title: Insurance Organization Name
          description: >-
            Name of the insurance organization associated with this integration.
            Stedi will use this information when processing insurance
            verifications.
        organizationNpi:
          anyOf:
            - type: string
            - type: 'null'
          title: Insurance Organization NPI
          description: >-
            NPI of the insurance organization associated with this integration.
            Stedi will use this information when processing insurance
            verifications.
        stediApiKey:
          anyOf:
            - type: string
            - type: 'null'
          title: Stedi API Key
          description: >-
            Per-integration Stedi API key. Used for eligibility checks. Falls
            back to the platform-wide STEDI_TEST_API_KEY / STEDI_PROD_API_KEY
            env vars (chosen by sandbox flag) when blank.
          input_field_type: password
      type: object
      title: Insurance Configuration
    IntegrationUTMDetails:
      properties:
        utm_source_id:
          anyOf:
            - type: string
            - type: 'null'
          title: UTM Source ID
          description: >-
            UTM source label id for miscellaneous-information-item. This is used
            to track the source of traffic for the integration.
        utm_medium_id:
          anyOf:
            - type: string
            - type: 'null'
          title: UTM Medium ID
          description: >-
            UTM medium label id for miscellaneous-information-item. This is used
            to track the medium of traffic for the integration.
        utm_campaign_id:
          anyOf:
            - type: string
            - type: 'null'
          title: UTM Campaign ID
          description: >-
            UTM campaign label id for miscellaneous-information-item. This is
            used to track the campaign of traffic for the integration.
      type: object
      title: Integration UTM Details
    IntegrationSlackTeam:
      properties:
        id:
          anyOf:
            - type: string
            - type: 'null'
          title: Team ID
          description: Slack workspace/team ID.
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Team Name
          description: Name of the Slack workspace/team.
      type: object
      title: Slack Team
      description: Slack team details.
    IntegrationSlackUser:
      properties:
        id:
          anyOf:
            - type: string
            - type: 'null'
          title: User ID
          description: Slack user ID.
        scope:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: User Scopes
          description: Scopes authorized for the user.
        accessToken:
          anyOf:
            - type: string
            - type: 'null'
          title: Access Token
          description: Access token for the authenticated Slack user.
        tokenType:
          anyOf:
            - type: string
            - type: 'null'
          title: Token Type
          description: Type of token, e.g., 'Bearer'.
      type: object
      title: Slack User
      description: Slack user authentication details.
    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-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
    IntegrationPractitionerSpecialty:
      properties:
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Specialty Name
          description: Name of the practitioner's specialty
        code:
          anyOf:
            - type: string
            - type: 'null'
          title: Specialty Code
          description: Code representing the practitioner's specialty
      type: object
      title: Practitioner Specialty
      description: Model representing a practitioner's specialty.
    IntegrationLocations:
      properties:
        locationId:
          anyOf:
            - type: string
            - type: 'null'
          title: Location ID (alias Department ID)
          description: Unique identifier for the location or department.
        locationName:
          anyOf:
            - type: string
            - type: 'null'
          title: Location Name (alias Department Name)
          description: Name of the location or department.
      type: object
      title: Location
      description: Model representing a practitioner's location.
    IntegrationWorkingHours:
      properties:
        mon:
          items:
            $ref: '#/components/schemas/WorkingHoursWindow'
          type: array
          title: Monday
          description: Working-hour windows for Monday.
          input_field_helper_text: Add one or more time windows (e.g., 08:15-11:00 and 13:15-16:00).
        tue:
          items:
            $ref: '#/components/schemas/WorkingHoursWindow'
          type: array
          title: Tuesday
          description: Working-hour windows for Tuesday.
          input_field_helper_text: Add one or more time windows.
        wed:
          items:
            $ref: '#/components/schemas/WorkingHoursWindow'
          type: array
          title: Wednesday
          description: Working-hour windows for Wednesday.
          input_field_helper_text: Add one or more time windows.
        thu:
          items:
            $ref: '#/components/schemas/WorkingHoursWindow'
          type: array
          title: Thursday
          description: Working-hour windows for Thursday.
          input_field_helper_text: Add one or more time windows.
        fri:
          items:
            $ref: '#/components/schemas/WorkingHoursWindow'
          type: array
          title: Friday
          description: Working-hour windows for Friday.
          input_field_helper_text: Add one or more time windows.
        sat:
          items:
            $ref: '#/components/schemas/WorkingHoursWindow'
          type: array
          title: Saturday
          description: Working-hour windows for Saturday.
          input_field_helper_text: Add one or more time windows.
        sun:
          items:
            $ref: '#/components/schemas/WorkingHoursWindow'
          type: array
          title: Sunday
          description: Working-hour windows for Sunday.
          input_field_helper_text: Add one or more time windows.
      type: object
      title: Working Hours Windows List for the day of the week
      description: |-
        Simple day->windows configuration.

        Keys are weekday short names: mon,tue,wed,thu,fri,sat,sun.
        Values are lists of windows (e.g. [{start:'08:15', end:'11:00'}, ...]).
    IntegrationRecordSource:
      type: string
      enum:
        - from_upstream
        - by_interactly
      title: IntegrationRecordSource
      x-enumTitles:
        by_interactly: By Interactly
        from_upstream: From Upstream
    IntegrationAddress:
      properties:
        line:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: Address Lines
          description: Street address or P.O. Box
        city:
          anyOf:
            - type: string
            - type: 'null'
          title: City
          description: City of the address
        state:
          anyOf:
            - type: string
            - type: 'null'
          title: State
          description: State or province of the address
        postalCode:
          anyOf:
            - type: string
            - type: 'null'
          title: Postal Code
          description: Postal or ZIP code of the address
        country:
          anyOf:
            - type: string
            - type: 'null'
          title: Country
          description: Country of the address
        use:
          anyOf:
            - type: string
            - type: 'null'
          title: Used for
          description: Usage qualifier for the address (e.g., home, work).
        type:
          anyOf:
            - type: string
            - type: 'null'
          title: Type of Address
          description: Type qualifier for the address (e.g., postal, physical, both).
      type: object
      title: Address
      description: |-
        Model representing an address associated with an integration.
        Ex: {
            "line": [
                "501 Broad Street",
                "Suite 400"
            ],
            "city": "ROME",
            "state": "GA",
            "postalCode": "30161-3096"
        }
    IntegrationLocationPosition:
      properties:
        latitude:
          anyOf:
            - type: string
            - type: number
            - type: 'null'
          title: Latitude
          description: Latitude of the location
        longitude:
          anyOf:
            - type: string
            - type: number
            - type: 'null'
          title: Longitude
          description: Longitude of the location
      type: object
      title: Location Position
      description: Model representing geographical position of a location.
    IntegrationTelecom:
      properties:
        system:
          anyOf:
            - type: string
            - type: 'null'
          title: Telecom System
          description: The system that defines the type of telecom communication
        value:
          anyOf:
            - type: string
            - type: 'null'
          title: Telecom Value
          description: The actual telecom communication value (e.g., phone number)
        use:
          anyOf:
            - type: string
            - type: 'null'
          title: Telecom Use
          description: The purpose of the telecom communication (e.g., work, home)
        rank:
          anyOf:
            - type: integer
            - type: 'null'
          title: Telecom Rank
          description: The rank or priority of the telecom communication
      type: object
      title: Telecom
      description: |-
        Model representing telecom information associated with an integration.
        Ex: {
            "system": "phone",
            "value": "555-123-4567",
            "use": "work",
            "rank": 1
        }
    IntegrationVisitReasonApplicableUseCaseType:
      type: string
      enum:
        - scheduling
        - cancel_reschedule
      title: IntegrationVisitReasonApplicableUseCaseType
      description: Defines the type of use-case for an integration.
      x-enumTitles:
        cancel_reschedule: Appointment Rescheduling or Cancellation
        scheduling: Appointment Scheduling
    IntegrationPatientStatus:
      type: string
      enum:
        - created
        - updated
        - sync_created
        - sync_failed
        - existing_patient
      title: IntegrationPatientStatus
      description: Defines appointment status options for integration
      x-enumTitles:
        created: Created
        existing_patient: Existing Patient
        sync_created: Sync Created
        sync_failed: Sync Failed
        updated: Updated
    IntegrationGender:
      type: string
      enum:
        - male
        - female
        - unknown
        - Unknown
        - prefer not to answer
      title: IntegrationGender
      description: Defines gender options for integration
      x-enumTitles:
        Unknown: Unknown
        female: Female
        male: Male
        prefer not to answer: Prefer Not to Answer
        unknown: unknown
    PatientNotificationPreferences:
      properties:
        phone:
          type: boolean
          title: Phone
          description: Patient opted for Phone calls
          default: false
        sms:
          type: boolean
          title: SMS
          description: Patient opted for SMS messages
          default: false
        email:
          type: boolean
          title: Email
          description: Patient opted for Emails
          default: true
      type: object
      title: Notification Preferences
      description: >-
        Structured notification preferences for a patient used across request
        and response models.
    IntegrationPatientCreatedSource:
      type: string
      enum:
        - web
        - app
        - call
        - sync
        - existing_patient_through_web
      title: IntegrationPatientCreatedSource
      x-enumTitles:
        app: App
        call: Call
        existing_patient_through_web: Existing Patient Through Web
        sync: Sync
        web: Web
    IntegrationTrackingDetails:
      properties:
        utm_source_id:
          anyOf:
            - type: string
            - type: 'null'
          title: UTM Source ID
          description: >-
            UTM source label id for miscellaneous-information-item. This is used
            to track the source of traffic for the integration.
        utm_medium_id:
          anyOf:
            - type: string
            - type: 'null'
          title: UTM Medium ID
          description: >-
            UTM medium label id for miscellaneous-information-item. This is used
            to track the medium of traffic for the integration.
        utm_campaign_id:
          anyOf:
            - type: string
            - type: 'null'
          title: UTM Campaign ID
          description: >-
            UTM campaign label id for miscellaneous-information-item. This is
            used to track the campaign of traffic for the integration.
        patient_creation:
          anyOf:
            - $ref: '#/components/schemas/IntegrationTrackingStatus'
            - type: 'null'
          title: Patient Creation Status
          description: Indicates the current status of the patient creation process.
          default: not_started
        appointment_creation:
          anyOf:
            - $ref: '#/components/schemas/IntegrationTrackingStatus'
            - type: 'null'
          title: Appointment Creation Status
          description: Indicates the current status of the appointment creation process.
          default: not_started
        insurance_flow_status:
          anyOf:
            - $ref: '#/components/schemas/IntegrationFlowStatus'
            - type: 'null'
          title: Insurance Flow Status
          description: Indicates the current status of the insurance verification process.
          default: insurance_verification_not_required
        utm_source:
          anyOf:
            - type: string
            - type: 'null'
          title: UTM Source
          description: The source of the traffic (e.g., email, linkedin).
        utm_medium:
          anyOf:
            - type: string
            - type: 'null'
          title: UTM Medium
          description: The medium of the traffic (e.g., social, press_release).
        utm_campaign:
          anyOf:
            - type: string
            - type: 'null'
          title: UTM Campaign
          description: The name of the campaign (e.g., product_launch).
      type: object
      title: Integration Tracking Details
    IntegrationConsentDetails:
      properties:
        terms_accepted:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Terms of Use Privacy and HIPAA Authorization Accepted
          description: >-
            Indicates whether the patient has accepted the terms and conditions
            for the session.
          default: false
        terms_accepted_timestamp:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Terms Accepted Timestamp
          description: Timestamp when the terms were accepted.
          input_field_type: datetime_iso8601
        captcha_verified:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Captcha Verified
          description: Indicates whether the captcha verification was successful.
          default: false
        captcha_verified_timestamp:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Captcha Verified Timestamp
          description: Timestamp when the captcha was verified.
          input_field_type: datetime_iso8601
        otp_verified:
          anyOf:
            - type: boolean
            - type: 'null'
          title: OTP Verified
          description: Indicates whether the OTP verification was successful.
          default: false
        otp_verified_timestamp:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: OTP Verified Timestamp
          description: Timestamp when the OTP was verified.
          input_field_type: datetime_iso8601
        otp_verified_for:
          anyOf:
            - type: string
            - type: 'null'
          title: OTP Verified For
          description: The contact method (email/phone) for which the OTP was verified.
        privacy_accepted:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Privacy Policy Accepted
          description: Indicates whether the patient has accepted the privacy policy.
          default: false
        privacy_accepted_timestamp:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Privacy Accepted Timestamp
          description: Timestamp when the privacy policy was accepted.
          input_field_type: datetime_iso8601
      type: object
      title: Integration Consent Details
    IntegrationInsuranceCoverage-Output:
      properties:
        logical_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Logical ID
          description: Unique identifier for the insurance coverage
        payment_method:
          anyOf:
            - $ref: '#/components/schemas/IntegrationPaymentMethod'
            - type: 'null'
          title: Payment Method
          description: Preferred payment method for the patient.
        is_primary_coverage:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Is Primary Coverage
          description: Indicates if this insurance coverage is the primary coverage.
          default: false
        documents_details:
          anyOf:
            - $ref: '#/components/schemas/IntegrationDocumentsDetails'
            - type: 'null'
          title: Documents Details
          description: Details about the documents associated.
        insurance_details:
          anyOf:
            - $ref: '#/components/schemas/IntegrationInsuranceDetails'
            - type: 'null'
          title: Insurance Details
          description: Details about the insurance associated.
        ocr_response:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: OCR Response
          description: OCR response data for insurance card images.
        stedi_response:
          anyOf:
            - $ref: '#/components/schemas/InsuranceVerificationResponse'
            - type: 'null'
          title: Stedi Response
          description: Stedi response data for insurance details.
        created_at:
          type: string
          format: date-time
          title: Created At
        updated_at:
          type: string
          format: date-time
          title: Updated At
      type: object
      title: Insurance Coverage
    IntegrationAppointmentStatus:
      type: string
      enum:
        - scheduled
        - cancelled
        - rescheduled
        - reschedule_failed
        - cancel_failed
        - sync_created
        - sync_updated
        - sync_failed
      title: IntegrationAppointmentStatus
      description: Defines appointment status options for integration
      x-enumTitles:
        cancelled: Cancelled
        reschedule_failed: Reschedule Failed
        rescheduled: Rescheduled
        scheduled: Scheduled
        sync_created: Sync Created
        sync_failed: Sync Failed
        sync_updated: Sync Updated
    IntegrationPaymentMethod:
      type: string
      enum:
        - self_pay
        - commercial_insurance
        - medicare
        - medicaid
      title: IntegrationPaymentMethod
      x-enumTitles:
        commercial_insurance: Commercial Insurance
        medicaid: Medicaid
        medicare: Medicare
        self_pay: Self Pay
    IntegrationInsuranceHandlingStrategy:
      type: string
      enum:
        - insurance_from_ehr
        - insurance_from_uploaded_cards
      title: Insurance Verification Handling Strategy
      description: >-
        Defines strategies for handling insurance information during appointment
        scheduling and reminders.
      x-enumTitles:
        insurance_from_ehr: Use Insurance from EHR
        insurance_from_uploaded_cards: Use Insurance from Uploaded Cards
    IntegrationAppointmentCreatedSource:
      type: string
      enum:
        - web
        - app
        - call
        - sync
      title: IntegrationAppointmentCreatedSource
      x-enumTitles:
        app: App
        call: Call
        sync: Sync
        web: Web
    IntegrationVisitDetails-Output:
      properties:
        visit_reason_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Visit Reason ID
          description: Identifier for the visit reason associated with the session.
        visit_reason:
          anyOf:
            - type: string
            - type: 'null'
          title: Visit Reason
          description: High-level reason for the visit.
        visit_reason_other:
          anyOf:
            - type: string
            - type: 'null'
          title: Visit Reason Other
          description: >-
            Additional details if the visit reason is categorized as 'Other' or
            'Not Listed'.
        visit_type:
          anyOf:
            - $ref: '#/components/schemas/IntegrationVisitTypes'
            - type: 'null'
          title: Visit Type
          description: Type of the visit (e.g., First Time, Follow Up).
      type: object
      title: Integration Visit Details
    IntegrationAppointmentReminder:
      properties:
        delivery_status:
          anyOf:
            - $ref: >-
                #/components/schemas/IntegrationAppointmentReminderDeliveryStatus
            - type: 'null'
          title: Delivery Status
          description: >-
            Status of the appointment reminder delivery (e.g., pending, sent,
            failed).
          default: not_required
        delivery_channels:
          items:
            $ref: '#/components/schemas/IntegrationCommunicationChannel'
          type: array
          title: Delivery Channels
          description: >-
            Channels through which the reminder was sent (e.g., SMS, email,
            phone call).
        reason_for_reminder:
          anyOf:
            - type: string
            - type: 'null'
          title: Reason for Reminder
          description: >-
            Reason for sending the appointment reminder (e.g., upcoming
            appointment, missed appointment).
        delivery_timestamp:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Delivery Timestamp
          description: Timestamp when the reminder was delivered to the patient.
          input_field_type: datetime_iso8601
        response_channel:
          anyOf:
            - $ref: '#/components/schemas/IntegrationCommunicationChannel'
            - type: 'null'
          title: Response Channel
          description: >-
            Channel through which the patient responded to the reminder (e.g.,
            SMS, email, phone call).
        response_outcome:
          anyOf:
            - $ref: >-
                #/components/schemas/IntegrationAppointmentReminderResponseOutcome
            - type: 'null'
          title: Response Outcome
          description: >-
            Outcome of the patient's response to the reminder (e.g., confirmed,
            rescheduled, cancelled, no response).
        response_timestamp:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Response Timestamp
          description: Timestamp when the patient responded to the reminder.
          input_field_type: datetime_iso8601
      type: object
      title: Appointment Reminder
    IntegrationInsuranceReminder-Output:
      properties:
        channels:
          items:
            $ref: '#/components/schemas/InsuranceReminderChannelStatus'
          type: array
          title: Channels
          description: Per-channel delivery tracking for the insurance reminder.
        reason_for_reminder:
          anyOf:
            - type: string
            - type: 'null'
          title: Reason for Reminder
          description: >-
            Reason for sending the insurance reminder (e.g., upcoming
            appointment, missed appointment).
        delivery_status:
          $ref: '#/components/schemas/IntegrationAppointmentReminderDeliveryStatus'
          title: Delivery Status
          description: DELIVERED if any opted channel was delivered, otherwise FAILED.
          readOnly: true
      type: object
      required:
        - delivery_status
      title: Insurance Reminder
    IntegrationInsuranceResults:
      properties:
        is_process_completed:
          anyOf:
            - $ref: '#/components/schemas/IntegrationAnswers'
            - type: 'null'
          title: Is Insurance Validated
          description: Indicates whether the insurance has been validated successfully.
        message:
          anyOf:
            - type: string
            - type: 'null'
          title: Message
          description: >-
            Additional information or message related to the insurance
            validation process.
        is_insurance_card_uploaded:
          anyOf:
            - $ref: '#/components/schemas/IntegrationAnswers'
            - type: 'null'
          title: Is Insurance Card Uploaded
          description: >-
            Indicates whether the insurance card has been uploaded by the
            patient.
        is_insurance_card_uploaded_to_ehr:
          anyOf:
            - $ref: '#/components/schemas/IntegrationAnswers'
            - type: 'null'
          title: Is Insurance Card Uploaded to EHR
          description: Indicates whether the insurance card has been uploaded to the EHR.
        is_ocr_extracted:
          anyOf:
            - $ref: '#/components/schemas/IntegrationAnswers'
            - type: 'null'
          title: Is OCR Extracted
          description: >-
            Indicates whether the OCR extraction has been performed on the
            uploaded insurance card.
        stedi_final_status:
          anyOf:
            - $ref: '#/components/schemas/InsuranceStediFinalStatus'
            - type: 'null'
          title: Stedi Final Status
          description: >-
            The final status of the insurance verification process performed by
            Stedi.
        stedi_final_summary:
          anyOf:
            - type: string
            - type: 'null'
          title: Stedi Final Summary
          description: >-
            A summary of the final results from Stedi after insurance
            verification.
        is_coverage_added_to_ehr:
          anyOf:
            - $ref: '#/components/schemas/IntegrationAnswers'
            - type: 'null'
          title: Is Coverage Added to EHR
          description: Indicates whether the insurance coverage has been added to the EHR.
        is_billing_notes_updated_to_ehr:
          anyOf:
            - $ref: '#/components/schemas/IntegrationAnswers'
            - type: 'null'
          title: Is Billing Notes Updated to EHR
          description: Indicates whether the billing notes have been updated in the EHR.
        is_stedi_response_uploaded_to_ehr:
          anyOf:
            - $ref: '#/components/schemas/IntegrationAnswers'
            - type: 'null'
          title: Is Stedi Response Uploaded to EHR
          description: >-
            Indicates whether the stedi response file has been uploaded to the
            EHR.
      type: object
      title: Insurance Results
    IntegrationUseCaseType:
      type: string
      enum:
        - appointment_reminder_with_sheet
        - lab_reminder_with_sheet
        - appointment_reminder
        - final_appointment_notification
        - lab_reminder
        - appointment_scheduling
        - appointment_cancellation
        - appointment_rescheduling
        - appointment_scheduling_with_waitlist
        - medication_refill
        - invoice_enquiry
        - web_scheduling
        - insurance_reminder
        - appointment_enquiry
      title: IntegrationUseCaseType
      description: Defines the type of use-case for an integration.
      x-enumTitles:
        appointment_cancellation: Appointment Cancellation
        appointment_enquiry: Appointment Enquiry
        appointment_reminder: Appointment Reminder
        appointment_reminder_with_sheet: Appointment Reminder with Sheet
        appointment_rescheduling: Appointment Rescheduling
        appointment_scheduling: Appointment Scheduling
        appointment_scheduling_with_waitlist: Appointment Scheduling with Waitlist
        final_appointment_notification: Final Appointment Notification
        insurance_reminder: Insurance Reminder
        invoice_enquiry: Invoice Enquiry
        lab_reminder: Lab Reminder
        lab_reminder_with_sheet: Lab Reminder with Sheet
        medication_refill: Medication Refill
        web_scheduling: Web Scheduling
    IntegrationWebSessionFlowType:
      type: string
      enum:
        - scheduling_flow
        - insurance_flow
        - appointment_confirmation_flow
      title: IntegrationWebSessionFlowType
      description: Defines the type of web session flow.
      x-enumTitles:
        appointment_confirmation_flow: Appointment Confirmation Flow
        insurance_flow: Insurance Flow
        scheduling_flow: Scheduling Flow
    IntegrationCommunicationChannel:
      type: string
      enum:
        - call
        - sms
        - email
      title: Communication Channel
      description: Defines communication channels.
      x-enumTitles:
        call: Call
        email: Email
        sms: SMS
    IntegrationUITemplates:
      type: string
      enum:
        - scheduling-session-v2
      title: IntegrationUITemplates
      description: Defines the UI templates available for integrations.
      x-enumTitles:
        scheduling-session-v2: Scheduling Session V2
    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
    WorkingHoursWindow:
      properties:
        start:
          type: string
          title: Start
          description: Start time in HH:MM (24h) format
          input_field_helper_text: 'Example: 08:15'
          input_field_type: time_picker
        end:
          type: string
          title: End
          description: End time in HH:MM (24h) format
          input_field_helper_text: 'Example: 16:00'
          input_field_type: time_picker
      type: object
      required:
        - start
        - end
      title: Working Hours Window
      description: |-
        A single working-hours window within a day.

        Times are local times (no timezone). They apply to the date of the slot.
    IntegrationTrackingStatus:
      type: string
      enum:
        - not_started
        - in_progress
        - completed
      title: IntegrationTrackingStatus
      x-enumTitles:
        completed: Completed
        in_progress: In Progress
        not_started: Not Started
    IntegrationFlowStatus:
      type: string
      enum:
        - insurance_verification_not_required
        - waiting_for_patient_to_upload_insurance
        - insurance_uploaded
        - insurance_verification_in_progress
        - insurance_verification_success
        - insurance_verification_failed
      title: Flow Status
      description: Represents the flow status of the integration.
      x-enumTitles:
        insurance_uploaded: Insurance Uploaded
        insurance_verification_failed: Insurance Verification Failed
        insurance_verification_in_progress: Insurance Verification In Progress
        insurance_verification_not_required: Insurance Verification Not Required
        insurance_verification_success: Insurance Verification Success
        waiting_for_patient_to_upload_insurance: Waiting for Patient to Upload Insurance
    IntegrationDocumentsDetails:
      properties:
        insurance_card_front:
          anyOf:
            - $ref: '#/components/schemas/IntegrationFileDetails'
            - type: 'null'
          title: Insurance Card Front
          description: Insurance Card Front image details.
        insurance_card_back:
          anyOf:
            - $ref: '#/components/schemas/IntegrationFileDetails'
            - type: 'null'
          title: Insurance Card Back
          description: Insurance Card Back image details.
        insurance_card_combined:
          anyOf:
            - $ref: '#/components/schemas/IntegrationFileDetails'
            - type: 'null'
          title: Combined Insurance Card
          description: >-
            Combined image of the insurance card (both front and back in one
            image) details.
        personal_card_front:
          anyOf:
            - $ref: '#/components/schemas/IntegrationFileDetails'
            - type: 'null'
          title: Personal Card Front
          description: Personal Card Front image details.
        personal_card_back:
          anyOf:
            - $ref: '#/components/schemas/IntegrationFileDetails'
            - type: 'null'
          title: Personal Card Back
          description: Personal Card Back image details.
      type: object
      title: Integration Documents Details
    IntegrationInsuranceDetails:
      properties:
        logical_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Logical ID
          description: Unique identifier for the insurance coverage
        member_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Member ID
          description: Member ID of the insurance
        payer_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Payer ID
          description: Payer ID of the insurance
        member_type:
          anyOf:
            - $ref: '#/components/schemas/IntegrationMemberType'
            - type: 'null'
          title: Member Type
          description: 'Type of the insurance member, Ex: Primary/Dependent'
        relationship:
          anyOf:
            - type: string
            - type: 'null'
          title: Relationship
          description: >-
            Patient's Relationship with policy holder. Self in case of
            member_type is Primary.One of child, Spouse, Parent, Other in case
            of member_type is Dependent.
          default: self
        payer_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Payer Name
          description: Name of the insurance payer
        primary_member_first_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Primary Member First Name
          description: First name of the primary insurance member
        primary_member_last_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Primary Member Last Name
          description: Last name of the primary insurance member
        primary_member_gender:
          anyOf:
            - type: string
            - type: 'null'
          title: Primary Member gender
          description: Gender of the primary insurance member
        primary_member_dob:
          anyOf:
            - type: string
            - type: 'null'
          title: Primary Member DOB
          description: DOB of the primary insurance member
        start_date:
          anyOf:
            - type: string
            - type: 'null'
          title: Start Date
          description: Start date of the insurance coverage
        end_date:
          anyOf:
            - type: string
            - type: 'null'
          title: End Date
          description: End date of the insurance coverage
        insurance_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Insurance ID
          description: Insurance ID number
      type: object
      title: Insurance Coverage
    InsuranceVerificationResponse:
      properties:
        status:
          anyOf:
            - $ref: '#/components/schemas/InsuranceVerificationStatus'
            - type: 'null'
          title: Verification Status
          description: The status of the insurance verification attempt.
        statusReason:
          anyOf:
            - type: string
            - type: 'null'
          title: Status Reason
          description: Reason for the current status of the insurance verification.
        fullResponse:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Full Response
          description: Complete response data from the insurance verification API.
        miniResponse:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Mini Response
          description: A summarized version of the full response.
        summaryNotes:
          anyOf:
            - type: string
            - type: 'null'
          title: Summary Notes
          description: Additional notes summarizing the verification response.
          default: ''
        insuranceNameMatch:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Insurance Name Match
          description: Indicates if the insurance name matches the expected payer.
          default: false
        insurancePayerDetails:
          anyOf:
            - $ref: '#/components/schemas/InsurancePayerDetails'
            - type: 'null'
          title: Insurance Payer Details
          description: >-
            The details of the insurance payer from the response. has id +
            matching name from the available insurances list
        insuranceNameNotFoundInEHR:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Insurance Name Not Found In EHR
          description: >-
            Indicates if the insurance name from the verification response was
            not found in the EHR system.
          default: false
        stediRequests:
          anyOf:
            - items: {}
              type: array
            - type: 'null'
          title: Stedi Requests
          description: >-
            List of all HTTP request bodies sent to the Stedi eligibility API
            during verification.
      type: object
      title: InsuranceVerificationResponse
      description: |-
        Standardized response model for insurance verification API.

        This model ensures all responses follow a consistent structure,
        with the actual outcome conveyed through the status field.
    IntegrationVisitTypes:
      type: string
      enum:
        - first_time
        - follow_up
      title: IntegrationVisitTypes
      description: Defines gender options for integration
      x-enumTitles:
        first_time: First Time
        follow_up: Follow Up
    IntegrationAppointmentReminderDeliveryStatus:
      type: string
      enum:
        - not_required
        - queued
        - delivered
        - failed
        - completed
        - not_found_in_upstream
      title: Reminder Delivery Status
      description: Delivery status of reminder to patient.
      x-enumTitles:
        completed: Completed
        delivered: Delivered
        failed: Failed
        not_found_in_upstream: Not Found in Upstream
        not_required: Not Required
        queued: Queued
    IntegrationAppointmentReminderResponseOutcome:
      type: string
      enum:
        - confirmed
        - reschedule_requested
        - cancellation_requested
        - call_forwarded
        - not_sure
        - voicemail
        - unable_to_leave_voicemail
        - verification_failed
        - unknown
      title: Appointment Reminder Response Outcome
      description: Patient's response to the appointment reminder.
      x-enumTitles:
        call_forwarded: Call Forwarded
        cancellation_requested: Cancellation Requested
        confirmed: Confirmed
        not_sure: Not Sure
        reschedule_requested: Reschedule Requested
        unable_to_leave_voicemail: Unable to Leave Voicemail
        unknown: Unknown
        verification_failed: Verification Failed
        voicemail: Voicemail
    InsuranceReminderChannelStatus:
      properties:
        channel:
          $ref: '#/components/schemas/IntegrationCommunicationChannel'
          title: Channel
          description: The communication channel (e.g., SMS, email, call).
        opted:
          type: boolean
          title: Opted
          description: Whether this channel was opted in for the insurance reminder.
          default: false
        delivery_status:
          anyOf:
            - $ref: >-
                #/components/schemas/IntegrationAppointmentReminderDeliveryStatus
            - type: 'null'
          title: Delivery Status
          description: Delivery status for this channel.
        delivery_timestamp:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Delivery Timestamp
          description: Timestamp when the reminder was delivered via this channel.
          input_field_type: datetime_iso8601
      type: object
      required:
        - channel
      title: Insurance Reminder Channel Status
    IntegrationAnswers:
      type: string
      enum:
        - 'yes'
        - 'no'
        - skip
        - not_applicable
      title: Answer
      description: Defines possible answers for integration questions.
      x-enumTitles:
        'no': 'No'
        not_applicable: Not Applicable
        skip: Skip
        'yes': 'Yes'
    InsuranceStediFinalStatus:
      type: string
      enum:
        - active_insurance
        - inactive_insurance
        - unable_to_verify_insurance
      title: InsuranceStediFinalStatus
      x-enumTitles:
        active_insurance: Active Insurance
        inactive_insurance: Inactive Insurance
        unable_to_verify_insurance: Unable to Verify Insurance
    IntegrationFileDetails:
      properties:
        bucketName:
          anyOf:
            - type: string
            - type: 'null'
          title: Bucket Name
          description: Name of the S3 bucket where the file is stored.
        fileKey:
          anyOf:
            - type: string
            - type: 'null'
          title: File Key
          description: Key of the file stored in the S3 bucket.
        fileName:
          anyOf:
            - type: string
            - type: 'null'
          title: File Name
          description: Original name of the file.
        contentType:
          anyOf:
            - type: string
            - type: 'null'
          title: Content Type
          description: MIME type of the file.
        fileSignedUrl:
          anyOf:
            - type: string
            - type: 'null'
          title: File Signed URL
          description: >-
            Signed URL to access the file. This URL is temporary and should be
            used promptly.
          input_field_not_visible: true
        fileContentBase64:
          anyOf:
            - type: string
            - type: 'null'
          title: File Content Base64
          description: Base64 encoded content of the file.
          input_field_not_visible: true
      type: object
      title: File Details
      description: Model representing a practitioner's location.
    IntegrationMemberType:
      type: string
      enum:
        - primary
        - dependent
      title: IntegrationMemberType
      x-enumTitles:
        dependent: Dependent
        primary: Primary
    InsuranceVerificationStatus:
      type: string
      enum:
        - INSURANCE_COVERAGE_VERIFICATION_SUCCESS
        - INSURANCE_COVERAGE_VERIFICATION_INVALID_DATA
        - INSURANCE_COVERAGE_VERIFICATION_INACTIVE
        - INSURANCE_COVERAGE_VERIFICATION_ERROR
      title: InsuranceVerificationStatus
      description: Status values for insurance coverage verification responses.
      x-enumTitles:
        INSURANCE_COVERAGE_VERIFICATION_ERROR: Verification Error
        INSURANCE_COVERAGE_VERIFICATION_INACTIVE: Insurance Inactive
        INSURANCE_COVERAGE_VERIFICATION_INVALID_DATA: Invalid Data Provided
        INSURANCE_COVERAGE_VERIFICATION_SUCCESS: Insurance Coverage Verified
    InsurancePayerDetails:
      properties:
        insurance_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Insurance ID
          description: The unique identifier for the insurance payer.
        insurance_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Insurance Name
          description: The name of the insurance payer.
      type: object
      title: InsurancePayerDetails
      description: Details of the insurance payer from the response.
  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).

````