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

# Webhook Events List

> List and search for attempts to *deliver* `Events` for a particular `Webhook` (i.e. `WebhookDeliveryAttempts`).



## OpenAPI

````yaml get /webhook/decoda/{webhook_id}/delivery-attempts/list
openapi: 3.1.0
info:
  title: Decoda API
  description: External API documentation for the Decoda Health platform.
  version: '1.0'
servers: []
security: []
paths:
  /webhook/decoda/{webhook_id}/delivery-attempts/list:
    get:
      tags:
        - webhook
      summary: Webhook Events List
      description: >-
        List and search for attempts to *deliver* `Events` for a particular
        `Webhook` (i.e. `WebhookDeliveryAttempts`).
      operationId: >-
        webhook_events_list_webhook_decoda__webhook_id__delivery_attempts_list_get
      parameters:
        - name: TENANT
          in: header
          required: true
          schema:
            type: string
            title: Tenant
          description: The tenant you are making this request on behalf of
        - name: API-KEY
          in: header
          required: true
          schema:
            type: string
            title: Api-Key
          description: Your api key
        - name: webhook_id
          in: path
          required: true
          schema:
            type: string
            title: Webhook Id
        - name: event_type
          in: query
          required: false
          schema:
            anyOf:
              - $ref: '#/components/schemas/WebhookEventType'
              - type: 'null'
            description: The type of event to filter by
            title: Event Type
          description: The type of event to filter by
        - name: is_delivered
          in: query
          required: false
          schema:
            anyOf:
              - type: boolean
              - type: 'null'
            description: >-
              Filter by if the event has not been delivered (i.e. we have not
              recieved a 200 from you for this event.)
            title: Is Delivered
          description: >-
            Filter by if the event has not been delivered (i.e. we have not
            recieved a 200 from you for this event.)
        - name: created_before
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date-time
              - type: 'null'
            description: Get Events created before this date
            title: Created Before
          description: Get Events created before this date
        - name: created_after
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date-time
              - type: 'null'
            description: Get Events created after this date
            title: Created After
          description: Get Events created after this date
        - name: last_delivery_attempt_status
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              Filter by the HTTP status of the most recent delivery attempt
              (i.e. 200, 404, 500, etc.)
            title: Last Delivery Attempt Status
          description: >-
            Filter by the HTTP status of the most recent delivery attempt (i.e.
            200, 404, 500, etc.)
        - name: last_delivery_attempt_error
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: Filter by the error message of the most recent delivery attempt
            title: Last Delivery Attempt Error
          description: Filter by the error message of the most recent delivery attempt
        - name: delivery_date_before
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date-time
              - type: 'null'
            description: Get Events with a delivery date before this date
            title: Delivery Date Before
          description: Get Events with a delivery date before this date
        - name: delivery_date_after
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date-time
              - type: 'null'
            description: Get Events with a delivery date after this date
            title: Delivery Date After
          description: Get Events with a delivery date after this date
        - name: sort_by
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: The field to sort by
            default: created_date
            title: Sort By
          description: The field to sort by
        - name: sort_direction
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                enum:
                  - asc
                  - desc
              - type: 'null'
            description: The direction to sort by
            default: desc
            title: Sort Direction
          description: The direction to sort by
        - name: limit
          in: query
          required: false
          schema:
            anyOf:
              - type: integer
              - type: 'null'
            description: The maximum number of results to return
            default: 10
            title: Limit
          description: The maximum number of results to return
        - name: offset
          in: query
          required: false
          schema:
            anyOf:
              - type: integer
              - type: 'null'
            description: The number of results to skip at the beginning
            default: 0
            title: Offset
          description: The number of results to skip at the beginning
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/WebhookDeliveryAttemptSummary'
                title: >-
                  Response Webhook Events List Webhook Decoda  Webhook Id 
                  Delivery Attempts List Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    WebhookEventType:
      type: string
      enum:
        - PAYMENT_CREATED
        - PAYMENT_COMPLETED
        - PAYMENT_FAILED
        - CHARGE_CREATED
        - ADJUSTMENT_CREATED
        - REFUND_CREATED
        - PATIENT_CREATED
        - PATIENT_UPDATED
      title: WebhookEventType
      description: >-
        WebhookEventType is an enum that represents the type of event that will
        be sent to the webhook.
    WebhookDeliveryAttemptSummary:
      properties:
        id:
          type: string
          title: Id
          description: Unique identifier for the webhook delivery attempt.
        type:
          $ref: '#/components/schemas/AlertType'
          description: The type of event.
        data:
          anyOf:
            - $ref: '#/components/schemas/PaymentSummary'
            - $ref: '#/components/schemas/RefundSummary'
            - $ref: '#/components/schemas/AdjustmentSummary'
            - $ref: '#/components/schemas/ChargeSummary-Output'
            - $ref: '#/components/schemas/ServiceDetail'
            - $ref: '#/components/schemas/MessageSummary'
            - $ref: '#/components/schemas/PaymentWithCharges'
            - $ref: '#/components/schemas/PatientSummary'
            - $ref: '#/components/schemas/InvoiceUpdate'
            - $ref: '#/components/schemas/LowPatientReviewData'
            - $ref: '#/components/schemas/InvoiceSetUpdate'
            - $ref: '#/components/schemas/Notification'
            - $ref: '#/components/schemas/CallSummary'
            - $ref: '#/components/schemas/EventDetail'
            - $ref: '#/components/schemas/UpdatedAppointment'
            - $ref: '#/components/schemas/AnsweredFormTiny'
            - $ref: '#/components/schemas/PlannedPaymentSummary'
            - $ref: '#/components/schemas/PayinEvent'
            - $ref: '#/components/schemas/ChatUpdate'
            - $ref: '#/components/schemas/InventoryLog'
            - $ref: '#/components/schemas/ChargePaymentUpdate'
            - $ref: '#/components/schemas/AppointmentChecklistUpdatedData'
            - $ref: '#/components/schemas/DepositEvent'
          title: Data
          description: The `Alert's` data associated with this `WebhookDeliveryAttempt`.
        createdDate:
          type: string
          format: date-time
          title: Createddate
          description: The date and time when the event was created.
        alertId:
          type: string
          title: Alertid
          description: The `Alert`'s id associated with this `WebhookDeliveryAttempt`.
        deliveredDate:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Delivereddate
          description: The date and time when the event was delivered.
        lastDeliveryAttemptDate:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Lastdeliveryattemptdate
          description: The date and time when the last delivery attempt was made.
        lastDeliveryAttemptStatus:
          anyOf:
            - type: integer
            - type: 'null'
          title: Lastdeliveryattemptstatus
          description: The HTTP status of the last delivery attempt.
        lastDeliveryAttemptError:
          anyOf:
            - type: string
            - type: 'null'
          title: Lastdeliveryattempterror
          description: The error message from the last delivery attempt, if any.
      type: object
      required:
        - id
        - type
        - data
        - createdDate
        - alertId
      title: WebhookDeliveryAttemptSummary
      description: An Event in Decoda's system.
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    AlertType:
      type: string
      enum:
        - PATIENT_CREATED
        - PATIENT_UPDATED
        - APPOINTMENT_CANCELLED
        - APPOINTMENT_UPDATED
        - APPOINTMENT_REQUEST
        - APPOINTMENT_SCHEDULED
        - SELF_SCHEDULED_APPOINTMENT
        - SELF_SCHEDULED_APPOINTMENT_CANCELLED
        - SELF_SCHEDULED_APPOINTMENT_UPDATED
        - BLOCK_CREATED
        - BLOCK_CANCELLED
        - BLOCK_UPDATED
        - SHIFT_CREATED
        - SHIFT_CANCELLED
        - SHIFT_UPDATED
        - PAYMENT_CREATED
        - PAYMENT_FAILED
        - PAYMENT_SUCCEEDED
        - PLANNED_PAYMENT_FAILED
        - PLANNED_PAYMENT_SUCCEEDED
        - CHARGE_CREATED
        - REFUND_CREATED
        - REFUND_FAILED
        - REFUND_SUCCEEDED
        - ADJUSTMENT_CREATED
        - ADJUSTMENT_FAILED
        - ADJUSTMENT_SUCCEEDED
        - INVOICE_UPDATED
        - INVOICE_STATUS_UPDATE
        - INVOICE_SET_UPDATED
        - CHARGE_PAYMENT_CREATED
        - CALL_RECEIVED
        - CALL_MADE
        - CALL_ONGOING
        - MESSAGE_RECEIVED
        - MESSAGE_SENT
        - MESSAGE_DELIVERED
        - MESSAGE_FAILED
        - EMAIL_RECEIVED
        - EMAIL_SENT
        - MAIL_SENT
        - MAIL_DELIVERY_FAILED
        - FORM_SUBMITTED
        - APPOINTMENT_CHECKLIST_FILLED_FORM
        - APPOINTMENT_CHECKLIST_CHECKED_IN
        - APPOINTMENT_CHECKLIST_WITH_MA
        - APPOINTMENT_CHECKLIST_MEASUREMENT_TAKEN
        - APPOINTMENT_CHECKLIST_DOSE_TAKEN
        - APPOINTMENT_CHECKLIST_WITH_PROVIDER
        - APPOINTMENT_CHECKLIST_NOTE_TAKEN
        - APPOINTMENT_CHECKLIST_PAYMENT_MADE
        - APPOINTMENT_CHECKLIST_REQUEST_GFE
        - APPOINTMENT_CHECKLIST_PICTURE_TAKEN
        - APPOINTMENT_CHECKLIST_CARE_PLAN
        - NOTIFICATION
        - LOW_PATIENT_REVIEW
        - CHAT_UPDATE
        - RAINFOREST_PAYIN_FAILED
        - RAINFOREST_PAYIN_PROCESSING
        - RAINFOREST_POS_PAYIN_CANCELLED
        - RAINFOREST_DEPOSIT_IN_REVIEW
        - RAINFOREST_DEPOSIT_SUCCEEDED
        - RAINFOREST_DEPOSIT_FAILED
        - STOCK_LOW
        - STOCK_ADDED
        - STOCK_ARCHIVED
        - STOCK_LINKED_TO_ITEM
        - STOCK_UNLINKED_FROM_ITEM
        - STOCK_UPDATED
        - STOCK_DRAWDOWN
        - SHIPMENT_RECEIVED
        - SHIPMENT_UPDATED
        - SHIPMENT_ARCHIVED
        - ITEM_CREATED
        - ITEM_UPDATED
        - ITEM_ARCHIVED
        - INVENTORY_ACTION
      title: AlertType
    PaymentSummary:
      properties:
        id:
          type: string
          title: Id
          description: The unique identifier for the payment.
        patientId:
          anyOf:
            - type: string
            - type: 'null'
          title: Patientid
          description: The ID of the patient associated with the payment.
        payinId:
          anyOf:
            - type: string
            - type: 'null'
          title: Payinid
          description: The ID of the payin associated with the payment.
        amount:
          type: integer
          title: Amount
          description: The total amount of the payment.
        status:
          $ref: '#/components/schemas/PaymentStatus'
          description: The current status of the payment.
        currency:
          type: string
          title: Currency
          description: The currency in which the payment was made.
          default: USD
        payinConfigId:
          anyOf:
            - type: string
            - type: 'null'
          title: Payinconfigid
          description: The configuration ID for the payin.
        paymentMedium:
          type: string
          title: Paymentmedium
          description: The name of the payment medium.
        paymentMethodId:
          anyOf:
            - type: string
            - type: 'null'
          title: Paymentmethodid
          description: The ID of the payment method used.
        stripePaymentIntentId:
          anyOf:
            - type: string
            - type: 'null'
          title: Stripepaymentintentid
          description: Stripe's payment intent ID if used.
        failedReason:
          anyOf:
            - type: string
            - type: 'null'
          title: Failedreason
          description: Reason for payment failure if applicable.
        updatedDate:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Updateddate
          description: The date and time the payment was last updated.
        createdDate:
          type: string
          format: date-time
          title: Createddate
          description: The date and time the payment was created.
        fee:
          type: integer
          title: Fee
          description: The fee charged by the payment processor.
          default: 0
        feeToPatient:
          type: integer
          title: Feetopatient
          description: The fee charged to the patient for the transaction.
      type: object
      required:
        - id
        - amount
        - status
        - paymentMedium
        - createdDate
        - feeToPatient
      title: Payment
    RefundSummary:
      properties:
        id:
          type: string
          title: Id
        paymentId:
          type: string
          title: Paymentid
        amount:
          type: integer
          title: Amount
        reason:
          $ref: '#/components/schemas/RefundReason'
        createdDate:
          type: string
          format: date-time
          title: Createddate
        status:
          $ref: '#/components/schemas/PaymentStatus'
        rainforestRefundId:
          anyOf:
            - type: string
            - type: 'null'
          title: Rainforestrefundid
        fee:
          type: integer
          title: Fee
          default: 0
      type: object
      required:
        - id
        - paymentId
        - amount
        - reason
        - createdDate
        - status
      title: RefundSummary
    AdjustmentSummary:
      properties:
        chargeId:
          type: string
          title: Chargeid
        providerId:
          anyOf:
            - type: string
            - type: 'null'
          title: Providerid
        locationId:
          anyOf:
            - type: string
            - type: 'null'
          title: Locationid
        id:
          type: string
          title: Id
          description: Unique identifier for the adjustment
        amount:
          type: integer
          title: Amount
          description: Amount of the adjustment
        reason:
          anyOf:
            - type: string
            - type: 'null'
          title: Reason
          description: Reason for the adjustment
        createdDate:
          type: string
          format: date-time
          title: Createddate
          description: Date when the adjustment was created
        adjustmentType:
          $ref: '#/components/schemas/AdjustmentType'
          description: Type of the adjustment
      type: object
      required:
        - chargeId
        - id
        - amount
        - createdDate
        - adjustmentType
      title: AdjustmentSummary
    ChargeSummary-Output:
      properties:
        id:
          anyOf:
            - type: string
            - type: 'null'
          title: Id
          description: A unique identifier for the charge. Auto-generated if not provided.
        patientId:
          type: string
          title: Patientid
          description: Identifier of the patient being charged.
        patient:
          anyOf:
            - $ref: '#/components/schemas/PatientSummary'
            - type: 'null'
          description: Summary details of the patient being charged.
        total:
          type: integer
          title: Total
          description: Total amount of the charge.
          default: 0
        totalOutstanding:
          type: integer
          title: Totaloutstanding
          description: Total outstanding amount that is yet to be paid.
        description:
          anyOf:
            - type: string
            - type: 'null'
          title: Description
          description: Description of the charge.
        status:
          $ref: '#/components/schemas/ChargeStatus'
          description: Current status of the charge.
          default: OUTSTANDING
        discountAmount:
          anyOf:
            - type: integer
            - type: 'null'
          title: Discountamount
          description: Any discount applied to the total outstanding.
          default: 0
        discountPercentage:
          anyOf:
            - type: number
            - type: 'null'
          title: Discountpercentage
          description: Percentage of discount applied to the charge.
          default: 0
        externalId:
          anyOf:
            - type: string
            - type: 'null'
          title: Externalid
          description: External identifier for the charge, if applicable.
        externalCreatedDate:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Externalcreateddate
          description: >-
            The creation date of the charge in your external system, if
            applicable.
        ruleSetId:
          anyOf:
            - type: string
            - type: 'null'
          title: Rulesetid
          description: Identifier for the `RuleSet` applied to this `Charge`, if any.
        createdDate:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Createddate
          description: The date when the charge was created.
        creatorId:
          anyOf:
            - type: string
            - type: 'null'
          title: Creatorid
          description: >-
            Identifier of the `Provider` who created the charge (i.e. the
            Clinician, or relevant Biller).
        items:
          items:
            $ref: '#/components/schemas/ChargeItem'
          type: array
          title: Items
          description: List of `Items` in the `Charge`.
          default: []
        tips:
          items:
            $ref: '#/components/schemas/TipDetail'
          type: array
          title: Tips
          description: List of `Tips` in the `Charge`.
          default: []
        locationId:
          anyOf:
            - type: string
            - type: 'null'
          title: Locationid
          description: Identifier of the `Location` where the charge was created.
        eventId:
          anyOf:
            - type: string
            - type: 'null'
          title: Eventid
          description: Identifier of the `Event` this charge is associated with, if any.
        memberId:
          anyOf:
            - type: string
            - type: 'null'
          title: Memberid
          description: Identifier of the `Member` this charge is associated with, if any.
        comment:
          anyOf:
            - type: string
            - type: 'null'
          title: Comment
          description: Any additional comments about the charge.
        meta:
          anyOf:
            - type: object
            - type: 'null'
          title: Meta
          description: Any additional metadata about the charge relevant to your system.
        merchantAccountId:
          anyOf:
            - type: string
            - type: 'null'
          title: Merchantaccountid
          description: Identifier of the `MerchantAccount` this charge is associated with.
      type: object
      required:
        - patientId
        - totalOutstanding
      title: ChargeSummary
    ServiceDetail:
      properties:
        id:
          type: string
          title: Id
        duration:
          type: integer
          title: Duration
        name:
          type: string
          title: Name
        locationIds:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: Locationids
        color:
          type: string
          title: Color
        description:
          anyOf:
            - type: string
            - type: 'null'
          title: Description
        price:
          anyOf:
            - type: integer
            - type: 'null'
          title: Price
        displayPrice:
          anyOf:
            - type: integer
            - type: 'null'
          title: Displayprice
        costOfService:
          type: integer
          title: Costofservice
          default: 0
        estimated:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Estimated
          default: false
        bookingFee:
          type: integer
          title: Bookingfee
        bookingFeeText:
          anyOf:
            - type: string
            - type: 'null'
          title: Bookingfeetext
        reminderDaysBefore:
          anyOf:
            - type: integer
            - type: 'null'
          title: Reminderdaysbefore
          default: 1
        cancellationCost:
          anyOf:
            - type: integer
            - type: 'null'
          title: Cancellationcost
          default: 0
        hoursBeforeCancellingCosts:
          anyOf:
            - type: integer
            - type: 'null'
          title: Hoursbeforecancellingcosts
          default: 0
        bookingFeePercentage:
          anyOf:
            - type: integer
            - type: 'null'
          title: Bookingfeepercentage
        cancellationFeePctWithin24h:
          anyOf:
            - type: integer
            - type: 'null'
          title: Cancellationfeepctwithin24H
        cancellationFeePctWithin48h:
          anyOf:
            - type: integer
            - type: 'null'
          title: Cancellationfeepctwithin48H
        refundBookingFeeBefore48h:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Refundbookingfeebefore48H
          default: false
        hoursBeforeBookingFeeRefundable:
          anyOf:
            - type: integer
            - type: 'null'
          title: Hoursbeforebookingfeerefundable
        followUpDaysAfter:
          anyOf:
            - type: integer
            - type: 'null'
          title: Followupdaysafter
          default: 0
        followUpSmsTemplate:
          anyOf:
            - type: string
            - type: 'null'
          title: Followupsmstemplate
        providerIds:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: Providerids
        forms:
          anyOf:
            - items:
                $ref: '#/components/schemas/FormTiny'
              type: array
            - type: 'null'
          title: Forms
        createdDate:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Createddate
        updatedDate:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Updateddate
        confirmationSmsTemplate:
          anyOf:
            - type: string
            - type: 'null'
          title: Confirmationsmstemplate
        cancellationSmsTemplate:
          anyOf:
            - type: string
            - type: 'null'
          title: Cancellationsmstemplate
        noShowSmsTemplate:
          anyOf:
            - type: string
            - type: 'null'
          title: Noshowsmstemplate
        overrideNoticeSmsTemplate:
          anyOf:
            - type: string
            - type: 'null'
          title: Overridenoticesmstemplate
        reminderSmsTemplate:
          anyOf:
            - type: string
            - type: 'null'
          title: Remindersmstemplate
        selfSchedulingBufferTime:
          anyOf:
            - type: integer
            - type: 'null'
          title: Selfschedulingbuffertime
        visibility:
          $ref: '#/components/schemas/ServiceVisibilityType'
          default: ALL
        minutesBeforeRebookingAllowed:
          anyOf:
            - type: integer
            - type: 'null'
          title: Minutesbeforerebookingallowed
        allowIndividualProviderBooking:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Allowindividualproviderbooking
        displayOrder:
          anyOf:
            - type: integer
            - type: 'null'
          title: Displayorder
          default: 0
        reservedTimeMinutes:
          anyOf:
            - type: integer
            - type: 'null'
          title: Reservedtimeminutes
        category:
          anyOf:
            - type: string
            - type: 'null'
          title: Category
        isDoubleBookable:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Isdoublebookable
          default: true
        isPopular:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Ispopular
          default: false
        creditCardRequired:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Creditcardrequired
          default: false
        collectCreditCard:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Collectcreditcard
          default: false
        autoGfeTreatments:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: Autogfetreatments
        brandName:
          anyOf:
            - type: string
            - type: 'null'
          title: Brandname
        unit:
          anyOf:
            - $ref: '#/components/schemas/Unit'
            - type: 'null'
        internalNotes:
          anyOf:
            - type: string
            - type: 'null'
          title: Internalnotes
        sortOrder:
          anyOf:
            - type: integer
            - type: 'null'
          title: Sortorder
        taxable:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Taxable
          default: false
        allowCustomPricing:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Allowcustompricing
          default: false
      type: object
      required:
        - id
        - duration
        - name
        - color
        - bookingFee
      title: ServiceDetail
    MessageSummary:
      properties:
        id:
          type: string
          title: Id
        messageUid:
          anyOf:
            - type: string
            - type: 'null'
          title: Messageuid
        content:
          anyOf:
            - type: string
            - type: 'null'
          title: Content
        chatId:
          type: string
          title: Chatid
        status:
          $ref: '#/components/schemas/MessageStatus'
        errorMessage:
          anyOf:
            - type: string
            - type: 'null'
          title: Errormessage
        sendoMessageId:
          anyOf:
            - type: string
            - type: 'null'
          title: Sendomessageid
        sender:
          $ref: '#/components/schemas/UserTiny'
        functionCall:
          anyOf:
            - type: object
            - type: 'null'
          title: Functioncall
        createdDate:
          type: string
          format: date-time
          title: Createddate
        files:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: Files
          default: []
        suggestedMessages:
          anyOf:
            - items:
                $ref: '#/components/schemas/SuggestedMessageSummary'
              type: array
            - type: 'null'
          title: Suggestedmessages
        toolCalls:
          anyOf:
            - items:
                $ref: '#/components/schemas/ToolCallSummary'
              type: array
            - type: 'null'
          title: Toolcalls
        eventId:
          anyOf:
            - type: string
            - type: 'null'
          title: Eventid
        type:
          anyOf:
            - $ref: '#/components/schemas/MessageType'
            - type: 'null'
      type: object
      required:
        - id
        - chatId
        - status
        - sender
        - createdDate
      title: MessageSummary
    PaymentWithCharges:
      properties:
        id:
          type: string
          title: Id
          description: The unique identifier for the payment.
        patientId:
          anyOf:
            - type: string
            - type: 'null'
          title: Patientid
          description: The ID of the patient associated with the payment.
        payinId:
          anyOf:
            - type: string
            - type: 'null'
          title: Payinid
          description: The ID of the payin associated with the payment.
        amount:
          type: integer
          title: Amount
          description: The total amount of the payment.
        status:
          $ref: '#/components/schemas/PaymentStatus'
          description: The current status of the payment.
        currency:
          type: string
          title: Currency
          description: The currency in which the payment was made.
          default: USD
        payinConfigId:
          anyOf:
            - type: string
            - type: 'null'
          title: Payinconfigid
          description: The configuration ID for the payin.
        paymentMedium:
          type: string
          title: Paymentmedium
          description: The name of the payment medium.
        paymentMethodId:
          anyOf:
            - type: string
            - type: 'null'
          title: Paymentmethodid
          description: The ID of the payment method used.
        stripePaymentIntentId:
          anyOf:
            - type: string
            - type: 'null'
          title: Stripepaymentintentid
          description: Stripe's payment intent ID if used.
        failedReason:
          anyOf:
            - type: string
            - type: 'null'
          title: Failedreason
          description: Reason for payment failure if applicable.
        updatedDate:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Updateddate
          description: The date and time the payment was last updated.
        createdDate:
          type: string
          format: date-time
          title: Createddate
          description: The date and time the payment was created.
        fee:
          type: integer
          title: Fee
          description: The fee charged by the payment processor.
          default: 0
        feeToPatient:
          type: integer
          title: Feetopatient
          description: The fee charged to the patient for the transaction.
        charges:
          items:
            $ref: '#/components/schemas/ChargePaymentSummary'
          type: array
          title: Charges
      type: object
      required:
        - id
        - amount
        - status
        - paymentMedium
        - createdDate
        - feeToPatient
        - charges
      title: Payment
    PatientSummary:
      properties:
        id:
          type: string
          title: Id
          description: The unique identifier for the user.
        firstName:
          anyOf:
            - type: string
            - type: 'null'
          title: Firstname
          description: The user's first name.
        lastName:
          anyOf:
            - type: string
            - type: 'null'
          title: Lastname
          description: The user's last name.
        phoneNumber:
          anyOf:
            - type: string
            - type: 'null'
          title: Phonenumber
          description: The user's phone number.
        email:
          anyOf:
            - type: string
            - type: 'null'
          title: Email
          description: The user's email address.
        type:
          $ref: '#/components/schemas/UserType'
          description: The type of user.
        locationId:
          anyOf:
            - type: string
            - type: 'null'
          title: Locationid
          description: The location of the user.
        externalId:
          anyOf:
            - type: string
            - type: 'null'
          title: Externalid
          description: The user's external identifier if available.
        address:
          anyOf:
            - type: string
            - type: 'null'
          title: Address
          description: The user's primary address.
        addressLineTwo:
          anyOf:
            - type: string
            - type: 'null'
          title: Addresslinetwo
          description: Additional address information.
        city:
          anyOf:
            - type: string
            - type: 'null'
          title: City
          description: The city of the user's address.
        state:
          anyOf:
            - type: string
            - type: 'null'
          title: State
          description: The state of the user's address.
        zipCode:
          anyOf:
            - type: string
            - type: 'null'
          title: Zipcode
          description: The postal code of the user's address.
        country:
          anyOf:
            - type: string
            - type: 'null'
          title: Country
          description: The country of the user's address.
        createdDate:
          type: string
          format: date-time
          title: Createddate
          description: The date and time when the user was created.
        addressValid:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Addressvalid
          description: Whether the user's address is valid.
        meta:
          anyOf:
            - type: object
            - type: 'null'
          title: Meta
          description: Any additional metadata about the user relevant to your system.
        isArchived:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Isarchived
          description: Whether the user is archived.
        primaryLocationId:
          anyOf:
            - type: string
            - type: 'null'
          title: Primarylocationid
          description: The primary location of the user.
        gender:
          anyOf:
            - type: string
            - type: 'null'
          title: Gender
          description: The gender of the patient.
        dateOfBirth:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          title: Dateofbirth
          description: The date of birth of the patient.
        patientMedications:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: Patientmedications
          description: List of patient's self-reported medications.
        onSchedulingBlacklist:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Onschedulingblacklist
          description: Whether the patient is on the scheduling blacklist.
        surchargeDisabled:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Surchargedisabled
          description: Whether surcharges are disabled for this patient.
        tags:
          anyOf:
            - items:
                $ref: '#/components/schemas/PatientTagSummary'
              type: array
            - type: 'null'
          title: Tags
          description: List of patient tags
        creditBalance:
          anyOf:
            - type: integer
            - type: 'null'
          title: Creditbalance
          description: Patient's credit balance in cents.
        preferredProviderId:
          anyOf:
            - type: string
            - type: 'null'
          title: Preferredproviderid
          description: The preferred provider ID for this patient.
      type: object
      required:
        - id
        - type
        - createdDate
      title: PatientSummary
    InvoiceUpdate:
      properties:
        invoiceId:
          type: string
          title: Invoiceid
        method:
          anyOf:
            - $ref: '#/components/schemas/InvoiceMethod'
            - type: 'null'
        sendTime:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Sendtime
        status:
          anyOf:
            - $ref: '#/components/schemas/InvoiceStatus'
            - type: 'null'
        methodsAttempted:
          anyOf:
            - items:
                prefixItems:
                  - $ref: '#/components/schemas/InvoiceMethod'
                  - type: boolean
                  - type: string
                type: array
                maxItems: 3
                minItems: 3
              type: array
            - type: 'null'
          title: Methodsattempted
        failedReason:
          anyOf:
            - type: string
            - type: 'null'
          title: Failedreason
      type: object
      required:
        - invoiceId
      title: InvoiceUpdate
    LowPatientReviewData:
      properties:
        rating:
          type: integer
          title: Rating
        feedback:
          anyOf:
            - type: string
            - type: 'null'
          title: Feedback
        locationName:
          type: string
          title: Locationname
        patientName:
          type: string
          title: Patientname
        reviewDate:
          type: string
          title: Reviewdate
        locationId:
          type: string
          title: Locationid
      type: object
      required:
        - rating
        - feedback
        - locationName
        - patientName
        - reviewDate
        - locationId
      title: LowPatientReviewData
    InvoiceSetUpdate:
      properties:
        invoiceSetId:
          type: string
          title: Invoicesetid
        status:
          $ref: '#/components/schemas/InvoiceSetStatus'
        pausedDate:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Pauseddate
      type: object
      required:
        - invoiceSetId
        - status
      title: InvoiceSetUpdate
    Notification:
      properties:
        message:
          type: string
          title: Message
        data:
          type: object
          title: Data
          default: {}
        chatId:
          anyOf:
            - type: string
            - type: 'null'
          title: Chatid
        callId:
          anyOf:
            - type: string
            - type: 'null'
          title: Callid
        messageId:
          anyOf:
            - type: string
            - type: 'null'
          title: Messageid
      type: object
      required:
        - message
      title: Notification
    CallSummary:
      properties:
        id:
          type: string
          title: Id
        sender:
          anyOf:
            - $ref: '#/components/schemas/UserTiny'
            - type: 'null'
        receiver:
          anyOf:
            - $ref: '#/components/schemas/UserTiny'
            - type: 'null'
        chatId:
          type: string
          title: Chatid
        direction:
          $ref: '#/components/schemas/CallDirection'
        status:
          $ref: '#/components/schemas/CallStatus'
        completedDate:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Completeddate
        retellCallId:
          anyOf:
            - type: string
            - type: 'null'
          title: Retellcallid
        disconnectionReason:
          anyOf:
            - type: string
            - type: 'null'
          title: Disconnectionreason
        pathToAudio:
          anyOf:
            - type: string
            - type: 'null'
          title: Pathtoaudio
        summary:
          anyOf:
            - type: string
            - type: 'null'
          title: Summary
        context:
          anyOf:
            - type: object
            - type: 'null'
          title: Context
        createdDate:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Createddate
        toolCalls:
          items:
            $ref: '#/components/schemas/ToolCall'
          type: array
          title: Toolcalls
          default: []
        tags:
          items:
            $ref: '#/components/schemas/TagSummary'
          type: array
          title: Tags
          default: []
        invoiceId:
          anyOf:
            - type: string
            - type: 'null'
          title: Invoiceid
        type:
          $ref: '#/components/schemas/CallType'
          default: MANUAL
        locationId:
          anyOf:
            - type: string
            - type: 'null'
          title: Locationid
      type: object
      required:
        - id
        - chatId
        - direction
        - status
      title: CallSummary
    EventDetail:
      properties:
        id:
          type: string
          title: Id
        title:
          type: string
          title: Title
        start:
          type: string
          format: date-time
          title: Start
        end:
          type: string
          format: date-time
          title: End
        type:
          $ref: '#/components/schemas/EventType'
        location:
          anyOf:
            - $ref: '#/components/schemas/LocationSummary'
            - type: 'null'
        attendees:
          items:
            $ref: '#/components/schemas/AttendeeDetail-Output'
          type: array
          title: Attendees
          default: []
        status:
          $ref: '#/components/schemas/EventStatus'
        recurringEventId:
          anyOf:
            - type: string
            - type: 'null'
          title: Recurringeventid
        recurringEvent:
          anyOf:
            - $ref: '#/components/schemas/RecurringEventDetail'
            - type: 'null'
        eventServices:
          items:
            $ref: '#/components/schemas/EventServiceDetail'
          type: array
          title: Eventservices
          default: []
        icons:
          items:
            $ref: '#/components/schemas/EventIcon'
          type: array
          title: Icons
          default: []
        capacity:
          anyOf:
            - type: integer
            - type: 'null'
          title: Capacity
        organizer:
          $ref: '#/components/schemas/UserTiny'
        meetingLink:
          anyOf:
            - type: string
            - type: 'null'
          title: Meetinglink
        locationId:
          anyOf:
            - type: string
            - type: 'null'
          title: Locationid
        formCompleted:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Formcompleted
        reminders:
          items:
            type: string
            format: date-time
          type: array
          title: Reminders
          default: []
        recurrenceModificationMode:
          anyOf:
            - $ref: '#/components/schemas/RecurrenceModificationMode'
            - type: 'null'
        createdDate:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Createddate
        quickNotes:
          anyOf:
            - items:
                $ref: '#/components/schemas/QuickNoteSummary'
              type: array
            - type: 'null'
          title: Quicknotes
      type: object
      required:
        - id
        - title
        - start
        - end
        - type
        - status
        - organizer
      title: EventDetail
    UpdatedAppointment:
      properties:
        updatedFrom:
          $ref: '#/components/schemas/EventDetail'
        updatedTo:
          $ref: '#/components/schemas/EventDetail'
        patient:
          $ref: '#/components/schemas/UserTiny'
        provider:
          $ref: '#/components/schemas/UserTiny'
        staffDiff:
          anyOf:
            - $ref: '#/components/schemas/StaffDiff'
            - type: 'null'
        serviceDiffs:
          items:
            $ref: '#/components/schemas/ServiceDiff'
          type: array
          title: Servicediffs
          default: []
        timeDiff:
          anyOf:
            - $ref: '#/components/schemas/TimeDiff'
            - type: 'null'
        locationDiff:
          anyOf:
            - $ref: '#/components/schemas/LocationDiff'
            - type: 'null'
        changedFields:
          items:
            type: string
          type: array
          title: Changedfields
          default: []
      type: object
      required:
        - updatedFrom
        - updatedTo
        - patient
        - provider
      title: UpdatedAppointment
    AnsweredFormTiny:
      properties:
        id:
          type: string
          title: Id
        name:
          type: string
          title: Name
        patient:
          $ref: '#/components/schemas/UserTiny'
        submissionDate:
          type: string
          format: date-time
          title: Submissiondate
      type: object
      required:
        - id
        - name
        - patient
        - submissionDate
      title: AnsweredFormTiny
    PlannedPaymentSummary:
      properties:
        paymentPlanId:
          type: string
          title: Paymentplanid
        amount:
          type: number
          title: Amount
        paymentDate:
          type: string
          format: date
          title: Paymentdate
        id:
          type: string
          title: Id
        status:
          $ref: '#/components/schemas/PlannedPaymentStatus'
      type: object
      required:
        - paymentPlanId
        - amount
        - paymentDate
        - id
        - status
      title: PlannedPaymentSummary
    PayinEvent:
      properties:
        merchantId:
          type: string
          title: Merchantid
        payinConfigId:
          type: string
          title: Payinconfigid
        payinId:
          type: string
          title: Payinid
        paymentMethodId:
          anyOf:
            - type: string
            - type: 'null'
          title: Paymentmethodid
        amount:
          type: integer
          title: Amount
        billingType:
          type: string
          title: Billingtype
        createdAt:
          type: string
          format: date-time
          title: Createdat
        card:
          anyOf:
            - $ref: '#/components/schemas/RainforestCard'
            - type: 'null'
        ach:
          anyOf:
            - $ref: '#/components/schemas/RainforestACH'
            - type: 'null'
        metadata:
          anyOf:
            - $ref: '#/components/schemas/PaymentPlanPayinMetadata'
            - $ref: '#/components/schemas/PayinMetadata'
            - $ref: '#/components/schemas/InsurancePaymentCreate'
          title: Metadata
        merchantFees:
          $ref: '#/components/schemas/MerchantFees'
        deviceData:
          anyOf:
            - type: object
            - type: 'null'
          title: Devicedata
        refusalDesc:
          anyOf:
            - type: string
            - type: 'null'
          title: Refusaldesc
      type: object
      required:
        - merchantId
        - payinConfigId
        - payinId
        - amount
        - billingType
        - createdAt
        - metadata
        - merchantFees
      title: PayinEvent
      description: A payin event from Rainforest
    ChatUpdate:
      properties:
        id:
          type: string
          title: Id
        updatedFrom:
          $ref: '#/components/schemas/ChatSnapshot'
        updatedTo:
          $ref: '#/components/schemas/ChatSnapshot'
      type: object
      required:
        - id
        - updatedFrom
        - updatedTo
      title: ChatUpdate
      description: Represents changes to a chat with before/after snapshots
    InventoryLog:
      properties:
        id:
          type: string
          title: Id
          description: Unique identifier for the inventory log
        itemId:
          anyOf:
            - type: string
            - type: 'null'
          title: Itemid
          description: ID of the item
        stockId:
          type: string
          title: Stockid
          description: ID of the stock
        quantity:
          anyOf:
            - type: number
            - type: 'null'
          title: Quantity
          description: Quantity of the stock
        chargeId:
          anyOf:
            - type: string
            - type: 'null'
          title: Chargeid
          description: ID of the charge
        action:
          $ref: '#/components/schemas/InventoryAction'
          description: Action performed on the stock
        createdDate:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Createddate
          description: Date and time the log was created
        creatorId:
          type: string
          title: Creatorid
          description: ID of the creator
        shipmentId:
          anyOf:
            - type: string
            - type: 'null'
          title: Shipmentid
          description: ID of the shipment
        note:
          anyOf:
            - type: string
            - type: 'null'
          title: Note
          description: Optional note about the inventory action
        stock:
          anyOf:
            - $ref: '#/components/schemas/StockTiny'
            - type: 'null'
          description: Stock
        item:
          anyOf:
            - $ref: '#/components/schemas/Item'
            - type: 'null'
          description: Item
        charge:
          anyOf:
            - $ref: '#/components/schemas/ChargeSummary-Output'
            - type: 'null'
          description: Charge
        shipment:
          anyOf:
            - $ref: '#/components/schemas/Shipment-Output'
            - type: 'null'
          description: Shipment
        creator:
          anyOf:
            - $ref: '#/components/schemas/UserTiny'
            - type: 'null'
          description: Creator
      type: object
      required:
        - stockId
        - action
        - creatorId
      title: InventoryLog
    ChargePaymentUpdate:
      properties:
        paymentId:
          type: string
          title: Paymentid
        chargeId:
          type: string
          title: Chargeid
        amount:
          type: integer
          title: Amount
        payinConfigId:
          anyOf:
            - type: string
            - type: 'null'
          title: Payinconfigid
        paymentMedium:
          type: string
          title: Paymentmedium
        createdDate:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Createddate
        payment:
          $ref: '#/components/schemas/Payment-Output'
      type: object
      required:
        - paymentId
        - chargeId
        - amount
        - paymentMedium
        - payment
      title: ChargePaymentUpdate
    AppointmentChecklistUpdatedData:
      properties:
        appointmentChecklistItem:
          $ref: '#/components/schemas/AppointmentChecklistItem'
        eventId:
          type: string
          title: Eventid
        completedByProviderId:
          type: string
          title: Completedbyproviderid
      type: object
      required:
        - appointmentChecklistItem
        - eventId
        - completedByProviderId
      title: AppointmentChecklistUpdatedData
    DepositEvent:
      properties:
        merchantId:
          anyOf:
            - type: string
            - type: 'null'
          title: Merchantid
        depositId:
          type: string
          title: Depositid
        platformId:
          anyOf:
            - type: string
            - type: 'null'
          title: Platformid
        status:
          type: string
          title: Status
        amount:
          type: integer
          title: Amount
        currencyCode:
          type: string
          title: Currencycode
          default: USD
        billingType:
          anyOf:
            - type: string
            - type: 'null'
          title: Billingtype
        depositFeeAmount:
          anyOf:
            - type: object
            - type: 'null'
          title: Depositfeeamount
        depositType:
          anyOf:
            - type: string
            - type: 'null'
          title: Deposittype
        methodType:
          anyOf:
            - type: string
            - type: 'null'
          title: Methodtype
        ach:
          anyOf:
            - type: object
            - type: 'null'
          title: Ach
        plaidAch:
          anyOf:
            - type: object
            - type: 'null'
          title: Plaidach
        metadata:
          anyOf:
            - type: object
            - type: 'null'
          title: Metadata
        createdAt:
          type: string
          format: date-time
          title: Createdat
        updatedAt:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Updatedat
      type: object
      required:
        - depositId
        - status
        - amount
        - createdAt
      title: DepositEvent
      description: Deposit event from Rainforest webhooks
    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
    PaymentStatus:
      type: string
      enum:
        - CANCELED
        - CREATED
        - FAILED
        - IN_REVIEW
        - PRESENTING
        - PROCESSING
        - SUCCEEDED
      title: PaymentStatus
    RefundReason:
      type: string
      enum:
        - DUPLICATE
        - DISPUTE
        - BOOKING_FEE
        - OTHER
      title: RefundReason
    AdjustmentType:
      type: string
      enum:
        - WRITE_OFF
        - ADJUSTMENT
        - EXTERNAL_SETTLEMENT
      title: AdjustmentType
    ChargeStatus:
      type: string
      enum:
        - OUTSTANDING
        - PAID
        - EXTERNAL_SETTLEMENT
        - VOID
        - WRITE_OFF
        - REFUNDED
        - CHARGEBACK
        - PAYMENT_PLAN
        - COLLECTIONS
      title: ChargeStatus
    ChargeItem:
      properties:
        id:
          anyOf:
            - type: string
            - type: 'null'
          title: Id
          description: Unique identifier for the charge item
        itemId:
          anyOf:
            - type: string
            - type: 'null'
          title: Itemid
          description: Optional unique identifier for the item
        chargeId:
          type: string
          title: Chargeid
          description: Identifier of the charge this item is associated with
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Name
          description: Name of the item (None for items with associated inventory item)
        description:
          anyOf:
            - type: string
            - type: 'null'
          title: Description
          description: Description of the item
        quantity:
          type: integer
          title: Quantity
          description: Quantity of the item being charged
        discountAmount:
          anyOf:
            - type: integer
            - type: 'null'
          title: Discountamount
          description: Discount amount for the item
        discountPercentage:
          anyOf:
            - type: number
            - type: 'null'
          title: Discountpercentage
          description: Discount percentage for the item
        discountReason:
          anyOf:
            - type: string
            - type: 'null'
          title: Discountreason
          description: Reason for discount
        price:
          type: integer
          title: Price
          description: Price of the item in cents
        soldPackageId:
          anyOf:
            - type: string
            - type: 'null'
          title: Soldpackageid
          description: Unique identifier for the sold package usage
        bankedQuantity:
          anyOf:
            - type: integer
            - type: 'null'
          title: Bankedquantity
          description: Quantity to bank for later use
        bankedItemId:
          anyOf:
            - type: string
            - type: 'null'
          title: Bankeditemid
          description: ID of banked item being used (for tracking usage)
        issuedDiscountId:
          anyOf:
            - type: string
            - type: 'null'
          title: Issueddiscountid
          description: Unique identifier for the specific issued discount instance used
        soldByProviderId:
          anyOf:
            - type: string
            - type: 'null'
          title: Soldbyproviderid
          description: Unique identifier for the provider who sold the item
        taxAmount:
          anyOf:
            - type: integer
            - type: 'null'
          title: Taxamount
          description: Tax amount for the item in cents
        pricingId:
          anyOf:
            - type: string
            - type: 'null'
          title: Pricingid
          description: Unique identifier for the pricing for the item
        shipmentIds:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: Shipmentids
          description: Optional list of shipment IDs to reduce the stock quantity of
      type: object
      required:
        - chargeId
        - quantity
        - price
      title: ChargeItem
    TipDetail:
      properties:
        chargeId:
          type: string
          title: Chargeid
          description: Charge ID this tip belongs to
        amount:
          type: integer
          title: Amount
          description: Tip amount in cents
        providerId:
          type: string
          title: Providerid
          description: Provider ID receiving the tip
        id:
          type: string
          title: Id
          description: Unique identifier for the tip
        provider:
          anyOf:
            - $ref: '#/components/schemas/ProviderTiny'
            - type: 'null'
          description: Provider receiving the tip
      type: object
      required:
        - chargeId
        - amount
        - providerId
      title: TipDetail
    FormTiny:
      properties:
        id:
          type: string
          title: Id
        name:
          type: string
          title: Name
        pathName:
          type: string
          title: Pathname
      type: object
      required:
        - id
        - name
        - pathName
      title: FormTiny
    ServiceVisibilityType:
      type: string
      enum:
        - ALL
        - NEW
        - EXISTING
        - 'NO'
      title: ServiceVisibilityType
    Unit:
      type: string
      enum:
        - AMPOULES
        - APPLICATORS
        - BOTTLES
        - BOXES
        - CAPSULES
        - CUPS
        - DOSES
        - G_PER_ML
        - GRAMS
        - IU
        - IU_PER_ML
        - OUNCES
        - FLUID_OUNCES
        - KG
        - KITS
        - LITERS
        - MCG
        - MG
        - MG_PER_ML
        - ML
        - MMOL
        - MICROGRAM_PER_ML
        - PACKS
        - PAIRS
        - PATCHES
        - PERCENTAGE
        - PIECES
        - POUCHES
        - ROLLS
        - SACHETS
        - SHEETS
        - SPRAYS
        - STRIPS
        - SYRINGES
        - TABLETS
        - TABLETS_PER_DAY
        - TESTS
        - TUBES
        - UNITS
        - VIALS
        - TREATMENTS
        - SESSIONS
        - PULSES
        - JOULES
        - CENTIMETERS
        - THREAD_COUNT
        - INJECTIONS
        - WRINKLE_UNITS
        - POUNDS
        - FEET
        - INCHES
      title: Unit
    MessageStatus:
      type: string
      enum:
        - CREATED
        - QUEUED
        - SCHEDULED
        - SENDING
        - SENT
        - UNDELIVERED
        - DELIVERED
        - READ
        - FAILED
        - EXPIRED
        - OPTED_OUT
      title: MessageStatus
    UserTiny:
      properties:
        id:
          type: string
          title: Id
          description: The unique identifier for the user.
        firstName:
          anyOf:
            - type: string
            - type: 'null'
          title: Firstname
          description: The user's first name.
        lastName:
          anyOf:
            - type: string
            - type: 'null'
          title: Lastname
          description: The user's last name.
        phoneNumber:
          anyOf:
            - type: string
            - type: 'null'
          title: Phonenumber
          description: The user's phone number.
        email:
          anyOf:
            - type: string
            - type: 'null'
          title: Email
          description: The user's email address.
        type:
          $ref: '#/components/schemas/UserType'
          description: The type of user.
        locationId:
          anyOf:
            - type: string
            - type: 'null'
          title: Locationid
          description: The location of the user.
      type: object
      required:
        - id
        - type
      title: UserTiny
    SuggestedMessageSummary:
      properties:
        id:
          type: string
          title: Id
        chatId:
          type: string
          title: Chatid
        fromMessageId:
          type: string
          title: Frommessageid
        content:
          type: string
          title: Content
        assistantId:
          type: string
          title: Assistantid
        isSelected:
          type: boolean
          title: Isselected
        createdDate:
          type: string
          format: date-time
          title: Createddate
      type: object
      required:
        - id
        - chatId
        - fromMessageId
        - content
        - assistantId
        - isSelected
        - createdDate
      title: SuggestedMessageSummary
    ToolCallSummary:
      properties:
        id:
          type: string
          title: Id
        callId:
          anyOf:
            - type: string
            - type: 'null'
          title: Callid
        messageId:
          anyOf:
            - type: string
            - type: 'null'
          title: Messageid
        alertId:
          anyOf:
            - type: string
            - type: 'null'
          title: Alertid
        toolName:
          type: string
          title: Toolname
        toolArguments:
          type: object
          title: Toolarguments
        toolCallId:
          anyOf:
            - type: string
            - type: 'null'
          title: Toolcallid
        result:
          anyOf:
            - type: object
            - type: 'null'
          title: Result
        toolCallDescription:
          anyOf:
            - type: string
            - type: 'null'
          title: Toolcalldescription
        hasBeenCalled:
          type: boolean
          title: Hasbeencalled
          default: false
        createdDate:
          type: string
          format: date-time
          title: Createddate
      type: object
      required:
        - id
        - toolName
        - toolArguments
        - createdDate
      title: ToolCallSummary
    MessageType:
      type: string
      enum:
        - REMINDER
        - OVERRIDE
        - FOLLOW_UP
        - EXPIRED
        - CONFIRMATION
        - INTRODUCTORY
        - CANCELLED
        - UPDATE
      title: MessageType
    ChargePaymentSummary:
      properties:
        paymentId:
          type: string
          title: Paymentid
          description: The unique identifier for the payment.
        amount:
          type: integer
          title: Amount
          description: The amount of the payment.
        createdDate:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Createddate
          description: The date and time the payment was created.
        chargeId:
          type: string
          title: Chargeid
          description: The unique identifier for the charge.
      type: object
      required:
        - paymentId
        - amount
        - chargeId
      title: ChargePaymentSummary
    UserType:
      type: string
      enum:
        - PROVIDER
        - PATIENT
        - ASSISTANT
      title: UserType
    PatientTagSummary:
      properties:
        id:
          type: string
          title: Id
          description: Unique identifier for the patient tag
        name:
          type: string
          title: Name
          description: Name of the patient tag
        emoji:
          anyOf:
            - type: string
            - type: 'null'
          title: Emoji
          description: Emoji associated with the tag
        color:
          anyOf:
            - type: string
            - type: 'null'
          title: Color
          description: Color code for the tag (hex format)
        isActive:
          type: boolean
          title: Isactive
          description: Whether the tag is active
        createdDate:
          type: string
          format: date-time
          title: Createddate
          description: Date and time when the tag was created
        updatedDate:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Updateddate
          description: Date and time when the tag was last updated
      type: object
      required:
        - id
        - name
        - isActive
        - createdDate
      title: PatientTagSummary
    InvoiceMethod:
      type: string
      enum:
        - CHARGE_CARD
        - SMS
        - EMAIL
        - CALL
        - MAIL
        - EXPIRY
      title: InvoiceMethod
      description: The method used to send an invoice to a patient.
    InvoiceStatus:
      type: string
      enum:
        - PENDING
        - SENT
        - FAILED
        - PAUSED
        - CANCELLED
      title: InvoiceStatus
      description: The status of an invoice.
    InvoiceSetStatus:
      type: string
      enum:
        - ACTIVE
        - PAUSED
        - CANCELLED
        - EXPIRED
        - PAID
        - WILL_FAIL
        - FAILED
      title: InvoiceSetStatus
      description: The status of an invoice set.
    CallDirection:
      type: string
      enum:
        - INBOUND
        - OUTBOUND
      title: CallDirection
    CallStatus:
      type: string
      enum:
        - CREATED
        - ONGOING
        - TRANSFERRED
        - DISCONNECTED
        - FAILED
        - FINISHED
        - VOICEMAIL
      title: CallStatus
    ToolCall:
      properties:
        id:
          type: string
          title: Id
        toolName:
          type: string
          title: Toolname
        toolArguments:
          type: object
          title: Toolarguments
        toolCallId:
          anyOf:
            - type: string
            - type: 'null'
          title: Toolcallid
      type: object
      required:
        - id
        - toolName
        - toolArguments
      title: ToolCall
    TagSummary:
      properties:
        name:
          type: string
          title: Name
        description:
          anyOf:
            - type: string
            - type: 'null'
          title: Description
        useForAlerts:
          type: boolean
          title: Useforalerts
        useForCalls:
          type: boolean
          title: Useforcalls
        id:
          type: string
          title: Id
      type: object
      required:
        - name
        - useForAlerts
        - useForCalls
        - id
      title: TagSummary
    CallType:
      type: string
      enum:
        - MANUAL
        - AI
      title: CallType
    EventType:
      type: string
      enum:
        - APPOINTMENT
        - SHIFT
        - BLOCK
      title: EventType
    LocationSummary:
      properties:
        id:
          type: string
          title: Id
        isVirtual:
          type: boolean
          title: Isvirtual
        name:
          type: string
          title: Name
        addressLineOne:
          anyOf:
            - type: string
            - type: 'null'
          title: Addresslineone
        addressLineTwo:
          anyOf:
            - type: string
            - type: 'null'
          title: Addresslinetwo
        city:
          anyOf:
            - type: string
            - type: 'null'
          title: City
        state:
          anyOf:
            - type: string
            - type: 'null'
          title: State
        zipCode:
          anyOf:
            - type: string
            - type: 'null'
          title: Zipcode
        country:
          anyOf:
            - type: string
            - type: 'null'
          title: Country
        createdDate:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Createddate
        spakinectLocationId:
          anyOf:
            - type: string
            - type: 'null'
          title: Spakinectlocationid
      type: object
      required:
        - id
        - isVirtual
        - name
      title: LocationSummary
    AttendeeDetail-Output:
      properties:
        user:
          $ref: '#/components/schemas/UserTiny'
        inviteStatus:
          $ref: '#/components/schemas/InviteStatus'
      type: object
      required:
        - user
        - inviteStatus
      title: AttendeeDetail
    EventStatus:
      type: string
      enum:
        - PENDING
        - RESERVED
        - CONFIRMED
        - CANCELLED
        - COMPLETED
        - OVERRIDABLE
        - NO_SHOW
      title: EventStatus
    RecurringEventDetail:
      properties:
        id:
          type: string
          title: Id
        rrule:
          type: string
          title: Rrule
        startDate:
          type: string
          format: date-time
          title: Startdate
        durationMinutes:
          type: integer
          title: Durationminutes
        timezone:
          type: string
          title: Timezone
        serviceIds:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: Serviceids
        capacity:
          anyOf:
            - type: integer
            - type: 'null'
          title: Capacity
        type:
          $ref: '#/components/schemas/EventType'
        title:
          type: string
          title: Title
        attendeeIds:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: Attendeeids
        locationId:
          anyOf:
            - type: string
            - type: 'null'
          title: Locationid
        organizerId:
          type: string
          title: Organizerid
      type: object
      required:
        - id
        - rrule
        - startDate
        - durationMinutes
        - timezone
        - type
        - title
        - organizerId
      title: RecurringEventDetail
    EventServiceDetail:
      properties:
        service:
          $ref: '#/components/schemas/ServiceDetail'
        providerId:
          anyOf:
            - type: string
            - type: 'null'
          title: Providerid
        bookables:
          anyOf:
            - items:
                $ref: '#/components/schemas/EventServiceBookable'
              type: array
            - type: 'null'
          title: Bookables
        start:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Start
        end:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: End
        externalId:
          anyOf:
            - type: string
            - type: 'null'
          title: Externalid
        isArchived:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Isarchived
      type: object
      required:
        - service
      title: EventServiceDetail
    EventIcon:
      type: string
      enum:
        - BOOKING_FEE_PAID
        - NEW_PATIENT
        - SCHEDULED_BY_AI
        - FORM_COMPLETED
        - CHECKED_IN
      title: EventIcon
    RecurrenceModificationMode:
      type: string
      enum:
        - this
        - future
        - all
      title: RecurrenceModificationMode
      description: >-
        Enum representing the different modes for handling recurring event
        modifications

        Used when modifying recurring events to specify which occurrences should
        be affected
    QuickNoteSummary:
      properties:
        id:
          type: string
          title: Id
        patientId:
          type: string
          title: Patientid
        note:
          type: string
          title: Note
        creator:
          $ref: '#/components/schemas/UserTiny'
        eventId:
          anyOf:
            - type: string
            - type: 'null'
          title: Eventid
        createdDate:
          type: string
          format: date-time
          title: Createddate
        updatedDate:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Updateddate
        isArchived:
          type: boolean
          title: Isarchived
          default: false
      type: object
      required:
        - id
        - patientId
        - note
        - creator
        - createdDate
      title: QuickNoteSummary
    StaffDiff:
      properties:
        added:
          items:
            $ref: '#/components/schemas/UserTiny'
          type: array
          title: Added
          default: []
        removed:
          items:
            $ref: '#/components/schemas/UserTiny'
          type: array
          title: Removed
          default: []
        unchanged:
          items:
            $ref: '#/components/schemas/UserTiny'
          type: array
          title: Unchanged
          default: []
      type: object
      title: StaffDiff
    ServiceDiff:
      properties:
        serviceId:
          type: string
          title: Serviceid
        serviceTitle:
          anyOf:
            - type: string
            - type: 'null'
          title: Servicetitle
        from:
          anyOf:
            - $ref: '#/components/schemas/ServiceEndpoint'
            - type: 'null'
        to:
          anyOf:
            - $ref: '#/components/schemas/ServiceEndpoint'
            - type: 'null'
        changeTypes:
          items:
            type: string
          type: array
          title: Changetypes
          default: []
      type: object
      required:
        - serviceId
      title: ServiceDiff
    TimeDiff:
      properties:
        fromStart:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Fromstart
        toStart:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Tostart
      type: object
      title: TimeDiff
    LocationDiff:
      properties:
        fromLocation:
          anyOf:
            - $ref: '#/components/schemas/LocationTiny'
            - type: 'null'
        toLocation:
          anyOf:
            - $ref: '#/components/schemas/LocationTiny'
            - type: 'null'
      type: object
      title: LocationDiff
    PlannedPaymentStatus:
      type: string
      enum:
        - SCHEDULED
        - COMPLETED
        - FAILED
        - CANCELLED
      title: PlannedPaymentStatus
    RainforestCard:
      properties:
        brand:
          type: string
          title: Brand
        last4:
          type: string
          title: Last4
        expMonth:
          type: integer
          title: Expmonth
        expYear:
          type: integer
          title: Expyear
      type: object
      required:
        - brand
        - last4
        - expMonth
        - expYear
      title: RainforestCard
      description: The card used to pay for the payin
    RainforestACH:
      properties:
        accountHolderType:
          type: string
          title: Accountholdertype
        accountNumberLast4:
          type: string
          title: Accountnumberlast4
        bankName:
          type: string
          title: Bankname
        routingNumber:
          type: string
          title: Routingnumber
      type: object
      required:
        - accountHolderType
        - accountNumberLast4
        - bankName
        - routingNumber
      title: RainforestACH
      description: The ACH used to pay for the payin
    PaymentPlanPayinMetadata:
      properties:
        charges:
          anyOf:
            - items:
                $ref: '#/components/schemas/ChargeDetail-Output'
              type: array
            - items:
                $ref: '#/components/schemas/ChargeTiny'
              type: array
            - type: 'null'
          title: Charges
        paymentMedium:
          anyOf:
            - $ref: '#/components/schemas/PaymentMedium'
            - type: 'null'
          default: PAYMENT_LINK
        paymentAmount:
          anyOf:
            - type: integer
            - type: 'null'
          title: Paymentamount
        savePaymentMethod:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Savepaymentmethod
        patientId:
          anyOf:
            - type: string
            - type: 'null'
          title: Patientid
        transactionId:
          anyOf:
            - type: string
            - type: 'null'
          title: Transactionid
        locationId:
          anyOf:
            - type: string
            - type: 'null'
          title: Locationid
        creatorId:
          anyOf:
            - type: string
            - type: 'null'
          title: Creatorid
        eventId:
          anyOf:
            - type: string
            - type: 'null'
          title: Eventid
        isSurcharged:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Issurcharged
        membershipId:
          anyOf:
            - type: string
            - type: 'null'
          title: Membershipid
        membershipStartDate:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Membershipstartdate
        soldByProviderId:
          anyOf:
            - type: string
            - type: 'null'
          title: Soldbyproviderid
        paymentPlan:
          $ref: '#/components/schemas/PaymentPlanCreateWithoutID'
      type: object
      required:
        - paymentPlan
      title: PaymentPlanPayinMetadata
      description: The metadata sent to Rainforest when a payment plan is created
    PayinMetadata:
      properties:
        charges:
          anyOf:
            - items:
                $ref: '#/components/schemas/ChargeDetail-Output'
              type: array
            - items:
                $ref: '#/components/schemas/ChargeTiny'
              type: array
            - type: 'null'
          title: Charges
        paymentMedium:
          anyOf:
            - $ref: '#/components/schemas/PaymentMedium'
            - type: 'null'
          default: PAYMENT_LINK
        paymentAmount:
          anyOf:
            - type: integer
            - type: 'null'
          title: Paymentamount
        savePaymentMethod:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Savepaymentmethod
        patientId:
          anyOf:
            - type: string
            - type: 'null'
          title: Patientid
        transactionId:
          anyOf:
            - type: string
            - type: 'null'
          title: Transactionid
        locationId:
          anyOf:
            - type: string
            - type: 'null'
          title: Locationid
        creatorId:
          anyOf:
            - type: string
            - type: 'null'
          title: Creatorid
        eventId:
          anyOf:
            - type: string
            - type: 'null'
          title: Eventid
        isSurcharged:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Issurcharged
        membershipId:
          anyOf:
            - type: string
            - type: 'null'
          title: Membershipid
        membershipStartDate:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Membershipstartdate
        soldByProviderId:
          anyOf:
            - type: string
            - type: 'null'
          title: Soldbyproviderid
      type: object
      title: PayinMetadata
      description: The metadata sent to Rainforest when a payin is created
    InsurancePaymentCreate:
      properties:
        id:
          type: string
          title: Id
          description: Unique identifier for the insurance payment.
        insurer:
          type: string
          title: Insurer
          description: Name of the insurer.
        comment:
          anyOf:
            - type: string
            - type: 'null'
          title: Comment
          description: Optional comment about the payment.
        amount:
          type: integer
          title: Amount
          description: Amount of the payment.
        currency:
          type: string
          title: Currency
          description: Currency of the payment.
          default: USD
        locationId:
          anyOf:
            - type: string
            - type: 'null'
          title: Locationid
          description: Location of the payment.
        creatorId:
          anyOf:
            - type: string
            - type: 'null'
          title: Creatorid
          description: ID of the provider who created this payment.
      type: object
      required:
        - id
        - insurer
        - amount
      title: InsurancePaymentCreate
    MerchantFees:
      properties:
        totalAmount:
          $ref: '#/components/schemas/TotalAmount'
      type: object
      required:
        - totalAmount
      title: MerchantFees
      description: The fees for the merchant
    ChatSnapshot:
      properties:
        id:
          type: string
          title: Id
        primaryPatientId:
          anyOf:
            - type: string
            - type: 'null'
          title: Primarypatientid
        status:
          anyOf:
            - $ref: '#/components/schemas/ChatStatus'
            - type: 'null'
        patients:
          anyOf:
            - items:
                $ref: '#/components/schemas/ChatPatient'
              type: array
            - type: 'null'
          title: Patients
        phoneNumber:
          anyOf:
            - type: string
            - type: 'null'
          title: Phonenumber
        latestMessageContent:
          anyOf:
            - type: string
            - type: 'null'
          title: Latestmessagecontent
        latestMessageDate:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Latestmessagedate
        createdDate:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Createddate
        optedOutOfSms:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Optedoutofsms
      type: object
      required:
        - id
      title: ChatSnapshot
      description: Represents a snapshot of chat state for change tracking
    InventoryAction:
      type: string
      enum:
        - STOCK_CREATED
        - STOCK_UPDATED
        - STOCK_ARCHIVED
        - DRAWDOWN
        - RESTORED
        - SHIPMENT_RECEIVED
        - SHIPMENT_UPDATED
        - SHIPMENT_ARCHIVED
        - ITEM_LINKED
        - ITEM_UNLINKED
      title: InventoryAction
    StockTiny:
      properties:
        id:
          type: string
          title: Id
          description: Unique identifier for the stock
        name:
          type: string
          title: Name
          description: Name of the stock
        description:
          anyOf:
            - type: string
            - type: 'null'
          title: Description
          description: Optional description of the stock
        notes:
          anyOf:
            - type: string
            - type: 'null'
          title: Notes
          description: Notes about the stock
        category:
          anyOf:
            - type: string
            - type: 'null'
          title: Category
          description: Category name (references category.name)
        unit:
          $ref: '#/components/schemas/Unit'
          description: Unit of measurement
        isArchived:
          type: boolean
          title: Isarchived
          description: Whether the stock is archived
          default: false
      type: object
      required:
        - name
        - unit
      title: StockTiny
    Item:
      properties:
        id:
          type: string
          title: Id
          description: Unique identifier for the item
        name:
          type: string
          title: Name
          description: Name of the item
        brandName:
          anyOf:
            - type: string
            - type: 'null'
          title: Brandname
          description: Optional brand name of the item
        description:
          anyOf:
            - type: string
            - type: 'null'
          title: Description
          description: Optional description of the item
        price:
          type: integer
          title: Price
          description: Price of the item in cents
        category:
          anyOf:
            - type: string
            - type: 'null'
          title: Category
          description: Category name (references category.name)
        unit:
          anyOf:
            - $ref: '#/components/schemas/Unit'
            - type: 'null'
          description: Unit of measurement for the item
        isPhysical:
          type: boolean
          title: Isphysical
          description: Whether the item is physical
          default: true
        isArchived:
          type: boolean
          title: Isarchived
          description: Whether the item is archived
          default: false
        internalNotes:
          anyOf:
            - type: string
            - type: 'null'
          title: Internalnotes
          description: Optional internal notes for the item
        taxable:
          type: boolean
          title: Taxable
          description: Whether the item is subject to taxes
          default: false
        sortOrder:
          anyOf:
            - type: integer
            - type: 'null'
          title: Sortorder
          description: Optional sort order for the item
        allowCustomPricing:
          type: boolean
          title: Allowcustompricing
          description: Whether custom pricing is allowed for this item
          default: false
        type:
          $ref: '#/components/schemas/ItemType'
          description: Type of item (PRODUCT, MEDICATION, etc.)
          default: PRODUCT
        stocks:
          anyOf:
            - items:
                $ref: '#/components/schemas/ItemStock'
              type: array
            - type: 'null'
          title: Stocks
          description: Optional linked stocks for the item
      type: object
      required:
        - name
        - price
      title: Item
    Shipment-Output:
      properties:
        id:
          type: string
          title: Id
          description: Unique identifier for the shipment
        stockId:
          type: string
          title: Stockid
          description: ID of the stock
        supplierId:
          type: string
          title: Supplierid
          description: ID of the supplier
        locationId:
          type: string
          title: Locationid
          description: ID of the location where the shipment was delivered
        lotNumber:
          anyOf:
            - type: string
            - type: 'null'
          title: Lotnumber
          description: Optional lot number of the shipment
        expiryDate:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Expirydate
          description: Optional expiry date of the shipment
        sku:
          anyOf:
            - type: string
            - type: 'null'
          title: Sku
          description: Optional SKU (Stock Keeping Unit)
        quantity:
          type: number
          title: Quantity
          description: Total quantity
        remainingQuantity:
          type: number
          title: Remainingquantity
          description: Remaining quantity
        cost:
          anyOf:
            - type: integer
            - type: 'null'
          title: Cost
          description: Cost of the shipment in cents
        supplier:
          anyOf:
            - $ref: '#/components/schemas/Supplier'
            - type: 'null'
          description: Optional supplier details
        createdDate:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Createddate
          description: Date and time the shipment was created
        note:
          anyOf:
            - type: string
            - type: 'null'
          title: Note
          description: Optional note for inventory log when updating shipment
        locationName:
          anyOf:
            - type: string
            - type: 'null'
          title: Locationname
          description: Get the location name from the related location object
          readOnly: true
      type: object
      required:
        - stockId
        - supplierId
        - locationId
        - quantity
        - remainingQuantity
        - locationName
      title: Shipment
    Payment-Output:
      properties:
        id:
          type: string
          title: Id
          description: The unique identifier for the payment.
        patientId:
          anyOf:
            - type: string
            - type: 'null'
          title: Patientid
          description: The ID of the patient associated with the payment.
        payinId:
          anyOf:
            - type: string
            - type: 'null'
          title: Payinid
          description: The ID of the payin associated with the payment.
        amount:
          type: integer
          title: Amount
          description: The total amount of the payment.
        status:
          $ref: '#/components/schemas/PaymentStatus'
          description: The current status of the payment.
        currency:
          type: string
          title: Currency
          description: The currency in which the payment was made.
          default: USD
        payinConfigId:
          anyOf:
            - type: string
            - type: 'null'
          title: Payinconfigid
          description: The configuration ID for the payin.
        paymentMedium:
          type: string
          title: Paymentmedium
          description: The name of the payment medium.
        paymentMethodId:
          anyOf:
            - type: string
            - type: 'null'
          title: Paymentmethodid
          description: The ID of the payment method used.
        stripePaymentIntentId:
          anyOf:
            - type: string
            - type: 'null'
          title: Stripepaymentintentid
          description: Stripe's payment intent ID if used.
        failedReason:
          anyOf:
            - type: string
            - type: 'null'
          title: Failedreason
          description: Reason for payment failure if applicable.
        updatedDate:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Updateddate
          description: The date and time the payment was last updated.
        createdDate:
          type: string
          format: date-time
          title: Createddate
          description: The date and time the payment was created.
        fee:
          type: integer
          title: Fee
          description: The fee charged by the payment processor.
          default: 0
        feeToPatient:
          type: integer
          title: Feetopatient
          description: The fee charged to the patient for the transaction.
        paymentMethod:
          anyOf:
            - $ref: '#/components/schemas/PaymentMethodSummary'
            - type: 'null'
          description: Summary of the payment method used.
        refunds:
          items:
            $ref: '#/components/schemas/RefundSummary'
          type: array
          title: Refunds
          description: List of refunds associated with the payment.
          default: []
      type: object
      required:
        - id
        - amount
        - status
        - paymentMedium
        - createdDate
        - feeToPatient
      title: Payment
    AppointmentChecklistItem:
      properties:
        id:
          type: string
          title: Id
        eventId:
          type: string
          title: Eventid
        serviceId:
          anyOf:
            - type: string
            - type: 'null'
          title: Serviceid
        name:
          type: string
          title: Name
        type:
          anyOf:
            - $ref: '#/components/schemas/AppointmentChecklistType'
            - type: 'null'
        optional:
          type: boolean
          title: Optional
        position:
          type: integer
          title: Position
        completedDate:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Completeddate
        completedByUser:
          anyOf:
            - $ref: '#/components/schemas/UserTiny'
            - type: 'null'
      type: object
      required:
        - id
        - eventId
        - name
        - optional
        - position
      title: AppointmentChecklistItem
    ProviderTiny:
      properties:
        id:
          type: string
          title: Id
        firstName:
          type: string
          title: Firstname
        lastName:
          anyOf:
            - type: string
            - type: 'null'
          title: Lastname
        email:
          anyOf:
            - type: string
            - type: 'null'
          title: Email
        createdDate:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Createddate
      type: object
      required:
        - id
        - firstName
      title: ProviderTiny
    InviteStatus:
      type: string
      enum:
        - PENDING
        - ACCEPTED
        - REJECTED
      title: InviteStatus
    EventServiceBookable:
      properties:
        eventId:
          type: string
          title: Eventid
        serviceId:
          type: string
          title: Serviceid
        bookableId:
          type: string
          title: Bookableid
        start:
          type: string
          format: date-time
          title: Start
        end:
          type: string
          format: date-time
          title: End
      type: object
      required:
        - eventId
        - serviceId
        - bookableId
        - start
        - end
      title: EventServiceBookable
    ServiceEndpoint:
      properties:
        start:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Start
        end:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: End
        providerId:
          anyOf:
            - type: string
            - type: 'null'
          title: Providerid
      type: object
      title: ServiceEndpoint
    LocationTiny:
      properties:
        id:
          type: string
          title: Id
        isVirtual:
          type: boolean
          title: Isvirtual
      type: object
      required:
        - id
        - isVirtual
      title: LocationTiny
    ChargeDetail-Output:
      properties:
        id:
          anyOf:
            - type: string
            - type: 'null'
          title: Id
          description: A unique identifier for the charge. Auto-generated if not provided.
        patientId:
          type: string
          title: Patientid
          description: Identifier of the patient being charged.
        patient:
          anyOf:
            - $ref: '#/components/schemas/PatientSummary'
            - type: 'null'
          description: Summary details of the patient being charged.
        total:
          type: integer
          title: Total
          description: Total amount of the charge.
          default: 0
        totalOutstanding:
          type: integer
          title: Totaloutstanding
          description: Total outstanding amount that is yet to be paid.
        description:
          anyOf:
            - type: string
            - type: 'null'
          title: Description
          description: Description of the charge.
        status:
          $ref: '#/components/schemas/ChargeStatus'
          description: Current status of the charge.
          default: OUTSTANDING
        discountAmount:
          anyOf:
            - type: integer
            - type: 'null'
          title: Discountamount
          description: Any discount applied to the total outstanding.
          default: 0
        discountPercentage:
          anyOf:
            - type: number
            - type: 'null'
          title: Discountpercentage
          description: Percentage of discount applied to the charge.
          default: 0
        externalId:
          anyOf:
            - type: string
            - type: 'null'
          title: Externalid
          description: External identifier for the charge, if applicable.
        externalCreatedDate:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Externalcreateddate
          description: >-
            The creation date of the charge in your external system, if
            applicable.
        ruleSetId:
          anyOf:
            - type: string
            - type: 'null'
          title: Rulesetid
          description: Identifier for the `RuleSet` applied to this `Charge`, if any.
        createdDate:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Createddate
          description: The date when the charge was created.
        creatorId:
          anyOf:
            - type: string
            - type: 'null'
          title: Creatorid
          description: >-
            Identifier of the `Provider` who created the charge (i.e. the
            Clinician, or relevant Biller).
        items:
          items:
            $ref: '#/components/schemas/ChargeItem'
          type: array
          title: Items
          description: List of `Items` in the `Charge`.
          default: []
        tips:
          items:
            $ref: '#/components/schemas/TipDetail'
          type: array
          title: Tips
          description: List of `Tips` in the `Charge`.
          default: []
        locationId:
          anyOf:
            - type: string
            - type: 'null'
          title: Locationid
          description: Identifier of the `Location` where the charge was created.
        eventId:
          anyOf:
            - type: string
            - type: 'null'
          title: Eventid
          description: Identifier of the `Event` this charge is associated with, if any.
        memberId:
          anyOf:
            - type: string
            - type: 'null'
          title: Memberid
          description: Identifier of the `Member` this charge is associated with, if any.
        comment:
          anyOf:
            - type: string
            - type: 'null'
          title: Comment
          description: Any additional comments about the charge.
        meta:
          anyOf:
            - type: object
            - type: 'null'
          title: Meta
          description: Any additional metadata about the charge relevant to your system.
        merchantAccountId:
          anyOf:
            - type: string
            - type: 'null'
          title: Merchantaccountid
          description: Identifier of the `MerchantAccount` this charge is associated with.
        payments:
          items:
            $ref: '#/components/schemas/ChargePaymentDetail-Output'
          type: array
          title: Payments
          description: List of `Payments` in the `Charge`.
          default: []
        adjustments:
          items:
            $ref: '#/components/schemas/AdjustmentSummary'
          type: array
          title: Adjustments
          description: List of `Adjustments` in the `Charge`.
          default: []
      type: object
      required:
        - patientId
        - totalOutstanding
      title: ChargeDetail
      description: Unified Charge model for both creation and representation.
    ChargeTiny:
      properties:
        id:
          type: string
          title: Id
          description: Unique identifier for the charge.
        patientId:
          type: string
          title: Patientid
          description: Identifier of the patient being charged.
      type: object
      required:
        - id
        - patientId
      title: ChargeTiny
      description: >-
        An extremely lightweight version of the Charge model, used for payment
        link Rainforest webhooks.
    PaymentMedium:
      type: string
      enum:
        - POS
        - VIRTUAL_TERMINAL
        - PAYMENT_LINK
        - PAYMENT_PLAN
        - SUBSCRIPTION
        - SAVED_PAYMENT_METHOD
        - MEMBERSHIP
        - CASH
        - CHECK
        - CARE_CREDIT
        - PATIENT_CREDIT
      title: PaymentMedium
      description: >-
        Payment medium types supported by the system.


        These fall into two categories:

        1. Payment Processor Mediums: Require Rainforest/Stripe payin (card
        processing)

        2. External Settlement Mediums: Settled outside the system (cash, check,
        etc.)
    PaymentPlanCreateWithoutID:
      properties:
        initialAmount:
          type: integer
          title: Initialamount
          description: The initial payment amount for the payment plan
        chargeIds:
          items:
            type: string
          type: array
          title: Chargeids
          description: The IDs of the associated charges
        frequency:
          $ref: '#/components/schemas/PaymentPlanFrequency'
          description: The frequency of installment payments
        installments:
          type: integer
          title: Installments
          description: The number of installment payments
        installmentAmount:
          type: integer
          title: Installmentamount
          description: The amount of each installment payment
        locationId:
          anyOf:
            - type: string
            - type: 'null'
          title: Locationid
          description: The ID of the associated location
        startDate:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          title: Startdate
          description: >-
            Optional start date for the first payment (only allowed for $0 down
            payment plans)
      type: object
      required:
        - initialAmount
        - chargeIds
        - frequency
        - installments
        - installmentAmount
      title: PaymentPlanCreateWithoutID
      description: >-
        Represents the creation of a payment plan without an ID.


        This model defines the structure for creating a new payment plan,

        including details about the initial payment, associated charge,

        frequency of payments, number of installments, and the amount for each
        installment.
    TotalAmount:
      properties:
        amount:
          type: integer
          title: Amount
        currencyCode:
          type: string
          title: Currencycode
      type: object
      required:
        - amount
        - currencyCode
      title: TotalAmount
      description: Rainforest currency format
    ChatStatus:
      type: string
      enum:
        - READ
        - UNREAD
      title: ChatStatus
    ChatPatient:
      properties:
        id:
          type: string
          title: Id
        firstName:
          anyOf:
            - type: string
            - type: 'null'
          title: Firstname
        lastName:
          anyOf:
            - type: string
            - type: 'null'
          title: Lastname
        primaryLocationId:
          anyOf:
            - type: string
            - type: 'null'
          title: Primarylocationid
      type: object
      required:
        - id
        - firstName
        - lastName
        - primaryLocationId
      title: ChatPatient
    ItemType:
      type: string
      enum:
        - ITEM
        - PRODUCT
        - MEDICATION
        - SERVICE
        - PACKAGE
        - MEMBERSHIP
      title: ItemType
    ItemStock:
      properties:
        itemId:
          type: string
          title: Itemid
          description: ID of the item
        stockId:
          type: string
          title: Stockid
          description: ID of the stock
        quantityUsed:
          type: number
          title: Quantityused
          description: Quantity of the item
      type: object
      required:
        - itemId
        - stockId
        - quantityUsed
      title: ItemStock
    Supplier:
      properties:
        id:
          type: string
          title: Id
          description: Unique identifier for the supplier
        name:
          type: string
          title: Name
          description: Name of the supplier
        description:
          anyOf:
            - type: string
            - type: 'null'
          title: Description
          description: Optional description of the supplier
        website:
          anyOf:
            - type: string
            - type: 'null'
          title: Website
          description: Optional website of the supplier
        email:
          anyOf:
            - type: string
            - type: 'null'
          title: Email
          description: Optional email of the supplier
        preferredContactMethod:
          anyOf:
            - type: string
            - type: 'null'
          title: Preferredcontactmethod
          description: Optional preferred contact method
        phoneNumber:
          anyOf:
            - type: string
            - type: 'null'
          title: Phonenumber
          description: Optional phone number of the supplier
        addressLineOne:
          anyOf:
            - type: string
            - type: 'null'
          title: Addresslineone
          description: Optional first line of address
        addressLineTwo:
          anyOf:
            - type: string
            - type: 'null'
          title: Addresslinetwo
          description: Optional second line of address
        city:
          anyOf:
            - type: string
            - type: 'null'
          title: City
          description: Optional city
        state:
          anyOf:
            - type: string
            - type: 'null'
          title: State
          description: Optional state or province
        zipCode:
          anyOf:
            - type: string
            - type: 'null'
          title: Zipcode
          description: Optional ZIP or postal code
        country:
          anyOf:
            - type: string
            - type: 'null'
          title: Country
          description: Optional country
        isArchived:
          type: boolean
          title: Isarchived
          description: Whether the supplier is archived
          default: false
      type: object
      required:
        - name
      title: Supplier
    PaymentMethodSummary:
      properties:
        id:
          type: string
          title: Id
        patientId:
          anyOf:
            - type: string
            - type: 'null'
          title: Patientid
        rainforestPaymentMethodId:
          type: string
          title: Rainforestpaymentmethodid
        brand:
          anyOf:
            - type: string
            - type: 'null'
          title: Brand
        last4:
          anyOf:
            - type: string
            - type: 'null'
          title: Last4
        expMonth:
          anyOf:
            - type: integer
            - type: 'null'
          title: Expmonth
        expYear:
          anyOf:
            - type: integer
            - type: 'null'
          title: Expyear
        accountHolderType:
          anyOf:
            - type: string
            - type: 'null'
          title: Accountholdertype
        accountNumberLast4:
          anyOf:
            - type: integer
            - type: 'null'
          title: Accountnumberlast4
        bankName:
          anyOf:
            - type: string
            - type: 'null'
          title: Bankname
        routingNumber:
          anyOf:
            - type: integer
            - type: 'null'
          title: Routingnumber
        description:
          anyOf:
            - type: string
            - type: 'null'
          title: Description
        type:
          anyOf:
            - $ref: '#/components/schemas/PaymentMethodType'
            - type: 'null'
        isDefault:
          type: boolean
          title: Isdefault
          default: false
        isArchived:
          type: boolean
          title: Isarchived
          default: false
      type: object
      required:
        - id
        - patientId
        - rainforestPaymentMethodId
        - brand
        - last4
        - expMonth
        - expYear
        - accountHolderType
        - accountNumberLast4
        - bankName
        - routingNumber
        - description
        - type
      title: PaymentMethodSummary
    AppointmentChecklistType:
      type: string
      enum:
        - FILLED_FORM
        - CHECKED_IN
        - WITH_MA
        - MEASUREMENT_TAKEN
        - DOSE_TAKEN
        - WITH_PROVIDER
        - NOTE_TAKEN
        - PAYMENT_MADE
        - REQUEST_GFE
      title: AppointmentChecklistType
    ChargePaymentDetail-Output:
      properties:
        paymentId:
          type: string
          title: Paymentid
          description: The unique identifier for the payment.
        amount:
          type: integer
          title: Amount
          description: The amount of the payment.
        createdDate:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Createddate
          description: The date and time the payment was created.
        chargeId:
          type: string
          title: Chargeid
          description: The unique identifier for the charge.
        payment:
          $ref: '#/components/schemas/Payment-Output'
          description: Detailed information about the payment.
      type: object
      required:
        - paymentId
        - amount
        - chargeId
        - payment
      title: ChargePaymentDetail
    PaymentPlanFrequency:
      type: string
      enum:
        - WEEKLY
        - BIWEEKLY
        - MONTHLY
      title: PaymentPlanFrequency
    PaymentMethodType:
      type: string
      enum:
        - CARD
        - ACH
        - APPLE_PAY
      title: PaymentMethodType

````