# Lånerinnstillinger

8 av 11 støttet
Kilde: https://plasapi.com/no/funksjoner/patron/patron-settings/

La lånerne selv holde kontoen sin oppdatert: kontaktinformasjon, hvor de henter, hvordan de får beskjed, hva de samtykker til, og passordet sitt.

## 2.11.1 Bytt foretrukket hentested — Støttet

La låneren velge hvor reservasjonene deres skal hentes som standard.

### Dette kan du bygge

Lånerne velger det faste biblioteket sitt én gang, og nye reservasjoner går dit, med mindre de velger noe annet (2.5.8).

### Typisk flyt

1. Klienten leser stedene låneren kan velge mellom fra `GetPatronConfiguration`, ellers fra `GetLocations`.
2. Låneren velger en filial og, hvis den har noen, en avdeling i den.
3. Klienten lagrer valget som `pickupLocation` med `UpdatePatronInformation`.

### Dette leverer API-et

- Er `reservation.pickupLocations` satt i `GetPatronConfiguration`, også som en tom liste, erstatter den stedene fra `GetLocations`.
- Et hentested kan være en avdeling inne i en filial.
- `pickupLocation` i `patron.fields` fra `GetConfiguration` har formen `branch_id_and_sections` (standard) eller `only_branch_id`.

### Kall i API-et

Forutsetter: 2.2.1

I denne rekkefølgen

1. [GET /patron/{patronId}/configuration](https://plasapi.com/no/provider/v0.6.7/patron-configuration/#GetPatronConfiguration) — Get patron configuration
2. [GET /locations](https://plasapi.com/no/provider/v0.6.7/location/#GetLocations) — Get locations
3. [PATCH /patron/{patronId}/information](https://plasapi.com/no/provider/v0.6.7/patron/#UpdatePatronInformation) — Update patron information

## 2.11.2 Bytt e-post — Støttet

La låneren legge til eller endre e-postadressene biblioteket bruker for å nå dem.

### Dette kan du bygge

Lånerne holder selv e-postadressen sin oppdatert, så biblioteket kan nå dem og, der biblioteksystemet støtter det, sende påminnelser på e-post.

### Typisk flyt

1. Klienten viser lånerens adresser fra `GetPatronInformation`.
2. Låneren legger til, endrer eller fjerner en adresse.
3. Klienten sender listen som `emails` med `UpdatePatronInformation`.

### Dette leverer API-et

- Høyst én adresse kan være `default`.
- `maxNumberOfEmailAddresses` i `patron.fields` fra `GetConfiguration` er det største antallet adresser en låner kan ha. Flere gir feilen `100211`.
- Med `verification` satt til `verify_by_email` sender provideren en e-post som bekrefter adressen. `verified` viser tilstanden: `yes`, `no` eller `pending`.
- Et felt som utelates i `UpdatePatronInformation`, endres ikke. Svaret `202` betyr at oppdateringen er mottatt og behandles senere.

### Kall i API-et

Forutsetter: 2.2.1

- [PATCH /patron/{patronId}/information](https://plasapi.com/no/provider/v0.6.7/patron/#UpdatePatronInformation) — Update patron information

## 2.11.3 Bytt telefonnummer — Støttet

La låneren legge til eller endre telefonnumrene biblioteket bruker for å nå dem.

### Dette kan du bygge

Lånerne holder selv telefonnummeret sitt oppdatert, så biblioteket kan nå dem og, der biblioteksystemet støtter det, sende påminnelser på SMS.

### Typisk flyt

1. Klienten viser lånerens numre fra `GetPatronInformation`.
2. Låneren legger til, endrer eller fjerner et nummer.
3. Klienten sender listen som `phoneNumbers` med `UpdatePatronInformation`.

### Dette leverer API-et

- Et nummer står i E.164-format og har `type` `mobile` eller `landline`. Høyst ett kan være `default`.
- `patron.fields` fra `GetConfiguration` gir det største antallet numre per type, og om et mobilnummer bekreftes på SMS (`verify_by_sms`). For mange numre gir feilen `100215`.

### Kall i API-et

Forutsetter: 2.2.1

- [PATCH /patron/{patronId}/information](https://plasapi.com/no/provider/v0.6.7/patron/#UpdatePatronInformation) — Update patron information

## 2.11.4 Bytt varselinnstillinger — Støttet

La låneren velge hvilke varsler de får, og hvordan.

### Dette kan du bygge

En innstillingsside med en bryter for hver type varsel, så lånerne bare får påminnelsene de vil ha, gjennom kanalen de foretrekker.

### Typisk flyt

1. Klienten henter innstillingene med `GetPatronNotificationSettings`.
2. Hver varseltype vises med leveringsmetodene den tilbyr, og dem låneren har valgt.
3. Låneren endrer et valg, og klienten sender det med `UpdatePatronNotificationSettings`.

### Dette leverer API-et

- Leveringsmetodene er `sms`, `email`, `postal` og `vendor`. Med `vendor` går hendelsen til din egen backend (2.9.1).
- `delivery.methods` er det typen tilbyr; `delivery.chosen` er det låneren har valgt.
- `category` foreslår hvordan typene kan grupperes på skjermen.
- Bare typene som står i forespørselen, endres. Oppdateringen gjennomføres helt eller ikke i det hele tatt, og svaret inneholder alle innstillingene.

### Kall i API-et

Forutsetter: 2.2.1

I denne rekkefølgen

1. [GET /patron/{patronId}/notification-settings](https://plasapi.com/no/provider/v0.6.7/patron/#GetPatronNotificationSettings) — Get patron notifications settings
2. [PATCH /patron/{patronId}/notification-settings](https://plasapi.com/no/provider/v0.6.7/patron/#UpdatePatronNotificationSettings) — Update one or more patron notification settings

## 2.11.5 Administrer samtykker — Støttet

La låneren gi eller trekke tilbake et samtykke, for eksempel til å lagre lånehistorikken.

### Typisk flyt

1. Klienten henter samtykkene med `GetPatronConsents`.
2. Låneren gir eller trekker tilbake et samtykke.
3. Klienten sender valget med `UpdatePatronConsent`.

### Dette leverer API-et

- `available` viser hvert samtykke med den nyeste `version`. `evaluated` inneholder hva låneren har valgt, og for hvilken versjon.
- Den kjente samtykketypen er `loan_history` (2.8.1). Providere kan tilby andre.
- Bare samtykkene som står i forespørselen, endres. Oppdateringen gjennomføres helt eller ikke i det hele tatt.

### Kall i API-et

Forutsetter: 2.2.1

I denne rekkefølgen

1. [GET /patron/{patronId}/consent](https://plasapi.com/no/provider/v0.6.7/patron/#GetPatronConsents) — Get patron consents
2. [PATCH /patron/{patronId}/consent](https://plasapi.com/no/provider/v0.6.7/patron/#UpdatePatronConsent) — Update one or more patron consent(s)

## 2.11.6 Slett låner — Støttet

La låneren slette sin egen konto og personopplysningene sine hos biblioteket.

### Dette kan du bygge

Lånerne kan bruke retten til sletting uten å kontakte biblioteket. Personopplysninger og lånehistorikk fjernes fra biblioteksystemet, og slettingen kan ikke angres.

### Typisk flyt

1. Klienten kan først se etter aktive lån (2.4.1) og ubetalte gebyrer (2.7.1). Sjekken er bare en hjelp for låneren; biblioteksystemet avgjør.
2. Låneren bekrefter at kontoen skal slettes.
3. Med passord kaller klienten `DeletePatron` med lånerens ID eller identifikator og passordet.
4. Med en identitetsleverandør henter klienten en URL fra `GetDeletePatronUrl`, låneren bekrefter der, og provideren går tilbake til `CallbackPatronDelete` med en `code`. Klienten avslutter med `DeletePatronByCodeAndCodeVerifier`.
5. Svarets `status` forteller hvor slettingen står. Ved `waiting_for_acknowledgement` kaller klienten slettingen igjen med `acknowledgement`-koden for å starte den. Status ender som `done` eller `deletion_error`.

### Dette leverer API-et

- `patron.deletion` i `GetConfiguration` viser identifikatortypene og identitetsleverandørene provideren godtar ved sletting.
- Uten identitetsleverandør kreves det alltid et passord.
- Flyten med identitetsleverandør bruker PKCE: `code_challenge` i det første kallet, `code_verifier` i det siste.
- Feilen `100101` betyr at låneren fortsatt har noe uavklart med biblioteket, for eksempel et lån eller et gebyr.
- Provideren kan sende hendelsen `patron_deleted` til backenden din (2.9.1).

### Kall i API-et

Forutsetter: 2.2.1

Slås på i konfigurasjonen: `GetConfiguration`

Velg én vei

- Direkte: [POST /patron/delete](https://plasapi.com/no/provider/v0.6.7/patron-delete/#DeletePatron) — Delete patron.
- Med single sign-on: [GET /patron/delete/identity-provider](https://plasapi.com/no/provider/v0.6.7/patron-delete/#GetDeletePatronUrl) — This will fetch a SSO URL used for patron deletion, matching the chosen identity provider.
- Med single sign-on: [GET /callbacks/patron/delete](https://plasapi.com/no/vendor/v0.6.7/callback/#CallbackPatronDelete) — Callback endpoint for Patron SSO delete.
- Med single sign-on: [POST /patron/delete/identity-provider](https://plasapi.com/no/provider/v0.6.7/patron-delete/#DeletePatronByCodeAndCodeVerifier) — Delete patron by code and code verifier from SSO deletion.

## 2.11.7 Bytt passord — Støttet

La låneren bytte passordet eller PIN-koden de logger inn med.

### Dette kan du bygge

Lånerne bytter selv passord eller PIN-kode, alt etter hva biblioteksystemet bruker, inne fra tjenesten din.

### Typisk flyt

1. Klienten leser hvilke påloggingsopplysninger låneren kan bytte, fra `patron.credentials.changeable` i `GetConfiguration`.
2. Låneren skriver inn den nåværende verdien og den nye.
3. Klienten kaller `ChangePatronCredential` med `credential` satt til `password` eller `pin`.
4. Svaret `204` betyr at byttet er gjennomført, og at den gamle verdien ikke lenger virker.

### Dette leverer API-et

- Verdiene er navngitt etter påloggingsopplysningen: `currentPassword` og `newPassword`, eller `currentPin` og `newPin`. Et passord og en PIN-kode kan ikke forveksles.
- En feil nåværende verdi gir feilen `100001`. En ny verdi provideren ikke godtar, gir `100011`, og info bør si hvorfor. En påloggingsopplysning som ikke kan byttes, gir `100013`.
- PLAS fastsetter ikke noe format for et passord eller en PIN-kode.
- Provideren forventes å begrense antall forsøk per låner og bør svare `429` i stedet for `400` når grensen er nådd.
- En låner som ikke kjenner den nåværende verdien, tilbakestiller den i stedet (2.2.5).

### Kall i API-et

Forutsetter: 2.2.1

Slås på i konfigurasjonen: `GetConfiguration`

- [POST /patron/{patronId}/credential/change](https://plasapi.com/no/provider/v0.6.7/patron-authentication/#ChangePatronCredential) — Change the patron's own password or pin code.

## 2.11.9 Bytt språk — Ikke ennå

La låneren velge språket sitt.

> 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.11.10 Lånerens stamdata — Støttet

Vis lånerens navn, adresse, kontaktinformasjon og hva de har lov til.

### Dette kan du bygge

En profilside med lånerens grunnopplysninger slik biblioteket har dem, inkludert om noe er sperret og hvorfor.

### Typisk flyt

1. Klienten henter låneren med `GetPatronInformation`.
2. Profilen viser navn, adresse, e-postadresser, telefonnumre, hentested og rettigheter.

### Dette leverer API-et

- `fullName` er alltid med. `givenName` og `surname` kommer bare når biblioteksystemet lagrer navnet i deler.
- `permissions` viser hva låneren er `allowed` eller `blocked` fra, med en `reason` når noe er sperret. Foreslåtte typer er `off_hours`, `self_service` og `exclusion`.

### Kall i API-et

Forutsetter: 2.2.1

- [GET /patron/{patronId}/information](https://plasapi.com/no/provider/v0.6.7/patron/#GetPatronInformation) — Get patron information

## 2.11.11 Rediger lånerens stamdata — Ikke ennå

La låneren redigere stamdataene sine.

> 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.11.12 Vis personvernerklæring — Ikke ennå

Vis tjenestens personvernerklæring.

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