# Konfiguration des Bestellschalters

Der Bestellschalter unterstützt verschiedene Bestellprozesse. Diese werden aktuell von histify bei der Installation aktiviert und konfiguriert.

# Besuch im physischen Lesesaal

Für einen Besuch im Lesesaal können mögliche Besuchstermine für den Nutzer konfiguriert werden.

Die Regeln für die Besuchstermine setzen sich wie folgt zusammen:

  • Öffnungszeiten: Der Lesesaal muss grundsätzlich geöffnet sein.
  • Schliesstage: An Feiertagen bleibt der Lesesaal geschlossen.
  • Aushebung: Der Besuchstag muss einige Tage im Voraus liegen, damit die Archivalien bereitgestellt werden können.
  • Maximale Terminfrist: Der Termin darf höchstens 90 Tage in der Zukunft liegen.

Diese Regeln können in der Konfigurationsoberfläche verwaltet werden:

Agora external basics

Einige Regeln werden mit Recurrence Rules (opens new window) definiert, um wiederkehrende Muster abzubilden. Siehe auch: Tool zum Testen von rrules (opens new window).

Nachfolgend ist eine Beispielkonfiguration dargestellt, die verschiedene Optionen abdeckt:

orders:
  # Feiertage
  holidays:
    - "2024-10-14"
    - "2024-10-15"

  # Öffnungszeiten des Lesesaals
  opening_dates:
    rules:
      # Lesesaal normalerweise von Dienstag bis Freitag geöffnet:
      - RRULE:FREQ=DAILY;BYDAY=TU,WE,TH,FR
      # Zusätzlich jeden ersten Samstag im Monat:
      - RRULE:FREQ=MONTHLY;BYDAY=SA;BYSETPOS=1
    exclude_rules:
      # Jeden ersten Freitag im Monat geschlossen:
      - RRULE:FREQ=MONTHLY;BYDAY=FR;BYSETPOS=1
  opening_hours:
    - "09:00-12:00"
    - "13:00-16:00"

  # Aushebungszeiten
  order_retrieval:
    default:
      # Aushebung benötigt 1 Arbeitstag:
      rule: RRULE:FREQ=DAILY;BYDAY=MO,TU,WE,TH,FR;COUNT=1
    matchers:
      # Aushebung von Standorten mit "A*" nur freitags:
      - location_regex: "^A"
        rule: RRULE:FREQ=DAILY;BYDAY=FR;COUNT=1
      # Aushebung von Standorten mit "Q*" und "R*" dauert 3 Arbeitstage:
      - location_regex: "^[QR]"
        rule: RRULE:FREQ=DAILY;BYDAY=MO,TU,WE,TH,FR;COUNT=3
      # Aushebung mit den Aushebungsinformationen "Aussendepot" dauert 4 Arbeitstage:
      - retrieval_info_regex: "^Aussendepot"
        rule: RRULE:FREQ=DAILY;BYDAY=MO,TU,WE,TH,FR;COUNT=4

# Felder der Bestellprozesse

Unter orders.processes wird festgelegt, welche Felder in den einzelnen Bestellprozessen angezeigt werden. Konfigurierbar sind die Prozesse reproduction, physical und lending.

Jedes Feld kennt die Option enabled. Ist ein Feld deaktiviert, wird es im Bestellschalter ausgeblendet. Wird ein Feld nicht aufgeführt, bleibt der Standardwert bestehen.

Folgende Felder stehen zur Verfügung:

Feld Standard Beschreibung
quality nur reproduction aktiv Auswahl der Reproduktionsqualität
shipment nur reproduction aktiv Zustellart, siehe unten
attachments deaktiviert Hochladen von Dateianhängen zur Bestellung, in allen drei Prozessen möglich
invoice_address nur reproduction aktiv Rechnungsadresse im Bestellschalter
price nur reproduction aktiv Preisfeld in der Bestellverwaltung
copies_present nur reproduction aktiv Anzahl vorhandener Scans
copies_new nur reproduction aktiv Anzahl neu angefertigter Scans
lending_organization nur lending aktiv Typus der ausleihenden Organisationseinheit, mit eigenen Auswahlwerten

# Zustellart

Die Auswahlwerte des Feldes shipment werden vollständig in der Konfiguration festgelegt. Jeder Wert besteht aus einem technischen value, einem mehrsprachigen label und der Angabe requires_postal_address.

Ist requires_postal_address auf true gesetzt, verlangt der Bestellschalter für diesen Auswahlwert eine Lieferadresse und der Server weist die Bestellung ohne vollständige Adresse ab. Bei false wird die Adresse weder abgefragt noch gespeichert. Die technischen Werte sind frei wählbar und tragen keine Bedeutung, derselbe Wert kann in einer Installation eine Adresse verlangen und in einer anderen nicht.

Wird für reproduction keine eigene Liste hinterlegt, gelten download, postal_service und pickup, wobei nur postal_service eine Adresse verlangt.

Das Feld lending_organization verwendet dieselbe Struktur, jedoch ohne requires_postal_address.

Bei der Verwaltungsausleihe wird die Lieferadresse ohne konfigurierte Zustellart immer verlangt. Sobald das Feld aktiviert ist, entscheidet der gewählte Auswahlwert darüber. Jeder Prozess führt seine Zustellart in einem eigenen Feld, damit eine Bestellung mit Reproduktionen und Verwaltungsausleihen im selben Warenkorb für beide Prozesse die passende Zustellart behält.

orders:
  processes:
    reproduction:
      fields:
        # Alle Reproduktionen werden hochauflösend angefertigt:
        quality:
          enabled: false
    lending:
      fields:
        shipment:
          enabled: true
          choices:
            - value: courier
              label:
                de: physisch per Kurier
                fr: physiquement par coursier
              requires_postal_address: true
            - value: email
              label:
                de: digital per E-Mail
                fr: numériquement par e-mail
        # Beilagen zur Bestellung, z.B. Bewilligungen:
        attachments:
          enabled: true
        lending_organization:
          choices:
            - value: verwaltung
              label:
                de: Verwaltung
            - value: forschung
              label:
                de: Forschung