# Utlån og innlevering

2 av 4 støttet
Kilde: https://plasapi.com/no/funksjoner/patron/check-in-and-out/

La lånere og ansatte låne og levere fysisk materiale, med svarene en selvbetjeningsautomat eller et sorteringsanlegg trenger.

## 2.16.1 Lån ut fysisk materiale — Støttet

Lån ut et eksemplar til en låner.

### Dette kan du bygge

Utlån på en selvbetjeningsautomat, ved personalskranken eller på lånerens egen telefon, med RFID eller strekkode. Har et lån vilkår, for eksempel et utlånsgebyr, godtar låneren dem i samme flyt. En automat kan fortsette å låne ut mens biblioteksystemet ikke kan nås, og registrere lånene etterpå.

### Typisk flyt

1. Låneren identifiseres, enten ved å logge inn (2.2.1) eller med kortnummeret sitt og, der det kreves, et passord.
2. Eksemplaret skannes, og klienten kaller `Checkout` med eksemplarets ID, låneren, filialen og tidspunktet da låneren handlet.
3. Er `status` `needs_acknowledgement`, viser klienten låneren hver post i `acknowledgement.conditions`.
4. Når låneren godtar, sender klienten det samme utlånet igjen med `acknowledgement.code`.
5. Er `status` `completed`, inneholder `checkout` lånet, inkludert `dueDate`. Er den `failed`, sier `reason` hvorfor.

### Dette leverer API-et

- Klienten må finne `circulation.checkout.isEnabled` satt til true i `GetConfiguration` før den kaller `Checkout`.
- Når forespørselen er forstått, er svaret `200`. Utfallet står i `status`: `completed`, `needs_acknowledgement` eller `failed`. Et ukjent eksemplar er `failed` med `item_not_found`, ikke `404`.
- Et vilkår er et `lending_fee` (med `amount` og `currency`), `previously_checked_out` (låneren har hatt tittelen før) eller en `message` som må godtas. Én `code` dekker alle. Den kan brukes én gang og utløper ved `expiresAt`.
- Årsaker til `failed` er blant annet `item_not_lendable`, `item_on_loan`, `item_reserved_for_other_patron`, `patron_blocked`, `patron_owes_fees`, `patron_loan_limit_reached`, `patron_expired` og `acknowledgement_rejected`. Behandle en ukjent årsak som `unknown`, og vis `message`.
- En låner som identifiseres med kortnummer, får `patron_authentication_failed` ved ethvert problem med identiteten, så ingen kan finne ut hvilke kortnumre som finnes.
- Det er trygt å sende det samme utlånet igjen. Har låneren allerede eksemplaret, er svaret `completed` med det lånet.
- Offline: med `circulation.checkout.offline.isAllowed` kan en automat sende `checkout.offline` med den `dueDate` den ga låneren. Låneren må identifiseres med kortnummer, og `defaultLoanPeriodDays` gir låneperioden som skal brukes.
- `message.text` vises for låneren. Send `ui_language` for å velge språket.

### Kall i API-et

Slås på i konfigurasjonen: `GetConfiguration`

- [POST /checkout/{itemId}](https://plasapi.com/no/provider/v0.6.7/checkout-and-checkin/#Checkout) — Check out an item

## 2.16.2 Lever inn fysisk materiale — Støttet

Registrer et innlevert eksemplar, og fortell hvor det skal videre.

### Dette kan du bygge

Innlevering på en selvbetjeningsautomat, et sorteringsanlegg eller ved personalskranken. Svaret forteller hvor eksemplaret hører hjemme, og om en ansatt må se på det, så et sorteringsanlegg kan sende det videre med en gang.

### Typisk flyt

1. Eksemplaret skannes, og klienten kaller `Checkin` med eksemplarets ID, filialen og tidspunktet for innleveringen.
2. Er `status` `completed`, inneholder `checkin` resultatet. Er den `failed`, sier `reason` hvorfor.
3. Eksemplaret sorteres etter `permanentLocation`, `sortingCode` og `needsStaff`.

### Dette leverer API-et

- Klienten må finne `circulation.checkin.isEnabled` satt til true i `GetConfiguration` før den kaller `Checkin`.
- Når forespørselen er forstått, er svaret `200`. De kjente årsakene til `failed` er `item_not_found`, `item_not_on_loan`, `item_belongs_to_other_library` og `unknown`. Behandle en annen årsak som `unknown`, og vis `message`.
- `permanentLocation` er der eksemplaret vanligvis står: et eksemplar som hører til en annen filial, sendes dit. `needsStaff` er true når en ansatt må se på eksemplaret, for eksempel fordi det er skadet.
- `sortingCode` bærer providerens egen sorteringsverdi, avtalt mellom biblioteket, provideren og leverandøren av sorteringsanlegget.
- `fees` viser gebyrer innleveringen skapte, for eksempel et gebyr for for sen levering.
- Det er trygt å sende den samme innleveringen igjen: `item_not_on_loan` ved et nytt forsøk betyr at eksemplaret allerede er tilbake.
- Offline: med `circulation.checkin.offline.isAllowed` kan en automat sende `checkin.offline` satt til true for en innlevering den allerede har tatt imot.
- `securityTags.isDisabled` i `GetConfiguration` forteller om biblioteket bruker alarmbrikker. Gjør det ikke det, bør klienten ikke aktivere dem ved innlevering.

### Kall i API-et

Slås på i konfigurasjonen: `GetConfiguration`

- [POST /checkin/{itemId}](https://plasapi.com/no/provider/v0.6.7/checkout-and-checkin/#Checkin) — Check in an item

## 2.16.3 Overstyr utlånsregler — Ikke ennå

Overstyr en regel som ellers ville stoppet et utlån.

> Ikke i PLAS ennå. Funksjonen er ikke støttet i dag. Beskrivelsen viser hva den gjør, så du kan se sammenhengen med resten.

## 2.16.4 Endre forfallsdato — Ikke ennå

Endre forfallsdatoen på et lån.

> Ikke i PLAS ennå. Funksjonen er ikke støttet i dag. Beskrivelsen viser hva den gjør, så du kan se sammenhengen med resten.
