{
  "properties": {
    "document_type": {
      "allOf": [
        {
          "type": "string",
          "enum": [
            "paystub",
            "W-2",
            "1099",
            "direct_deposit_form",
            "verification_report",
            "1040",
            "bank_statement",
            "ssi_award_letter",
            "w2",
            "verification_photo"
          ]
        }
      ],
      "description": "The type of the document."
    },
    "pay_date": {
      "type": "string",
      "title": "pay_date",
      "description": "The date when the check amount is paid to the employee."
    },
    "year": {
      "type": "integer",
      "title": "year",
      "description": "The tax year of the form."
    },
    "count": {
      "type": "integer",
      "title": "count",
      "description": "The number of available data objects fetched in the job."
    },
    "from_pay_date": {
      "type": "string",
      "format": "date",
      "title": "from_pay_date",
      "description": "The earliest pay date for the set of available paystubs in the paystubs job."
    },
    "to_pay_date": {
      "type": "string",
      "format": "date",
      "title": "to_pay_date",
      "description": "The latest pay date for the set of available paystubs in the paystubs job."
    },
    "has_potential_paystubs_documents": {
      "type": "boolean",
      "title": "has_potential_paystubs_documents",
      "description": "Indicates whether a paystubs documents job will attempt to run."
    },
    "sync_status": {
      "allOf": [
        {
          "type": "string",
          "enum": [
            "in_progress",
            "complete"
          ]
        }
      ],
      "description": "The current synchronization status of the payroll platforms data with Pinwheel's data."
    },
    "bill_id": {
      "type": "string",
      "format": "uuid",
      "title": "bill_id",
      "description": "UUID of the user's recurring bill. This corresponds to the `id` field in the Bill Detection webhooks (e.g. `bill.added`)."
    },
    "type": {
      "allOf": [
        {
          "type": "string",
          "enum": [
            "ach",
            "card"
          ]
        }
      ],
      "description": "The type of payment that was used in a bill switch job."
    },
    "payment": {
      "allOf": [
        {
          "$ref": "#/components/schemas/MerchantPayment"
        }
      ],
      "title": "payment",
      "description": "The payment that was updated during a bill switch job."
    },
    "frequency": {
      "allOf": [
        {
          "type": "string",
          "enum": [
            "weekly",
            "bi-weekly",
            "monthly",
            "bi-monthly",
            "quarterly",
            "semi-yearly",
            "yearly",
            "other"
          ]
        }
      ],
      "description": "How often the recurring bill is paid."
    },
    "next_payment_date": {
      "type": "string",
      "format": "date-time",
      "title": "next_payment_date",
      "description": "Next payment date for the bill (if known)."
    },
    "next_payment_amount_cents": {
      "type": "integer",
      "title": "next_payment_amount_cents",
      "description": "Next predicted payment amount in cents."
    },
    "is_integrated_switch": {
      "type": "boolean",
      "title": "is_integrated_switch",
      "description": "Whether this is an integrated switch flow (true) or guided flow (false)."
    },
    "is_integrated_cancellation": {
      "type": "boolean",
      "title": "is_integrated_cancellation",
      "description": "Whether this is an integrated cancellation flow (true) or guided flow (false)."
    },
    "detection_method": {
      "allOf": [
        {
          "type": "string",
          "enum": [
            "manual",
            "external_plaid",
            "first_party"
          ]
        }
      ],
      "description": "Whether this bill was detected from an external account (`external-plaid`), uploaded transaction data (`first-party`), or created manually by the user (`manual`)."
    },
    "reported_platform_name": {
      "type": "string",
      "title": "reported_platform_name",
      "description": "For platforms not tracked by Pinwheel, the reported name of the merchant/platform associated with the recurring bill or subscription."
    },
    "reserved_platform_id": {
      "type": "string",
      "format": "uuid",
      "title": "reserved_platform_id",
      "description": "For platforms not tracked by Pinwheel, the reserved platform ID if we track it in the future."
    },
    "card_name": {
      "type": "string",
      "title": "card_name",
      "description": "The name of the new card added in a card switch job."
    },
    "action": {
      "allOf": [
        {
          "type": "string",
          "enum": [
            "full_switch",
            "partial_switch"
          ]
        }
      ],
      "description": "Indicates whether the `direct_deposit_switch` was a full or partial switch."
    },
    "allocation": {
      "allOf": [
        {
          "$ref": "#/components/schemas/DirectDepositAllocationDetail"
        }
      ],
      "title": "allocation",
      "description": "The allocation that was created/updated during a `direct_deposit_switch`."
    }
  },
  "type": "object",
  "title": "ParamsPayload_v2023_11_22",
  "x-tags": [
    "Schemas"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://schema.pinwheelapi.com/ParamsPayload_v2023_11_22.json"
}