POST api/Search

Performs a limited search on the database - searches boat names, customer names (surnames) and berth numbers

Request Information

URI Parameters

None.

Body Parameters

SearchBindingModel
NameDescriptionTypeAdditional information
searchString

text to search for

string

None.

marinaCode

Marina code to return results for. This can parameter can interact with other filters: includeInBoats/includeOutBoats - only boats in/out at the given marina are included. Otherwise, boats that are in/out at ANY marina are included. searchBerths - if a marina code is specified, then only berths at the given marina are included. Otherwise, berths at ANY marina are included.

string

None.

includeInBoats

When TRUE, includes boats that are currently IN (see marinaCode parameter for more info). This only affects BOAT results.

boolean

None.

includeOutBoats

When TRUE, includes boats that are currently OUT (see marinaCode parameter for more info). This only affects BOAT results.

boolean

None.

searchBoats

When TRUE, search function will look at boat records when matching the search text.

boolean

None.

searchCustomers

When TRUE, search function will look at customer records when matching the search text.

boolean

None.

searchBerths

When TRUE, search function will look at berth records when matching the search text.

boolean

None.

resultsPerPage

Number of results to return - 0 to disable pagination

integer

None.

pageNo

The page number to return results from if pagination is enabled

integer

None.

Request Formats

application/json, text/json

Sample:
{
  "searchString": "Test",
  "marinaCode": "HM",
  "includeInBoats": false,
  "includeOutBoats": false,
  "searchBoats": false,
  "searchCustomers": false,
  "searchBerths": false,
  "resultsPerPage": 10,
  "pageNo": 1
}

multipart/form-data

Sample:
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="searchString"

sample string 1
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="marinaCode"

sample string 2
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="includeInBoats"

True
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="includeOutBoats"

True
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="searchBoats"

True
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="searchCustomers"

True
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="searchBerths"

True
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="resultsPerPage"

8
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="pageNo"

9
--MultipartDataMediaFormatterBoundary1q2w3e--

Response Information

Resource Description

SearchResultListBindingModel
NameDescriptionTypeAdditional information
searchResults

Binding model for Country list

Collection of SearchResultBindingModel

None.

moreResultsAvailable

Indicates whether there are more results available at this point in time.

boolean

None.

Response Formats

application/json, text/json

Sample:
{
  "searchResults": [
    {
      "boatName": "sample string 1",
      "boatNo": 2,
      "customerCode": "sample string 3",
      "customerName": "sample string 4",
      "berthNo": "sample string 5",
      "boatLength": 6.0,
      "make": "sample string 7",
      "model": "sample string 8",
      "lastDateIn": "2026-04-01T00:42:17.4516847+01:00"
    },
    {
      "boatName": "sample string 1",
      "boatNo": 2,
      "customerCode": "sample string 3",
      "customerName": "sample string 4",
      "berthNo": "sample string 5",
      "boatLength": 6.0,
      "make": "sample string 7",
      "model": "sample string 8",
      "lastDateIn": "2026-04-01T00:42:17.4516847+01:00"
    }
  ],
  "moreResultsAvailable": true
}

multipart/form-data

Sample:
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="searchResults[0].boatName"

sample string 1
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="searchResults[0].boatNo"

2
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="searchResults[0].customerCode"

sample string 3
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="searchResults[0].customerName"

sample string 4
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="searchResults[0].berthNo"

sample string 5
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="searchResults[0].boatLength"

6
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="searchResults[0].make"

sample string 7
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="searchResults[0].model"

sample string 8
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="searchResults[0].lastDateIn"

2026-04-01T00:42:17.4516847+01:00
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="searchResults[1].boatName"

sample string 1
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="searchResults[1].boatNo"

2
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="searchResults[1].customerCode"

sample string 3
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="searchResults[1].customerName"

sample string 4
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="searchResults[1].berthNo"

sample string 5
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="searchResults[1].boatLength"

6
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="searchResults[1].make"

sample string 7
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="searchResults[1].model"

sample string 8
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="searchResults[1].lastDateIn"

2026-04-01T00:42:17.4516847+01:00
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="moreResultsAvailable"

True
--MultipartDataMediaFormatterBoundary1q2w3e--