# Temporary list

2 of 2 supported
Source: https://plasapi.com/features/patron/temporary-lists/

Let patrons collect material before they log in, and then save it as a list or reserve all of it.

## 2.14.3 Save temporary list as a list — Supported

Turn the material collected on a temporary list into one of the patron's own lists.

### What you can build

Patrons can browse and collect without an account, and keep what they found by saving it once they log in.

### Typical flow

1. The client keeps the temporary list itself until the patron logs in.
2. The patron names the list.
3. The client creates it with `CreatePatronList`.
4. Each item is added with `InsertItemToPatronList`.

### What the API provides

- The temporary list is not stored in PLAS. Only the saved list is.
- The client chooses the list's `id` when creating it.
- Items are added one call at a time. `position` decides where each one goes; without it, the item goes first.

### Calls in the API

Requires: 2.2.1

In this order

1. [POST /patron/{patronId}/list](https://plasapi.com/provider/v0.6.7/patron-list/#CreatePatronList) — Create a new patron list
2. [POST /patron/{patronId}/list/{listId}](https://plasapi.com/provider/v0.6.7/patron-list/#InsertItemToPatronList) — Insert an item to a patron list

## 2.14.5 Reserve temporary list — Supported

Reserve everything on a temporary list in one action.

### What you can build

Patrons who have collected several titles reserve all of them at once, with one choice of pick-up location.

### Typical flow

1. The client reads each publication's `reserveId` from `GetHoldings`.
2. The patron chooses where to pick up (2.5.8).
3. The client creates one reservation per publication with `CreatePatronReservation`.
4. The patron sees which reservations were made and which were not.

### What the API provides

- There is no batch operation. Each reservation is its own call and can succeed or fail on its own.
- A publication without a `reserveId` cannot be reserved.
- Fees and the patron's reservation limits (`daily`, `max`) come from `GetPatronConfiguration`, as for a single reservation (2.5.1).

### Calls in the API

Requires: 2.2.1

In this order

1. [GET /holdings](https://plasapi.com/provider/v0.6.7/holding/#GetHoldings) — Get holdings
2. [POST /patron/{patronId}/reservation](https://plasapi.com/provider/v0.6.7/patron-reservation/#CreatePatronReservation) — Create reservation
