# Skemaer — Provider API v0.6.7

420 skemaer
Kilde: https://plasapi.com/da/provider/v0.6.7/schemas/

Hvert navngivet skema i specifikationen, ét niveau dybt. Et felt der peger på et andet skema linker til det i stedet for at blive foldet ud, så hvert skema er beskrevet ét sted.

## AddItemToPatronListRequestBody

`PatronListItem`

Ingen felter i specifikationen — se skema-indekset for formen.

## AdditionalIdentifier

`one of AdditionalIdentifierTypeISBN | AdditionalIdentifierTypeISSN | AdditionalIdentifierTypeEAN | AdditionalIdentifierTypeBibsentBibbi`

Ingen felter i specifikationen — se skema-indekset for formen.

## AdditionalIdentifierTypeBibsentBibbi

`object`

- `type` (`string enum`, påkrævet) — `bibsentBibbi`
- `value` (`string`, påkrævet)

## AdditionalIdentifierTypeEAN

`object`

- `digits` (`string enum`, påkrævet) — `13`
- `type` (`string enum`, påkrævet) — `ean`
- `value` (`string`, påkrævet)

## AdditionalIdentifierTypeISBN

`object`

- `digits` (`string enum`, påkrævet) — `10` · `13`
- `type` (`string enum`, påkrævet) — `isbn`
- `value` (`string`, påkrævet)

## AdditionalIdentifierTypeISSN

`object`

- `type` (`string enum`, påkrævet) — `issn`
- `value` (`string`, påkrævet)

## AddLoanToPatronLoanHistoryRequestBody

`object`

- `acquiredFrom` ([`PatronLoanAcquiredFrom`](https://plasapi.com/da/provider/v0.6.7/schemas/#PatronLoanAcquiredFrom), valgfri)
- `checkinTime` (`string (date-time)`, valgfri) — The date and time the loan was checkin.
- `checkoutTime` ([`LoanCreatedTime`](https://plasapi.com/da/provider/v0.6.7/schemas/#LoanCreatedTime), valgfri)
- `dueDate` (`string (date)`, valgfri) — The due date of the loan at the time of checkin.
- `itemId` ([`LoanItemId`](https://plasapi.com/da/provider/v0.6.7/schemas/#LoanItemId), valgfri)
- `loanId` ([`LoanId`](https://plasapi.com/da/provider/v0.6.7/schemas/#LoanId), valgfri)
- `manuallyAdded` (`boolean`, påkrævet) — Was the loan added manually by the patron.
- `publicationId` ([`LoanPublicationId`](https://plasapi.com/da/provider/v0.6.7/schemas/#LoanPublicationId), påkrævet)
- `publicationMetadata` ([`PublicationFallback`](https://plasapi.com/da/provider/v0.6.7/schemas/#PublicationFallback), valgfri)

## Address

`object`

- `city` (`string`, påkrævet) — This field refers to the city, town, or locality where the address is located.
- `country` (`string`, valgfri) — This field specifies the name of the country where the address is located.
- `postalCode` (`string`, valgfri) — This field represents the numeric or alphanumeric code assigned to a specific area for efficient mail sorting and delivery.
- `street` (`string`, påkrævet) — This field represents the name of the road, street, or thoroughfare where the address is located.  
The field should also contain the building number assigned to a building at the location, and
the field should also contain identifiers such as apartment numbers, suite numbers, or floor numbers.


## Agent

`one of AgentTypePerson | AgentTypeCollective`

Ingen felter i specifikationen — se skema-indekset for formen.

## AgentPersonActiveLiteral

`object`

Date or date range the person was active.
This is usually only recorded for historical persons where the birth and death dates are uncertain or unknown.
A literal value, meaning there are no expected structure or format.


- `type` (`string enum`, påkrævet) — `literal`
- `value` (`string`, påkrævet)

## AgentRole

`one of AgentRoleMarcRelator`

Telling the role of an agent, e.g. author, illustrator, editor.

Ingen felter i specifikationen — se skema-indekset for formen.

## AgentRoleMarcRelator

`object`

- `roleCode` (`string`, påkrævet) — A contribution role code from the MARC Code List for Relators.
- `type` (`string enum`, påkrævet) — `marcRelator` — Identifies the role code as being part of [MARC Code List for Relators](https://www.loc.gov/marc/relators/relaterm.html).

## AgentTypeCollective

`all of BaseAgent + object`

Ingen felter i specifikationen — se skema-indekset for formen.

## AgentTypePerson

`all of BaseAgent + object`

Ingen felter i specifikationen — se skema-indekset for formen.

## AllDayScheduling

`object`

All-day event scheduling information

- `endDate` (`string (date)`, påkrævet) — End date in RFC3339 _full-date_ format.
- `startDate` (`string (date)`, påkrævet) — Start date in RFC3339 _full-date_ format.
- `type` (`string enum`, påkrævet) — `all_day` — Type of scheduling for all-day events

## Amount

`integer`

The amount is in minor unit (see ISO 4217).

Ingen felter i specifikationen — se skema-indekset for formen.

## Audience

`one of AudienceTypeLiteral | AudienceTypeAgeRange | AudienceTypeAgeGroup`

Ingen felter i specifikationen — se skema-indekset for formen.

## AudienceTypeAgeGroup

`object`

- `code` ([`AudienceTypeAgeGroupCode`](https://plasapi.com/da/provider/v0.6.7/schemas/#AudienceTypeAgeGroupCode), påkrævet)
- `name` (`string`, valgfri) — A displayable (human readable) audience group name.
- `type` (`string enum`, påkrævet) — `ageGroup`

## AudienceTypeAgeGroupCode

`any of AudienceTypeAgeGroupCodeEnum | AudienceTypeAgeGroupCodeLiteral`

A code that (if set) can be used with the filter `plas.audience.ageGroup` to search on this age group.

Ingen felter i specifikationen — se skema-indekset for formen.

## AudienceTypeAgeGroupCodeEnum

`string enum`
`child` · `youngAdult` · `adult`

Ingen felter i specifikationen — se skema-indekset for formen.

## AudienceTypeAgeGroupCodeLiteral

`string`

Ingen felter i specifikationen — se skema-indekset for formen.

## AudienceTypeAgeRange

`object`

*from* and *to* isn't required, but a least one of them should be set.


- `code` (`string`, valgfri) — A code that (if set) can be used with the filter `plas.audience.ageRange` to search on this age range.  
The formatting is "from:to", "form:*" or "*:to" (replace the `form` and `to` value)

- `from` (`integer`, valgfri)
- `to` (`integer`, valgfri)
- `type` (`string enum`, påkrævet) — `ageRange`

## AudienceTypeLiteral

`object`

A literal audience, meaning there are no expected structure or format.

- `code` (`string`, valgfri) — A code that (if set) can be used with the filter `plas.audience.literal` to search on this audience literal.
- `type` (`string enum`, påkrævet) — `literal`
- `value` (`string`, påkrævet) — A displayable (human readable) audience literal.

## AuthenticationClientAccessToken

`string`

The access token string, as issued by the authorization server.
It is strongly recommended that this token be a JWT so that it can be validated by a business partner, if e.g. the search API is delegated.


Ingen felter i specifikationen — se skema-indekset for formen.

## AuthenticationClientCredentialsRequestBody

`all of OAuthClientIdAndSecret + object`

Ingen felter i specifikationen — se skema-indekset for formen.

## AuthenticationClientExpiresIn

`integer`

The duration (in seconds) of time the access token is granted for.

Ingen felter i specifikationen — se skema-indekset for formen.

## AuthenticationClientResponseBody

`object`

- `access_token` ([`AuthenticationClientAccessToken`](https://plasapi.com/da/provider/v0.6.7/schemas/#AuthenticationClientAccessToken), påkrævet)
- `expires_in` ([`AuthenticationClientExpiresIn`](https://plasapi.com/da/provider/v0.6.7/schemas/#AuthenticationClientExpiresIn), påkrævet)
- `token_type` ([`AuthenticationClientTokenType`](https://plasapi.com/da/provider/v0.6.7/schemas/#AuthenticationClientTokenType), påkrævet)

## AuthenticationClientTokenType

`string enum`
`Bearer`

The type of the token.

Ingen felter i specifikationen — se skema-indekset for formen.

## BaseAgent

`object`

- `description` (`string`, valgfri) — This is a description of the agent.
- `fullName` (`string`, påkrævet) — This is the full name of the agent.
- `id` (`string`, valgfri) — This isn't required, but if it's set:
- The agent is searchable through the GET /agent endpoint.
- Or you can search using the filter `plas.agent` to search on this agent.

- `images` ([`array of ImageAgent`](https://plasapi.com/da/provider/v0.6.7/schemas/#ImageAgent), valgfri) — Images of the agent.

## BaseSuggestionAgent

`object`

- `fullName` (`string`, påkrævet) — This is the full name of the agent.
- `id` (`string`, valgfri) — This isn't required, but if it's set, the agent is searchable through the GET /agent endpoint.
- `images` ([`array of ImageAgent`](https://plasapi.com/da/provider/v0.6.7/schemas/#ImageAgent), valgfri) — Images of the agent.

## BasicTitle

`object`

- `language` ([`Language`](https://plasapi.com/da/provider/v0.6.7/schemas/#Language), valgfri) — The language of the titles in the object.
- `main` (`string`, påkrævet) — This is the main title.
- `part` (`object`, valgfri) — This contains the information to distinguish the work.
- `remainder` (`string`, valgfri) — This is the remainder of the title.

## Binding

`one of BindingTypeLiteral`

Ingen felter i specifikationen — se skema-indekset for formen.

## BindingTypeLiteral

`object`

A literal binding, meaning there are no expected structure or format.

- `type` (`string enum`, påkrævet) — `literal`
- `value` (`string`, påkrævet) — A displayable (human readable) representation of the binding.

## CallbackConsent

`object`

Decoded representation of a callback consent parameter, for use in the registration request body.

- `type` ([`PatronConsentType`](https://plasapi.com/da/provider/v0.6.7/schemas/#PatronConsentType), påkrævet)
- `version` (`string`, påkrævet) — The version of the consent, decoded from the callback consent parameter.

## ChangePatronCredentialRequestBody

`one of ChangePatronPasswordRequestBody | ChangePatronPinRequestBody`

Which credential is being changed is told by `credential`, and the current and new values are
named after that credential, so that a password and a pin code can never be confused for one
another.


Ingen felter i specifikationen — se skema-indekset for formen.

## ChangePatronPasswordRequestBody

`object`

- `credential` (`string enum`, påkrævet) — `password`
- `currentPassword` (`all of PatronPassword + unknown`, påkrævet)
- `newPassword` (`all of PatronPassword + unknown`, påkrævet)

## ChangePatronPinRequestBody

`object`

- `credential` (`string enum`, påkrævet) — `pin`
- `currentPin` (`all of PatronPin + unknown`, påkrævet)
- `newPin` (`all of PatronPin + unknown`, påkrævet)

## CheckinCompleted

`all of CheckinResponseBase + object`

The item was checked in.

Ingen felter i specifikationen — se skema-indekset for formen.

## CheckinFailed

`all of CheckinResponseBase + object`

The item was not checked in, and sending the same checkin again right away will not change that.

Ingen felter i specifikationen — se skema-indekset for formen.

## CheckinFailureReason

`any of CheckinFailureReasonEnum | CheckinFailureReasonLiteral`

Why the item was not checked in.

This is an open enum, so values other than the known ones are allowed. A vendor that does not know a
value should treat it as `unknown` and show `message` to the patron.


Ingen felter i specifikationen — se skema-indekset for formen.

## CheckinFailureReasonEnum

`string enum`
`item_not_found` · `item_not_on_loan` · `item_belongs_to_other_library` · `unknown`

The known reasons a checkin can fail:

- `item_not_found` the item ID is not known to the provider.
- `item_not_on_loan` the item is not on loan, so there is nothing to check in.
- `item_belongs_to_other_library` the item cannot be received here, e.g. an interlibrary loan.
- `unknown` the provider cannot say why, see `message`.

An offline checkin can only fail with `item_not_found` or `item_not_on_loan`, see `checkin.offline`.


Ingen felter i specifikationen — se skema-indekset for formen.

## CheckinFailureReasonLiteral

`string`

Ingen felter i specifikationen — se skema-indekset for formen.

## CheckinField

`object`

- `acquiredFrom` ([`PatronLoanAcquiredFrom`](https://plasapi.com/da/provider/v0.6.7/schemas/#PatronLoanAcquiredFrom), valgfri)
- `dueDate` (`string (date)`, valgfri) — This is the due date of the checkin item, meaning the date where item should (at the latest) be returned.
- `fees` ([`array of PatronFee`](https://plasapi.com/da/provider/v0.6.7/schemas/#PatronFee), valgfri) — The fees the library registered on the patron as part of this checkin, e.g. an overdue fine
created because the item came back after `dueDate`. Send an empty array when the checkin created
no fee. Leave the field out only when the provider cannot tell whether a fee was created, e.g.
when fines are calculated later by a separate process.

- `itemId` (`string`, påkrævet) — This is the item ID of the checked in item.
- `loanId` ([`LoanId`](https://plasapi.com/da/provider/v0.6.7/schemas/#LoanId), påkrævet)
- `needsStaff` (`boolean`, valgfri) — True when a person has to look at this item, e.g. it is damaged, or it is not the item the
provider expected.

Do not set it for a reservation or for an item that belongs to another branch. Those are about
where the item goes, not about something being wrong with it.

If the field is missing, the default is false.

- `patronId` (`string`, valgfri) — The patron who had the item on loan. Leave the field out when the provider does not
disclose it, or when the loan was not to a patron, e.g. an interlibrary loan.

- `permanentLocation` ([`CheckinPermanentLocation`](https://plasapi.com/da/provider/v0.6.7/schemas/#CheckinPermanentLocation), valgfri)
- `publicationId` (`string`, påkrævet) — This is the publication ID of the checkin item. A vendor needs it to show or print a title.
- `publicationMetadata` ([`PublicationFallback`](https://plasapi.com/da/provider/v0.6.7/schemas/#PublicationFallback), valgfri)
- `sortingCode` (`string`, valgfri) — This is the sorting code, and can be used to sort checked in items, on e.g. a self service machine
by reserved and not-reserved items.

PLAS defines no values for this field, they are agreed between a provider and the vendors
integrating with it. It is for providers whose sorters already run on a code of their own.

A provider that also serves SIP2 can put the same value here that it puts in `sort bin` (CL). It
is the same idea: a bin value that the library, the provider and the sorter supplier agree on
between them.

- `transactionDateTime` (`string (date-time)`, påkrævet) — This is the registered time and date of the checkin.

## CheckinPermanentLocation

`CheckOutOrInLocationWithoutNames`

The location where the item is normally kept. A sorter uses it to route the item after a checkin:
an item whose permanent location is another branch goes to that branch.


Ingen felter i specifikationen — se skema-indekset for formen.

## CheckinRequestBody

`object`

- `checkin` (`object`, påkrævet)

## CheckinResponseBase

`object`

- `message` ([`CheckOutOrInMessage`](https://plasapi.com/da/provider/v0.6.7/schemas/#CheckOutOrInMessage), valgfri)
- `requestId` (`string`, påkrævet) — This is a unique identifier for the checkin request. This will change for each request.  
It is meant for correlating logs.

- `status` (`string`, påkrævet) — This tells the outcome of the checkin, and which other fields are present.

## CheckinResponseBody

`one of CheckinCompleted | CheckinFailed`

The outcome of the checkin. The `status` field says which shape the rest of the body has:

- `completed` the item was checked in, and `checkin` holds the result.
- `failed` the item was not checked in, and `reason` says why.


Ingen felter i specifikationen — se skema-indekset for formen.

## CheckoutAcknowledgement

`object`

What the patron must accept before the checkout can be carried out.

The `code` covers everything in `conditions`. One code, one round trip: the provider must put every
outstanding item in `conditions` rather than asking for them one at a time, and must not answer a checkout
carrying a valid code with another `needs_acknowledgement`.

The `code` is single use, and the provider must reject it if what `conditions` described has changed
since it was issued. `expiresAt` says how long it stays valid. A checkout carrying a code the
provider does not accept, expired included, is answered `failed` with the reason
`acknowledgement_rejected`, and the vendor starts over by sending the checkout without
`acknowledgement`.

There is no message field here. Anything the patron has to accept is an entry in `conditions`, including
plain text, which is `CheckoutAcknowledgementTypeMessage`. A note about the checkout that the patron
does not have to accept goes in `message` on the response instead.


- `code` (`string`, påkrævet) — This code must be included in the checkout request in order for the checkout to be completed.
- `conditions` (`array of one of CheckoutAcknowledgementTypeFee | CheckoutAcknowledgementTypePreviouslyCheckedOut | CheckoutAcknowledgementTypeMessage`, påkrævet) — Everything the patron must accept, in one list. A vendor must show all of it to the patron, and
then send the checkout again with the single `code` that covers the whole list.

A provider that needs the patron to accept something PLAS does not model puts it here as a
`message` entry.

- `expiresAt` (`string (date-time)`, påkrævet) — When the code stops being valid.

## CheckoutAcknowledgementType

`object`

- `type` (`string`, påkrævet) — This is the type of what is to be acknowledged.

## CheckoutAcknowledgementTypeFee

`all of CheckoutAcknowledgementType + object`

A lending fee the patron must accept before the item is checked out.

Ingen felter i specifikationen — se skema-indekset for formen.

## CheckoutAcknowledgementTypeMessage

`all of CheckoutAcknowledgementType + object`

Something the patron must accept that PLAS does not model as its own type, e.g. a local lending
condition.

The text is shown to the patron as it is, so it must be in the language asked for in `ui_language`.


Ingen felter i specifikationen — se skema-indekset for formen.

## CheckoutAcknowledgementTypePreviouslyCheckedOut

`all of CheckoutAcknowledgementType + object`

The patron has had this title before and must accept borrowing it again.

Ingen felter i specifikationen — se skema-indekset for formen.

## CheckoutCompleted

`all of CheckoutResponseBase + object`

The item was checked out, and the loan exists.

Ingen felter i specifikationen — se skema-indekset for formen.

## CheckoutFailed

`all of CheckoutResponseBase + object`

The item was not checked out, and sending the same checkout again right away will not change that.

Ingen felter i specifikationen — se skema-indekset for formen.

## CheckoutFailureReason

`any of CheckoutFailureReasonEnum | CheckoutFailureReasonLiteral`

Why the item was not checked out.

This is an open enum, so values other than the known ones are allowed. A vendor that does not know a
value should treat it as `unknown` and show `message` to the patron.


Ingen felter i specifikationen — se skema-indekset for formen.

## CheckoutFailureReasonEnum

`string enum`
`item_not_found` · `item_not_lendable` · `item_on_loan` · `item_reserved_for_other_patron` · `item_belongs_to_other_branch` · `patron_not_found` · `patron_authentication_failed` · `patron_blocked` · `patron_owes_fees` · `patron_loan_limit_reached` · `patron_expired` · `acknowledgement_rejected` · `unknown`

The known reasons a checkout can fail:

- `item_not_found` the item ID is not known to the provider.
- `item_not_lendable` the item exists, but is not for loan.
- `item_on_loan` the item is already on loan to another patron.
- `item_reserved_for_other_patron` the item is reserved for someone else.
- `item_belongs_to_other_branch` the item cannot be lent out from this branch.
- `patron_not_found` the patron ID is not known to the provider. Only for a `patron` sent as
  `patron_id`, never for one sent as `identifier`.
- `patron_authentication_failed` the patron could not be authenticated from the `identifier` that
  was sent. It covers an identifier the provider does not know, a credential that does not match,
  and a missing credential where one is required, and the provider must not let a vendor tell those
  apart.
- `patron_blocked` the patron may not borrow at the moment.
- `patron_owes_fees` the patron owes more than the library allows.
- `patron_loan_limit_reached` the patron already has as many loans as the library allows.
- `patron_expired` the patron's library card has expired.
- `acknowledgement_rejected` the provider did not accept `acknowledgement.code`: it is unknown,
  expired, already used, belongs to a different `checkout`, or what it covered has changed. Send
  the checkout again without `acknowledgement` to get the current conditions and a new code.
- `unknown` the provider cannot say why, see `message`.

An offline checkout can only fail on an identity that cannot be resolved, see `checkout.offline`.

`patron_blocked`, `patron_owes_fees`, `patron_loan_limit_reached` and `patron_expired` all say that
the patron is real, so they are only sent once the patron has been authenticated.

A patron identified by `identifier` must not be able to learn whether that identifier belongs to a
real patron. Three rules keep that true:

- Everything that goes wrong while identifying them is `patron_authentication_failed`, whether the
  identifier is unknown, the credential is wrong, or a required credential was left out.
- The answer must take the same time whether or not the identifier matched, since looking a patron
  up and then failing is slower than failing at once.
- Rate limiting must work the same way for an identifier that matches and one that does not, so a
  429 says nothing either.


Ingen felter i specifikationen — se skema-indekset for formen.

## CheckoutFailureReasonLiteral

`string`

Ingen felter i specifikationen — se skema-indekset for formen.

## CheckoutField

`object`

- `acquiredFrom` ([`PatronLoanAcquiredFrom`](https://plasapi.com/da/provider/v0.6.7/schemas/#PatronLoanAcquiredFrom), valgfri)
- `dueDate` (`string (date)`, påkrævet) — This is the due date of the checked out item.
- `fees` ([`array of PatronFee`](https://plasapi.com/da/provider/v0.6.7/schemas/#PatronFee), valgfri) — The fees the library registered on the patron as part of this checkout, e.g. a lending fee the
patron accepted through `acknowledgement`. Send an empty array when the checkout created no fee.
Leave the field out only when the provider cannot tell whether a fee was created.

- `itemId` (`string`, påkrævet) — This is the item ID of the checkout item.
- `loanId` ([`LoanId`](https://plasapi.com/da/provider/v0.6.7/schemas/#LoanId), påkrævet)
- `patronId` (`string`, påkrævet) — This is the patron ID of the patron that made the checkout.
- `publicationId` (`string`, påkrævet) — This is the publication ID of the checkout item. A vendor needs it to show or print a title.
- `publicationMetadata` ([`PublicationFallback`](https://plasapi.com/da/provider/v0.6.7/schemas/#PublicationFallback), valgfri)
- `renewed` (`boolean`, valgfri) — True when the patron already had this item on loan, so this checkout extended the existing loan
instead of creating a new one.

If the field is missing, this information is unknown.

- `transactionDateTime` (`string (date-time)`, påkrævet) — This is the registered time and date of the checkout.

## CheckoutNeedsAcknowledgement

`all of CheckoutResponseBase + object`

The item was not checked out. The patron must accept everything in `acknowledgement.conditions` first, and
the checkout must then be sent again carrying the single `acknowledgement.code` that covers it.


Ingen felter i specifikationen — se skema-indekset for formen.

## CheckOutOrInLocationWithoutNames

`object`

The object tells the location where a checkout or checkin was made.  
The `sections` is for specifying the location more precisely.


- `branchId` (`string`, påkrævet) — The branch ID where the checkout or checkin was made.
- `sections` ([`array of LocationSectionElementWithIdNameAndType`](https://plasapi.com/da/provider/v0.6.7/schemas/#LocationSectionElementWithIdNameAndType), valgfri) — This is specifying the location more precisely.

## CheckOutOrInMessage

`object`

Both type and text are optional, but at least one of them must be set.

- `text` (`string`, valgfri) — Message to the patron.
- `type` (`string`, valgfri) — This can be used instead of the text field to identify the message type.  
This can be used by a vendor to handle the message or control the content of the message.

PLAS defines no values for this field, they are agreed between a provider and the vendors
integrating with it. A vendor that does not recognise a value should fall back to `text`.


## CheckoutPatron

`one of CheckoutPatronById | CheckoutPatronByIdentifier`

Who the checkout is for, told by `identifiedBy`. Either the patron ID from a successful
authentication, or the same identification that is sent to POST /patron/authentication and
POST /patron/authentication/no-password.

The second form exists because an offline checkout cannot use the first.

When the patron is identified by `identifier`, the provider applies the same rules as the
authentication endpoints, as configured in `patron.login` from the GET /configuration endpoint.


Ingen felter i specifikationen — se skema-indekset for formen.

## CheckoutPatronById

`object`

The patron as a patron ID, which the vendor has because the patron authenticated through
POST /patron/authentication, POST /patron/authentication/no-password or an identity provider.


- `identifiedBy` (`string enum`, påkrævet) — `patron_id`
- `patronId` (`string`, påkrævet) — The patron ID from a successful authentication.

## CheckoutPatronByIdentifier

`object`

The patron as the identifier and optional credential that POST /patron/authentication and
POST /patron/authentication/no-password take. This is the form an offline checkout has to use,
since it never got a patron ID.


- `identifiedBy` (`string enum`, påkrævet) — `identifier`
- `identifier` ([`PatronIdentifierTypeAndValue`](https://plasapi.com/da/provider/v0.6.7/schemas/#PatronIdentifierTypeAndValue), påkrævet)
- `password` ([`PatronPassword`](https://plasapi.com/da/provider/v0.6.7/schemas/#PatronPassword), valgfri)

## CheckoutRequestBody

`object`

- `acknowledgement` (`object`, valgfri) — This is used to acknowledge the checkout, see `CheckoutNeedsAcknowledgement`.

Send `checkout` exactly as it was in the request that returned the code, `transactionDateTime`
included. The code belongs to that exact checkout. If anything in `checkout` is different, the
provider answers `failed` with the reason `acknowledgement_rejected`.

- `checkout` (`object`, påkrævet)

## CheckoutResponseBase

`object`

- `message` ([`CheckOutOrInMessage`](https://plasapi.com/da/provider/v0.6.7/schemas/#CheckOutOrInMessage), valgfri)
- `requestId` (`string`, påkrævet) — This is a unique identifier for the checkout request. This will change for each request.  
It is meant for correlating logs.

- `status` (`string`, påkrævet) — This tells the outcome of the checkout, and which other fields are present.

## CheckoutResponseBody

`one of CheckoutCompleted | CheckoutNeedsAcknowledgement | CheckoutFailed`

The outcome of the checkout. The `status` field says which shape the rest of the body has:

- `completed` the item was checked out, and `checkout` holds the resulting loan.
- `needs_acknowledgement` the item was **not** checked out. `acknowledgement` says what the patron
  must accept first, and the same checkout sent again with `acknowledgement.code` completes it.
- `failed` the item was not checked out, and `reason` says why.


Ingen felter i specifikationen — se skema-indekset for formen.

## Classification

`one of ClassificationTypeDewey | ClassificationTypeDK5`

Ingen felter i specifikationen — se skema-indekset for formen.

## ClassificationTypeDewey

`object`

- `name` (`string`, valgfri) — A displayable (human readable) value representation of the dewey number.
- `number` (`string`, påkrævet) — The value of the dewey number.
- `type` (`string enum`, påkrævet) — `dewey`

## ClassificationTypeDK5

`object`

- `name` (`string`, valgfri) — A displayable (human readable) value representation of the dewey number.
- `number` (`string`, påkrævet) — The value of the dk5 number.
- `type` (`string enum`, påkrævet) — `dk5`

## ConfigurationCirculation

`object`

This tells whether the provider supports checking items out and in, and whether it accepts the two
of them being carried out while the vendor was offline.

Nothing here is assumed. An absent `checkout` or `checkin` means the provider does not support that
endpoint, exactly as `isEnabled` set to false does, and an absent `offline` means it does not accept
an offline one. The one exception is `securityTags`, where absent means the library uses them, since
that is what every machine does today.

| `circulation` | What a vendor may do |
| --- | --- |
| absent | Neither check out nor check in |
| `{}` | Neither check out nor check in |
| `{"checkout":{"isEnabled":true},"checkin":{"isEnabled":true}}` | Both, but only while the provider can be reached |
| `{"checkout":{"isEnabled":true,"offline":{"isAllowed":true}},"checkin":{"isEnabled":true}}` | Offline checkout, no offline checkin, and no loan period to work a due date out from |
| `{"checkout":{"isEnabled":true,"offline":{"isAllowed":true,"defaultLoanPeriodDays":28}},"checkin":{"isEnabled":true,"offline":{"isAllowed":true}}}` | Everything |


- `checkin` (`object`, valgfri) — Whether the provider supports POST /checkin/{itemId}. If this field is missing, it does not.

- `checkout` (`object`, valgfri) — Whether the provider supports POST /checkout/{itemId}. If this field is missing, it does not.

- `securityTags` (`object`, valgfri) — Whether the library uses the security tags in its items, the magnetic strip or RFID chip that
makes the gate at the door sound when an item that is not checked out passes through.

This is one decision for the whole library, which is why it is here and not in each checkout
or checkin answer. Some libraries never switch the alarm on, or have no gate, and do not want
tags armed.

If this field is missing, the library uses security tags.


## ConfigurationContentApi

`object`

- `delegated` (`object`, valgfri)

## ConfigurationContentResponseBody

`object`

- `uiLanguages` (`object`, valgfri) — This contains the ui language settings.

All ui language codes should be on this list https://www.loc.gov/marc/languages/


## ConfigurationContentWithApi

`all of object + ConfigurationContentResponseBody`

Ingen felter i specifikationen — se skema-indekset for formen.

## ConfigurationHolding

`object`

- `periodical` ([`ConfigurationHoldingPeriodical`](https://plasapi.com/da/provider/v0.6.7/schemas/#ConfigurationHoldingPeriodical), valgfri)

## ConfigurationHoldingPeriodical

`object`

- `groupOrdering` ([`array of HoldingPeriodicalGroupType`](https://plasapi.com/da/provider/v0.6.7/schemas/#HoldingPeriodicalGroupType), valgfri) — The default ordering of periodical group types is `year`, `volume` and `number`, or `level1`, ..., `level7`.
It is strongly discouraged to ever mix the named types and the level* types, but if for some reason another group type order is needed, `groupOrdering` can be used to tell the vendor the ordering of periodicals.


## ConfigurationPatron

`object`

How the provider handles patrons: how they log in, register and delete their account, what they can
do with their credentials and loan history, and which patron fields the vendor can show and edit.


- `credentials` (`object`, valgfri) — This tells what a patron can do with the credentials they use to authenticate.

Not all providers have both a password and a pin code, and a provider that has one may still
not let the patron change it. If this is missing, it is unknown, and the vendor should offer
neither changing nor resetting a credential.

- `deletion` (`object`, valgfri)
- `fields` ([`array of ConfigurationPatronField`](https://plasapi.com/da/provider/v0.6.7/schemas/#ConfigurationPatronField), valgfri) — This contributes with further information about some of the patron fields, like if
they are updatable or not, how they are constructed and their limitations.

The array should at most contain one element of each type.

- `loanHistory` (`object`, valgfri)
- `login` (`object`, valgfri)
- `registration` (`object`, valgfri)

## ConfigurationPatronField

`one of ConfigurationPatronFieldEmails | ConfigurationPatronFieldPhoneNumbers | ConfigurationPatronFieldPickupLocation`

Ingen felter i specifikationen — se skema-indekset for formen.

## ConfigurationPatronFieldEmails

`object`

- `field` (`string enum`, påkrævet) — `emails`
- `maxNumberOfEmailAddresses` (`integer`, valgfri) — This tells the maximum number of email addresses that a patron can have, and hence this is also the maximum
numbers of email addresses there can be send in a update patron information request. 

If this value is missing, there is no limits on the number of emails addresses, this is not recommended.

- `verification` (`string enum`, valgfri) — `no_verification` · `verify_by_email` — - no_verification => No verification
- verify_by_email => An email will be sent by the provider to verify the email


## ConfigurationPatronFieldPhoneNumbers

`object`

- `field` (`string enum`, påkrævet) — `phoneNumbers`
- `landline` (`object`, valgfri)
- `mobile` (`object`, valgfri)

## ConfigurationPatronFieldPickupLocation

`object`

- `field` (`string enum`, påkrævet) — `pickupLocation`
- `form` (`string enum`, valgfri) — `branch_id_and_sections` · `only_branch_id` — This is the form of the pickup location, i.e. which parts/fields of the pickup location that are in use.

If this is missing 'branch_id_and_sections' is this default.


## ConfigurationPatronIdentityProviderType

`string enum`
`norway_id_portal` · `norway_nl_oidc` · `norway_feide_oidc` · `denmark_mit_id` · `denmark_dbc_access_platform`

The identity provider type, found in GET /configuration.

Ingen felter i specifikationen — se skema-indekset for formen.

## ConfigurationPayment

`object`

- `initialize` (`object`, valgfri)
- `methods` ([`array of ConfigurationPaymentMethod`](https://plasapi.com/da/provider/v0.6.7/schemas/#ConfigurationPaymentMethod), valgfri) — This is a list of the payment methods that the vendor supports.

If this is missing, there are no payment methods available.

- `partial` (`boolean`, valgfri) — If this is true, the provider allows partial payments. Default is false.

## ConfigurationPaymentMethod

`object`

- `type` ([`ConfigurationPaymentMethodType`](https://plasapi.com/da/provider/v0.6.7/schemas/#ConfigurationPaymentMethodType), valgfri)

## ConfigurationPaymentMethodType

`string enum`
`mobile_pay` · `vipps` · ``

This represents the payment method type.

Ingen felter i specifikationen — se skema-indekset for formen.

## ConfigurationResponseBody

`object`

- `circulation` ([`ConfigurationCirculation`](https://plasapi.com/da/provider/v0.6.7/schemas/#ConfigurationCirculation), valgfri) — What the provider supports on POST /checkout/{itemId} and POST /checkin/{itemId}.

If this field is missing, the provider supports neither endpoint. A vendor must find
`isEnabled` set to true here before it checks anything out or in.

- `content` ([`ConfigurationContentWithApi`](https://plasapi.com/da/provider/v0.6.7/schemas/#ConfigurationContentWithApi), valgfri)
- `events` (`object`, valgfri) — events contain configuration data for events in the LMS.  
This covers notifications sent to the user and consent changes.

- `holding` ([`ConfigurationHolding`](https://plasapi.com/da/provider/v0.6.7/schemas/#ConfigurationHolding), valgfri)
- `patron` ([`ConfigurationPatron`](https://plasapi.com/da/provider/v0.6.7/schemas/#ConfigurationPatron), valgfri)
- `payment` ([`ConfigurationPayment`](https://plasapi.com/da/provider/v0.6.7/schemas/#ConfigurationPayment), valgfri) — If this field is missing, the vendor does not support payments.
- `search` ([`ConfigurationSearchWithApi`](https://plasapi.com/da/provider/v0.6.7/schemas/#ConfigurationSearchWithApi), valgfri)
- `version` (`string`, påkrævet) — This contains the version of the Open Library API.

## ConfigurationSearchApi

`object`

- `delegated` (`object`, valgfri)

## ConfigurationSearchExpression

`object`

- `clustering` ([`array of array of ExpressionClusteringField`](https://plasapi.com/da/provider/v0.6.7/schemas/#ExpressionClusteringField), valgfri) — This is the providers preferred clustering of publications.  
This clustering can be used to group publications together, emulating an expression level.


## ConfigurationSearchResponseBody

`object`

- `expression` ([`ConfigurationSearchExpression`](https://plasapi.com/da/provider/v0.6.7/schemas/#ConfigurationSearchExpression), valgfri)
- `suggestions` ([`ConfigurationSearchSuggestions`](https://plasapi.com/da/provider/v0.6.7/schemas/#ConfigurationSearchSuggestions), valgfri)
- `uiLanguages` (`object`, valgfri) — This contains the ui language settings.

All ui language codes should be on this list https://www.loc.gov/marc/languages/

- `workSearch` (`object`, valgfri)

## ConfigurationSearchSuggestions

`object`

- `available` ([`array of ConfigurationSearchSuggestionsFilterAvailable`](https://plasapi.com/da/provider/v0.6.7/schemas/#ConfigurationSearchSuggestionsFilterAvailable), valgfri) — This tells which filters are available for the `/suggestions` endpoint.
- `disabled` (`boolean`, valgfri) — This tells the Vendor if the `/suggestions` endpoint is disabled or not. (Default `false`).

If this is set to `true`, the Vendor should not make request to the `/suggestions` endpoint.


## ConfigurationSearchSuggestionsFilterAvailable

`object`

- `description` (`string`, valgfri) — This is a description of what type of filter this is.
- `type` ([`SuggestionsFilterType`](https://plasapi.com/da/provider/v0.6.7/schemas/#SuggestionsFilterType), påkrævet)

## ConfigurationSearchWithApi

`all of object + ConfigurationSearchResponseBody`

Ingen felter i specifikationen — se skema-indekset for formen.

## ConfigurationWorkSearchFacet

`object`

- `available` ([`array of ConfigurationWorkSearchFacetAvailable`](https://plasapi.com/da/provider/v0.6.7/schemas/#ConfigurationWorkSearchFacetAvailable), valgfri)

## ConfigurationWorkSearchFacetAvailable

`object`

- `description` (`string`, valgfri) — This is a description of what type of `facet` this is.
- `type` ([`SearchFacetType`](https://plasapi.com/da/provider/v0.6.7/schemas/#SearchFacetType), påkrævet)

## ConfigurationWorkSearchFilter

`object`

- `available` ([`array of ConfigurationWorkSearchFilterAvailable`](https://plasapi.com/da/provider/v0.6.7/schemas/#ConfigurationWorkSearchFilterAvailable), valgfri)

## ConfigurationWorkSearchFilterAvailable

`object`

- `description` (`string`, valgfri) — This is a description of what type of filter this is.
- `type` ([`SearchFilterType`](https://plasapi.com/da/provider/v0.6.7/schemas/#SearchFilterType), påkrævet)

## ConfigurationWorkSearchSorting

`object`

- `available` ([`array of ConfigurationWorkSearchSortingAvailable`](https://plasapi.com/da/provider/v0.6.7/schemas/#ConfigurationWorkSearchSortingAvailable), valgfri)

## ConfigurationWorkSearchSortingAvailable

`object`

This is a description of a sorting type.

- `description` (`string`, valgfri) — This is a description of what type of sorting this is.
- `type` ([`SearchSortingType`](https://plasapi.com/da/provider/v0.6.7/schemas/#SearchSortingType), påkrævet)

## ContactInfo

`object`

Contact information for registration and tickets.

At least one of the fields must be provided: `url`, `email`, `phone`, or `info`.


- `email` (`string (email)`, valgfri) — Email for registration/tickets
- `info` (`string`, valgfri) — Instructions on where to register/buy tickets
- `phone` (`string`, valgfri) — Phone number with country prefix for registration/tickets
- `url` (`string (uri)`, valgfri) — URL to registration/ticket page

## Contributor

`object`

- `agent` ([`Agent`](https://plasapi.com/da/provider/v0.6.7/schemas/#Agent), påkrævet)
- `roles` ([`array of AgentRole`](https://plasapi.com/da/provider/v0.6.7/schemas/#AgentRole), valgfri) — List of roles (e.g. author, illustrator, editor) that the agent played in the creation of this entity.


## CreatePatronListRequestBody

`PatronList`

Ingen felter i specifikationen — se skema-indekset for formen.

## CreatePatronReservationRequestBody

`object`

- `pickupLocation` ([`PickupLocationWithoutNames`](https://plasapi.com/da/provider/v0.6.7/schemas/#PickupLocationWithoutNames), påkrævet)
- `reserveId` ([`ReserveId`](https://plasapi.com/da/provider/v0.6.7/schemas/#ReserveId), påkrævet)

## CreatePatronReservationResponseBody

`object`

- `reservation` ([`PatronReservation`](https://plasapi.com/da/provider/v0.6.7/schemas/#PatronReservation), påkrævet)

## Date

`one of DateTypeLiteral | DateTypeRFC3339 | DateTypeYear | DateTypeYearRange | DateTypeCentury`

Ingen felter i specifikationen — se skema-indekset for formen.

## DateTypeCentury

`object`

The *century* date can be used if we only know which century an event happened.

- `beforeTheCommonEra` (`boolean`, valgfri) — The default value is *false*, meaning common era, otherwise before the common era.
- `century` (`integer`, påkrævet) — The century e.g. 19 century CE (meaning 1801 CE to 1900 CE), 3 century BCE (meaning 300 BCE to 201 BCE)
- `type` (`string enum`, påkrævet) — `century`

## DateTypeLiteral

`object`

A literal date, meaning there are no expected structure or format.

- `type` (`string enum`, påkrævet) — `literal`
- `value` (`string`, påkrævet)

## DateTypeRFC3339

`object`

The *rfc3339* date can be used if we now the date.

- `date` (`string (date)`, påkrævet) — RFC3339 _full-date_ format (YYYY-MM-DD).
- `type` (`string enum`, påkrævet) — `rfc3339`

## DateTypeYear

`object`

The *year* date can be used if we only know which year an event happened.

- `type` (`string enum`, påkrævet) — `year`
- `year` (`integer`, påkrævet) — Eg. 1924

## DateTypeYearRange

`object`

The *yearRange* date can be used if we only know approx when an event happened.
This can also be used give an open ended year range.
*from* and *to* isn't required, but a least one of them should be set.


- `from` (`integer`, valgfri) — Eg. 1924
- `to` (`integer`, valgfri) — Eg. 1979
- `type` (`string enum`, påkrævet) — `yearRange`

## DeletePatronByCodeAndCodeVerifierRequestBody

`object`

- `code` (`string`, påkrævet) — The code obtained from a SSO patron deletion.
- `code_verifier` (`string`, påkrævet) — The code verifier used to create the code challenge used to obtain the code.
- `identity_provider` ([`ConfigurationPatronIdentityProviderType`](https://plasapi.com/da/provider/v0.6.7/schemas/#ConfigurationPatronIdentityProviderType), påkrævet)

## DeletePatronById

`object`

The patron as a patron ID, and the password that goes with it.

- `identifiedBy` (`string enum`, påkrævet) — `patron_id`
- `password` ([`PatronPassword`](https://plasapi.com/da/provider/v0.6.7/schemas/#PatronPassword), påkrævet)
- `patronId` (`string`, påkrævet) — The patron ID.

## DeletePatronByIdentifier

`object`

The patron as one of the identifier types in `patron.deletion.identifierTypes` from
GET /configuration, and the password that goes with it.


- `identifiedBy` (`string enum`, påkrævet) — `identifier`
- `identifier` ([`PatronIdentifierTypeAndValue`](https://plasapi.com/da/provider/v0.6.7/schemas/#PatronIdentifierTypeAndValue), påkrævet)
- `password` ([`PatronPassword`](https://plasapi.com/da/provider/v0.6.7/schemas/#PatronPassword), påkrævet)

## DeletePatronIdentification

`one of DeletePatronById | DeletePatronByIdentifier`

Which patron is being deleted, told by `identifiedBy`. This is for a patron who is not logged in
through an identity provider, and a password is always required, since it is the only proof in the
request that the caller is the patron.


Ingen felter i specifikationen — se skema-indekset for formen.

## DeletePatronRequestBody

`object`

- `acknowledgement` (`object`, valgfri) — This is used to acknowledge the deletion of the patron.
- `patron` ([`DeletePatronIdentification`](https://plasapi.com/da/provider/v0.6.7/schemas/#DeletePatronIdentification), påkrævet)

## DeletePatronResponseBody

`object`

- `message` (`string`, valgfri) — Message to the patron.
- `status` (`string enum`, påkrævet) — `waiting_for_acknowledgement` · `pending` · `in_progress` · `done` · `deletion_error` — This tells the state of the deletion of the patron.

The status can be:
- `waiting_for_acknowledgement`, to begin the deleting process, call the deletion endpoint with the acknowledgement code.
- `pending`, the deletion request is acknowledged, and we are waiting on the process to begin. 
- `in_process`, the deletion process is in progress.
- `done`, the deletion process is done (meaning the patronId does not exist).
- `deletion_error`, the deletion process failed.
- `unknown`, the deletion process is in an unknown state.


## Description

`one of DescriptionTypeLiteral`

Ingen felter i specifikationen — se skema-indekset for formen.

## DescriptionTypeLiteral

`object`

A literal description, meaning there are no expected structure or format.

- `type` (`string enum`, påkrævet) — `literal`
- `value` (`string`, påkrævet)

## Edition

`one of EditionTypeLiteral | EditionTypeNumbering`

Ingen felter i specifikationen — se skema-indekset for formen.

## EditionTypeLiteral

`object`

A literal edition, meaning there are no expected structure or format.

- `type` (`string enum`, påkrævet) — `literal`
- `value` (`string`, påkrævet) — A displayable (human readable) representation of the edition.

## EditionTypeNumbering

`object`

- `display` (`string`, valgfri) — A displayable (human readable) representation of the edition.
- `number` (`integer`, påkrævet) — The edition number.
- `printing` (`integer`, valgfri) — The printing number of the edition.
- `type` (`string enum`, påkrævet) — `numbering`

## Error

`object`

- `code` ([`ErrorCode`](https://plasapi.com/da/provider/v0.6.7/schemas/#ErrorCode), påkrævet)
- `info` ([`ErrorInfo`](https://plasapi.com/da/provider/v0.6.7/schemas/#ErrorInfo), påkrævet)

## ErrorCode

`integer enum`
`500` · `600` · `10001` · `71001` · `100001` · `100011` · `100013` · `100023` · `100101` · `100211` · `100215` · `100221` · `100411` · `100611` · `101001` · `101047` · `101053` · `102001` · `102301` · `102311` · `110001` · `200001` · `200077` · `200101` · `200103` · `300001` · `300005` · `300009` · `300013` · `300301` · `300311` · `310001` · `310011` · `330001` · `330011` · `330101` · `330111`

A number representing the type of error.

List of error codes:

- \<error code\>: \<error description\>  

- 500: System error
- 600: Unsupported Open Library API version
- 10001: Endpoint disabled
- 71001: Consent has not been given for 'loan history'
- 100001: Wrong patron identifier, password or pin code
- 100011: New password or pin code rejected, because it does not meet the provider's requirements
- 100013: The provider does not let the patron change the given credential
- 100023: Patron ID not found
- 100101: Patron could not be deleted, because the patron has something unresolved issue with the library (this could be anything from a loan to a fee, and so on ...)
- 100211: maxNumberOfEmailAddresses exceeded
- 100215: maxNumberOfPhoneNumbers exceeded
- 100221: Pickup location cannot contain sections
- 100411: Updating patron consent failed
- 100611: Updating patron notification settings failed
- 101001: Reservation ID not found
- 101047: Branch ID cannot be used as pick up branch
- 101053: Section ID cannot be used as pick up branch
- 102001: Loan ID not found
- 102301: Loan not renewable, because it is an interlibrary loan
- 102311: Loan not renewable, because it is reserved
- 110001: Branch ID not found
- 200001: Publication ID not found
- 200077: ui language not supported
- 200101: missing required query parameter
- 200103: invalid/unsupported query parameter value
- 300001: Initialize payment should not be used
- 300005: Initialize payment should be used
- 300009: Payment method not supported
- 300013: Payment method does not support partial payment
- 300301: Finalized payment can not de changed
- 300311: FinalizePaymentRequest.fees contains fees with the same ID
- 310001: Loan history ID not found
- 310011: Loan history ID already exists
- 330001: List ID not found
- 330011: List ID already exists
- 330101: List item ID not found
- 330111: List item ID already exists


Ingen felter i specifikationen — se skema-indekset for formen.

## ErrorInfo

`string`

Starts with the text matching the error code field (defined above), and a describing text could be added.

Ingen felter i specifikationen — se skema-indekset for formen.

## Errors

`object`

- `errors` ([`array of Error`](https://plasapi.com/da/provider/v0.6.7/schemas/#Error), påkrævet) — The first error should always be the most relevant.

## Event

`object`

Complete event information.

Only the field `description` can contain formatting.


- `admission` ([`EventAdmission`](https://plasapi.com/da/provider/v0.6.7/schemas/#EventAdmission), påkrævet)
- `audiences` ([`array of EventAudience`](https://plasapi.com/da/provider/v0.6.7/schemas/#EventAudience), valgfri) — Target audiences for the event
- `branch` ([`EventBranch`](https://plasapi.com/da/provider/v0.6.7/schemas/#EventBranch), påkrævet)
- `categories` ([`array of EventCategory`](https://plasapi.com/da/provider/v0.6.7/schemas/#EventCategory), valgfri) — Event categories
- `description` (`string`, påkrævet) — A detailed description of the event. Is in limited html format. Supports following html tags - b - i - p - a - ul - ol - li
- `id` (`string`, påkrævet) — Unique identifier for the event.

If multi events have the same 'id' but different language, then they are the same event.

- `images` ([`array of ImageTypeContent`](https://plasapi.com/da/provider/v0.6.7/schemas/#ImageTypeContent), valgfri)
- `language` (`string`, valgfri) — The language of this events content (https://www.loc.gov/marc/languages/).
- `location` ([`EventLocation`](https://plasapi.com/da/provider/v0.6.7/schemas/#EventLocation), valgfri)
- `organizers` ([`array of EventOrganizer`](https://plasapi.com/da/provider/v0.6.7/schemas/#EventOrganizer), valgfri) — Event organizers
- `promoted` ([`Promoted`](https://plasapi.com/da/provider/v0.6.7/schemas/#Promoted), valgfri)
- `relatedEvents` ([`RelatedEvents`](https://plasapi.com/da/provider/v0.6.7/schemas/#RelatedEvents), valgfri)
- `relevantWorks` ([`RelevantWorks`](https://plasapi.com/da/provider/v0.6.7/schemas/#RelevantWorks), valgfri)
- `scheduling` ([`EventScheduling`](https://plasapi.com/da/provider/v0.6.7/schemas/#EventScheduling), påkrævet)
- `series` ([`EventSeries`](https://plasapi.com/da/provider/v0.6.7/schemas/#EventSeries), valgfri)
- `state` ([`EventState`](https://plasapi.com/da/provider/v0.6.7/schemas/#EventState), påkrævet)
- `teaser` (`string`, valgfri) — A short, engaging text designed to spark interest in the event
- `title` (`string`, påkrævet) — Event title
- `updateTime` (`string (date-time)`, påkrævet) — When was the event last update (or create) in RFC3339 _date-time_ format.
- `url` (`string (uri)`, valgfri) — URL to the event's webpage

## EventAdmission

`one of OpenAdmission | TicketAdmission | RegistrationAdmission`

Admission and registration information for an event

Ingen felter i specifikationen — se skema-indekset for formen.

## EventAudience

`object`

Information about an audience target for an event

- `id` (`string`, påkrævet) — Unique identifier for the audience target
- `label` (`string`, påkrævet) — Localized label for the audience target

## EventBranch

`object`

Branch information, this is the main branch associated with the event.

- `branchId` (`string`, påkrævet) — The branch ID (should exist in GET /locations)
- `branchName` (`string`, påkrævet) — Name of the branch

## EventCategory

`object`

Category classification for events

- `id` (`string`, påkrævet) — Category identifier
- `label` (`string`, påkrævet) — Localized category label

## EventLocation

`one of EventLocationAtBranch | EventLocationExternal`

The location where the event takes place

Ingen felter i specifikationen — se skema-indekset for formen.

## EventLocationAtBranch

`object`

Location information for an event at the branch location.

- `location` (`string`, påkrævet) — The internal location used for the event
- `type` (`string enum`, påkrævet) — `at_branch`

## EventLocationExternal

`object`

Location information for an external venue.

- `address` ([`Address`](https://plasapi.com/da/provider/v0.6.7/schemas/#Address), valgfri) — The physical address of the event location
- `name` (`string`, påkrævet) — External location name
- `type` (`string enum`, påkrævet) — `external`

## EventOrganizer

`object`

Information about an external event organizer

- `id` (`string`, valgfri) — Unique identifier for the external organizer
- `name` (`string`, påkrævet) — Name of the external organizer

## EventPriceCategory

`object`

- `amount` (`integer`, påkrævet) — The price for a ticket. 0 if free.

The amount is in minor unit (see ISO 4217).

- `currency` (`string`, påkrævet) — The currency of the price. ISO 4217 code.
- `label` (`string`, valgfri) — A label for the price, this can been used e.g. as prefix for the price type. E.g. "Adults" or "Children"

## EventPricing

`one of EventPricingSimple | EventPricingPriceCategories`

Pricing information for an event

Ingen felter i specifikationen — se skema-indekset for formen.

## EventPricingPriceCategories

`object`

- `categories` ([`array of EventPriceCategory`](https://plasapi.com/da/provider/v0.6.7/schemas/#EventPriceCategory), påkrævet) — Array of price categories for an event
- `type` (`string enum`, påkrævet) — `price_categories`

## EventPricingSimple

`object`

- `text` (`string`, påkrævet) — Simple pricing text, e.g. "0 - 100 DKK"
- `type` (`string enum`, påkrævet) — `simple` · `value`

## EventScheduling

`one of AllDayScheduling | TimeSpanScheduling`

Ingen felter i specifikationen — se skema-indekset for formen.

## EventSeries

`object`

Information about an event series that this event belongs to

- `eventIds` (`array of string`, valgfri) — An array of event ids within the series. This list is restricted to events that fall within the date range specified by the API request.  
It does not include the event id of the current event itself.

- `seriesId` (`string`, påkrævet) — Identifier of the event-series. This searchId can be used with `GET /content/event/series/{seriesId}`.

## EventState

`string enum`
`scheduled` · `cancelled` · `finished`

The state of the event.

There are three event state type
- scheduled, Meaning that the event is scheduled and expected to be carried out as planned (See scheduling).
- cancelled, Meaning that the event is cancelled.
- finished, Meaning that the event is finished.


Ingen felter i specifikationen — se skema-indekset for formen.

## ExpressionClusteringField

`one of ExpressionClusteringFieldNamedCreators | ExpressionClusteringFieldNamedContributors | ExpressionClusteringFieldNamedCreatorsAndContributors | ExpressionClusteringFieldNamedMediaTypes | ExpressionClusteringFieldNamedLanguage`

Ingen felter i specifikationen — se skema-indekset for formen.

## ExpressionClusteringFieldName

`object`

This is used to tell the providers preferred clustering of publications.

Ingen felter i specifikationen — se skema-indekset for formen.

## ExpressionClusteringFieldNamedContributors

`all of ExpressionClusteringFieldName + object`

Ingen felter i specifikationen — se skema-indekset for formen.

## ExpressionClusteringFieldNamedCreators

`all of ExpressionClusteringFieldName + object`

Ingen felter i specifikationen — se skema-indekset for formen.

## ExpressionClusteringFieldNamedCreatorsAndContributors

`all of ExpressionClusteringFieldName + object`

Ingen felter i specifikationen — se skema-indekset for formen.

## ExpressionClusteringFieldNamedLanguage

`all of ExpressionClusteringFieldName + object`

Ingen felter i specifikationen — se skema-indekset for formen.

## ExpressionClusteringFieldNamedMediaTypes

`all of ExpressionClusteringFieldName + object`

Ingen felter i specifikationen — se skema-indekset for formen.

## Extent

`one of ExtentTypeLiteral | ExtentTypePages | ExtentTypePlaytime | ExtentTypeUnits`

Ingen felter i specifikationen — se skema-indekset for formen.

## ExtentTypeLiteral

`object`

A literal extent, meaning there are no expected structure or format.

- `type` (`string enum`, påkrævet) — `literal`
- `value` (`string`, påkrævet) — A displayable (human readable) representation of the extent.

## ExtentTypePages

`object`

- `pages` (`integer`, påkrævet) — Number of physical pages.
- `type` (`string enum`, påkrævet) — `pages`

## ExtentTypePlaytime

`object`

- `playtime` (`integer`, påkrævet) — The total playtime in seconds.
- `type` (`string enum`, påkrævet) — `playtime`

## ExtentTypeUnits

`object`

- `type` (`string enum`, påkrævet) — `units`
- `unitType` (`string enum`, påkrævet) — `volume` · `dvd` · `cd` · `bluRay` · `cassette` · `lp`
- `units` (`integer`, påkrævet) — Number of physical units (volumes, dvd, cd, ...)

## Facet

`object`

- `name` (`string`, valgfri) — A displayable (human readable) facet name.
- `terms` ([`array of FacetTerm`](https://plasapi.com/da/provider/v0.6.7/schemas/#FacetTerm), påkrævet)
- `type` ([`SearchFacetType`](https://plasapi.com/da/provider/v0.6.7/schemas/#SearchFacetType), påkrævet)

## FacetTerm

`object`

- `name` (`string`, påkrævet) — A displayable (human readable) representation of facet term name.
- `occurrences` (`integer`, valgfri) — The number of occurrences in the search result, based on works.
- `value` (`string`, påkrævet) — The facet terms searchable value.

## FeeAmount

`integer`

The amount is in minor unit (see ISO 4217).

Ingen felter i specifikationen — se skema-indekset for formen.

## FeeCreatedTime

`string (date-time)`

The date and time the fee was created.

Ingen felter i specifikationen — se skema-indekset for formen.

## FeeCurrency

`string`

ISO 4217

Ingen felter i specifikationen — se skema-indekset for formen.

## FeeDueDate

`string (date)`

The due date of the fee.

Ingen felter i specifikationen — se skema-indekset for formen.

## FeeId

`string`

This is the fee ID.

Ingen felter i specifikationen — se skema-indekset for formen.

## FeeItem

`object`

Item information related to a fee.

- `acquiredFrom` ([`PatronLoanAcquiredFrom`](https://plasapi.com/da/provider/v0.6.7/schemas/#PatronLoanAcquiredFrom), valgfri)
- `itemId` (`string`, påkrævet) — The item identifier of the item that the fee is about.
- `publicationMetadata` ([`PublicationFallback`](https://plasapi.com/da/provider/v0.6.7/schemas/#PublicationFallback), påkrævet)

## FeePayableState

`string enum`
`payable` · `not_payable`

This state tells if the fee can be paid and finalized through this API.  
- *payable*: The fee is payable, and can be finalized through this API.
- *not_payable*: The fee cannot be finalized through this API.


Ingen felter i specifikationen — se skema-indekset for formen.

## FeeRemainingAmount

`Amount`

The remaining amount is the amount that is still payable. If this is not equal to amount, part of the fee has been paid.

The amount is in minor unit (see ISO 4217).


Ingen felter i specifikationen — se skema-indekset for formen.

## FeeType

`string enum`
`fee` · `compensation` · `send_to_debt_collector`

Defines the type of fee being applied. All fees indicate that the patron should pay, never the other way around.

The possible values are:
- *fee*: Indicates a regular fee, typically for a late checked-in loan.
- *compensation*: Indicates a compensation fee, typically applied due to a damaged or lost item.
- *send_to_debt_collector*: Indicates that the fee has been sent to a debt collector because it was not paid in time.


Ingen felter i specifikationen — se skema-indekset for formen.

## FieldItemId

`string`

The item ID is the unique item identifier. This is the identifier needed to make a checkout and/or checkin. So if the LMS has an internal identifier for an item, but uses an external identifier for checkout and checkin, the itemId should be the value of the external identifier. In some LMSs, this is called the barcode.

Ingen felter i specifikationen — se skema-indekset for formen.

## FinalizeFeesResponseBody

`object`

Contains a mapping from each (unique) fee ID (from the request) to a response detailing how the finalize operation went for that fee.

- `responses` (`unknown`, påkrævet) — A mapping from each fee ID (from the request) to a FinalizeFee.

## FinalizeFeeStatus

`string enum`
`registered` · `registered_by_different_payment_id` · `fee_not_payable` · `not_allowed`

The results of a payment finalize operation. 
If any other value than the following is returned, it can be assumed that the operation was unsuccessful (i.e. it was not finalized by the current request).

* **registered**:                         The fee was successfully finalized
* **registered_by_different_payment_id**: The fee had already been finalized by a different payment ID
* **fee_not_payable**:                    The fee was not payable, and therefore could not be finalized
* **not_allowed**:                        The client is not authorized to finalize this fee


Ingen felter i specifikationen — se skema-indekset for formen.

## FinalizePaymentFee

`object`

- `amount` ([`FeeAmount`](https://plasapi.com/da/provider/v0.6.7/schemas/#FeeAmount), valgfri) — This should only be used with a partial enabled payment methods. If the partial payment is not enabled, but
this field is set, the error code 300013 is returned.

The amount is in minor unit (see ISO 4217).

- `id` ([`FeeId`](https://plasapi.com/da/provider/v0.6.7/schemas/#FeeId), påkrævet)

## FinalizePaymentRequestBody

`object`

- `fees` ([`array of FinalizePaymentFee`](https://plasapi.com/da/provider/v0.6.7/schemas/#FinalizePaymentFee), påkrævet) — The list of fees that should be finalized.  
This array must not contain any fees with the same ID. In that case, an error will be returned.

- `method` ([`ConfigurationPaymentMethodType`](https://plasapi.com/da/provider/v0.6.7/schemas/#ConfigurationPaymentMethodType), påkrævet)
- `orderId` (`string`, valgfri) — Order ID from initialize payment.

If in the configuration, payment->initialize->state is `use_initialize`, this field is required.

- `paymentId` (`string`, påkrævet) — Payment ID from the payment gateway.

## Form

`object`

- `id` (`string`, valgfri) — A id that (if set) can be used with the filter `plas.forms` to search on this form.
- `label` (`string`, påkrævet) — A displayable (human readable) value of the form.

## Genre

`object`

- `id` (`string`, valgfri) — A id that (if set) can be used with the filter `plas.genres` to search on this genre.
- `label` (`string`, påkrævet) — A displayable (human readable) value of the genre.

## GetAgentsResponseBody

`object`

- `agents` (`unknown`, påkrævet)

## GetContentEventsInSeriesResponseBody

`object`

- `events` ([`array of Event`](https://plasapi.com/da/provider/v0.6.7/schemas/#Event), påkrævet)
- `total` (`integer`, påkrævet) — The total number of events in the series.

## GetContentEventsResponseBody

`object`

- `endOfResults` (`boolean`, påkrævet) — If this is false, we haven't reached the end of the search result yet, if it's false we have, and if it's missing or null we don't know.
- `events` ([`array of Event`](https://plasapi.com/da/provider/v0.6.7/schemas/#Event), påkrævet)
- `total` (`integer`, valgfri) — The total number of events in the whole period.

## GetHoldingResponseBody

`object`

- `holdings` (`unknown`, påkrævet)

## GetPublicationsResponseBody

`object`

- `publications` (`unknown`, påkrævet)

## GetSuggestionsResponseBody

`object`

- `suggestions` ([`array of Suggestion`](https://plasapi.com/da/provider/v0.6.7/schemas/#Suggestion), påkrævet)

## GetVersionResponseBody

`object`

- `version` ([`Version`](https://plasapi.com/da/provider/v0.6.7/schemas/#Version), påkrævet) — This is recommended (by the provider) version of the Open Library API, that is supported by provider.

## GetWorksResponseBody

`object`

- `works` (`unknown`, påkrævet)

## Holding

`object`

- `locations` ([`array of HoldingLocation`](https://plasapi.com/da/provider/v0.6.7/schemas/#HoldingLocation), påkrævet)
- `numberOfReservations` (`integer`, valgfri) — This tells how many reservations there exist on the publication (or periodical).

If this is unknown, the field is not set.

- `periodical` ([`HoldingPeriodical`](https://plasapi.com/da/provider/v0.6.7/schemas/#HoldingPeriodical), valgfri)
- `publicationId` (`string`, påkrævet) — The publication ID
- `reserveId` (`string`, påkrævet) — This is the Reserve ID to be used for reserving this publication (or periodical). If this is empty, the publication (or periodical) is not reservable.  
If the holding represents a periodical, this reserve ID is still all that is required to reserve that issue.


## HoldingItem

`object`

- `availableState` (`string enum`, påkrævet) — `available` · `not_available` — This tells if the item is available at the shelf.
- `itemId` ([`FieldItemId`](https://plasapi.com/da/provider/v0.6.7/schemas/#FieldItemId), påkrævet)
- `lendingDays` (`integer`, valgfri) — If this field is set, it should be assumed that the lending time for this item is different from other "normal" items.
This field tells how many days this item can be borrowed for.

Sometimes a publication is available and reservable, but numberOfReservations is not zero. This can be because some
items are not reservable, but are loanable. This would often be the case if an item has a shorter lending period than usual.

- `loanableState` (`string enum`, påkrævet) — `loanable` · `not_for_loan` — This tells if the item is loanable.
- `pickupLocations` ([`array of PickupLocation`](https://plasapi.com/da/provider/v0.6.7/schemas/#PickupLocation), valgfri) — This is a list of locations where a reservation on this item can be made to.
This field (if set) takes precedence over all other pickup locations information.

- `reserveId` (`string`, valgfri) — The reserve ID for reserving precisely this item. If this is empty or missing, the item is not reservable.

## HoldingLocation

`object`

The field location uniquely defines a location on a branch (library), and items tells which items are associated with that location.
In a holding response for a given publicationId, the unique combination of a location's branch and section elements should at most appear once.  

E.g. a combination of a location with 2 section items of types "floor" and "department" (in that order of relevance) and a shelfmark, would 
give the following path to the items: branch > section (floor) > section (department) > shelfmark.


- `items` ([`array of HoldingItem`](https://plasapi.com/da/provider/v0.6.7/schemas/#HoldingItem), påkrævet)
- `location` ([`Location`](https://plasapi.com/da/provider/v0.6.7/schemas/#Location), påkrævet)
- `pickupLocations` ([`array of PickupLocation`](https://plasapi.com/da/provider/v0.6.7/schemas/#PickupLocation), valgfri) — This is a list of locations where a reservation be made to.
This field (if set) takes precedence over the pickup locations information from in /locations and /patron/{patronId}/configuration.

- `shelfmark` (`string`, påkrævet)

## HoldingPeriodical

`object`

A Periodical is e.g. a magazine or a newspaper published at regular intervals.

If the holding does not represent a periodical, then this field is not set.


- `grouping` ([`array of HoldingPeriodicalGroup`](https://plasapi.com/da/provider/v0.6.7/schemas/#HoldingPeriodicalGroup), valgfri) — The grouping is the natural division of periodicals based on of e.g. when a periodical is published and/or which number it has.  
An example could be the periodical "Sky and telescope", let us say there exist 3 publishings for this periodical. Two in 2022, and one in 2023.  
The two from 2022 could be the volumes "March" and "July", and the one from 2023 could be "February".  
This will give us 2022 -> (March, July), 2023 -> February, and each can be expressed with its own grouping like this:
1. `[{"type": "year", "value": "2022"}, {"type": "volume", "value": "March"}]`
2. `[{"type": "year", "value": "2022"}, {"type": "volume", "value": "July"}]`
3. `[{"type": "year", "value": "2023"}, {"type": "volume", "value": "February"}]`

This makes it possible for the vendor to visualize all publishings of the periodical.

It is recommended that only the types `year`, `volume` and `number` are used, but if it is not enough, use the types level1, ..., level7.

The default grouping order is documented in [GET /configuration](#/Configuration/GetConfiguration), and if another ordering is needed, it can be specified there.

- `name` (`string`, valgfri) — The issue's name for display.

## HoldingPeriodicalGroup

`object`

- `type` ([`HoldingPeriodicalGroupType`](https://plasapi.com/da/provider/v0.6.7/schemas/#HoldingPeriodicalGroupType), påkrævet)
- `value` (`string`, påkrævet)

## HoldingPeriodicalGroupType

`string enum`
`year` · `volume` · `number` · `level1` · `level2` · `level3` · `level4` · `level5` · `level6` · `level7`

Is used to visually group and name the value.

Ingen felter i specifikationen — se skema-indekset for formen.

## Holdings

`array of Holding`

Ingen felter i specifikationen — se skema-indekset for formen.

## ImageAgent

`one of ImageTypeAgent`

Ingen felter i specifikationen — se skema-indekset for formen.

## ImageAlt

`object`

Alternative for accessibility

- `text` (`string`, påkrævet) — Alternative text for accessibility

## ImageCredit

`object`

Image credit information

- `text` (`string`, påkrævet)

## ImageFocalPoint

`one of ImageFocalPointHotspot`

Ingen felter i specifikationen — se skema-indekset for formen.

## ImageFocalPointHotspot

`object`

Describes the point of the most important part of the image

- `type` (`string enum`, påkrævet) — `hotspot`
- `x` (`number`, påkrævet) — Horizontal position of hotspot (0-1)
- `y` (`number`, påkrævet) — Vertical position of hotspot (0-1)

## ImageOriginal

`all of ImageUrl + object`

The `url' is the un-cropped version of the image

Ingen felter i specifikationen — se skema-indekset for formen.

## ImagePublication

`one of ImageTypeFrontCover | ImageTypeBackCover`

Ingen felter i specifikationen — se skema-indekset for formen.

## ImageTypeAgent

`all of ImageUrl + object`

Ingen felter i specifikationen — se skema-indekset for formen.

## ImageTypeBackCover

`all of ImageUrl + object`

Ingen felter i specifikationen — se skema-indekset for formen.

## ImageTypeContent

`all of ImageUrl + object`

Ingen felter i specifikationen — se skema-indekset for formen.

## ImageTypeFrontCover

`all of ImageUrl + object`

Ingen felter i specifikationen — se skema-indekset for formen.

## ImageUrl

`object`

- `height` (`integer`, valgfri) — The image height in px.
- `mime` (`string enum`, valgfri) — `png` · `jpeg`
- `url` (`string`, påkrævet)
- `width` (`integer`, valgfri) — The image width in px.

## InitializePaymentRequestBody

`object`

- `initialize` (`object`, påkrævet)

## InitializePaymentResponseBody

`object`

- `order` (`object`, påkrævet)

## IsPatronRegistrationPossibleRequestBody

`object`

In this the password is optional, because it is not all possible registries that need it.  
A registry is where we check if a patron can be registered.


- `identifier` ([`PatronIdentifierTypeAndValue`](https://plasapi.com/da/provider/v0.6.7/schemas/#PatronIdentifierTypeAndValue), påkrævet)
- `password` ([`PatronPassword`](https://plasapi.com/da/provider/v0.6.7/schemas/#PatronPassword), valgfri)

## IsPatronRegistrationPossibleResponseBody

`object`

- `registries` (`array of object`, påkrævet) — Any entry in this array is a possible way a new patron be registered through, based on the provided identifier.

## Language

`object`

- `code` (`string`, påkrævet) — A id that (if set) can be used with the filter `plas.language` to search on this genre.

Codes can be found at <https://www.loc.gov/marc/languages/>

- `name` (`string`, valgfri) — A displayable (human readable) value of the language.

## LoanCreatedTime

`string (date-time)`

The date and time the loan was made.

Ingen felter i specifikationen — se skema-indekset for formen.

## LoanDueDate

`string (date)`

The latest date on which the loan must be returned.

Ingen felter i specifikationen — se skema-indekset for formen.

## LoanId

`string`

This is the loan ID.

Ingen felter i specifikationen — se skema-indekset for formen.

## LoanItemId

`string`

This is the item identifier of the checkout item.

Ingen felter i specifikationen — se skema-indekset for formen.

## LoanPublicationId

`string`

This is the publication ID of the loan. If this is empty, the publication is unknown.

Ingen felter i specifikationen — se skema-indekset for formen.

## LoanRenewableState

`string enum`
`renewable` · `not_renewable` · `renewable_later` · `unknown`

This tells the renewable state of the loan.

Ingen felter i specifikationen — se skema-indekset for formen.

## LoanRenewInfo

`object`

This contain information about renewal of the loan.

- `count` (`integer`, valgfri) — The number of times this loan can still be renewed. If the field is missing, this information is unknown.
- `lastDate` (`string (date)`, valgfri) — The date when the loan was last renewed. If the field is missing, this information is unknown.
- `state` ([`LoanRenewableState`](https://plasapi.com/da/provider/v0.6.7/schemas/#LoanRenewableState), påkrævet)

## Location

`object`

The branch name and the section names are included in the response to make it easier to display the location. They are the same values as from the /locations endpoint.

- `branchId` (`string`, påkrævet)
- `branchName` (`string`, påkrævet)
- `path` ([`array of LocationSectionElementWithIdNameAndType`](https://plasapi.com/da/provider/v0.6.7/schemas/#LocationSectionElementWithIdNameAndType), påkrævet) — This contains location section elements, sorted in the same order as LocationsResponse->sections in /locations.
At most one of each location section type may be present in this array, but it is not a requirement that
all types are present - there should only be the needed types.

All section elements that can appear here, should be defined as an element of one of the sections in LocationsResponse->sections from /locations.


## LocationBranch

`object`

- `coordinates` (`object`, valgfri)
- `externals` ([`LocationBranchExternals`](https://plasapi.com/da/provider/v0.6.7/schemas/#LocationBranchExternals), valgfri)
- `id` (`string`, påkrævet) — This is the internal ID of the library branch, used in e.g. the HoldingLocation->location object.
- `name` (`string`, påkrævet) — Displayable name of the library branch.
- `pickup` (`object`, valgfri)
- `tags` (`array of string`, valgfri) — Can be used to add a simple custom attribute to a branch.  
It is not advisable to use this, unless absolutely necessary.  
There are no default tag values, and thus other vendors cannot be compatible by default, based on an Open Library API implementation.  
Instead, before using, try to reach out to Open Library API with a description of the problem to be solved.


## LocationBranchExternals

`object`

- `identifiers` (`array of object`, valgfri) — This is used to inform about external identifiers, like e.g. an ISIL code.

## LocationSection

`object`

All section types and elements defined here could appear in a holding location.

- `elements` ([`array of LocationSectionElementWithIdNameAndParentId`](https://plasapi.com/da/provider/v0.6.7/schemas/#LocationSectionElementWithIdNameAndParentId), påkrævet)
- `type` (`string`, påkrævet)

## LocationSectionElementType

`string`

This should be the section type of the section (element) ID.

Ingen felter i specifikationen — se skema-indekset for formen.

## LocationSectionElementWithId

`object`

- `id` (`string`, påkrævet) — This is the section (element) ID

## LocationSectionElementWithIdAndName

`all of LocationSectionElementWithId + object`

Ingen felter i specifikationen — se skema-indekset for formen.

## LocationSectionElementWithIdAndType

`all of LocationSectionElementWithId + object`

Ingen felter i specifikationen — se skema-indekset for formen.

## LocationSectionElementWithIdNameAndParentId

`all of LocationSectionElementWithIdAndName + object`

Ingen felter i specifikationen — se skema-indekset for formen.

## LocationSectionElementWithIdNameAndType

`all of LocationSectionElementWithIdAndName + object`

Ingen felter i specifikationen — se skema-indekset for formen.

## LocationsResponseBody

`object`

- `branches` ([`array of LocationBranch`](https://plasapi.com/da/provider/v0.6.7/schemas/#LocationBranch), påkrævet)
- `mainBranch` (`object`, valgfri)
- `pickupLocations` ([`array of PickupLocation`](https://plasapi.com/da/provider/v0.6.7/schemas/#PickupLocation), valgfri) — Default pickup locations provided by the LMS. These can be customized at more granular levels:

*   **Item Level:** Defined within the `/holdings` endpoint (locations->items->pickupLocations). This has the highest priority.
*   **Publication Level:** Defined within the `/holdings` endpoint (locations->pickupLocations).
*   **Patron Level:** Defined via the `/patron/{patronId}/configuration` endpoint.
*   **LMS Level:** Defined via the `/locations` (this) endpoint. This has the lowest priority.

These levels, if present, fully replaces any lower level pickup locations.

If no pickup locations are defined at any of these levels, reservations cannot be made.

- `sections` ([`array of LocationSection`](https://plasapi.com/da/provider/v0.6.7/schemas/#LocationSection), påkrævet)

## MediaType

`object`

- `code` ([`MediaTypeType`](https://plasapi.com/da/provider/v0.6.7/schemas/#MediaTypeType), valgfri)
- `name` (`string`, påkrævet) — A displayable (human readable) representation of the media type.

## MediaTypeEnum

`string enum`
`book` · `eBook` · `audiobook`

Ingen felter i specifikationen — se skema-indekset for formen.

## MediaTypeLiteral

`string`

Ingen felter i specifikationen — se skema-indekset for formen.

## MediaTypeType

`any of MediaTypeEnum | MediaTypeLiteral`

A code that (if set) can be used with the filter `plas.mediaTypes` to search on this media type.

Ingen felter i specifikationen — se skema-indekset for formen.

## OAuthClientIdAndSecret

`object`

- `client_id` (`string`, påkrævet)
- `client_secret` (`string`, påkrævet)

## OAuthToken

`object`

- `token` (`string`, påkrævet) — The token that we want to revoke. This is always an access_token.

## OpenAdmission

`object`

Open admission with no registration or tickets required

- `type` (`string enum`, påkrævet) — `open` — Type of admission - open access

## Patron

`object`

- `address` ([`PatronAddress`](https://plasapi.com/da/provider/v0.6.7/schemas/#PatronAddress), valgfri)
- `emails` ([`PatronEmails`](https://plasapi.com/da/provider/v0.6.7/schemas/#PatronEmails), påkrævet)
- `fullName` ([`PatronFullName`](https://plasapi.com/da/provider/v0.6.7/schemas/#PatronFullName), påkrævet) — FullName is always provided, but givenName and surname are only specified if the data is organized in such a detailed manner.
- `givenName` ([`PatronGivenName`](https://plasapi.com/da/provider/v0.6.7/schemas/#PatronGivenName), valgfri)
- `identifiers` ([`array of PatronIdentifierTypeAndValue`](https://plasapi.com/da/provider/v0.6.7/schemas/#PatronIdentifierTypeAndValue), valgfri)
- `patronId` ([`PatronId`](https://plasapi.com/da/provider/v0.6.7/schemas/#PatronId), påkrævet)
- `permissions` (`array of object`, valgfri) — This is a list of activities, locations, etc. that the patron is either allowed or blocked from accessing.
- `phoneNumbers` ([`PatronPhoneNumbers`](https://plasapi.com/da/provider/v0.6.7/schemas/#PatronPhoneNumbers), påkrævet)
- `pickupLocation` ([`PickupLocation`](https://plasapi.com/da/provider/v0.6.7/schemas/#PickupLocation), påkrævet) — The object tells where a reservation item can be picked up.

This is the default pickup location for the patron.

- `reservation` ([`PatronInfoReservation`](https://plasapi.com/da/provider/v0.6.7/schemas/#PatronInfoReservation), valgfri)
- `surname` ([`PatronSurname`](https://plasapi.com/da/provider/v0.6.7/schemas/#PatronSurname), valgfri)

## PatronAddress

`Address`

Ingen felter i specifikationen — se skema-indekset for formen.

## PatronAuthenticationByCodeAndCodeVerifierRequestBody

`object`

- `code` (`string`, påkrævet) — The code obtained from a SSO patron authentication.
- `code_verifier` (`string`, påkrævet) — The code verifier use to create the code challenge use to obtained the code.
- `identity_provider` ([`ConfigurationPatronIdentityProviderType`](https://plasapi.com/da/provider/v0.6.7/schemas/#ConfigurationPatronIdentityProviderType), påkrævet)

## PatronAuthenticationByCodeAndCodeVerifierResponseBody

`object`

- `patron` ([`Patron`](https://plasapi.com/da/provider/v0.6.7/schemas/#Patron), påkrævet)

## PatronAuthenticationIdentityProviderResponseBody

`object`

- `url` (`string (uri)`, påkrævet)

## PatronAuthenticationNoPasswordRequestBody

`object`

- `identifier` ([`PatronIdentifierTypeAndValue`](https://plasapi.com/da/provider/v0.6.7/schemas/#PatronIdentifierTypeAndValue), påkrævet)

## PatronAuthenticationNoPasswordResponseBody

`object`

- `patron` ([`Patron`](https://plasapi.com/da/provider/v0.6.7/schemas/#Patron), påkrævet)

## PatronAuthenticationRequestBody

`object`

- `identifier` ([`PatronIdentifierTypeAndValue`](https://plasapi.com/da/provider/v0.6.7/schemas/#PatronIdentifierTypeAndValue), påkrævet)
- `password` ([`PatronPassword`](https://plasapi.com/da/provider/v0.6.7/schemas/#PatronPassword), påkrævet)

## PatronAuthenticationResponseBody

`object`

- `patron` ([`Patron`](https://plasapi.com/da/provider/v0.6.7/schemas/#Patron), påkrævet)

## PatronConfiguration

`object`

The patron configuration object tells the settings and restriction that are placed on the patron.

- `reservation` ([`PatronConfigurationReservation`](https://plasapi.com/da/provider/v0.6.7/schemas/#PatronConfigurationReservation), valgfri)

## PatronConfigurationReservation

`object`

- `fee` ([`PatronConfigurationReservationFee`](https://plasapi.com/da/provider/v0.6.7/schemas/#PatronConfigurationReservationFee), valgfri)
- `limits` ([`array of PatronConfigurationReservationLimit`](https://plasapi.com/da/provider/v0.6.7/schemas/#PatronConfigurationReservationLimit), valgfri)
- `pickupLocations` ([`array of PickupLocation`](https://plasapi.com/da/provider/v0.6.7/schemas/#PickupLocation), valgfri) — This tells the locations the patron can change there default/main pickup location to.
If pickupLocations is set (also if it is the empty array), it overwrites the pickup information from /locations.
The pickupLocations from /holdings (if set) overwrites this information.


## PatronConfigurationReservationFee

`object`

This tells that there are a default fee connected to the action of making a reservation.

- `amount` ([`Amount`](https://plasapi.com/da/provider/v0.6.7/schemas/#Amount), påkrævet) — This is the fee amount that the patron must accept when making a reservation.

The amount is in minor unit (see ISO 4217).

- `chargedAt` (`string enum`, påkrævet) — `reservation` · `checkout`
- `currency` (`string`, påkrævet) — ISO 4217

## PatronConfigurationReservationLimit

`one of PatronConfigurationReservationLimitDaily | PatronConfigurationReservationLimitMax`

Ingen felter i specifikationen — se skema-indekset for formen.

## PatronConfigurationReservationLimitDaily

`object`

This tells the daily limit of reservation the patron can make.

- `limit` (`integer`, påkrævet)
- `type` (`string enum`, påkrævet) — `daily`

## PatronConfigurationReservationLimitMax

`object`

This tells the maximum number of concurrent reservations the patron have.

- `limit` (`integer`, påkrævet)
- `type` (`string enum`, påkrævet) — `max`

## PatronConfigurationResponseBody

`object`

- `configuration` ([`PatronConfiguration`](https://plasapi.com/da/provider/v0.6.7/schemas/#PatronConfiguration), påkrævet)

## PatronConsentResponseBody

`object`

- `available` (`array of object`, påkrævet) — The array must only contain one consent of each type.
- `evaluated` ([`PatronEvaluatedConsents`](https://plasapi.com/da/provider/v0.6.7/schemas/#PatronEvaluatedConsents), påkrævet)

## PatronConsentType

`any of PatronConsentTypeEnum | PatronConsentTypeLiteral`

Ingen felter i specifikationen — se skema-indekset for formen.

## PatronConsentTypeEnum

`string enum`
`loan_history`

Ingen felter i specifikationen — se skema-indekset for formen.

## PatronConsentTypeLiteral

`string`

Ingen felter i specifikationen — se skema-indekset for formen.

## PatronCredentialType

`string enum`
`password` · `pin`

The kind of credential a patron uses.

A credential here is the secret the patron knows. It is never the identifier: that is separate.

- `password` a password.
- `pin` a pin code.

GET /configuration says which of these apply where: `patron.login.credentials` for what a patron
can authenticate with, and `patron.credentials.changeable` and `patron.credentials.resettable` for
what a patron can change or have reset.


Ingen felter i specifikationen — se skema-indekset for formen.

## PatronDeletionIdentityProviderResponseBody

`object`

- `url` (`string (uri)`, påkrævet)

## PatronEmail

`all of PatronEmailWithoutVerified + object`

Ingen felter i specifikationen — se skema-indekset for formen.

## PatronEmails

`array of PatronEmail`

The size of this array must not exceed (if specified) the ´maxNumberOfEmailAddresses´ value given in the configuration.

Ingen felter i specifikationen — se skema-indekset for formen.

## PatronEmailsWithoutVerified

`array of PatronEmailWithoutVerified`

The size of this array must not exceed (if specified) the ´maxNumberOfEmailAddresses´ value given in the configuration.

Ingen felter i specifikationen — se skema-indekset for formen.

## PatronEmailWithoutVerified

`object`

- `default` (`boolean`, valgfri) — At most one email can de marked as default.
- `email` (`string`, påkrævet) — Patron email, following RFC 5322.

## PatronEvaluatedConsent

`object`

- `given` (`boolean`, påkrævet)
- `type` ([`PatronConsentType`](https://plasapi.com/da/provider/v0.6.7/schemas/#PatronConsentType), påkrævet)
- `version` (`string`, påkrævet) — The version of the consent that the patron has made a choice for or against.

## PatronEvaluatedConsents

`array of PatronEvaluatedConsent`

The array must only contain one consent of each type.

Ingen felter i specifikationen — se skema-indekset for formen.

## PatronFee

`object`

- `amount` ([`FeeAmount`](https://plasapi.com/da/provider/v0.6.7/schemas/#FeeAmount), påkrævet)
- `createdTime` ([`FeeCreatedTime`](https://plasapi.com/da/provider/v0.6.7/schemas/#FeeCreatedTime), påkrævet)
- `currency` ([`FeeCurrency`](https://plasapi.com/da/provider/v0.6.7/schemas/#FeeCurrency), påkrævet)
- `dueDate` ([`FeeDueDate`](https://plasapi.com/da/provider/v0.6.7/schemas/#FeeDueDate), valgfri)
- `id` ([`FeeId`](https://plasapi.com/da/provider/v0.6.7/schemas/#FeeId), påkrævet)
- `items` ([`array of FeeItem`](https://plasapi.com/da/provider/v0.6.7/schemas/#FeeItem), valgfri) — The items this fee covers, if they are known.
- `payableState` ([`FeePayableState`](https://plasapi.com/da/provider/v0.6.7/schemas/#FeePayableState), påkrævet)
- `remainingAmount` ([`FeeRemainingAmount`](https://plasapi.com/da/provider/v0.6.7/schemas/#FeeRemainingAmount), valgfri)
- `type` ([`FeeType`](https://plasapi.com/da/provider/v0.6.7/schemas/#FeeType), påkrævet)

## PatronFeeResponseBody

`object`

- `fees` ([`array of PatronFee`](https://plasapi.com/da/provider/v0.6.7/schemas/#PatronFee), påkrævet)

## PatronFullName

`string`

Patron's full name.

Ingen felter i specifikationen — se skema-indekset for formen.

## PatronGivenName

`string`

Patron's given name.

Ingen felter i specifikationen — se skema-indekset for formen.

## PatronId

`string`

Unique patron identifier (unique for that customer).

Ingen felter i specifikationen — se skema-indekset for formen.

## PatronIdentifier

`string`

Identifier value. This information may be sensitive.

Ingen felter i specifikationen — se skema-indekset for formen.

## PatronIdentifierType

`any of PatronIdentifierTypeEnum | PatronIdentifierTypeLiteral`

A type identifier that tells which type of identifier is used.

This is an open enum, so values other than the known ones are allowed. GET /configuration says
which types the provider accepts for each flow, in `patron.login.identifierTypes`,
`patron.registration.identifierTypes` and `patron.deletion.identifierTypes`.


Ingen felter i specifikationen — se skema-indekset for formen.

## PatronIdentifierTypeAndValue

`object`

This can be used to identify the user.  
The data contained in the object is often sensitive data.  
The field `type` is optional. If it is missing, the type of `value` is unknown.
Which types the provider accepts depends on the flow, and GET /configuration says so per flow in
`patron.login.identifierTypes`, `patron.registration.identifierTypes` and
`patron.deletion.identifierTypes`.


- `type` ([`PatronIdentifierType`](https://plasapi.com/da/provider/v0.6.7/schemas/#PatronIdentifierType), valgfri)
- `value` ([`PatronIdentifier`](https://plasapi.com/da/provider/v0.6.7/schemas/#PatronIdentifier), påkrævet)

## PatronIdentifierTypeEnum

`string enum`
`local` · `email` · `phone` · `norway_national_library_card` · `norway_national_birth_number` · `denmark_cpr`

The known patron identifier types.

- `local` an identifier for one local library.
- `email` an email address.
- `phone` a phone number.

Country specific:
- `norway_national_library_card` the Norwegian national library card.
- `norway_national_birth_number` the Norwegian "Fødselsnummer".
- `denmark_cpr` the Danish CPR number.


Ingen felter i specifikationen — se skema-indekset for formen.

## PatronIdentifierTypeLiteral

`string`

Ingen felter i specifikationen — se skema-indekset for formen.

## PatronInfoReservation

`object`

- `postpone` (`object`, valgfri) — This describes an interval (possibly an open interval, but only in one end) where the patron is not interested in reservations being fulfilled, e.g. while on vacation.


## PatronInformationResponseBody

`object`

- `patron` ([`Patron`](https://plasapi.com/da/provider/v0.6.7/schemas/#Patron), påkrævet)

## PatronList

`object`

- `id` (`string`, påkrævet) — The ID of the list.
- `name` (`string`, påkrævet) — The name of the list.

## PatronListBaseItem

`object`

- `id` (`string`, påkrævet) — The unique ID of the item in the list.

## PatronListItem

`one of PatronListItemWorkAndPublication`

Ingen felter i specifikationen — se skema-indekset for formen.

## PatronListItems

`array of PatronListItem`

Items contained in the list.

Ingen felter i specifikationen — se skema-indekset for formen.

## PatronListItemWorkAndPublication

`all of PatronListBaseItem + object`

Ingen felter i specifikationen — se skema-indekset for formen.

## PatronListResponseBody

`all of PatronList + object`

Ingen felter i specifikationen — se skema-indekset for formen.

## PatronListsResponseBody

`object`

- `default` (`string`, påkrævet) — The default patron list ID. If a vendor chooses to only use one patron list, this will be the recommended ID of that list.

If there exist no patron list with the default ID, the default list can be created.

- `lists` ([`array of PatronList`](https://plasapi.com/da/provider/v0.6.7/schemas/#PatronList), påkrævet) — A list of patron lists.

## PatronLoan

`object`

- `acquiredFrom` ([`PatronLoanAcquiredFrom`](https://plasapi.com/da/provider/v0.6.7/schemas/#PatronLoanAcquiredFrom), valgfri)
- `createdTime` ([`LoanCreatedTime`](https://plasapi.com/da/provider/v0.6.7/schemas/#LoanCreatedTime), påkrævet)
- `dueDate` ([`LoanDueDate`](https://plasapi.com/da/provider/v0.6.7/schemas/#LoanDueDate), påkrævet)
- `id` ([`LoanId`](https://plasapi.com/da/provider/v0.6.7/schemas/#LoanId), påkrævet)
- `itemId` ([`LoanItemId`](https://plasapi.com/da/provider/v0.6.7/schemas/#LoanItemId), påkrævet)
- `location` ([`CheckOutOrInLocationWithoutNames`](https://plasapi.com/da/provider/v0.6.7/schemas/#CheckOutOrInLocationWithoutNames), valgfri)
- `publicationId` ([`LoanPublicationId`](https://plasapi.com/da/provider/v0.6.7/schemas/#LoanPublicationId), påkrævet)
- `publicationMetadata` ([`PublicationFallback`](https://plasapi.com/da/provider/v0.6.7/schemas/#PublicationFallback), valgfri)
- `renew` ([`LoanRenewInfo`](https://plasapi.com/da/provider/v0.6.7/schemas/#LoanRenewInfo), påkrævet)

## PatronLoanAcquiredFrom

`one of PatronLoanAcquiredFromTypeLocalCirculation | PatronLoanAcquiredFromTypeInterlibraryLoan | PatronLoanAcquiredFromTypeUnknown`

This tells from where (the material for) this loan was acquired.  
If this field are missing, the default value **local_circulation** should be assumed. 
* **local_circulation**: Meaning that this loan was acquired from the customers own inventory.
* **interlibrary_loan**: Meaning that this loan was acquired as a interlibrary loan.
* **unknown**: Meaning that this information is unknown.


Ingen felter i specifikationen — se skema-indekset for formen.

## PatronLoanAcquiredFromTypeInterlibraryLoan

`object`

- `type` (`string enum`, påkrævet) — `interlibrary_loan`

## PatronLoanAcquiredFromTypeLocalCirculation

`object`

- `type` (`string enum`, påkrævet) — `local_circulation`

## PatronLoanAcquiredFromTypeUnknown

`object`

- `type` (`string enum`, påkrævet) — `unknown`

## PatronLoanHistory

`object`

- `acquiredFrom` ([`PatronLoanAcquiredFrom`](https://plasapi.com/da/provider/v0.6.7/schemas/#PatronLoanAcquiredFrom), valgfri)
- `addedToHistoryTime` (`string (date-time)`, påkrævet) — The date and time when the loan was added to the patron loan history.
- `checkinTime` (`string (date-time)`, valgfri) — The date and time the loan was checkin.
- `checkoutTime` ([`LoanCreatedTime`](https://plasapi.com/da/provider/v0.6.7/schemas/#LoanCreatedTime), valgfri)
- `dueDate` (`string (date)`, valgfri) — The due date of the loan at the time of checkin.
- `id` (`string`, påkrævet) — This is the loan history ID (not the loan ID).
- `itemId` ([`LoanItemId`](https://plasapi.com/da/provider/v0.6.7/schemas/#LoanItemId), valgfri)
- `loanId` ([`LoanId`](https://plasapi.com/da/provider/v0.6.7/schemas/#LoanId), valgfri)
- `manuallyAdded` (`boolean`, påkrævet) — Was the loan added manually by the patron.
- `publicationId` ([`LoanPublicationId`](https://plasapi.com/da/provider/v0.6.7/schemas/#LoanPublicationId), påkrævet)
- `publicationMetadata` ([`PublicationFallback`](https://plasapi.com/da/provider/v0.6.7/schemas/#PublicationFallback), valgfri)

## PatronLoanHistoryResponseBody

`object`

- `loanHistory` ([`array of PatronLoanHistory`](https://plasapi.com/da/provider/v0.6.7/schemas/#PatronLoanHistory), påkrævet)

## PatronLoanResponseBody

`object`

- `loans` ([`array of PatronLoan`](https://plasapi.com/da/provider/v0.6.7/schemas/#PatronLoan), påkrævet)

## PatronNotificationCategory

`string`

This is used to suggest a way in which notifications could be visually grouped together.


Ingen felter i specifikationen — se skema-indekset for formen.

## PatronNotificationDeliveryChosen

`PatronNotificationDeliveryMethods`

This tells which delivery methods the patron has chosen

Ingen felter i specifikationen — se skema-indekset for formen.

## PatronNotificationDeliveryMethodEmail

`object`

- `method` (`string enum`, påkrævet) — `email`

## PatronNotificationDeliveryMethodPostal

`all of PatronAddress + object`

Ingen felter i specifikationen — se skema-indekset for formen.

## PatronNotificationDeliveryMethods

`array of one of PatronNotificationDeliveryMethodSMS | PatronNotificationDeliveryMethodEmail | PatronNotificationDeliveryMethodVendor | PatronNotificationDeliveryMethodPostal`

Ingen felter i specifikationen — se skema-indekset for formen.

## PatronNotificationDeliveryMethodSMS

`object`

- `method` (`string enum`, påkrævet) — `sms`

## PatronNotificationDeliveryMethodVendor

`object`

The `vendor` delivery method is special compared to the other methods.  
Each vendor connected with the provider should have their own instance of this method for each patron, 
meaning that the patron could have multiple instances of this method, but only one for each vendor, and only the instance
associated with that vendor should be shown to the vendor, and only that instance should be updatable by the vendor.

If this delivery method is enabled, the provider sends the associated event to that vendor's event endpoint (if it is configured).


- `method` (`string enum`, påkrævet) — `vendor`

## PatronNotificationSetting

`object`

- `category` ([`PatronNotificationCategory`](https://plasapi.com/da/provider/v0.6.7/schemas/#PatronNotificationCategory), valgfri)
- `delivery` (`object`, påkrævet) — This tells about delivery methods
- `name` (`string`, valgfri) — Readable text
- `type` ([`PatronNotificationType`](https://plasapi.com/da/provider/v0.6.7/schemas/#PatronNotificationType), påkrævet)

## PatronNotificationSettings

`array of PatronNotificationSetting`

The array must only contain one notification setting of each type.

Ingen felter i specifikationen — se skema-indekset for formen.

## PatronNotificationSettingsResponseBody

`object`

- `notificationSettings` ([`PatronNotificationSettings`](https://plasapi.com/da/provider/v0.6.7/schemas/#PatronNotificationSettings), påkrævet)

## PatronNotificationType

`string`

This identifies the type of notification.

It is recommended to use the following notification types:  
- `checkout_receipt`, send a receipt when finished checking out items.
- `checkin_receipt`, send a receipt when finished checking in items.
- `reservation_ready_for_pickup`, send when a reservation is ready to be pickup by the patron.
- `ready_reservation_expires_soon`, a reservation that is ready to be pickup by the patron, will expire soon.
- `reservation_expires_soon`, a reservation (that is not ready to be pickup by the patron), will expire soon.
- `reservation_reminder`, if it has been a long time since the reservation was placed, this notification can be sent to remind the patron. It could be that the patron is no longer interested in the reservation. 
- `loan_due_date_is_approaching`, the due date of a loan is approaching. 
- `fee_due_date_is_approaching`, the due date of a fee is approaching.

The following notification types are also events, and if the `vendor` delivery method is chosen for any of these,
and the vendor has configured an event receiver through /configuration/event/register/receiver, the event will be sent to the vendor.
- `reservation_ready_for_pickup`
- `ready_reservation_expires_soon`
- `reservation_expires_soon`
- `reservation_reminder` 
- `loan_due_date_is_approaching` 
- `fee_due_date_is_approaching`


Ingen felter i specifikationen — se skema-indekset for formen.

## PatronPassword

`string`

The credential for the identifier.

In authentication, registration and deletion this field carries whichever credential the provider
uses, so at a provider that uses pin codes the value is a pin code even though the field is named
`password`. For authentication, `patron.login.credentials` in GET /configuration says which it is.

In POST /patron/{patronId}/credential/change the value is always a password. That request body
carries a pin code in `currentPin` and `newPin` instead.


Ingen felter i specifikationen — se skema-indekset for formen.

## PatronPhoneNumber

`all of PatronPhoneNumberWithoutVerified + object`

Ingen felter i specifikationen — se skema-indekset for formen.

## PatronPhoneNumbers

`array of PatronPhoneNumber`

The size of this array must not exceed (if specified) the ´maxNumberOfPhoneNumbers´ value given in the configuration.

Ingen felter i specifikationen — se skema-indekset for formen.

## PatronPhoneNumbersWithoutVerified

`array of PatronPhoneNumberWithoutVerified`

The size of this array must not exceed (if specified) the ´maxNumberOfPhoneNumbers´ value given in the configuration.

Ingen felter i specifikationen — se skema-indekset for formen.

## PatronPhoneNumberWithoutVerified

`object`

- `default` (`boolean`, påkrævet) — At most one phone number can be marked as default.
- `number` (`string`, påkrævet) — The phone number, in ITU standard E.164 format.
- `type` (`string enum`, påkrævet) — `mobile` · `landline` — This tells which type of phone the number is associated with

## PatronPin

`string`

Pin code for identifier.

PLAS does not state a format. The length and the character set are decided by the provider, and a
pin code the provider will not accept is rejected with error code 100011.


Ingen felter i specifikationen — se skema-indekset for formen.

## PatronRegistrationByCodeAndCodeVerifierResponseBody

`object`

- `message` (`string`, valgfri) — Message to the patron, with information about the registration process.
- `patronId` (`string`, valgfri) — If status is 'done' this should be set, else the user needs to log in again.
- `status` (`string enum`, påkrævet) — `done` · `in_progress` · `contact_the_library` — This describes the state of the registration process.

## PatronRegistrationIdentifierRequestBody

`object`

- `consents` ([`array of CallbackConsent`](https://plasapi.com/da/provider/v0.6.7/schemas/#CallbackConsent), valgfri) — It is the client's responsibility to ensure that the consent associated with this parameter is accepted by the patron before this request is made.

- `identifier` ([`PatronIdentifierTypeAndValue`](https://plasapi.com/da/provider/v0.6.7/schemas/#PatronIdentifierTypeAndValue), påkrævet)
- `password` ([`PatronPassword`](https://plasapi.com/da/provider/v0.6.7/schemas/#PatronPassword), påkrævet)
- `pickupLocation` ([`PickupLocationWithoutNames`](https://plasapi.com/da/provider/v0.6.7/schemas/#PickupLocationWithoutNames), påkrævet)
- `registry` (`string`, valgfri) — If against `GET /patron/registration/possible`, it has been checked that a patron can be registered, the
registry can be added here, else it is up to the provider to choose.


## PatronRegistrationIdentifierResponseBody

`object`

- `message` (`string`, valgfri) — Message to the patron, with information about the registration process.
- `patronId` (`string`, valgfri) — If status is 'done' this should be set, else the user needs to log in again.
- `status` (`string enum`, påkrævet) — `done` · `in_progress` · `contact_the_library` — This describes the state of the registration process.

## PatronRegistrationIdentityProviderResponseBody

`object`

- `message` (`string`, valgfri) — Message to the patron, with information about the registration process.
- `patronId` (`string`, valgfri) — If status is 'done' this should be set, else the user needs to log in again.
- `status` (`string enum`, påkrævet) — `done` · `in_progress` · `contact_the_library` — This describes the state of the registration process.

## PatronRegistryType

`any of PatronRegistryTypeEnum | PatronRegistryTypeLiteral`

Identifies the registry which a new patron can be registered through.

This is an open enum, so values other than the known ones are allowed. A registry is where the
patron would be registered, and not the kind of identifier they gave, even where a registry and a
PatronIdentifierType share a name.


Ingen felter i specifikationen — se skema-indekset for formen.

## PatronRegistryTypeEnum

`string enum`
`norway_national_library_card`

The known registries.

- `norway_national_library_card` the Norwegian national library card registry.


Ingen felter i specifikationen — se skema-indekset for formen.

## PatronRegistryTypeLiteral

`string`

Ingen felter i specifikationen — se skema-indekset for formen.

## PatronReservation

`object`

- `createdTime` ([`ReservationCreatedTime`](https://plasapi.com/da/provider/v0.6.7/schemas/#ReservationCreatedTime), påkrævet)
- `expirationDate` ([`ReservationExpirationDate`](https://plasapi.com/da/provider/v0.6.7/schemas/#ReservationExpirationDate), valgfri)
- `fulfillmentBy` ([`PatronReservationFulfillmentBy`](https://plasapi.com/da/provider/v0.6.7/schemas/#PatronReservationFulfillmentBy), valgfri)
- `id` ([`ReservationId`](https://plasapi.com/da/provider/v0.6.7/schemas/#ReservationId), påkrævet)
- `itemId` ([`ReservationItemId`](https://plasapi.com/da/provider/v0.6.7/schemas/#ReservationItemId), valgfri)
- `pickup` (`object`, påkrævet)
- `publicationId` ([`ReservationPublicationId`](https://plasapi.com/da/provider/v0.6.7/schemas/#ReservationPublicationId), påkrævet)
- `publicationMetadata` ([`PublicationFallback`](https://plasapi.com/da/provider/v0.6.7/schemas/#PublicationFallback), valgfri)
- `queueNumber` ([`ReservationQueueNumber`](https://plasapi.com/da/provider/v0.6.7/schemas/#ReservationQueueNumber), valgfri)
- `state` ([`ReservationState`](https://plasapi.com/da/provider/v0.6.7/schemas/#ReservationState), påkrævet)

## PatronReservationFulfillmentBy

`one of PatronReservationFulfillmentByTypeLocalCirculation | PatronReservationFulfillmentByTypeInterlibraryLoan | PatronReservationFulfillmentByTypePurchase | PatronReservationFulfillmentByTypeUnknown`

This tells from where the material that are expected to fulfill this reservation will be acquired from.
If this field are missing, the default value **local_circulation** should be assumed. 
* **local_circulation**: (default) Meaning that this reservation will be fulfilling from the customers own inventory.
* **interlibrary_loan**: Meaning that this reservation will be fulfilled as a interlibrary loan.
* **purchase**: Meaning that reservation can not be fulfilled right away, but a request to purchase the material has been submitted.
* **unknown**: Meaning that this information is unknown.


Ingen felter i specifikationen — se skema-indekset for formen.

## PatronReservationFulfillmentByTypeInterlibraryLoan

`object`

- `type` (`string enum`, påkrævet) — `interlibrary_loan`

## PatronReservationFulfillmentByTypeLocalCirculation

`object`

- `type` (`string enum`, påkrævet) — `local_circulation`

## PatronReservationFulfillmentByTypePurchase

`object`

- `type` (`string enum`, påkrævet) — `purchase`

## PatronReservationFulfillmentByTypeUnknown

`object`

- `type` (`string enum`, påkrævet) — `unknown`

## PatronReservationResponseBody

`object`

- `reservations` ([`array of PatronReservation`](https://plasapi.com/da/provider/v0.6.7/schemas/#PatronReservation), påkrævet)

## PatronSurname

`string`

Patron surname.

Ingen felter i specifikationen — se skema-indekset for formen.

## PickupLocation

`object`

The object tells a location where a reservation item can be picked up.
The `sections` is for specifying the location more precisely.

The branch name and section names are included in the response to make it easier to display the location. They are the same values as from the /locations endpoint.


- `branchId` (`string`, påkrævet) — The branch ID where a reservation should be picked up.
- `branchName` (`string`, påkrævet) — This is the name of the branch.
- `sections` ([`array of LocationSectionElementWithIdNameAndType`](https://plasapi.com/da/provider/v0.6.7/schemas/#LocationSectionElementWithIdNameAndType), valgfri) — This are specifying the location more precisely.

## PickupLocationWithoutNames

`object`

The object tells a location where a reservation item can be pickup.  
The `section` is for specifying the location more exactly.


- `branchId` (`string`, påkrævet) — The branch ID where a reservation should be picked up.
- `sections` ([`array of LocationSectionElementWithIdAndType`](https://plasapi.com/da/provider/v0.6.7/schemas/#LocationSectionElementWithIdAndType), valgfri) — This are specifying the location more precisely.

## Promoted

`object`

- `endTime` (`string (date-time)`, valgfri) — End time in RFC3339 _date-time_ format.
- `startTime` (`string (date-time)`, valgfri) — Start time in RFC3339 _date-time_ format.
- `type` ([`PromotedType`](https://plasapi.com/da/provider/v0.6.7/schemas/#PromotedType), påkrævet)

## PromotedType

`any of PromotedTypeEnum | PromotedTypeLiteral`

Ingen felter i specifikationen — se skema-indekset for formen.

## PromotedTypeEnum

`string enum`
`promoted`

Pre-defined promotion states that we can "switch" on.

Ingen felter i specifikationen — se skema-indekset for formen.

## PromotedTypeLiteral

`string`

Literal promotion states that are unknown beforehand.

Ingen felter i specifikationen — se skema-indekset for formen.

## Publication

`object`

- `additionalIdentifiers` ([`PublicationAdditionalIdentifiers`](https://plasapi.com/da/provider/v0.6.7/schemas/#PublicationAdditionalIdentifiers), valgfri)
- `binding` ([`Binding`](https://plasapi.com/da/provider/v0.6.7/schemas/#Binding), valgfri)
- `contributors` ([`PublicationContributors`](https://plasapi.com/da/provider/v0.6.7/schemas/#PublicationContributors), valgfri)
- `creators` ([`PublicationCreators`](https://plasapi.com/da/provider/v0.6.7/schemas/#PublicationCreators), valgfri)
- `edition` ([`Edition`](https://plasapi.com/da/provider/v0.6.7/schemas/#Edition), valgfri)
- `extent` ([`PublicationExtent`](https://plasapi.com/da/provider/v0.6.7/schemas/#PublicationExtent), valgfri)
- `identifier` ([`PublicationIdentifier`](https://plasapi.com/da/provider/v0.6.7/schemas/#PublicationIdentifier), påkrævet)
- `images` ([`PublicationImages`](https://plasapi.com/da/provider/v0.6.7/schemas/#PublicationImages), valgfri)
- `language` ([`PublicationLanguage`](https://plasapi.com/da/provider/v0.6.7/schemas/#PublicationLanguage), valgfri)
- `mediaTypes` ([`PublicationMediaTypes`](https://plasapi.com/da/provider/v0.6.7/schemas/#PublicationMediaTypes), valgfri)
- `publicationDate` ([`Date`](https://plasapi.com/da/provider/v0.6.7/schemas/#Date), valgfri) — Date of publication.
- `publishers` ([`array of PublisherAndPlaces`](https://plasapi.com/da/provider/v0.6.7/schemas/#PublisherAndPlaces), valgfri) — List of publishers and associated place(s) of publication.
- `titles` ([`PublicationTitles`](https://plasapi.com/da/provider/v0.6.7/schemas/#PublicationTitles), påkrævet)
- `works` ([`array of PublicationWork`](https://plasapi.com/da/provider/v0.6.7/schemas/#PublicationWork), påkrævet)

## PublicationAdditionalIdentifiers

`array of AdditionalIdentifier`

Other identifiers, like: ISBN, ISSN, ...


Ingen felter i specifikationen — se skema-indekset for formen.

## PublicationContributors

`array of Contributor`

The contributor(s) to the publication.

Ingen felter i specifikationen — se skema-indekset for formen.

## PublicationCreators

`array of Contributor`

The creator(s) of the publication.

Ingen felter i specifikationen — se skema-indekset for formen.

## PublicationExtent

`array of Extent`

Together all the Extents in the array describes the total extent of the publication.

Ingen felter i specifikationen — se skema-indekset for formen.

## PublicationFallback

`Publication`

This metadata is only intended as fallback data, for when the provider is not able to serve the metadata through the GET /publication endpoint. 

This can for some provider be the case when working with e.g. interlibrary loans.


Ingen felter i specifikationen — se skema-indekset for formen.

## PublicationIdentifier

`string`

Publication identifier. This is searchable through the GET /publication endpoint.

Ingen felter i specifikationen — se skema-indekset for formen.

## PublicationImages

`array of ImagePublication`

Images to use with the publication.

Ingen felter i specifikationen — se skema-indekset for formen.

## PublicationLanguage

`array of Language`

This is the language(s) of the this publication. If the publication uses multi languages this will also contain them.

Ingen felter i specifikationen — se skema-indekset for formen.

## PublicationMediaTypes

`array of MediaType`

Ingen felter i specifikationen — se skema-indekset for formen.

## PublicationTitles

`array of Title`

Title of the publication.

Ingen felter i specifikationen — se skema-indekset for formen.

## PublicationWork

`object`

- `identifier` ([`PublicationWorkIdentifier`](https://plasapi.com/da/provider/v0.6.7/schemas/#PublicationWorkIdentifier), påkrævet)
- `relation` ([`PublicationWorkRelation`](https://plasapi.com/da/provider/v0.6.7/schemas/#PublicationWorkRelation), valgfri)

## PublicationWorkIdentifier

`string`

Work identifier of this publication. This is searchable through the GET /work endpoint.

Ingen felter i specifikationen — se skema-indekset for formen.

## PublicationWorkRelation

`string enum`
`contains` · `embodies`

Describes the publications relation to a work.  
- contains: The publication contains this work, meaning the work is part of the publication.  
- embodies: The publication embodies this work, meaning the publication is the entire work.


Ingen felter i specifikationen — se skema-indekset for formen.

## Publisher

`object`

- `id` (`string`, valgfri) — The unique identifier of the publisher. It can be used to search for the other entries by the publisher
- `name` (`string`, påkrævet) — The publisher's name.

## PublisherAndPlaces

`object`

- `places` ([`array of PublisherPlace`](https://plasapi.com/da/provider/v0.6.7/schemas/#PublisherPlace), valgfri) — Place of publication. Usually one place, but can be multiple.
- `publisher` ([`Publisher`](https://plasapi.com/da/provider/v0.6.7/schemas/#Publisher), påkrævet)

## PublisherPlace

`object`

- `place` (`string`, påkrævet)

## QueryRelevantWorks

`object`

Relevant works specified as a query string

- `query` (`string`, påkrævet) — Query string to find relevant works
- `type` (`string enum`, påkrævet) — `query` — Type of relevant works - query string

## RegisterEventReceiverRequestBody

`object`

- `secret` (`string`, påkrævet) — This cannot be empty. It should be randomly generated, and should be used to validate the Provider in the Vendor API.
- `url` (`string`, påkrævet) — The empty string will unregister an existing receiver for the vendor.


## RegisterPatronByCodeAndCodeVerifierRequestBody

`object`

- `code` (`string`, påkrævet) — The code obtained from a SSO patron registration.
- `code_verifier` (`string`, påkrævet) — The code verifier used to create the code challenge used to obtain the code.
- `consents` ([`array of CallbackConsent`](https://plasapi.com/da/provider/v0.6.7/schemas/#CallbackConsent), valgfri) — Consents returned from the SSO callback (GET /callbacks/patron).
It is the client's responsibility to ensure that the consent associated with this parameter is accepted by the patron before this request is made.

- `identity_provider` ([`ConfigurationPatronIdentityProviderType`](https://plasapi.com/da/provider/v0.6.7/schemas/#ConfigurationPatronIdentityProviderType), påkrævet)
- `pickupLocation` ([`PickupLocationWithoutNames`](https://plasapi.com/da/provider/v0.6.7/schemas/#PickupLocationWithoutNames), påkrævet)

## RegistrationAdmission

`object`

Registration-based admission with contact information

- `contactInfo` ([`ContactInfo`](https://plasapi.com/da/provider/v0.6.7/schemas/#ContactInfo), påkrævet)
- `state` ([`TicketState`](https://plasapi.com/da/provider/v0.6.7/schemas/#TicketState), påkrævet) — State of the registration
- `type` (`string enum`, påkrævet) — `registration` — Type of admission - registration required

## RelatedEvents

`array of string`

Related events

Ingen felter i specifikationen — se skema-indekset for formen.

## RelevantWorks

`one of WorksRelevantWorks | QueryRelevantWorks`

Books or other works relevant to the event

Ingen felter i specifikationen — se skema-indekset for formen.

## RenewPatronLoanFailure

`object`

If the renewal failed, status should be set to the reason for the failure.

- `status` (`string enum`, påkrævet) — `denied` · `too_many_renewals` · `user_blocked` · `renewal_blocked_by_fees` · `reservation_blocked_renewal` — There are many possible failure states a renewal attempt can have.

## RenewPatronLoanResponseBody

`one of RenewPatronLoanSuccess | RenewPatronLoanFailure`

Ingen felter i specifikationen — se skema-indekset for formen.

## RenewPatronLoanSuccess

`object`

If the renewal went well, status should be set to `success`, and loan should be set to the renewed loan.

- `loan` ([`PatronLoan`](https://plasapi.com/da/provider/v0.6.7/schemas/#PatronLoan), påkrævet)
- `status` (`string enum`, påkrævet) — `success`

## ReservationCreatedTime

`string (date-time)`

The date and time the reservation was created.

Ingen felter i specifikationen — se skema-indekset for formen.

## ReservationExpirationDate

`string (date)`

The date when the reservation expires. If this is missing, the value is unknown.

Ingen felter i specifikationen — se skema-indekset for formen.

## ReservationId

`string`

This is the reservation ID.

Ingen felter i specifikationen — se skema-indekset for formen.

## ReservationItemId

`string`

This is the item identifier that actually fulfills the reservation. This can often only be set when the reservation is ready for pickup. If the reservation is on item level, it can be set earlier.

Ingen felter i specifikationen — se skema-indekset for formen.

## ReservationPickupExpirationDate

`string (date)`

The date for the last chance to pick up the reservation. If this is missing, the value is unknown.

Ingen felter i specifikationen — se skema-indekset for formen.

## ReservationPickupNote

`string`

This is the note that is used to tell the patron where to get the reservation.  
E.g. 
- a shelf number, e.g. "Shelf 9".
- an instruction, e.g. "Front desk"
- an identifier, e.g. "10/114"


Ingen felter i specifikationen — se skema-indekset for formen.

## ReservationPublicationId

`string`

This is the publication ID of the reservation. If this is empty, the publication is unknown.

Ingen felter i specifikationen — se skema-indekset for formen.

## ReservationQueueNumber

`integer`

The queue number tells what number in the queue the patron is. If this is missing, it represents that the queue number is unknown.

Ingen felter i specifikationen — se skema-indekset for formen.

## ReservationState

`string enum`
`ready_for_pickup` · `in_queue` · `postponed`

This represents where in the acquiring process this reservation is.

Ingen felter i specifikationen — se skema-indekset for formen.

## ReserveId

`string`

This is the ID used to make a reservation.

Ingen felter i specifikationen — se skema-indekset for formen.

## ResetPatronCredentialRequestBody

`object`

- `credential` (`all of PatronCredentialType + unknown`, valgfri)
- `email` (`string`, påkrævet) — The email address, following RFC 5322, that the reset link should be sent to.

This selects which of the patron's already registered email addresses to use. The provider
must only send the reset link if this email address is already attached to the patron
identified by `identifier` and verified there, and must never send to an address that is
not. If it is not attached, or attached but not verified, nothing must be sent, and the
response is unchanged.

- `identifier` ([`PatronIdentifierTypeAndValue`](https://plasapi.com/da/provider/v0.6.7/schemas/#PatronIdentifierTypeAndValue), påkrævet)

## RevokeTokenRequestBody

`all of OAuthClientIdAndSecret + OAuthToken`

This is for revoking a token, when using OAuth grant_type *client_credentials*.

Ingen felter i specifikationen — se skema-indekset for formen.

## SearchAgentsResponseBody

`object`

- `results` ([`array of Agent`](https://plasapi.com/da/provider/v0.6.7/schemas/#Agent), påkrævet)
- `total` (`integer`, påkrævet) — The total number of results in the whole search result.

## SearchFacetType

`any of SearchFacetTypeEnum | SearchFacetTypeLiteral`

Facet type, this is the value given to the search facet parameter.

The SearchFacetType should always exists in SearchFilterType


Ingen felter i specifikationen — se skema-indekset for formen.

## SearchFacetTypeEnum

`string enum`
`plas.audience.literal` · `plas.audience.ageRange` · `plas.audience.ageGroup` · `plas.mediaTypes` · `plas.language` · `plas.subjects` · `plas.genres` · `plas.forms`

Ingen felter i specifikationen — se skema-indekset for formen.

## SearchFacetTypeLiteral

`string`

Ingen felter i specifikationen — se skema-indekset for formen.

## SearchFilterType

`any of SearchFilterTypeEnum | SearchFilterTypeLiteral`

Filter type, this is the value given to the search `filter` parameter.

Ingen felter i specifikationen — se skema-indekset for formen.

## SearchFilterTypeEnum

`string enum`
`plas.audience.literal` · `plas.audience.ageRange` · `plas.audience.ageGroup` · `plas.mediaTypes` · `plas.language` · `plas.subjects` · `plas.genres` · `plas.forms`

Ingen felter i specifikationen — se skema-indekset for formen.

## SearchFilterTypeLiteral

`string`

Ingen felter i specifikationen — se skema-indekset for formen.

## SearchResultEntry

`object`

This search entry, represents one entry in a search result.

It's partial build with data from a work, with additional data from the works underlying publications.


- `work` ([`SearchResultEntryWork`](https://plasapi.com/da/provider/v0.6.7/schemas/#SearchResultEntryWork), påkrævet)

## SearchResultEntryPublication

`object`

- `identifier` ([`PublicationIdentifier`](https://plasapi.com/da/provider/v0.6.7/schemas/#PublicationIdentifier), påkrævet)
- `language` ([`PublicationLanguage`](https://plasapi.com/da/provider/v0.6.7/schemas/#PublicationLanguage), valgfri)
- `mediaTypes` ([`PublicationMediaTypes`](https://plasapi.com/da/provider/v0.6.7/schemas/#PublicationMediaTypes), valgfri)

## SearchResultEntryWork

`object`

- `creationDate` ([`Date`](https://plasapi.com/da/provider/v0.6.7/schemas/#Date), valgfri)
- `creators` ([`WorkCreators`](https://plasapi.com/da/provider/v0.6.7/schemas/#WorkCreators), valgfri)
- `forms` ([`WorkForms`](https://plasapi.com/da/provider/v0.6.7/schemas/#WorkForms), valgfri)
- `identifier` ([`WorkIdentifier`](https://plasapi.com/da/provider/v0.6.7/schemas/#WorkIdentifier), påkrævet)
- `images` ([`array of ImagePublication`](https://plasapi.com/da/provider/v0.6.7/schemas/#ImagePublication), valgfri) — Images to use with the work.
- `publications` ([`array of SearchResultEntryPublication`](https://plasapi.com/da/provider/v0.6.7/schemas/#SearchResultEntryPublication), påkrævet) — This contain only the underlying publications from the work, that matches the search criteria.
- `titles` ([`WorkTitles`](https://plasapi.com/da/provider/v0.6.7/schemas/#WorkTitles), påkrævet)

## SearchSortingType

`any of SearchSortingTypeEnum | SearchSortingTypeLiteral`

Sorting type, this is the value given to the search facet parameter.

The default sorting is `plas.relevance.desc`.


Ingen felter i specifikationen — se skema-indekset for formen.

## SearchSortingTypeEnum

`string enum`
`plas.relevance.asc` · `plas.relevance.desc` · `plas.titles.asc` · `plas.titles.desc` · `plas.publicationDate.asc` · `plas.publicationDate.desc`

Ingen felter i specifikationen — se skema-indekset for formen.

## SearchSortingTypeLiteral

`string`

Ingen felter i specifikationen — se skema-indekset for formen.

## SearchWorksResponseBody

`object`

- `endOfResults` (`boolean`, påkrævet) — If this is false, we haven't reached the end of the search result yet, if it's false we have, and if it's missing or null we don't know.
- `facets` ([`array of Facet`](https://plasapi.com/da/provider/v0.6.7/schemas/#Facet), valgfri) — This array contains the requested facets, and their terms. Each facet type should only appear once in the array.
- `results` ([`array of SearchResultEntry`](https://plasapi.com/da/provider/v0.6.7/schemas/#SearchResultEntry), påkrævet) — It's important to be aware that, the result size doesn't always match the given page size, the result set can be both small and greater.
- `total` (`integer`, valgfri) — The total number of results in the whole search result.

## Subject

`object`

- `id` (`string`, valgfri) — A id that (if set) can be used with the filter `plas.subjects` to search on this subject.
- `label` (`string`, påkrævet) — A displayable (human readable) value of the subject.

## Suggestion

`one of SuggestionTypeQuery | SuggestionTypeContributor | SuggestionTypeWork | SuggestionTypeSubject`

Ingen felter i specifikationen — se skema-indekset for formen.

## SuggestionAgent

`one of SuggestionAgentTypePerson | SuggestionAgentTypeCollective`

Ingen felter i specifikationen — se skema-indekset for formen.

## SuggestionAgentTypeCollective

`all of BaseSuggestionAgent + object`

Ingen felter i specifikationen — se skema-indekset for formen.

## SuggestionAgentTypePerson

`all of BaseSuggestionAgent + object`

Ingen felter i specifikationen — se skema-indekset for formen.

## SuggestionParameterTypeEnum

`string enum`
`query` · `contributor` · `work` · `subject`

Ingen felter i specifikationen — se skema-indekset for formen.

## SuggestionsFilterType

`any of SuggestionsFilterTypeEnum | SuggestionsFilterTypeLiteral`

Filter type, this is the value given to the suggestions `filter` parameter.

Ingen felter i specifikationen — se skema-indekset for formen.

## SuggestionsFilterTypeEnum

`string enum`
`plas.audience.literal` · `plas.audience.ageRange` · `plas.audience.ageGroup` · `plas.mediaTypes` · `plas.language` · `plas.subjects` · `plas.genres` · `plas.forms`

Ingen felter i specifikationen — se skema-indekset for formen.

## SuggestionsFilterTypeLiteral

`string`

Ingen felter i specifikationen — se skema-indekset for formen.

## SuggestionTypeContributor

`object`

- `contributor` (`object`, påkrævet)
- `type` (`string enum`, påkrævet) — `contributor`

## SuggestionTypeQuery

`object`

- `query` (`string`, påkrævet)
- `type` (`string enum`, påkrævet) — `query`

## SuggestionTypeSubject

`object`

- `subject` ([`Subject`](https://plasapi.com/da/provider/v0.6.7/schemas/#Subject), påkrævet)
- `type` (`string enum`, påkrævet) — `subject`

## SuggestionTypeWork

`object`

- `type` (`string enum`, påkrævet) — `work`
- `work` (`object`, påkrævet)

## TicketAdmission

`object`

Ticket-based admission with pricing and capacity

- `contactInfo` ([`ContactInfo`](https://plasapi.com/da/provider/v0.6.7/schemas/#ContactInfo), påkrævet)
- `pricing` ([`EventPricing`](https://plasapi.com/da/provider/v0.6.7/schemas/#EventPricing), påkrævet)
- `state` ([`TicketState`](https://plasapi.com/da/provider/v0.6.7/schemas/#TicketState), påkrævet) — State of the ticket sale
- `ticketCapacity` (`string`, valgfri) — Total number of tickets which can be sold for the event. E.g. "100" or "unlimited"
- `type` (`string enum`, påkrævet) — `ticket` — Type of admission - ticket required

## TicketState

`string enum`
`ticket_sale_not_open` · `ticket_sale_open` · `almost_sold_out` · `sold_out`

State of ticket sales or registration

Ingen felter i specifikationen — se skema-indekset for formen.

## TimeSpanScheduling

`object`

Time-span event scheduling information

- `endTime` (`string (date-time)`, påkrævet) — End time in RFC3339 _date-time_ format.
- `startTime` (`string (date-time)`, påkrævet) — Start time in RFC3339 _date-time_ format.
- `type` (`string enum`, påkrævet) — `time_span` — Type of scheduling for time-span events

## Title

`one of TitleTypePreferred | TitleTypeVariant | TitleTypeParallel | TitleTypeOriginal`

Ingen felter i specifikationen — se skema-indekset for formen.

## TitleTypeOriginal

`all of BasicTitle + object`

Ingen felter i specifikationen — se skema-indekset for formen.

## TitleTypeParallel

`all of BasicTitle + object`

Ingen felter i specifikationen — se skema-indekset for formen.

## TitleTypePreferred

`all of BasicTitle + object`

Ingen felter i specifikationen — se skema-indekset for formen.

## TitleTypeVariant

`all of BasicTitle + object`

Ingen felter i specifikationen — se skema-indekset for formen.

## UpdatePatronConsentRequestBody

`object`

- `consents` ([`PatronEvaluatedConsents`](https://plasapi.com/da/provider/v0.6.7/schemas/#PatronEvaluatedConsents), påkrævet)

## UpdatePatronConsentResponseBody

`object`

- `available` (`array of object`, påkrævet) — The array must only contain one consent of each type.
- `evaluated` ([`PatronEvaluatedConsents`](https://plasapi.com/da/provider/v0.6.7/schemas/#PatronEvaluatedConsents), påkrævet)

## UpdatePatronInformationRequestAcceptedResponseBody

`object`

- `ticket` (`string`, påkrævet) — Can be used for debugging.

## UpdatePatronInformationRequestBody

`object`

- `address` ([`PatronAddress`](https://plasapi.com/da/provider/v0.6.7/schemas/#PatronAddress), valgfri)
- `emails` ([`PatronEmailsWithoutVerified`](https://plasapi.com/da/provider/v0.6.7/schemas/#PatronEmailsWithoutVerified), valgfri)
- `phoneNumbers` ([`PatronPhoneNumbersWithoutVerified`](https://plasapi.com/da/provider/v0.6.7/schemas/#PatronPhoneNumbersWithoutVerified), valgfri)
- `pickupLocation` ([`PickupLocationWithoutNames`](https://plasapi.com/da/provider/v0.6.7/schemas/#PickupLocationWithoutNames), valgfri)
- `reservation` ([`PatronInfoReservation`](https://plasapi.com/da/provider/v0.6.7/schemas/#PatronInfoReservation), valgfri)

## UpdatePatronInformationResponseBody

`object`

- `patron` ([`Patron`](https://plasapi.com/da/provider/v0.6.7/schemas/#Patron), påkrævet)

## UpdatePatronListRequestBody

`object`

- `name` (`string`, påkrævet) — The new name of the list.

## UpdatePatronNotificationSetting

`object`

- `chosen` ([`PatronNotificationDeliveryChosen`](https://plasapi.com/da/provider/v0.6.7/schemas/#PatronNotificationDeliveryChosen), påkrævet)
- `type` ([`PatronNotificationType`](https://plasapi.com/da/provider/v0.6.7/schemas/#PatronNotificationType), påkrævet)

## UpdatePatronNotificationSettingsRequestBody

`object`

- `notificationSettings` ([`array of UpdatePatronNotificationSetting`](https://plasapi.com/da/provider/v0.6.7/schemas/#UpdatePatronNotificationSetting), påkrævet)

## UpdatePatronNotificationSettingsResponseBody

`object`

- `notificationSettings` ([`PatronNotificationSettings`](https://plasapi.com/da/provider/v0.6.7/schemas/#PatronNotificationSettings), påkrævet)

## UpdatePatronReservationRequestBody

`object`

- `pickupLocation` ([`PickupLocationWithoutNames`](https://plasapi.com/da/provider/v0.6.7/schemas/#PickupLocationWithoutNames), påkrævet)

## UpdatePatronReservationResponseBody

`object`

- `reservation` ([`PatronReservation`](https://plasapi.com/da/provider/v0.6.7/schemas/#PatronReservation), påkrævet)

## Version

`string`

Open Library API version.

Ingen felter i specifikationen — se skema-indekset for formen.

## Work

`object`

- `audience` ([`WorkAudience`](https://plasapi.com/da/provider/v0.6.7/schemas/#WorkAudience), valgfri)
- `classification` ([`WorkClassification`](https://plasapi.com/da/provider/v0.6.7/schemas/#WorkClassification), valgfri)
- `contributors` ([`WorkContributors`](https://plasapi.com/da/provider/v0.6.7/schemas/#WorkContributors), valgfri)
- `creationDate` ([`Date`](https://plasapi.com/da/provider/v0.6.7/schemas/#Date), valgfri)
- `creators` ([`WorkCreators`](https://plasapi.com/da/provider/v0.6.7/schemas/#WorkCreators), valgfri)
- `description` ([`WorkDescription`](https://plasapi.com/da/provider/v0.6.7/schemas/#WorkDescription), valgfri)
- `forms` ([`WorkForms`](https://plasapi.com/da/provider/v0.6.7/schemas/#WorkForms), valgfri)
- `genres` ([`WorkGenres`](https://plasapi.com/da/provider/v0.6.7/schemas/#WorkGenres), valgfri)
- `identifier` ([`WorkIdentifier`](https://plasapi.com/da/provider/v0.6.7/schemas/#WorkIdentifier), påkrævet)
- `images` ([`WorkImages`](https://plasapi.com/da/provider/v0.6.7/schemas/#WorkImages), valgfri)
- `language` ([`WorkLanguage`](https://plasapi.com/da/provider/v0.6.7/schemas/#WorkLanguage), valgfri)
- `publicationIds` ([`WorkPublicationIds`](https://plasapi.com/da/provider/v0.6.7/schemas/#WorkPublicationIds), valgfri)
- `subjects` ([`WorkSubjects`](https://plasapi.com/da/provider/v0.6.7/schemas/#WorkSubjects), valgfri)
- `titles` ([`WorkTitles`](https://plasapi.com/da/provider/v0.6.7/schemas/#WorkTitles), påkrævet)

## WorkAudience

`array of Audience`

Intended audience, target audience or intellectual level of the work.

Ingen felter i specifikationen — se skema-indekset for formen.

## WorkClassification

`array of Classification`

Classification of the work.

Ingen felter i specifikationen — se skema-indekset for formen.

## WorkContributors

`array of Contributor`

The contributor(s) to the work.

Ingen felter i specifikationen — se skema-indekset for formen.

## WorkCreators

`array of Contributor`

The creator(s) of the work.

Ingen felter i specifikationen — se skema-indekset for formen.

## WorkDescription

`array of Description`

Help readers understand what the work is about and whether they might be interested in lending/reserving it.

Ingen felter i specifikationen — se skema-indekset for formen.

## WorkForms

`array of Form`

Form is a more specific type of metadata that describes the physical structure or organization of a work.

Ingen felter i specifikationen — se skema-indekset for formen.

## WorkGenres

`array of Genre`

Genre is a broad category of works that share similar characteristics, such as style, tone, or subject matter.

Ingen felter i specifikationen — se skema-indekset for formen.

## WorkIdentifier

`string`

Work identifier. This is searchable through the GET /work endpoint.

Ingen felter i specifikationen — se skema-indekset for formen.

## WorkImages

`array of ImagePublication`

Images to use with the work.

Ingen felter i specifikationen — se skema-indekset for formen.

## WorkLanguage

`array of Language`

This is the original language of the work. If the original version of the work uses multi languages this will also contain them.

Ingen felter i specifikationen — se skema-indekset for formen.

## WorkPublicationIds

`array of string`

All publication identifiers from the works underlying publications. These are searchable through the GET /publication endpoint.

Ingen felter i specifikationen — se skema-indekset for formen.

## WorksRelevantWorks

`object`

Relevant works specified as an array of work IDs

- `type` (`string enum`, påkrævet) — `works` — Type of relevant works - array of work ids
- `workIds` (`array of string`, påkrævet) — Array of works

## WorkSubjects

`array of Subject`

Subject is a topic or theme that is covered in a work.

Ingen felter i specifikationen — se skema-indekset for formen.

## WorkTitles

`array of Title`

Title of the work.

Ingen felter i specifikationen — se skema-indekset for formen.
