openapi: 3.0.2
info:
  title: 'Digitale Rentenuebersicht: Vorsorgeeinrichtung API'
  version: 4.0.0
  description: Datenuebermittlung zwischen der Zentralen Stelle fuer die Digitale Rentenuebersicht (ZfDR) bei der Deutschen Rentenversicherung Bund und den Vorsorgeeinrichtungen
  contact:
    name: Zentrale Stelle fuer die Digitale Rentenuebersicht (ZfDR)
    url: 'https://digitale-rentenuebersicht.drv-bund.de/'
    email: zfdr@drv-bund.de
  x-api-id: e0aa3372-20d7-414f-a278-8e00a39077da
  x-audience: external-partner
servers:
  - url: 'http://localhost/v1'
paths:
  /anspruchsdaten:
    get:
      summary: Zur Ermittlung von 0 bis n Anspruechen
      operationId: getAnsprueche
      tags:
        - Anspruchsdaten
      parameters:
        - in: header
          name: X-Anfrage-Id
          required: true
          description: 'Eindeutige ID zur Identifikation einer fachlichen Anfrage an ein bestimmtes Unternehmen. Diese ID  bleibt ueber mehrere Nachfragen (z.B. wegen Fehlern oder Bitte um spaetere Nachfrage) gleich. Sie ist jedoch von Unternehmen zu Unternehmen unterschiedlich, auch wenn die Anfrage aus der selben Auswahl einer nutzenden Person resultiert. Genauso aendert sich die ID, wenn von einer Person eine neue Anfrage veranlasst wird. Die ID wird von der ZfDR als UUID erzeugt.'
          schema:
            $ref: '#/components/schemas/UUID'
        - in: header
          name: X-Request-Id
          required: true
          description: 'Eine eindeutige ID, die genau einen Aufruf identifiziert. Diese ID aendert sich mit jedem Aufruf des Webservices und ermoeglicht es genau einen bestimmten Aufruf zu identifizieren. Die ID ist eindeutig sowohl bezogen auf Personen, Anfragen und Unternehmen. Die ID ist eine UUID und wird von der ZfDR mit jeder Anfrage erzeugt und uebermittelt.'
          schema:
            $ref: '#/components/schemas/UUID'
        - in: header
          name: X-Nachfragezaehler
          required: true
          description: 'Ein Zaehler, der angibt, wie oft bereits bei einem Unternehmen (unter derselben Anfrage ID) angefragt wurde. Der Zaehler beginnt bei 1. Der Zaehler ermoeglicht es den Unternehmen ggf. mit veraendertem Verhalten (z.B. laengerer Zeitraum) zu reagieren, wenn festgestellt wird, dass bereits mehrfach angefragt wurde.'
          schema:
            type: integer
            minimum: 1
            example: 5
        - in: header
          name: X-Max-Retry-After
          description: 'Der restliche Zeitraum (in Sekunden) für eine erneute Nachfrage, den das Unternehmen im "Retry-After"-Header der 202-Antwort nicht überschreiten darf.'
          required: true
          schema:
            type: integer
        - in: header
          name: X-Identifikationsnummer
          required: true
          description: 'Die steuerliche Identifikationsnummer der Person fuer die die Anfrage gestellt wird. Die Identifikationsnummer wird zwar von den Nutzenden eingegeben, allerdings nur als gepruefte Identnummer fuer anfragen verwendet.'
          schema:
            $ref: '#/components/schemas/IdNr'
        - in: header
          name: X-Geburtsdatum
          required: true
          description: 'Das Geburtsdatum der Person im Format jjjj-mm-dd. Das Geburtsdatum ermoeglicht es dem Unternehmen zusaetzlich zu verifizieren, ob tatsaechlich die richtige Person ueber die IdNr ermittelt wurde. Das Geburtsdatum wird aus dem Ausweis einer Person gelesen (und ggf. bei der ZfDR zwischengespeichert)'
          schema:
            $ref: '#/components/schemas/Geburtsdatum'
          examples:
            default:
              value: '1964-08-12'
              summary: Standard
            no-day:
              value: '1964-08-00'
              summary: Tag unbekannt
            no-month-day:
              value: '1964-00-00'
              summary: Monat und Tag unbekannt
      responses:
        '200':
          description: OK - Direkte Antwort als Multipart-Response bestehend aus Anspruchsdaten nach Datensatz VZ01 und zugehoeriger Standmitteilungen im PDF-Format in den weiteren Parts der Response
          content:
            multipart/form-data:
              schema:
                title: VZ01MultipartResponse
                description: Multipart-Response bestehend aus Anspruchsdaten nach Datensatz VZ01 und zugehoeriger Standmitteilungen im PDF/A-Format in den weiteren Parts der Response
                type: object
                properties:
                  anspruchdaten:
                    $ref: '#/components/schemas/VZ01'
                  standmitteilungen:
                    title: Standmitteilungen
                    type: array
                    description: |
                      0-n Standmitteilung-Dokumente im PDF Format. Jedes Dokument muss mit einem Content-Disposition Header
                      versehen sein ("name" gleich "standmitteilung_referenz"-Attribut in einem oder mehreren Ansprüchen),
                      um die Zuordnung eines Anspruches zur Standmitteilung zu gewaehrleisten.
                    items:
                      type: string
                      format: binary
                required:
                  - anspruchdaten
              encoding:
                anspruchdaten:
                  contentType: application/json
                  headers:
                    Content-Disposition:
                      schema:
                        type: string
                        example: form-data; name="Beliebiger Text"
                      description: |
                        Pflicht-Header gemäß https://datatracker.ietf.org/doc/html/rfc7578#section-4.2
                standmitteilungen:
                  contentType: application/pdf
                  headers:
                    Content-Disposition:
                      schema:
                        type: string
                        example: form-data; name="standmitteilung_vertrag_001"
                      description: |
                        Pflicht-Header gemäß https://datatracker.ietf.org/doc/html/rfc7578#section-4.2
                        "name" ist die ID des Standmitteilung-Dokuments, auf das sich ein oder mehrere Ansprüche mit dem
                        "standmitteilung_referenz"-Attribut beziehen
        '202':
          description: 'Accepted - Bitte um spaetere, erneute Nachfrage, Verzoegerung in Sekunden im Retry-After-Header'
          headers:
            Retry-After:
              required: true
              description: |
                Verzoegerung fuer erneute Nachfrage in Sekunden. Nach 5 Anfrageversuchen oder nach 5 Tagen wird die
                Anfrage verworfen. Dieser Wert darf nicht groesser als der Wert im "X-Max-Retry-After"-Header der
                eingehenden Anfrage sein (falls vorhanden, sonst 5 Tage nach dem ersten Anfrageversuch).
              schema:
                type: integer
                format: int32
                minimum: 1
        '204':
          description: No Content - Die Person kann nicht identifiziert werden
        '400':
          description: Bad Request - Parameter unvollstaendig oder fehlerhaft
        '401':
          description: Unauthorized - Keine oder nicht erfolgreiche Authentifizierung. Die ZfDR muss sich mit einem Clientzertifikat authentifizieren.
  /fehlerrueckmeldung:
    post:
      summary: Zum Melden eines technischen Fehlers an die Vorsorgeeinrichtung
      tags:
        - Fehlerrueckmeldung
      operationId: getFehlerrueckmeldung
      parameters:
        - in: header
          name: X-Request-Id
          required: true
          description: 'Eine eindeutige ID, die genau einen Aufruf identifiziert. Diese ID aendert sich mit jedem Aufruf des Webservices und ermoeglicht es genau einen bestimmten Aufruf zu identifizieren. Die ID ist eindeutig sowohl bezogen auf Personen, Anfragen und Unternehmen. Die ID ist eine UUID und wird von der ZfDR mit jeder Anfrage erzeugt und uebermittelt.'
          schema:
            $ref: '#/components/schemas/UUID'
      requestBody:
        description: Fehlerdaten
        content:
          application/json:
            schema:
              type: object
              title: ZV02Fehlerrueckmeldung
              description: Fehlerdaten
              properties:
                ursprung_anfrage_id:
                  allOf:
                    - $ref: '#/components/schemas/UUID'
                  nullable: false
                  description: AnfrageID der Anfrage fuer die ein Fehler uebermittelt werden soll.
                ursprung_request_id:
                  allOf:
                    - $ref: '#/components/schemas/UUID'
                  nullable: false
                  description: Die RequestID die genau den http Aufruf identifiziert bei dem es zu dem Fehler gekommen ist.
                fehlernummer:
                  allOf:
                    - $ref: '#/components/schemas/Fehlerkatalog'
                  nullable: false
                  description: Fehler Code der angibt welcher Fehler aufgetreten ist.
                nachfragezaehler:
                  description: 'Aktueller Nachfragezähler (vgl. den "X-Nachrfagezaehler"-Header in der Anfrage-API)'
                  type: integer
                  minimum: 1
                  example: 5
                max_retry_after:
                  description: 'Der restliche Zeitraum (in Sekunden) für eine erneute Nachfrage, den das Unternehmen im "Retry-After"-Header der 202-Antwort nicht überschreiten durfte.'
                  type: integer
              required:
                - ursprung_anfrage_id
                - ursprung_request_id
                - fehlernummer
                - nachfragezaehler
                - max_retry_after
      responses:
        '201':
          description: Created - Die Fehlerrueckmeldung ist erfolgreich eingegangen.
        '400':
          description: Bad Request - Parameter unvollstaendig oder fehlerhaft
        '401':
          description: Unauthorized - Keine oder nicht erfolgreiche Authentifizierung. Die ZfDR muss sich mit einem Clientzertifikat authentifizieren.
components:
  schemas:
    Datum:
      type: string
      format: date
      minLength: 10
      maxLength: 10
      description: Datum nach ISO-8601 (erweitertes Format YYYY-MM-DD)
      pattern: '([12]\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01]))'
      example: '2020-12-31'
    E_Mail:
      type: string
      format: email
      maxLength: 254
      description: Stellt eine E-Mail Adresse dar
      pattern: '^(?:[a-z0-9!#$%&''*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&''*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9]))\.){3}(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9])|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])$'
      example: john.smith@example.com
    Fehlerkatalog:
      type: string
      maxLength: 5
      enum:
        - _0001
        - _0002
        - _0003
        - _0004
        - _0005
        - _0006
      description: |
        In der Kommunikation zwischen der ZfDR und den Vorsorgeeinrichtungen wurden folgende Fehlernummern definiert. Diese Fehlernummern werden nur bei HTTP-Statuscodes 2xx (erfolgreiche Operationen) ausgeloest.

          * `_0001` - Verstoss gegen das Schema in den strukturierten JSON Daten
          * `_0002` - Mindestens eines der enthaltenen PDF Dokumente ueberschreitet die erlaubte Maximalgroesse von 2,6 MB
          * `_0003` - Die Referenzierung zwischen den JSON Daten und den PDFs kann nicht hergestellt werden oder ist nicht eindeutig
          * `_0004` - Mindestens eine der Standmitteilungen entspricht nicht dem vereinbarten PDF Format beziehungsweise die Anlage ist leer
          * `_0005` - Keine/zuviele strukturierte JSON Daten in der Antwort enthalten
          * `_0006` - Unzulaessiger retry-after-Zeitraum vorgegeben
    Geburtsdatum:
      type: string
      description: 'Geburtsdatum nach ISO-8601 (erweitertes Format YYYY-MM-DD). Tag und Monat koennen jeweils mit "00" befuellt werden, wenn diese Werte unbekannt sind (z.B. "2021-00-00" oder "2021-12-00").'
      format: geburtsdatum
      minLength: 10
      maxLength: 10
      pattern: '^(\d{4})-(1[0-2]|0[0-9])-(3[01]|[12][0-9]|0[0-9])$'
      example: '1964-08-12'
    IdNr:
      type: string
      format: idNr
      minLength: 11
      maxLength: 11
      description: Steuerliche Identifikationsnummer
      pattern: '^\d{11}$'
      example: 99999999999
    Produktart:
      type: string
      nullable: false
      enum:
        - _1_1_0
        - _1_2_0
        - _1_3_0
        - _1_4_0
        - _2_1_0
        - _2_2_0
        - _2_3_0
        - _2_4_0
        - _2_4_5
        - _2_5_0
        - _2_6_0
        - _3_1_0
        - _3_1_1
        - _3_1_2
        - _3_1_3
        - _3_1_4
        - _3_1_5
        - _3_2_0
        - _3_2_1
        - _3_2_2
        - _3_2_3
        - _3_2_4
        - _3_9_0
        - _3_9_1
        - _3_9_2
        - _3_9_3
        - _3_9_4
      description: |
        Art und Zuordnung des Produktes per Kategorisierung je nach Saeule der Altersvorsorge in der Form. Erste Stelle definiert die Produktzuordnung nach Saeule. Zweite und dritte Stelle definieren die Produktart:

          * Gesetzliche Altersvorsorge (Saeule 1)
            * `_1_1_0` - Gesetzliche Rentenversicherung
            * `_1_2_0` - Alterssicherung der Landwirte
            * `_1_3_0` - Berufsstaendische Versorgung
            * `_1_4_0` - Beamtenversorgung
          * Betriebliche Altersversorgung (Saeule 2)
            * `_2_1_0` - Direktzusage
            * `_2_2_0` - Unterstuetzungskasse
            * `_2_3_0` - Pensionsfonds
            * `_2_4_0` - Pensionskasse
            * `_2_4_5` - Zusatzversorgung des oeffentlichen Dienstes
            * `_2_5_0` - Direktversicherung
            * `_2_6_0` - Pensions-Sicherungs-Verein Versicherungsverein auf Gegenseitigkeit
          * Private Altersvorsorge (Saeule 3)
            * `_3_1_0` - Gefoerderte Altersvorsorge nach § 10 Absatz 1 Nr. 2 Satz 1 Buchstabe b EstG "Basis-Rente"
            * `_3_1_1` - Klassische Basis-Rente (inkl. Sog. „moderne Klassik“)
            * `_3_1_2` - Fonds- oder Indexgebundene Basis-Rente mit Garantieleistung (inkl. Hybrid-Produkt)
            * `_3_1_3` - Fonds- oder Indexgebundene Basis-Rente ohne Garantieleistung
            * `_3_1_4` - Fonds-Sparplan mit Garantie (Basis-Rente)
            * `_3_1_5` - Fonds-Sparplan ohne Garantie (Basis-Rente)
            * `_3_2_0` - Gefoerderte Altersvorsorge nach § 10a i.V.m. / Abschnitt XI EstG "Riester-Vertraege"
            * `_3_2_1` - Klassische Riester-Rente (inkl. Sog. "moderne Klassik")
            * `_3_2_2` - Fonds- oder Indexgebundene Riester-Rente (inkl. Hybrid-Produkt)
            * `_3_2_3` - Riester-Fonds-Sparplan
            * `_3_2_4` - Riester-Bank-Sparplan
            * `_3_9_0` - Sonstige private Altersvorsorge
            * `_3_9_1` - Klassische private Altersvorsorge (inkl. Sog. "moderne Klassik")
            * `_3_9_2` - Fonds- oder Indexgebundene private Altersvorsorge mit Garantieleistung (inkl. Hybrid-Produkt)
            * `_3_9_3` - Fonds- oder Indexgebundene private Altersvorsorge ohne Garantieleistung
            * `_3_9_4` - Fondsparplan
    Properties_VZ01_02b_b1_RenteKapital:
      type: object
      properties:
        rente_kapital:
          type: array
          nullable: false
          description: Dieses Element ist eine Liste und enthaelt 1 bis 9 Tupel aus den nachfolgenden zwei Attributen. (Ist je Unterbaustein b fuer jeden zutreffenden Wert zu befuellen.) Jeder `wert_typ` darf maximal einmal enthalten sein.
          minItems: 1
          maxItems: 9
          uniqueItems: true
          items:
            type: object
            title: PropertiesVZ0102bB1RenteKapitalTupel
            properties:
              wert_typ:
                type: string
                enum:
                  - Garantiert erreichte Rente
                  - Prognostiziert erreichte Rente
                  - Garantiert erreichbare Rente
                  - Prognostiziert erreichbare Rente
                  - Garantiert erreichter Kapitalwert
                  - Prognostiziert erreichter Kapitalwert
                  - Garantiert erreichbarer Kapitalwert
                  - Prognostiziert erreichbarer Kapitalwert
                  - Stand Kapital
                description: |
                  Jede der folgenden Auspraegungen kann maximal einmal in der Liste enthalten sein.

                    * `Garantiert erreichte Rente`              - Die Hoehe der garantiert erreichten Rente aufgrund von Anspruechen, die dem Grunde nach nicht mehr entfallen koennen. Diese werden unter den aktuellen gesetzlichen, vertraglichen und wirtschaftlichen Rahmenbedingungen in der angegebenen Hoehe gewaehrt. Der Betrag beruht auf einer Projektion der Leistung zum jeweiligen/vereinbarten Renteneintritt ohne Beruecksichtigung von nach dem Stichtag der Standmitteilung eingegangenen Beitraegen. In der Form 9,2 Stellen.
                    * `Prognostiziert erreichte Rente`          - Die Hoehe der prognostiziert erreichten Rente entspricht einer Prognose, wie sich bisher angesammelte Ansprueche unter erwarteten oekonomischen, realitaetsnahen Entwicklungen entwickeln koennen. Der Betrag beruht auf einer Projektion der Leistung zum jeweiligen/vereinbarten Renteneintritt ohne Beruecksichtigung von nach dem Stichtag der Standmitteilung eingegangenen Beitraegen. In der Form 9,2 Stellen.
                    * `Garantiert erreichbare Rente`            - Die Hoehe der garantiert erreichbaren Rente bei Fortfuehrung der bisherigen Beitraege bzw. einer in den Standmitteilungen beruecksichtigten Beitragsentwicklung aufgrund von Anspruechen, die dem Grunde nach nicht mehr entfallen koennen. Dieser Betrag wird unter den aktuellen gesetzlichen, vertraglichen und wirtschaftlichen Rahmenbedingungen in der angegebenen Hoehe gewaehrt. Der Betrag beruht auf der Projektion der Leistung zum jeweiligen/vereinbarten Renteneintritt unter Beruecksichtigung zukuenftiger Beitraege. In der Form 9,2 Stellen.
                    * `Prognostiziert erreichbare Rente`        - Die Hoehe der prognostiziert erreichbaren Rente entspricht einer Prognose, wie sich Ansprueche bei Fortfuehrung der bisherigen Beitraege bzw. einer in der Standmitteilung beruecksichtigten Beitragsentwicklung unter erwarteten oekonomischen, realitaetsnahen Entwicklungen entwickeln koennen. Der Betrag beruht auf einer Projektion der Leistung zum jeweiligen/vereinbarten Renteneintritt unter Beruecksichtigung zukuenftiger Beitraege. In der Form 9,2 Stellen.
                    * `Garantiert erreichter Kapitalwert`       - Die Hoehe des garantiert erreichten Kapitalwertes aufgrund von Anspruechen, die dem Grunde nach nicht mehr entfallen koennen. Diese werden unter den aktuellen gesetzlichen, vertraglichen und wirtschaftlichen Rahmenbedingungen in der angegebenen Hoehe gewaehrt. Der Betrag beruht auf einer Projektion der Leistung zum jeweiligen/vereinbarten Renteneintritt ohne Beruecksichtigung von nach dem Stichtag der Standmitteilung eingegangenen Beitraegen. In der Form 9,2 Stellen.
                    * `Prognostiziert erreichter Kapitalwert`   - Die Hoehe des prognostiziert erreichten Kapitalwertes entspricht einer Prognose, wie sich bisher angesammelte Ansprueche unter erwarteten oekonomischen, realitaetsnahen Entwicklungen entwickeln koennen. Der Betrag beruht auf einer Projektion der Leistung zum jeweiligen/vereinbarten Renteneintritt ohne Beruecksichtigung von nach dem Stichtag der Standmitteilung eingegangenen Beitraegen. In der Form 9,2 Stellen.
                    * `Garantiert erreichbarer Kapitalwert`     - Die Hoehe des garantiert erreichten Kapitalwertes aufgrund von Anspruechen, die dem Grunde nach nicht mehr entfallen koennen. Diese werden unter den aktuellen gesetzlichen, vertraglichen und wirtschaftlichen Rahmenbedingungen in der angegebenen Hoehe ausgewiesen. Der Betrag beruht auf der Projektion der Leistung zum jeweiligen/vereinbarten Renteneintritt unter Beruecksichtigung zukuenftiger Beitraege. In der Form 9,2 Stellen.
                    * `Prognostiziert erreichbarer Kapitalwert` - Die Hoehe des prognostiziert erreichbaren Kapitalwertes entspricht einer Prognose, wie sich Ansprueche bei Fortfuehrung der bisherigen Beitraege bzw. einer in der Standmitteilung beruecksichtigten Beitragsentwicklung unter erwarteten oekonomischen, realitaetsnahen Entwicklungen entwickeln koennen. Der Betrag beruht auf der Projektion der Leistung zum jeweiligen/vereinbarten Renteneintritt unter Beruecksichtigung zukuenftiger Beitraege. In der Form 9,2 Stellen.
                    * `Stand Kapital`                           - Der Stand des aktuellen Kapitals. In der Form 9,2 Stellen.
              wert_betrag:
                allOf:
                  - $ref: '#/components/schemas/Wertbetrag'
                nullable: false
                description: Betrag in Euro zu dem im Tupel angegebenen `wert_typ`.
            required:
              - wert_typ
              - wert_betrag
          example:
            - wert_typ: Garantiert erreichte Rente
              wert_betrag: 0.01
            - wert_typ: Garantiert erreichbare Rente
              wert_betrag: 602.12
            - wert_typ: Prognostiziert erreichbare Rente
              wert_betrag: 1042.42
            - wert_typ: Stand Kapital
              wert_betrag: 10001.92
      required:
        - rente_kapital
    Properties_VZ01_02c_c1_EinmalbetragKapital:
      type: object
      properties:
        einmalbetrag_kapital:
          type: array
          nullable: false
          description: Dieses Element ist eine Liste und enthaelt 1 bis 9 Tupel aus den nachfolgenden zwei Attributen. (Ist je Unterbaustein c fuer jeden zutreffenden Wert zu befuellen.) Jeder `wert_typ` darf maximal einmal enthalten sein.
          minItems: 1
          maxItems: 9
          uniqueItems: true
          items:
            type: object
            title: PropertiesVZ0102cC1EinmalbetragKapitalTupel
            properties:
              wert_typ:
                type: string
                enum:
                  - Garantiert erreichter Einmalbetrag
                  - Prognostiziert erreichter Einmalbetrag
                  - Garantiert erreichbarer Einmalbetrag
                  - Prognostiziert erreichbarer Einmalbetrag
                  - Garantiert erreichter Kapitalwert
                  - Prognostiziert erreichter Kapitalwert
                  - Garantiert erreichbarer Kapitalwert
                  - Prognostiziert erreichbarer Kapitalwert
                  - Stand Kapital
                description: |
                  Jede der folgenden Auspraegungen kann maximal einmal in der Liste enthalten sein.

                    * `Garantiert erreichter Einmalbetrag`       - Die Hoehe des garantiert erreichten Einmalbetrages aufgrund von Anspruechen, die dem Grunde nach nicht mehr entfallen koennen. Diese werden unter den aktuellen gesetzlichen, vertraglichen und wirtschaftlichen Rahmenbedingungen in der angegebenen Hoehe gewaehrt. Der Betrag beruht auf einer Projektion der Leistung zum jeweiligen/vereinbarten Renteneintritt ohne Beruecksichtigung von nach dem Stichtag der Standmitteilung eingegangenen Beitraegen. In der Form 9,2 Stellen.
                    * `Prognostiziert erreichter Einmalbetrag`   - Die Hoehe des prognostiziert erreichten Einmalbetrages entspricht einer Prognose, wie sich bisher angesammelte Ansprueche unter erwarteten oekonomischen, realitaetsnahen Entwicklungen entwickeln koennen. Der Betrag beruht auf einer Projektion der Leistung zum jeweiligen/vereinbarten Renteneintritt ohne Beruecksichtigung von nach dem Stichtag der Standmitteilung eingegangenen Beitraegen. In der Form 9,2 Stellen.
                    * `Garantiert erreichbarer Einmalbetrag`     - Die Hoehe des garantiert erreichbaren Einmalbetrages bei Fortfuehrung der bisherigen Beitraege bzw. einer in den Standmitteilungen beruecksichtigten Beitragsentwicklung aufgrund von Anspruechen, die dem Grunde nach nicht mehr entfallen koennen. Dieser Betrag wird unter den aktuellen gesetzlichen, vertraglichen und wirtschaftlichen Rahmenbedingungen in der angegebenen Hoehe gewaehrt. Der Betrag beruht auf einer Projektion der Leistung zum jeweiligen/vereinbarten Renteneintritt unter Beruecksichtigung von nach dem Stichtag der Standmitteilung eingegangenen Beitraegen. In der Form 9,2 Stellen.
                    * `Prognostiziert erreichbarer Einmalbetrag` - Die Hoehe des prognostiziert erreichbaren Einmalbetrages entspricht einer Prognose, wie sich Ansprueche bei Fortfuehrung der bisherigen Beitraege bzw. einer in der Standmitteilung beruecksichtigten Beitragsentwicklung unter erwarteten oekonomischen, realitaetsnahen Entwicklungen entwickeln koennen. Der Betrag beruht auf einer Projektion der Leistung zum jeweiligen/vereinbarten Renteneintritt unter Beruecksichtigung zukuenftiger Beitraege. In der Form 9,2 Stellen.
                    * `Garantiert erreichter Kapitalwert`        - Die Hoehe des garantiert erreichten Kapitalwertes aufgrund von Anspruechen, die dem Grunde nach nicht mehr entfallen koennen. Diese werden unter den aktuellen gesetzlichen, vertraglichen und wirtschaftlichen Rahmenbedingungen in der angegebenen Hoehe gewaehrt. Der Betrag beruht auf einer Projektion der Leistung zum jeweiligen/vereinbarten Renteneintritt ohne Beruecksichtigung von nach dem Stichtag der Standmitteilung eingegangenen Beitraegen. In der Form 9,2 Stellen.
                    * `Prognostiziert erreichter Kapitalwert`    - Die Hoehe des prognostiziert erreichten Kapitalwertes entspricht einer Prognose, wie sich bisher angesammelte Ansprueche unter erwarteten oekonomischen, realitaetsnahen Entwicklungen entwickeln koennen. Der Betrag beruht auf einer Projektion der Leistung zum jeweiligen/vereinbarten Renteneintritt ohne Beruecksichtigung von nach dem Stichtag der Standmitteilung eingegangenen Beitraegen. In der Form 9,2 Stellen.
                    * `Garantiert erreichbarer Kapitalwert`      - Die Hoehe des garantiert erreichten Kapitalwertes aufgrund von Anspruechen, die dem Grunde nach nicht mehr entfallen koennen. Diese werden unter den aktuellen gesetzlichen, vertraglichen und wirtschaftlichen Rahmenbedingungen in der angegebenen Hoehe ausgewiesen. Der Betrag beruht auf der Projektion der Leistung zum jeweiligen/vereinbarten Renteneintritt unter Beruecksichtigung zukuenftiger Beitraege. In der Form 9,2 Stellen.
                    * `Prognostiziert erreichbarer Kapitalwert`  - Die Hoehe des prognostiziert erreichbaren Kapitalwertes entspricht einer Prognose, wie sich Ansprueche bei Fortfuehrung der bisherigen Beitraege bzw. einer in der Standmitteilung beruecksichtigten Beitragsentwicklung unter erwarteten oekonomischen, realitaetsnahen Entwicklungen entwickeln koennen. Der Betrag beruht auf der Projektion der Leistung zum jeweiligen/vereinbarten Renteneintritt unter Beruecksichtigung zukuenftiger Beitraege. In der Form 9,2 Stellen.
                    * `Stand Kapital`                            - Der Stand des aktuellen Kapitals. In der Form 9,2 Stellen.
              wert_betrag:
                allOf:
                  - $ref: '#/components/schemas/Wertbetrag'
                nullable: false
                description: Betrag in Euro zu dem im Tupel angegebenen `wert_typ`.
            required:
              - wert_typ
              - wert_betrag
          example:
            - wert_typ: Garantiert erreichter Einmalbetrag
              wert_betrag: 23456.78
            - wert_typ: Garantiert erreichbarer Einmalbetrag
              wert_betrag: 78900.12
            - wert_typ: Prognostiziert erreichbarer Einmalbetrag
              wert_betrag: 100000
            - wert_typ: Stand Kapital
              wert_betrag: 10200.42
      required:
        - einmalbetrag_kapital
    Properties_VZ01_02d_d1_RenteEinmalbetragKapital:
      type: object
      properties:
        rente_einmalbetrag_kapital:
          type: array
          nullable: false
          description: Dieses Element ist eine Liste und enthaelt 1 bis 13 Tupel aus den nachfolgenden zwei Attributen. (Ist je Unterbaustein d fuer jeden zutreffenden Wert zu befuellen.) Jeder `wert_typ` darf maximal einmal enthalten sein.
          minItems: 1
          maxItems: 13
          uniqueItems: true
          items:
            type: object
            title: PropertiesVZ0102dD1RenteEinmalbetragKapitalTupel
            properties:
              wert_typ:
                type: string
                enum:
                  - Garantiert erreichter Einmalbetrag
                  - Garantiert erreichte Rente
                  - Prognostiziert erreichter Einmalbetrag
                  - Prognostiziert erreichte Rente
                  - Garantiert erreichbarer Einmalbetrag
                  - Garantiert erreichbare Rente
                  - Prognostiziert erreichbarer Einmalbetrag
                  - Prognostiziert erreichbare Rente
                  - Garantiert erreichter Kapitalwert
                  - Prognostiziert erreichter Kapitalwert
                  - Garantiert erreichbarer Kapitalwert
                  - Prognostiziert erreichbarer Kapitalwert
                  - Stand Kapital
                description: |
                  Jede der folgenden Auspraegungen kann maximal einmal in der Liste enthalten sein.

                    * `Garantiert erreichter Einmalbetrag`       - Die Hoehe des garantiert erreichten Einmalbetrages aufgrund von Anspruechen, die dem Grunde nach nicht mehr entfallen koennen. Diese werden unter den aktuellen gesetzlichen, vertraglichen und wirtschaftlichen Rahmenbedingungen in der angegebenen Hoehe gewaehrt. Der Betrag beruht auf einer Projektion der Leistung zum jeweiligen/vereinbarten Renteneintritt ohne Beruecksichtigung von nach dem Stichtag der Standmitteilung eingegangenen Beitraegen. In der Form 9,2 Stellen.
                    * `Garantiert erreichte Rente`               - Die Hoehe der garantiert erreichten Rente aufgrund von Anspruechen, die dem Grunde nach nicht mehr entfallen koennen. Diese werden unter den aktuellen gesetzlichen, vertraglichen und wirtschaftlichen Rahmenbedingungen in der angegebenen Hoehe gewaehrt. Der Betrag beruht auf einer Projektion der Leistung zum jeweiligen/vereinbarten Renteneintritt ohne Beruecksichtigung von nach dem Stichtag der Standmitteilung eingegangenen Beitraegen. In der Form 9,2 Stellen.
                    * `Prognostiziert erreichter Einmalbetrag`   - Die Hoehe des prognostiziert erreichten Einmalbetrages entspricht einer Prognose, wie sich bisher angesammelte Ansprueche unter erwarteten oekonomischen, realitaetsnahen Entwicklungen entwickeln koennen. Der Betrag beruht auf einer Projektion der Leistung zum jeweiligen/vereinbarten Renteneintritt ohne Beruecksichtigung von nach dem Stichtag der Standmitteilung eingegangenen Beitraegen. In der Form 9,2 Stellen.
                    * `Prognostiziert erreichte Rente`           - Die Hoehe der prognostiziert erreichten Rente entspricht einer Prognose, wie sich bisher angesammelte Ansprueche unter erwarteten oekonomischen, realitaetsnahen Entwicklungen entwickeln koennen. Der Betrag beruht auf einer Projektion der Leistung zum jeweiligen/vereinbarten Renteneintritt ohne Beruecksichtigung von nach dem Stichtag der Standmitteilung eingegangenen Beitraegen. In der Form 9,2 Stellen.
                    * `Garantiert erreichbarer Einmalbetrag`     - Die Hoehe des garantiert erreichbaren Einmalbetrages bei Fortfuehrung der bisherigen Beitraege bzw. einer in den Standmitteilungen beruecksichtigten Beitragsentwicklung aufgrund von Anspruechen, die dem Grunde nach nicht mehr entfallen koennen. Dieser Betrag wird unter den aktuellen gesetzlichen, vertraglichen und wirtschaftlichen Rahmenbedingungen in der angegebenen Hoehe gewaehrt. Der Betrag beruht auf einer Projektion der Leistung zum jeweiligen/vereinbarten Renteneintritt unter Beruecksichtigung von nach dem Stichtag der Standmitteilung eingegangenen Beitraegen. In der Form 9,2 Stellen.
                    * `Garantiert erreichbare Rente`             - Die Hoehe der garantiert erreichbaren Rente bei Fortfuehrung der bisherigen Beitraege bzw. einer in den Standmitteilungen beruecksichtigten Beitragsentwicklung aufgrund von Anspruechen, die dem Grunde nach nicht mehr entfallen koennen. Dieser Betrag wird unter den aktuellen gesetzlichen, vertraglichen und wirtschaftlichen Rahmenbedingungen in der angegebenen Hoehe gewaehrt. Der Betrag beruht auf der Projektion der Leistung zum jeweiligen/vereinbarten Renteneintritt unter Beruecksichtigung zukuenftiger Beitraege. In der Form 9,2 Stellen.
                    * `Prognostiziert erreichbarer Einmalbetrag` - Die Hoehe des prognostiziert erreichbaren Einmalbetrages entspricht einer Prognose, wie sich Ansprueche bei Fortfuehrung der bisherigen Beitraege bzw. einer in der Standmitteilung beruecksichtigten Beitragsentwicklung unter erwarteten oekonomischen, realitaetsnahen Entwicklungen entwickeln koennen. Der Betrag beruht auf einer Projektion der Leistung zum jeweiligen/vereinbarten Renteneintritt unter Beruecksichtigung zukuenftiger Beitraege. In der Form 9,2 Stellen.
                    * `Prognostiziert erreichbare Rente`         - Die Hoehe der prognostiziert erreichbaren Rente entspricht einer Prognose, wie sich Ansprueche bei Fortfuehrung der bisherigen Beitraege bzw. einer in der Standmitteilung beruecksichtigten Beitragsentwicklung unter erwarteten oekonomischen, realitaetsnahen Entwicklungen entwickeln koennen. Der Betrag beruht auf einer Projektion der Leistung zum jeweiligen/vereinbarten Renteneintritt unter Beruecksichtigung zukuenftiger Beitraege. In der Form 9,2 Stellen.
                    * `Garantiert erreichter Kapitalwert`        - Die Hoehe des garantiert erreichten Kapitalwertes aufgrund von Anspruechen, die dem Grunde nach nicht mehr entfallen koennen. Diese werden unter den aktuellen gesetzlichen, vertraglichen und wirtschaftlichen Rahmenbedingungen in der angegebenen Hoehe gewaehrt. Der Betrag beruht auf einer Projektion der Leistung zum jeweiligen/vereinbarten Renteneintritt ohne Beruecksichtigung von nach dem Stichtag der Standmitteilung eingegangenen Beitraegen. In der Form 9,2 Stellen.
                    * `Prognostiziert erreichter Kapitalwert`    - Die Hoehe des prognostiziert erreichten Kapitalwertes entspricht einer Prognose, wie sich bisher angesammelte Ansprueche unter erwarteten oekonomischen, realitaetsnahen Entwicklungen entwickeln koennen. Der Betrag beruht auf einer Projektion der Leistung zum jeweiligen/vereinbarten Renteneintritt ohne Beruecksichtigung von nach dem Stichtag der Standmitteilung eingegangenen Beitraegen. In der Form 9,2 Stellen.
                    * `Garantiert erreichbarer Kapitalwert`      - Die Hoehe des garantiert erreichten Kapitalwertes aufgrund von Anspruechen, die dem Grunde nach nicht mehr entfallen koennen. Diese werden unter den aktuellen gesetzlichen, vertraglichen und wirtschaftlichen Rahmenbedingungen in der angegebenen Hoehe ausgewiesen. Der Betrag beruht auf der Projektion der Leistung zum jeweiligen/vereinbarten Renteneintritt unter Beruecksichtigung zukuenftiger Beitraege. In der Form 9,2 Stellen.
                    * `Prognostiziert erreichbarer Kapitalwert`  - Die Hoehe des prognostiziert erreichbaren Kapitalwertes entspricht einer Prognose, wie sich Ansprueche bei Fortfuehrung der bisherigen Beitraege bzw. einer in der Standmitteilung beruecksichtigten Beitragsentwicklung unter erwarteten oekonomischen, realitaetsnahen Entwicklungen entwickeln koennen. Der Betrag beruht auf der Projektion der Leistung zum jeweiligen/vereinbarten Renteneintritt unter Beruecksichtigung zukuenftiger Beitraege. In der Form 9,2 Stellen.
                    * `Stand Kapital`                            - Der Stand des aktuellen Kapitals. In der Form 9,2 Stellen.
              wert_betrag:
                allOf:
                  - $ref: '#/components/schemas/Wertbetrag'
                nullable: false
                description: Betrag in Euro zu dem im Tupel angegebenen `wert_typ`.
            required:
              - wert_typ
              - wert_betrag
          example:
            - wert_typ: Garantiert erreichte Rente
              wert_betrag: 0.01
            - wert_typ: Garantiert erreichbare Rente
              wert_betrag: 602.12
            - wert_typ: Prognostiziert erreichbare Rente
              wert_betrag: 1042.42
            - wert_typ: Garantiert erreichter Einmalbetrag
              wert_betrag: 23456.78
            - wert_typ: Garantiert erreichbarer Einmalbetrag
              wert_betrag: 78900.12
            - wert_typ: Stand Kapital
              wert_betrag: 10001.92
      required:
        - rente_einmalbetrag_kapital
    Properties_VZ01_02:
      type: object
      properties:
        ansprechpartner_telefon:
          allOf:
            - $ref: '#/components/schemas/Telefonnummer'
          nullable: true
          description: Telefonnummer des Ansprechpartners fuer die anfragende Person.
        ansprechpartner_email:
          allOf:
            - $ref: '#/components/schemas/E_Mail'
          nullable: true
          description: E-Mail-Adresse des Ansprechpartners fuer die Anfragende Person.
        gesellschaft_oder_marke_bezeichnung:
          allOf:
            - $ref: '#/components/schemas/String'
          maxLength: 90
          example: Testversicherung
          nullable: true
          description: 'Bezeichnung der Gesellschaft/Marke/Firma einer Vorsorgeeinrichtung, welcher der Vertrag bzw. Anspruch zuzuordnen ist; Angabe ist erforderlich, sofern Bezeichnung vom Namen des Unternehmens in der Anbindung abweicht'
        url:
          allOf:
            - $ref: '#/components/schemas/URL'
          nullable: true
          description: 'URL zum Internetauftritt der Gesellschaft/Marke/Firma einer Vorsorgeeinrichtung, welcher ggf. der anfragenden Person den Zugang zum Kundenkonto bzw. zu Kontaktdaten der Einrichtung anbietet. Angabe ist erforderlich, sofern die URL der Gesellschaft/Marke/Firma von der URL der Vorsorgeeinrichtung in der Anbindung abweicht'
        ordnungsbegriff:
          allOf:
            - $ref: '#/components/schemas/String'
          minLength: 1
          maxLength: 40
          example: 15070649C103
          nullable: false
          description: Kennzeichen des Anspruchs ueber Aktenzeichen/Ordnungsbegriff bei der Vorsorgeeinrichtung.
        produkt_bezeichnung:
          allOf:
            - $ref: '#/components/schemas/String'
          nullable: true
          maxLength: 150
          description: Bezeichnung des Produktes
        produkt_art:
          $ref: '#/components/schemas/Produktart'
      required:
        - ordnungsbegriff
        - produkt_art
    Properties_VZ01_02b_02c_02d:
      type: object
      properties:
        stichtag_wertangaben:
          allOf:
            - $ref: '#/components/schemas/Datum'
          nullable: false
          description: Stichtag des massgeblichen Kontostandes bzw. der Standmitteilung in der Form jjjj-mm-tt
        standmitteilung_referenz:
          allOf:
            - $ref: '#/components/schemas/String'
          minLength: 1
          maxLength: 254
          nullable: false
          description: 'Referenz auf ein Standmitteilungsdokument im PDF Format. Fuer alle Vorsorgeeinrichtungen verpflichtend, die auch zur Uebermittlung einer regelmaessigen Renteninformation oder vergleichbaren Information verpflichtet sind. Dieses Feld referenziert die entsprechende Standmitteilung in der multipart/form-data Antwort per Content-Disposition-Header ueber den Parameter name.'
        noch_kein_anspruch:
          type: boolean
          nullable: true
          description: 'Kennzeichnung, dass ein Anspruch aufgrund nicht erfuellter Bedingungen nicht garantiert ist (bspw. Verfallbarkeit, nicht erfuellte Wartezeit) in der Form true/false'
        keine_beitragszahlung:
          type: boolean
          nullable: true
          description: 'Kennzeichnung, dass aktuell keine weiteren Beitragszahlungen fuer den Anspruch vorgesehen sind in der Form true/false'
        invaliden_absicherung:
          type: boolean
          nullable: true
          description: 'Kennzeichnung, ob die Leistung eine Invaliditaetsabsicherung umfasst in der Form true/false'
        hinterbliebenen_absicherung:
          type: boolean
          nullable: true
          description: 'Kennzeichnung, ob das Altersvorsorgeprodukt eine Hinterbliebenenabsicherung umfasst in der Form true/false'
        steuerpflicht:
          type: boolean
          nullable: true
          description: 'Kennzeichnung, ob auf die Leistung nach geltender Rechtslage dem Grunde nach Steuern zu entrichten sind in der Form true/false'
        sozialabgabenpflicht:
          type: boolean
          nullable: true
          description: 'Kennzeichnung, ob auf die Leistung nach geltender Rechtslage dem Grunde nach Sozialabgaben zu entrichten sind in der Form true/false'
        anrechnung:
          type: boolean
          nullable: true
          description: 'Kennzeichnung, ob grundsaetzlich eine Anrechnung anderer Leistungen vorgesehen ist. Es sind hier nur Anrechnungen von Leistungen zu beruecksichtigen, die ggf. von derselben oder einer anderen Vorsorgeeinrichtung gemeldet werden wuerden. In der Form true/false'
          example: false
      required:
        - stichtag_wertangaben
        - standmitteilung_referenz
    Properties_VZ01_02b:
      type: object
      properties:
        datum_leistungsbeginn_rente:
          allOf:
            - $ref: '#/components/schemas/Datum'
          nullable: false
          description: Datum des Beginns der Leistungsgewaehrung der Rente in der Form - jjjj-mm-tt
          example: '2060-05-01'
        datum_leistungsende_rente:
          allOf:
            - $ref: '#/components/schemas/Datum'
          nullable: true
          description: Datum des Endes der Leistungsgewaehrung im Fall einer befristeten Rente in der Form - jjjj-mm-tt
          example: '2080-05-01'
        rentenanpassung:
          type: boolean
          nullable: true
          description: 'Kennzeichnung, ob die Leistung in der Rentenbezugsphase angepasst wird in der Form true/false'
        intervall_rentenangabe:
          type: string
          nullable: false
          enum:
            - Monatsrente
            - Quartalsrente
            - Halbjahresrente
            - Jahresrente
            - Kapitalangabe
          example: Monatsrente
          description: |
            Das zeitliche Intervall, auf das sich die Wertangaben der Rente beziehen. Die Angabe bezieht sich nicht auf das (ggf. abweichende) Zahlungsintervall, sondern gibt an, ob die in der Standmitteilung vorhandenen Werte als monatliche, quartalsweise, halbjaehrliche oder jaehrliche Rente zu verstehen sind. Die moeglichen Werte sind:

              * `Monatsrente`
              * `Quartalsrente`
              * `Halbjahresrente`
              * `Jahresrente`
              * `Kapitalangabe`
      required:
        - datum_leistungsbeginn_rente
        - intervall_rentenangabe
    Properties_VZ01_02c:
      type: object
      properties:
        datum_leistungsbeginn_einmalbetrag:
          allOf:
            - $ref: '#/components/schemas/Datum'
          nullable: false
          description: Datum des Beginns der Leistungsgewaehrung der Einmalbetrag in der Form - jjjj-mm-tt
          example: '2060-05-01'
        ratenzahlung:
          type: string
          nullable: false
          enum:
            - nicht vorgesehen
            - optional
            - zwingend
          example: nicht vorgesehen
          description: |
            Gibt an, ob fuer diesen Anspruch eine Auszahlung des Einmalbetrages in Raten moeglich oder sogar zwingend vorgesehen ist. Moegliche Werte:

              * `nicht vorgesehen`
              * `optional`
              * `zwingend`
      required:
        - datum_leistungsbeginn_einmalbetrag
        - ratenzahlung
    Properties_VZ01_02d:
      type: object
      properties:
        leistungsart:
          type: string
          nullable: false
          enum:
            - Kombination
            - Wahlrecht keine Vorauswahl
            - Wahlrecht Vorauswahl Rente
            - Wahlrecht Vorauswahl Einmalbetrag
          example: Kombination
          description: |
            Kennzeichnung, ob sowohl eine Rente als auch der Einmalbetrag gezahlt wird, oder ob zwischen den beiden Leistungen gewaehlt werden kann/muss. Die moeglichen Werte sind:

              * `Kombination`
              * `Wahlrecht keine Vorauswahl`
              * `Wahlrecht Vorauswahl Rente`
              * `Wahlrecht Vorauswahl Einmalbetrag`
      required:
        - leistungsart
    String:
      type: string
      description: Stellt einen String dar
      pattern: '^[ 0-9,.;\-_()/\\&+ABCDD̂EFGHIJJ̌KLL̂MM̂NN̂OPQRSTUVWXYZabcdd̂efghijkll̂mm̂nn̂opqrstuvwxyzªµºÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿĀāĂăĄąĆćĊċČčĎďĐđĒēĔĕĖėĘęĚěĞğĠġĢģĦħĨĩĪīĬĭĮįİıĴĵĶķĸĹĺĻļĽľĿŀŁłŃńŅņŇňŉŊŋŌōŎŏŐőŒœŔŕŖŗŘřŚśŞşŠšŢţŤťŦŧŨũŪūŮůŰűŲųŴŵŶŷŸŹźŻżŽžƏƠơƯưƷǍǎǏǐǑǒǓǔǞǟǤǥǦǧǨǩǪǫǬǭǮǯǰǴǵǺǻǼǽǾǿȘșȚțȞȟȪȫȮȯȰȱȲȳəʒḂḃḊḋḐḑḞḟḠḡḤḥḦḧḰḱṀṁṄṅṖṗṠṡṢṣṪṫẀẁẂẃẄẅẌẍẎẏẐẑẒẓẞẠạẢảẤấẦầẪẫẬẮắẰằẲẳẴẵẶặẸẹẺẻẼẽẾếỀềỄễỆệỈỉỊịỌọỎỏỐốỒồỖỗỘộỚớỜờỤụỦủỨứỪừỬửỮữỰựỲỳỴỵỶỷỸỹ]*$'
      example: Teststring
    Telefonnummer:
      type: string
      format: telefonnummer
      maxLength: 30
      description: Stellt eine Telefonnummer dar
      pattern: '^[\d()+\- ]+$'
      example: 6334254
    URL:
      type: string
      format: uri
      description: Stellt eine URL dar
      pattern: '^(http|https)\:\/\/[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,}(\/\S*)?$'
      example: 'https://www.example.com/index.html'
    Unterbaustein_VZ01_02a:
      type: object
      properties:
        unterbaustein:
          nullable: false
          description: Technischer Discriminator-Wert zur Unterscheidung der Unterbausteine im Payload. Der Wert entspricht dem Namen dieses konkreten Unterbaustein-Schemata von `_02a`.
          type: string
          enum:
            - _02a
      required:
        - unterbaustein
    Unterbaustein_VZ01_02b:
      type: object
      properties:
        unterbaustein:
          nullable: false
          description: Technischer Discriminator-Wert zur Unterscheidung der Unterbausteine im Payload. Der Wert entspricht dem Namen dieses konkreten Unterbaustein-Schemata von `_02b`.
          type: string
          enum:
            - _02b
      required:
        - unterbaustein
    Unterbaustein_VZ01_02c:
      type: object
      properties:
        unterbaustein:
          nullable: false
          description: Technischer Discriminator-Wert zur Unterscheidung der Unterbausteine im Payload. Der Wert entspricht dem Namen dieses konkreten Unterbaustein-Schemata von `_02c`.
          type: string
          enum:
            - _02c
      required:
        - unterbaustein
    Unterbaustein_VZ01_02d:
      type: object
      properties:
        unterbaustein:
          nullable: false
          description: Technischer Discriminator-Wert zur Unterscheidung der Unterbausteine im Payload. Der Wert entspricht dem Namen dieses konkreten Unterbaustein-Schemata von `_02d`.
          type: string
          enum:
            - _02d
      required:
        - unterbaustein
    UUID:
      type: string
      format: uuid
      minLength: 36
      maxLength: 36
      description: Ein Bezeichner des Typs "universally unique identifier" (UUID)
      pattern: '^[0-9A-Fa-f]{8}(?:-[0-9A-Fa-f]{4}){3}-[0-9A-Fa-f]{12}$'
      example: 123e4567-e89b-12d3-a456-426614174000
    VZ01:
      type: object
      title: VZ01 - Antwort von Vorsorgeeinrichtung an ZfDR
      description: VZ01 - Antwort von Vorsorgeeinrichtung an ZfDR
      properties:
        unternehmens_kontaktinformationen:
          $ref: '#/components/schemas/VZ01_01'
        ansprueche:
          $ref: '#/components/schemas/VZ01_02'
      required:
        - unternehmens_kontaktinformationen
        - ansprueche
    VZ01_01:
      description: Dieses Element muss 1 mal enthalten sein
      title: 'VZ01 Baustein 01: UnternehmensKontaktinformationen'
      type: object
      properties:
        strasse:
          allOf:
            - $ref: '#/components/schemas/String'
          example: Heidestrasse
          maxLength: 72
          nullable: true
          description: Strasse
        hausnummer:
          allOf:
            - $ref: '#/components/schemas/String'
          example: 17
          maxLength: 20
          nullable: true
          description: Hausnummer ggf. inklusive einem Zusatz
        ort:
          allOf:
            - $ref: '#/components/schemas/String'
          example: Koeln
          maxLength: 72
          nullable: true
          description: Ort
        plz:
          allOf:
            - $ref: '#/components/schemas/String'
          example: 51147
          maxLength: 12
          nullable: true
          description: Postleitzahl
        postfach:
          allOf:
            - $ref: '#/components/schemas/String'
          example: 8 15
          maxLength: 12
          nullable: true
          description: Postfach
        staat:
          allOf:
            - $ref: '#/components/schemas/String'
          example: Deutschland
          maxLength: 72
          nullable: true
          description: Staat
        url:
          allOf:
            - $ref: '#/components/schemas/URL'
          nullable: true
          description: 'URL zum Internetauftritt der Vorsorgeeinrichtung, welcher ggf. der anfragenden Person den Zugang zum Kundenkonto bzw. zu Kontaktdaten der Einrichtung anbietet'
    VZ01_02:
      title: 'VZ01 Baustein 02: Ansprueche'
      type: array
      nullable: false
      description: 'Baustein 02: Dieses Element ist 1 mal enthalten und muss 1 bis n Ansprueche enthalten.'
      minItems: 1
      items:
        oneOf:
          - $ref: '#/components/schemas/VZ01_02a'
          - $ref: '#/components/schemas/VZ01_02b'
          - $ref: '#/components/schemas/VZ01_02c'
          - $ref: '#/components/schemas/VZ01_02d'
        discriminator:
          propertyName: unterbaustein
          mapping:
            _02a: '#/components/schemas/VZ01_02a'
            _02b: '#/components/schemas/VZ01_02b'
            _02c: '#/components/schemas/VZ01_02c'
            _02d: '#/components/schemas/VZ01_02d'
    VZ01_02a:
      title: 'VZ01 Baustein 02, Unterbaustein a: AnspruchKeineStandmitteilung'
      description: |
        Dieses Element kann 0 bis n mal enthalten sein.

        Ist je Vertrag bzw. Anspruch alternativ zu den anderen Unterbausteinen b bis d zu befuellen, wenn die mit Identifikationsnummer (§ 139b AO) und ggf. Geburtsdatum angefragte Person im Bestand der Altersvorsorgeprodukte der Vorsorgeeinrichtung ermittelt werden konnte, jedoch keine Standmitteilung mitgeteilt werden kann.
      allOf:
        - $ref: '#/components/schemas/Unterbaustein_VZ01_02a'
        - $ref: '#/components/schemas/Properties_VZ01_02'
    VZ01_02b:
      title: 'VZ01 Baustein 02, Unterbaustein b: AnspruchNurRentenzahlung'
      description: |
        Dieses Element kann 0 bis n mal enthalten sein.

        Ist je Vertrag bzw. Anspruch alternativ zu den anderen Unterbausteinen a, c und d zu befuellen, wenn die mit Identifikationsnummer (§ 139b AO) und ggf. Geburtsdatum angefragte Person im Bestand der Vorsorgeeinrichtung ermittelt werden konnte und die Standmitteilung nur Rentenzahlungen enthaelt und/oder vorgesehen sind.
      allOf:
        - $ref: '#/components/schemas/Unterbaustein_VZ01_02b'
        - $ref: '#/components/schemas/Properties_VZ01_02'
        - $ref: '#/components/schemas/Properties_VZ01_02b_02c_02d'
        - $ref: '#/components/schemas/Properties_VZ01_02b'
        - $ref: '#/components/schemas/Properties_VZ01_02b_b1_RenteKapital'
    VZ01_02c:
      title: 'VZ01 Baustein 02, Unterbaustein c: AnspruchNurEinmalbetrag'
      description: |
        Dieses Element kann 0 bis n mal enthalten sein.

        Ist je Vertrag bzw. Anspruch alternativ zu den anderen Unterbausteinen a, b und d zu befuellen, wenn die mit Identifikationsnummer (§ 139b AO) und ggf. Geburtsdatum angefragte Person im Bestand der Vorsorgeeinrichtung ermittelt werden konnte und die Standmitteilung nur Einmalbetraege enthaelt und/oder vorgesehen sind.
      allOf:
        - $ref: '#/components/schemas/Unterbaustein_VZ01_02c'
        - $ref: '#/components/schemas/Properties_VZ01_02'
        - $ref: '#/components/schemas/Properties_VZ01_02b_02c_02d'
        - $ref: '#/components/schemas/Properties_VZ01_02c'
        - $ref: '#/components/schemas/Properties_VZ01_02c_c1_EinmalbetragKapital'
    VZ01_02d:
      title: 'VZ01 Baustein 02, Unterbaustein d: AnspruchKombinationOderWahlrecht'
      description: |
        Dieses Element kann 0 bis n mal enthalten sein.

        Ist je Vertrag bzw. Anspruch alternativ zu den anderen Unterbausteinen a, b und c zu befuellen, wenn die mit Identifikationsnummer (§ 139b AO) und ggf. Geburtsdatum angefragte Person im Bestand der Vorsorgeeinrichtung ermittelt werden konnte, und die Standmitteilung sowohl eine Rentenzahlung als auch einen Einmalbetrag oder ein Wahlrecht zwischen beiden Leistungen vorsieht.
      allOf:
        - $ref: '#/components/schemas/Unterbaustein_VZ01_02d'
        - $ref: '#/components/schemas/Properties_VZ01_02'
        - $ref: '#/components/schemas/Properties_VZ01_02b_02c_02d'
        - $ref: '#/components/schemas/Properties_VZ01_02b'
        - $ref: '#/components/schemas/Properties_VZ01_02c'
        - $ref: '#/components/schemas/Properties_VZ01_02d'
        - $ref: '#/components/schemas/Properties_VZ01_02d_d1_RenteEinmalbetragKapital'
    Wertbetrag:
      type: number
      format: double
      multipleOf: 0.01
      maximum: 999999999.99
      minimum: 0
      description: 'Ein Wertbetrag in der Form 9,2 Stellen.'
      example: 123456789.12
