# Browsing

2 of 2 supported
Source: https://plasapi.com/features/search-and-discovery/browsing/

Let patrons explore the collection through departments and categories instead of a search field.

## 1.9.1 View department — Supported

Show a department of the collection, with its categories and shelves of works.

### What you can build

Browsing pages that divide the collection into departments, such as crime or picture books, each with its own categories and shelves. Every shelf is a predefined search, so the library system's catalogue fills it and keeps it current.

### Typical flow

1. The client defines the department as a set of shelves, each with a search query and filters.
2. The client fills each shelf with `SearchWorks`.
3. The patron opens a work, or a category in the department (1.9.2).

### What the API provides

- The specification has no department or category resource. The client defines them; PLAS supplies the works.
- The keys `filter` accepts are the ones `GetSearchConfiguration` lists in `workSearch.filter.available`.
- `size` is a preferred page size. The provider may return more or fewer results.

### Calls in the API

Enabled in the configuration: `GetSearchConfiguration`

- [GET /work/search](https://plasapi.com/provider/v0.6.7/work/#SearchWorks) — Search Works

## 1.9.2 View category — Supported

Show the works in one category of a department.

### What you can build

A page for each category with the works that belong to it, for more focused browsing within a genre or subject.

### Typical flow

1. The patron opens a category from a department (1.9.1).
2. The client runs the category's predefined search with `SearchWorks`.
3. The client fetches more works with `page` until `endOfResults` says the result is complete.

### What the API provides

- `endOfResults` tells whether the end of the result has been reached. When it is missing, that is unknown.
- `total` is the number of results in the whole search, when the provider returns it.

### Calls in the API

Enabled in the configuration: `GetSearchConfiguration`

- [GET /work/search](https://plasapi.com/provider/v0.6.7/work/#SearchWorks) — Search Works
