Searching Entities in Halo - HALO

Searching Entities in Halo

Where different entities can be searched, what one should expect to be returned & related configuration options

Entity Specific Searching

Within each module in Halo, you will find a 'search bar' in the top LHS or the module in question:

This search box will return a filtered list of the module-specific entity, based on your search criteria. 

Some custom fields are searchable – if you have created a custom field & have the below option enabled:

Then you can search for records based on the contents of said custom field. 

Searchable parameters per module:

Entity/Module Searchable Fields

Agreements

  • Agreement Reference
  • Customer
  • Site (If Site is selected against the Agreement)
  • Note
  • Status
  • Contract Type
  • Fixed/Prepay

Items

  • Name
  • Internal Reference
  • External Reference
  • Long Description
  • SKU
  • Item ID
  • Accounts ID
  • Product Category 

Quotations

  • Quote Reference
  • Title
  • End-User of Quote
  • Site
  • Client

Sales Orders

  • Sales Order ID
  • Title
  • End-User
  • Site
  • Client
Users
  • Username
  • Frist Name
  • Last Name
  • Email Address
  • Email Address 2
  • Email Address 3
  • "Other Fields" (Network login, Department, Job Title, Reports To etc..)
  • Phone Numbers (Home Phone, Mobile, Fax)

Advanced Searching

Halo also allows for searching against specific parameters against certain entities. In the front-end, you can simply click the filter icon and enter into the search bar that appears below:

You can also use perform this type of searching within the API, via including an 'advanced_search' query parameter. Endpoints that accept the 'advanced_search' parameter include:

  • Clients
  • Attachments (when using table view)
  • Agreements
  • Assets
  • Ticket Lists
  • Invoices
  • Products
  • Sales Orders
  • Sites
  • Users

The format of the API call is a URL Encoded array, accepting 3 parameters: 'filter_name', 'filter_type' and 'filter_value'. The filter_type parameter is an integer, where each integer represents an operation (=, <, > etc..). The integer value to operation relationships are described below:

Filter_Type Integer Operation

0

in

1

not in

2 =
3 <>
4 like
5 not like
6 =
7 >
8 >=
9 <
10 <=

An example of an API call made to the clients endpoint, filtering by clients for a specific Top Level, would look like: …/api/client?advanced_search=%5B%7B%22filter_name%22%3A%22toplevel_name%22%2C%22filter_type%22%3A4%2C%22filter_value%22%3A%22managed%22%7D%5D