---
title: SearchRequest
summary: API reference for SearchRequest.
status: draft
owner: SAIF
last_reviewed: 2026-07-24
library: SAIF.Business.CustomerContact
reference_type: package
---

# SearchRequest

`SearchRequest` provides the criteria object for combined customer/contact search.

## Purpose
- Criteria object for combined customer/contact search.

## Context
- Namespace: `SAIF.Business.CustomerContact`
- Assembly/package: `SAIF.BOF.Business.CustomerContact`

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| SplitRatio | `Public Property SplitRatio As String` | Returns or sets the customer/contact result split ratio. |
| CustomerLimit | `Public ReadOnly Property CustomerLimit As Integer` | Returns the customer-side result cap calculated from the request. |
| ContactLimit | `Public ReadOnly Property ContactLimit As Integer` | Returns the contact-side result cap calculated from the request. |
| SearchFormatCode | `Public Property SearchFormatCode As Integer` | Returns or sets the numeric code used to choose a search format. |
| ReferenceID | `Public Property ReferenceID As String` | Returns or sets the reference identifier filter. |
| CustomerType | `Public Property CustomerType As String` | Returns or sets the customer type filter. |
| RelationshipType | `Public Property RelationshipType As String` | Returns or sets the relationship type filter. |
| NameString | `Public Property NameString As String` | Returns or sets the primary name filter. |
| LastNameString | `Public Property LastNameString As String` | Returns or sets the last-name filter. |
| FirstNameString | `Public Property FirstNameString As String` | Returns or sets the first-name filter. |
| SearchFormat | `Public ReadOnly Property SearchFormat As CustomerContactSearchFormat` | Returns the resolved search-format enum value. |
| SearchType | `Public Property SearchType As CustomerContactSearchType` | Returns or sets which search branches should execute. |
| ResultLimit | `Public Property ResultLimit As Integer` | Returns or sets the requested overall result cap. |
| IsContactSearchable | `Public ReadOnly Property IsContactSearchable As Boolean` | Returns the boolean state exposed by this type. |
| IsCustomerSearchable | `Public ReadOnly Property IsCustomerSearchable As Boolean` | Returns the boolean state exposed by this type. |
| IsValidRequest | `Public ReadOnly Property IsValidRequest As Boolean` | Returns the boolean state exposed by this type. |
| FormattedName | `Public ReadOnly Property FormattedName As String` | Returns the search-formatted primary name string. |
| FormattedFirstName | `Public ReadOnly Property FormattedFirstName As String` | Returns the search-formatted first-name string. |
| FormattedLastName | `Public ReadOnly Property FormattedLastName As String` | Returns the search-formatted last-name string. |
| FormattedReferenceID | `Public ReadOnly Property FormattedReferenceID As String` | Returns the search-formatted reference identifier. |
| New | `Public Sub New()` | Initializes the object with the supplied constructor arguments. |
| New | `Public Sub New(ByVal inSearchString As String)` | Initializes the object with the supplied constructor arguments. |
| New | `Public Sub New(ByVal inFirstName As String, ByVal inLastName As String)` | Initializes the object with the supplied constructor arguments. |

## Behavioral notes
- ResultLimit is capped at the library maximum of 300 results.
- SplitRatio only accepts two numeric percentages whose sum is 100.

## Constraints and usage notes
- The search routine mutates limit fields during processing, so reuse of one request instance across concurrent operations is unsafe.

## Sources
- `Business\SAIF.Business.CustomerContact\clsCustomerContactSearch.vb`
