Zamok Kiosk API
    Preparing search index...
    default: {
        getBillsByParcelNumber: {
            failure: PayloadAC<
                "GET_BILLS_BY_PARCEL_NUMBER_FAILURE",
                { error: string; parcelNumber: string },
            >;
            request: PayloadAC<
                "GET_BILLS_BY_PARCEL_NUMBER_REQUEST",
                { parcelNumber: string },
            >;
            success: PayloadAC<
                "GET_BILLS_BY_PARCEL_NUMBER_SUCCESS",
                { data: TaxBill[]; parcelNumber: string },
            >;
        };
        getTaxAccountByParcelNumber: {
            failure: PayloadAC<
                "GET_TAX_ACCOUNT_BY_PARCEL_NUMBER_FAILURE",
                { error: string; parcelNumber: string },
            >;
            request: PayloadAC<
                "GET_TAX_ACCOUNT_BY_PARCEL_NUMBER_REQUEST",
                { parcelNumber: string },
            >;
            success: PayloadAC<
                "GET_TAX_ACCOUNT_BY_PARCEL_NUMBER_SUCCESS",
                { data: TaxAccount; parcelNumber: string },
            >;
        };
        payBill: {
            failure: PayloadAC<"PAY_BILL_FAILURE", { error: string }>;
            request: PayloadAC<"PAY_BILL_REQUEST", CardBillPaymentRequest>;
            success: PayloadAC<"PAY_BILL_SUCCESS", BillPaymentResponse>;
        };
        recordPaymentPostLog: PayloadAC<
            "RECORD_PAYMENT_POST_LOG",
            { detail: PayItPaymentPostLogDetail; id: string },
        >;
        searchAccountsByBusinessName: {
            failure: PayloadAC<
                "SEARCH_ACCOUNTS_BY_BUSINESS_NAME_FAILURE",
                { businessName: string; error: string },
            >;
            request: PayloadAC<
                "SEARCH_ACCOUNTS_BY_BUSINESS_NAME_REQUEST",
                { businessName: string },
            >;
            success: PayloadAC<
                "SEARCH_ACCOUNTS_BY_BUSINESS_NAME_SUCCESS",
                { businessName: string; data: TaxAccount[] },
            >;
        };
        searchAccountsByOwnerName: {
            failure: PayloadAC<
                "SEARCH_ACCOUNTS_BY_OWNER_NAME_FAILURE",
                { error: string; ownerFirstName: string; ownerLastName: string },
            >;
            request: PayloadAC<
                "SEARCH_ACCOUNTS_BY_OWNER_NAME_REQUEST",
                { ownerFirstName: string; ownerLastName: string },
            >;
            success: PayloadAC<
                "SEARCH_ACCOUNTS_BY_OWNER_NAME_SUCCESS",
                { data: TaxAccount[]; ownerFirstName: string; ownerLastName: string },
            >;
        };
        searchAccountsByStreetAddress: {
            failure: PayloadAC<
                "SEARCH_ACCOUNTS_BY_STREET_ADDRESS_FAILURE",
                { error: string; streetName: string; streetNumber: string },
            >;
            request: PayloadAC<
                "SEARCH_ACCOUNTS_BY_STREET_ADDRESS_REQUEST",
                { streetName: string; streetNumber: string },
            >;
            success: PayloadAC<
                "SEARCH_ACCOUNTS_BY_STREET_ADDRESS_SUCCESS",
                { data: TaxAccount[]; streetName: string; streetNumber: string },
            >;
        };
        setClientInitiated: PayloadAC<"CLIENT_INITIATED", boolean>;
    } = ...

    Type Declaration

    • getBillsByParcelNumber: {
          failure: PayloadAC<
              "GET_BILLS_BY_PARCEL_NUMBER_FAILURE",
              { error: string; parcelNumber: string },
          >;
          request: PayloadAC<
              "GET_BILLS_BY_PARCEL_NUMBER_REQUEST",
              { parcelNumber: string },
          >;
          success: PayloadAC<
              "GET_BILLS_BY_PARCEL_NUMBER_SUCCESS",
              { data: TaxBill[]; parcelNumber: string },
          >;
      }

      Dispatch to fetch tax bills by parcel number.

      {
      type: "GET_BILLS_BY_PARCEL_NUMBER_REQUEST",
      payload: {
      parcelNumber: "123-456-789"
      }
      }
      {
      type: "GET_BILLS_BY_PARCEL_NUMBER_SUCCESS",
      payload: {
      parcelNumber: "123-456-789",
      data: [{
      taxYear: "2025",
      billBalance: 125.5,
      townCode: "SHELBY",
      city: "Memphis",
      streetName: "Main St",
      streetNumber: "123",
      billNumber: 123,
      feesDue: 5,
      interestAndFeesDue: 7.5,
      interestDue: 2.5,
      taxingAuthority: "Shelby County",
      ownerCity: "Memphis",
      ownerState: "TN",
      ownerStreetAddress: "123 Main St",
      ownerZipCode: "38103",
      billPaymentType: 1,
      billTaxYear: 2025,
      dueDate: "2026-02-28",
      parcelId: "123-456-789",
      billId: "bill-id",
      notPayableReason: "",
      notPayable: false
      }]
      }
      }
      {
      type: "GET_BILLS_BY_PARCEL_NUMBER_FAILURE",
      payload: {
      parcelNumber: "123-456-789",
      error: "Not found"
      }
      }
    • getTaxAccountByParcelNumber: {
          failure: PayloadAC<
              "GET_TAX_ACCOUNT_BY_PARCEL_NUMBER_FAILURE",
              { error: string; parcelNumber: string },
          >;
          request: PayloadAC<
              "GET_TAX_ACCOUNT_BY_PARCEL_NUMBER_REQUEST",
              { parcelNumber: string },
          >;
          success: PayloadAC<
              "GET_TAX_ACCOUNT_BY_PARCEL_NUMBER_SUCCESS",
              { data: TaxAccount; parcelNumber: string },
          >;
      }

      Dispatch to fetch a tax account by parcel number.

      {
      type: "GET_TAX_ACCOUNT_BY_PARCEL_NUMBER_REQUEST",
      payload: {
      parcelNumber: "123-456-789"
      }
      }
      {
      type: "GET_TAX_ACCOUNT_BY_PARCEL_NUMBER_SUCCESS",
      payload: {
      parcelNumber: "123-456-789",
      data: {
      accountId: "account-id",
      ownerName: "Jane Doe",
      address: "123 Main St",
      propertyType: "Residential",
      taxSaleAccount: false
      }
      }
      }
      {
      type: "GET_TAX_ACCOUNT_BY_PARCEL_NUMBER_FAILURE",
      payload: {
      parcelNumber: "123-456-789",
      error: "Not found"
      }
      }
    • payBill: {
          failure: PayloadAC<"PAY_BILL_FAILURE", { error: string }>;
          request: PayloadAC<"PAY_BILL_REQUEST", CardBillPaymentRequest>;
          success: PayloadAC<"PAY_BILL_SUCCESS", BillPaymentResponse>;
      }

      Dispatch to submit a bill payment request.

      PAY_BILL_REQUEST expects a BillPaymentRequest payload with these properties:

      • billNumber: bill identifier expected by the PayIt integration API.
      • effectiveDate: effective payment date as an ISO date string.
      • transactionId: Zamok transaction identifier.
      • amount: payment amount in dollars.
      • contactPhone: payer phone number.
      • contactEmail: optional payer email address.
      • cashPayment: optional flag identifying a cash payment.
      • paidBy: optional payer display name.

      PAY_BILL_SUCCESS contains a BillPaymentResponse. All response identifiers are optional and nullable: payableId, serviceOfferingId, payItTransactionId, lineItemId, externalTransactionId, and externalReceiptId.

      In the Shelby workflow, billNumber is populated from the selected TaxBill.billId; billId is not a property of BillPaymentRequest.

      {
      type: "PAY_BILL_REQUEST",
      payload: {
      billNumber: "2025-000123",
      effectiveDate: "2026-08-25",
      transactionId: "zamok-transaction-id",
      amount: 125.5,
      contactEmail: "payer@example.com",
      contactPhone: "9015550100",
      cashPayment: false,
      paidBy: "Jane Doe"
      }
      }
      {
      type: "PAY_BILL_SUCCESS",
      payload: {
      payableId: "payable-id",
      serviceOfferingId: "service-offering-id",
      payItTransactionId: "payit-transaction-id",
      lineItemId: "line-item-id",
      externalTransactionId: "external-transaction-id",
      externalReceiptId: "external-receipt-id"
      }
      }
      {
      type: "PAY_BILL_FAILURE",
      payload: {
      error: "Payment failed"
      }
      }
    • recordPaymentPostLog: PayloadAC<
          "RECORD_PAYMENT_POST_LOG",
          { detail: PayItPaymentPostLogDetail; id: string },
      >

      Dispatch to record PayIt payment post-log details.

      detail records the Zamok transaction, provider, timestamp, original PayIt response, and reconciliation fields. Identifier fields may be copied to the top level of detail to support reporting and reconciliation queries.

      {
      type: "RECORD_PAYMENT_POST_LOG",
      payload: {
      id: "zamok-transaction-id",
      detail: {
      zamokTransactionId: "zamok-transaction-id",
      provider: "payit-integration",
      recordedAt: new Date("2026-08-25T12:00:00.000Z"),
      amount: 125.5,
      tenderType: "credit",
      response: {
      payItTransactionId: "payit-transaction-id",
      externalReceiptId: "receipt-id"
      },
      reconciliationFields: [
      { key: "payItTransactionId", value: "payit-transaction-id" },
      { key: "externalReceiptId", value: "receipt-id" }
      ],
      payItTransactionId: "payit-transaction-id",
      externalReceiptId: "receipt-id"
      }
      }
      }
    • searchAccountsByBusinessName: {
          failure: PayloadAC<
              "SEARCH_ACCOUNTS_BY_BUSINESS_NAME_FAILURE",
              { businessName: string; error: string },
          >;
          request: PayloadAC<
              "SEARCH_ACCOUNTS_BY_BUSINESS_NAME_REQUEST",
              { businessName: string },
          >;
          success: PayloadAC<
              "SEARCH_ACCOUNTS_BY_BUSINESS_NAME_SUCCESS",
              { businessName: string; data: TaxAccount[] },
          >;
      }

      Dispatch to search tax accounts by business name.

      {
      type: "SEARCH_ACCOUNTS_BY_BUSINESS_NAME_REQUEST",
      payload: {
      businessName: "Acme LLC"
      }
      }
      {
      type: "SEARCH_ACCOUNTS_BY_BUSINESS_NAME_SUCCESS",
      payload: {
      businessName: "Acme LLC",
      data: []
      }
      }
      {
      type: "SEARCH_ACCOUNTS_BY_BUSINESS_NAME_FAILURE",
      payload: {
      businessName: "Acme LLC",
      error: "Search failed"
      }
      }
    • searchAccountsByOwnerName: {
          failure: PayloadAC<
              "SEARCH_ACCOUNTS_BY_OWNER_NAME_FAILURE",
              { error: string; ownerFirstName: string; ownerLastName: string },
          >;
          request: PayloadAC<
              "SEARCH_ACCOUNTS_BY_OWNER_NAME_REQUEST",
              { ownerFirstName: string; ownerLastName: string },
          >;
          success: PayloadAC<
              "SEARCH_ACCOUNTS_BY_OWNER_NAME_SUCCESS",
              { data: TaxAccount[]; ownerFirstName: string; ownerLastName: string },
          >;
      }

      Dispatch to search tax accounts by owner name.

      {
      type: "SEARCH_ACCOUNTS_BY_OWNER_NAME_REQUEST",
      payload: {
      ownerFirstName: "Jane",
      ownerLastName: "Doe"
      }
      }
      {
      type: "SEARCH_ACCOUNTS_BY_OWNER_NAME_SUCCESS",
      payload: {
      ownerFirstName: "Jane",
      ownerLastName: "Doe",
      data: []
      }
      }
      {
      type: "SEARCH_ACCOUNTS_BY_OWNER_NAME_FAILURE",
      payload: {
      ownerFirstName: "Jane",
      ownerLastName: "Doe",
      error: "Search failed"
      }
      }
    • searchAccountsByStreetAddress: {
          failure: PayloadAC<
              "SEARCH_ACCOUNTS_BY_STREET_ADDRESS_FAILURE",
              { error: string; streetName: string; streetNumber: string },
          >;
          request: PayloadAC<
              "SEARCH_ACCOUNTS_BY_STREET_ADDRESS_REQUEST",
              { streetName: string; streetNumber: string },
          >;
          success: PayloadAC<
              "SEARCH_ACCOUNTS_BY_STREET_ADDRESS_SUCCESS",
              { data: TaxAccount[]; streetName: string; streetNumber: string },
          >;
      }

      Dispatch to search tax accounts by street address.

      {
      type: "SEARCH_ACCOUNTS_BY_STREET_ADDRESS_REQUEST",
      payload: {
      streetNumber: "123",
      streetName: "Main St"
      }
      }
      {
      type: "SEARCH_ACCOUNTS_BY_STREET_ADDRESS_SUCCESS",
      payload: {
      streetNumber: "123",
      streetName: "Main St",
      data: []
      }
      }
      {
      type: "SEARCH_ACCOUNTS_BY_STREET_ADDRESS_FAILURE",
      payload: {
      streetNumber: "123",
      streetName: "Main St",
      error: "Search failed"
      }
      }
    • setClientInitiated: PayloadAC<"CLIENT_INITIATED", boolean>

      Dispatch to set whether the payment flow is client-initiated.

      {
      type: "CLIENT_INITIATED",
      payload: true
      }

    Internal actions map for ActionType derivation and default export.