# Værk

4 af 6 understøttet
Kilde: https://plasapi.com/da/funktioner/search-and-discovery/work/

Vis lånerne et værk med dets udgaver og tilgængelighed, hvor det står på hylden, og hvilket nummer af et tidsskrift de vil have.

## 1.2.1 Se værk — Understøttet

Vis et værk med dets udgaver, tilgængelighed og det låneren kan gøre med det.

### Det kan du bygge

En side for hvert værk som giver låneren nok til at beslutte sig, og en kort vej til at låne eller reservere. Værket bærer det udgaverne har til fælles, som titler, ophav, beskrivelse, emner og målgruppe. Hver udgave bærer sit eget format, sprog, omfang og forlag.

### Typisk flow

1. Klienten henter værket med `GetWorks`. `publicationIds` lister udgaverne.
2. Klienten henter udgaverne med `GetPublications` og vælger den der skal vises, for eksempel efter lånerens sprog og format.
3. Tilgængeligheden og `reserveId` for hver udgave kommer fra `GetHoldings`.
4. For en logget ind låner giver `GetPatronConfiguration` det reservationsgebyr der skal vises før låneren reserverer (2.5.1).

### Det leverer API'et

- Et værk kræver kun `identifier` og `titles`. Alle andre felter kan mangle.
- En udgave peger på sine værker i `works`. `relation` er `embodies` (udgaven er hele værket) eller `contains` (værket er en del af udgaven).
- `numberOfReservations` fortæller hvor mange reservationer udgaven har. Når tallet er ukendt, mangler feltet.

### Kald i API'et

Kaldene bag visningen

- [GET /work](https://plasapi.com/da/provider/v0.6.7/work/#GetWorks) — Get Works
- [GET /publication](https://plasapi.com/da/provider/v0.6.7/publication/#GetPublications) — Get Publications
- [GET /holdings](https://plasapi.com/da/provider/v0.6.7/holding/#GetHoldings) — Get holdings
- [GET /patron/{patronId}/configuration](https://plasapi.com/da/provider/v0.6.7/patron-configuration/#GetPatronConfiguration) — Get patron configuration

## 1.2.2 Find materiale, opstilling — Understøttet

Vis hvilke filialer der har materialet, og hvor på filialen det står.

### Det kan du bygge

Låneren ser om et eksemplar er ledigt lige nu, hvilken filial der har det, og vejen til hylden: filial, afdeling og opstilling.

### Typisk flow

1. Klienten henter beholdningen for udgaven med `GetHoldings`.
2. Hver placering giver filialen, afdelingerne inde i den, `shelfmark` og de eksemplarer der står dér.
3. `GetLocations` giver afdelingstyperne i rækkefølge, for eksempel etage før afdeling.
4. Klienten viser vejen til hylden og hvor mange eksemplarer der er ledige dér.

### Det leverer API'et

- Vejen til et eksemplar er filialen, derefter afdelingerne i `path`, derefter `shelfmark`. Hver afdelingstype forekommer højst én gang.
- `availableState` er `available` eller `not_available`. `loanableState` er `loanable` eller `not_for_loan`.
- `show_to` med værdien `public` fortæller provideren at data skal vises offentligt og skal filtreres derefter. Uden den bør provideren returnere alle data.

### Kald i API'et

Kaldene bag visningen

- [GET /holdings](https://plasapi.com/da/provider/v0.6.7/holding/#GetHoldings) — Get holdings
- [GET /locations](https://plasapi.com/da/provider/v0.6.7/location/#GetLocations) — Get locations

## 1.2.3 Send opstilling — Understøttet

Lad låneren tage opstillingen med sig, på e-mail eller på papir.

### Typisk flow

1. Klienten læser filialen, afdelingerne og `shelfmark` fra `GetHoldings`.
2. Klienten sender eller udskriver dem.

### Det leverer API'et

- PLAS leverer placeringsdata. Afsendelse og udskrift står klienten for.

### Kald i API'et

API'et leverer dataene — din tjeneste udfører handlingen

- [GET /holdings](https://plasapi.com/da/provider/v0.6.7/holding/#GetHoldings) — Get holdings

## 1.2.4 Se eksemplar — Ikke endnu

Vis et enkelt eksemplar af en udgave.

> Ikke i PLAS endnu. Funktionen er ikke understøttet i dag. Beskrivelsen viser hvad den gør, så du kan se sammenhængen med resten.

## 1.2.5 Eksemplarhistorik — Ikke endnu

Vis historikken for et enkelt eksemplar.

> Ikke i PLAS endnu. Funktionen er ikke understøttet i dag. Beskrivelsen viser hvad den gør, så du kan se sammenhængen med resten.

## 1.2.6 Vælg nummer af tidsskrift — Understøttet

Lad låneren vælge et bestemt nummer af et tidsskrift eller en avis.

### Det kan du bygge

Hvert nummer af et tidsskrift er sin egen beholdning. Låneren indsnævrer numrene efter år, årgang og nummer, og reserverer præcis det nummer der vises.

### Typisk flow

1. Klienten henter beholdningen med `GetHoldings`. For et tidsskrift er hver beholdning ét nummer.
2. Klienten grupperer numrene efter `periodical.grouping`, for eksempel år og derefter årgang.
3. Låneren vælger et nummer. `periodical.name` er nummerets visningsnavn.
4. Klienten reserverer nummeret med dets `reserveId` og `CreatePatronReservation` (2.5.1).

### Det leverer API'et

- Et tidsskrift kan have nul eller flere beholdninger. Alle andre udgaver har højst én.
- Grupperingstyperne er `year`, `volume` og `number`, eller `level1` til `level7`. Standardrækkefølgen er år, årgang, nummer; `GetConfiguration` kan angive en anden i `holding.periodical.groupOrdering`.
- Beholdningens `reserveId` er alt der skal til for at reservere nummeret. Når den er tom, kan nummeret ikke reserveres.

### Kald i API'et

Forudsætter: 2.2.1

Slås til i konfigurationen: `GetConfiguration`

I denne rækkefølge

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